
  :root{
    --bg:#f6f7f9; --panel:#ffffff; --panel2:#fbfcfd; --ink:#1a2230; --muted:#5c6a7e;
    --line:#e3e8ef; --accent:#2563cf; --accent-ink:#fff; --active:#eaf1ff; --active-ink:#123a80;
    --field:#eef4ff; --field-line:#b9cdf0; --shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
    --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  }
  :root[data-theme=dark]{
    --bg:#0e131b; --panel:#151c26; --panel2:#121924; --ink:#e6ecf5; --muted:#93a1b5;
    --line:#25303f; --accent:#4b8bf5; --accent-ink:#0b1220; --active:#18263b; --active-ink:#bcd4ff;
    --field:#1a2941; --field-line:#31527f; --shadow:0 1px 2px rgba(0,0,0,.4);
  }
  *{box-sizing:border-box}
  html,body{height:100%}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5}
  kbd{font-family:var(--mono);font-size:.8em;background:var(--panel);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:1px 5px}

  /* header */
  header{display:flex;align-items:center;gap:14px;padding:12px 18px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
  .brand{font-weight:700;letter-spacing:-.2px;display:flex;align-items:center;gap:9px;white-space:nowrap}
  .brand .dot{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--accent),#7aa7f7);display:inline-block}
  .searchwrap{flex:1;position:relative;max-width:560px}
  #search{width:100%;padding:9px 12px 9px 34px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--ink);font-size:15px;outline:none}
  #search:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}
  .searchwrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);opacity:.5}
  .hkbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);opacity:.6}
  .spacer{flex:1}
  header button.ghost{background:transparent;border:1px solid var(--line);color:var(--muted);padding:8px 12px;border-radius:9px;cursor:pointer;font-size:13px;white-space:nowrap}
  header button.ghost:hover{color:var(--ink);border-color:var(--accent)}

  /* categories / modality chips */
  #cats{
    display:flex;flex-direction:column;gap:8px;padding:10px 18px;
    background:var(--panel);border-bottom:1px solid var(--line);
  }
  .cat-row{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
  .group-toggle{
    display:inline-flex;align-items:center;gap:0;border:1px solid var(--line);
    border-radius:999px;overflow:hidden;align-self:flex-start;background:var(--panel2);
  }
  .group-btn{
    background:transparent;border:0;color:var(--muted);padding:5px 14px;cursor:pointer;
    font-size:12.5px;font-weight:600;font-family:var(--sans);
  }
  .group-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 6%,transparent)}
  .group-btn.active{
    background:var(--accent);color:var(--accent-ink);
  }
  .cat{background:var(--panel2);border:1px solid var(--line);color:var(--muted);padding:5px 11px;border-radius:999px;cursor:pointer;font-size:13px}
  .cat:hover{color:var(--ink)}
  .cat.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
  .kind-pill.dim{
    opacity:.75;font-weight:600;
    background:var(--panel2);border-color:var(--line);color:var(--muted);
  }

  /* layout */
  main{display:grid;grid-template-columns:300px 1fr;gap:0;height:calc(100vh - 118px)}
  #sidebar{border-right:1px solid var(--line);overflow-y:auto;background:var(--panel2)}
  .listmeta{padding:9px 16px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel2)}
  .grp{padding:6px 0}
  .grph{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:8px 16px 4px}
  .item{display:block;width:100%;text-align:left;background:transparent;border:0;border-left:3px solid transparent;padding:8px 16px;cursor:pointer;color:var(--ink);font-size:14.5px}
  .item:hover{background:var(--active)}
  .item.active{background:var(--active);border-left-color:var(--accent);color:var(--active-ink);font-weight:600}
  .empty{padding:24px 16px;color:var(--muted)}

  /* detail */
  #detail{overflow-y:auto;padding:22px 26px 60px}
  .placeholder{color:var(--muted);margin-top:40px;font-size:16px}
  .dhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
  .dhead h2{margin:0;font-size:22px;letter-spacing:-.3px}
  .dcat{color:var(--muted);font-size:13px;margin-top:3px}
  button.primary{background:var(--accent);color:var(--accent-ink);border:0;padding:10px 16px;border-radius:9px;cursor:pointer;font-weight:600;font-size:14px;box-shadow:var(--shadow);white-space:nowrap}
  button.primary:hover{filter:brightness(1.05)}
  button.primary:active{transform:translateY(1px)}

  .vtabs{display:flex;gap:6px;margin:0 0 16px;flex-wrap:wrap}
  .vtab{background:var(--panel2);border:1px solid var(--line);color:var(--muted);padding:6px 13px;border-radius:8px;cursor:pointer;font-size:13.5px}
  .vtab.active{background:var(--active);border-color:var(--accent);color:var(--active-ink);font-weight:600}

  .section{margin-bottom:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
  .sechead{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--panel2);border-bottom:1px solid var(--line)}
  .sech{font-size:12px;font-weight:700;letter-spacing:.7px;color:var(--muted)}
  .mini{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:7px;padding:3px 10px;font-size:12px;cursor:pointer}
  .mini:hover{color:var(--accent);border-color:var(--accent)}
  .lines{padding:10px 14px}
  .line{padding:3px 0;line-height:1.6}
  .dfoot{margin-top:22px;color:var(--muted);font-size:12.5px;border-top:1px dashed var(--line);padding-top:12px}
  .tok{font-family:var(--mono);font-size:.85em;background:var(--field);border:1px solid var(--field-line);border-radius:4px;padding:0 4px}

  /* inline fields */
  .fld{font-family:var(--sans);font-size:14.5px;color:var(--ink);background:var(--field);border:1px solid var(--field-line);border-radius:5px;padding:0 5px;margin:0 1px;min-height:22px;line-height:1.4}
  .fld:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}
  select.fld{cursor:pointer}
  .toggletok{cursor:pointer;color:var(--accent);font-weight:600;border-bottom:1px dashed var(--accent);padding:0 1px;border-radius:3px;user-select:none}
  .toggletok:hover{background:var(--active)}
  .toggletok:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .toggledemo{cursor:default;color:var(--accent);font-weight:600;border-bottom:1px dashed var(--accent);border-radius:3px}

  /* Trauma checklist */
  .checkline{display:flex;align-items:flex-start;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);line-height:1.55}
  .checkline:last-child{border-bottom:0}
  .checkline input[type=checkbox]{margin-top:3px;width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}
  .checkline .cl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
  .checkline .cl-norm{cursor:pointer}
  .checkline.unchecked .cl-norm{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line)}
  .checkline .cl-abn{
    display:none;width:100%;background:var(--field);border:1px solid var(--field-line);color:var(--ink);
    border-radius:7px;padding:7px 9px;font-size:14px;font-family:var(--sans);line-height:1.45;
  }
  .checkline.unchecked .cl-abn{display:block}
  .checkline .cl-abn:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}
  .checkline.unchecked{background:color-mix(in srgb,#d97706 6%,transparent);border-radius:8px;margin:2px 0;padding-left:8px;padding-right:8px}
  .checkline.optional-line.omitted{
    background:transparent;opacity:.72;
  }
  .checkline.optional-line.omitted .cl-norm{
    text-decoration:none;color:var(--muted);font-style:italic;
  }
  .checkline.optional-line.omitted .cl-abn{display:none}
  .opt-tag{
    color:var(--muted)!important;background:var(--panel2)!important;border-color:var(--line)!important;
  }
  .regionoff{opacity:.55}

  /* Thyroid TI-RADS */
  .nodcard{border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden;background:var(--panel)}
  .nodhead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--panel2);border-bottom:1px solid var(--line);flex-wrap:wrap}
  .nodhead h3{margin:0;font-size:15px}
  .nodbody{padding:12px 14px}
  .thline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
  .thline label.k{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);min-width:64px}
  .dims{display:flex;align-items:center;gap:6px}
  .dims input{width:56px;background:var(--field);border:1px solid var(--field-line);color:var(--ink);border-radius:6px;padding:5px 6px;font-size:14px;text-align:center;font-variant-numeric:tabular-nums}
  .dims .x{color:var(--muted);font-size:13px}
  .thloc{background:var(--field);border:1px solid var(--field-line);color:var(--ink);border-radius:6px;padding:6px 8px;font-size:14px;font-family:var(--sans)}
  .catrow{padding:9px 0;border-top:1px solid var(--line)}
  .catrow .clabel{font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--muted);margin-bottom:6px;text-transform:uppercase}
  .catrow .clabel .pts{color:var(--accent);margin-left:6px;font-weight:600}
  .optchip{background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:4px 11px;font-size:13px;cursor:pointer;margin:0 5px 5px 0;display:inline-block}
  .optchip .op{color:var(--muted);font-size:11px;margin-left:5px}
  .optchip.on{background:var(--active);border-color:var(--accent);color:var(--active-ink);font-weight:600}
  .optchip.on .op{color:var(--active-ink)}
  .trbadge{font-weight:700;font-size:13px;padding:3px 12px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
  .trscore{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-right:2px}
  .tr1,.tr2{background:color-mix(in srgb,#16a34a 15%,transparent);color:#15803d;border-color:color-mix(in srgb,#16a34a 34%,transparent)}
  .tr3{background:color-mix(in srgb,#d97706 16%,transparent);color:#b45309;border-color:color-mix(in srgb,#d97706 38%,transparent)}
  .tr4{background:color-mix(in srgb,#ea580c 16%,transparent);color:#c2410c;border-color:color-mix(in srgb,#ea580c 40%,transparent)}
  .tr5{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626;border-color:color-mix(in srgb,#dc2626 42%,transparent)}
  :root[data-theme=dark] .tr1,:root[data-theme=dark] .tr2{color:#4ade80}
  :root[data-theme=dark] .tr3{color:#fbbf24}
  :root[data-theme=dark] .tr4{color:#fb923c}
  :root[data-theme=dark] .tr5{color:#f87171}
  .threc{font-size:13px;color:var(--ink);margin-top:6px;padding:8px 10px;background:var(--panel2);border-radius:8px;border:1px solid var(--line)}
  .linkbtn{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:13px;padding:2px 4px}
  .linkbtn:hover{text-decoration:underline}
  .delnod{color:var(--muted);border:1px solid var(--line);background:transparent;border-radius:7px;padding:3px 9px;font-size:12px;cursor:pointer}
  .delnod:hover{color:#dc2626;border-color:#dc2626}

  /* toast */
  #toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#0f1826;color:#fff;padding:10px 18px;border-radius:10px;font-size:14px;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:20}
  #toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
  #toast::before{content:"✓ ";color:#4ade80;font-weight:700}
  #toast.warn::before{content:"! ";color:#fbbf24}

  /* US smart worksheet */
  .usbar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:12px 14px;margin-bottom:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
  .ctrl{display:flex;flex-direction:column;gap:4px}
  .ctrl>label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
  .ctrl input[type=number],.ctrl select{background:var(--field);border:1px solid var(--field-line);color:var(--ink);border-radius:7px;padding:6px 8px;font-size:14px;font-family:var(--sans)}
  .ctrl input[type=number]{width:78px}
  .ctrl.check{flex-direction:row;align-items:center;gap:7px}
  .ctrl.check input{width:16px;height:16px;accent-color:var(--accent)}
  .ctrl.check label{text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--ink)}
  .usnote{flex:1;min-width:160px;font-size:12.5px;color:var(--muted);align-self:center}
  .urow{display:grid;grid-template-columns:132px minmax(160px,auto) 1fr;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
  .urow:last-child{border-bottom:0}
  .ulabel{font-weight:600;font-size:14px}
  .umeasure{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .umeasure .pre{font-size:12.5px;color:var(--muted)}
  .umeasure input{width:62px;background:var(--field);border:1px solid var(--field-line);color:var(--ink);border-radius:6px;padding:4px 6px;font-size:14px;text-align:center;font-variant-numeric:tabular-nums}
  .udesc{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:6px 9px;font-size:14px;font-family:var(--sans)}
  .udesc:focus,.umeasure input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}
  .refchip{font-size:11.5px;font-family:var(--mono);padding:2px 8px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
  .refchip.neutral{background:var(--panel2);color:var(--muted);border-color:var(--line)}
  .refchip.ok{background:color-mix(in srgb,#16a34a 12%,transparent);color:#15803d;border-color:color-mix(in srgb,#16a34a 32%,transparent)}
  .refchip.warn{background:color-mix(in srgb,#dc2626 13%,transparent);color:#dc2626;border-color:color-mix(in srgb,#dc2626 42%,transparent);font-weight:700}
  .refchip.bad{background:color-mix(in srgb,#dc2626 18%,transparent);color:#b91c1c;border-color:color-mix(in srgb,#dc2626 50%,transparent);font-weight:700}
  :root[data-theme=dark] .refchip.ok{color:#4ade80}
  :root[data-theme=dark] .refchip.warn{color:#f87171}
  :root[data-theme=dark] .refchip.bad{color:#f87171}
  .hccbox{width:100%;padding:10px 12px;border:1px dashed var(--field-line);border-radius:8px;background:var(--panel2)}
  .hcchdr{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:8px}
  .chips{display:flex;flex-wrap:wrap;gap:6px}
  .chip{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:4px 11px;font-size:13px;cursor:pointer}
  .chip.on{background:var(--active);border-color:var(--accent);color:var(--active-ink);font-weight:600}
  .sechbtns{display:flex;align-items:center;gap:8px}
  .sugbadge{font-size:11px;color:var(--accent);font-weight:700;white-space:nowrap}
  .impressionarea{width:100%;min-height:64px;resize:vertical;background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:8px 9px;font-size:14px;font-family:var(--sans);line-height:1.5}
  .impressionarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}
  .previewsec{background:var(--panel2)}
  .previewarea{display:block;width:100%;min-height:190px;resize:vertical;background:var(--panel2);border:0;color:var(--ink);padding:12px 14px;font-size:13px;font-family:var(--mono);line-height:1.6;white-space:pre-wrap}
  .previewarea:focus{outline:none}

  /* Contextual reporting */
  .ctx-banner{
    display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;
    padding:14px 16px;margin-bottom:16px;border-radius:14px;
    background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--panel)),var(--panel));
    border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
    box-shadow:var(--shadow);
  }
  .ctx-banner-title{font-weight:700;font-size:14.5px;letter-spacing:-.1px;display:flex;align-items:center;gap:8px}
  .ctx-banner-title .pill{
    font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
    padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);
  }
  .ctx-banner-sub{font-size:12.5px;color:var(--muted);margin-top:3px;max-width:52ch;line-height:1.45}
  .ctx-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .ctx-toggle{
    background:var(--panel);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));
    color:var(--active-ink);padding:8px 14px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;
  }
  .ctx-toggle:hover{border-color:var(--accent);background:var(--active)}
  .ctx-toggle.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
  .ctx-toggle .kbd-hint{opacity:.7;font-weight:500;font-size:11px;margin-left:6px;font-family:var(--mono)}
  .ctx-panel{
    display:none;margin-bottom:16px;padding:14px 16px;border-radius:14px;
    background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);
  }
  .ctx-panel.open{display:block;animation:ctxIn .18s ease-out}
  @keyframes ctxIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
  .ctx-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
  .ctx-panel-head h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.55px;color:var(--muted)}
  .ctx-hint{font-size:12.5px;color:var(--muted);margin:0 0 12px;line-height:1.45}
  .ctx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
  .ctx-card{
    text-align:left;background:var(--panel2);border:1.5px solid var(--line);border-radius:12px;
    padding:11px 12px;cursor:pointer;color:var(--ink);transition:border-color .12s,background .12s,box-shadow .12s;
    font-family:var(--sans);
  }
  .ctx-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--active)}
  .ctx-card.on{
    border-color:var(--accent);background:var(--active);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);
  }
  .ctx-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
  .ctx-card-name{font-weight:700;font-size:13.5px;letter-spacing:-.1px}
  .ctx-check{
    width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line);flex-shrink:0;
    display:grid;place-items:center;font-size:11px;color:transparent;background:var(--panel);
  }
  .ctx-card.on .ctx-check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
  .ctx-card-desc{font-size:12px;color:var(--muted);line-height:1.4}
  .ctx-suggest{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
  .ctx-suggest label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px}
  .ctx-suggest-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .ctx-suggest input{
    flex:1;min-width:180px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;
    background:var(--panel2);color:var(--ink);font-size:13.5px;font-family:var(--sans);
  }
  .ctx-suggest input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
  .ctx-suggest-hits{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;min-height:0}
  .ctx-suggest-hit{
    font-size:12px;padding:3px 10px;border-radius:999px;cursor:pointer;
    background:color-mix(in srgb,var(--accent) 10%,var(--panel2));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));
    color:var(--active-ink);font-weight:600;
  }
  .ctx-suggest-hit:hover{background:var(--active)}
  .ctx-activebar{
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;
    padding:8px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);
  }
  .ctx-activebar .lab{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-right:2px}
  .ctx-chip{
    display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 11px;border-radius:999px;
    background:var(--active);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));
    color:var(--active-ink);font-size:12.5px;font-weight:600;
  }
  .ctx-chip button{
    background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;
    padding:0 0 0 2px;border-radius:4px;
  }
  .ctx-chip button:hover{color:#dc2626}
  .ctx-mode-badge{
    display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;
    padding:3px 9px;border-radius:999px;letter-spacing:.2px;
  }
  .ctx-mode-badge.generic{background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
  .ctx-mode-badge.context{
    background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--active-ink);
    border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));
  }
  .dhead-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}
  .dhead-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .item .ititle{display:flex;align-items:center;gap:7px;justify-content:space-between}
  .item .ctx-dot{
    flex-shrink:0;font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;
    padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);
    color:var(--active-ink);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
  }
  .sticky-copy{
    position:sticky;bottom:0;z-index:4;margin:18px -26px -60px;padding:12px 26px 18px;
    background:linear-gradient(to top,var(--bg) 70%,transparent);display:flex;justify-content:flex-end;gap:8px;
  }
  /* Sentence rows — dropdown + optional checkbox */
  .srows{padding:4px 8px 8px}
  .srow{
    display:grid;grid-template-columns:22px minmax(118px,148px) 1fr;gap:10px;align-items:start;
    padding:9px 8px;border-bottom:1px solid var(--line);border-radius:8px;margin:0;
  }
  .srow:last-child{border-bottom:0}
  .srow:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}
  .srow.off{opacity:.42}
  .srow.off .srow-txt{text-decoration:line-through;text-decoration-color:var(--line);color:var(--muted)}
  /* Contextual pack lines (MR Brain) — soft violet tint vs generic baseline */
  .srow.ctx{
    background:color-mix(in srgb,#7c3aed 7%,transparent);
    box-shadow:inset 3px 0 0 color-mix(in srgb,#7c3aed 42%,transparent);
  }
  .srow.ctx:hover{
    background:color-mix(in srgb,#7c3aed 11%,transparent);
  }
  .srow.ctx .srow-dd{
    border-color:color-mix(in srgb,#7c3aed 28%,var(--field-line));
    background:color-mix(in srgb,#7c3aed 6%,var(--field));
  }
  .srow.abn{
    background:color-mix(in srgb,#d97706 7%,transparent);
  }
  .srow.abn .srow-dd{border-color:color-mix(in srgb,#d97706 45%,var(--line));font-weight:600}
  /* Abnormal + contextual: keep amber wash, keep violet edge so pack origin stays visible */
  .srow.ctx.abn{
    background:color-mix(in srgb,#d97706 8%,color-mix(in srgb,#7c3aed 5%,transparent));
    box-shadow:inset 3px 0 0 color-mix(in srgb,#7c3aed 48%,transparent);
  }
  .srow-cb{
    width:16px;height:16px;margin-top:7px;accent-color:var(--accent);cursor:pointer;
  }
  .srow.ctx .srow-cb{accent-color:#7c3aed}
  .srow-cb.hidden{visibility:hidden;pointer-events:none}
  .srow-dd{
    width:100%;margin-top:2px;background:var(--field);border:1px solid var(--field-line);color:var(--ink);
    border-radius:7px;padding:5px 6px;font-size:12.5px;font-family:var(--sans);cursor:pointer;
  }
  .srow-dd:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}
  .srow-txt{font-size:14.5px;line-height:1.55;padding-top:4px;color:var(--ink)}
  .srow-free{
    width:100%;margin-top:6px;background:var(--panel2);border:1px solid var(--line);color:var(--ink);
    border-radius:7px;padding:7px 9px;font-size:14px;font-family:var(--sans);line-height:1.45;
  }
  .srow-free:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}
  .srow-tag{
    display:inline-block;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;
    color:#6d28d9;margin-left:6px;opacity:.9;
    padding:1px 6px;border-radius:999px;
    background:color-mix(in srgb,#7c3aed 12%,transparent);
    border:1px solid color-mix(in srgb,#7c3aed 22%,transparent);
  }
  :root[data-theme=dark] .srow.ctx{
    background:color-mix(in srgb,#a78bfa 9%,transparent);
    box-shadow:inset 3px 0 0 color-mix(in srgb,#a78bfa 50%,transparent);
  }
  :root[data-theme=dark] .srow.ctx:hover{
    background:color-mix(in srgb,#a78bfa 14%,transparent);
  }
  :root[data-theme=dark] .srow.ctx .srow-dd{
    border-color:color-mix(in srgb,#a78bfa 30%,var(--field-line));
    background:color-mix(in srgb,#a78bfa 8%,var(--field));
  }
  :root[data-theme=dark] .srow.ctx.abn{
    background:color-mix(in srgb,#d97706 10%,color-mix(in srgb,#a78bfa 6%,transparent));
  }
  :root[data-theme=dark] .srow-tag{
    color:#c4b5fd;
    background:color-mix(in srgb,#a78bfa 14%,transparent);
    border-color:color-mix(in srgb,#a78bfa 28%,transparent);
  }
  @media (max-width:700px){
    .srow{grid-template-columns:22px 1fr;gap:6px 10px}
    .srow-dd{grid-column:2}
    .srow-txt{grid-column:1/-1;padding-top:0}
  }

  /* US KUB */
  .kub-grid{display:flex;flex-direction:column;gap:0}
  .kub-row{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:start;padding:12px 4px;border-bottom:1px solid var(--line)}
  .kub-row:last-child{border-bottom:0}
  .kub-label{font-weight:600;font-size:14.5px;padding-top:6px}
  .kub-fields{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
  .kub-fields input[type=text],.kub-fields input[type=number]{
    background:var(--field);border:1px solid var(--field-line);color:var(--ink);border-radius:7px;
    padding:6px 8px;font-size:14px;font-family:var(--sans);
  }
  .kub-fields input.len{width:64px;text-align:center;font-variant-numeric:tabular-nums}
  .kub-fields .unit{font-size:12.5px;color:var(--muted)}
  .kub-fields .desc{flex:1;min-width:180px}
  .kub-jets{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:10px 4px}
  .kub-jets label{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:14px}
  .kub-jets input{width:16px;height:16px;accent-color:var(--accent)}
  .kub-chart-wrap{padding:8px 4px 4px}
  .kub-chart-wrap svg,.kub-chart-svg{
    display:block;width:100%;max-width:560px;min-height:220px;height:auto;
    background:var(--panel2);border:1px solid var(--line);border-radius:10px;color:var(--text)
  }
  .kub-chart-note{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45;max-width:60ch}
  .kub-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;color:var(--muted)}
  .kub-legend span{display:inline-flex;align-items:center;gap:5px}
  .kub-legend i{display:inline-block;width:10px;height:10px;border-radius:50%}

  /* Bone age */
  .ba-sex{display:flex;gap:8px;flex-wrap:wrap}
  .ba-sexbtn{
    flex:1;min-width:120px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);
    background:var(--panel2);color:var(--ink);font-weight:700;font-size:15px;cursor:pointer;font-family:var(--sans);
  }
  .ba-sexbtn:hover{border-color:var(--accent)}
  .ba-sexbtn.on-m{background:color-mix(in srgb,#2563cf 16%,var(--panel));border-color:#2563cf;color:var(--active-ink)}
  .ba-sexbtn.on-f{background:color-mix(in srgb,#db2777 14%,var(--panel));border-color:#db2777;color:#9d174d}
  :root[data-theme=dark] .ba-sexbtn.on-f{color:#f9a8d4}
  .ba-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
  .ba-field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:4px}
  .ba-field input,.ba-field select{
    width:100%;background:var(--field);border:1px solid var(--field-line);color:var(--ink);
    border-radius:8px;padding:8px 10px;font-size:14px;font-family:var(--sans);
  }
  .ba-field input:focus,.ba-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}
  .ba-plates{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow-y:auto;padding:4px 2px}
  .ba-plate{
    border:1px solid var(--line);background:var(--panel2);color:var(--ink);border-radius:999px;
    padding:6px 11px;font-size:12.5px;cursor:pointer;font-family:var(--sans);white-space:nowrap;
  }
  .ba-plate:hover{border-color:var(--accent);background:var(--active)}
  .ba-plate.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}
  .ba-viewer{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:14px;align-items:start;
  }
  @media (max-width:900px){.ba-viewer{grid-template-columns:1fr}}
  .ba-main{
    background:#0b0f14;border:1px solid var(--line);border-radius:14px;overflow:hidden;
    display:flex;flex-direction:column;min-height:360px;
  }
  .ba-main-imgwrap{
    flex:1;display:flex;align-items:center;justify-content:center;padding:12px;min-height:320px;
    background:radial-gradient(ellipse at center,#1a2330 0%,#0b0f14 70%);
  }
  .ba-main img{
    max-width:100%;max-height:min(62vh,560px);object-fit:contain;border-radius:4px;
    box-shadow:0 8px 28px rgba(0,0,0,.45);cursor:zoom-in;
  }
  .ba-main img:hover{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}
  .ba-lightbox{
    position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.92);
    display:flex;align-items:center;justify-content:center;padding:8px;
    cursor:zoom-out;animation:ctxIn .15s ease-out;
  }
  .ba-lightbox img{
    /* native plates are ~500×800 — blow up to nearly full viewport */
    height:96vh;width:auto;max-width:98vw;
    object-fit:contain;border-radius:4px;
    box-shadow:0 12px 48px rgba(0,0,0,.55);cursor:default;
    image-rendering:auto;
  }
  .ba-lightbox-close{
    position:fixed;top:14px;right:18px;z-index:51;background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:9px;padding:8px 14px;
    font-size:14px;font-weight:600;cursor:pointer;font-family:var(--sans);
  }
  .ba-lightbox-close:hover{background:rgba(255,255,255,.2)}
  .ba-lightbox-cap{
    position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:51;
    color:rgba(255,255,255,.85);font-size:13px;font-weight:600;pointer-events:none;
    text-shadow:0 1px 4px rgba(0,0,0,.6);
  }
  .ba-main-bar{
    display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
    padding:10px 12px;background:var(--panel);border-top:1px solid var(--line);
  }
  .ba-main-bar .lab{font-weight:700;font-size:14px}
  .ba-main-bar .sub{font-size:12px;color:var(--muted)}
  .ba-nav{display:flex;gap:6px}
  .ba-thumbs{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:7px;
    max-height:min(62vh,560px);overflow-y:auto;padding:2px;
  }
  .ba-thumb{
    border:2px solid var(--line);border-radius:10px;padding:0;overflow:hidden;cursor:pointer;
    background:var(--panel2);position:relative;aspect-ratio:5/8;font-family:var(--sans);
  }
  .ba-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05)}
  .ba-thumb .cap{
    position:absolute;left:0;right:0;bottom:0;padding:3px 4px;font-size:10px;font-weight:700;
    text-align:center;background:rgba(0,0,0,.62);color:#fff;line-height:1.2;
  }
  .ba-thumb:hover{border-color:var(--accent)}
  .ba-thumb.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}
  .ba-thumb.missing{display:grid;place-items:center;color:var(--muted);font-size:11px;padding:6px;text-align:center}
  .ba-sum{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px;
  }
  .ba-stat{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
  .ba-stat .k{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
  .ba-stat .v{font-size:18px;font-weight:700;margin-top:4px;letter-spacing:-.3px}
  .ba-stat.ok .v{color:#15803d}
  .ba-stat.delay .v{color:#2563cf}
  .ba-stat.adv .v{color:#c2410c}
  :root[data-theme=dark] .ba-stat.ok .v{color:#4ade80}
  :root[data-theme=dark] .ba-stat.delay .v{color:#93c5fd}
  :root[data-theme=dark] .ba-stat.adv .v{color:#fb923c}
  .ba-report{
    width:100%;min-height:220px;resize:vertical;background:var(--panel2);border:1px solid var(--line);
    color:var(--ink);border-radius:8px;padding:12px 14px;font-size:14px;font-family:var(--sans);line-height:1.55;
  }
  .ba-report:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}
  .ba-note{font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:8px}


  @media (max-width:760px){
    main{grid-template-columns:1fr;height:auto}
    #sidebar{max-height:38vh;border-right:0;border-bottom:1px solid var(--line)}
    .hkbd{display:none}
    .urow{grid-template-columns:1fr;gap:6px}
  }


/* === RadReport v2 additions === */
.brand .ver{font-size:11px;font-weight:600;color:var(--muted);margin-left:2px}
header .hdr-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
header button.ghost.on{color:var(--accent);border-color:var(--accent);background:var(--active)}
.favstar{background:transparent;border:0;cursor:pointer;font-size:14px;padding:0 2px;line-height:1;opacity:.45;color:var(--muted)}
.favstar:hover,.favstar.on{opacity:1;color:#eab308}
.item .ititle{display:flex;align-items:center;gap:7px;justify-content:space-between}
.item .ititle .iname{flex:1;min-width:0}
.item .badges{display:flex;gap:4px;align-items:center;flex-shrink:0}
.item.nav-hi{background:var(--active);outline:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.kind-pill{
  font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;
  padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);
  color:var(--active-ink);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
}
.kind-pill.tool{background:color-mix(in srgb,#7c3aed 12%,transparent);border-color:color-mix(in srgb,#7c3aed 30%,var(--line));color:#6d28d9}
:root[data-theme=dark] .kind-pill.tool{color:#c4b5fd}
.list-section{padding:4px 0}
.list-section-h{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:10px 16px 4px;font-weight:700}

/* Quick-insert chips for checklist abnormals */
.quickchips{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.qchip{
  font-size:11.5px;padding:3px 9px;border-radius:999px;cursor:pointer;
  background:color-mix(in srgb,#d97706 10%,var(--panel2));border:1px solid color-mix(in srgb,#d97706 32%,var(--line));
  color:var(--ink);font-family:var(--sans);
}
.qchip:hover{background:color-mix(in srgb,#d97706 18%,var(--panel2));border-color:#d97706}

/* One-click laterality (Right / Left / Bilateral) */
.sidepick{
  display:inline-flex;align-items:center;gap:4px;margin:0 2px;vertical-align:middle;
}
.sidebtn{
  font-family:var(--sans);font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;
  border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));
  background:var(--panel2);color:var(--active-ink);cursor:pointer;line-height:1.3;
}
.sidebtn:hover{border-color:var(--accent);background:var(--active)}
.sidebtn.on{
  background:var(--accent);color:var(--accent-ink);border-color:var(--accent);
}
.lat-helpers{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;
}
.lat-helpers .lat-lab{
  font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);
}

/* Decision tools — richer cards */
.tool-grid-wide{grid-template-columns:1fr}
@media (min-width:960px){
  .tool-grid-wide{grid-template-columns:1fr 1fr}
}
.tool-card-lg{grid-column:1/-1}
@media (min-width:960px){
  .tool-card-lg{grid-column:span 1}
}
.tool-note{
  margin:0 0 16px;padding:12px 14px;border-radius:12px;font-size:13.5px;line-height:1.5;
  background:var(--panel2);border:1px solid var(--line);color:var(--ink);
}
.tool-explain{
  font-size:13px;line-height:1.5;color:var(--ink);margin:0 0 12px;padding:10px 12px;
  background:color-mix(in srgb,var(--accent) 6%,var(--panel2));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));
  border-radius:10px;
}
.tool-explain ul{margin:6px 0 0;padding-left:1.2em}
.tool-explain li{margin:3px 0}
.tool-subh{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:4px 0 8px;font-weight:700}
.factor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin-bottom:12px}
.factor{
  display:flex;align-items:flex-start;gap:8px;font-size:13px;cursor:pointer;
  padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);
}
.factor input{margin-top:2px;accent-color:var(--accent)}
.risk-pill{
  display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-weight:700;font-size:13px;
  border:1px solid var(--line);
}
.risk-pill[data-risk=low]{
  background:color-mix(in srgb,#16a34a 12%,transparent);color:#15803d;
  border-color:color-mix(in srgb,#16a34a 30%,var(--line));
}
.risk-pill[data-risk=high]{
  background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c;
  border-color:color-mix(in srgb,#dc2626 30%,var(--line));
}
:root[data-theme=dark] .risk-pill[data-risk=low]{color:#4ade80}
:root[data-theme=dark] .risk-pill[data-risk=high]{color:#f87171}
.tool-result{
  margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);
}
.tool-result.empty{opacity:.75}
.tool-result-sum{font-weight:700;font-size:14.5px;margin-bottom:4px}
.tool-result-action{font-size:13.5px;margin:6px 0;color:var(--ink)}
.tool-result-detail{font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:4px}
.tool-result-paste{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.tool-result-paste .lab{font-size:10.5px;text-transform:uppercase;letter-spacing:.45px;color:var(--muted);font-weight:700}
.tool-result-paste pre{
  margin:6px 0 0;white-space:pre-wrap;font-family:var(--sans);font-size:13.5px;line-height:1.5;
  color:var(--ink);
}
.tool-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.bo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:10px 0 12px}
.bo-card{
  text-align:left;padding:11px 12px;border-radius:12px;border:1.5px solid var(--line);
  background:var(--panel2);cursor:pointer;font-family:var(--sans);color:var(--ink);
}
.bo-card:hover{border-color:var(--accent);background:var(--active)}
.bo-card.on{
  border-color:var(--accent);background:var(--active);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);
}
.bo-card-title{font-weight:700;font-size:14px}
.bo-card-risk{font-size:11.5px;color:var(--muted);margin:2px 0 6px}
.bo-card ul{margin:0;padding-left:1.1em;font-size:11.5px;color:var(--muted);line-height:1.4}
.bo-card-act{font-size:11.5px;font-weight:600;margin-top:8px;color:var(--active-ink)}

/* ASPECTS panel on CT Head */
.asp-panel{border-color:color-mix(in srgb,#7c3aed 28%,var(--line))}
.asp-score{font-family:var(--mono);font-size:13px;color:var(--muted);margin-right:6px}
.asp-score strong{color:var(--ink);font-size:16px}
.asp-side{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.asp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.asp-reg{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;
  padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);
  cursor:pointer;font-family:var(--sans);color:var(--ink);
}
.asp-reg:hover{border-color:var(--accent)}
.asp-reg .asp-id{font-weight:700;font-size:13px}
.asp-reg .asp-name{font-size:11px;color:var(--muted);line-height:1.3}
.asp-reg.hit{
  background:color-mix(in srgb,#dc2626 12%,transparent);
  border-color:color-mix(in srgb,#dc2626 40%,var(--line));
}
.asp-reg.hit .asp-id{color:#b91c1c}
:root[data-theme=dark] .asp-reg.hit .asp-id{color:#f87171}
.asp-summary{margin-top:10px;font-size:13px;color:var(--muted)}

/* Assessed vessels panel (US DVT etc.) */
.assess-panel{border-color:color-mix(in srgb,var(--accent) 20%,var(--line))}
.assess-row{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.assess-row:last-child{margin-bottom:0}
.assess-chips{display:flex;flex-wrap:wrap;gap:7px}
.assess-chip{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  padding:6px 12px;border-radius:999px;border:1px solid var(--line);
  background:var(--panel2);font-size:13px;color:var(--ink);user-select:none;
}
.assess-chip input{width:14px;height:14px;accent-color:var(--accent);margin:0}
.assess-chip.on{
  background:var(--active);border-color:var(--accent);color:var(--active-ink);font-weight:600;
}

/* Measurements panel (US Pelvis etc.) */
.meas-panel{border-color:color-mix(in srgb,var(--accent) 20%,var(--line))}
.meas-grid{display:flex;flex-direction:column;gap:12px}
.meas-group{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.meas-field{display:flex;flex-direction:column;gap:4px;min-width:88px}
.meas-field label{font-size:11px;font-weight:700;letter-spacing:.35px;text-transform:uppercase;color:var(--muted)}
.meas-unit{font-weight:500;text-transform:none;letter-spacing:0;opacity:.8}
.meas-field input{
  width:88px;padding:7px 8px;border:1px solid var(--field-line);border-radius:8px;
  background:var(--field);color:var(--ink);font-size:14.5px;font-family:var(--sans);
  text-align:center;font-variant-numeric:tabular-nums;
}
.meas-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}
.meas-flags{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.meas-flag{
  display:flex;align-items:flex-start;gap:9px;cursor:pointer;font-size:13.5px;color:var(--ink);
  padding:8px 11px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);
}
.meas-flag:has(input:checked){
  border-color:color-mix(in srgb,#d97706 45%,var(--line));
  background:color-mix(in srgb,#d97706 8%,var(--panel2));
}
.meas-flag input{margin-top:2px;width:16px;height:16px;accent-color:#d97706}

/* Support devices panel (CXR) */
.dev-panel{border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}
.dev-bank{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.dev-chip{
  font-family:var(--sans);font-size:13px;padding:7px 12px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);background:var(--panel2);color:var(--ink);
}
.dev-chip:hover{border-color:var(--accent);background:var(--active)}
.dev-chip.on{
  background:var(--active);border-color:var(--accent);color:var(--active-ink);font-weight:600;
}
.dev-chip.open{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}
.dev-empty{font-size:13px;color:var(--muted);padding:4px 0 2px}
.dev-cards{display:flex;flex-direction:column;gap:8px}
.dev-card{
  border:1px solid var(--line);border-radius:12px;background:var(--panel2);overflow:hidden;
}
.dev-card.open{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.dev-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 12px;background:var(--panel);
}
.dev-card-title{
  background:transparent;border:0;font-weight:700;font-size:14px;color:var(--ink);
  cursor:pointer;font-family:var(--sans);padding:0;text-align:left;
}
.dev-card-title:hover{color:var(--accent)}
.dev-remove{color:var(--muted)}
.dev-remove:hover{color:#dc2626;border-color:#dc2626}
.dev-card-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line)}
.dev-opt{display:flex;flex-direction:column;gap:5px}
.dev-opt-lab{font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.dev-tog{
  align-self:flex-start;font-family:var(--sans);font-size:13px;font-weight:600;
  padding:5px 12px;border-radius:999px;cursor:pointer;
  border:1px dashed color-mix(in srgb,var(--accent) 40%,var(--line));
  background:var(--panel);color:var(--muted);
}
.dev-tog.on{
  background:var(--active);border-style:solid;border-color:var(--accent);color:var(--active-ink);
}
.dev-text{
  width:100%;max-width:160px;padding:6px 9px;border:1px solid var(--field-line);border-radius:8px;
  background:var(--field);color:var(--ink);font-size:14px;font-family:var(--sans);
}
.dev-live,.dev-live-collapsed{
  font-size:13.5px;line-height:1.45;color:var(--ink);
  padding:8px 10px;border-radius:8px;
  background:color-mix(in srgb,var(--accent) 6%,var(--panel));
  border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line));
}
.dev-live-collapsed{margin:0 12px 10px;opacity:.9}

/* Technique phase checkboxes (HRCT etc.) */
.tech-phases{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;
}
.tech-phase{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  padding:6px 12px;border-radius:999px;border:1px solid var(--line);
  background:var(--panel2);font-size:13.5px;color:var(--ink);user-select:none;
}
.tech-phase:has(input:checked){
  background:var(--active);border-color:var(--accent);color:var(--active-ink);font-weight:600;
}
.tech-phase input{width:15px;height:15px;accent-color:var(--accent);margin:0}

/* Graf table on US Hips */
.graf-table{width:100%;border-collapse:collapse;font-size:12.5px}
.graf-table th,.graf-table td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.graf-table th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700}
.graf-table tr:last-child td{border-bottom:0}

/* Sticky action bar */
.actionbar{
  position:sticky;bottom:0;z-index:4;margin:18px -26px -60px;padding:12px 26px 18px;
  background:linear-gradient(to top,var(--bg) 65%,transparent);
  display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;align-items:center;
}
.actionbar .hint{margin-right:auto;font-size:12px;color:var(--muted)}

/* Draft badge */
.draft-badge{
  font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;
  background:color-mix(in srgb,#d97706 14%,transparent);color:#b45309;
  border:1px solid color-mix(in srgb,#d97706 35%,var(--line));
}
:root[data-theme=dark] .draft-badge{color:#fbbf24}

/* Snippets & tools panels */
.snip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.snip-card{
  text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:12px;
  padding:12px 14px;cursor:pointer;color:var(--ink);font-family:var(--sans);
}
.snip-card:hover{border-color:var(--accent);background:var(--active)}
.snip-card h4{margin:0 0 4px;font-size:14px}
.snip-card p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.snip-tok-pill{
  display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;
  padding:1px 6px;border-radius:999px;vertical-align:middle;margin-left:4px;
  background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--active-ink);
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
}

/* Snippet fill-in modal */
.snip-modal{
  position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.48);
  display:flex;align-items:center;justify-content:center;padding:16px;
  animation:ctxIn .15s ease-out;
}
.snip-modal-box{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;
  width:min(560px,100%);max-height:min(90vh,720px);overflow:auto;
  box-shadow:0 24px 64px rgba(0,0,0,.35);padding:0;
}
.snip-modal-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:16px 18px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;
  background:var(--panel);z-index:1;
}
.snip-modal-head h3{margin:0;font-size:18px;letter-spacing:-.2px}
.snip-modal-kicker{
  font-size:11px;font-weight:700;letter-spacing:.45px;text-transform:uppercase;color:var(--muted);margin-bottom:3px;
}
.snip-modal-fields{padding:14px 18px;display:flex;flex-direction:column;gap:14px}
.snip-field-lab{
  font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;
}
.snip-input-row{display:flex;gap:8px;align-items:center}
.snip-input{
  flex:1;width:100%;padding:9px 11px;border:1px solid var(--field-line);border-radius:9px;
  background:var(--field);color:var(--ink);font-size:15px;font-family:var(--sans);
}
.snip-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}
.snip-now-tag{
  font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;
  padding:1px 6px;border-radius:999px;margin-left:4px;vertical-align:middle;
  background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d;
  border:1px solid color-mix(in srgb,#16a34a 30%,transparent);
}
:root[data-theme=dark] .snip-now-tag{color:#4ade80}
.snip-now-btn{flex-shrink:0;white-space:nowrap}
.snip-choices{display:flex;flex-wrap:wrap;gap:6px}
.snip-choices-long{flex-direction:column}
.snip-choice{
  font-family:var(--sans);font-size:13px;padding:7px 12px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);background:var(--panel2);color:var(--ink);text-align:left;
}
.snip-choices-long .snip-choice{border-radius:10px;width:100%}
.snip-choice:hover{border-color:var(--accent);background:var(--active)}
.snip-choice.on{
  background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600;
}
.snip-modal-preview{
  margin:0 18px 14px;padding:12px 14px;border-radius:12px;
  background:var(--panel2);border:1px solid var(--line);
}
.snip-modal-prevlab{
  font-size:10.5px;font-weight:700;letter-spacing:.45px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;
}
.snip-modal-prevtext{font-size:14px;line-height:1.55;color:var(--ink);white-space:pre-wrap}
.snip-modal-prevtext mark.snip-filled{
  background:color-mix(in srgb,#16a34a 16%,transparent);color:inherit;
  border-radius:3px;padding:0 3px;font-weight:600;
}
.snip-modal-prevtext mark.snip-empty{
  background:color-mix(in srgb,#d97706 16%,transparent);color:inherit;
  border-radius:3px;padding:0 3px;font-family:var(--mono);font-size:.9em;
}
.snip-modal-actions{
  display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;
  padding:12px 18px 16px;border-top:1px solid var(--line);position:sticky;bottom:0;
  background:var(--panel);
}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.tool-card{
  background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow);
}
.tool-card h3{margin:0 0 4px;font-size:16px}
.tool-card .tsrc{font-size:12px;color:var(--muted);margin-bottom:12px}
.tool-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;align-items:flex-end}
.tool-row label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);display:block;margin-bottom:3px}
.tool-row select,.tool-row input{
  background:var(--field);border:1px solid var(--field-line);color:var(--ink);
  border-radius:7px;padding:7px 9px;font-size:14px;font-family:var(--sans);min-width:120px;
}
.tool-out{
  margin-top:10px;padding:10px 12px;background:var(--panel2);border:1px solid var(--line);
  border-radius:10px;font-size:13.5px;line-height:1.5;white-space:pre-wrap;
}
.tool-out.empty{color:var(--muted);font-style:italic}

/* Help overlay */
.help-modal{
  position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.45);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.help-box{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;
  max-width:520px;width:100%;padding:22px 24px;box-shadow:0 20px 50px rgba(0,0,0,.25);
}
.help-box h3{margin:0 0 12px}
.help-box table{width:100%;border-collapse:collapse;font-size:13.5px}
.help-box td{padding:6px 8px;border-bottom:1px solid var(--line)}
.help-box td:first-child{white-space:nowrap;width:1%}
.help-box .close-row{display:flex;justify-content:flex-end;margin-top:14px}

/* Fav filter empty */
.empty-fav{padding:28px 18px;color:var(--muted);font-size:14px;line-height:1.5}

/* Preview for checklist */
.previewsec{background:var(--panel2)}
.previewarea{display:block;width:100%;min-height:160px;resize:vertical;background:var(--panel2);border:0;color:var(--ink);padding:12px 14px;font-size:13px;font-family:var(--mono);line-height:1.6;white-space:pre-wrap}

/* Star in detail head */
.star-btn{
  background:transparent;border:1px solid var(--line);border-radius:9px;padding:8px 12px;
  cursor:pointer;font-size:16px;line-height:1;color:var(--muted);
}
.star-btn.on{color:#eab308;border-color:#eab308;background:color-mix(in srgb,#eab308 12%,transparent)}
.star-btn:hover{border-color:#eab308}

/* Pack multi-select on checklist */
.pack-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.pack-chip{
  background:var(--panel2);border:1px solid var(--line);color:var(--ink);
  border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;font-family:var(--sans);
}
.pack-chip.on{background:var(--active);border-color:var(--accent);color:var(--active-ink);font-weight:600}

.sidebar-tools{padding:8px 12px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.sidebar-tools button{
  width:100%;text-align:left;background:var(--panel);border:1px solid var(--line);
  border-radius:8px;padding:8px 10px;margin:0;cursor:pointer;color:var(--ink);
  font-size:13px;font-family:var(--sans);
}
.sidebar-tools button:hover{border-color:var(--accent);background:var(--active)}
.sidebar-tools button.active{border-color:var(--accent);background:var(--active);font-weight:600;color:var(--active-ink)}
.sidebar-tools button[data-mode=templates].active{
  background:color-mix(in srgb,var(--accent) 10%,var(--panel));
}

main.mode-wide #sidebar{display:none}
main.mode-wide{grid-template-columns:1fr}

.dirty-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d97706;margin-left:4px}

@media (max-width:760px){
  .actionbar{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
  header{flex-wrap:wrap}
  .searchwrap{order:3;max-width:none;width:100%}
}
