/* ═══════════════════════════════════════════════════════════
   OpAgent Inside — design system
   forest #163D2B · gilt #C4973E · canvas #F7F4EE · ink #1A1A1A
   Playfair Display · Outfit · IBM Plex Mono
   ═══════════════════════════════════════════════════════════ */
:root{
  --forest:#163D2B; --forest-mid:#1F5238; --forest-light:#2D7A54; --forest-pale:#E9F2EC; --forest-bord:#A8CCBA;
  --gilt:#C4973E; --gilt-dark:#8C6D2F; --gilt-pale:#F4ECDA;
  --canvas:#F7F4EE; --canvas-mid:#EFEBE2; --canvas-dark:#E2DBCD; --pure:#FDFCF9;
  --ink:#1A1A1A; --ink-soft:#6E6A61; --ink-faint:#9C988D;
  --slate:#2E5A7A; --slate-pale:#E9F0F5;
  --teal:#1C8A8A;
  /* semantic */
  --ok:#2D7A54; --ok-pale:#E6F1EA;
  --warn:#B7791F; --warn-pale:#F6ECD7;
  --rej:#9A6B2E; --rej-pale:#F1E7D6;       /* rejections — distinct from denials */
  --deny:#B3261E; --deny-pale:#F7E4E2;     /* denials */
  --money:#1F5238;
  --shadow-sm:0 1px 2px rgba(20,20,20,.04), 0 4px 12px -8px rgba(20,20,20,.14);
  --shadow:0 1px 3px rgba(20,20,20,.05), 0 14px 34px -22px rgba(20,20,20,.26);
  --shadow-lg:0 2px 6px rgba(20,20,20,.06), 0 30px 60px -30px rgba(20,20,20,.34);
  --r-sm:8px; --r:12px; --r-lg:18px;
  --fd:'Playfair Display',Georgia,serif;
  --fb:'Outfit',system-ui,sans-serif;
  --fm:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; scroll-behavior:smooth; }
body{ font-family:var(--fb); background:var(--canvas); color:var(--ink); line-height:1.5; font-size:15px; }
::selection{ background:var(--gilt-pale); }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
a{ color:inherit; text-decoration:none; }
.mono{ font-family:var(--fm); }
.serif{ font-family:var(--fd); }

/* entrance — transform only; never gate visibility on the animation
   (background iframes pause animation clocks, so opacity must rest at 1) */
@keyframes riseIn{ from{ transform:translateY(10px);} to{ transform:none; } }
@keyframes fadeUp{ from{ transform:translateY(8px);} to{ transform:none; } }
@keyframes fadeIn{ from{ transform:none;} to{ transform:none; } }
.screen{ animation:riseIn .5s cubic-bezier(.2,.7,.3,1) both; }

/* Q+i corner watermark */
.qi-watermark{ position:fixed; bottom:-58px; right:-58px; width:360px; height:360px; pointer-events:none; z-index:0; overflow:visible; }
.qi-watermark.in-aside{ position:absolute; bottom:-46px; right:-46px; width:300px; height:300px; }

/* ── reticle logo ── */
.reticle{ display:block; flex-shrink:0; }

/* ───────────────────────── LANDING ───────────────────────── */
.land{ min-height:100vh; display:flex; flex-direction:column; background:
  radial-gradient(1200px 520px at 50% -280px, rgba(45,122,84,.07), transparent 70%),
  var(--canvas); }
.land-nav{ display:flex; align-items:center; justify-content:space-between; padding:26px 44px; max-width:1240px; margin:0 auto; width:100%; }
.land-brand{ display:flex; align-items:center; gap:0; }
.land-brand .wm{ margin-left:12px; font-family:var(--fd); font-weight:700; font-size:20px; color:var(--forest); letter-spacing:.005em; }
.land-brand .wm .ai{ font-family:var(--fm); font-size:11px; color:var(--gilt); font-weight:600; margin-left:2px; }
.land-brand .brand-div{ width:1px; height:19px; background:var(--canvas-dark); margin:0 9px; }
.land-brand .brand-inside{ font-family:var(--fd); font-style:normal; font-weight:700; font-size:20px; color:var(--gilt-dark); letter-spacing:.005em; }
.land-nav .navlinks{ display:flex; gap:30px; font-size:13.5px; color:var(--ink-soft); }
.land-nav .navlinks span{ cursor:default; }
.land-hero{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:30px 24px 60px; max-width:980px; margin:0 auto; width:100%; }
.eyebrow{ font-family:var(--fm); font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--gilt-dark); }
.land-hero h1{ font-family:var(--fd); font-weight:800; font-size:68px; line-height:1.0; color:var(--forest); letter-spacing:-.015em; margin-top:20px; }
.land-hero h1 .ins{ font-style:italic; font-weight:500; color:var(--gilt); }
.neu-line{ font-family:var(--fd); font-style:italic; font-size:23px; color:var(--ink); margin-top:20px; line-height:1.35; }
.neu-line b{ font-style:normal; font-weight:600; color:var(--forest); }
.land-sub{ font-size:18px; color:var(--ink-soft); margin-top:18px; max-width:620px; line-height:1.55; }

/* connect card */
.connect{ margin-top:42px; width:100%; max-width:540px; background:var(--pure); border:1px solid var(--canvas-dark);
  border-radius:var(--r-lg); box-shadow:var(--shadow); padding:30px 30px 26px; text-align:left; }
.connect .clabel{ font-family:var(--fm); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); }
.dd{ position:relative; margin-top:12px; }
.dd-toggle{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px;
  background:var(--canvas); border:1.5px solid var(--canvas-dark); border-radius:var(--r); padding:16px 18px; transition:border-color .15s, box-shadow .15s; }
.dd-toggle:hover{ border-color:var(--forest-bord); }
.dd-toggle.open{ border-color:var(--gilt); box-shadow:0 0 0 3px var(--gilt-pale); }
.dd-toggle .sel{ display:flex; align-items:center; gap:12px; }
.dd-toggle .sel .nm{ font-size:17px; font-weight:600; color:var(--forest); }
.dd-toggle .sel .ph{ font-size:17px; color:var(--ink-faint); font-weight:400; }
.dd-toggle .car{ color:var(--ink-soft); transition:transform .2s; font-size:13px; }
.dd-toggle.open .car{ transform:rotate(180deg); }
.live-dot{ width:8px; height:8px; border-radius:50%; background:var(--forest-light); box-shadow:0 0 0 3px var(--forest-pale); }
.dd-menu{ position:absolute; z-index:30; top:calc(100% + 8px); left:0; right:0; background:var(--pure);
  border:1px solid var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-lg); padding:7px; max-height:340px; overflow-y:auto;
  animation:fadeUp .18s ease both; }
.dd-item{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-radius:9px; transition:background .12s; }
.dd-item.active{ cursor:pointer; }
.dd-item.active:hover{ background:var(--forest-pale); }
.dd-item.disabled{ cursor:not-allowed; opacity:.78; }
.dd-item .l{ display:flex; align-items:center; gap:11px; }
.dd-item .l .nm{ font-size:15.5px; font-weight:500; color:var(--ink); }
.dd-item.disabled .l .nm{ color:var(--ink-faint); }
.dd-item .live-tag{ font-family:var(--fm); font-size:10px; font-weight:600; letter-spacing:.1em; color:var(--forest); background:var(--forest-pale); padding:3px 9px; border-radius:20px; display:inline-flex; align-items:center; gap:6px; }
.dd-item .soon{ font-family:var(--fm); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); border:1px solid var(--canvas-dark); padding:3px 8px; border-radius:20px; }
.dd-divider{ height:1px; background:var(--canvas-mid); margin:6px 10px; }
.dd-note{ padding:10px 14px 6px; font-size:12px; color:var(--ink-soft); line-height:1.4; }
.dd-note b{ color:var(--forest-mid); font-weight:600; }

.req-access{ margin-top:14px; background:var(--gilt-pale); border:1px solid #E4D2AC; border-radius:var(--r); padding:14px 16px; animation:fadeUp .2s ease both; }
.req-access .rt{ font-size:13.5px; color:var(--gilt-dark); font-weight:600; }
.req-access .rf{ display:flex; gap:9px; margin-top:10px; }
.req-access input{ flex:1; font-family:var(--fb); font-size:14px; padding:10px 13px; border:1px solid #E4D2AC; border-radius:9px; background:var(--pure); color:var(--ink); }
.req-access input:focus{ outline:none; border-color:var(--gilt); }
.req-access .rb{ background:var(--forest); color:var(--pure); font-weight:600; font-size:13.5px; padding:10px 16px; border-radius:9px; white-space:nowrap; }
.req-access .done{ font-size:13.5px; color:var(--forest); font-weight:600; display:flex; align-items:center; gap:8px; }

.connect .cta-go{ width:100%; margin-top:16px; background:var(--forest); color:var(--pure); font-weight:600; font-size:16px;
  padding:16px; border-radius:var(--r); display:flex; align-items:center; justify-content:center; gap:11px; transition:background .15s, transform .1s; box-shadow:var(--shadow-sm); }
.connect .cta-go:hover{ background:var(--forest-mid); transform:translateY(-1px); }
.connect .cta-go:disabled{ opacity:.4; cursor:not-allowed; transform:none; }

/* trust strip */
.trust{ margin-top:34px; display:flex; flex-wrap:wrap; gap:10px 26px; justify-content:center; align-items:center;
  font-family:var(--fm); font-size:12px; letter-spacing:.04em; color:var(--ink-soft); }
.trust .t{ display:flex; align-items:center; gap:9px; }
.trust .t .b{ width:5px; height:5px; border-radius:50%; background:var(--gilt); }

/* ───────────────────────── LOGIN ───────────────────────── */
.login{ min-height:100vh; display:grid; grid-template-columns:1.05fr .95fr; }
.login-aside{ background:var(--forest); color:var(--pure); padding:54px 56px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.login-aside .la-brand{ display:flex; align-items:center; gap:0; }
.login-aside .la-brand .wm{ margin-left:12px; font-family:var(--fd); font-weight:700; font-size:21px; }
.login-aside .la-brand .wm .ai{ font-family:var(--fm); font-size:11px; color:var(--gilt); margin-left:2px; }
.login-aside .la-body{ margin-top:auto; z-index:1; }
.login-aside .la-pos{ margin-top:68px; z-index:1; }
.login-aside .la-pos-1{ font-family:var(--fd); font-weight:600; font-size:22px; color:#FDFCF9; line-height:1.25; }
.login-aside .la-pos-2{ font-family:var(--fm); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--gilt); margin-top:9px; }
.login-aside h2{ font-family:var(--fd); font-weight:600; font-size:34px; line-height:1.18; letter-spacing:.005em; max-width:440px; }
.login-aside h2 em{ color:var(--gilt); font-style:italic; }
.login-aside .la-points{ margin-top:30px; display:flex; flex-direction:column; gap:15px; max-width:430px; }
.login-aside .la-pt{ display:flex; gap:13px; align-items:flex-start; font-size:15px; color:rgba(253,252,249,.86); line-height:1.45; }
.login-aside .la-pt .mk{ color:var(--gilt); flex-shrink:0; margin-top:2px; }
.login-aside .la-foot{ margin-top:36px; font-family:var(--fm); font-size:11.5px; letter-spacing:.04em; color:var(--forest-bord); z-index:1; }

.login-main{ background:var(--canvas); display:flex; align-items:center; justify-content:center; padding:40px; }
.login-card{ width:100%; max-width:400px; }
.login-card .connecting{ display:flex; align-items:center; gap:11px; font-family:var(--fm); font-size:12px; color:var(--ink-soft); letter-spacing:.04em; margin-bottom:26px; }
.login-card .connecting .dc{ font-weight:600; color:var(--forest); }
.login-card h3{ font-family:var(--fd); font-weight:700; font-size:30px; color:var(--forest); }
.login-card .lc-sub{ font-size:14.5px; color:var(--ink-soft); margin-top:8px; line-height:1.5; }
.field{ margin-top:18px; }
.field label{ font-family:var(--fm); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); display:block; margin-bottom:7px; }
.field input{ width:100%; font-family:var(--fb); font-size:15.5px; padding:14px 16px; border:1.5px solid var(--canvas-dark); border-radius:var(--r); background:var(--pure); color:var(--ink); transition:border-color .15s, box-shadow .15s; }
.field input:focus{ outline:none; border-color:var(--gilt); box-shadow:0 0 0 3px var(--gilt-pale); }
.field.mfa input{ font-family:var(--fm); letter-spacing:.45em; text-align:center; font-size:19px; }
.login-btn{ width:100%; margin-top:24px; background:var(--forest); color:var(--pure); font-weight:600; font-size:16px; padding:15px; border-radius:var(--r); display:flex; align-items:center; justify-content:center; gap:11px; transition:background .15s, transform .1s; }
.login-btn:hover{ background:var(--forest-mid); transform:translateY(-1px); }
.login-back{ margin-top:18px; text-align:center; font-size:13px; color:var(--ink-soft); }
.login-back button{ color:var(--gilt-dark); font-weight:600; }
.login-load{ display:flex; flex-direction:column; align-items:center; gap:18px; padding:30px 0; text-align:center; }
.login-load .ring{ width:42px; height:42px; border:3px solid var(--canvas-dark); border-top-color:var(--gilt); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.login-load .lt{ font-family:var(--fm); font-size:13px; color:var(--ink-soft); letter-spacing:.03em; }
.login-load .lt b{ color:var(--forest); }

/* ───────────────────────── APP SHELL ───────────────────────── */
.app{ min-height:100vh; display:flex; flex-direction:column; }
.appbar{ position:sticky; top:0; z-index:40; background:rgba(253,252,249,.86); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--canvas-dark); }
.appbar-in{ max-width:1340px; margin:0 auto; width:100%; padding:0 32px; height:64px; display:flex; align-items:center; gap:22px; }
.appbar .brand{ display:flex; align-items:center; gap:12px; }
.appbar .brand .wm{ font-family:var(--fd); font-weight:700; font-size:17px; color:var(--forest); }
.appbar .brand .wm .ai{ font-family:var(--fm); font-size:10px; color:var(--gilt); margin-left:1px; }
.appbar .brand .bar-inside-div{ width:1px; height:16px; background:var(--canvas-dark); margin:0 9px; }
.appbar .brand .bar-inside{ font-family:var(--fd); font-weight:700; font-size:16px; color:var(--gilt-dark); }
.appbar .live-badge{ display:flex; align-items:center; gap:8px; font-family:var(--fm); font-size:11px; letter-spacing:.03em; color:var(--ink-soft); padding-left:18px; border-left:1px solid var(--canvas-dark); }
.appbar .live-badge .ld{ width:7px; height:7px; border-radius:50%; background:var(--forest-light); box-shadow:0 0 0 3px var(--forest-pale); animation:pulse 2.4s ease infinite; }
@keyframes pulse{ 0%,100%{ box-shadow:0 0 0 3px var(--forest-pale);} 50%{ box-shadow:0 0 0 5px rgba(45,122,84,.12);} }
.appbar .live-badge b{ color:var(--forest); font-weight:600; }
.appbar .ro-tag{ font-family:var(--fm); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--gilt-dark); background:var(--gilt-pale); padding:4px 10px; border-radius:20px; }
.appbar .spacer{ flex:1; }
.appbar .user{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-soft); }
.appbar .user .av{ width:30px; height:30px; border-radius:50%; background:var(--forest); color:var(--pure); display:flex; align-items:center; justify-content:center; font-family:var(--fd); font-weight:600; font-size:13px; }
.appbar .signout{ font-size:12.5px; color:var(--ink-soft); }
.appbar .signout:hover{ color:var(--deny); }

/* module tabs */
.tabs{ background:var(--pure); border-bottom:1px solid var(--canvas-dark); }
.tabs-in{ max-width:1340px; margin:0 auto; width:100%; padding:0 32px; display:flex; gap:6px; }
.tab{ position:relative; padding:16px 22px 15px; font-size:15px; font-weight:500; color:var(--ink-soft); display:flex; align-items:center; gap:10px; transition:color .15s; }
.tab:hover{ color:var(--forest); }
.tab.on{ color:var(--forest); font-weight:600; }
.tab.on::after{ content:""; position:absolute; left:14px; right:14px; bottom:-1px; height:3px; background:var(--gilt); border-radius:3px 3px 0 0; }
.tab .ti{ font-family:var(--fd); font-style:italic; font-size:12px; color:var(--ink-faint); font-weight:400; }
.tab.on .ti{ color:var(--gilt-dark); }

.work{ max-width:1340px; margin:0 auto; width:100%; padding:30px 32px 80px; }
.mod-intro{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; flex-wrap:wrap; }
.mod-intro h2{ font-family:var(--fd); font-weight:700; font-size:26px; color:var(--forest); white-space:nowrap; }
.mod-intro p{ font-size:14.5px; color:var(--ink-soft); margin-top:6px; max-width:560px; line-height:1.5; }
.mod-intro .who{ font-family:var(--fm); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--gilt-dark); background:var(--gilt-pale); padding:7px 13px; border-radius:20px; white-space:nowrap; }

/* hero tiles */
.tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:30px; }
.tile{ background:var(--pure); border:1px solid var(--canvas-dark); border-radius:var(--r); padding:18px 20px; box-shadow:var(--shadow-sm); position:relative; overflow:hidden; }
.tile::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--forest-light); opacity:.8; }
.tile.gilt::before{ background:var(--gilt); }
.tile.deny::before{ background:var(--deny); }
.tile.rej::before{ background:var(--rej); }
.tile .tl{ font-size:12.5px; color:var(--ink-soft); font-weight:500; display:flex; align-items:center; gap:7px; }
.tile .tv{ font-family:var(--fd); font-weight:800; font-size:30px; color:var(--ink); line-height:1; margin-top:11px; letter-spacing:-.01em; }
.tile .tv.money{ color:var(--money); }
.tile .tv.gilt{ color:var(--gilt-dark); }
.tile .tsub{ font-family:var(--fm); font-size:11px; color:var(--ink-faint); margin-top:8px; letter-spacing:.02em; }

/* section heads */
.shead{ display:flex; align-items:center; gap:14px; margin:30px 0 15px; }
.shead h3{ font-family:var(--fd); font-weight:600; font-size:19px; color:var(--forest); white-space:nowrap; }
.shead .sc{ font-family:var(--fm); font-size:11px; color:var(--ink-soft); letter-spacing:.04em; white-space:nowrap; }
.shead .ln{ flex:1; height:1px; background:linear-gradient(90deg,var(--gilt) 0 40px,var(--canvas-dark) 40px); }

/* generic card + rows */
.card{ background:var(--pure); border:1px solid var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden; }
.card + .card{ margin-top:14px; }

/* patient card (physician) */
.pcard{ background:var(--pure); border:1px solid var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-sm); margin-bottom:14px; overflow:hidden; }
.pcard-head{ display:flex; align-items:center; gap:16px; padding:15px 22px; background:linear-gradient(180deg,var(--pure),var(--canvas)); border-bottom:1px solid var(--canvas-mid); flex-wrap:wrap; }
.pcard-head .when{ font-family:var(--fm); font-size:12px; color:var(--gilt-dark); font-weight:600; background:var(--gilt-pale); padding:6px 11px; border-radius:8px; white-space:nowrap; }
.pcard-head .nm{ font-family:var(--fd); font-weight:600; font-size:19px; color:var(--forest); }
.pcard-head .meta{ font-family:var(--fm); font-size:11px; color:var(--ink-faint); margin-top:2px; }
.pcard-head .right{ margin-left:auto; display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.pcard-body{ padding:6px 22px 16px; }

/* action row */
.arow{ display:grid; grid-template-columns:1fr auto; gap:14px 18px; padding:15px 0; align-items:start; }
.arow + .arow{ border-top:1px solid var(--canvas-mid); }
.arow .a-main{ min-width:0; }
.arow .a-top{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:7px; }
.arow .a-play{ font-size:15.5px; color:var(--ink); font-weight:500; line-height:1.4; }
.arow .a-play b{ font-weight:700; color:var(--forest); }
.arow .a-detail{ font-size:13.5px; color:var(--ink-soft); margin-top:5px; line-height:1.45; max-width:680px; }
.arow .a-side{ display:flex; flex-direction:column; align-items:flex-end; gap:9px; flex-shrink:0; }
.arow .a-meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:9px; }

/* chips */
.chip{ font-family:var(--fm); font-size:10.5px; letter-spacing:.04em; padding:4px 9px; border-radius:7px; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; border:1px solid transparent; }
.chip .cd{ width:6px; height:6px; border-radius:50%; }
.chip.engine{ background:var(--forest-pale); color:var(--forest); border-color:var(--forest-bord); font-weight:600; }
.chip.owner{ background:var(--slate-pale); color:var(--slate); border-color:#C9DCE9; }
.chip.cpt{ background:var(--canvas-mid); color:var(--forest); font-weight:600; }
.chip.payer{ background:var(--pure); color:var(--ink); border-color:var(--canvas-dark); }
.chip.clock{ background:var(--pure); color:var(--ink-soft); border-color:var(--canvas-dark); }
.chip.clock.urgent{ background:var(--deny-pale); color:var(--deny); border-color:#E8C4C0; font-weight:600; }
.chip.sev-info{ background:var(--slate-pale); color:var(--slate); }
.chip.sev-warn{ background:var(--warn-pale); color:var(--warn); }
.chip.sev-rej{ background:var(--rej-pale); color:var(--rej); font-weight:600; }
.chip.sev-deny{ background:var(--deny-pale); color:var(--deny); font-weight:600; }
.chip.sev-ok{ background:var(--ok-pale); color:var(--ok); font-weight:600; }
.ref{ font-family:var(--fm); font-size:9px; font-weight:700; letter-spacing:.12em; color:var(--gilt-dark); background:var(--gilt-pale); padding:2px 6px; border-radius:5px; vertical-align:1px; margin-left:5px; }

/* dollar */
.dollar{ font-family:var(--fd); font-weight:800; font-size:21px; color:var(--money); line-height:1; letter-spacing:-.01em; }
.dollar.lost{ color:var(--deny); }
.dollar.sm{ font-size:18px; }
.dollar .dref{ font-family:var(--fm); font-size:9px; font-weight:700; letter-spacing:.12em; color:var(--gilt-dark); margin-left:4px; vertical-align:3px; }

/* deep-link propose button */
.deeplink{ display:inline-flex; align-items:center; gap:8px; font-family:var(--fb); font-size:13px; font-weight:600; color:var(--forest);
  background:var(--pure); border:1.5px solid var(--forest-bord); border-radius:9px; padding:9px 14px; transition:all .14s; white-space:nowrap; }
.deeplink:hover{ background:var(--forest-pale); border-color:var(--forest-light); transform:translateY(-1px); }
.deeplink.staged{ background:var(--forest); color:var(--pure); border-color:var(--forest); cursor:default; transform:none; }
.deeplink .dk-ic{ font-size:13px; }
.deeplink .arrow{ font-size:11px; opacity:.7; }
.propose-note{ font-family:var(--fm); font-size:9.5px; letter-spacing:.05em; color:var(--ink-faint); text-transform:uppercase; margin-top:5px; text-align:right; }

/* doc gate */
.gate{ display:flex; align-items:flex-start; gap:11px; padding:12px 14px; border-radius:var(--r-sm); background:var(--warn-pale); border:1px solid #E8D6AE; margin-top:6px; }
.gate.met{ background:var(--ok-pale); border-color:#BFD9C8; }
.gate .gi{ flex-shrink:0; width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:var(--pure); background:var(--warn); margin-top:1px; }
.gate.met .gi{ background:var(--ok); }
.gate .gt{ font-size:13.5px; color:var(--ink); line-height:1.4; }
.gate .gt b{ font-weight:600; color:var(--forest); }
.gate .gt .gtag{ font-family:var(--fm); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--warn); font-weight:600; }
.gate.met .gt .gtag{ color:var(--ok); }

/* worklist (admin) */
.wl{ background:var(--pure); border:1px solid var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden; margin-bottom:16px; }
.wl-head{ display:flex; align-items:center; gap:12px; padding:14px 20px; border-bottom:1px solid var(--canvas-mid); background:linear-gradient(180deg,var(--pure),var(--canvas)); }
.wl-head .wl-ic{ width:30px; height:30px; border-radius:8px; background:var(--forest-pale); color:var(--forest); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.wl-head .wl-name{ font-family:var(--fd); font-weight:600; font-size:17px; color:var(--forest); }
.wl-head .wl-sub{ font-family:var(--fm); font-size:11px; color:var(--ink-soft); margin-top:1px; }
.wl-head .wl-count{ margin-left:auto; display:flex; align-items:center; gap:14px; }
.wl-head .wl-total{ font-family:var(--fd); font-weight:800; font-size:20px; color:var(--money); }
.wl-head .wl-n{ font-family:var(--fm); font-size:11px; color:var(--ink-soft); background:var(--canvas-mid); padding:4px 10px; border-radius:20px; }
.wl-row{ display:grid; grid-template-columns:1fr auto; gap:12px 18px; padding:14px 20px; align-items:center; }
.wl-row + .wl-row{ border-top:1px solid var(--canvas-mid); }
.wl-row:hover{ background:var(--canvas); }
.wl-row .wr-main{ min-width:0; }
.wl-row .wr-play{ font-size:14.5px; color:var(--ink); font-weight:500; line-height:1.4; }
.wl-row .wr-play b{ font-weight:700; color:var(--forest); }
.wl-row .wr-meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px; }
.wl-row .wr-side{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; }

/* P&L strip */
.pnl{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:var(--forest); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); }
.pnl-cell{ padding:22px 24px; position:relative; }
.pnl-cell + .pnl-cell{ border-left:1px solid rgba(168,204,186,.18); }
.pnl-cell .pl{ font-family:var(--fm); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--forest-bord); }
.pnl-cell .pv{ font-family:var(--fd); font-weight:800; font-size:32px; color:var(--pure); line-height:1; margin-top:12px; letter-spacing:-.01em; }
.pnl-cell .pv.gilt{ color:var(--gilt); }
.pnl-cell .ps{ font-size:12.5px; color:rgba(253,252,249,.7); margin-top:9px; line-height:1.4; }
.pnl-cell .ps .up{ color:var(--gilt); font-weight:600; }
.pnl-cell .agebars{ display:flex; gap:4px; margin-top:12px; align-items:flex-end; height:34px; }
.pnl-cell .agebars .ab{ flex:1; border-radius:3px 3px 0 0; background:var(--forest-light); position:relative; }
.pnl-cell .agebars .ab.old{ background:var(--gilt); }
.pnl-cell .agebars .ab .abl{ position:absolute; bottom:-16px; left:0; right:0; text-align:center; font-family:var(--fm); font-size:8px; color:var(--forest-bord); }

/* toggle */
.seg{ display:inline-flex; background:var(--canvas-mid); border-radius:11px; padding:4px; gap:4px; }
.seg button{ font-family:var(--fb); font-size:14px; font-weight:600; padding:9px 20px; border-radius:8px; color:var(--ink-soft); transition:all .15s; display:flex; align-items:center; gap:9px; }
.seg button.on{ background:var(--pure); color:var(--forest); box-shadow:var(--shadow-sm); }
.seg button .sgi{ font-size:12px; }

/* cluster (rejection root cause) */
.cluster{ background:var(--pure); border:1px solid var(--canvas-dark); border-left:4px solid var(--rej); border-radius:var(--r); padding:16px 20px; margin-bottom:12px; box-shadow:var(--shadow-sm); }
.cluster.denial{ border-left-color:var(--deny); }
.cluster.under{ border-left-color:var(--gilt); }
.cluster.ar{ border-left-color:var(--slate); }
.cluster-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.cluster .carc{ font-family:var(--fm); font-size:11px; font-weight:600; letter-spacing:.04em; color:var(--ink-soft); }
.cluster .cl-title{ font-size:15.5px; font-weight:600; color:var(--ink); margin-top:5px; line-height:1.4; }
.cluster .cl-title b{ color:var(--forest); }
.cluster .cl-id{ font-family:var(--fm); font-size:11.5px; color:var(--ink-soft); margin-top:6px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.cluster .cl-id .cl-id-name{ color:var(--ink); font-weight:600; }
.cluster .cl-id .cl-id-sep{ color:var(--ink-faint); }
.cluster .cl-fix{ font-size:13.5px; color:var(--ink-soft); margin-top:8px; line-height:1.45; }
.cluster .cl-fix .one{ color:var(--gilt-dark); font-weight:600; }
.cluster .cl-side{ text-align:right; flex-shrink:0; }
.cluster .cl-n{ font-family:var(--fm); font-size:11px; color:var(--ink-soft); margin-top:3px; }
.cluster-foot{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-top:13px; padding-top:13px; border-top:1px solid var(--canvas-mid); }
/* action-pill row: align-items:flex-start so a bare pill never vertically
   stretches to match the taller DeepLink column (button + propose-note). */
.cl-actions{ margin-left:auto; display:flex; align-items:flex-start; gap:9px; }

/* prospective scrub list */
.scrub{ display:grid; grid-template-columns:1fr auto; gap:10px 16px; padding:13px 0; align-items:center; }
.scrub + .scrub{ border-top:1px solid var(--canvas-mid); }
.scrub .sc-l{ display:flex; align-items:flex-start; gap:11px; }
.scrub .sc-ic{ flex-shrink:0; width:22px; height:22px; border-radius:6px; background:var(--forest-pale); color:var(--forest); display:flex; align-items:center; justify-content:center; font-size:12px; margin-top:1px; }
.scrub .sc-t{ font-size:14px; color:var(--ink); line-height:1.4; }
.scrub .sc-t b{ font-weight:600; color:var(--forest); }
.scrub .sc-t .scrub-rule{ font-family:var(--fm); font-size:11px; color:var(--ink-soft); margin-top:3px; }

/* learned panel — centerpiece */
.learned{ background:linear-gradient(170deg,var(--forest),var(--forest-mid)); border-radius:var(--r-lg); padding:28px 30px; color:var(--pure); box-shadow:var(--shadow); position:relative; overflow:hidden; }
.learned-head{ display:flex; align-items:center; gap:14px; position:relative; z-index:1; flex-wrap:wrap; }
.learned-head h3{ font-family:var(--fd); font-weight:600; font-size:23px; }
.learned-head h3 em{ color:var(--gilt); font-style:italic; }
.learned-head .lh-tag{ font-family:var(--fm); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--forest); background:var(--gilt); padding:5px 11px; border-radius:20px; font-weight:600; }
.learned-sub{ font-size:14.5px; color:rgba(253,252,249,.8); margin-top:8px; max-width:680px; line-height:1.5; position:relative; z-index:1; }
.learned-grid{ margin-top:22px; display:flex; flex-direction:column; gap:10px; position:relative; z-index:1; }
.lrow{ display:grid; grid-template-columns:1.5fr auto 1.6fr; gap:18px; align-items:center; background:rgba(253,252,249,.06); border:1px solid rgba(168,204,186,.16); border-radius:var(--r); padding:15px 18px; }
.lrow .lr-was{ }
.lrow .lr-pat{ font-size:14.5px; font-weight:600; color:var(--pure); line-height:1.35; }
.lrow .lr-cost{ font-family:var(--fm); font-size:11.5px; color:#E8B98C; margin-top:5px; }
.lrow .lr-arrow{ font-size:20px; color:var(--gilt); }
.lrow .lr-now{ display:flex; align-items:flex-start; gap:10px; }
.lrow .lr-shield{ flex-shrink:0; width:22px; height:22px; border-radius:50%; background:var(--gilt); color:var(--forest); display:flex; align-items:center; justify-content:center; font-size:12px; margin-top:1px; }
.lrow .lr-rule{ font-size:13.5px; color:rgba(253,252,249,.92); line-height:1.4; }
.lrow .lr-rule .eng{ font-family:var(--fm); font-size:10.5px; color:var(--gilt); letter-spacing:.04em; display:block; margin-top:3px; }

/* analytics */
.analytics{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.an-card{ background:var(--pure); border:1px solid var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-sm); padding:18px 20px; }
.an-card .an-h{ display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }
.an-card .an-title{ font-family:var(--fd); font-weight:600; font-size:16px; color:var(--forest); }
.an-card .an-tag{ font-family:var(--fm); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); }
.an-row{ display:flex; align-items:center; gap:11px; padding:7px 0; }
.an-row .an-lab{ width:108px; font-size:13px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex-shrink:0; }
.an-row .an-track{ flex:1; height:9px; background:var(--canvas-mid); border-radius:5px; overflow:hidden; }
.an-row .an-fill{ height:100%; border-radius:5px; background:linear-gradient(90deg,var(--forest-light),var(--forest-mid)); width:0; transition:width 1s cubic-bezier(.2,.8,.2,1); }
.an-row .an-fill.gilt{ background:linear-gradient(90deg,var(--gilt),var(--gilt-dark)); }
.an-row .an-val{ font-family:var(--fm); font-size:12px; font-weight:600; color:var(--forest); width:62px; text-align:right; flex-shrink:0; }

.foot-note{ margin-top:34px; padding-top:20px; border-top:1px solid var(--canvas-dark); font-family:var(--fm); font-size:11px; color:var(--ink-faint); letter-spacing:.03em; line-height:1.7; }
.foot-note b{ color:var(--forest-mid); font-weight:600; }

/* ═══════════════ PHYSICIAN CONSOLE (nimble two-column) ═══════════════ */
.phys2-toggle{ display:flex; justify-content:flex-end; margin-bottom:14px; }
.phys2-bar{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:var(--pure); border:1px solid var(--canvas-dark);
  border-radius:var(--r); box-shadow:var(--shadow-sm); padding:12px 16px; margin-bottom:18px; }
.phys2-load{ background:var(--forest); color:var(--pure); font-weight:600; font-size:14px; padding:11px 18px; border-radius:9px; transition:background .15s; white-space:nowrap; }
.phys2-load:hover{ background:var(--forest-mid); }
.phys2-date{ display:flex; align-items:center; gap:8px; background:var(--canvas); border:1px solid var(--canvas-dark); border-radius:9px; padding:5px 6px; }
.phys2-date .nav{ width:28px; height:28px; border-radius:7px; display:flex; align-items:center; justify-content:center; color:var(--ink-soft); font-size:14px; transition:background .12s; }
.phys2-date .nav:hover{ background:var(--canvas-mid); }
.phys2-date .dt{ font-family:var(--fm); font-size:13px; color:var(--ink); padding:0 6px; display:flex; align-items:center; gap:7px; }
.phys2-date .today{ font-size:13px; font-weight:600; color:var(--forest); padding:5px 12px; border-radius:7px; background:var(--forest-pale); }
.phys2-watch{ display:flex; align-items:center; gap:9px; font-family:var(--fm); font-size:12px; color:var(--ink-soft); padding:7px 13px; border:1px solid var(--canvas-dark); border-radius:20px; }
.phys2-watch .wd{ width:8px; height:8px; border-radius:50%; background:var(--ink-faint); }
.phys2-watch.on .wd{ background:var(--forest-light); box-shadow:0 0 0 3px var(--forest-pale); }
.phys2-status{ font-family:var(--fm); font-size:12px; color:var(--ink-soft); letter-spacing:.02em; margin-left:auto; }

.phys2-grid{ display:grid; grid-template-columns:344px 1fr; gap:20px; align-items:start; }

/* schedule rail */
.rail{ background:var(--pure); border:1px solid var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden; position:sticky; top:148px; }
.rail-day{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:18px 20px 14px; }
.rail-day h3{ font-family:var(--fd); font-weight:700; font-size:21px; color:var(--forest); white-space:nowrap; flex-shrink:0; }
.rail-day .rd-sub{ font-family:var(--fm); font-size:11px; color:var(--ink-soft); text-align:right; line-height:1.4; }
.rail-kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:0 16px 14px; }
.rail-kpi{ border-radius:10px; padding:12px 10px; text-align:center; border:1px solid var(--canvas-dark); }
.rail-kpi.done{ background:var(--forest-pale); border-color:var(--forest-bord); }
.rail-kpi.planned{ background:var(--gilt-pale); border-color:#E4D2AC; }
.rail-kpi.em{ background:var(--pure); }
.rail-kpi .rk-v{ font-family:var(--fd); font-weight:800; font-size:24px; color:var(--forest); line-height:1; }
.rail-kpi .rk-l{ font-family:var(--fm); font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-top:7px; line-height:1.3; }
.rail-list{ border-top:1px solid var(--canvas-mid); max-height:calc(100vh - 360px); overflow-y:auto; }
.rail-row{ display:block; width:100%; text-align:left; padding:13px 18px 13px 17px; border-left:3px solid transparent; border-bottom:1px solid var(--canvas-mid); transition:background .12s; }
.rail-row:hover{ background:var(--canvas); }
.rail-row.on{ background:var(--forest-pale); border-left-color:var(--accent,var(--gilt)); }
.rail-row:not(.on){ border-left-color:var(--accent,transparent); }
.rail-row .rr-top{ display:flex; align-items:center; gap:10px; }
.rail-row .rr-time{ font-family:var(--fm); font-size:12px; font-weight:600; color:var(--gilt-dark); }
.rail-row .rr-name{ font-weight:600; font-size:15px; color:var(--ink); flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rail-row .rr-scope{ opacity:.5; flex-shrink:0; }
.rail-row.on .rr-scope{ opacity:1; }
.rail-row .rr-dot{ width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.rail-row .rr-dot.done{ background:var(--forest-light); }
.rail-row .rr-dot.planned{ background:var(--gilt); }
.rail-row .rr-dot.scored{ background:transparent; border:2px solid var(--gilt); }
.rail-row .rr-payer{ font-family:var(--fm); font-size:10px; color:var(--ink-soft); background:var(--canvas-mid); padding:3px 8px; border-radius:6px; display:inline-block; margin-top:9px; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; vertical-align:bottom; }
.rail-row .rr-comp{ font-size:12.5px; color:var(--ink-soft); margin-top:8px; line-height:1.4; }

/* detail column */
.detail{ display:flex; flex-direction:column; gap:16px; min-width:0; }

/* patient header card */
.pt-card{ background:var(--pure); border:1px solid var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden; }
.pt-head{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:16px 22px; border-bottom:1px solid var(--canvas-mid); }
.pt-head .cache{ font-family:var(--fm); font-size:10px; font-weight:600; letter-spacing:.1em; color:var(--gilt-dark); background:var(--gilt-pale); padding:5px 10px; border-radius:7px; }
.pt-head .pt-name{ font-family:var(--fd); font-weight:700; font-size:23px; color:var(--forest); }
.pt-head .pill{ font-family:var(--fm); font-size:11px; padding:4px 10px; border-radius:20px; }
.pt-head .pill.planned{ background:var(--gilt-pale); color:var(--gilt-dark); }
.pt-head .pill.em{ border:1px solid var(--canvas-dark); color:var(--ink); }
.pt-head .cached-at{ font-family:var(--fm); font-size:11px; color:var(--ink-faint); margin-left:auto; }
.pt-head .update{ font-family:var(--fb); font-size:12.5px; font-weight:600; color:var(--forest); border:1px solid var(--forest-bord); border-radius:8px; padding:7px 13px; transition:background .14s; }
.pt-head .update:hover{ background:var(--forest-pale); }
.pt-body{ padding:16px 22px 18px; }

/* field rows (mono label + content) */
.frow{ display:grid; grid-template-columns:128px 1fr; gap:18px; padding:10px 0; align-items:start; }
.frow + .frow{ border-top:1px solid var(--canvas-mid); }
.frow .flabel{ font-family:var(--fm); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); padding-top:2px; }
.frow .fval{ font-size:14.5px; color:var(--ink); line-height:1.5; min-width:0; }
.frow .fval b{ color:var(--forest); font-weight:700; }
.frow .fval .em-strong{ font-weight:700; color:var(--forest); }
.note-preview{ font-family:var(--fm); font-size:12px; color:var(--ink-soft); line-height:1.6; background:var(--canvas); border:1px solid var(--canvas-mid); border-radius:9px; padding:14px 16px; white-space:pre-wrap; max-height:172px; overflow:hidden; position:relative; }
.note-preview::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:48px; background:linear-gradient(transparent,var(--canvas)); }

/* step card (CliniQ / CodeIQ) */
.step-card{ background:var(--pure); border:1px solid var(--canvas-dark); border-left:4px solid var(--forest); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden; }
.step-head{ display:flex; align-items:center; gap:13px; padding:15px 22px; border-bottom:1px solid var(--canvas-mid); }
.step-head .eng{ font-family:var(--fm); font-size:10px; font-weight:600; letter-spacing:.1em; padding:5px 11px; border-radius:7px; white-space:nowrap; flex-shrink:0; }
.step-head .eng.cliniq{ background:var(--forest); color:var(--pure); }
.step-head .eng.codeiq{ background:var(--gilt); color:var(--forest); }
.step-head .step-title{ font-family:var(--fd); font-weight:600; font-size:18px; color:var(--forest); flex:1; min-width:0; }
.step-head .step-n{ font-family:var(--fm); font-size:11px; color:var(--ink-faint); }
.step-body{ padding:8px 22px 18px; }
.tag-planned{ font-family:var(--fm); font-size:9.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--gilt-dark); background:var(--gilt-pale); padding:3px 8px; border-radius:6px; margin-left:8px; }
.tag-big{ font-family:var(--fm); font-size:9.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--gilt-dark); background:var(--gilt-pale); padding:3px 8px; border-radius:6px; }
.quote{ border-left:3px solid var(--gilt); padding:2px 0 2px 14px; font-style:italic; color:var(--ink-soft); font-size:14px; line-height:1.5; margin-top:8px; }
.src-tag{ font-family:var(--fm); font-size:10px; color:var(--ink-soft); background:var(--canvas-mid); padding:3px 8px; border-radius:6px; margin-left:8px; }
.authcheck-box{ font-family:var(--fm); font-size:13px; color:var(--ink-soft); background:var(--canvas); border:1px solid var(--canvas-mid); border-radius:9px; padding:12px 14px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.gate-list{ list-style:none; display:flex; flex-direction:column; gap:9px; }
.gate-list li{ position:relative; padding-left:18px; font-size:14px; color:var(--ink); line-height:1.5; }
.gate-list li::before{ content:"•"; position:absolute; left:2px; color:var(--gilt); font-weight:700; }
.bench{ font-size:14px; color:var(--ink); }
.bench b{ color:var(--deny); font-weight:700; }
.bench .bench-src{ color:var(--ink-soft); }
.verify{ font-size:13.5px; color:var(--ink-soft); font-style:italic; }

/* bloq bars */
.bloq-text{ font-size:14.5px; color:var(--ink); line-height:1.5; }
.bloq-bars{ display:flex; flex-direction:column; gap:9px; margin-top:14px; }
.bloq-row{ display:grid; grid-template-columns:118px 1fr 78px; gap:14px; align-items:center; }
.bloq-row .bl-lab{ font-family:var(--fm); font-size:12px; color:var(--ink); }
.bloq-row .bl-track{ position:relative; height:8px; background:var(--canvas-mid); border-radius:5px; }
.bloq-row .bl-fill{ position:absolute; left:0; top:0; bottom:0; border-radius:5px; background:var(--forest-light); }
.bloq-row .bl-target{ position:absolute; top:-3px; bottom:-3px; width:2.5px; background:var(--gilt-dark); border-radius:2px; }
.bloq-row .bl-val{ font-family:var(--fm); font-size:11.5px; color:var(--deny); text-align:right; }

/* day picker */
.daypick{ display:flex; gap:9px; flex-wrap:wrap; }
.daypick button{ border:1px solid var(--canvas-dark); border-radius:10px; padding:10px 16px; text-align:center; transition:all .14s; background:var(--pure); }
.daypick button:hover{ border-color:var(--forest-bord); }
.daypick button.on{ border-color:var(--forest); background:var(--forest-pale); box-shadow:0 0 0 2px var(--forest-pale); }
.daypick button .dw{ font-family:var(--fb); font-weight:700; font-size:14px; color:var(--forest); }
.daypick button .dd{ font-family:var(--fm); font-size:11px; color:var(--ink-soft); margin-top:3px; }

.step-foot{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:18px; padding-top:16px; border-top:1px dashed var(--canvas-dark); }
.btn-confirm{ background:var(--forest); color:var(--pure); font-weight:600; font-size:14px; padding:11px 18px; border-radius:9px; transition:background .15s; }
.btn-confirm:hover{ background:var(--forest-mid); }
.btn-confirm.done{ background:var(--forest-light); cursor:default; }
.btn-prep{ background:var(--gilt); color:var(--forest); font-weight:600; font-size:14px; padding:11px 18px; border-radius:9px; transition:background .15s; }
.btn-prep:hover{ background:var(--gilt-dark); color:var(--pure); }
/* ── engine-coded action pills ───────────────────────────────────────────
   Worklist action pills share the EXACT footprint of .deeplink (light/outline,
   colored rim + colored text — never a heavy solid fill). The rim color is the
   signature of the OpAgent engine that owns the action, so the same engine
   always reads the same color across the board. Engine → token map:
     AppealQ      → gilt        (draft appeal)
     DeniQ        → deny red     (denial classification / denial letter)
     CodeIQ       → forest-light (coding scrubs)
     Eligibility  → rej bronze   (eligibility / auth)
     DataQorp     → forest-mid    (data/coverage)
   .deeplink stays the neutral forest/secondary outline — it's a navigation
   action, not an engine action. */
.action-pill{ display:inline-flex; align-items:center; gap:8px; font-family:var(--fb); font-size:13px; font-weight:600;
  color:var(--forest); background:var(--pure); border:1.5px solid var(--forest-bord); border-radius:9px;
  padding:9px 14px; transition:all .14s; white-space:nowrap; }
.action-pill:hover{ background:var(--forest-pale); border-color:var(--forest-light); transform:translateY(-1px); }

.pill--appealq{ color:var(--gilt-dark); border-color:var(--gilt); }
.pill--appealq:hover{ background:var(--gilt-pale); border-color:var(--gilt-dark); }
.pill--deniq{ color:var(--deny); border-color:var(--deny); }
.pill--deniq:hover{ background:var(--deny-pale); border-color:var(--deny); }
.pill--codeiq{ color:var(--forest-light); border-color:var(--forest-light); }
.pill--codeiq:hover{ background:var(--forest-pale); border-color:var(--forest-mid); }
.pill--eligibility{ color:var(--rej); border-color:var(--rej); }
.pill--eligibility:hover{ background:var(--rej-pale); border-color:var(--rej); }
.pill--dataqorp{ color:var(--forest-mid); border-color:var(--forest-mid); }
.pill--dataqorp:hover{ background:var(--forest-pale); border-color:var(--forest); }

/* AppealQ inline experience: Drafted pill + PDF/Doc download pills + push + panel */
.appeal-controls{ display:inline-flex; align-items:center; gap:8px; }
.appeal-drafted{ display:inline-flex; align-items:center; gap:7px; font-family:var(--fb); font-size:13px; font-weight:600;
  color:var(--gilt-dark); background:var(--gilt-pale); border:1.5px solid var(--gilt); border-radius:9px;
  padding:9px 13px; cursor:pointer; transition:all .14s; white-space:nowrap; }
.appeal-drafted:hover{ border-color:var(--gilt-dark); }
.appeal-drafted .ad-ic{ font-size:12px; }
.appeal-drafted .ad-car{ color:var(--ink-soft); font-size:11px; }
/* download pills (PDF / Doc) — neutral forest action-pill, anchor-styled */
.action-pill.pill--dl{ text-decoration:none; color:var(--forest); padding:9px 13px; }
.action-pill.pill--dl:hover{ background:var(--forest-pale); }
/* push pill — disarmed/staged state reads honestly */
.pill--push{ color:var(--slate); border-color:var(--slate); }
.pill--push:hover{ background:var(--canvas-mid); }
.pill--push.is-staged{ color:var(--gilt-dark); border-color:var(--gilt); background:var(--gilt-pale); }

.appeal-panel{ flex-basis:100%; margin-top:13px; border:1px solid var(--canvas-dark); border-radius:var(--r);
  background:var(--canvas-mid); padding:13px 15px; }
.appeal-panel-head{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:9px; }
.appeal-panel-head .ap-title{ font-size:13px; font-weight:600; color:var(--ink); }
.appeal-panel-head .ap-meta{ font-family:var(--fm); font-size:10.5px; color:var(--ink-soft); letter-spacing:.02em; }
.appeal-textarea{ width:100%; min-height:280px; resize:vertical; box-sizing:border-box;
  font-family:var(--fm); font-size:12px; line-height:1.55; color:var(--ink);
  background:var(--pure); border:1px solid var(--canvas-dark); border-radius:8px; padding:12px 14px; }
.appeal-textarea:focus{ outline:none; border-color:var(--forest-light); }
.appeal-panel-foot{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:11px; }
.appeal-panel-foot .appeal-note{ font-family:var(--fm); font-size:10.5px; color:var(--ink-soft); }

/* legacy alias — old markup mapped straight to the AppealQ signature */
.btn-appeal{ display:inline-flex; align-items:center; gap:8px; font-family:var(--fb); font-size:13px; font-weight:600; color:var(--gilt-dark);
  background:var(--pure); border:1.5px solid var(--gilt); border-radius:9px; padding:9px 14px; transition:all .14s; white-space:nowrap; }
.btn-appeal:hover{ background:var(--gilt-pale); border-color:var(--gilt-dark); transform:translateY(-1px); }
.step-foot .day-stamp{ font-family:var(--fm); font-size:12px; color:var(--ink-soft); }

/* box cards (future / memory / writeback) */
.box-card{ background:var(--pure); border:1px solid var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden; }
.box-card.future{ border-left:4px solid var(--gilt); }
.box-card.memory{ border-left:4px solid var(--forest); }
.box-card.plan{ border-left:4px solid var(--forest); }
.box-head{ display:flex; align-items:center; gap:13px; padding:15px 22px; border-bottom:1px solid var(--canvas-mid); }
.box-head .tag{ font-family:var(--fm); font-size:10px; font-weight:600; letter-spacing:.1em; padding:5px 11px; border-radius:7px; }
.box-head .tag.future{ background:var(--gilt); color:var(--forest); }
.box-head .tag.memory{ background:var(--forest); color:var(--pure); }
.box-head .tag.plan{ background:var(--forest); color:var(--pure); }
.box-head .box-title{ font-family:var(--fd); font-weight:600; font-size:18px; color:var(--forest); flex:1; }
.box-head .box-note-r{ font-family:var(--fm); font-size:11px; color:var(--ink-faint); }
.box-body{ padding:16px 22px 18px; }
.box-intro{ font-family:var(--fm); font-size:12.5px; color:var(--forest-mid); line-height:1.6; background:var(--forest-pale); border-radius:9px; padding:13px 15px; margin-bottom:14px; }
.proc-item{ padding:13px 0; }
.proc-item + .proc-item{ border-top:1px solid var(--canvas-mid); }
.proc-item .pi-top{ display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; }
.proc-item .pi-name{ font-weight:700; font-size:15px; color:var(--ink); }
.proc-item .pi-region{ font-size:13px; color:var(--ink-soft); }
.proc-item .pi-cpt{ font-family:var(--fm); font-size:12.5px; color:var(--forest); font-weight:600; }
.proc-item .pi-date{ font-family:var(--fm); font-size:12px; color:var(--ink-soft); margin-top:6px; }
.plan-steps{ list-style:none; display:flex; flex-direction:column; gap:10px; }
.plan-steps li{ display:flex; align-items:flex-start; gap:11px; font-size:14px; color:var(--ink); line-height:1.45; }
.plan-steps li .ps-n{ flex-shrink:0; width:22px; height:22px; border-radius:50%; background:var(--forest-pale); color:var(--forest); display:flex; align-items:center; justify-content:center; font-family:var(--fm); font-size:11px; font-weight:600; }

/* awaiting workup */
.awaiting{ background:var(--pure); border:1px dashed var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-sm); padding:54px 40px; text-align:center; }
.awaiting .aw-scope{ opacity:.45; margin:0 auto 18px; }
.awaiting h3{ font-family:var(--fd); font-weight:600; font-size:22px; color:var(--forest); }
.awaiting .aw-name{ color:var(--gilt-dark); }
.awaiting p{ font-size:14.5px; color:var(--ink-soft); margin-top:8px; max-width:420px; margin-left:auto; margin-right:auto; line-height:1.55; }
.awaiting .aw-meta{ font-family:var(--fm); font-size:11.5px; color:var(--ink-faint); margin-top:18px; display:flex; gap:18px; justify-content:center; flex-wrap:wrap; }
.awaiting .aw-run{ margin-top:24px; background:var(--forest); color:var(--pure); font-weight:600; font-size:14px; padding:12px 24px; border-radius:9px; transition:background .15s; }
.awaiting .aw-run:hover{ background:var(--forest-mid); }

@media (max-width:1080px){
  .phys2-grid{ grid-template-columns:1fr; }
  .rail{ position:static; }
  .rail-list{ max-height:none; }
}

/* tab badge */
.tab-badge{ display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; margin-left:8px;
  font-family:var(--fm); font-size:10px; font-weight:600; color:var(--pure); background:var(--gilt); border-radius:20px; vertical-align:1px; }

/* admin: verdict chip */
.verdict-chip{ font-family:var(--fm); font-size:11px; font-weight:600; padding:4px 10px; border-radius:7px; }
.verdict-chip.ok{ background:var(--ok-pale); color:var(--ok); }
.verdict-chip.warn{ background:var(--warn-pale); color:var(--warn); }

/* admin: gap analysis */
.gap-summary{ font-size:14.5px; color:var(--ink); margin-bottom:12px; }
.gap-summary b{ color:var(--forest); font-weight:700; }
.gap-summary .gap-verify{ color:var(--warn); font-weight:600; }
.gap-list{ display:flex; flex-direction:column; gap:8px; }
.gap-row{ display:flex; align-items:flex-start; gap:11px; padding:11px 13px; border-radius:9px; border:1px solid var(--canvas-mid); }
.gap-row.met{ background:var(--ok-pale); border-color:#BFD9C8; }
.gap-row.miss{ background:var(--warn-pale); border-color:#E8D6AE; }
.gap-row .gap-ic{ flex-shrink:0; width:19px; height:19px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:var(--pure); margin-top:1px; }
.gap-row.met .gap-ic{ background:var(--ok); }
.gap-row.miss .gap-ic{ background:var(--warn); }
.gap-row .gap-req{ font-size:14px; font-weight:600; color:var(--ink); line-height:1.4; }
.gap-row .gap-found{ font-family:var(--fm); font-size:11.5px; color:var(--ink-soft); margin-top:4px; line-height:1.45; }

/* admin: paqet doc list */
.doc-list{ display:flex; flex-direction:column; gap:7px; }
.doc-row{ display:flex; align-items:center; gap:11px; padding:10px 13px; border-radius:9px; background:var(--canvas); border:1px solid var(--canvas-mid); }
.doc-row .doc-ic{ flex-shrink:0; width:20px; height:20px; border-radius:6px; background:var(--forest-pale); color:var(--forest); display:flex; align-items:center; justify-content:center; font-size:11px; }
.doc-row .doc-name{ font-size:13.5px; color:var(--ink); flex:1; }
.doc-row .doc-auto{ font-family:var(--fm); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--gilt-dark); background:var(--gilt-pale); padding:3px 8px; border-radius:6px; }

/* ═══════════════ neu-RCM v2 ═══════════════ */
.seg.seg3 button{ padding:9px 16px; font-size:13.5px; }
.pnl.pnl5{ grid-template-columns:repeat(5,1fr); }
.pnl-cell.attr{ text-align:left; cursor:pointer; background:rgba(196,151,62,0.10); transition:background .15s; font-family:inherit; }
.pnl-cell.attr:hover{ background:rgba(196,151,62,0.18); }
@media (max-width:1080px){ .pnl.pnl5{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:680px){ .pnl.pnl5{ grid-template-columns:1fr; } }

/* source tags */
.source-tag{ font-family:var(--fm); font-size:10px; letter-spacing:.03em; padding:3px 8px; border-radius:6px; white-space:nowrap; border:1px solid transparent; }
.source-tag.src-intake{ background:var(--slate-pale); color:var(--slate); border-color:#C9DCE9; }
.source-tag.src-dos{ background:var(--forest-pale); color:var(--forest); border-color:var(--forest-bord); }
.source-tag.src-admin{ background:var(--canvas-mid); color:var(--ink); border-color:var(--canvas-dark); }
.source-tag.src-agent{ background:var(--gilt); color:var(--forest); font-weight:600; }

.claimid{ font-family:var(--fm); font-size:10.5px; color:var(--ink-faint); letter-spacing:.02em; }

/* intake banner */
.intake{ background:linear-gradient(120deg,var(--forest),var(--forest-mid)); color:var(--pure); border-radius:var(--r-lg); padding:22px 26px; box-shadow:var(--shadow); }
.intake-tag{ font-family:var(--fm); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--gilt); }
.intake-line{ font-family:var(--fd); font-size:21px; line-height:1.4; margin-top:10px; }
.intake-line b{ color:var(--gilt); font-weight:700; }
.intake-line .ok{ color:#9FD8B8; }
.intake-line .warn{ color:#E8B98C; }
.intake-note{ font-family:var(--fm); font-size:11px; color:var(--forest-bord); margin-top:10px; }

/* prevent two columns */
.prevent-cols{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px; }
@media (max-width:980px){ .prevent-cols{ grid-template-columns:1fr; } }
.pcol{ background:var(--pure); border:1px solid var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden; }
.pcol-head{ display:flex; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid var(--canvas-mid); }
.pcol-head.release{ background:var(--ok-pale); }
.pcol-head.fix{ background:var(--warn-pale); }
.pcol-head .pcol-title{ font-family:var(--fd); font-weight:700; font-size:17px; color:var(--forest); }
.pcol-head.fix .pcol-title{ color:var(--warn); }
.pcol-head .pcol-sub{ font-family:var(--fm); font-size:10.5px; color:var(--ink-soft); }
.pcol-head .pcol-n{ margin-left:auto; font-family:var(--fm); font-size:12px; font-weight:600; color:var(--forest); background:var(--pure); border:1px solid var(--canvas-dark); border-radius:20px; padding:2px 10px; }

.prow{ display:grid; grid-template-columns:1fr auto; gap:12px 16px; padding:14px 18px; align-items:start; }
.prow + .prow{ border-top:1px solid var(--canvas-mid); }
.prow .prow-play{ font-size:14.5px; color:var(--ink); font-weight:500; line-height:1.4; }
.prow .prow-play b{ color:var(--forest); font-weight:700; }
.prow .prow-detail{ font-size:12.5px; color:var(--ink-soft); margin-top:5px; line-height:1.45; }
.prow .prow-meta{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:9px; }
.prow .prow-side{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; }

/* safety-net */
.snet{ display:flex; align-items:center; gap:14px; padding:13px 20px; }
.snet + .snet{ border-top:1px solid var(--canvas-mid); }
.snet.agent{ background:rgba(196,151,62,0.06); }
.snet-l{ display:flex; align-items:flex-start; gap:12px; flex:1; min-width:0; }
.snet-flag{ font-size:14px; font-weight:600; color:var(--ink); line-height:1.4; }
.snet-note{ font-size:12.5px; color:var(--ink-soft); margin-top:4px; line-height:1.45; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }

/* yield trend */
.yield-card{ padding:20px 24px; }
.yield-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.yield-title{ font-family:var(--fd); font-weight:600; font-size:17px; color:var(--forest); }
.yield-sub{ font-size:12.5px; color:var(--ink-soft); margin-top:5px; max-width:560px; line-height:1.45; }
.yield-now{ text-align:right; flex-shrink:0; }
.yield-now .yn-v{ font-family:var(--fd); font-weight:800; font-size:28px; color:var(--gilt-dark); display:block; line-height:1; }
.yield-now .yn-l{ font-family:var(--fm); font-size:10px; color:var(--ink-soft); }
.yield-plot{ margin-top:14px; }
.yield-callout{ display:flex; align-items:center; gap:9px; margin-top:8px; font-size:13.5px; font-weight:600; color:var(--forest); background:var(--forest-pale); border-radius:9px; padding:11px 14px; }
.yield-callout .yc-ic{ color:var(--gilt-dark); }

/* roi headline */
.roi-headline{ display:grid; grid-template-columns:1.1fr 1.4fr; gap:16px; }
@media (max-width:820px){ .roi-headline{ grid-template-columns:1fr; } }
.roi-total{ background:linear-gradient(150deg,var(--forest),var(--forest-mid)); color:var(--pure); border-radius:var(--r-lg); padding:24px 28px; box-shadow:var(--shadow); display:flex; flex-direction:column; justify-content:center; }
.roi-total .rt-l{ font-family:var(--fm); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gilt); }
.roi-total .rt-v{ font-family:var(--fd); font-weight:800; font-size:46px; line-height:1; margin-top:12px; }
.roi-split{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.rs-cell{ background:var(--pure); border:1px solid var(--canvas-dark); border-radius:var(--r); box-shadow:var(--shadow-sm); padding:20px 22px; display:flex; flex-direction:column; justify-content:center; }
.rs-cell .rs-l{ font-family:var(--fm); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
.rs-cell .rs-v{ font-family:var(--fd); font-weight:800; font-size:32px; color:var(--money); line-height:1; margin-top:10px; }
.rs-cell .rs-v.gilt{ color:var(--gilt-dark); }
.rs-cell .rs-s{ font-size:12px; color:var(--ink-soft); margin-top:9px; line-height:1.4; }

/* roi table */
.roi-table-wrap{ overflow-x:auto; padding:0; }
.roi-table{ width:100%; border-collapse:collapse; font-size:13px; min-width:820px; }
.roi-table thead th{ font-family:var(--fm); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); text-align:left; padding:13px 14px; border-bottom:1px solid var(--canvas-dark); font-weight:600; }
.roi-table th.num, .roi-table td.num{ text-align:right; }
.roi-table tbody td{ padding:13px 14px; border-bottom:1px solid var(--canvas-mid); vertical-align:top; color:var(--ink); }
.roi-table tbody tr:last-child td{ border-bottom:none; }
.roi-table tbody tr:hover{ background:var(--canvas); }
.roi-table .rec-id{ font-family:var(--fm); font-size:11px; font-weight:600; color:var(--forest); display:block; }
.roi-table .roi-play{ max-width:280px; line-height:1.4; }
.roi-table .prev-tag{ font-family:var(--fm); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gilt-dark); background:var(--gilt-pale); padding:2px 7px; border-radius:5px; margin-left:7px; }
.roi-table .mono{ font-family:var(--fm); font-weight:600; }
.roi-table .realized{ color:var(--money); }
.roi-table .acted{ display:block; font-size:12px; margin-bottom:4px; }
.roi-table .roi-link{ color:var(--forest); font-size:14px; }
.roi-table .roi-link:hover{ color:var(--gilt-dark); }

.oc{ font-family:var(--fm); font-size:10px; font-weight:600; padding:3px 9px; border-radius:20px; white-space:nowrap; }
.oc.oc-realized{ background:var(--ok-pale); color:var(--ok); }
.oc.oc-open{ background:var(--slate-pale); color:var(--slate); }
.oc.oc-other{ background:var(--canvas-mid); color:var(--ink-soft); }
.oc.oc-not{ background:var(--deny-pale); color:var(--deny); }
.oc.oc-un{ background:var(--canvas-mid); color:var(--ink-faint); }
.conf{ font-family:var(--fm); font-size:10.5px; font-weight:600; }
.conf-high{ color:var(--ok); }
.conf-medium{ color:var(--warn); }
.conf-low{ color:var(--ink-faint); }

.roi-subtotal{ display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:16px; background:var(--forest-pale); border:1px solid var(--forest-bord); border-radius:var(--r); padding:18px 24px; }
.roi-subtotal .rsub-l{ font-family:var(--fd); font-weight:700; font-size:18px; color:var(--forest); }
.roi-subtotal .rsub-note{ display:block; font-family:var(--fm); font-size:10.5px; font-weight:400; color:var(--ink-soft); margin-top:5px; letter-spacing:.01em; max-width:560px; line-height:1.4; }
.roi-subtotal .rsub-v{ font-family:var(--fd); font-weight:800; font-size:34px; color:var(--money); flex-shrink:0; }

/* toast */
.toast{ position:fixed; bottom:26px; left:50%; transform:translateX(-50%); z-index:90; background:var(--forest); color:var(--pure);
  padding:14px 22px; border-radius:var(--r); box-shadow:var(--shadow-lg); display:flex; align-items:center; gap:13px; max-width:520px;
  opacity:0; visibility:hidden; }
.toast.show{ opacity:1; visibility:visible; }
.toast .tk{ width:24px; height:24px; border-radius:50%; background:var(--gilt); color:var(--forest); display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; }
.toast .tx{ font-size:14px; line-height:1.4; }
.toast .tx b{ font-weight:600; color:var(--gilt); }
.toast .tx .tsub{ font-family:var(--fm); font-size:11px; color:var(--forest-bord); margin-top:2px; }

/* ── responsive ── */
@media (max-width:1080px){
  .tiles{ grid-template-columns:repeat(2,1fr); }
  .pnl{ grid-template-columns:repeat(2,1fr); }
  .pnl-cell:nth-child(3){ border-left:none; }
  .pnl-cell:nth-child(odd){ border-left:none; }
  .pnl-cell:nth-child(n+3){ border-top:1px solid rgba(168,204,186,.18); }
  .analytics{ grid-template-columns:1fr; }
  .lrow{ grid-template-columns:1fr; gap:12px; }
  .lrow .lr-arrow{ transform:rotate(90deg); justify-self:start; }
}
@media (max-width:820px){
  .login{ grid-template-columns:1fr; }
  .login-aside{ display:none; }
  .land-hero h1{ font-size:48px; }
  .neu-line{ font-size:20px; }
}
@media (max-width:680px){
  .tiles{ grid-template-columns:1fr; }
  .pnl{ grid-template-columns:1fr; }
  .pnl-cell{ border-left:none !important; }
  .pnl-cell + .pnl-cell{ border-top:1px solid rgba(168,204,186,.18); }
  .work,.appbar-in,.tabs-in{ padding-left:18px; padding-right:18px; }
  .arow,.wl-row{ grid-template-columns:1fr; }
  .arow .a-side,.wl-row .wr-side{ align-items:flex-start; }
  .land-nav .navlinks{ display:none; }
  .tabs-in{ overflow-x:auto; }
}
