:root { --bg:#0f1115; --fg:#e8e8e8; --dim:#8a8f98; --card:#1a1d24; --accent:#3b82f6; --ok:#22c55e; --warn:#f59e0b; --err:#ef4444; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.45 -apple-system,system-ui,sans-serif; }
main { max-width:900px; margin:0 auto; padding:16px; }
h1 { font-size:18px; margin:0 0 12px; display:flex; justify-content:space-between; align-items:center; }
h1 a { color:var(--dim); font-weight:normal; font-size:14px; text-decoration:none; }
.card { background:var(--card); border-radius:12px; padding:14px; margin-bottom:12px; }
button { font:inherit; border:0; border-radius:10px; padding:12px 18px; background:var(--accent); color:#fff; cursor:pointer; }
button.big { width:100%; font-size:20px; padding:22px; }
button.secondary { background:#2a2f3a; }
button:disabled { opacity:.5; cursor:default; }
.status { color:var(--dim); font-size:14px; margin:8px 0; }
.status.live { color:var(--ok); }
.status.err { color:var(--err); }
pre { white-space:pre-wrap; word-wrap:break-word; font:15px/1.5 ui-monospace,Menlo,monospace; margin:0; }
#transcript { min-height:80px; color:var(--fg); }
#transcript .interim { color:var(--dim); }
.row { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.row button { flex:1; }
.list a { display:block; padding:10px 12px; border-radius:8px; color:var(--fg); text-decoration:none; }
.list a:hover, .list a.sel { background:#252a34; }
.list .id { color:var(--dim); font-size:13px; }
.check { color:var(--warn); }
.split { display:grid; grid-template-columns:280px 1fr; gap:12px; }
@media (max-width:700px) { .split { grid-template-columns:1fr; } }
label { color:var(--dim); font-size:14px; }
select, input { font:inherit; background:#252a34; color:var(--fg); border:0; border-radius:8px; padding:6px 8px; }

/* Report rendering: header blocks and in-body clarifications stand out, so the
   radiologist addresses them before pasting into the RIS. */
.q { color: var(--err); font-weight: 600; }                 /* [? ... ?] in the body */
.blk-check   { color: var(--err); }
.blk-look    { color: var(--warn); }
.blk-consider{ color: #60a5fa; }
.rpt { white-space: pre-wrap; word-wrap: break-word; font: 15px/1.5 ui-monospace, Menlo, monospace; }

.abn { color: var(--fg); font-weight: 700; }   /* organ label with an abnormal finding */
