/* =============================================================================
   EKM Portal — Day Sheet · Billing Communication workspace (PR 2 + corrections + workspace IA 2026-09-22)
   -----------------------------------------------------------------------------
   Scoped to .bcv-* and the .dwx-page.is-billing host state. Uses the runtime theme
   tokens (--c-*, --status-*, --font-*) and the shared .eui-btn / .eui-status /
   euiDrawer primitives; nothing here restyles the generic Day Sheet.
   Minimum operational type size is 12px.
   ============================================================================= */

/* Dark-mode readability: the theme's --c-muted2 is --text-muted mixed 35% toward the page
   (about 2.7–3.3:1 on a dark card). Billing Communication only, in dark themes, lifts that
   token halfway from --text-muted toward --c-ink2. Both are existing theme colors. The result
   stays quieter than secondary text (--c-ink2) and well under primary text (--c-ink).
   Light mode is untouched. The shared tokens themselves are not changed. */
html[data-dark] .bcv-area,html[data-dark] .bcv-drawer,html[data-dark] .bcv-seg{--c-muted2:color-mix(in srgb,var(--c-ink2) 50%,var(--text-muted,var(--c-muted)))}

/* Segment control in the Day Sheet utility line: Day Sheet | Billing Communication 6 */
.bcv-seg{display:inline-flex;align-items:center;flex:none;padding:2px;border-radius:9px;border:0.5px solid var(--c-box-border,#ddd);background:color-mix(in srgb,var(--c-ink,#000) 3%,transparent);margin-right:8px}
.bcv-seg-btn{appearance:none;border:0.5px solid transparent;background:transparent;border-radius:7px;min-height:28px;padding:0 12px;font:inherit;font-size:12.5px;font-weight:500;color:var(--c-muted2,#777);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s}
.bcv-seg-btn:hover{color:var(--c-ink,#222)}
.bcv-seg-btn.is-on{background:var(--c-box,#fff);color:var(--c-ink,#222);border-color:var(--c-box-border,#ddd);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 1px 2px color-mix(in srgb,var(--c-ink,#000) 8%,transparent)}
.bcv-seg-btn:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-seg-n{font-variant-numeric:tabular-nums;font-weight:600;color:var(--c-muted2,#777)}
.bcv-seg-btn.is-on .bcv-seg-n{color:var(--c-ink,#222)}

/* Host state (Option B, owner 2026-09-21): while the area is shown the generic board's chrome AND
   its right rail (Responses, Calendar, Medication Requests, Today at a Glance) step aside and the
   list column takes the full width. Nothing here applies without .is-billing, so the Day Sheet
   itself keeps its 3-column grid and rail untouched. !important: the host grid has an
   id-specificity :has() rule for the expanded side navigation. */
.dwx-page.is-billing #dwx-statebar,.dwx-page.is-billing #dwx-band,.dwx-page.is-billing #dwx-filterpop,
.dwx-page.is-billing #dwx-cats,.dwx-page.is-billing #dwx-lower,.dwx-page.is-billing .dwx-filter-btn,
.dwx-page.is-billing #dwx-rail{display:none!important}
.dwx-page.is-billing .dwx-body{grid-template-columns:minmax(0,1fr)!important}

/* Area */
.bcv-area{min-width:0;container-type:inline-size;container-name:bcv}
.bcv-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 20px;margin:0 0 14px;padding:0 0 10px;border-bottom:0.5px solid var(--c-box-border,#e4e4e4)}
.bcv-head-text{min-width:0}
.bcv-title{margin:0;font-family:var(--font-display,inherit);font-weight:var(--font-weight-display,400);font-size:clamp(1.2rem,1.5vw,1.45rem);line-height:1.15;letter-spacing:.01em;color:var(--hp-head,var(--c-ink,#222))}
.bcv-summary{margin:3px 0 0;font-size:13px;color:var(--c-muted2,#777)}
.bcv-summary-q{color:var(--c-muted,#999)}
.bcv-summary-new{color:var(--c-ink,#222)}
.bcv-observer-tag{flex:none;margin-bottom:2px}
.bcv-notice{margin:0 0 14px;padding:10px 14px;border-radius:10px;border:0.5px solid var(--c-box-border,#ddd);font-size:13px;color:var(--c-muted2,#777);display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}
.bcv-notice--error{border-color:var(--status-danger-border,rgba(192,73,47,.28));color:var(--c-ink,#222)}
.bcv-notice-text{min-width:0;flex:1 1 280px;line-height:1.45}
.bcv-notice-detail{color:var(--c-muted2,#777);overflow-wrap:anywhere}

/* Primary views (status-board redesign, owner-approved mockup 2026-09-27): one compact segmented line. Neutral
   surface; each view keeps its semantic swatch (--bcv-c, from the portal's --status-* families — never the personal
   accent); the selected view reads as ink-on-surface inverted, so it follows every light and dark theme. */
.bcv-views{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:0 0 12px}
.bcv-view{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;min-height:40px;padding:6px 14px;border-radius:10px;cursor:pointer;text-align:left;font:inherit;color:inherit;
  border:0.5px solid var(--c-box-border,#ddd);background:var(--surface-card,var(--c-box,#fff));box-shadow:0 1px 2px color-mix(in srgb,var(--c-ink,#000) 4%,transparent);transition:border-color .15s,background .15s,color .15s}
.bcv-view:hover{border-color:color-mix(in srgb,var(--c-ink,#222) 28%,var(--c-box-border,#ddd))}
.bcv-view:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-view-swatch{flex:none;width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--bcv-c,#888) 85%,transparent)}
.bcv-view-text{min-width:0;display:flex;flex-direction:column;gap:0}
.bcv-view-l{min-width:0;font-size:13px;font-weight:600;line-height:1.2;color:var(--c-ink,#222);white-space:normal;overflow-wrap:anywhere}
.bcv-view-hint{font-size:12px;font-weight:500;color:var(--c-muted2,#888);line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.bcv-view-n{margin-left:6px;flex:none;font-size:13px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums;color:var(--c-ink2,var(--c-ink,#222))}
.bcv-view.is-zero .bcv-view-n,.bcv-view.is-na .bcv-view-n{color:var(--c-muted2,#999);font-weight:500}
.bcv-view.is-on{background:var(--c-ink,#222);border-color:var(--c-ink,#222)}
.bcv-view.is-on .bcv-view-l,.bcv-view.is-on .bcv-view-n{color:var(--surface-card,var(--c-box,#fff))}
.bcv-view.is-on .bcv-view-hint{color:color-mix(in srgb,var(--surface-card,var(--c-box,#fff)) 72%,transparent)}
.bcv-view--all_open{--bcv-c:var(--status-muted,#9A968E)}
.bcv-view--needs_attention{--bcv-c:var(--status-danger,#C0492F)}
.bcv-view--upcoming{--bcv-c:var(--status-info,#5D87D8)}
.bcv-view--payment_plans{--bcv-c:var(--status-pending,#7A8BA6)}
.bcv-view--history{--bcv-c:var(--status-success,#3B9168)}
.bcv-view--outstanding_balance{--bcv-c:var(--status-warning,#C4922A)}
.bcv-view--insurance_verification{--bcv-c:var(--status-pending,#7A8BA6)}
.bcv-plans-link{margin-left:auto;align-self:center;border:none;background:transparent;padding:6px 2px;font:inherit;font-size:13px;font-weight:600;color:var(--c-ink2,#555);text-decoration:underline;text-underline-offset:2px;cursor:pointer;border-radius:6px}
.bcv-plans-link:hover{color:var(--c-ink,#222)}
.bcv-plans-link.is-on{color:var(--c-ink,#222)}
.bcv-plans-link:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-fold{margin-top:8px}

/* Worklist controls: type · Status · Sort · Reset · Showing on ONE line when the column allows, wrapping cleanly when not.
   Type choices are a quiet segmented set (no pill chips). */
.bcv-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 14px}
.bcv-tchips{display:inline-flex;flex-wrap:wrap;gap:4px;padding:2px;border-radius:10px;border:0.5px solid var(--c-box-border,#ddd);background:var(--surface-card,var(--c-box,#fff))}
.bcv-tchip{appearance:none;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 11px;border-radius:8px;border:0.5px solid transparent;background:transparent;font:inherit;font-size:13px;font-weight:500;color:var(--c-ink2,var(--c-muted2,#666));cursor:pointer;white-space:nowrap}
.bcv-tchip:hover{color:var(--c-ink,#222);background:color-mix(in srgb,var(--c-ink,#000) 4%,transparent)}
.bcv-tchip.is-on{color:var(--c-ink,#222);font-weight:650;border-color:color-mix(in srgb,var(--c-ink,#000) 22%,transparent);background:color-mix(in srgb,var(--c-ink,#000) 7%,var(--surface-card,var(--c-box,#fff)))}
.bcv-tchip.is-zero{color:var(--c-muted2,#999)}
.bcv-tchip:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-tchip-n{font-variant-numeric:tabular-nums;font-weight:600;color:var(--c-muted2,#777)}
.bcv-tchip.is-on .bcv-tchip-n{color:var(--c-ink,#222)}
.bcv-fctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.bcv-fsel{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--c-muted2,#777)}
.bcv-fsel-l{font-weight:600;font-size:12.5px}
.bcv-fsel .form-input{min-height:32px;font-size:13px;margin:0;width:auto;padding:0 8px}
.bcv-freset{font-size:12.5px}
.bcv-showing{margin:0 0 0 auto;font-size:12.5px;color:var(--c-muted2,#777)}
.bcv-showing b{color:var(--c-ink,#222);font-weight:600}
.bcv-view-note{margin:0 0 12px;font-size:12.5px;line-height:1.45;color:var(--c-muted2,#777)}

/* All Open: one continuous queue; each open state under a static divider (never side by side). */
.bcv-sec--group .bcv-sec-head--static{cursor:default}
.bcv-sec--group .bcv-sec-head--static .bcv-sec-title{color:var(--c-ink,#222)}
.bcv-sec--solo{margin-top:2px}

/* Billing Communication Responses (owner-approved mockup 2026-09-27): full width, directly above the board — an
   inbox of replies that stays calm. A light wash of the viewer's own Accent Color marks it as theirs; the response
   items sit on the ordinary card surface, so light and dark themes both read. 12px floor. */
.bcv-resp{margin:0 0 18px;padding:14px 16px 16px;border-radius:14px;border:0.5px solid color-mix(in srgb,var(--c-accent,#9c9a93) 30%,var(--c-box-border,#ddd));
  background:color-mix(in srgb,var(--c-accent,#9c9a93) 6%,var(--surface-card,var(--c-box,#fff)));box-shadow:0 1px 3px color-mix(in srgb,var(--c-ink,#000) 5%,transparent)}
.bcv-resp-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.bcv-resp-toggle{flex:1 1 320px;min-width:0;display:flex;align-items:center;gap:12px;padding:0;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:8px}
.bcv-resp-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-resp-ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--c-accent,#9c9a93) 16%,var(--surface-card,var(--c-box,#fff)));color:var(--c-ink,#222)}
.bcv-resp-ico .bcv-ico{width:17px;height:17px;color:inherit}
.bcv-resp-text{min-width:0;display:flex;flex-direction:column;gap:1px}
.bcv-resp-title{font-family:var(--font-display,inherit);font-weight:var(--font-weight-display,600);font-size:17px;line-height:1.2;color:var(--c-ink,#222)}
.bcv-resp-sub{font-size:12.5px;line-height:1.35;color:var(--c-muted2,#777)}
.bcv-resp-n{flex:none;min-width:26px;height:24px;padding:0 8px;border-radius:7px;display:inline-grid;place-items:center;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--c-ink2,#555);background:color-mix(in srgb,var(--c-ink,#000) 7%,transparent)}
.bcv-resp-n.is-new{color:var(--status-info-ink,#2E60BF);background:var(--status-info-bg,rgba(93,135,216,.12))}
.bcv-resp .bcv-sec-chev{flex:none;font-size:12px;color:var(--c-muted2,#999)}
.bcv-resp-actions{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bcv-resp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:10px;margin:12px 0 0}
.bcv-response{appearance:none;display:flex;align-items:flex-start;gap:10px;min-width:0;padding:12px 12px 12px 12px;border-radius:11px;border:0.5px solid var(--c-box-border,#e2e2e2);background:var(--surface-card,var(--c-box,#fff));text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.bcv-response:hover{border-color:color-mix(in srgb,var(--c-ink,#000) 24%,var(--c-box-border,#e2e2e2));box-shadow:0 1px 3px color-mix(in srgb,var(--c-ink,#000) 6%,transparent)}
.bcv-response:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-response-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.bcv-response-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;min-width:0;font-size:12.5px;font-weight:600;color:var(--c-ink2,#555)}
.bcv-response-who{flex:1 1 6em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcv-response-when{flex:0 1 auto;min-width:0;font-weight:500;color:var(--c-muted2,#888);white-space:normal}
.bcv-response-case{font-size:13.5px;line-height:1.35;color:var(--c-ink2,#555);overflow-wrap:break-word}
.bcv-response-case b{font-weight:650;color:var(--c-ink,#222)}
.bcv-response-subject{font-size:12px;color:var(--c-muted2,#777);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcv-response-snip{font-size:13px;line-height:1.4;color:var(--c-ink,#222);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.bcv-response .bcv-chev{flex:none;align-self:center;font-size:18px;line-height:1;color:var(--c-muted2,#999)}
.bcv-resp-empty{margin:10px 0 0;font-size:13px;color:var(--c-muted2,#777)}
.bcv-new{flex:none}
/* the shared avatar mark (cards + responses): initials on a neutral disc — no personal accent, no status colour */
.bcv-avatar{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:12px;font-weight:650;letter-spacing:.03em;color:var(--c-ink2,#555);background:color-mix(in srgb,var(--c-ink,#000) 7%,var(--surface-card,var(--c-box,#fff)))}
.bcv-avatar--general{font-size:16px}
.bcv-ico{flex:none;width:14px;height:14px;color:var(--c-muted2,#888)}

/* Sections */
.bcv-sec{margin:0 0 22px}
.bcv-sec.is-collapsed{margin:0 0 12px}
.bcv-sec-head{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 10px;padding:6px 2px;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}
.bcv-sec-title{font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted2,#777)}
.bcv-sec-head::after{content:"";flex:1;order:2;border-top:0.5px solid var(--c-box-border,#e4e4e4)}
.bcv-sec-n{order:3;flex:none;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--c-muted2,#777)}
.bcv-sec-chev{order:4;flex:none;font-size:12px;color:var(--c-muted2,#999);line-height:1}
.bcv-sec-head:hover .bcv-sec-title{color:var(--c-ink,#222)}
.bcv-sec-head:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93));border-radius:6px}
.bcv-sec-body{display:flex;flex-direction:column;gap:6px}
.bcv-sec--type .bcv-sec-head{gap:8px}
.bcv-sec--type .bcv-sec-swatch{order:0}
.bcv-sec--type .bcv-sec-title{order:1;color:var(--c-ink,#222)}
.bcv-sec--type .bcv-sec-head::after{order:2}
.bcv-sec-sub{order:1;font-size:12.5px;font-weight:600;color:var(--c-ink,#222);font-variant-numeric:tabular-nums;white-space:normal}
.bcv-sec-sub-k{font-weight:500;color:var(--c-muted2,#777)}
.bcv-gap{color:var(--status-warning-ink,#855D1C);font-weight:600}
html[data-dark] .bcv-gap{color:var(--status-warning-ink,#D9A34A)}
.bcv-empty{padding:12px 14px;border-radius:10px;border:0.5px dashed var(--c-box-border,#ddd);color:var(--c-muted2,#888);font-size:13px}

/* Rows — quiet cards; priority only on the left edge. Hierarchy: patient → type → (amount) → facts → latest → meta */
.bcv-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;padding:13px 16px 12px 18px;border-radius:10px;border:0.5px solid var(--c-box-border,#e2e2e2);border-left:3px solid var(--c-box-border,#cfcfcf);background:var(--surface-card,var(--c-box,#fff));cursor:pointer;transition:border-color .15s,box-shadow .15s}
.bcv-row:hover{border-color:color-mix(in srgb,var(--c-ink,#000) 22%,var(--c-box-border,#e2e2e2));box-shadow:0 1px 3px color-mix(in srgb,var(--c-ink,#000) 6%,transparent)}
.bcv-row:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-row--urgent{border-left-color:var(--status-danger,#C0492F)}
.bcv-row--resolved{opacity:.86}
.bcv-row-main{min-width:0;display:flex;flex-direction:column;gap:5px}
/* Row head. The collapse bug (2026-09-22): .bcv-amount was flex:none + nowrap and the identity block had min-width:0
   with overflow-wrap:anywhere, so a legacy free-text balance took the whole head and the patient name wrapped one
   character per line. Now: the identity block keeps a real minimum and grows, the amount is a bounded flex item that
   wraps its own text, the head wraps the amount below when both cannot fit, and the name breaks only when a single
   word is wider than the block (break-word), never to satisfy a sibling. */
.bcv-row-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px 20px;min-width:0}
.bcv-ident{flex:1 1 220px;min-width:min(200px,100%);display:flex;flex-direction:column;gap:1px}
.bcv-patient{font-weight:600;font-size:15px;line-height:1.3;color:var(--c-ink,#222);overflow-wrap:break-word;word-break:normal}
.bcv-patient-link{text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--c-ink,#000) 25%,transparent);align-self:flex-start}
.bcv-patient-link:hover{border-bottom-color:var(--c-ink,#222)}
.bcv-patient--general{font-weight:600;color:var(--c-ink2,var(--c-muted2,#666))}
.bcv-type{font-size:12.5px;font-weight:500;color:var(--c-muted2,#777)}
.bcv-amount{flex:0 1 auto;min-width:0;max-width:min(50%,320px);margin-left:auto;font-size:17px;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--c-ink,#222);text-align:right;white-space:normal;overflow-wrap:break-word}
.bcv-amount-k{font-size:12px;font-weight:500;color:var(--c-muted2,#777);margin-left:2px}
.bcv-amount--paid{color:var(--status-success-ink,#2E7051);font-size:14px}
html[data-dark] .bcv-amount--paid{color:var(--status-success-ink,#45A979)}
.bcv-amount--none{font-size:12.5px;font-weight:500}
.bcv-subject{font-size:13.5px;color:var(--c-ink,#222);line-height:1.4;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bcv-line{display:flex;flex-wrap:wrap;gap:3px 16px;font-size:13px;color:var(--c-ink,#222)}
.bcv-line-fact{white-space:normal;overflow-wrap:break-word}
.bcv-k{white-space:nowrap}
.bcv-k{color:var(--c-muted2,#777);margin-right:4px}
.bcv-latest{font-size:13px;color:var(--c-ink,#222);line-height:1.4;overflow-wrap:anywhere}
.bcv-latest-who{font-weight:600}
.bcv-latest-note{color:var(--c-ink2,var(--c-muted2,#555))}
.bcv-latest-when{white-space:nowrap}
.bcv-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:12.5px;color:var(--c-muted2,#777);margin-top:2px}
.bcv-dot{color:var(--c-muted,#bbb)}
.bcv-pri{font-weight:600}
.bcv-pri--urgent{color:var(--status-danger-ink,#AC412A)}
html[data-dark] .bcv-pri--urgent{color:var(--status-danger-ink,#DB7F6B)}
.bcv-pri--normal{color:var(--c-muted2,#777);font-weight:500}
.bcv-state{color:var(--c-ink,#222)}
.bcv-working{color:var(--c-ink,#222)}
.bcv-age{color:var(--c-muted2,#888)}
.bcv-preview{font-size:12.5px;color:var(--c-muted2,#777);line-height:1.4;overflow-wrap:anywhere}
.bcv-preview-who{color:var(--c-ink,#222);font-weight:500}
.bcv-row-actions{flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;min-width:0}
.bcv-complete{white-space:nowrap}
.bcv-row-actions .bcv-complete{font-size:12.5px}
.bcv-open,.bcv-chev{flex:none;font-size:12.5px;color:var(--c-muted2,#888);white-space:nowrap}
.bcv-chev{font-size:18px;line-height:1}
.bcv-row:hover .bcv-open,.bcv-row:hover .bcv-chev{color:var(--c-ink,#222)}

/* The board uses four columns while each card still has room for a long name, a
   $1,250 amount, and the Complete button. Measured with that stress content:
   four columns stay safe through a 690px billing area (a normal desktop with the
   side navigation open is about 1040px). At 680px the amount no longer fits, so
   the board becomes two columns. Two columns stay safe through 340px, then one. */
.bcv-board-note{margin:0 0 10px;font-size:12.5px;color:var(--c-muted2,#777)}
.bcv-board-note-k{font-weight:600;color:var(--c-ink2,#555);margin-right:4px}
.bcv-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.bcv-col{--bcv-c:var(--status-muted,#9A968E);--bcv-c-ink:var(--c-ink,#222);min-width:0;padding:12px;border-radius:14px;
  border:0.5px solid color-mix(in srgb,var(--bcv-c) 18%,var(--c-box-border,#e2e2e2));background:color-mix(in srgb,var(--bcv-c) 6%,var(--surface-app,var(--c-bg,#f6f4f0)))}
.bcv-col--needs_action{--bcv-c:var(--status-danger,#C0492F);--bcv-c-ink:var(--status-danger-ink,#AC412A)}
.bcv-col--waiting_patient{--bcv-c:var(--status-warning,#D9A34A);--bcv-c-ink:var(--status-warning-ink,#855D1C)}
.bcv-col--waiting_external{--bcv-c:var(--status-info,#5D87D8);--bcv-c-ink:var(--status-info-ink,#2E60BF)}
.bcv-col--resolved{--bcv-c:var(--status-success,#3B9168);--bcv-c-ink:var(--status-success-ink,#2E7051)}
.bcv-col--urgent{--bcv-c:var(--status-danger,#C0492F);--bcv-c-ink:var(--status-danger-ink,#AC412A)}
.bcv-col--patient_billing{--bcv-c:var(--status-warning,#D9A34A);--bcv-c-ink:var(--status-warning-ink,#855D1C)}
.bcv-col--insurance_verification{--bcv-c:var(--status-info,#5D87D8);--bcv-c-ink:var(--status-info-ink,#2E60BF)}
.bcv-col--waiting{--bcv-c:var(--status-pending,#7A8BA6);--bcv-c-ink:var(--status-pending-ink,#4E5D78)}
.bcv-col-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 10px;padding:2px 4px 12px;min-width:0}
.bcv-col-text{min-width:0;flex:1 1 8em}
.bcv-col-title{margin:0;font-size:15px;font-weight:650;line-height:1.25;color:var(--bcv-c-ink);overflow-wrap:anywhere}
.bcv-col-hint{margin:2px 0 0;font-size:12px;line-height:1.35;color:var(--c-muted2,#777)}
.bcv-col-n{flex:none;font-size:20px;font-weight:650;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--c-ink,#222)}
.bcv-col-body{display:flex;flex-direction:column;gap:8px;min-width:0}
.bcv-col .bcv-empty{background:color-mix(in srgb,var(--surface-card,var(--c-box,#fff)) 60%,transparent)}
.bcv-col-more{appearance:none;display:inline-flex;margin:10px 4px 0;padding:2px 0;border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--c-ink2,#555);cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--c-ink,#000) 25%,transparent);text-underline-offset:3px;border-radius:4px}
.bcv-col-more:hover{color:var(--c-ink,#222)}
.bcv-col-more:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-col--resolved .bcv-card{opacity:.84}
/* dark themes: .94 keeps the resolved reference quieter while its muted text still clears 4.5:1 on every dark theme (.84 → 3.9:1) */
html[data-dark] .bcv-col--resolved .bcv-card{opacity:.94}
.bcv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px;align-items:start}
@container bcv (max-width:680px){.bcv-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container bcv (max-width:330px){.bcv-board{grid-template-columns:minmax(0,1fr)}.bcv-showing{margin-left:0;flex-basis:100%}}
@supports not (container-type:inline-size){
@media (max-width:960px){.bcv-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:610px){.bcv-board{grid-template-columns:minmax(0,1fr)}}
}

/* Case card — patient first; hierarchy by type size and weight, not boxes. Red (the left edge and the danger badges)
   means attention only: urgent, verified past due, follow-up due / overdue. Balance tiers change the WEIGHT of the
   amount ($100+ strongest, $50–$99.99 lighter, under $50 neutral), never its colour. */
.bcv-card{container-type:inline-size;container-name:bcvcard;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px;min-width:0;max-width:100%;text-align:left;padding:11px 12px 9px 12px;border-radius:12px;border:0.5px solid var(--c-box-border,#e2e2e2);border-left:3px solid color-mix(in srgb,var(--c-box-border,#e2e2e2) 70%,transparent);
  background:var(--surface-card,var(--c-box,#fff));box-shadow:0 1px 2px color-mix(in srgb,var(--c-ink,#000) 5%,transparent);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.bcv-card:hover{border-color:color-mix(in srgb,var(--c-ink,#000) 22%,var(--c-box-border,#e2e2e2));box-shadow:0 2px 6px color-mix(in srgb,var(--c-ink,#000) 7%,transparent)}
.bcv-card.bcv-row--attention,.bcv-card.bcv-row--urgent,.bcv-card.bcv-row--aged{border-left-color:var(--status-danger,#C0492F)}
.bcv-card>:not(.bcv-card-top):not(.bcv-card-foot){margin-left:38px;min-width:0;max-width:calc(100% - 38px)}
.bcv-card-top{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,min(12rem,46%));align-items:start;column-gap:8px;row-gap:4px;min-width:0}
.bcv-card .bcv-ident{min-width:0;max-width:100%;padding-top:6px}
.bcv-card .bcv-patient{font-size:14.5px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
.bcv-card .bcv-c{min-width:0;max-width:100%}
.bcv-card .bcv-c--appt{display:flex;align-items:flex-start;gap:5px;min-width:0;font-size:12.5px;line-height:1.35;color:var(--c-ink2,#555)}
.bcv-card .bcv-c--appt .bcv-ico{flex:none;margin-top:2px}
.bcv-appt-v{display:block;min-width:0;overflow-wrap:anywhere}
.bcv-appt{font-weight:600;color:var(--c-ink,#222);white-space:normal;overflow-wrap:anywhere}
.bcv-appt--soon{color:var(--status-info-ink,#2E60BF)}
.bcv-appt-time{white-space:normal}
.bcv-appt-rel{font-size:12px;color:var(--c-muted2,#777)}
.bcv-appt-rel::before{content:" · "}
.bcv-signals{display:flex;flex-wrap:wrap;gap:4px;min-width:0;max-width:100%}
.bcv-signals .eui-status{max-width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere}
.bcv-card .bcv-c--amt{grid-column:3;min-width:0;max-width:100%;padding-top:5px;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:1px}
.bcv-card .bcv-amount{display:block;margin:0;max-width:100%;font-size:15px;font-weight:600;line-height:1.2;white-space:nowrap;color:var(--c-ink,#222)}
.bcv-card .bcv-amount-k,.bcv-card .bcv-amount-age{display:block;margin:0;max-width:100%;font-size:12px;font-weight:500;line-height:1.3;color:var(--c-muted2,#777);white-space:normal;overflow-wrap:anywhere;text-align:right}
.bcv-card .bcv-amount--none{font-size:13px}
.bcv-amount--high{font-size:16px;font-weight:750;color:var(--c-ink,#222)}
.bcv-amount--mid{font-weight:680;color:var(--c-ink,#222)}
.bcv-amount--low{font-weight:550;color:var(--c-ink2,var(--c-ink,#333))}
.bcv-card .bcv-amount--high{font-size:16px;font-weight:750}
.bcv-amount-age{font-size:12px;color:var(--c-muted2,#777)}
.bcv-aged-text{color:var(--status-danger-ink,#AC412A);font-weight:600}
.bcv-card .bcv-type{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--c-muted2,#666)}
.bcv-card .bcv-type::before{content:"";flex:none;width:7px;height:7px;border-radius:2px;background:color-mix(in srgb,var(--bcv-t,#9A968E) 85%,transparent)}
.bcv-type--balances{--bcv-t:var(--status-warning,#D9A34A)}
.bcv-type--insurance{--bcv-t:var(--status-pending,#7A8BA6)}
.bcv-type--payment_method{--bcv-t:var(--status-info,#5D87D8)}
.bcv-type--questions,.bcv-type--other{--bcv-t:var(--status-muted,#9A968E)}
.bcv-suggest{min-width:0;font-size:12px;font-weight:600;color:var(--c-ink,#222)}
.bcv-card .bcv-c--latest{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:2px;min-width:0;max-width:100%;font-size:13px;line-height:1.4;color:var(--c-ink,#222)}
.bcv-card .bcv-latest{flex:1 1 8em;min-width:0;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.bcv-latest-who{font-weight:600}
.bcv-latest-note{color:var(--c-ink2,var(--c-muted2,#555))}
.bcv-card .bcv-latest-when{flex:0 1 auto;min-width:0;max-width:100%;font-size:12px;color:var(--c-muted2,#888);white-space:normal}
.bcv-card .bcv-subject{font-size:13px;line-height:1.4;color:var(--c-ink2,#444);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word}
.bcv-card .bcv-c--next{font-size:12.5px}
.bcv-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 8px;min-width:0;max-width:100%;margin-top:2px;padding-top:6px;border-top:0.5px solid color-mix(in srgb,var(--c-box-border,#e2e2e2) 80%,transparent)}
.bcv-card .bcv-own{flex:1 1 7em;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;font-size:12px;color:var(--c-muted2,#777)}
.bcv-card .bcv-working{min-width:0;font-weight:650;color:var(--c-ink,#222);overflow-wrap:anywhere}
.bcv-card .bcv-age{min-width:0;font-size:12px;color:var(--c-muted2,#888);white-space:normal;overflow-wrap:anywhere}
.bcv-card .bcv-row-actions{flex:0 0 auto;margin-left:auto;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;min-width:0;max-width:100%}
.bcv-note-row{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:6px 12px;min-width:0;max-width:100%}
.bcv-note-btn{appearance:none;border:0;background:none;padding:2px 0;font:inherit;font-size:12.5px;font-weight:600;color:var(--c-ink2,#444);cursor:pointer;white-space:nowrap;border-radius:4px}
.bcv-note-btn:hover{color:var(--c-ink,#222)}
.bcv-note-btn--send{color:var(--c-ink,#222)}
.bcv-note-form{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:100%}
.bcv-note-k,.bcv-note-reply{margin:0;font-size:12px;line-height:1.35;color:var(--c-muted2,#666);overflow-wrap:anywhere}
.bcv-note-quote{margin:0;padding:0 0 0 8px;border-left:2px solid color-mix(in srgb,var(--c-ink,#222) 25%,transparent);font-size:12.5px;line-height:1.35;color:var(--c-ink2,#444);overflow-wrap:anywhere}
.bcv-note-text{width:100%;max-width:100%;min-width:0;min-height:64px;box-sizing:border-box;resize:vertical}
.bcv-note-actions{display:flex;flex-wrap:wrap;gap:8px 12px;min-width:0}
.bcv-internal{min-width:0;max-width:100%;display:flex;flex-direction:column;gap:2px}
.bcv-internal-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;min-width:0;font-size:12px;line-height:1.35;color:var(--c-ink2,#444)}
.bcv-internal-k{font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--c-muted2,#666)}
.bcv-internal-who{font-weight:650;color:var(--c-ink,#222);overflow-wrap:anywhere}
.bcv-internal-when{color:var(--c-muted2,#666)}
.bcv-internal-body{font-size:13px;line-height:1.4;color:var(--c-ink,#222);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bcv-internal-full{font-size:13.5px;line-height:1.45;color:var(--c-ink,#222);overflow-wrap:anywhere;white-space:pre-wrap}
.bcv-internal-log{margin:0 0 16px;min-width:0}
.bcv-internal-help{margin:0 0 8px}
.bcv-internal-thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.bcv-internal-item{min-width:0;max-width:100%}
html[data-dark] .bcv-note-btn,html[data-dark] .bcv-internal-who,html[data-dark] .bcv-internal-body,html[data-dark] .bcv-internal-full,html[data-dark] .bcv-note-quote{color:var(--c-ink)}
html[data-dark] .bcv-internal-k,html[data-dark] .bcv-note-k,html[data-dark] .bcv-note-reply,html[data-dark] .bcv-internal-when{color:var(--c-muted2)}
@container bcvcard (max-width:300px){
  .bcv-card-top{grid-template-columns:auto minmax(0,1fr)}
  .bcv-card .bcv-c--amt{grid-column:2;grid-row:2;justify-self:stretch;align-items:flex-start;text-align:left;max-width:none}
  .bcv-card .bcv-amount,.bcv-card .bcv-amount-k,.bcv-card .bcv-amount-age{text-align:left}
}
.bcv-card .bcv-complete{font-size:12.5px}
.bcv-card:hover .bcv-chev{color:var(--c-ink,#222)}

/* Drawer body */
/* Case drawer sections (owner mockup 2026-09-24): the shared segmented control as tabs, panels toggled in place */
.bcv-tabs{display:flex;flex-wrap:wrap;margin:0 0 14px;width:100%}
.bcv-tabs .bcv-seg-btn{flex:1 1 auto;justify-content:center;min-height:30px;padding:0 10px;font-size:12.5px}
.bcv-tab-panel[hidden]{display:none}
.bcv-facts{outline:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0 0 16px}
.bcv-facts:focus,.bcv-facts:focus-visible{outline:none;box-shadow:none}
.bcv-fact{min-width:0}
.bcv-fact dt{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-muted2,#777);margin:0 0 3px}
.bcv-fact dd{margin:0;font-size:13.5px;color:var(--c-ink,#222);overflow-wrap:anywhere}
.bcv-muted{color:var(--c-muted2,#888)}
.bcv-drawer-subject{margin:0 0 18px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--c-ink,#000) 4%,transparent);font-size:13.5px;line-height:1.45;color:var(--c-ink,#222)}
.bcv-h3{margin:18px 0 8px;font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted2,#777)}
.bcv-thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bcv-msg{padding:10px 12px;border-radius:10px;border:0.5px solid var(--c-box-border,#e4e4e4)}
.bcv-msg-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;min-width:0;font-size:12.5px;color:var(--c-muted2,#777);margin:0 0 4px}
.bcv-msg-who{min-width:0;font-weight:600;color:var(--c-ink,#222);overflow-wrap:anywhere}
.bcv-msg-body{font-size:13.5px;line-height:1.45;color:var(--c-ink,#222);white-space:pre-wrap;overflow-wrap:anywhere}
.bcv-atts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bcv-att{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0 6px 2px;border-bottom:0.5px solid var(--c-box-border,#eee);font-size:13.5px}
.bcv-att-name{min-width:0;overflow-wrap:anywhere}

/* Tablet / mobile */
@media (max-width:720px){
  .dwx-page .dwx-toolbar{flex-wrap:wrap}
  .bcv-seg{flex:1 1 100%;margin:0 0 6px}
  .bcv-seg-btn{flex:1 1 50%;justify-content:center}
  .bcv-head{flex-direction:column;align-items:flex-start}
  .bcv-row{grid-template-columns:minmax(0,1fr);padding:12px 12px 12px 14px}
  .bcv-ident{flex-basis:100%}
  .bcv-amount{flex:1 1 100%;max-width:none;margin-left:0;text-align:left;font-size:16px}
  .bcv-row-actions{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px}
  .bcv-open{display:inline}
  .bcv-responses .dwx-reply-row-snip,.bcv-response-case{white-space:normal}
  .bcv-notice-text{flex-basis:100%}
  .bcv-facts{grid-template-columns:minmax(0,1fr)}
  .bcv-seg{margin-right:0}
  .bcv-seg-btn{padding:0 10px}
  /* Record Request area (owner 2026-09-23): up to three tabs share a phone-width row —
     equal columns whose labels wrap rather than push the row off screen. */
  .bcv-seg-btn{flex:1 1 0;min-width:0;white-space:normal;text-align:center;line-height:1.2;padding:4px 8px}
}
@media (prefers-reduced-motion:reduce){.bcv-row,.bcv-seg-btn{transition:none}}

/* Outstanding Balance workflow (owner 2026-09-22): dates, timeline + log controls in the drawer */
.bcv-dates{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 10px}
.bcv-dates li{display:inline-flex;align-items:center;gap:4px}
.bcv-date-x{appearance:none;border:0;background:transparent;color:var(--c-muted2,#777);font-size:14px;line-height:1;padding:0 4px;cursor:pointer;border-radius:4px}
.bcv-date-x:hover,.bcv-date-x:focus-visible{color:var(--c-ink,#000);background:color-mix(in srgb,var(--c-ink,#000) 8%,transparent)}
.bcv-tl{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--c-box-border,#e4e4e4);display:flex;flex-direction:column;gap:10px}
.bcv-tl-item{position:relative}
.bcv-tl-item::before{content:"";position:absolute;left:-19px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--c-muted,#bbb);border:2px solid var(--surface-card,var(--c-box,#fff))}
.bcv-tl-item--invoice::before{background:var(--status-info,#4a7fb5)}
.bcv-tl-item--completed::before{background:var(--status-success,#3e8e5a)}
.bcv-tl-head{display:flex;gap:10px;font-size:12.5px;color:var(--c-muted2,#777)}
.bcv-tl-who{font-weight:600;color:var(--c-ink,#222)}
.bcv-tl-what{font-size:13.5px;color:var(--c-ink,#222);line-height:1.4}
.bcv-tl-result{color:var(--c-muted2,#777)}
.bcv-tl-note{font-size:13px;color:var(--c-muted2,#666);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.bcv-log{margin:12px 0 0;padding:10px 12px;border-radius:10px;border:0.5px solid var(--c-box-border,#e4e4e4);background:color-mix(in srgb,var(--c-ink,#000) 2.5%,var(--surface-card,var(--c-box,#fff)));display:flex;flex-direction:column;gap:8px}
.bcv-log--date{margin-top:8px}
.bcv-log-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bcv-log .form-input{min-height:32px;font-size:13px;margin:0}
.bcv-log-type,.bcv-log-result{flex:1 1 160px}
.bcv-log-note{flex:1 1 220px}
.bcv-log-date{flex:0 1 170px}
.bcv-log-label{font-size:12.5px;color:var(--c-muted2,#777);flex:1 1 100%}
/* back-dated Emailed patient (owner brief 2026-09-25): the date row shows only for a back-datable type */
.bcv-log-row[hidden]{display:none}
.bcv-tl-logged{font-size:12px}
/* current Tebra balances (synchronized, read-only) — the recorded case amount below them is history */
.bcv-card .bcv-amount-rec{font-size:12px}
.bcv-fin-src{font-size:12px;color:var(--c-muted2,#777)}
/* Overdue visits (Tebra Charges by Visit, concise — no ledger) */
.bcv-visits-slot:empty{display:none}
.bcv-overdue{margin:10px 0;padding:8px 10px;border:0.5px solid var(--c-box-border,#e4e4e4);border-radius:8px;font-variant-numeric:tabular-nums}
.bcv-overdue-head{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:600;color:var(--c-ink2,#555)}
.bcv-overdue-total{color:var(--c-ink,#222)}
.bcv-overdue-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.bcv-overdue-list li{display:grid;grid-template-columns:minmax(0,5.5rem) minmax(0,1fr) auto;gap:6px;min-width:0;font-size:12.5px}
.bcv-od-amt{min-width:0;text-align:right;white-space:normal}
.bcv-overdue-warn{margin-top:6px;font-size:12px;font-weight:500;color:var(--status-warning-ink,#855d1c)}
.bcv-overdue-when{margin-top:4px;font-size:12px}
.bcv-overdue--error{color:var(--status-danger-ink,#b23a2a);font-size:12.5px}

/* Drawer: workflow strip (state / Working on this) and the in-drawer edit form (owner 2026-09-22) */
.bcv-fact--wide{grid-column:1 / -1}
.bcv-wf{margin:0 0 16px;padding:10px 12px;border-radius:10px;border:0.5px solid var(--c-box-border,#e4e4e4);background:color-mix(in srgb,var(--c-ink,#000) 2.5%,var(--surface-card,var(--c-box,#fff)));display:flex;flex-direction:column;gap:8px}
.bcv-wf-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.bcv-wf-k{flex:0 0 52px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-muted2,#777)}
.bcv-wf-states{display:inline-flex;flex-wrap:wrap;gap:4px;padding:2px;border-radius:8px;border:0.5px solid var(--c-box-border,#ddd);background:var(--surface-card,var(--c-box,#fff))}
.bcv-wf-state{appearance:none;border:0.5px solid transparent;background:transparent;border-radius:6px;min-height:28px;padding:0 10px;font:inherit;font-size:12.5px;font-weight:500;color:var(--c-muted2,#777);cursor:pointer;white-space:nowrap}
.bcv-wf-state:hover{color:var(--c-ink,#222)}
.bcv-wf-state.is-on{cursor:default;color:var(--c-ink,#222);font-weight:600;border-color:color-mix(in srgb,var(--bcv-c,#888) 40%,transparent);background:color-mix(in srgb,var(--bcv-c,#888) 9%,var(--surface-card,var(--c-box,#fff)));box-shadow:inset 3px 0 0 var(--bcv-c,#888)}
.bcv-wf-state--needs_action{--bcv-c:var(--status-danger,#C0492F)}
.bcv-wf-state--waiting_patient{--bcv-c:var(--status-warning,#D9A34A)}
.bcv-wf-state--waiting_external{--bcv-c:var(--status-info,#5D87D8)}
.bcv-wf-state:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-wf-working{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:13px;color:var(--c-ink,#222)}
.bcv-edit{display:flex;flex-direction:column;gap:12px}
.bcv-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.bcv-ef{display:flex;flex-direction:column;gap:4px;min-width:0}
.bcv-ef--wide{grid-column:1 / -1}
.bcv-ef-l{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-muted2,#777)}
.bcv-edit .form-input{min-height:34px;font-size:13.5px;margin:0;width:100%}
.bcv-edit-note{min-height:74px;resize:vertical;line-height:1.45}
.bcv-edit-sec{margin:0;padding:10px 12px 12px;border-radius:10px;border:0.5px solid var(--c-box-border,#e4e4e4);display:flex;flex-direction:column;gap:8px}
.bcv-edit-sec.is-hidden{display:none}
.bcv-edit-sec legend{padding:0 4px;font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted2,#777)}
.bcv-ef--check{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--c-ink,#222);grid-column:1 / -1}
.bcv-ef-hint{margin:0;font-size:12.5px;color:var(--c-muted2,#777)}
.bcv-edit-err{margin:0;min-height:1em;font-size:13px;color:var(--status-danger-ink,#AC412A)}
.bcv-edit-err:empty{display:none}
@media (max-width:720px){.bcv-edit-grid{grid-template-columns:minmax(0,1fr)}.bcv-wf-k{flex-basis:100%}}

/* Payment Plans selector (owner 2026-09-22): every ACTIVE plan from patient_ops_payment_plans, one vertical workspace
   Needs Attention → Upcoming Payments → Current / On Track. Group headers carry the group's semantic tone as a swatch;
   a row's left edge shows only the Needs Attention (danger) state. Amount block = remaining balance. */
.bcv-sec--plans .bcv-sec-head--static{gap:8px}
.bcv-sec-swatch{flex:none;order:0;width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--bcv-c,#888) 80%,transparent)}
.bcv-sec--needs_attention{--bcv-c:var(--status-danger,#C0492F)}
.bcv-sec--upcoming{--bcv-c:var(--status-info,#5D87D8)}
.bcv-sec--current{--bcv-c:var(--status-success,#3B9168)}
.bcv-sec--plans.bcv-sec--needs_attention .bcv-sec-title{color:var(--status-danger-ink,#AC412A)}
html[data-dark] .bcv-sec--plans.bcv-sec--needs_attention .bcv-sec-title{color:var(--status-danger-ink,#DB7F6B)}
.bcv-row--plan.bcv-row--attention{border-left-color:var(--status-danger,#C0492F)}
.bcv-row--plan .bcv-amount{color:var(--c-ink,#222)}
.bcv-plan-issue{display:flex;align-items:flex-start;gap:6px;font-size:13px;font-weight:600;line-height:1.4;color:var(--status-danger-ink,#AC412A);overflow-wrap:break-word}
.bcv-plan-issue::before{content:"";flex:none;width:7px;height:7px;margin-top:6px;border-radius:50%;background:var(--status-danger,#C0492F)}
html[data-dark] .bcv-plan-issue{color:var(--status-danger-ink,#DB7F6B)}
.bcv-plan-progress{font-variant-numeric:tabular-nums}
.bcv-plans-foot{margin:6px 0 0;padding:10px 14px;border-radius:10px;border:0.5px dashed var(--c-box-border,#ddd);font-size:13px;color:var(--c-muted2,#777);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.bcv-plans-foot .eui-btn{flex:none}
/* Drawer: installment schedule (canonical per-installment Mark paid stays on the existing path) */
.bcv-inst{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bcv-inst-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px 12px;padding:8px 10px;border-radius:8px;border:0.5px solid var(--c-box-border,#e4e4e4);font-size:13px;color:var(--c-ink,#222)}
.bcv-inst-row--paid{opacity:.72}
.bcv-inst-row--overdue{border-color:var(--status-danger-border,rgba(192,73,47,.28));background:var(--status-danger-bg,rgba(192,73,47,.06))}
.bcv-inst-n{font-weight:600;color:var(--c-muted2,#777);font-variant-numeric:tabular-nums}
.bcv-inst-amt{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.bcv-inst-state{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.bcv-inst-state .form-input{min-height:30px;font-size:12.5px;margin:0;width:150px}
.bcv-inst-overdue{color:var(--status-danger-ink,#AC412A);font-weight:600}
html[data-dark] .bcv-inst-overdue{color:var(--status-danger-ink,#DB7F6B)}
.bcv-inst-paid{color:var(--status-success-ink,#2E7051)}
html[data-dark] .bcv-inst-paid{color:var(--status-success-ink,#45A979)}
.bcv-plan-notes{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--c-ink,#000) 4%,transparent);font-size:13.5px;line-height:1.45;color:var(--c-ink,#222);white-space:pre-wrap;overflow-wrap:anywhere}
.bcv-plan-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--c-ink,#222)}
.bcv-plan-hist li{padding:6px 0;border-bottom:0.5px solid var(--c-box-border,#eee);line-height:1.4}
@media (max-width:720px){
  .bcv-inst-row{grid-template-columns:auto minmax(0,1fr) auto}
  .bcv-inst-state{grid-column:1 / -1;justify-content:flex-start}
  .bcv-plans-foot{flex-direction:column;align-items:flex-start}
}

/* Case drawer Overview (owner-approved mockup 2026-09-27): why → state / owner → money → appointments → recent
   activity → additional details. Two money groups, never merged: the current Tebra snapshot and the amount recorded on
   the case. The patient-balance figure leads; tiers change weight, not colour. */
.bcv-ov{display:flex;flex-direction:column;gap:16px;outline:none}
.bcv-ov:focus,.bcv-ov:focus-visible{outline:none;box-shadow:none}
.bcv-ov .bcv-facts{margin:0}
.bcv-ov .bcv-wf{margin:0}
.bcv-why{padding:12px 14px;border-radius:12px;border:0.5px solid var(--c-box-border,#e4e4e4);background:color-mix(in srgb,var(--c-ink,#000) 3%,var(--surface-card,var(--c-box,#fff)))}
.bcv-why--attention{border-color:color-mix(in srgb,var(--status-danger,#C0492F) 26%,var(--c-box-border,#e4e4e4));border-left:3px solid var(--status-danger,#C0492F);background:color-mix(in srgb,var(--status-danger,#C0492F) 5%,var(--surface-card,var(--c-box,#fff)))}
.bcv-why .bcv-h3{margin:0 0 6px}
.bcv-why--attention .bcv-why-h{color:var(--status-danger-ink,#AC412A)}
.bcv-why .bcv-drawer-subject{margin:6px 0 0;padding:0;background:none;font-size:14px}
.bcv-facts--inline{display:block}
.bcv-facts--inline dt{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.bcv-facts--inline dd{display:flex;flex-wrap:wrap;gap:4px}
.bcv-facts--meta{grid-template-columns:repeat(3,minmax(0,1fr))}
.bcv-money{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bcv-money>:only-child{grid-column:1 / -1}
.bcv-money-grp{align-content:start;padding:12px 14px;border-radius:12px;border:0.5px solid var(--c-box-border,#e4e4e4);background:var(--surface-card,var(--c-box,#fff));grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.bcv-money-grp .bcv-fact:first-child{grid-column:1 / -1}
.bcv-money-grp .bcv-fact:first-child .bcv-amount{font-size:24px;line-height:1.15}
.bcv-facts--appts{grid-template-columns:repeat(3,minmax(0,1fr))}
.bcv-recent-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.bcv-recent .bcv-h3,.bcv-more .bcv-h3{margin:0}
.bcv-more .bcv-h3{margin-bottom:8px}
.bcv-link{appearance:none;padding:0;border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--c-ink2,#555);cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--c-ink,#000) 25%,transparent);text-underline-offset:3px;border-radius:4px}
.bcv-link:hover{color:var(--c-ink,#222)}
.bcv-link:focus-visible{outline:none;box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-recent-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}
.bcv-recent-item{display:flex;flex-direction:column;gap:2px;padding:7px 0 7px 14px;border-left:2px solid var(--c-box-border,#e4e4e4)}
.bcv-recent-item.bcv-tl-item--invoice{border-left-color:var(--status-info,#4a7fb5)}
.bcv-recent-what{font-size:13.5px;line-height:1.4;color:var(--c-ink,#222);overflow-wrap:anywhere}
.bcv-recent-meta{font-size:12px;color:var(--c-muted2,#777)}
.bcv-recent-none{margin:8px 0 0;font-size:13px}
@media (max-width:720px){.bcv-money{grid-template-columns:minmax(0,1fr)}.bcv-facts--meta,.bcv-facts--appts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bcv-response-top .dwx-reply-bubble{flex:none}
.bcv-card .bcv-fin-when{white-space:normal;overflow-wrap:break-word}
.bcv-money{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.bcv-money-grp .bcv-fact dt{text-transform:none;letter-spacing:0;font-size:12px}
.bcv-wf .bcv-pri{font-size:13px}
.bcv-card .bcv-line{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:12.5px;color:var(--c-ink2,#555)}
.bcv-card .bcv-line .bcv-k{margin-right:3px}

/* =============================================================================
   New Billing Workflow launcher (PR 1, owner 2026-09-22) — managers only, in the area head.
   While the area is showing, the generic Day Sheet "+ New workflow item" steps aside (the
   billing launcher is the one create entry here); the normal Day Sheet keeps its own launcher.
   ============================================================================= */
.dwx-page.is-billing .dwx-header-side--right .wf-create{display:none!important}
/* Record Request area (owner 2026-09-23): records work is created on the Day Sheet — the
   create menu steps aside here too, so nothing made from this area vanishes off it. */
.dwx-page.is-records .dwx-header-side--right .wf-create{display:none!important}
.bcv-head-actions{flex:none;display:flex;align-items:center;gap:10px;margin-bottom:2px}
.bcv-launch{position:relative;display:inline-block}
.bcv-launch-btn{white-space:nowrap}
.bcv-launch-caret{margin-left:4px;font-size:12px;line-height:1}
.bcv-launch-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:264px;max-width:min(340px,calc(100vw - 32px));padding:6px;border-radius:12px;border:0.5px solid var(--c-box-border,#ddd);background:var(--surface-card,var(--c-box,#fff));box-shadow:0 12px 28px color-mix(in srgb,var(--c-ink,#000) 16%,transparent);display:flex;flex-direction:column;gap:2px}
.bcv-launch-menu[hidden]{display:none}
.bcv-launch-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 12px;border:none;border-radius:8px;background:transparent;text-align:left;font:inherit;color:var(--c-ink,#222);cursor:pointer}
.bcv-launch-item:hover{background:color-mix(in srgb,var(--c-ink,#000) 5%,transparent)}
.bcv-launch-item:focus-visible{outline:none;background:color-mix(in srgb,var(--c-ink,#000) 5%,transparent);box-shadow:var(--focus-ring,0 0 0 2px var(--c-bg,#fff),0 0 0 4px var(--c-accent,#9c9a93))}
.bcv-launch-l{font-size:13.5px;font-weight:600;line-height:1.3}
.bcv-launch-hint{font-size:12px;color:var(--c-muted2,#777);line-height:1.35}
@media (max-width:720px){
  .bcv-head{flex-wrap:wrap}
  .bcv-head-actions{width:100%;justify-content:flex-start;margin-top:4px}
  .bcv-launch-menu{left:0;right:auto}
}

/* Outstanding Balance create form (same .bcv-edit primitives as the drawer edit) */
.bcv-scope{display:flex;flex-wrap:wrap;gap:6px 18px;grid-column:1 / -1}
.bcv-scope label{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--c-ink,#222);cursor:pointer}
.bcv-scope input{margin:0}
.bcv-new-patient.is-hidden{display:none}
.bcv-new-pick{font-size:12.5px;color:var(--c-muted2,#777);line-height:1.4}
.bcv-new-pick.is-ok{color:var(--status-success-ink,#2E7051);font-weight:600}
html[data-dark] .bcv-new-pick.is-ok{color:var(--status-success-ink,#45A979)}
.bcv-date-add{display:flex;align-items:center;gap:8px}
.bcv-date-add .form-input{flex:1 1 auto}
.bcv-new .bcv-dates{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.bcv-new .bcv-dates:empty{display:none}
.bcv-new .bcv-dates li{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;border:0.5px solid var(--c-box-border,#ddd);font-size:12.5px;color:var(--c-ink,#222);background:color-mix(in srgb,var(--c-ink,#000) 3%,transparent)}
.bcv-new.is-busy{opacity:.7;pointer-events:none}

/* Outstanding Balance ↔ payment plan link (PR 3) — the case drawer's Payment plan section and the Link Existing picker */
.bcv-plan-link{margin:0 0 6px}
.bcv-plan-link .bcv-facts{margin-bottom:10px}
.bcv-plan-link-amt{font-size:15px;font-weight:650}
.bcv-plan-link-actions{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0}
.bcv-plan-link-note{margin:8px 0 0;font-size:13px}
.bcv-plan-link-err{color:var(--status-danger-ink,#AC412A);border-color:var(--status-danger-ink,#AC412A)}
.bcv-plan-pick .bcv-pick-intro{margin:0 0 12px;font-size:13.5px;color:var(--c-muted2,#666)}
.bcv-plan-choices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.bcv-plan-choice label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;border:0.5px solid var(--c-box-border,#e4e4e4);background:var(--surface-card,var(--c-box,#fff));cursor:pointer;font-size:13px;color:var(--c-ink,#222)}
.bcv-plan-choice input[type=radio]{margin:3px 0 0;flex:0 0 auto}
.bcv-plan-choice:has(input:checked) label{border-color:var(--c-ink,#222);box-shadow:0 0 0 1px var(--c-ink,#222) inset}
.bcv-plan-choice.is-current label{opacity:.72;cursor:default}
.bcv-plan-choice-body{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 auto}
.bcv-plan-choice-head{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.bcv-plan-choice-facts{display:flex;flex-wrap:wrap;gap:4px 14px}
.bcv-plan-choice-fact{white-space:nowrap}
.bcv-plan-choice-fact .bcv-k{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-muted2,#777)}
@media (max-width:560px){.bcv-plan-choice-fact{white-space:normal}}
/* Attendance & no-show fees (2026-10-08) — the Outstanding Balance drawer section fed by ONE batched read */
.bcv-ns{margin:0 0 6px}
.bcv-ns .bcv-facts{margin-bottom:10px}
.bcv-ns-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.bcv-ns-fee{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 12px;border-radius:10px;border:0.5px solid var(--c-box-border,#e4e4e4);background:var(--surface-card,var(--c-box,#fff));font-size:13px;color:var(--c-ink,#222)}
.bcv-ns-fee--owed{border-color:var(--status-danger-border,rgba(192,73,47,.28))}
.bcv-ns-fee-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0}
.bcv-ns-fee-date{font-weight:650}
.bcv-ns-fee-prov{color:var(--c-muted2,#777)}
.bcv-ns-fee-amt{font-weight:650;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.bcv-ns-fee-line{grid-column:1 / -1;font-size:12.5px;line-height:1.45;color:var(--c-muted2,#666);overflow-wrap:anywhere}
.bcv-ns-fee-line--warn{color:var(--status-danger-ink,#AC412A)}
html[data-dark] .bcv-ns-fee-line--warn{color:var(--status-danger-ink,#DB7F6B)}
.bcv-ns-fee-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.bcv-ns-note{margin:8px 0 0;font-size:12.5px;line-height:1.45;color:var(--c-muted2,#666)}
.bcv-ns-note--reconcile{color:var(--status-danger-ink,#AC412A);font-weight:600}
html[data-dark] .bcv-ns-note--reconcile{color:var(--status-danger-ink,#DB7F6B)}
@media (max-width:640px){.bcv-ns-fee{grid-template-columns:minmax(0,1fr)}.bcv-ns-fee-amt{text-align:left}}

.bcv-sess{margin:8px 0 12px}
.bcv-sess-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.bcv-sess-line{font-size:13px;line-height:1.4;color:var(--c-ink,#222)}
.bcv-sess--error{font-size:12.5px;color:var(--status-danger-ink,#AC412A)}

/* Unread internal notes: a quiet amber edge, never a yellow fill, never red (red stays Urgent).
   The count is text, so the state is not color alone. */
.bcv-card.bcv-row--note-unread{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--status-warning, #C4922A) 72%, transparent);background:color-mix(in srgb, var(--status-warning, #C4922A) 7%, transparent)}
.bcv-card.bcv-row--urgent.bcv-row--note-unread,.bcv-card.bcv-row--attention.bcv-row--note-unread,.bcv-card.bcv-row--aged.bcv-row--note-unread{border-left-color:var(--status-danger,#C0492F)}
.bcv-note-unread-badge{font-size:12px;font-weight:650;color:var(--status-warning-ink,#855D1C);background:color-mix(in srgb, var(--status-warning, #C4922A) 16%, transparent);border:1px solid color-mix(in srgb, var(--status-warning, #C4922A) 45%, transparent)}
.bcv-response-internal{display:block;margin-top:2px;font-size:12px;font-weight:650;line-height:1.35;color:var(--status-warning-ink,#855D1C)}
.bcv-response-snip--internal{display:block}
.bcv-internal-new{margin-left:6px;font-size:12px;font-weight:650;color:var(--status-warning-ink,#855D1C)}
html[data-dark] .bcv-card.bcv-row--note-unread{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--status-warning, #E4C27A) 70%, transparent);background:color-mix(in srgb, var(--status-warning, #E4C27A) 10%, transparent)}
html[data-dark] .bcv-card.bcv-row--urgent.bcv-row--note-unread,html[data-dark] .bcv-card.bcv-row--attention.bcv-row--note-unread{border-left-color:var(--status-danger,#E07A66)}
html[data-dark] .bcv-note-unread-badge,html[data-dark] .bcv-response-internal,html[data-dark] .bcv-internal-new{color:var(--status-warning-ink,#E4C27A)}
html[data-dark] .bcv-note-unread-badge{background:color-mix(in srgb, var(--status-warning, #E4C27A) 18%, transparent)}

/* Launcher groups (PR 2): quiet section labels; tool entries carry a small trailing mark so "opens a tool" reads
   apart from "creates a workflow" without any technical wording. One neutral palette, no per-workflow colours. */
.bcv-launch-menu{min-width:292px;max-width:min(360px,calc(100vw - 32px));max-height:min(80vh,720px);overflow-y:auto;overscroll-behavior:contain}
.bcv-launch-menu .bcv-launch-item{padding:7px 12px}
.bcv-launch-menu .bcv-launch-hint{line-height:1.3}
.bcv-launch-group{display:flex;flex-direction:column;gap:1px;padding:2px 0 4px}
.bcv-launch-group + .bcv-launch-group{border-top:0.5px solid var(--c-box-border,#e4e4e4);margin-top:2px;padding-top:6px}
.bcv-launch-glabel{padding:2px 12px 2px;font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted2,#777)}
.bcv-launch-item--tool .bcv-launch-l::after{content:" \2197";font-size:12px;color:var(--c-muted2,#999);font-weight:400}
.bcv-launch-item--tool .bcv-launch-hint{font-style:italic}
.bcv-pick .bcv-new-patient{margin-bottom:6px}
