/* ═══════════════════════════════════════════════════════════════════════════
   CAMADAS DESTE ARQUIVO (ordem importa — overrides SEMPRE no fim):
   1. Tokens (:root + dark)        → cores semânticas; componentes usam var(), não hex
   2. Base + componentes           → btn/pill/drawer/micro/doc/painéis
   3. Módulos (obst/msk/vmap/mama) → estilos específicos por área
   4. Reskin (l.~2100+)            → tema visual atual (usa !important em pontos)
   5. FIM DO ARQUIVO               → media queries responsivas, dark-mode fixes e
                                      novos componentes (vencem o reskin por ordem)
   Regra prática: nova regra responsiva/dark/override → adicionar NO FIM.
   Vitrine viva dos componentes: componentes.html (abre no servidor do app).
   ═══════════════════════════════════════════════════════════════════════════ */
:root{--bg:#f3f5f7;--card:#fff;--line:#ccd4dd;--text:#111827;--muted:#5b6472;--blue:#245a9c;--blue2:#e7eef7;--green:#15803d;--green2:#ecfdf3;--red:#b42318;--red2:#fff1f0;--amber:#9a5b00;--amber2:#fff7e6;--soft:#f4f6f9;--shadow:none;--shadow-pop:0 4px 16px rgba(15,23,42,.13);--radius:4px;--radius-sm:3px;--radius-lg:6px;
  /* Semantic palette — use these in components instead of hardcoded hex */
  --danger:#b42318;--danger-fg:#b42318;--danger-bg:#fff5f5;--danger-bg-strong:#fee2e2;--danger-border:#fca5a5;
  --warn:#9a5b00;--warn-fg:#7a4a00;--warn-bg:#fffbf0;--warn-bg-strong:#fef3c7;--warn-border:#f0ca7c;
  --success:#15803d;--success-fg:#0f3d1f;--success-bg:#ecfdf3;--success-bg-strong:#dcfce7;--success-border:#a7d7b8;
  --info:#1a56db;--info-bg:#eaf1ff;--info-border:#8faacc;
  /* Redesign 2026-07 — acento moderno + camadas de superfície (Home e chrome novo) */
  --accent:#4f46e5;--accent-strong:#4338ca;--accent-soft:#eef2ff;--accent-fg:#ffffff;
  --radius-card:14px;--radius-pill:999px;
  --shadow-card:0 1px 2px rgba(16,24,40,.04),0 4px 16px rgba(16,24,40,.06);
  --shadow-card-hover:0 6px 24px rgba(79,70,229,.16);
}
body.dark-mode{
  --danger-bg:#2a1010;--danger-bg-strong:#3b1515;--danger-border:#7f1d1d;--danger-fg:#fecaca;
  --warn-bg:#1f1500;--warn-bg-strong:#3b2f00;--warn-border:#854d0e;--warn-fg:#fde68a;
  --success-bg:#052e14;--success-bg-strong:#0a3d1d;--success-border:#15803d;--success-fg:#bbf7d0;
}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);font-size:13px;-webkit-font-smoothing:antialiased}.app{max-width:1680px;margin:0 auto;padding:10px}.top{background:#0f1623;color:#fff;border-radius:8px;padding:0 16px;height:42px;display:flex;align-items:center;gap:0;flex-wrap:nowrap;margin-bottom:8px}.brand{font-weight:800;font-size:14px;letter-spacing:-0.02em;color:#fff}.topnav-brand{display:flex;align-items:center;padding-right:16px;border-right:1px solid rgba(255,255,255,.1);flex-shrink:0;height:100%}.topnav-links{display:flex;align-items:center;flex:1;gap:0;height:100%;overflow-x:auto}.topnav-btn{background:none;border:none;border-bottom:2px solid transparent;color:rgba(255,255,255,.6);padding:0 14px;height:100%;font-size:12px;font-weight:600;cursor:pointer;transition:color .12s,border-color .12s;white-space:nowrap;font-family:inherit}.topnav-btn:hover{color:#fff;border-bottom-color:rgba(255,255,255,.3)}.topnav-right{display:flex;align-items:center;gap:4px;margin-left:auto;padding-left:12px;border-left:1px solid rgba(255,255,255,.1);flex-shrink:0;height:100%}.topnav-doctor{cursor:pointer;display:flex;flex-direction:column;align-items:flex-end;padding:0 8px}.topnav-doctor:hover .top-doctor-name{color:#93c5fd}.top-doctor-name{font-size:12px;font-weight:700;color:#fff;line-height:1.2;white-space:nowrap}.top-doctor-crm{font-size:10px;color:rgba(255,255,255,.5);white-space:nowrap}.actions{display:flex;gap:6px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:#1b2a41;border-radius:6px;padding:5px 11px;min-height:30px;cursor:pointer;font-weight:600;font-size:12px;transition:all .15s ease}.btn:hover{border-color:var(--blue);color:var(--blue)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 1px 4px rgba(26,86,219,.30)}.btn.primary:hover{background:#1648c4;border-color:#1648c4}.btn.green{background:var(--green);border-color:var(--green);color:#fff}.btn.red{border-color:#f3b2ac;color:var(--red);background:#fff}.patient,.panel,.organ{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.patient{padding:8px 10px;margin-top:8px;background:var(--soft)}.patient .field label{font-size:10.5px}.patient input,.patient select{font-size:12.5px;min-height:28px}.patient input[readonly]{background:#eef1f6;color:#475569;cursor:default}input.field-invalid{border-color:#e0564f;background:#fff6f5}input.field-invalid:focus{box-shadow:0 0 0 2px rgba(224,86,79,.15)}.grid{display:grid;gap:8px}.patient-grid{grid-template-columns:2fr .7fr .9fr 1.4fr}.field{display:flex;flex-direction:column;gap:3px;min-width:0}.field label,.mini-label{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.01em}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font-size:13px;padding:5px 8px;min-height:30px;outline:none;font-family:inherit}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(26,86,219,.10)}textarea{resize:vertical;min-height:64px;line-height:1.45}.layout{display:grid;grid-template-columns:260px minmax(520px,1fr) 420px;gap:10px;margin-top:10px;align-items:start}.panel{overflow:hidden}.panel h2{margin:0;padding:7px 12px;background:#f2f5f9;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.panel-body{padding:10px}.side,.preview{position:sticky;top:8px}
.preview{box-shadow:0 2px 8px rgba(15,22,35,.08),0 1px 2px rgba(15,22,35,.04)}
.preview>h2{background:var(--card);border-bottom:2px solid var(--blue);color:var(--blue);font-size:11.5px}.exam-list{display:grid;gap:4px}.exam-btn{text-align:left;border-radius:6px}.exam-btn.active{background:var(--blue2);border-color:var(--blue);color:var(--blue)}.toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.organ{overflow:hidden;margin-bottom:8px}.organ-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;background:#f2f5f9;border-bottom:1px solid var(--line);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.micro{display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);align-items:start}.micro:last-child{border-bottom:0}.micro-label{font-size:11px;font-weight:600;color:var(--muted);padding-top:5px;letter-spacing:.01em}.inline-options{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}.pill,.radio-pill{display:inline-flex;align-items:center;gap:0;border:1px solid #dce5f0;background:#f5f8fb;border-radius:3px;padding:3px 9px;min-height:24px;font-size:12px;font-weight:500;color:var(--muted);transition:background .1s,border-color .1s,color .1s;cursor:pointer}.pill:hover,.radio-pill:hover{background:#eef3f9;border-color:#b8cce0;color:var(--text)}.pill input,.radio-pill input{display:none}.pill.active,.radio-pill.active{background:#e2eaf8;border-color:#8faacc;color:#1a3660;font-weight:700;box-shadow:none}.select-sm{width:auto;min-width:130px;height:28px;min-height:28px;padding:3px 6px}.measure-line{display:flex;align-items:end;gap:6px;flex-wrap:wrap}.measure-box{display:flex;flex-direction:column;gap:3px;min-width:76px}.measure-box input{height:28px;min-height:28px}.num{width:76px}.unit{font-size:10px;color:var(--muted);font-weight:600}.calc{background:#ecfdf3;font-weight:700}.conditional{width:100%;border:1px dashed #c8d8ea;background:#fafcff;border-radius:8px;margin-top:6px;padding:8px;display:none}.conditional.show{display:block}.conditional-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}.hint{font-size:11px;color:var(--muted);line-height:1.4}.items{display:grid;gap:5px}.item-row{display:grid;grid-template-columns:36px minmax(120px,1.2fr) repeat(3,72px) minmax(110px,1fr) 28px;gap:5px;align-items:center;background:#f8fafc;border:1px solid #e3eaf3;border-radius:7px;padding:6px}.item-index{font-weight:700;color:var(--blue);font-size:12px}.freebox{background:#fafcff;min-height:40px;height:40px;font-size:12.5px;line-height:1.4;padding:8px 10px;border-radius:7px}.freebox:focus{height:64px;min-height:64px}.doc{white-space:pre-wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 24px;min-height:540px;max-height:calc(100vh - 200px);overflow:auto;font-family:Georgia,'Times New Roman',serif;line-height:1.68;font-size:13.5px;cursor:text;outline:none;box-shadow:inset 0 1px 3px rgba(15,22,35,.03)}.doc:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(26,86,219,.10)}.doc.manual{border-color:#f0ca7c;background:#fffdf7}.doc.locked{background:#f8fafc;cursor:not-allowed}.doc.locked:focus{box-shadow:none;border-color:var(--line)}.edit-status{font-size:11px;line-height:1.45;border:1px solid var(--line);border-radius:7px;padding:5px 9px;margin-bottom:6px;background:var(--soft);color:var(--muted)}.edit-status.warn{background:var(--amber2);border-color:#f0ca7c;color:#7a4a00}.edit-status.locked{background:#eef2f7;border-color:#cbd7e6;color:#334155}.doc[contenteditable=true]:empty:before{content:'Digite ou gere o corpo do laudo...';color:var(--muted)}.preview-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;align-items:center}
.ptools-zone{display:inline-flex;gap:6px;align-items:center}
.ptools-divider{width:1px;align-self:stretch;background:var(--line);margin:2px 2px}
.ptools-zone .btn{display:inline-flex;align-items:center;gap:4px}.word-toolbar{display:flex;gap:5px;flex-wrap:wrap;align-items:center;border:1px solid var(--line);border-radius:8px;background:#f5f8fb;padding:6px;margin-bottom:6px}.word-toolbar select,.word-toolbar input[type=color]{width:auto;min-width:0;height:28px;min-height:28px;padding:3px 5px;border-radius:5px}.word-toolbar input[type=color]{width:34px;padding:2px}.word-btn{border:1px solid var(--line);background:#fff;border-radius:5px;min-height:26px;padding:3px 7px;cursor:pointer;font-weight:700;font-size:12px}.word-btn:hover{border-color:var(--blue);color:var(--blue)}.word-sep{width:1px;height:18px;background:#d8e1ef;margin:0 2px}.doc table{border-collapse:collapse;width:auto;max-width:100%;margin:6px 0;background:#fff}.doc td,.doc th{border:1px solid #94a3b8;padding:5px 7px;min-width:60px;vertical-align:top}.doc th{background:#eef3f8;font-weight:700}.doc ul,.doc ol{white-space:normal}.doc p{margin:0 0 5px}.edit-hint{font-size:11px;color:var(--muted);line-height:1.4;margin-bottom:6px}.sol-panel{display:none;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.sol-panel.show{display:block}.sol-list{display:grid;gap:6px;margin-top:6px}.sol-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px}.limbox{background:var(--amber2);border-color:#f0ca7c}.ok{background:var(--green2)}.bad{background:var(--red2)}

/* ── Caixa de limitações técnicas: destaque visual próprio ───────── */
details.drawer.limbox{
  background:#f5f3ff;
  border-color:#b8a6ff;
  box-shadow:0 8px 22px rgba(91,33,182,.10);
}
details.drawer.limbox>summary{
  background:linear-gradient(135deg,#ede9fe,#eef6ff);
  color:#4c1d95;
  border-bottom:0;
}
details.drawer.limbox>summary .hint{
  color:#6d28d9;
  opacity:.85;
}
details.drawer.limbox[open]>summary{
  background:linear-gradient(135deg,#7c3aed,#2563eb);
  color:#fff;
  border-bottom:1px solid #c4b5fd;
}
details.drawer.limbox[open]>summary .hint{
  color:#fff;
  opacity:.9;
}
details.drawer.limbox .drawer-body{
  background:#fbfaff;
  border-top:1px solid #ddd6fe;
}
details.drawer.limbox .drawer-title,
details.drawer.limbox .mini-label{
  color:#5b21b6;
}
details.drawer.limbox .pill{
  border-color:#c4b5fd;
  background:#fff;
}
details.drawer.limbox .pill:hover{
  border-color:#7c3aed;
  color:#5b21b6;
}
details.drawer.limbox .pill.active{
  background:#ede9fe;
  border-color:#7c3aed;
  color:#4c1d95;
}
.drawer{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.drawer>summary{list-style:none;cursor:pointer;padding:7px 10px;font-weight:600;font-size:12px;color:#334155;background:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:8px}.drawer>summary::-webkit-details-marker{display:none}.drawer>summary:after{content:'';display:inline-block;width:14px;height:14px;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235a6882' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 4 5-4'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;transition:transform .18s ease}.drawer[open]>summary{border-bottom:1px solid var(--line);background:var(--blue2);color:var(--blue)}.drawer[open]>summary:after{transform:rotate(180deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231a56db' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 4 5-4'/%3E%3C/svg%3E")}.drawer-body{padding:8px;display:grid;gap:6px}.drawer-group{border:1px solid var(--line);border-radius:7px;background:#fafcff;padding:7px}.drawer-title{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.radio-grid{display:flex;gap:5px;flex-wrap:wrap}.subdrawer{width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;margin-top:6px;overflow:hidden}.subdrawer>summary{cursor:pointer;list-style:none;padding:6px 9px;font-weight:600;font-size:12px;color:#334155;background:var(--soft)}.subdrawer>summary::-webkit-details-marker{display:none}.subdrawer>summary:after{content:' +';color:var(--muted);font-size:11px}.subdrawer[open]>summary:after{content:' –'}.subdrawer-body{padding:7px;display:grid;gap:6px}.msk-drawer{border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:3px}.msk-drawer>summary{list-style:none;cursor:pointer;padding:5px 10px;display:flex;align-items:center;gap:8px;background:var(--soft);user-select:none;min-height:30px}.msk-drawer>summary::-webkit-details-marker{display:none}.msk-drawer>summary::after{content:'';display:inline-block;width:12px;height:12px;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235a6882' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 4 5-4'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;transition:transform .18s ease}.msk-drawer[open]>summary{background:var(--blue2);border-bottom:1px solid var(--line)}.msk-drawer[open]>summary::after{transform:rotate(180deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231a56db' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 4 5-4'/%3E%3C/svg%3E")}.msk-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex:1}.msk-drawer[open]>summary .msk-group-label{color:var(--blue)}.msk-group-val{font-size:11px;font-weight:600;background:#e2eaf8;border:1px solid #8faacc;color:#1a3660;border-radius:3px;padding:1px 7px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.msk-group-normal{font-size:10px;color:#c8d3e0;font-weight:500;font-style:italic}.msk-group-body{padding:8px 10px}.msk-sf-panel{margin-top:6px;padding:7px 9px;background:#f0f5ff;border:1px solid #c7d8f4;border-radius:7px;display:grid;gap:7px}.msk-sf-field{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:24px}.msk-sf-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#5a6882;min-width:110px;flex-shrink:0}.msk-sf-dims{display:flex;align-items:center;gap:5px}.msk-sf-dims input{width:56px;min-width:0;height:26px;min-height:26px;padding:3px 6px}.msk-sf-dims span{color:#94a3b8;font-weight:700;font-size:11px}.msk-sf-field select{width:auto;min-width:0;height:26px;min-height:26px;padding:3px 6px;font-size:12px}.review-panel{display:none;margin-top:8px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.review-panel.show{display:block}.review-head{padding:7px 10px;background:var(--soft);border-bottom:1px solid var(--line);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.review-body{padding:8px;display:grid;gap:6px}.review-card{border:1px solid var(--line);border-radius:7px;padding:7px 9px;background:#fff}.review-card.ok{background:var(--green2);border-color:#a7e6bf}.review-card.warn{background:var(--amber2);border-color:#f0ca7c}.review-card.bad{background:var(--red2);border-color:#f3b2ac}.review-card b{display:block;margin-bottom:2px;font-size:12px}.review-card .small{font-size:11px;color:var(--muted);line-height:1.35}.review-summary{font-size:11px;color:var(--muted);font-weight:600}.history-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;flex-wrap:wrap}.history-list{display:grid;gap:6px;margin-top:8px}.history-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px}.history-title{font-weight:700;font-size:13px;color:#172033}.history-meta{font-size:11px;color:var(--muted);line-height:1.35;margin-top:2px}.history-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.history-empty{border:1px dashed var(--line);border-radius:8px;padding:10px;background:var(--soft);color:var(--muted);font-size:12px}.btn.small{min-height:26px;padding:3px 9px;font-size:11px}@media(max-width:1250px){.layout{grid-template-columns:220px minmax(420px,1fr)}.preview{grid-column:1/-1;position:static}.doc{max-height:none}.patient-grid{grid-template-columns:1fr 1fr}}@media(max-width:780px){.app{padding:6px}.top{border-radius:10px}.top-doctor{width:100%;text-align:left;margin-left:0}.layout,.patient-grid{grid-template-columns:1fr}.side{position:static}.micro{grid-template-columns:1fr;gap:5px}.micro-label{padding-top:0}.item-row{grid-template-columns:1fr 1fr}.item-index{grid-column:1/-1}.select-sm,.num{width:100%;min-width:0}.actions .btn{flex:1}.measure-box{flex:1;min-width:100px}}

/* ── Barra de ações do laudo ────────────────────────────────── */
.report-actions-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:6px 0}

/* ── Scrollbar ──────────────────────────────────────────────── */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#c8d5e8;border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:#a8bedb}

/* ── Toast ─────────────────────────────────────────────────── */
#toast-root{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{background:#1b2a41;color:#fff;border-radius:12px;padding:11px 17px;font-size:13px;font-weight:700;box-shadow:0 4px 18px rgba(0,0,0,.22);opacity:0;transform:translateY(8px);transition:opacity .22s,transform .22s;max-width:340px}
.toast.show{opacity:1;transform:translateY(0)}.toast.ok{background:#15803d}.toast.warn{background:#9a5b00}.toast.err{background:#b42318}
/* ── Modal de confirmação ───────────────────────────────────── */
#confirm-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;align-items:center;justify-content:center}
#confirm-overlay.show{display:flex}
#confirm-box{background:#fff;border-radius:18px;box-shadow:0 8px 36px rgba(0,0,0,.18);padding:22px 24px;width:min(420px,92vw);font-size:14px;line-height:1.5}
#confirm-box p{margin:0 0 18px;color:#172033}
#confirm-box .confirm-actions{display:flex;gap:8px;justify-content:flex-end}


/* ── Label de grupo dentro do dropdown ───────────────────────── */
.dropdown-label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:8px 13px 3px;pointer-events:none;user-select:none}
/* ── Dropdown "Mais ações" ───────────────────────────────────── */
.dropdown{position:relative;display:inline-block}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(23,32,51,.13);z-index:500;min-width:200px;padding:6px;white-space:nowrap}
.dropdown-menu.open{display:block}
.dropdown-menu button{display:block;width:100%;text-align:left;border:none;background:transparent;padding:9px 13px;border-radius:10px;font-size:13px;font-weight:700;color:#1b2a41;cursor:pointer}
.dropdown-menu button:hover{background:var(--blue2);color:var(--blue)}
.dropdown-menu hr{border:none;border-top:1px solid var(--line);margin:4px 0}
.dropdown-section{padding:2px 0}
.dropdown-section + .dropdown-section{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}
.dropdown-section .dropdown-label{padding:5px 13px 2px}
.dropdown-danger{margin-top:6px;padding-top:6px}
.dropdown-danger-btn{color:var(--danger)!important}
.dropdown-danger-btn:hover{background:var(--danger-bg)!important;color:var(--danger)!important}

/* ── Toolbar desabilitada quando laudo travado ───────────────── */
.word-toolbar.toolbar-locked{display:none!important}
/* Dupla classe eleva a especificidade (0,2,0) para vencer regras de layout que usam
   display!important com classe única (ex.: .workspace-layout), garantindo o gate do exame. */
.panel-hidden.panel-hidden{display:none!important}

/* ── Ícones inline (Lucide) ──────────────────────────────────── */
.ico{display:inline-block;vertical-align:-2px;flex-shrink:0}
.btn .ico{margin-right:4px;vertical-align:-1px}

/* ── Estado vazio / Quick start ──────────────────────────────── */
.quickstart{margin-bottom:10px;padding:12px 14px;border:1px solid var(--info-border);
  background:var(--info-bg);border-radius:10px;display:grid;gap:8px}
.qs-head{font-weight:700;font-size:12.5px;color:var(--info);
  text-transform:uppercase;letter-spacing:.05em}
.qs-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qs-label{font-size:11px;color:var(--muted);font-weight:600}
.qs-chips{display:flex;gap:5px;flex-wrap:wrap}
.qs-chip{border:1px solid var(--info-border);background:#fff;color:var(--info);
  border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600;cursor:pointer;
  transition:background .12s,border-color .12s}
.qs-chip:hover{background:var(--info-bg);border-color:var(--info)}

/* ── Modo focado ─────────────────────────────────────────────── */
body.focus-mode .top,
body.focus-mode .patient,
body.focus-mode .exam-picker-panel,
body.focus-mode .actions,
body.focus-mode .form-panel,
body.focus-mode .side{display:none!important}
body.focus-mode .layout{grid-template-columns:1fr;max-width:900px;margin:0 auto}
body.focus-mode .preview{position:static}
body.focus-mode .doc{max-height:none;min-height:80vh;font-size:14.5px;padding:32px 40px}
body.focus-mode .app{padding:14px}
#focusBtn.active{background:var(--info);border-color:var(--info);color:#fff}

/* ── Painel unificado de validação ───────────────────────────── */
.val-panel{display:none;margin-top:8px;border:1px solid var(--danger-border);border-radius:12px;background:var(--danger-bg);overflow:hidden}
.val-panel.show{display:block;position:sticky;top:8px;z-index:60;box-shadow:0 4px 14px rgba(180,35,24,.12)}
body.dark-mode .val-panel.show{box-shadow:0 4px 14px rgba(0,0,0,.5)}
.val-head{padding:8px 12px;background:var(--danger-bg-strong);border-bottom:1px solid var(--danger-border);
  display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;transition:background .12s}
.val-head:hover{filter:brightness(.97)}
.val-title{font-weight:900;font-size:13px;color:var(--danger);flex:1;display:inline-flex;align-items:center;gap:6px}
.val-badges{display:flex;gap:4px}
.val-badge{font-size:11px;border-radius:999px;padding:2px 8px;font-weight:800;color:#fff}
.val-badge.val-err{background:var(--danger)}
.val-badge.val-warn{background:var(--warn)}
.val-body{display:none;padding:8px;gap:6px}
.val-panel.open .val-body{display:grid}
.val-group{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--card)}
.val-group-head{padding:5px 10px;background:var(--soft);font-size:10px;font-weight:700;
  color:var(--muted);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:6px}
.val-group .incons-item{border:none;border-top:1px solid var(--line);border-radius:0}
.val-group .incons-item:first-of-type{border-top:none}

/* ── Contador de palavras ────────────────────────────────────── */
#wordCount{font-size:11px;color:var(--muted);text-align:right;padding:4px 2px;margin-top:4px;letter-spacing:.02em}



/* ── Templates personalizáveis ───────────────────────────────── */
.template-edit-btn{border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer;padding:2px 5px;border-radius:6px;margin-left:4px;opacity:.6}
.template-edit-btn:hover{background:var(--blue2);color:var(--blue);opacity:1}
.template-panel{display:none;margin:0;background:#f8fbff;border-top:1px solid var(--line);padding:8px 10px}
.template-panel.show{display:block}
.template-panel-title{font-size:10.5px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.template-field-row{display:grid;grid-template-columns:120px 1fr 28px;gap:5px;align-items:center;margin-bottom:4px}
.template-field-label{font-size:11px;color:var(--muted);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.template-field-input{font-size:11.5px;min-height:28px;padding:3px 7px}
.template-reset-btn{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;padding:0;border-radius:6px;min-height:24px}
.template-reset-btn:hover{color:var(--red)}

/* ── Calculadora TI-RADS ─────────────────────────────────────── */
.tirads-wrapper{width:100%}
.tirads-panel{border:1px solid #d4defc;border-radius:13px;background:#f8fbff;overflow:hidden;margin-bottom:6px}
.tirads-head{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;background:#eef4ff;border-bottom:1px solid #d4defc;gap:8px}
.tirads-title{font-weight:900;font-size:12.5px;color:#1e3a8a}
.tirads-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:900;color:#fff}
.tirads-badge.tr1{background:#15803d}.tirads-badge.tr2{background:#16a34a}
.tirads-badge.tr3{background:#ca8a04}.tirads-badge.tr4{background:#ea580c}
.tirads-badge.tr5{background:#dc2626}
.tirads-score{font-size:11px;color:var(--muted);font-weight:800}
.tirads-body{padding:7px 10px;display:grid;gap:0}
.tirads-row{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid #eef2fb;flex-wrap:nowrap}
.tirads-row:last-child{border-bottom:0}
body.dark-mode .tirads-row{border-color:var(--card)}
.tirads-label{font-size:11px;font-weight:900;color:var(--muted);white-space:nowrap;min-width:108px;flex-shrink:0}
.tirads-opts{display:flex;flex-wrap:wrap;gap:3px;align-items:center}
.tirads-opt{border:1px solid #d4defc;background:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:750;cursor:pointer;transition:background .1s,border-color .1s,color .1s;white-space:nowrap;line-height:1.5}
.tirads-opt:hover{border-color:#6b8ef5;color:#1e3a8a;background:#f0f4ff}
.tirads-opt.sel{background:#1e3a8a;border-color:#1e3a8a;color:#fff}
body.dark-mode .tirads-opt{color:#d7dbe1}
body.dark-mode .tirads-opt.sel{background:#3b5bdb;border-color:#3b5bdb;color:#fff}
.tirads-dims{display:flex;gap:4px;align-items:center}
.tirads-dim-box{display:flex;flex-direction:column;gap:1px;min-width:0;width:52px}
.tirads-dim-box label{font-size:9.5px;font-weight:800;color:var(--muted);text-align:center}
.tirads-dim-box input{width:52px;min-height:24px;height:24px;font-size:11.5px;padding:2px 4px;text-align:center;border-radius:6px}
.tirads-rec{font-size:11px;line-height:1.4;padding:6px 8px;border-radius:8px;margin-top:4px}
.tirads-rec.ok{background:#ecfdf3;color:#15803d;border:1px solid #a7e6bf}
.tirads-rec.warn{background:#fff7e6;color:#9a5b00;border:1px solid #f0ca7c}
.tirads-rec.bad{background:#fff1f0;color:#b42318;border:1px solid #f3b2ac}
.tirads-add-btn{width:100%;border:1px dashed #6b8ef5;background:transparent;color:#3b5bdb;border-radius:10px;padding:6px;font-size:12px;font-weight:800;cursor:pointer;margin-top:4px}
.tirads-add-btn:hover{background:#eef4ff}
.tirads-del-btn{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;padding:0 3px;border-radius:6px}
.tirads-del-btn:hover{color:var(--red);background:var(--red2)}
.tirads-loc{width:100%;font-size:12px;padding:4px 7px;min-height:28px;border-radius:8px;border:1px solid #d4defc}
/* ── Controles de referência gestacional ────────────────────── */
.ig-ref-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}
.ig-ref-tab{border:1px solid #dce5f0;background:#f5f8fb;color:var(--muted);border-radius:3px;padding:3px 9px;font-size:12px;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s,color .1s}
.ig-ref-tab:hover{background:#eef3f9;border-color:#b8cce0;color:var(--text)}
.ig-ref-tab.active{background:#e2eaf8;border-color:#8faacc;color:#1a3660;font-weight:700}
.ig-ref-tab.warn{border-color:#f0ca7c;color:#9a5b00;background:#fff7e6}
.ig-ref-tab.warn.active{background:#fff7e6;border-color:#f0ca7c;color:#9a5b00;font-weight:700}
.ig-ref-block{border:1px solid var(--line);border-radius:7px;background:var(--soft);padding:8px 10px;margin-top:4px}
.ig-ref-block.warn{border-color:#f0ca7c;background:#fff7e6}
.ig-dum-unknown{display:inline-flex;align-items:center;gap:6px;border:1px dashed #f0ca7c;background:#fff7e6;color:#9a5b00;border-radius:3px;padding:3px 9px;font-size:12px;font-weight:600;cursor:pointer}
.ig-dum-unknown:hover{background:#fff0d0}
.obst-hidden{display:none!important}
.ig-result-ref{font-size:11px;color:var(--muted);margin-top:6px;padding:4px 8px;background:rgba(255,255,255,.7);border-radius:8px}
/* ── Painel obstétrico ───────────────────────────────────────── */
.obst-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:8px;box-shadow:var(--shadow)}
.obst-head{background:#f2f5f9;color:var(--muted);padding:6px 12px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}
.obst-section{padding:8px 12px;border-bottom:1px solid var(--line)}
.obst-section:last-child{border-bottom:none}
.obst-section-title{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}
.obst-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:end}
.obst-field{display:flex;flex-direction:column;gap:3px}
.obst-field label{font-size:11px;font-weight:600;color:var(--muted)}
.obst-field input,.obst-field select{height:28px;min-height:28px;font-size:12px}
.obst-result{background:var(--soft);border:1px solid var(--line);border-radius:7px;padding:7px 10px;margin-top:8px}
.obst-result-line{font-size:12px;line-height:1.5;color:var(--text)}
.obst-result-line.highlight{font-weight:700;color:var(--blue);font-size:13px}
.obst-result-line.warn{color:#9a5b00;font-weight:600}
.obst-result-line.bad{color:#b42318;font-weight:600}
.obst-result-line.obst-consultivo-nota{font-size:10px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:4px;margin-bottom:4px}
.obst-ref-toggle{font-size:10px;font-weight:600;border:1px solid var(--blue,#1d4ed8);color:var(--blue,#1d4ed8);background:transparent;border-radius:10px;padding:1px 8px;margin-left:6px;cursor:pointer;white-space:nowrap}
.obst-ref-toggle.on{background:var(--blue,#1d4ed8);color:#fff}
.obst-pills{display:flex;gap:5px;flex-wrap:wrap}
.obst-pill{display:inline-flex;align-items:center;gap:0;border:1px solid #dce5f0;background:#f5f8fb;border-radius:3px;padding:3px 9px;min-height:24px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;transition:background .1s,border-color .1s,color .1s}
.obst-pill:hover{background:#eef3f9;border-color:#b8cce0;color:var(--text)}
.obst-pill input{display:none}
.obst-pill.active{background:#e2eaf8;border-color:#8faacc;color:#1a3660;font-weight:700;box-shadow:none}
@media(max-width:780px){.obst-grid{grid-template-columns:1fr 1fr}}




/* ── Layout unificado: formulário e corpo do laudo no mesmo espaço ── */
.workspace-layout{display:grid!important;grid-template-columns:232px minmax(0,1.25fr) minmax(0,1fr)!important;gap:10px;margin-top:10px;align-items:start;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px;min-width:0}
.workspace-layout .form-panel,.workspace-layout .preview{min-width:0;box-shadow:none;border-color:var(--line);background:#fff;align-self:stretch}
.workspace-layout .form-panel h2,.workspace-layout .preview h2{background:#f2f5f9;border-bottom:1px solid var(--line);color:var(--muted)}
.form-panel-body{padding:8px;max-height:none!important;overflow:visible!important;scrollbar-width:auto}
.workspace-layout .preview{position:static}
.workspace-layout .preview .panel-body{padding:8px}
.workspace-layout .doc{min-height:600px;max-height:none!important;overflow:visible!important}
/* ── Cabeçalho do laudo: título + lock + cluster de ícones ──────── */
.report-title-bar{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;min-width:0}
.rtb-title{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.report-title-bar .lock-toggle .lock-label{display:none}
.rtb-words{flex:0 0 auto;font-size:10.5px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;white-space:nowrap;margin-left:auto}
.report-status-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.report-status-row .edit-status{flex:1 1 auto;margin-bottom:0}
.rtb-spacer{flex:1 1 auto;min-width:4px}
.report-cluster{display:inline-flex;align-items:center;gap:0;flex:0 0 auto}
.report-cluster .ricon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid transparent;background:transparent;border-radius:7px;color:#46506a;cursor:pointer;transition:background .12s,color .12s}
.report-cluster .ricon:hover{background:#e9eef6;color:var(--blue)}
.report-cluster .ricon .ico{width:15px;height:15px}
.report-cluster .ricon span{display:none}
.report-cluster .ricon.ricon-primary{color:var(--blue)}
.report-cluster .ricon.signed{color:var(--green)}
.report-cluster .ricon.tts-active{color:var(--blue);background:#e6efff}
.report-cluster .dropdown-menu .review-mark-toggle.active{color:var(--blue);font-weight:700}
body.dark-mode .report-cluster .ricon{color:var(--muted)}
body.dark-mode .report-cluster .ricon:hover{background:#23272e;color:#93c5fd}
/* ── Strip de formatação SEM moldura (no corpo do laudo) ────────── */
.word-toolbar.compact.format-strip{border:0;background:transparent;box-shadow:none;padding:2px 0 0;margin-bottom:6px;gap:1px}
.word-toolbar.compact.format-strip .toolbar-group{border-right:0;padding:2px 3px}
.word-toolbar.compact.format-strip .toolbar-group + .toolbar-group{border-left:1px solid var(--line);border-radius:0}
body.dark-mode .word-toolbar.compact.format-strip{background:transparent}
/* ── Mini-toolbar contextual (balão ao selecionar texto) ─────────── */
.float-format{position:fixed;z-index:8000;display:none;align-items:center;gap:1px;top:0;left:0;background:#1f2738;border-radius:10px;padding:4px;box-shadow:0 10px 28px rgba(15,22,35,.30)}
.float-format.show{display:inline-flex}
.float-format button{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border:0;background:transparent;color:#fff;border-radius:6px;cursor:pointer;font-weight:700;font-size:13px;font-family:inherit;line-height:1}
.float-format button:hover{background:rgba(255,255,255,.16)}
.float-format button .ico{width:15px;height:15px}
.float-format .supsub{font-size:12px}
.float-format .supsub sup,.float-format .supsub sub{font-size:8px}
.float-format .ff-sep{width:1px;height:16px;background:rgba(255,255,255,.22);margin:0 3px}
.float-format .ff-color{position:relative;display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:6px;cursor:pointer;color:#fff;font-weight:800}
.float-format .ff-color:hover{background:rgba(255,255,255,.16)}
.float-format .ff-color input{position:absolute;inset:0;opacity:0;cursor:pointer;border:0;padding:0}
/* ── Laudo sticky (1/3) — gruda abaixo do painel de validação ────── */
.workspace-layout .preview{position:sticky;top:calc(8px + var(--ws-extra-top, 0px));align-self:start;max-height:calc(100vh - 24px - var(--ws-extra-top, 0px));overflow:auto}
/* ── Navegação por estruturas (scrollspy) ──────────────────────── */
.exam-nav{position:sticky;top:calc(8px + var(--ws-extra-top, 0px));align-self:start;max-height:calc(100vh - 24px - var(--ws-extra-top, 0px));overflow-y:auto;overflow-x:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:6px;display:flex;flex-direction:column;gap:1px}
.exam-nav-title{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:3px 6px 5px}
.exam-nav-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;border:none;background:none;border-radius:6px;padding:5px 7px;cursor:pointer;font-size:11.5px;font-weight:600;color:#475569;font-family:inherit;transition:background .12s,color .12s;min-height:26px}
.exam-nav-item:hover{background:var(--soft,#f1f5f9);color:var(--text)}
.exam-nav-item.active{background:var(--blue2,#e2eaf8);color:var(--blue,#1a56db)}
.exam-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.exam-nav-pend{display:flex;align-items:center;gap:6px;width:100%;border:1px solid #f0ca7c;background:var(--amber2,#fff7e6);color:#7a4a00;border-radius:6px;padding:5px 8px;margin:0 0 3px;cursor:pointer;font-size:11px;font-weight:700;font-family:inherit;transition:background .12s,border-color .12s}
.exam-nav-pend:hover{background:#ffeecb;border-color:#e0a94a}
.exam-nav-pend .enp-ic{flex-shrink:0}
.exam-nav-pend .enp-txt{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exam-nav-pend .enp-go{flex-shrink:0;font-weight:800;opacity:.7}
body.dark-mode .exam-nav-pend{background:#3b2f00;border-color:#7a5a10;color:#f5d78a}
body.dark-mode .exam-nav-pend:hover{background:#4a3b06}
.nav-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.nav-dot-empty{background:#d8e0ea}
.nav-dot-red{background:#dc2626}
.nav-dot-amber{background:#d97706}
.nav-dot-yellow{background:#eab308}
body.dark-mode .exam-nav{background:var(--card);border-color:var(--line)}
body.dark-mode .exam-nav-item{color:var(--muted)}
body.dark-mode .exam-nav-item:hover{background:#2c313a;color:#e2e8f0}
/* ── Abas Parâmetros | Laudo (telas estreitas) ─────────────────── */
.ws-tabs{display:none;gap:6px;margin:10px 0 -2px}
.ws-tab{flex:1;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:8px;padding:7px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}
.ws-tab.active{background:var(--blue,#1a56db);border-color:var(--blue,#1a56db);color:#fff}
@media(max-width:1100px){
  .workspace-layout{grid-template-columns:1fr!important}
  .workspace-layout .exam-nav{display:none!important}
  .workspace-layout .preview{position:static;max-height:none;overflow:visible}
  .ws-tabs{display:flex}
  .ws-show-form .preview{display:none}
  .ws-show-report .form-panel{display:none}
}
.workspace-layout .organ{box-shadow:none;border-color:var(--line)}
.workspace-layout .organ:last-child{margin-bottom:0}
@media(max-width:1250px){.workspace-layout{grid-template-columns:minmax(0,1fr)!important}.workspace-layout .doc{min-height:480px}}
@media(max-width:780px){.workspace-layout{padding:6px;border-radius:8px;gap:6px}.workspace-layout .doc{min-height:380px}}
/* Sem navegação por estruturas: 2 colunas (formulário 2/3 + laudo 1/3), sem coluna fantasma. */
@media(min-width:1251px){.workspace-layout.ws-no-nav{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important}}
/* Caixa de texto livre / observação: largura total, sem rótulo lateral. */
.micro.micro-free,
.exam-theme .micro.micro-free{grid-template-columns:1fr!important}
.micro.micro-free .inline-options{width:100%;display:block}
.micro.micro-free .freebox-wrap{width:100%}
.micro.micro-free .freebox{width:100%}

/* ── Toggle de travamento do corpo do laudo ───────────────────── */
.report-title-bar{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px!important}
.lock-toggle{border:0;border-radius:999px;background:#16a34a;color:#fff;display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:4px 10px 4px 4px;cursor:pointer;font-size:12px;font-weight:900;box-shadow:0 3px 10px rgba(22,163,74,.25);transition:background .22s,box-shadow .22s,transform .15s;white-space:nowrap}
.lock-toggle:hover{transform:translateY(-1px);filter:brightness(1.03)}
.lock-toggle .lock-track{position:relative;display:inline-flex;align-items:center;width:52px;height:26px;border-radius:999px;background:rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.lock-toggle .lock-knob{position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;color:#16a34a;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .22s,color .22s}
.lock-toggle.locked{background:#dc2626;box-shadow:0 3px 10px rgba(220,38,38,.25)}
.lock-toggle.locked .lock-knob{transform:translateX(26px);color:#dc2626}
.lock-toggle .lock-label{letter-spacing:.01em}
@media(max-width:780px){.report-title-bar{align-items:flex-start}.lock-toggle{min-height:32px}.lock-toggle .lock-label{display:none}}


/* ── Toolbar de edição compacta sem rolagem lateral ───────────────── */
.word-toolbar.compact{
  display:flex;
  align-items:center;
  gap:2px;
  flex-wrap:wrap;
  overflow-x:visible;
  overflow-y:visible;
  white-space:normal;
  border:1px solid #cfd7e3;
  border-radius:10px;
  background:#f8fafc;
  padding:4px 5px;
  margin-bottom:8px;
  box-shadow:0 2px 8px rgba(23,32,51,.06);
}
.word-toolbar.compact::-webkit-scrollbar{display:none}
.word-toolbar.compact .toolbar-group{
  display:inline-flex;
  align-items:center;
  gap:2px;
  background:transparent;
  border:0;
  border-radius:0;
  padding:2px 4px;
  min-height:27px;
  flex:0 1 auto;
  border-right:1px solid #cfd7e3;
}
.word-toolbar.compact .toolbar-group:last-child{border-right:0}
.word-toolbar.compact .toolbar-label{display:none}
.word-toolbar.compact .tool-select{
  height:27px;
  min-height:27px;
  border:1px solid transparent;
  border-radius:6px;
  padding:1px 18px 1px 6px;
  font-size:12px;
  font-weight:650;
  color:#334155;
  background:#fff;
}
.word-toolbar.compact .tool-select:hover,
.word-toolbar.compact .tool-select:focus{border-color:#a8bdd8;background:#fff;box-shadow:none}
.word-toolbar.compact .font-select{width:118px;min-width:98px;}
.word-toolbar.compact .size-select{width:54px;min-width:50px;}
.word-toolbar.compact .word-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  background:transparent;
  color:#172033;
  border-radius:6px;
  min-height:25px;
  height:25px;
  min-width:25px;
  padding:0 3px;
  cursor:pointer;
  font-size:13px;
  font-weight:900;
  line-height:1;
  transition:background .12s,border-color .12s,color .12s,transform .1s;
}
.word-toolbar.compact .word-btn.icon{width:25px;padding:0;font-size:13px;}
.word-toolbar.compact .word-btn.text{min-width:27px;padding:0 4px;font-size:12px;}
.word-toolbar.compact .word-btn.mini{min-width:27px;padding:0 4px;font-size:11px;}
.word-toolbar.compact .word-btn:hover{
  border-color:#dbe7f5;
  background:#e9eef5;
  color:#0f4f91;
}
.word-toolbar.compact .word-btn.emphasis{
  background:#111827;
  color:#fff;
  border-color:#111827;
}
.word-toolbar.compact .word-btn.highlight{
  background:#fff400;
  color:#111827;
  border-color:#d6cf00;
}
.word-toolbar.compact .word-btn.active-soft{background:#e5e7eb;border-color:#d1d5db;}
.word-toolbar.compact .color-tool{
  height:25px;
  min-width:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  border:1px solid transparent;
  border-radius:7px;
  padding:0;
  cursor:pointer;
  background:#111827;
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.word-toolbar.compact .color-tool.highlight-color{background:#fff400;color:#111827;border-color:#d6cf00}
.word-toolbar.compact .color-tool:hover{filter:brightness(.96)}
.word-toolbar.compact .color-tool input[type=color]{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:100%;
  opacity:0;
  cursor:pointer;
  padding:0;
  border:0;
}
/* Ícones visuais de alinhamento, mais parecidos com editor de texto */
.word-toolbar.compact .align-glyph{width:16px;height:13px;display:flex;flex-direction:column;gap:2px;justify-content:center;align-items:stretch}
.word-toolbar.compact .align-glyph i{display:block;height:1.8px;border-radius:999px;background:currentColor;opacity:.95}
.word-toolbar.compact .align-left i:nth-child(1){width:16px}.word-toolbar.compact .align-left i:nth-child(2){width:12px}.word-toolbar.compact .align-left i:nth-child(3){width:16px}.word-toolbar.compact .align-left i:nth-child(4){width:10px}
.word-toolbar.compact .align-center{align-items:center}.word-toolbar.compact .align-center i:nth-child(1){width:16px}.word-toolbar.compact .align-center i:nth-child(2){width:10px}.word-toolbar.compact .align-center i:nth-child(3){width:16px}.word-toolbar.compact .align-center i:nth-child(4){width:12px}
.word-toolbar.compact .align-right{align-items:flex-end}.word-toolbar.compact .align-right i:nth-child(1){width:16px}.word-toolbar.compact .align-right i:nth-child(2){width:12px}.word-toolbar.compact .align-right i:nth-child(3){width:16px}.word-toolbar.compact .align-right i:nth-child(4){width:10px}
.word-toolbar.compact .align-justify i{width:16px}
.table-picker{display:none;position:absolute;z-index:7000;background:#fff;border:1px solid #cfd7e3;border-radius:12px;box-shadow:0 10px 28px rgba(23,32,51,.18);padding:10px;width:230px;margin-top:-2px}
.table-picker.show{display:block}
.table-picker-title{font-size:12px;font-weight:900;color:#334155;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}
.table-picker-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.table-picker-fields label{font-size:11px;font-weight:800;color:var(--muted);display:flex;flex-direction:column;gap:4px}
.table-picker-fields input{height:34px;min-height:34px;border-radius:9px;padding:6px 8px;font-size:13px}
.table-picker-actions{display:flex;gap:7px;justify-content:flex-end}
.word-toolbar.compact .supsub{font-size:12px;font-weight:900;}
.word-toolbar.compact .supsub sup,.word-toolbar.compact .supsub sub{font-size:8px;}
.word-toolbar.compact .word-sep{display:none;}
@media(max-width:780px){
  .word-toolbar.compact{padding:4px;gap:2px;border-radius:9px;}
  .word-toolbar.compact .toolbar-group{padding:2px 3px;}
  .word-toolbar.compact .font-select{width:105px;min-width:90px;}
  .word-toolbar.compact .size-select{width:50px;min-width:46px;}
}



/* ── Ajustes de alinhamento ───────────────────────────────────── */
.medico-top-card{padding:6px 10px!important;min-height:0!important}
.medico-top-label{font-size:10px!important;margin-bottom:1px!important}
.medico-top-name{font-size:12px!important;line-height:1.15!important}
.medico-top-crm{font-size:11px!important;line-height:1.15!important}
.exam-active-card{padding:7px 10px!important;margin-top:6px!important;border-radius:7px!important}
.exam-active-title{font-size:12px!important;line-height:1.2!important}
.exam-active-sub{font-size:11px!important;line-height:1.25!important;margin-top:2px!important}
.workspace{margin-top:8px!important;gap:8px!important;padding:8px!important;border-radius:var(--radius)!important}
.workspace-panel{border-radius:var(--radius)!important}
.workspace-panel>h2,.panel h2{padding:6px 10px;font-size:11px}
.panel-body{padding:8px}
.tech-limit-box{margin-bottom:6px!important;border-radius:8px!important}
.tech-limit-box summary{padding:6px 9px!important;font-size:11px!important}
.tech-limit-body{padding:6px 8px!important;gap:4px!important}
.ig-ref-tabs{gap:3px;margin-bottom:6px;flex-wrap:wrap}
.ig-ref-tab{padding:3px 8px;font-size:11px;border-radius:3px}
.ig-dum-unknown{padding:3px 8px;font-size:11px}
.ig-ref-block{padding:7px 9px;margin-top:3px;border-radius:7px}
.ig-result-ref{font-size:10px;margin-top:3px;padding:2px 6px;border-radius:5px}
#wordCount{font-size:10px;margin-top:1px;padding:1px}
.val-group-head{padding:4px 8px;font-size:10px}
@media(max-width:780px){
 .micro{grid-template-columns:1fr;padding:6px 9px;gap:4px}
 .micro-label{padding-top:0}
 .workspace{padding:6px!important}
 .item-row{grid-template-columns:1fr 1fr;gap:4px}
 .measure-box{min-width:80px}
 .obst-grid{grid-template-columns:1fr 1fr}
 .ig-ref-tabs{gap:3px}
}


/* ── Formatação automática do laudo ───────────────────────────── */
.report-fixed-header{font-family:Tahoma,Arial,sans-serif;background:#fff;border:1px solid #d7e0ec;border-radius:10px;padding:10px 12px;margin:0 0 8px 0;color:#111;box-shadow:0 2px 8px rgba(23,32,51,.04)}
.report-fixed-header .report-meta{font-size:10px;line-height:1.25;margin-bottom:6px;color:#111}
.report-fixed-header .report-meta div{margin:1px 0}
.report-exam-title{text-align:center;font-family:Tahoma,Arial,sans-serif;font-size:14px;font-weight:700;text-decoration:underline;text-transform:uppercase;line-height:1.25;margin:6px 0 4px}
.report-technique{text-align:center;font-family:Tahoma,Arial,sans-serif;font-size:10px;font-style:italic;line-height:1.25;margin:3px 0 0;color:#333}
.doc{font-family:Tahoma,Arial,sans-serif!important;line-height:1.35!important;font-size:12.5px!important;padding:14px!important}
.doc p{margin:0 0 6px!important;line-height:1.35}
.doc .report-section-label{font-weight:700;text-transform:uppercase;margin:0 0 7px 0;letter-spacing:.02em}
.doc .report-organ{margin:0 0 9px 0;border-left:3px solid transparent;padding-left:4px;transition:background .35s ease, border-left-color .35s ease}
.doc .report-organ-title{font-weight:700;text-transform:uppercase;margin:9px 0 3px 0;font-size:1.06em;letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px}
.doc .report-organ:first-child .report-organ-title{margin-top:0}
.doc .report-msk-head{font-weight:700;text-transform:uppercase;margin:7px 0 1px;letter-spacing:.02em}
.doc .report-msk-section{font-weight:700;text-transform:uppercase;text-decoration:underline;text-underline-offset:2px;margin:9px 0 2px;letter-spacing:.03em}
.msk-section-head{font-weight:700;text-transform:uppercase;font-size:.86em;letter-spacing:.04em;margin:11px 0 3px;border-bottom:1.5px solid var(--accent,#3b6ea5);padding-bottom:2px;color:var(--accent,#3b6ea5)}
.doc .report-msk-inline{font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.msk-subgroup-head{font-weight:600;text-transform:uppercase;font-size:.82em;letter-spacing:.03em;color:var(--muted,#666);margin:8px 0 2px;border-bottom:1px solid var(--line,#e2e2e2);padding-bottom:2px}
.doc .report-organ.report-organ-flash{background:#fef3c7;border-left-color:#f59e0b;animation:reportOrganFlash 2.4s ease-out}
/* Sync campo↔frase (Fatia 1 P0): realça o bloco do órgão em foco no formulário. Decoração de tela — some ao imprimir. */
.doc .report-organ.rep-focus{background:var(--blue2);border-left-color:var(--blue)}
body.dark-mode .doc .report-organ.rep-focus{background:#132038;border-left-color:#3b82f6}
@media print{.doc .report-organ.rep-focus{background:none!important;border-left-color:transparent!important}}
#ttsBtn.tts-active{background:var(--danger);border-color:var(--danger);color:#fff;animation:ttsPulse 1.4s ease-in-out infinite}
@keyframes ttsPulse{0%,100%{opacity:1}50%{opacity:.7}}
#signBtn.signed{background:var(--success);border-color:var(--success);color:#fff}
#signBtn.signed:hover{filter:brightness(.92)}
.assinatura-banner{display:none}
.assinatura-banner.show{display:flex;align-items:center;gap:10px;
  padding:8px 12px;margin-bottom:8px;
  background:var(--success-bg);border:1px solid var(--success-border);border-radius:9px;
  font-size:12.5px;color:var(--success-fg)}
.assinatura-icon{font-size:18px;color:var(--success);font-weight:900;flex-shrink:0;display:inline-flex;align-items:center}
.assinatura-text{flex:1;line-height:1.4}
.assinatura-text b{color:var(--success-fg)}
.assinatura-hash{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;
  background:rgba(21,128,61,.15);padding:1px 6px;border-radius:4px;margin-left:6px}
body.dark-mode .doc .report-organ.report-organ-flash{background:#3b2f00}
@keyframes reportOrganFlash{
  0%{background:#fde68a;border-left-color:#d97706}
  20%{background:#fde68a;border-left-color:#d97706}
  100%{background:transparent;border-left-color:transparent}
}
.doc .report-hypothesis-title{font-weight:700;text-transform:uppercase;text-decoration:underline;margin:12px 0 6px 0}
.doc .report-hd-side{margin:6px 0 2px 0}.doc .report-hd-side b{font-weight:700}
.report-clinic-hdr{margin-bottom:4px}.report-clinic-hdr img{max-height:48px;max-width:160px;object-fit:contain}.report-clinic-hdr span[style*="color:#555"]{color:var(--muted)!important}.doc .report-signature{text-align:center;margin-top:20px;line-height:1.3;color:#111;border-top:1px solid #d1d5db;padding-top:16px}
.doc .report-footer-note{font-size:10px!important;line-height:1.22!important;text-align:justify;text-transform:uppercase;margin-top:14px;color:#374151;border-top:1px solid #e5e7eb;padding-top:8px}
.doc .report-references-title{font-size:10px!important;font-style:italic;text-transform:uppercase;letter-spacing:.02em;margin:14px 0 2px 0;color:#374151}
.doc .report-references{font-size:10px!important;line-height:1.25!important;font-style:italic;text-align:justify;color:#374151}
.doc .report-references div{margin:0 0 1px 0}
body.dark-mode .doc .report-references,body.dark-mode .doc .report-references-title{color:#9ca3af}
.word-toolbar .font-select option[value="Tahoma"]{font-weight:700}




/* ── Seletor de exame com card/aba ativa ─────────────────────── */
.exam-picker-panel{margin-top:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;z-index:3}
.exam-picker-head{padding:8px 12px 6px;background:#f2f5f9;border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}
.exam-picker-title{font-weight:700;color:var(--text);font-size:12px;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:6px}
.exam-picker-sub{font-size:11px;color:var(--muted);line-height:1.35;margin-top:1px}
.exam-picker-body{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr) auto;gap:8px;align-items:stretch;padding:8px 10px 10px;border-radius:0 0 var(--radius) var(--radius)}
.exam-start-btn{align-self:stretch;font-size:15px;font-weight:800;padding:0 26px;white-space:nowrap;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:4px}
.exam-picker-field{background:#fff;border:1px solid var(--line);border-radius:7px;padding:7px 10px;box-shadow:none}
.exam-select{height:44px;min-height:44px;border:1px solid var(--line);background:#fff;color:var(--text);font-weight:850;box-shadow:none}
.exam-select:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(36,90,156,.18)}
.exam-active-card{position:relative;padding:8px 12px;overflow:hidden;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:10px}
.exam-active-card:before{display:none}
.exam-active-main{position:relative;z-index:1}
.exam-active-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.78;margin-bottom:2px}
.exam-active-title{font-size:13px;font-weight:700;line-height:1.2}
.exam-active-tech{font-size:11px;line-height:1.3;opacity:.88;margin-top:3px;max-width:760px}
.exam-active-badge{position:relative;z-index:1;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);border-radius:5px;padding:3px 8px;font-size:11px;font-weight:700;white-space:nowrap}
.exam-picker-help{margin:0 10px 8px;border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}
.exam-picker-help>summary{list-style:none;cursor:pointer;padding:6px 10px;font-size:11px;font-weight:600;color:var(--muted);background:var(--soft)}
.exam-picker-help>summary::-webkit-details-marker{display:none}
.exam-picker-help>summary:after{content:' ▾';color:var(--muted)}
.exam-picker-help[open]>summary:after{content:' ▴'}
.exam-picker-help-body{padding:7px 10px;font-size:11px;color:var(--muted);line-height:1.45;border-top:1px solid var(--line)}
@media(max-width:900px){.exam-picker-body{grid-template-columns:1fr}.exam-active-card{align-items:flex-start;flex-direction:column}.exam-active-title{font-size:16px}.exam-active-badge{align-self:flex-start}}
@media(max-width:780px){.exam-picker-panel{border-radius:14px}.exam-picker-head{padding:10px 11px 6px}.exam-picker-body{padding:10px 11px 11px;gap:9px}.exam-active-card{border-radius:15px;padding:12px 13px}}

/* ── Toggle de escopo/técnica (mesmo modelo, técnica/modo diferente) ── */
.exam-scope-toggle{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.exam-scope-toggle .est-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.exam-scope-toggle .est-segs{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#f5f8fb}
.exam-scope-toggle .est-seg{border:none;background:none;color:var(--muted);padding:4px 12px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .12s,color .12s;border-right:1px solid var(--line)}
.exam-scope-toggle .est-seg:last-child{border-right:none}
.exam-scope-toggle .est-seg:hover{background:#eef3f9;color:var(--text)}
.exam-scope-toggle .est-seg.active{background:var(--blue);color:#fff}
.exam-picker-collapsed .exam-scope-toggle{margin-left:6px}
.exam-picker-collapsed .exam-scope-toggle .est-seg{padding:3px 10px;font-size:11px}
body.dark-mode .exam-scope-toggle .est-segs{background:#23272e;border-color:#353a42}
body.dark-mode .exam-scope-toggle .est-seg{color:#9aa4b2;border-color:#353a42}
body.dark-mode .exam-scope-toggle .est-seg:hover{background:#2a2f37;color:#e5e7ea}
body.dark-mode .exam-scope-toggle .est-seg.active{background:var(--blue);color:#fff}

/* ── Vitrine de modelos (cards com escopo + tags + favoritos + busca) ── */
.exam-vitrine{grid-column:1/-1;margin-top:4px;border-top:1px dashed var(--line);padding-top:8px}
.exam-vitrine:empty{display:none}
.evt-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}
.evt-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.evt-count{font-size:11px;color:var(--muted);font-weight:600}
.evt-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.evt-chip{border:1px solid var(--line);background:#f5f8fb;color:var(--muted);border-radius:999px;padding:3px 11px;font-size:11.5px;font-weight:600;cursor:pointer;transition:background .1s,border-color .1s,color .1s;font-family:inherit}
.evt-chip:hover{background:#eef3f9;border-color:#b8cce0;color:var(--text)}
.evt-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}
.evt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:8px;max-height:320px;overflow:auto;padding:2px 2px 4px}
.evt-card{position:relative;text-align:left;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 10px 8px;cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s;font-family:inherit;min-height:0}
.evt-card:hover{border-color:var(--blue);box-shadow:0 2px 8px rgba(26,86,219,.12)}
.evt-card.active{border-color:var(--blue);background:var(--blue2);box-shadow:0 0 0 1px var(--blue) inset}
.evt-card-label{font-size:12.5px;font-weight:700;color:var(--text);line-height:1.25;padding-right:18px}
.evt-card-scope{font-size:10.5px;color:var(--muted);line-height:1.3}
.evt-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:2px}
.evt-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:1px 5px;line-height:1.5}
.evt-tag-fam{background:#eef2f8;color:#5a6882;border:1px solid #dce5f0}
.evt-tag-mod{background:#e2eaf8;color:#1a3660;border:1px solid #8faacc}
.evt-fav{position:absolute;top:6px;right:6px;font-size:15px;line-height:1;color:#c8d3e0;cursor:pointer;user-select:none;transition:color .12s,transform .1s}
.evt-fav:hover{transform:scale(1.15)}
.evt-fav.on{color:#f5b301}
.evt-empty{grid-column:1/-1;font-size:11.5px;color:var(--muted);padding:12px;text-align:center;border:1px dashed var(--line);border-radius:8px;background:var(--soft)}
body.dark-mode .evt-chip{background:#23272e;border-color:#353a42;color:#9aa4b2}
body.dark-mode .evt-chip:hover{background:#2a2f37;color:#e5e7ea}
body.dark-mode .evt-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}
body.dark-mode .evt-card{background:#1f2228;border-color:#353a42}
body.dark-mode .evt-card:hover{border-color:var(--blue)}
body.dark-mode .evt-card.active{background:#132038;border-color:#3b82f6}
body.dark-mode .evt-card-label{color:#e5e7ea}
body.dark-mode .evt-tag-fam{background:#262b33;color:#9aa4b2;border-color:#3a4049}
body.dark-mode .evt-tag-mod{background:#1c2a44;color:#a9c2ea;border-color:#2f4468}
body.dark-mode .evt-empty{background:#1f2228;border-color:#353a42}

/* ── Modo noturno ─────────────────────────────────────────────── */
body.dark-mode{
  --bg:#15171b;--card:#1f2228;--line:#353a42;--text:#e5e7ea;--muted:#969ca6;
  --blue:#6293c4;--blue2:#26303c;--green:#5cc98a;--green2:#122318;
  --red:#ef8a8a;--red2:#2a1414;--amber:#e6b260;--amber2:#241c0d;
  --soft:#1b1e23;--shadow:none;--shadow-pop:0 4px 16px rgba(0,0,0,.5);
  --accent:#8b83f7;--accent-strong:#a89ffb;--accent-soft:#23213a;--accent-fg:#0b0d12
}
body.dark-mode .top{background:var(--bg)}
body.dark-mode .drawer>summary{color:var(--text)}
body.dark-mode .drawer>summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23a0b4cc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 4 5-4'/%3E%3C/svg%3E")}
body.dark-mode .drawer[open]>summary{background:#2c313a;color:var(--blue)}
body.dark-mode .drawer[open]>summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231a56db' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 4 5-4'/%3E%3C/svg%3E")}
body.dark-mode .obst-panel{background:var(--bg);border-color:var(--line)}
body.dark-mode .obst-head{color:var(--muted)}
body.dark-mode .ig-ref-block.warn{background:#1f1800;border-color:#3a2e00}
body.dark-mode .doc.locked{background:#191c21}
body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background:var(--card);color:var(--text);border-color:var(--line)}
body.dark-mode input:focus,body.dark-mode select:focus,body.dark-mode textarea:focus{border-color:var(--blue)}
body.dark-mode .btn{background:var(--card);color:#d7dbe1;border-color:var(--line)}
body.dark-mode .btn:hover{border-color:var(--blue);color:var(--blue)}
body.dark-mode .btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}
body.dark-mode .btn.green{background:#15803d;color:#fff}
body.dark-mode .btn.red{background:transparent;color:var(--red);border-color:#3a1515}
body.dark-mode .report-fixed-header{background:var(--card);border-color:var(--line);color:#e2e8f0}
body.dark-mode .report-clinic-hdr>div{border-bottom-color:#4b5563!important}body.dark-mode .report-clinic-hdr span{color:#d7dbe1!important}
body.dark-mode .doc .report-signature{border-top-color:#374151;color:#e2e8f0}
body.dark-mode .doc .report-footer-note{color:#9ca3af;border-top-color:#374151}
body.dark-mode .report-exam-title,body.dark-mode .report-technique{color:#e2e8f0}
body.dark-mode .dropdown-menu{background:var(--card);border-color:var(--line)}
body.dark-mode .dropdown-menu button{color:#e5e7ea}
body.dark-mode .dropdown-menu button:hover{background:#2c313a;color:var(--blue)}
body.dark-mode .pill,body.dark-mode .radio-pill{background:var(--card);border-color:var(--line)}
body.dark-mode .pill.active,body.dark-mode .radio-pill.active{background:var(--blue2);border-color:var(--blue);color:var(--blue)}
body.dark-mode .top-doctor{background:rgba(255,255,255,.08)}

/* Botão de toggle do modo noturno */
#darkToggle{border:none;background:none;color:rgba(255,255,255,.6);border-radius:6px;padding:4px 8px;font-size:15px;cursor:pointer;transition:background .15s,color .15s}
#darkToggle:hover{background:rgba(255,255,255,.1);color:#fff}


/* ── Separação visual por exame/órgão ───────────────────────────
   Versão suavizada: cores menos saturadas e microitens sem sombra colorida. */
.exam-theme{
  --exam-main:#5b7fb6;
  --exam-alt:#7aa6c8;
  --exam-soft:#f6f9fd;
  --exam-border:#d7e2f0;
  --exam-text:#31506f;
}
.exam-theme-abdome{--exam-main:#5b7fb6;--exam-alt:#7aa6c8;--exam-soft:#f6f9fd;--exam-border:#d7e2f0;--exam-text:#31506f}
.exam-theme-superior{--exam-main:#5879ad;--exam-alt:#86b4d0;--exam-soft:#f6fafc;--exam-border:#d9e6f0;--exam-text:#31506a}
.exam-theme-rins{--exam-main:#4f879d;--exam-alt:#7ab8c4;--exam-soft:#f4fbfb;--exam-border:#d2eaee;--exam-text:#2f5d65}
.exam-theme-pelvico,.exam-theme-transvaginal{--exam-main:#a26782;--exam-alt:#c990aa;--exam-soft:#fcf7fa;--exam-border:#edd8e3;--exam-text:#6e3b51}
.exam-theme-prostata{--exam-main:#8069b0;--exam-alt:#a38fc8;--exam-soft:#f8f6fc;--exam-border:#ded7ef;--exam-text:#554575}
.exam-theme-tireoide,.exam-theme-tireoideDopp{--exam-main:#4f8d86;--exam-alt:#7ab9af;--exam-soft:#f5fbfa;--exam-border:#cfe8e4;--exam-text:#315f5b}
.exam-theme-mamas,.exam-theme-mamasSo,.exam-theme-axilasSo{--exam-main:#a36cae;--exam-alt:#c795c9;--exam-soft:#fcf7fd;--exam-border:#ebd7ee;--exam-text:#6a4671}
.exam-theme-partes,.exam-theme-paredeAbdominal,.exam-theme-regiaoInguinal{--exam-main:#667281;--exam-alt:#9aa7b4;--exam-soft:#f8fafc;--exam-border:#d5dce5;--exam-text:#3e4a58}
.exam-theme-cervical,.exam-theme-glandulasSalivares{--exam-main:#5d8390;--exam-alt:#8eacb6;--exam-soft:#f6fafb;--exam-border:#d7e5ea;--exam-text:#385663}
.exam-theme-msk,.exam-theme-ombro,.exam-theme-cotovelo,.exam-theme-punho,.exam-theme-mao,.exam-theme-quadril,.exam-theme-joelho,.exam-theme-tornozelo,.exam-theme-pe{--exam-main:#b4825a;--exam-alt:#d0a778;--exam-soft:#fcfaf6;--exam-border:#eadcca;--exam-text:#704f35}
.exam-theme-obst1t,.exam-theme-obstmorf1t,.exam-theme-obst23t,.exam-theme-obstmorf2t,.exam-theme-obstdoppler,.exam-theme-obstpbf{--exam-main:#5a946d;--exam-alt:#72a6a5;--exam-soft:#f5fbf7;--exam-border:#d2ead9;--exam-text:#365f43}
.exam-theme-dopCervical,.exam-theme-dopMmii,.exam-theme-dopAortoIliaco,.exam-theme-dopRenal{--exam-main:#a36464;--exam-alt:#d09a73;--exam-soft:#fcf8f6;--exam-border:#ecd7d1;--exam-text:#704040}

.exam-theme .organ{
  background:#fff;
  border:1px solid var(--exam-border)!important;
  border-radius:13px!important;
  box-shadow:0 4px 12px rgba(23,32,51,.045)!important;
  overflow:hidden;
  position:relative;
}
.exam-theme .organ:before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:var(--exam-main);
  opacity:.55;
}
.exam-theme .organ-head{
  background:linear-gradient(135deg,var(--exam-main),var(--exam-alt))!important;
  color:#fff!important;
  border-bottom:0!important;
  padding:8px 11px!important;
  font-size:13px!important;
  letter-spacing:.01em;
}
.exam-theme .organ-head .btn{
  background:rgba(255,255,255,.18)!important;
  border-color:rgba(255,255,255,.38)!important;
  color:#fff!important;
  min-height:25px!important;
  padding:3px 8px!important;
  font-size:11px!important;
}
.exam-theme .organ-head .template-edit-btn{
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
  opacity:.9!important;
}
.exam-theme .micro{
  margin:3px 6px;
  padding:6px 8px!important;
  border:1px solid var(--line)!important;
  border-radius:6px;
  background:#fff!important;
  box-shadow:none!important;
}
.exam-theme .micro:last-child{margin-bottom:6px;border-bottom:1px solid var(--line)!important}
.exam-theme .micro-label{
  color:var(--muted)!important;
  background:none!important;
  border:none!important;
  border-radius:0!important;
  padding:3px 0 0 0!important;
  align-self:start;
  box-shadow:none!important;
  font-size:10px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
  line-height:1.2!important;
}
.exam-theme .inline-options{gap:4px!important}
.exam-theme .conditional{
  border-color:var(--line)!important;
  background:var(--soft)!important;
  box-shadow:none!important;
}
.exam-theme .drawer:not(.limbox){border-color:var(--line)!important;background:#fff!important}
.exam-theme .drawer:not(.limbox)>summary{background:var(--soft)!important;color:var(--text)!important}
.exam-theme .drawer:not(.limbox)[open]>summary{background:var(--blue2)!important;color:var(--blue)!important}
.exam-theme .obst-panel{
  border-color:var(--exam-border)!important;
  box-shadow:0 4px 12px rgba(23,32,51,.045)!important;
}
.exam-theme .obst-head{background:#f2f5f9!important;color:var(--muted)!important;border-bottom:1px solid var(--line)!important}
.exam-theme .obst-section{
  margin:6px 8px;
  border:1px solid #e3e8ef!important;
  border-radius:10px;
  background:#fff!important;
  padding:7px 9px!important;
  box-shadow:none!important;
}
.exam-theme .obst-section-title{color:#334155!important}

body.dark-mode .exam-theme .organ{background:var(--bg);border-color:var(--line)!important;box-shadow:none!important}
body.dark-mode .exam-theme .micro,body.dark-mode .exam-theme .obst-section{background:var(--card)!important;border-color:var(--line)!important;box-shadow:none!important}
body.dark-mode .exam-theme .micro-label{background:none!important;border:none!important;color:var(--muted)!important;box-shadow:none!important}
body.dark-mode .exam-theme .pill,body.dark-mode .exam-theme .radio-pill{background:#2c313a!important;border-color:var(--line)!important;color:var(--muted)!important}
body.dark-mode .exam-theme .pill.active,body.dark-mode .exam-theme .radio-pill.active{background:#1a2a40!important;border-color:#4d7ab5!important;color:#a8c8f0!important}
body.dark-mode .exam-theme .drawer:not(.limbox)>summary{background:var(--card)!important;color:var(--text)!important}
@media(max-width:780px){.exam-theme .micro{margin:5px 6px}.exam-theme .micro-label{border-left-width:2px}}
/* ── Bloco independente de idade gestacional nos obstétricos ───── */
.exam-theme .obst-age-card{border-color:var(--exam-border)!important;background:#fff!important}
.exam-theme .obst-age-card .organ-head{background:#f2f5f9!important;color:var(--muted)!important}
.exam-theme .obst-age-card .micro{background:var(--exam-soft)!important}
body.dark-mode .exam-theme .obst-age-card{background:var(--bg)!important;border-color:var(--line)!important}
body.dark-mode .exam-theme .obst-age-card .micro{background:var(--card)!important}



/* ── Auto-save / recuperação de rascunho ────────────────────── */
@keyframes slideUp{from{opacity:0;transform:translateX(-50%) translateY(12px)}
  to{opacity:1;transform:translateX(-50%) translateY(0)}}
/* Faixa EM FLUXO no topo (não cobre formulário/preview — antes era um toast fixo
   sobre o conteúdo, que escondia campos até ser respondido). */
#autosave-banner{display:none;position:static;width:100%;
  background:#1e3a8a;color:#fff;border-radius:0;padding:8px 16px;
  align-items:center;gap:12px;font-size:13px;font-weight:800;flex-wrap:wrap}
#autosave-banner .btn{padding:4px 12px;min-height:28px;font-size:12px}
#autosave-banner.show{display:flex}
#autosave-banner .ab-msg{flex:1}
#autosave-banner .ab-time{font-size:11px;opacity:.75;font-weight:700}
.autosave-dot{display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#22c55e;margin-right:5px;animation:pulse 2s infinite}

/* ── Busca rápida de exame ───────────────────────────────────── */
/* Chips de pélvico e próstata */
.chips{display:flex;gap:5px;flex-wrap:wrap;margin:4px 0}
.chip{display:inline-flex;align-items:center;border:1px solid #dce5f0;background:#f5f8fb;border-radius:3px;padding:3px 9px;min-height:24px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;transition:background .1s,border-color .1s,color .1s;user-select:none}
.chip:hover{background:#eef3f9;border-color:#b8cce0;color:var(--text)}
.chip-normal{border-color:#a7d9b4;color:#15803d;background:#ecfdf3}
.chip-normal:hover{background:#d1fae5;border-color:#6ee7b7;color:#047857}
.chip-patol{border-color:#f3b2ac;color:var(--red);background:#fff1f0}
.chip-patol:hover{background:#ffe4e1;border-color:#fca5a5;color:#991b1b}
.chip-sel-normal{background:#15803d!important;border-color:#15803d!important;color:#fff!important;font-weight:700}
.chip-sel-patol{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;font-weight:700}
.sub-section{margin-bottom:8px}
.sub-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;display:flex;align-items:center;gap:4px}
.sub-title-normal{color:#15803d}
.sub-title-patol{color:var(--red)}
.vol-formula{font-size:11px;color:var(--muted);background:#f5f8fb;border:1px dashed #d8e2ed;border-radius:5px;padding:4px 8px;margin-bottom:8px}
.vol-result-val{font-size:14px;font-weight:700;color:var(--blue);background:#f0f5ff;border:1px solid #c7d8f4;border-radius:6px;padding:5px 10px;min-width:80px;text-align:center;min-height:30px;display:flex;align-items:center;justify-content:center}
.vol-arrow{font-size:18px;color:#94a3b8;font-weight:400;padding-bottom:2px}
.measure-item{display:flex;flex-direction:column;gap:3px}
.measure-label{font-size:11px;font-weight:600;color:var(--muted)}
.measure-input{display:flex;align-items:center;gap:4px}
.measure-input input{width:72px;min-width:0;height:28px;min-height:28px;padding:3px 6px}
.measure-unit{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap}
.textarea-field{margin-top:6px}
.textarea-field textarea{font-size:12px;min-height:48px;line-height:1.4}
.section-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:8px}
.section-header{display:flex;align-items:center;gap:8px;padding:7px 12px;background:#f2f5f9;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.section-title{flex:1}
.section-body{padding:10px 12px}
.tag-normal{background:#ecfdf3;border:1px solid #a7d9b4;color:#15803d;font-size:10px;font-weight:700;border-radius:4px;padding:1px 7px;text-transform:uppercase;letter-spacing:.04em}
.btn-normal{border:1px solid #a7d9b4;background:#ecfdf3;color:#15803d;border-radius:5px;padding:3px 9px;min-height:24px;font-size:11px;font-weight:700;cursor:pointer}
.btn-normal:hover{background:#d1fae5;border-color:#6ee7b7}
body.dark-mode .chip{background:var(--card);border-color:var(--line);color:var(--muted)}
body.dark-mode .chip-normal{background:#0d2318;border-color:#15803d;color:#4ade80}
body.dark-mode .chip-patol{background:#2d1515;border-color:#b42318;color:#fca5a5}
body.dark-mode .section-card{background:var(--bg);border-color:var(--line)}
body.dark-mode .section-header{background:#23272e;border-color:var(--line)}

.exam-search-wrap{position:relative;width:100%}
#examSearch{width:100%;padding-right:28px}
#examSearch:focus{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.14)}
.exam-search-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);
  border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:15px;
  padding:0;line-height:1;display:none}
.exam-search-clear.show{display:block}
#examDropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;
  background:#fff;border:1px solid #d4defc;border-radius:12px;
  box-shadow:0 8px 24px rgba(79,70,229,.18);z-index:9000;
  max-height:280px;overflow-y:auto}
body.dark-mode #examDropdown{background:var(--card);border-color:var(--line)}
#examDropdown.show{display:block}
.exam-dd-group{padding:6px 10px 2px;font-size:10px;font-weight:900;
  color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.exam-dd-item{padding:7px 12px;font-size:13px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;gap:8px;border-radius:8px;margin:1px 4px;transition:background .1s}
.exam-dd-item:hover,.exam-dd-item.active{background:#eef4ff;color:#3730a3}
body.dark-mode .exam-dd-item:hover,body.dark-mode .exam-dd-item.active{background:#2c313a;color:var(--blue)}
.exam-dd-item mark{background:#fde68a;border-radius:3px;padding:0 2px;color:#1e293b}
.exam-dd-empty{padding:10px 14px;font-size:12px;color:var(--muted);text-align:center}

/* ── Gemelaridade ────────────────────────────────────────────── */
.gemeo-tabs{display:flex;gap:4px;margin-bottom:8px;border-bottom:2px solid var(--line);padding-bottom:4px}
.gemeo-tab{border:1px solid var(--line);background:#fff;border-radius:8px 8px 0 0;
  padding:5px 14px;font-size:12px;font-weight:800;cursor:pointer;color:var(--muted);
  margin-bottom:-2px;border-bottom:2px solid transparent;transition:all .15s}
.gemeo-tab.active{background:#fff;border-color:var(--line) var(--line) #fff;
  color:#1e3a8a;border-bottom-color:#fff}
body.dark-mode .gemeo-tab.active{background:var(--card);border-bottom-color:var(--card)}
.gemeo-add{border:1px dashed #6b8ef5;background:transparent;color:#3b5bdb;
  border-radius:8px;padding:4px 10px;font-size:12px;font-weight:800;cursor:pointer}
.gemeo-add:hover{background:#eef4ff}
.gemeo-del{border:0;background:transparent;color:var(--muted);font-size:13px;
  cursor:pointer;padding:0 4px;margin-left:2px}
.gemeo-del:hover{color:var(--red)}
.gemeo-label{font-size:10.5px;font-weight:900;color:#1e3a8a;
  padding:4px 10px;background:#eef4ff;border-radius:6px;margin-bottom:6px;display:inline-block}
body.dark-mode .gemeo-label{background:#23272e;color:var(--blue)}

/* ── Items de inconsistência (usados no painel unificado e no review) ── */
.incons-item{border:1px solid var(--danger-border);background:var(--card);border-radius:9px;
  padding:7px 10px;display:flex;align-items:center;gap:8px;font-size:12px}
.incons-icon{font-size:15px;flex-shrink:0;display:inline-flex;align-items:center;color:var(--danger)}
.incons-text{flex:1;color:var(--text);line-height:1.4}
.incons-text b{color:var(--danger)}
.incons-action{border:1px solid var(--danger-border);background:transparent;color:var(--danger);
  border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.incons-action:hover{background:var(--danger-bg-strong)}
.incons-item.warn{border-color:var(--warn-border);background:var(--warn-bg)}
.incons-item.warn .incons-icon{color:var(--warn)}
.incons-item.warn .incons-text b{color:var(--warn-fg)}
.incons-item.warn .incons-action{border-color:var(--warn-border);color:var(--warn)}
.incons-item.warn .incons-action:hover{background:var(--warn-bg-strong)}

/* ── Autocomplete de solicitante ────────────────────────────── */
.sol-ac-wrap{position:relative;width:100%}
#solicitante{width:100%}
#solAcDropdown{display:none;position:fixed;background:#fff;border:1px solid #d4defc;
  border-radius:12px;box-shadow:0 8px 24px rgba(79,70,229,.13);z-index:9100;
  max-height:260px;overflow-y:auto;min-width:220px}
body.dark-mode #solAcDropdown{background:var(--card);border-color:var(--line)}
#solAcDropdown.show{display:block}
.sol-ac-item{padding:8px 12px;font-size:12.5px;font-weight:700;cursor:pointer;
  display:flex;flex-direction:column;gap:1px;border-radius:8px;margin:2px 4px;transition:background .1s}
.sol-ac-item:hover,.sol-ac-item.sel{background:#eef4ff;color:#1e3a8a}
body.dark-mode .sol-ac-item:hover,body.dark-mode .sol-ac-item.sel{background:#2c313a;color:var(--blue)}
.sol-ac-item mark{background:#fde68a;border-radius:3px;padding:0 2px;color:#1e293b}
.sol-ac-sub{font-size:11px;color:var(--muted);font-weight:600}
.sol-ac-divider{height:1px;background:var(--line);margin:4px 8px}
.sol-ac-action{padding:8px 12px;font-size:12px;font-weight:800;cursor:pointer;
  color:#3b5bdb;display:flex;align-items:center;gap:6px;border-radius:8px;margin:2px 4px}
.sol-ac-action:hover{background:#eef4ff}
.sol-ac-save-hint{display:none;align-items:center;gap:6px;margin-top:6px;
  padding:8px 10px;background:#f8fbff;border:1px solid #d4defc;border-radius:10px;
  font-size:11px;color:var(--muted);flex-wrap:wrap}
body.dark-mode .sol-ac-save-hint{background:var(--bg);border-color:var(--line)}
.sol-ac-save-hint.show{display:flex}
.sol-ac-save-btn{border:1px solid #a7d7b8;background:#ecfdf3;color:#15803d;
  border-radius:6px;padding:3px 9px;font-size:11px;font-weight:800;cursor:pointer}
.sol-ac-save-btn:hover{background:#dcfce7}

/* ── Modal de validação pré-exportação ───────────────────────────── */
#validacaoModal{display:none;position:fixed;inset:0;z-index:9200;align-items:center;justify-content:center;background:rgba(17,28,50,.55);backdrop-filter:blur(3px)}
#validacaoModal.show{display:flex}
#validacaoModalBox{background:var(--card);border-radius:18px;box-shadow:0 8px 40px rgba(17,28,50,.22);max-width:480px;width:94vw;padding:0;overflow:hidden}
#validacaoModalBox .vmod-head{background:var(--danger);color:#fff;padding:14px 20px;display:flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px}
#validacaoModalBox .vmod-head svg{flex-shrink:0}
#validacaoModalBox .vmod-body{padding:16px 20px;max-height:50vh;overflow-y:auto}
.vmod-item{display:flex;gap:9px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px;line-height:1.4}
.vmod-item:last-child{border-bottom:none}
.vmod-item.crit .vmod-icon{color:var(--danger)}
.vmod-item.warn .vmod-icon{color:var(--warn)}
.vmod-icon{font-size:16px;margin-top:1px;flex-shrink:0}
#validacaoModalBox .vmod-foot{padding:12px 20px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border);background:var(--bg)}
.vmod-override{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);cursor:pointer}
.vmod-override input{width:14px;height:14px;min-height:0;margin:0}
.vmod-actions{display:flex;gap:8px;justify-content:flex-end}
#validacaoProsseguirBtn:disabled{opacity:.45;cursor:not-allowed}

/* ── Barra de achados ativos ─────────────────────────────────────── */
#achadosBar{display:none;align-items:baseline;gap:6px;flex-wrap:wrap;
  background:var(--card);border:1px solid var(--line);border-radius:11px;
  padding:6px 12px;margin-top:8px;font-size:12px;line-height:1.4;
  box-shadow:0 2px 6px rgba(23,32,51,.05)}
#achadosBar.show{display:flex}
#achadosBar .ab-label{font-weight:900;color:var(--muted);white-space:nowrap;flex-shrink:0}
#achadosBar .ab-list{display:flex;flex-wrap:wrap;gap:4px 6px;min-width:0}
#achadosBar .ab-chip{display:inline-flex;align-items:center;gap:3px;
  background:var(--blue2);color:var(--blue);border:1px solid #c5d9f5;
  border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:750;
  white-space:nowrap}
#achadosBar .ab-chip.crit{background:var(--red2);color:var(--red);border-color:#f3c8c4}
#achadosBar .ab-chip.warn{background:var(--amber2);color:var(--amber);border-color:#f0d8a0}
#achadosBar .ab-empty{color:var(--muted);font-style:italic;font-size:12px}
/* Ocultar painéis inline de inconsistências (substituídos pelo módulo global) */
#achadosBar{display:none!important}
#inconsPanel{display:none!important}
#unitPanel{display:none!important}

/* ── Badge no botão Revisar laudo ─────────────────────────────── */
.review-badge{display:inline-flex;align-items:center;justify-content:center;
  background:#b42318;color:#fff;border-radius:999px;
  min-width:17px;height:17px;font-size:10px;font-weight:800;
  padding:0 4px;margin-left:5px;vertical-align:middle;line-height:1}
#reviewBtn.has-warnings{border-color:#f3b2ac;color:#b42318}
#reviewBtn.has-critico{background:#fff1f0;border-color:#f3b2ac;color:#b42318}
#reviewBtn.has-critico:hover{background:#fee2e2}

/* ── Modal de Revisão do laudo ────────────────────────────────── */
.review-modal-overlay{display:none;position:fixed;inset:0;z-index:10500;
  background:rgba(15,22,35,.48);backdrop-filter:blur(2px);
  align-items:flex-start;justify-content:flex-end}
.review-modal-overlay.show{display:flex}
.review-modal-box{background:var(--card);width:min(460px,100vw);height:100vh;
  overflow:hidden;display:flex;flex-direction:column;
  box-shadow:-4px 0 28px rgba(15,22,35,.18);
  transform:translateX(20px);opacity:0;transition:transform .2s ease,opacity .2s ease}
.review-modal-overlay.show .review-modal-box{transform:translateX(0);opacity:1}
.review-modal-head{padding:11px 14px;background:#f2f5f9;border-bottom:1px solid var(--line);
  display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-shrink:0}
.review-modal-title{font-size:13px;font-weight:800;color:var(--text);line-height:1.25}
.review-modal-summary{font-size:11px;color:var(--muted);font-weight:600;margin-top:2px}
.review-modal-close{border:0;background:transparent;color:var(--muted);font-size:18px;
  line-height:1;cursor:pointer;padding:0 3px;border-radius:5px;
  min-width:26px;min-height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.review-modal-close:hover{background:var(--line);color:var(--text)}
.review-modal-correction{padding:7px 14px;background:#ecfdf3;border-bottom:1px solid #a7e6bf;
  font-size:11px;color:#15803d;font-weight:600;flex-shrink:0}
.review-modal-body{flex:1;overflow-y:auto;padding:10px;display:grid;gap:8px;align-content:start}
.review-modal-group{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.review-modal-group-head{padding:6px 10px;background:var(--soft);
  border-bottom:1px solid var(--line);font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  display:flex;align-items:center;justify-content:space-between;gap:6px}
.review-modal-group-count{background:var(--line);color:var(--muted);
  border-radius:999px;padding:1px 7px;font-size:10px;font-weight:800}
.review-modal-group-count.crit{background:#fca5a5;color:#b42318}
.review-modal-group-count.warn{background:#f0d8a0;color:#9a5b00}
.review-modal-items{padding:6px;display:grid;gap:4px}
.review-modal-item{border:1px solid var(--line);border-radius:6px;padding:7px 9px;
  background:#fff;font-size:11px;line-height:1.35;
  display:flex;align-items:flex-start;gap:7px}
.review-modal-item-icon{font-size:13px;flex-shrink:0;margin-top:1px}
.review-modal-item-body b{font-size:12px;font-weight:700;color:var(--text);
  display:block;margin-bottom:2px}
.review-modal-item-body .small{font-size:11px;color:var(--muted);line-height:1.35}
.review-modal-item.critico{background:var(--red2);border-color:#f3b2ac}
.review-modal-item.critico .review-modal-item-body b{color:var(--red)}
.review-modal-item.alerta{background:var(--amber2);border-color:#f0ca7c}
.review-modal-item.alerta .review-modal-item-body b{color:var(--amber)}
.review-modal-item.sugestao{background:var(--blue2);border-color:#c5d9f5}
.review-modal-item.sugestao .review-modal-item-body b{color:var(--blue)}
.review-modal-empty{text-align:center;padding:32px 20px;color:var(--muted);font-size:12px;
  display:flex;flex-direction:column;align-items:center;gap:6px}
.review-modal-empty .rm-ok-icon{font-size:28px;color:var(--green)}
.review-modal-empty b{font-size:13px;color:var(--green)}
.review-modal-footer{padding:10px 14px;border-top:1px solid var(--line);flex-shrink:0;
  display:flex;gap:8px;justify-content:flex-end;background:var(--soft)}
body.dark-mode .review-modal-box{background:var(--card);border-color:var(--line)}
body.dark-mode .review-modal-head{background:#191c21;border-color:var(--line)}
body.dark-mode .review-modal-group{border-color:var(--line)}
body.dark-mode .review-modal-group-head{background:#191c21;border-color:var(--line)}
body.dark-mode .review-modal-item{background:var(--card);border-color:var(--line)}
body.dark-mode .review-modal-item.critico{background:#2a1010;border-color:#7f1d1d}
body.dark-mode .review-modal-item.alerta{background:#1f1500;border-color:#854d0e}
@media(max-width:780px){.review-modal-box{width:100vw}.review-modal-body{padding:7px}}

/* ── Obstétrico 1T / Morfológico 1T: cartões guiados ───────────── */
.obst-friendly{display:grid;gap:6px}
.obst-friendly .obst-section{border:1px solid var(--exam-border,#d2ead9);border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(23,32,51,.04);overflow:hidden;margin:0 0 6px 0;padding:0!important}
.obst-friendly .obst-section-title{display:flex;align-items:center;gap:6px;margin:0!important;padding:6px 10px!important;background:#f2f5f9;color:var(--muted)!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em;border-bottom:1px solid var(--line)}
.obst-friendly .obst-section-title:before{display:none}
.obst-friendly .obst-section>.obst-grid{padding:7px 9px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px}
.obst-friendly .obst-field{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:5px 7px;min-width:0}
.obst-friendly .obst-field label{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:#64748b;margin-bottom:1px}
.obst-friendly .obst-field input,.obst-friendly .obst-field select{background:#fff;border-color:#d4deec;border-radius:8px;height:28px;min-height:28px;font-weight:700}
.obst-summary-card{border:1px solid var(--line);background:var(--soft);border-radius:var(--radius);padding:7px 9px;margin-bottom:6px;box-shadow:var(--shadow)}
.obst-summary-title{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.obst-summary-line{display:flex;gap:4px;flex-wrap:wrap;align-items:center;font-size:11px;color:#334155;line-height:1.25}
.obst-chip{display:inline-flex;align-items:center;gap:3px;border-radius:3px;padding:3px 7px;background:#e2eaf8;border:1px solid #8faacc;color:#1a3660;font-size:10.5px;font-weight:700;white-space:nowrap}
.obst-chip.warn{background:#fff7e6;border-color:#f0ca7c;color:#9a5b00}.obst-chip.bad{background:#fff1f0;border-color:#f3b2ac;color:#b42318}
.obst-card-list{display:grid;gap:6px;padding:7px 9px}
.obst-subcard{border:1px solid var(--line);background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.obst-subcard-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;background:#f2f5f9;border-bottom:1px solid var(--line)}
.obst-subcard-title{font-size:11px;font-weight:700;color:var(--text);line-height:1.15}
.obst-subcard-sub{font-size:10px;color:var(--muted);font-weight:600;margin-top:0;line-height:1.15}
.obst-subcard-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:700;border:1px solid #8faacc;background:#e2eaf8;color:#1a3660;white-space:nowrap}
.obst-subcard-badge.warn{background:#fff7e6;border-color:#f0ca7c;color:#9a5b00}.obst-subcard-badge.bad{background:#fff1f0;border-color:#f3b2ac;color:#b42318}.obst-subcard-badge.neutral{background:#eef2f7;border-color:#cbd5e1;color:#475569}
.obst-subcard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:6px;padding:7px 8px}
.obst-embryo-card{border-color:var(--line)}.obst-embryo-card .obst-subcard-head{background:#f2f5f9}
.obst-morf-card .obst-subcard-head{background:#f2f5f9}
.obst-help{font-size:11px;color:#64748b;line-height:1.35;padding:0 12px 10px;margin-top:-2px}
.obst-help b{color:#334155}
.obst-morph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;padding:7px 9px}
.obst-morph-row{display:grid;grid-template-columns:1fr 118px;gap:5px;align-items:center;border:1px solid var(--line);background:var(--soft);border-radius:var(--radius);padding:6px 7px}
.obst-morph-label{font-size:11.5px;font-weight:900;color:#334155;line-height:1.2}.obst-morph-hint{font-size:10px;color:#64748b;font-weight:650;margin-top:0}
.obst-morph-row select{height:28px;min-height:28px;border-radius:8px;background:#fff;font-weight:800}
/* Morfológico (UX jun/2026): linhas que expandem — sistema em linha; ao marcar "Alterado" a linha
   ganha destaque âmbar e o seletor de ACHADO aparece logo abaixo. Usado no 1T e no 2T (.obst-mgrid). */
.obst-mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:8px;align-items:start;padding:7px 9px}
.obst-mrow{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);background:var(--soft);border-radius:var(--radius);padding:7px 9px;border-left:3px solid transparent}
.obst-mrow-top{display:grid;grid-template-columns:1fr 132px;gap:8px;align-items:center}
.obst-mrow select{height:28px;min-height:28px;border-radius:8px;background:#fff;font-weight:800;font-size:12px}
.obst-mrow.is-alt{border-color:#f59e0b;border-left-color:#f59e0b;background:#fff7ed}
.obst-mrow.is-lim{border-color:#cbd5e1;border-left-color:#94a3b8;background:#f1f5f9}
.obst-mrow-ach{display:flex;align-items:center;gap:8px}
.obst-mrow-ach>label{font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#9a3412;white-space:nowrap}
.obst-mrow-ach>select{flex:1;border-color:#f59e0b}
.obst-mrow-freehint{font-size:11px;color:#9a3412;font-style:italic}
.obst-risk-note{font-size:11px;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:6px 9px;margin:8px 0 0}
body.dark-mode .obst-risk-note{background:rgba(245,158,11,.10);border-color:#b45309;color:#fbbf24}
/* Seção morfológica colapsável (1T: risco materno/TN sob demanda) */
.obst-collapse>summary{cursor:pointer;user-select:none;display:list-item;padding:2px 0}
.obst-collapse>summary:hover{opacity:.85}
.obst-collapse[open]>summary{margin-bottom:6px}
.obst-mrow-med{display:flex;flex-direction:column;gap:2px}
.obst-mrow-med>label{font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#9a3412}
.obst-mrow-med>input{height:28px;min-height:28px;border:1px solid #f59e0b;border-radius:8px;background:#fff;font-weight:700;font-size:12px;padding:2px 8px}
body.dark-mode .obst-mrow-med>label{color:#fbbf24}
body.dark-mode .obst-mrow-med>input{background:var(--card);color:var(--fg)}
/* Auto-flag por medida (revisão UX jun/2026): banner de validação pendente + badge/estado por linha. */
.obst-auto-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff7ed;border:1px solid #f59e0b;border-left:3px solid #f59e0b;border-radius:var(--radius);padding:7px 10px;margin:0 0 8px;font-size:12px;color:#9a3412;font-weight:700}
.obst-auto-banner button,.obst-auto-okbtn{border:1px solid #f59e0b;background:#f59e0b;color:#fff;border-radius:8px;padding:3px 10px;font-size:11px;font-weight:800;cursor:pointer}
.obst-auto-banner button:hover,.obst-auto-okbtn:hover{filter:brightness(.95)}
.obst-mrow.is-autopend{border-left-color:#ea580c;box-shadow:inset 0 0 0 1px #fdba74}
.obst-mrow-autoval{display:flex;align-items:center;gap:8px;font-size:10.5px}
.obst-mrow-autoval.ok{color:#15803d;font-weight:800}
.obst-mrow-autotag{font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#9a3412}
.obst-mrow-medfix{font-size:12px;font-weight:800;color:#9a3412}.obst-mrow-medfix span{font-weight:600;color:#b45309;font-style:italic}
body.dark-mode .obst-auto-banner{background:rgba(245,158,11,.12);color:#fbbf24}
body.dark-mode .obst-mrow-autotag,body.dark-mode .obst-mrow-medfix{color:#fbbf24}
body.dark-mode .obst-mrow-autoval.ok{color:#4ade80}
body.dark-mode .obst-mrow{background:var(--card);border-color:var(--line)}
body.dark-mode .obst-mrow.is-alt{background:rgba(245,158,11,.12);border-color:#b45309;border-left-color:#f59e0b}
body.dark-mode .obst-mrow.is-lim{background:rgba(148,163,184,.12)}
body.dark-mode .obst-mrow-ach>label,body.dark-mode .obst-mrow-freehint{color:#fbbf24}
body.dark-mode .obst-friendly .obst-section,body.dark-mode .obst-summary-card,body.dark-mode .obst-subcard{background:var(--bg);border-color:var(--line);box-shadow:none}
body.dark-mode .obst-friendly .obst-field,body.dark-mode .obst-subcard-grid .obst-field,body.dark-mode .obst-morph-row{background:var(--card);border-color:var(--line)}
body.dark-mode .obst-subcard-head{background:#23272e;border-color:var(--line)}.body.dark-mode .obst-subcard-title{color:#d7dbe1}
@media(max-width:780px){.obst-friendly .obst-section>.obst-grid,.obst-subcard-grid,.obst-morph-grid,.obst-mgrid{grid-template-columns:1fr}.obst-morph-row{grid-template-columns:1fr}.obst-summary-line{align-items:flex-start}.obst-subcard-head{align-items:flex-start;flex-direction:column}}



/* ── Estética homogênea baseada nos cards do Obstétrico 1T ────────
   Aplicada aos demais exames sem alterar a lógica clínica/JS. */
.exam-theme .organ{
  border:1px solid var(--exam-border)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(23,32,51,.04)!important;
  overflow:hidden!important;
  margin:0 0 8px 0!important;
}
.exam-theme .organ:before{display:none!important}
.exam-theme .organ-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:7px 10px!important;
  background:linear-gradient(135deg,var(--exam-main),var(--exam-alt))!important;
  color:#fff!important;
  border-bottom:0!important;
  font-size:12.5px!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
}
.exam-theme .organ-head>span:first-child{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
}
.exam-theme .organ-head>span:first-child:before{
  content:'✓';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.35);
  font-size:9px;
  font-weight:950;
  flex-shrink:0;
}
.exam-theme .organ-head .btn{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.38)!important;
  color:#fff!important;
  min-height:24px!important;
  padding:3px 8px!important;
  font-size:10.8px!important;
  border-radius:999px!important;
}
.exam-theme .template-panel{
  border-top:1px solid var(--exam-border)!important;
  background:#fbfdff!important;
}
.exam-theme .micro{
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr)!important;
  align-items:start!important;
  gap:8px!important;
  margin:3px 6px!important;
  padding:6px 8px!important;
  border:1px solid var(--line)!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.exam-theme .micro:last-child{margin-bottom:6px!important;border-bottom:1px solid var(--line)!important}
.exam-theme .micro-label{
  display:flex!important;
  align-items:flex-start!important;
  min-height:0!important;
  color:var(--muted)!important;
  background:none!important;
  border:none!important;
  border-radius:0!important;
  padding:3px 0 0 0!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
  box-shadow:none!important;
}
.exam-theme .micro .inline-options,
.exam-theme .micro .measure-line{
  min-height:0!important;
  align-items:center!important;
  gap:4px!important;
}
.exam-theme .pill,
.exam-theme .radio-pill{
  min-height:24px!important;
  padding:3px 9px!important;
  border-radius:3px!important;
  font-size:12px!important;
  font-weight:500!important;
  background:#f5f8fb!important;
  border-color:#dce5f0!important;
  color:var(--muted)!important;
}
.exam-theme .pill input,
.exam-theme .radio-pill input{display:none!important}
.exam-theme .pill:hover,
.exam-theme .radio-pill:hover{
  background:#eef3f9!important;
  border-color:#b8cce0!important;
  color:var(--text)!important;
}
.exam-theme .pill.active,
.exam-theme .radio-pill.active{
  background:#e2eaf8!important;
  border-color:#8faacc!important;
  color:#1a3660!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.exam-theme input,
.exam-theme select,
.exam-theme textarea,
.exam-theme .select-sm{
  border-color:#d4deec!important;
  border-radius:8px!important;
  min-height:28px!important;
  font-size:11.8px!important;
}
.exam-theme textarea{min-height:44px!important;line-height:1.28!important}
.exam-theme .measure-box{min-width:72px!important;gap:2px!important}
.exam-theme .measure-box input{height:28px!important;min-height:28px!important;font-weight:750!important}
.exam-theme .unit{font-size:9.8px!important;color:#64748b!important}
.exam-theme .conditional{
  width:100%!important;
  margin-top:6px!important;
  padding:7px!important;
  border:1px dashed #c7d6e8!important;
  border-radius:10px!important;
  background:#fff!important;
}
.exam-theme .conditional-head{margin-bottom:6px!important;gap:6px!important}
.exam-theme .item-row{
  background:#fbfdff!important;
  border:1px solid #e1eaf5!important;
  border-radius:9px!important;
  padding:5px!important;
  gap:5px!important;
}
.exam-theme .drawer:not(.limbox){
  border:1px solid #e1eaf5!important;
  border-radius:10px!important;
  background:#fbfdff!important;
  margin:6px 8px!important;
}
.exam-theme .drawer:not(.limbox)>summary{
  padding:7px 9px!important;
  background:linear-gradient(135deg,#f8fbff,var(--exam-soft))!important;
  color:var(--exam-text)!important;
  font-size:11.5px!important;
  font-weight:900!important;
}
.exam-theme .drawer:not(.limbox)[open]>summary{
  background:linear-gradient(135deg,var(--exam-main),var(--exam-alt))!important;
  color:#fff!important;
}
.exam-theme .drawer-body{padding:7px!important;gap:6px!important;background:#fff!important}
.exam-theme .drawer-group{
  border:1px dashed #c7d6e8!important;
  border-radius:9px!important;
  background:#fbfdff!important;
  padding:7px!important;
}
.exam-theme .drawer-title{font-size:10px!important;margin-bottom:5px!important;color:#64748b!important}
.exam-theme .subdrawer{border-radius:9px!important;border-color:#e1eaf5!important}
.exam-theme .subdrawer>summary{font-size:11.2px!important;padding:6px 8px!important;background:#f8fbff!important}
.exam-theme .subdrawer-body{padding:7px!important;gap:6px!important;background:#fff!important}
.exam-theme .obst-panel:not(.obst-friendly){
  border-radius:12px!important;
  box-shadow:0 2px 8px rgba(23,32,51,.04)!important;
}
.exam-theme .obst-panel:not(.obst-friendly) .obst-section{
  margin:6px 8px!important;
  padding:7px 8px!important;
  border-radius:10px!important;
}
.exam-theme .obst-panel:not(.obst-friendly) .obst-section-title{
  font-size:10.5px!important;
  margin-bottom:5px!important;
}
body.dark-mode .exam-theme .organ,
body.dark-mode .exam-theme .template-panel,
body.dark-mode .exam-theme .drawer-body,
body.dark-mode .exam-theme .subdrawer-body{
  background:var(--bg)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.dark-mode .msk-drawer{border-color:var(--line)}
body.dark-mode .msk-drawer>summary{background:var(--card);color:var(--muted)}
body.dark-mode .msk-drawer[open]>summary{background:#2c313a;border-color:var(--line)}
body.dark-mode .msk-group-val{background:#1a3660;border-color:#2d5aa0;color:#93c5fd}
body.dark-mode .msk-group-normal{color:#374151}
body.dark-mode .msk-group-body{background:var(--card)}
body.dark-mode .msk-sf-panel{background:#23272e;border-color:var(--line)}
body.dark-mode .msk-sf-label{color:var(--muted)}
body.dark-mode .msk-sf-panel select{background:var(--card);border-color:var(--line);color:#d7dbe1}
body.dark-mode .exam-theme .micro,
body.dark-mode .exam-theme .conditional,
body.dark-mode .exam-theme .item-row,
body.dark-mode .exam-theme .drawer-group{
  background:var(--card)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.dark-mode .exam-theme .micro-label{
  background:var(--bg)!important;
  border-color:var(--line)!important;
  border-left-color:var(--exam-main)!important;
  color:#d7dbe1!important;
}
body.dark-mode .exam-theme .pill,
body.dark-mode .exam-theme .radio-pill{
  background:var(--bg)!important;
  border-color:var(--line)!important;
}
body.dark-mode .exam-theme .pill.active,
body.dark-mode .exam-theme .radio-pill.active{
  background:#1a2a40!important;
  border-color:var(--exam-main)!important;
  color:#d7dbe1!important;
}
body.dark-mode .exam-theme .drawer:not(.limbox)>summary,
body.dark-mode .exam-theme .subdrawer>summary{
  background:#23272e!important;
  color:#d7dbe1!important;
}
@media(max-width:780px){
  .exam-theme .micro{grid-template-columns:1fr!important;margin:5px 6px!important;padding:6px 7px!important;gap:5px!important}
  .exam-theme .micro-label{min-height:24px!important;font-size:10.8px!important}
}


/* ── Marcações temporárias de revisão no corpo do laudo ───────── */
.report-review-mark{background:#fff3b0;border-radius:4px;padding:0 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone;box-shadow:inset 0 -2px 0 rgba(154,91,0,.22)}
.report-review-mark-measure{background:#dff0ff;box-shadow:inset 0 -2px 0 rgba(31,100,180,.20)}
.report-review-mark-limitation{background:#efe7ff;box-shadow:inset 0 -2px 0 rgba(91,33,182,.20)}
.report-review-mark-alert{background:#ffe5e2;box-shadow:inset 0 -2px 0 rgba(180,35,24,.22)}
body.review-marks-hidden .report-review-mark{background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0!important}
.review-mark-toggle.active{background:var(--amber2)!important;border-color:#f0ca7c!important;color:#7a4a00!important}
@media print{.report-review-mark{background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0!important}}

/* ── Voz ──────────────────────────────────────────────────────── */
.freebox-wrap{position:relative;display:flex;flex-direction:row;align-items:flex-start;gap:6px}
.freebox-wrap .freebox{flex:1 1 auto;min-width:0}
.mic-btn{flex:0 0 auto;order:2;align-self:flex-start;background:none;border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:13px;cursor:pointer;opacity:.7;transition:opacity .15s,background .15s}
.mic-btn:hover{opacity:1;background:var(--hover)}
.mic-btn.mic-active{background:#fee2e2;border-color:#fca5a5;opacity:1;animation:mic-pulse 1s infinite}
@keyframes mic-pulse{0%,100%{opacity:1}50%{opacity:.6}}
/* ── Comparativo ─────────────────────────────────────────────── */
.comp-prev{display:block;font-size:10px;color:var(--muted,#888);font-style:italic;padding:1px 2px;line-height:1.3}
.comp-banner{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:6px 10px;font-size:12px;display:flex;align-items:center;gap:8px;margin-bottom:8px}
.comp-banner-text{flex:1;color:#0369a1}

/* ── Normativas visuais ──────────────────────────────────────── */
input.norm-ok{border-color:#22c55e!important;background:rgba(34,197,94,.07)}
input.norm-alto{border-color:#ef4444!important;background:rgba(239,68,68,.07)}
input.norm-baixo{border-color:#f59e0b!important;background:rgba(245,158,11,.07)}
input.norm-ok::placeholder{color:#15803d}
input.norm-alto::placeholder{color:#b91c1c}
input.norm-baixo::placeholder{color:#92400e}
/* Implausível (provável erro de unidade/digitação): vermelho forte + borda tracejada */
input.norm-absurdo{border:2px dashed #dc2626!important;background:rgba(220,38,38,.14);font-weight:700;color:#b91c1c}
input.norm-absurdo::placeholder{color:#b91c1c}

/* ── Pediátrico ───────────────────────────────────────────────── */
.ped-banner{background:linear-gradient(90deg,#fef3c7,#fde68a);border-left:4px solid #f59e0b;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700;color:#92400e;margin-bottom:10px}

/* ── Curva crescimento fetal ────────────────────────────────── */
.obst-growth-chart{margin:8px 0 4px;padding:6px;background:var(--card,#fff);border-radius:8px;border:1px solid var(--line,#e0e8f0)}

/* ── CID-10 ───────────────────────────────────────────────────── */
.cid10-title{font-weight:700;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
.cid10-hint{font-weight:400;font-size:10px;opacity:.7}
.cid10-chip{display:inline-flex;align-items:center;gap:4px;background:var(--card,#fff);border:1px solid var(--line,#e0e8f0);border-radius:20px;padding:2px 9px;margin:2px;font-size:11px;white-space:nowrap}
.cid10-desc{color:var(--muted);font-size:10.5px}
.cid10-confirmar{border-color:#f59e0b;background:rgba(245,158,11,.08)}

/* ── Recomendações de conduta ──────────────────────────────── */
.conduta-title{font-size:12px;font-weight:800;color:var(--text,#1e293b);margin-bottom:2px;letter-spacing:.03em}
.conduta-hint{font-size:10.5px;color:var(--muted,#64748b);margin-bottom:8px}
.conduta-item{display:flex;align-items:flex-start;gap:6px;padding:5px 8px;border-radius:7px;margin-bottom:4px;font-size:11.5px;line-height:1.45}
.conduta-item:last-child{margin-bottom:0}
.conduta-org{font-weight:700;margin-right:2px}
.conduta-alta{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25)}
.conduta-media{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25)}
.conduta-baixa{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2)}

/* ── Seguimento de nódulos ─────────────────────────────────── */
.nod-track{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--blue,#1d4ed8);background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);border-radius:5px;padding:1px 7px;margin-left:4px;white-space:nowrap}
.tirads-track{margin:4px 0 0;display:block;font-size:10.5px;color:var(--blue,#1d4ed8);background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);border-radius:5px;padding:3px 8px}

/* ── IETA + MUSA ────────────────────────────────────────────── */
.ieta-panel,.musa-panel{border:1px solid var(--line,#e0e8f0);border-radius:10px;margin:6px 0;overflow:hidden}
.ieta-head,.musa-head{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--hover,#f0f4ff);border-bottom:1px solid var(--line,#e0e8f0)}
.ieta-title,.musa-title{font-weight:700;font-size:12px;flex:1}
.ieta-badge,.musa-badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px}
.ieta-body,.musa-body{padding:8px 10px}
.ieta-row,.musa-row{display:flex;align-items:flex-start;gap:6px;font-size:11.5px;margin-bottom:5px}
.ieta-label,.musa-label{min-width:140px;color:var(--muted,#64748b);font-size:11px;padding-top:2px}
.musa-section-title{font-size:10.5px;font-weight:800;color:var(--muted,#64748b);margin:8px 0 4px;text-transform:uppercase;letter-spacing:.04em}
.musa-check{display:flex;align-items:flex-start;gap:5px;font-size:11px;margin-bottom:3px;cursor:pointer;color:var(--text,#0f1623)}
.musa-check input[type="checkbox"]{width:14px;min-width:14px;height:14px;min-height:14px;padding:0;margin-top:1px;flex-shrink:0;border-radius:3px}
.ieta-result,.musa-result{margin:8px 0 2px;padding:5px 8px;border-radius:7px;font-size:11.5px;font-weight:700;text-align:center}
.ieta-alto,.musa-provavel{background:#fecaca;color:#991b1b}
.ieta-intermediario,.musa-possivel{background:#fed7aa;color:#9a3412}
.ieta-baixo,.musa-sugestivo{background:#fef9c3;color:#854d0e}
.musa-ausente{background:#dcfce7;color:#166534}
/* ── O-RADS / IOTA / ADNEX panels ───────────────────────────────────── */
.oRads-panel{border:1px solid var(--line,#e0e8f0);border-radius:9px;margin:4px 0;overflow:hidden}
.oRads-head{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--hover,#f0f4ff);border-bottom:1px solid var(--line,#e0e8f0);flex-wrap:wrap}
.oRads-title{font-weight:700;font-size:11.5px}
.oRads-body{padding:6px 10px}
.oRads-row{display:flex;align-items:center;gap:6px;font-size:11px;margin-bottom:4px}
.oRads-label{min-width:120px;color:var(--muted,#64748b);font-size:10.5px}
.oRads-add-btn{margin-top:6px;font-size:11px;padding:3px 8px;min-height:26px}
.oRads-badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}
.oRads-cat2{background:#dcfce7;color:#166534}
.oRads-cat3{background:#dbeafe;color:#1e40af}
.oRads-cat4{background:#fef9c3;color:#854d0e}
.oRads-cat5{background:#fecaca;color:#991b1b}
.iota-panel{border:1px solid var(--line,#e0e8f0);border-radius:9px;margin:4px 0;overflow:hidden}
.iota-title{font-weight:700;font-size:11.5px;padding:6px 10px;background:var(--hover,#f0f4ff);border-bottom:1px solid var(--line,#e0e8f0)}
.iota-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px 10px}
.iota-col-title{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.iota-col-m .iota-col-title{color:#b91c1c}
.iota-col-b .iota-col-title{color:#15803d}
.iota-feat{display:flex;align-items:flex-start;gap:5px;font-size:11px;margin-bottom:3px;cursor:pointer;color:var(--text,#0f1623)}
.iota-feat input[type="checkbox"]{width:14px;min-width:14px;height:14px;min-height:14px;padding:0;margin-top:1px;flex-shrink:0;border-radius:3px}
.iota-result{margin:4px 8px 6px;padding:4px 8px;border-radius:7px;font-size:11.5px;font-weight:700;text-align:center}
.iota-maligno{background:#fecaca;color:#991b1b}
.iota-benigno{background:#dcfce7;color:#166534}
.iota-inconclusivo{background:#fef9c3;color:#854d0e}
.adnex-panel{border:1px solid var(--line,#e0e8f0);border-radius:9px;margin:4px 0;overflow:hidden;padding:6px 10px}
.adnex-title{font-weight:700;font-size:11.5px;margin-bottom:6px}
.adnex-row{display:flex;align-items:center;gap:6px;font-size:11px;margin-bottom:4px}
.adnex-label{min-width:140px;color:var(--muted,#64748b);font-size:10.5px}
.adnex-results{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.adnex-chip{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px}
.adnex-benigno{background:#dcfce7;color:#166534}
.adnex-borderline{background:#dbeafe;color:#1e40af}
.adnex-eI{background:#fef9c3;color:#854d0e}
.adnex-eIIIV{background:#fed7aa;color:#9a3412}
.adnex-meta{background:#fecaca;color:#991b1b}
/* Fix: override global input{width:100%;min-height:30px} for inline checkboxes */
.ieta-body input[type="checkbox"]{width:14px;min-width:14px;height:14px;min-height:14px;padding:0;margin-top:1px;flex-shrink:0;border-radius:3px}
.oRads-body input[type="checkbox"]{width:14px;min-width:14px;height:14px;min-height:14px;padding:0;flex-shrink:0;border-radius:3px}
/* Selects inside scoring panels should not expand full width */
.oRads-body select,.adnex-panel select,.adnex-row select{width:auto;min-height:26px;height:26px;font-size:11px;padding:2px 4px}

/* ── Destaque por relevância clínica das estruturas com achados ──────────────
   Aplicado por updateOrganHighlights() (form-html.js) a cada render().
   âmbar = achado | vermelho = alta relevância (BI-RADS/TI-RADS/O-RADS 4-5).
   !important + posição ao fim do arquivo garantem vitória sobre as regras .exam-theme. */
.organ.organ-altered,.organ.organ-critical{position:relative}
/* Barra lateral via pseudo-elemento. display:block!important + posição ao fim do arquivo
   vencem o .exam-theme .organ:before{display:none!important} que oculta a barra do tema. */
.organ.organ-altered::before,.organ.organ-critical::before{content:'';display:block!important;position:absolute;left:0;top:0;bottom:0;width:4px!important;z-index:3;opacity:1!important}
.organ.organ-altered::before{background:#e0a93f!important}
.organ.organ-critical::before{background:#dc2626!important}
.organ.organ-altered>.organ-head{background:#fdf4e3!important;color:#8a5a06!important;border-bottom-color:#ecc98b!important}
.organ.organ-critical>.organ-head{background:#fdecec!important;color:#9b1c1c!important;border-bottom-color:#f3b2ac!important}
body.dark-mode .organ.organ-altered>.organ-head{background:#3a2e16!important;color:#f0c66b!important;border-bottom-color:#5b471f!important}
body.dark-mode .organ.organ-critical>.organ-head{background:#3a1d1d!important;color:#f3b2ac!important;border-bottom-color:#5b2a2a!important}
/* Marcador de urgência: pílula "⚠ urgente" no cabeçalho, visível só quando .organ-urgent. */
.organ-urgent-badge{display:none}
.organ.organ-urgent>.organ-head .organ-urgent-badge,
.obst-section.organ-urgent>.obst-section-title .organ-urgent-badge{display:inline-flex;align-items:center;gap:3px;margin-left:8px;padding:1px 8px;border-radius:10px;background:#dc2626;color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;white-space:nowrap}

/* Mesmo destaque (âmbar/vermelho + barra + selo) para os blocos obstétricos (.obst-section). */
.obst-section.organ-altered,.obst-section.organ-critical{position:relative}
.obst-section.organ-altered::before,.obst-section.organ-critical::before{content:'';display:block!important;position:absolute;left:0;top:0;bottom:0;width:4px!important;z-index:3}
.obst-section.organ-altered::before{background:#e0a93f!important}
.obst-section.organ-critical::before{background:#dc2626!important}
.obst-section.organ-altered>.obst-section-title{background:#fdf4e3!important;color:#8a5a06!important}
.obst-section.organ-critical>.obst-section-title{background:#fdecec!important;color:#9b1c1c!important}
body.dark-mode .obst-section.organ-altered>.obst-section-title{background:#3a2e16!important;color:#f0c66b!important}
body.dark-mode .obst-section.organ-critical>.obst-section-title{background:#3a1d1d!important;color:#f3b2ac!important}

/* ============================================================
   FATIA 3 — Estilo premium dos cards do exame (inspirado no mockup).
   Apenas visual; nenhum campo do formulário é removido.
   ============================================================ */
/* Coluna central: cards "flutuando" sobre o fundo, sem o chrome do painel. */
.workspace-layout .form-panel{background:transparent;border:0;box-shadow:none;overflow:visible;padding:0}
.workspace-layout .form-panel>h2{display:none}
.workspace-layout .form-panel .form-panel-body{padding:0}

/* Cartões/linhas/chips — apenas as propriedades que ainda vencem
   (o resto — raios, sombras, paddings — está consolidado nas fatias finais). */
.workspace-layout .micro-label{
  text-transform:uppercase!important;font-size:10px!important;letter-spacing:.06em!important;
  font-weight:700!important;border-left:0!important;
}
.workspace-layout .pill:hover,
.workspace-layout .radio-pill:hover{background:#f4f8fc;border-color:#b9cce2;color:#1b2a41}
.workspace-layout .num,
.workspace-layout .measure-box input{font-weight:600}
.workspace-layout .freebox{background:#fbfcfe;border-color:#e7edf4}
.workspace-layout .conditional{border-radius:12px;border-color:#d6e2f0;background:#fafcff}

/* Dark mode (apenas o que sobrevive; sem sombra, igual ao claro). */
body.dark-mode .workspace-layout .organ{background:var(--bg);border-color:#23272e}
body.dark-mode .workspace-layout .micro{border-bottom-color:var(--card)}
body.dark-mode .workspace-layout .micro-label{color:#7e8aa3!important}
body.dark-mode .workspace-layout .pill,
body.dark-mode .workspace-layout .radio-pill{background:#16181d;border-color:var(--line);color:var(--muted)}
body.dark-mode .workspace-layout .pill.active,
body.dark-mode .workspace-layout .radio-pill.active{background:#16233f!important;border-color:#3b6fd4!important;color:#93c5fd!important}
body.dark-mode .workspace-layout .freebox{background:#16181d;border-color:var(--line)}

/* ============================================================
   FATIA 1 — Barra superior clara/premium (inspirada no mockup).
   ============================================================ */
.top{background:#fff!important;border:1px solid var(--line);border-radius:12px;height:56px;padding:0 14px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 3px rgba(15,22,35,.05);color:var(--text);flex-wrap:nowrap}
.topbar-brand{display:flex;align-items:center;gap:9px;flex-shrink:0}
.topbar-logo{width:34px;height:34px;border-radius:8px;object-fit:contain;background:transparent;display:block;flex-shrink:0}
.topbar-brand .brand{color:var(--text);font-size:16px;font-weight:800;letter-spacing:-.02em}
.topbar-search{flex:1 1 auto;max-width:560px;display:flex;align-items:center;gap:8px;background:#f3f6fb;border:1px solid #e6edf5;border-radius:10px;padding:0 12px;height:38px;cursor:text}
.topbar-search:focus-within{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(26,86,219,.10)}
.topbar-search input{border:0!important;background:transparent;flex:1;font-size:13px;padding:0;min-height:0;height:100%}
.topbar-search input:focus{box-shadow:none!important}
.tbs-icon{color:var(--muted);font-size:13px;flex-shrink:0}
.tbs-kbd{font-size:10px;color:var(--muted);background:#fff;border:1px solid #e2e8f2;border-radius:5px;padding:2px 6px;font-weight:700;flex-shrink:0}
.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.topbar-new{height:38px;border-radius:10px;font-weight:700;white-space:nowrap}
.topbar-icon{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;color:#46506a;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;justify-content:center;transition:all .12s}
.topbar-icon:hover{border-color:var(--blue);color:var(--blue);background:#f7faff}
.topbar-user{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:3px 10px 3px 3px;cursor:pointer;height:38px;font-family:inherit}
.topbar-user:hover{border-color:var(--blue)}
.topbar-avatar{width:30px;height:30px;border-radius:8px;background:#1a56db;color:#fff;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.topbar-user-name{font-size:12.5px;font-weight:700;color:var(--text);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-caret{color:var(--muted);font-size:10px;flex-shrink:0}
#userDropdown .dropdown-menu{min-width:230px}
#userDropdown .dropdown-menu .dropdown-label{color:var(--blue);font-weight:800}
@media(max-width:900px){.topbar-search{display:none}.topbar-user-name{display:none}}
/* dark mode */
body.dark-mode .top{background:var(--bg)!important;border-color:var(--card)}
body.dark-mode .topbar-brand .brand{color:#e5e7ea}
body.dark-mode .topbar-search{background:var(--bg);border-color:#23272e}
body.dark-mode .topbar-search input{color:#e5e7ea}
body.dark-mode .topbar-search:focus-within{background:#16181d}
body.dark-mode .tbs-kbd{background:#16181d;border-color:#23272e;color:var(--muted)}
body.dark-mode .topbar-icon,
body.dark-mode .topbar-user{background:#16181d;border-color:#23272e;color:var(--muted)}
body.dark-mode .topbar-user-name{color:#e5e7ea}

/* ============================================================
   FATIA 2 — Sidebar unificada (exame + paciente + mapa do exame).
   ============================================================ */
.exam-sidebar{position:sticky;top:calc(8px + var(--ws-extra-top,0px));align-self:start;max-height:calc(100vh - 24px - var(--ws-extra-top,0px));overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:10px;min-width:0}
.esb-summary{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 13px;box-shadow:0 1px 2px rgba(15,22,35,.04),0 6px 16px rgba(15,22,35,.045)}
.esb-exam-kicker{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.esb-exam-title{font-size:14px;font-weight:800;color:#16233a;line-height:1.25;margin-top:2px}
.esb-patient-card{margin-top:11px;padding-top:11px;border-top:1px solid #eef2f7;display:flex;flex-direction:column;gap:3px}
.esb-pat-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.3}
.esb-pat-meta{font-size:11.5px;color:var(--muted);font-weight:600}
.esb-pat-ind{font-size:11.5px;color:#46506a;margin-top:5px;line-height:1.4}
.esb-pat-ind b{color:var(--muted);font-weight:700}
.esb-edit-btn{margin-top:11px;border:1px solid var(--line);background:#f7faff;color:var(--blue);border-radius:8px;padding:7px 10px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s;text-align:center}
.esb-edit-btn:hover{border-color:var(--blue);background:#eef4ff}
/* A nav (Mapa do exame) vive dentro da sidebar — sem sticky próprio. */
.exam-sidebar .exam-nav{position:static!important;max-height:none!important;flex:0 0 auto;margin:0}
/* Recolhimento dos campos do paciente (apenas desktop; resumo fica na sidebar). */
@media(min-width:1101px){
  .patient.patient-collapsed{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important}
  .patient.patient-collapsed #patientFields{display:none}
}
/* Dark mode */
body.dark-mode .esb-summary{background:var(--bg);border-color:#23272e}
body.dark-mode .esb-exam-title,body.dark-mode .esb-pat-name{color:#e5e7ea}
body.dark-mode .esb-patient-card{border-top-color:#23272e}
body.dark-mode .esb-pat-ind{color:var(--muted)}
body.dark-mode .esb-edit-btn{background:#23272e;border-color:var(--line);color:#93c5fd}
/* Telas estreitas: sidebar oculta (modo abas); paciente não recolhe. */
@media(max-width:1100px){.exam-sidebar{display:none}}

/* ===== Colapso do seletor de exame (marcador menor após iniciar) ===== */
.exam-picker-collapsed{display:none}
.exam-picker-panel.picker-collapsed{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.exam-picker-panel.picker-collapsed .exam-picker-head,
.exam-picker-panel.picker-collapsed .exam-picker-body{display:none}
.exam-picker-panel.picker-collapsed #achadosBar{margin-top:8px}
.exam-picker-panel.picker-collapsed .exam-picker-collapsed{display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.epc-info{font-size:12.5px;font-weight:700;color:var(--muted);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.epc-info #epcExamName{color:var(--blue)}
body.dark-mode .exam-picker-panel.picker-collapsed .exam-picker-collapsed{background:var(--bg);border-color:#23272e}

/* ============================================================
   FATIA 4 — Painel direito (preview + auxiliares + inconsistência).
   ============================================================ */
/* Painéis auxiliares (completude / conduta / governança) como cartões suaves. */
#completudePanel,#condutaPanel,#governancaPanel{background:#f7faff!important;border-top:1px solid #eef2f7!important}
body.dark-mode #completudePanel,body.dark-mode #condutaPanel,body.dark-mode #governancaPanel{background:var(--bg)!important;border-top-color:#23272e!important}
/* Card de inconsistência (validação). */
.val-panel.show{box-shadow:0 8px 24px rgba(180,35,24,.16)!important}
body.dark-mode .val-panel.show{box-shadow:0 10px 26px rgba(0,0,0,.5)!important}

/* ===== Inconsistência dentro da sidebar (acima de "Estruturas") ===== */
.exam-sidebar .val-panel{margin:0!important;border-radius:10px!important}
.exam-sidebar .val-panel.show{position:static!important;top:auto!important;z-index:auto!important;box-shadow:0 1px 2px rgba(180,35,24,.12)!important}
.exam-sidebar .val-head{padding:8px 10px}
.exam-sidebar .val-title{font-size:12px}
.exam-sidebar .val-body{padding:7px}
.exam-picker-panel.picker-collapsed .exam-picker-collapsed{border-radius:8px}

/* Cabeçalho do paciente/exame NÃO aparece na pré-visualização do laudo (dados já
   estão na sidebar). Continua presente no laudo exportado/impresso, que monta o
   cabeçalho via reportHeaderText()/reportHeaderHTML(). */
#reportHeaderBox{display:none!important}

/* ============================================================
   Toolbar de formatação harmônica + status de edição discreto.
   ============================================================ */
.format-strip .word-btn{width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;border:1px solid #e3e9f2!important;background:#fff!important;border-radius:7px!important;color:#46506a!important;display:inline-flex!important;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:all .12s}
.format-strip .word-btn:hover{border-color:var(--blue)!important;color:var(--blue)!important;background:#f7faff!important}
.format-strip .word-btn .ico{width:15px;height:15px}
.format-strip .word-btn.textbtn{font-size:11.5px;font-weight:800}
.format-strip .supsub{font-size:12px;font-weight:800}
.format-strip .supsub sup,.format-strip .supsub sub{font-size:8px}
.format-strip .toolbar-group{gap:3px!important;padding:0 8px!important;border-right:1px solid #eaeef5!important;border-left:0!important;border-radius:0!important}
.format-strip .toolbar-group:first-child{padding-left:0!important}
.format-strip .toolbar-group:last-child{border-right:0!important;padding-right:0!important}
.format-strip .tool-select{height:28px!important;min-height:28px!important;border:1px solid #e3e9f2!important;border-radius:7px!important;color:#46506a;background:#fff}
.format-strip .color-tool{position:relative!important;width:28px!important;height:28px!important;min-height:28px!important;border:1px solid #e3e9f2!important;background:#fff!important;border-radius:7px!important;display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;font-weight:800;font-size:12px;color:#46506a!important;overflow:hidden;padding:0!important}
.format-strip .color-tool:hover{border-color:var(--blue)!important}
.format-strip .color-tool .ico{width:14px;height:14px}
.format-strip .color-tool::after{content:'';position:absolute;left:5px;right:5px;bottom:3px;height:3px;border-radius:2px;background:var(--ct-color,#172033)}
.format-strip .color-tool input[type=color]{position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;border:0!important;cursor:pointer}
.format-strip .ct-letter{line-height:1;transform:translateY(-1px)}
body.dark-mode .format-strip .word-btn,
body.dark-mode .format-strip .tool-select,
body.dark-mode .format-strip .color-tool{background:#16181d!important;border-color:var(--line)!important;color:var(--muted)!important}

/* Sem contagem de palavras na tela; status de edição enxuto (só quando relevante). */
#wordCount{display:none!important}
.report-status-row{margin-bottom:6px}
.edit-status{font-size:11px!important;line-height:1.4;border:0!important;background:transparent!important;padding:0!important;margin:0!important;color:var(--muted)!important}
.edit-status.warn{color:#9a5b00!important}
.edit-status.locked{color:#475569!important}

/* ===== Toolbar de formatação em 2 fileiras ===== */
.word-toolbar.compact.format-strip{flex-direction:column!important;align-items:stretch!important;gap:5px!important}
.format-strip .fs-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;width:100%}

/* ===== Resumo de achados patológicos (abaixo de "Exame Normal") ===== */
/* Redline do laudo (auxílio na edição): removido riscado em cinza; acrescentado colorido por hierarquia. */
.doc.redline-view{background:var(--soft,#f8fafc)}
.doc .rl-line{white-space:pre-wrap;line-height:1.5}
.rl-del{text-decoration:line-through;color:#94a3b8}
/* Acrescentado = marca-texto (fundo) por hierarquia do achado; texto permanece legível */
.rl-add{border-radius:3px;padding:0 3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.rl-add.fs-sev-0{background:rgba(34,197,94,.20)}
.rl-add.fs-sev-2{background:rgba(148,163,184,.30)}
.rl-add.fs-sev-3{background:rgba(245,158,11,.35)}
.rl-add.fs-sev-4{background:rgba(234,88,12,.32);font-weight:600}
.rl-add.fs-sev-5{background:rgba(239,68,68,.32);font-weight:700}
.ricon.ricon-redline.active{background:#fff7ed;border-color:#f59e0b;color:#9a3412}
body.dark-mode .rl-del{color:#64748b}
body.dark-mode .ricon.ricon-redline.active{background:rgba(245,158,11,.15);border-color:#b45309;color:#fbbf24}
/* Caixa de achados: tom SÓBRIO fixo (não-alerta). Hierarquia vem das cores POR ITEM (severidade). */
.findings-summary{margin:8px 0 2px;border:1px solid var(--line,#e2e8f0);background:var(--soft,#f8fafc);border-radius:6px;padding:8px 11px}
.findings-summary:empty{display:none}
.fs-card-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-bottom:5px}
.fs-card-list{margin:0;padding-left:4px;list-style:none;display:flex;flex-direction:column;gap:3px}
.fs-card-list li{font-size:12px;line-height:1.4;color:var(--text,#334155);border-left:3px solid transparent;padding-left:8px}
/* Hierarquia por severidade do achado (0 = normal/sóbrio; 5 = crítico) */
.fs-card-list li.fs-sev-2{color:#64748b;border-left-color:#cbd5e1}
.fs-card-list li.fs-sev-3{color:#9a3412;border-left-color:#f59e0b}
.fs-card-list li.fs-sev-4{color:#c2410c;font-weight:600;border-left-color:#ea580c}
.fs-card-list li.fs-sev-5{color:#b91c1c;font-weight:700;border-left-color:#b91c1c}
body.dark-mode .findings-summary{background:var(--card);border-color:var(--line)}
body.dark-mode .fs-card-title{color:#94a3b8}
body.dark-mode .fs-card-list li{color:#cbd5e1}
body.dark-mode .fs-card-list li.fs-sev-2{color:#94a3b8}
body.dark-mode .fs-card-list li.fs-sev-3{color:#fbbf24;border-left-color:#b45309}
body.dark-mode .fs-card-list li.fs-sev-4{color:#fb923c;border-left-color:#ea580c}
body.dark-mode .fs-card-list li.fs-sev-5{color:#f87171;border-left-color:#b91c1c}

/* ===== Bordas retas (caixas e ícones) ===== */
.workspace-layout .organ,
.workspace-layout .preview,
.esb-summary,
.exam-sidebar .val-panel,
.findings-summary,
.exam-picker-panel.picker-collapsed .exam-picker-collapsed{border-radius:4px!important}
.workspace-layout .organ-head{border-radius:0!important}
.workspace-layout .pill,
.workspace-layout .radio-pill,
.workspace-layout input,
.workspace-layout select,
.workspace-layout textarea{border-radius:4px!important}
.format-strip .word-btn,
.format-strip .tool-select,
.format-strip .color-tool{border-radius:4px!important}
.report-cluster .ricon,
.exam-nav-item{border-radius:4px!important}
.topbar-icon,.topbar-user,.topbar-search,.topbar-avatar,.topbar-logo,.topbar-new{border-radius:4px!important}
.btn{border-radius:4px}

/* Painel de "Completude do exame" oculto (a pedido). */
#completudePanel{display:none!important}

/* Blocos do exame mais estreitos + cores mais escuras (mais contraste). */
.workspace-layout .organ-head{padding:6px 14px!important;font-size:12px!important}
.exam-theme .organ-head,
.workspace-layout .exam-theme .organ-head{
  background:#3f5876!important;
}
/* Linhas de campo mais estreitas e rótulos com mais contraste. */
.workspace-layout .micro{padding:6px 14px!important;gap:10px!important}
.workspace-layout .micro-label{color:#566481!important;padding-top:5px!important}
.workspace-layout .num,
.workspace-layout .measure-box input{height:30px!important;min-height:30px!important}

/* Remove o ✓ ao lado do título do órgão. */
.exam-theme .organ-head>span:first-child::before{content:none!important;display:none!important}

/* Achado alterado: NÃO pinta o órgão inteiro — mantém o cabeçalho do tema e
   remove a barra lateral âmbar. Só o sub-bloco selecionado (opção anormal)
   fica em laranja. (Urgência/crítico continua em vermelho.) */
.workspace-layout .organ.organ-altered>.organ-head{
  background:#3f5876!important;
  color:#fff!important;border-bottom:1px solid #314866!important;
}
.workspace-layout .organ.organ-altered::before{display:none!important}
.workspace-layout .radio-pill.active:has(input:not([data-value=""])){
  background:#fff1de!important;border-color:#e0a93f!important;color:#9a5b00!important;
  box-shadow:0 1px 2px rgba(224,169,63,.25)!important;
}
body.dark-mode .workspace-layout .radio-pill.active:has(input:not([data-value=""])){
  background:#3a2e16!important;border-color:#a9802f!important;color:#f0c66b!important;
}

/* "Mais ações" realocado para a barra superior (ao lado da busca). */
.top #moreDropdown{flex:0 0 auto;display:inline-flex;align-items:center}
.top #moreDropdown .dropdown-menu{left:0;right:auto}

/* Corrige checkboxes/radios (a regra global input{width:100%} os inflava). */
input[type=checkbox],input[type=radio]{width:auto!important;min-height:0!important;height:auto!important;accent-color:var(--accent)}
/* Modal "Revisão antes de assinar" — itens como linhas limpas. */
.rv-item{display:flex;gap:10px;align-items:center;font-size:13px;line-height:1.4;padding:9px 11px;border:1px solid var(--line,#e2e8f0);border-radius:8px;cursor:pointer;color:var(--text)}
.rv-item:hover{border-color:var(--blue);background:#f7faff}
.rv-item input{flex:0 0 auto;width:16px!important;height:16px!important;cursor:pointer;margin:0}
.rv-item span{flex:1}
body.dark-mode .rv-item:hover{background:#23272e}
.rv-issues{display:flex;flex-direction:column;gap:6px;max-height:230px;overflow:auto}
.rv-issue{font-size:12.5px;line-height:1.4;padding:8px 10px;border:1px solid var(--warn-border,#f0ca7c);background:var(--warn-bg,#fffbf0);border-radius:8px;color:#5a3d00}
.rv-issue b{color:#7a4a00}
body.dark-mode .rv-issue{background:#241a07;border-color:#5a4413;color:#e8d5a8}

/* Toolbar de formatação: compacta para caber em 2 linhas. */
.format-strip .word-btn,.format-strip .color-tool{width:26px!important;height:26px!important;min-height:26px!important}
.format-strip .word-btn .ico,.format-strip .color-tool .ico{width:14px;height:14px}
.format-strip .toolbar-group{padding:0 4px!important;gap:2px!important;border-right-width:1px}
.format-strip .toolbar-group:first-child{padding-left:0!important}
.format-strip .fs-row{gap:3px!important;flex-wrap:wrap}
.format-strip .tool-select{height:26px!important;min-height:26px!important}
.word-toolbar.compact.format-strip .font-select{width:84px!important;min-width:78px!important}
.word-toolbar.compact.format-strip .size-select{width:44px!important;min-width:42px!important}


/* ============================================================
   CLINICAL WORKSTATION — camada plana/sóbria (sem gradiente, pouca sombra).
   ============================================================ */
/* Cor chapada: logo, exame ativo e cabeçalho de seção. */
.topbar-logo{background:var(--blue)!important;box-shadow:none!important;border-radius:var(--radius)!important}
.workspace-layout .organ-head,
.exam-theme .organ-head,
.workspace-layout .organ.organ-altered>.organ-head{
  background:#3f5876!important;color:#fff!important;border-bottom:1px solid #314866!important;
}
body.dark-mode .workspace-layout .organ-head,
body.dark-mode .exam-theme .organ-head{background:var(--card)!important;border-bottom-color:#23272e!important;color:#e5e7ea!important}
/* Crítico/urgente continua vermelho (estado clínico). */
.workspace-layout .organ.organ-critical>.organ-head{background:#9b2c2c!important;border-bottom-color:#7f1d1d!important;color:#fff!important}
/* Sombras fora dos blocos principais; só dropdown/modal mantêm leve. */
.workspace-layout .organ,
.workspace-layout .organ:hover,
.workspace-layout .preview,
.esb-summary,
.exam-sidebar .val-panel,
.findings-summary,
.exam-picker-panel,
.exam-picker-field,
.report-fixed-header,
.patient,
.panel{box-shadow:none!important}
.dropdown-menu,.rv-modal{box-shadow:var(--shadow-pop)!important}
/* Raios padronizados: blocos 6px, controles 4px, badges 3px. */
.workspace-layout .organ,.workspace-layout .preview,.esb-summary,.exam-sidebar .val-panel,.findings-summary,.exam-picker-panel,.patient,.panel,.exam-select{border-radius:var(--radius-lg)!important}
.organ-head{border-radius:0!important}
.report-cluster .ricon,.exam-nav-item,.topbar-icon,.topbar-user,.topbar-search,.topbar-avatar,.btn,.format-strip .word-btn,.format-strip .tool-select,.format-strip .color-tool,.workspace-layout .pill,.workspace-layout .radio-pill,.workspace-layout input,.workspace-layout select,.workspace-layout textarea,.exam-picker-panel.picker-collapsed .exam-picker-collapsed{border-radius:var(--radius)!important}
.review-badge,.organ-urgent-badge,.val-badge{border-radius:var(--radius-sm)!important}

/* ============================================================
   CLINICAL WORKSTATION — Fatia 2: chips secos + estados clínicos.
   (alterado = laranja; crítico = vermelho; só estado tem cor)
   ============================================================ */
/* Chips/segmented mais "secos": borda 1px, raio 3px, ~27px, sem sombra. */
.workspace-layout .pill,
.workspace-layout .radio-pill{
  border-radius:3px!important;min-height:27px!important;padding:4px 11px!important;
  border:1px solid var(--line)!important;background:#fff!important;box-shadow:none!important;font-weight:600!important;
}
.workspace-layout .pill.active,
.workspace-layout .radio-pill.active{
  background:var(--blue2)!important;border-color:#7f9fc4!important;color:var(--blue)!important;
  font-weight:700!important;box-shadow:none!important;
}
/* ALTERADO = laranja: barra lateral fina + sub-bloco selecionado. */
.workspace-layout .organ.organ-altered{position:relative}
.workspace-layout .organ.organ-altered::before{
  content:''!important;display:block!important;position:absolute;left:-9px!important;top:2px;bottom:2px;
  width:3px!important;border-radius:3px;background:#ea580c!important;z-index:4;opacity:1!important;
}
.workspace-layout .radio-pill.active:has(input:not([data-value=""])){
  background:#fff2e8!important;border-color:#ea580c!important;color:#c2410c!important;box-shadow:none!important;
}
body.dark-mode .workspace-layout .radio-pill.active:has(input:not([data-value=""])){
  background:#3a2410!important;border-color:#c2410c!important;color:#fdba74!important;
}
/* Resumo de achados — tom sóbrio (a hierarquia vem das cores por item). */
.findings-summary{border-color:var(--line,#e2e8f0)!important;background:var(--soft,#f8fafc)!important}
.fs-card-title{color:#475569!important}
.fs-card-list li{color:var(--text,#334155)!important}
.fs-card-list li.fs-sev-2{color:#64748b!important}
.fs-card-list li.fs-sev-3{color:#9a3412!important}
.fs-card-list li.fs-sev-4{color:#c2410c!important}
.fs-card-list li.fs-sev-5{color:#b91c1c!important}
body.dark-mode .findings-summary{background:var(--card)!important;border-color:var(--line)!important}
body.dark-mode .fs-card-title{color:#94a3b8!important}
body.dark-mode .fs-card-list li{color:#cbd5e1!important}
body.dark-mode .fs-card-list li.fs-sev-2{color:#94a3b8!important}
body.dark-mode .fs-card-list li.fs-sev-3{color:#fbbf24!important}
body.dark-mode .fs-card-list li.fs-sev-4{color:#fb923c!important}
body.dark-mode .fs-card-list li.fs-sev-5{color:#f87171!important}
/* CRÍTICO/URGENTE = vermelho: barra lateral fina + badge (cabeçalho fica sóbrio). */
.workspace-layout .organ.organ-critical>.organ-head{background:#3f5876!important;border-bottom-color:#314866!important;color:#fff!important}
.workspace-layout .organ.organ-critical{position:relative}
.workspace-layout .organ.organ-critical::before{
  content:''!important;display:block!important;position:absolute;left:-9px!important;top:2px;bottom:2px;
  width:3px!important;border-radius:3px;background:#dc2626!important;z-index:4;opacity:1!important;
}
.workspace-layout .organ.organ-urgent>.organ-head .organ-urgent-badge{
  display:inline-flex!important;align-items:center;gap:3px;margin-left:8px;padding:1px 7px;
  border-radius:3px;background:#dc2626;color:#fff;font-size:9px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;white-space:nowrap;
}
.workspace-layout .organ.organ-critical .radio-pill.active:has(input:not([data-value=""])){
  background:#fee2e2!important;border-color:#dc2626!important;color:#9b1c1c!important;
}
body.dark-mode .workspace-layout .organ.organ-critical .radio-pill.active:has(input:not([data-value=""])){
  background:#3b1515!important;border-color:#b91c1c!important;color:#fca5a5!important;
}

/* ============================================================
   CLINICAL WORKSTATION — Fatia 3: preview "documento" + topbar institucional.
   ============================================================ */
/* Topbar: ações secundárias discretas, "Novo laudo" menor, usuário/logo simples. */
.topbar-logo{width:28px!important;height:28px!important;font-size:13px!important;box-shadow:none!important}
.topbar-brand .brand{font-weight:800;letter-spacing:-.01em}
.topbar-new{height:32px!important;font-weight:600!important;padding:0 13px!important;font-size:12.5px!important}
.topbar-icon{border:1px solid transparent!important;background:transparent!important;color:#5b6472!important;width:34px!important;height:34px!important}
.topbar-icon:hover{background:#e9edf2!important;color:var(--blue)!important;border-color:transparent!important}
.topbar-user{border:1px solid transparent!important;background:transparent!important;padding:2px 6px 2px 2px!important;height:34px!important}
.topbar-user:hover{background:#e9edf2!important;border-color:transparent!important}
.topbar-avatar{width:28px!important;height:28px!important;background:#3f5876!important;border-radius:4px!important}
body.dark-mode .topbar-icon:hover,body.dark-mode .topbar-user:hover{background:#23272e!important}

/* Preview do laudo como documento: branco puro, borda cinza simples. */
.workspace-layout .preview{border:1px solid var(--line)!important;background:#fff!important}
.workspace-layout .preview>h2,
.preview>h2{background:#fff!important;border-bottom:1px solid var(--line)!important;color:#5b6472!important;font-size:11px!important}
.doc{border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:#fff!important;box-shadow:none!important}
.report-fixed-header{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:none!important}
/* Cluster de ações do laudo: ícones discretos (sem moldura). */
.report-cluster .ricon{border-color:transparent!important;color:#5b6472!important}
.report-cluster .ricon:hover{background:#e9edf2!important;color:var(--blue)!important;border-color:transparent!important}
.report-cluster .ricon.ricon-primary{color:var(--blue)!important}
body.dark-mode .report-cluster .ricon:hover{background:#23272e!important}
/* Toolbar de formatação: monocromática (botões neutros). */
.format-strip .word-btn{color:#46506a!important}
.format-strip .toolbar-group{border-right-color:#e3e9f2!important}

/* ============================================================
   CLINICAL WORKSTATION — Fatia 4: dark grafite (neutro) + densidade.
   ============================================================ */
/* Superfícies em grafite/ardósia (sem azul-noite/roxo/neon). */
body.dark-mode .top{background:var(--bg)!important}
body.dark-mode .exam-picker-panel{background:#1f2228!important;border-color:#353a42!important}
body.dark-mode .exam-picker-head{background:#1b1e23!important}
body.dark-mode .workspace-layout .organ-head,
body.dark-mode .exam-theme .organ-head,
body.dark-mode .organ-head{background:#2c313a!important;border-bottom-color:var(--line)!important;color:#e5e7ea!important}
body.dark-mode .doc{background:#191c21!important;color:#e5e7ea!important;border-color:#353a42!important}
body.dark-mode .exam-nav{background:var(--card)!important;border-color:#353a42!important}
body.dark-mode .drawer>summary,
body.dark-mode .subdrawer>summary,
body.dark-mode .msk-drawer>summary,
body.dark-mode .obst-head,
body.dark-mode .ig-ref-block,
body.dark-mode .tirads-opt,
body.dark-mode .tirads-head,
body.dark-mode .tirads-panel,
body.dark-mode .template-panel{background:#23272e!important;border-color:#353a42!important}
body.dark-mode .word-toolbar.compact{background:#1b1e23!important;border-color:#353a42!important}
body.dark-mode .topbar-logo{background:var(--line)!important}
body.dark-mode .topbar-avatar{background:var(--line)!important}
/* Estados clínicos no dark: visíveis, sem saturar. */
body.dark-mode .workspace-layout .organ.organ-altered::before{background:#e8722e!important}
body.dark-mode .workspace-layout .organ.organ-critical::before{background:#e25555!important}

/* Densidade: menos padding vertical, mais cara de ficha clínica. */
.workspace-layout .organ{margin-bottom:7px!important}
.workspace-layout .organ-head{padding:5px 14px!important}
.workspace-layout .micro{padding:5px 14px!important}
.workspace-layout .micro-label{padding-top:9px!important}

/* ============================================================
   CLINICAL WORKSTATION — Obstetrícia padronizada.
   Mantém a lógica obstétrica própria, mas aproxima a superfície visual
   dos demais exames: cards secos, raios menores, estados clínicos discretos.
   ============================================================ */
.workspace-layout .obst-age-card,
.workspace-layout .obst-panel,
.workspace-layout .obst-friendly .obst-section,
.workspace-layout .obst-summary-card,
.workspace-layout .obst-subcard,
.workspace-layout .ig-ref-block,
.workspace-layout .obst-result{
  border:1px solid var(--line)!important;
  border-radius:var(--radius-lg)!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* Estilos da OBSTETRÍCIA foram consolidados num bloco único no FIM deste arquivo
   ("OBSTETRÍCIA — BLOCO ÚNICO"). Não reintroduzir regras .obst-* aqui. */

/* ============================================================
   CLINICAL WORKSTATION — última rodada (topbar reta, exame ativo leve, sidebar tabular).
   ============================================================ */
/* Topbar com cantos retos (menos "SaaS"). */
.top{border-radius:var(--radius)!important}
/* Card "Exame ativo" mais leve: branco, texto escuro, filete azul à esquerda. */
.exam-active-card{
  background:#fff!important;color:var(--text)!important;
  border:1px solid var(--line)!important;border-left:3px solid var(--blue)!important;
  border-radius:var(--radius)!important;
}
.exam-active-kicker{color:var(--muted)!important;opacity:1!important}
.exam-active-title{color:var(--text)!important}
.exam-active-tech{color:var(--muted)!important;opacity:1!important}
.exam-active-badge{background:var(--blue2)!important;border:1px solid #b9cce2!important;color:var(--blue)!important}
body.dark-mode .exam-active-card{background:#1f2228!important;color:#e5e7ea!important;border-color:#353a42!important;border-left-color:var(--blue)!important}
body.dark-mode .exam-active-badge{background:#26303c!important;border-color:var(--line)!important;color:#9fc0e6!important}
/* Sidebar mais "prontuário": itens mais baixos/tabulares. */
.exam-nav-item{padding:3px 7px!important;min-height:22px!important;font-size:11px!important;border-radius:var(--radius-sm)!important}
.exam-nav .exam-nav-title{padding:2px 6px 4px!important}

/* Dark: corrige bordas de campo azul-claras que vazavam do tema light (#d4deec) -> grafite. */
body.dark-mode .exam-theme input,
body.dark-mode .exam-theme select,
body.dark-mode .exam-theme textarea,
body.dark-mode .exam-theme .select-sm{border-color:var(--line)!important}
body.dark-mode .obst-friendly .obst-field input,
body.dark-mode .obst-friendly .obst-field select{border-color:var(--line)!important}

/* Nav obstétrica: rótulos das seções em maiúsculas (os blocos já são uppercase). */
.exam-nav-item[data-nav^="obst:"] .exam-nav-label{text-transform:uppercase}

/* Tabela de biometria/Doppler no laudo obstétrico (pré-visualização #doc). */
.report-organ .bio-table{width:100%;border-collapse:collapse;margin:5px 0 10px;font-size:12.5px;font-family:Arial,Helvetica,sans-serif}
.report-organ .bio-table caption{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:0 0 3px}
.report-organ .bio-table td{border:1px solid var(--line);padding:3px 9px;vertical-align:top}
.report-organ .bio-table .bio-k{color:var(--text);width:62%}
.report-organ .bio-table .bio-v{font-weight:700;color:var(--text)}
/* Cartografia esquemática (mapas vascular/pélvico) — formulário e laudo. */
.vmap-wrap{margin:8px 0;width:100%;max-width:460px}
.vmap-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 4px}
.vmap-title .vmap-hint{font-weight:400;text-transform:none;letter-spacing:0;font-size:11px;opacity:.8}
.vmap-svg{width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px;box-sizing:border-box}
.vmap-interactive .vmap-seg{transition:opacity .12s ease}
.vmap-interactive .vmap-seg:hover{opacity:.6}
.vmap-legend{display:flex;flex-direction:column;gap:2px;margin-top:5px;font-size:11px;color:var(--muted)}
.vmap-leg-row{display:flex;flex-wrap:wrap;gap:3px 10px;align-items:center}
.vmap-leg-row b{color:var(--text);font-weight:700;margin-right:2px}
.vmap-leg-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.vmap-leg-item i{width:11px;height:11px;border-radius:3px;display:inline-block;border:1px solid rgba(0,0,0,.18);print-color-adjust:exact;-webkit-print-color-adjust:exact}
.report-organ .vmap-wrap{max-width:380px;margin:8px 0 4px}
.report-organ .vmap-svg{border:1px solid #cbd5e1;background:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}
@media print{.vmap-svg{border:1px solid #999;print-color-adjust:exact;-webkit-print-color-adjust:exact}.vmap-title .vmap-hint{display:none}.vmap-legend{font-size:9pt;color:#333}}
/* Mapa de mama (face de relógio) — esquema clicável + figura do laudo. */
.mama-mapa-wrap{max-width:320px}
.mama-mapa-svg{max-width:320px}
.mama-mapa-svg circle,.mama-mapa-svg g[onclick]{print-color-adjust:exact;-webkit-print-color-adjust:exact}
.mama-mapa-svg g[onclick]{transition:opacity .12s ease}.mama-mapa-svg g[onclick]:hover{opacity:.65}
.mama-mapa-warn{font-size:11px;color:#b45309;margin-top:4px}
.mama-mapa-flash{outline:2px solid var(--blue,#1e3a8a);outline-offset:2px;border-radius:8px;transition:outline-color .3s ease}
.ax-susp{font-size:10px;font-weight:700;color:#fff;padding:1px 7px;border-radius:10px;text-transform:lowercase;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.ax-linfo-row .mini-label{color:var(--muted)}
@media print{.mama-mapa-warn{display:none}}
/* Figura rica do laudo (mapaReportSvg): painéis + checkpoints numerados. */
.vmap-report{margin:10px 0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;max-width:680px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.vmap-report-title{font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#1e3a8a;font-size:12px;text-align:center;margin:0 0 2px}
.vmap-report-note{font-size:10px;color:var(--muted);text-align:center;margin:0 0 6px}
.vmap-report-grid{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;justify-content:center}
.vmap-report-fig{flex:1 1 220px;min-width:200px;max-width:300px}
.vmap-report-fig .vmap-svg{border:1px solid #cbd5e1}
.vmap-panel{flex:1 1 150px;min-width:140px;font-size:10.5px;color:var(--text)}
.vmap-panel h4{margin:0 0 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0d9488;border-bottom:1px solid var(--line);padding-bottom:2px}
.vmap-panel ul{margin:0;padding-left:0;list-style:none}
.vmap-panel li{padding:2px 0 2px 16px;position:relative}
.vmap-panel li:before{content:"✓";position:absolute;left:0;color:#0d9488;font-weight:700}
.vmap-checkpoints{margin:8px 0 0;padding:0;list-style:none;column-count:2;column-gap:18px;font-size:10.5px}
.vmap-checkpoints li{padding:2px 0;break-inside:avoid}
.vmap-cp-n{display:inline-block;min-width:15px;height:15px;line-height:15px;text-align:center;background:#1e3a8a;color:#fff;border-radius:50%;font-size:8.5px;font-weight:700;margin-right:5px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.vmap-cp-sub{color:var(--muted)}
.vmap-checkpoints .vmap-cp-alt b{color:#0f172a}
.vmap-cp-find{font-weight:600;print-color-adjust:exact;-webkit-print-color-adjust:exact}
@media print{.vmap-report{border:1px solid #999}.vmap-checkpoints{column-count:2}}
/* Interface do formulário: preview + lista de checkpoints com pills. */
.vmap-form{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.vmap-form-nofig .vmap-cp-list{flex:1 1 100%}
.vmap-form-fig{flex:0 0 190px;max-width:200px;position:sticky;top:8px}
.vmap-cp-list{flex:1 1 280px;min-width:240px;display:flex;flex-direction:column;gap:6px}
/* Seções colapsáveis por compartimento (endometriose) */
.vmap-cp-group{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--card,#fff)}
.vmap-cp-grp-sum{list-style:none;cursor:pointer;padding:8px 12px;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--blue,#2f6fb0);background:var(--bg,#f8fafc);display:flex;align-items:center;gap:8px}
.vmap-cp-grp-sum::-webkit-details-marker{display:none}
.vmap-cp-grp-sum::before{content:'▸';font-size:11px;color:var(--muted);transition:transform .15s}
.vmap-cp-group[open] .vmap-cp-grp-sum::before{transform:rotate(90deg)}
.vmap-cp-group .vmap-cp-row{padding:6px 12px}
.vmap-grp-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--blue,#2f6fb0);color:#fff;font-size:11px;font-weight:700}
.vmap-cp-row{display:flex;flex-direction:column;gap:3px;padding:5px 0;border-bottom:1px solid var(--line)}
.vmap-cp-row:last-child{border-bottom:none}
.vmap-cp-lab{font-size:12px}
.vmap-cp-lab b{color:var(--text)}
.vmap-cp-row .vmap-cp-sub{color:var(--muted);font-size:11px}
.vmap-cp-abbr{color:var(--muted);font-size:11px;font-weight:600}
/* ── Mapa anatômico desenhável (endometriose) ── */
.endo-draw{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--card,#fff)}
.endo-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:6px}
.endo-tools{display:flex;gap:4px;flex-wrap:wrap}
.endo-tool{display:inline-flex;align-items:center;justify-content:center;width:38px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--card,#fff);cursor:pointer;padding:0}
.endo-tool:hover{border-color:var(--blue)}
.endo-tool.active{background:color-mix(in srgb,var(--blue,#2f6fb0) 16%,transparent);border-color:var(--blue,#2f6fb0);box-shadow:inset 0 0 0 1px var(--blue,#2f6fb0)}
.endo-opts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.endo-opt-lab{font-size:11px;color:var(--muted)}
.endo-range{width:90px}
.endo-swatches{display:inline-flex;gap:4px}
.endo-sw{width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}
.endo-sw.active{box-shadow:0 0 0 2px var(--blue,#2f6fb0)}
.endo-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:11px;color:var(--text);padding:4px 2px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin-bottom:6px}
.endo-legend b{font-size:10px;letter-spacing:.04em;color:var(--muted)}
.endo-leg-item{display:inline-flex;align-items:center;gap:5px}
.endo-canvas-wrap{display:flex;justify-content:center}
.endo-canvas{width:100%;max-width:360px;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:crosshair;touch-action:none}
/* Seletor de lateralidade dos exames pareados (bilateral/direito/esquerdo) */
.dop-lat{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card,#fff)}
.dop-lat-lab{font-size:12px;font-weight:600;color:var(--muted)}
.dop-lat-pills{display:flex;gap:6px;flex-wrap:wrap}
.lat-pill{font-size:12px;padding:5px 14px;border:1px solid var(--line);border-radius:16px;background:var(--card,#fff);color:var(--text);cursor:pointer}
.lat-pill:hover{border-color:var(--blue)}
.lat-pill.active{background:var(--blue,#2f6fb0);border-color:var(--blue,#2f6fb0);color:#fff;font-weight:600}
.vmap-cp-pills{display:flex;flex-wrap:wrap;gap:4px}
.vmap-pill{font-size:11px;padding:3px 9px;border:1px solid var(--line);border-radius:14px;background:var(--card,#fff);color:var(--text);cursor:pointer;line-height:1.3}
.vmap-pill:hover{border-color:var(--blue)}
.vmap-pill.active{background:var(--pill,#1e3a8a);border-color:var(--pill,#1e3a8a);color:#fff;font-weight:600}
.vmap-pill.active:not([style]){background:#1e3a8a;border-color:#1e3a8a}
/* Qualificadores contextuais: surgem na linha do vaso (rowExtra) ou no fim da lista (tail),
   só quando o achado relevante está marcado. Recuo + faixa lateral p/ amarrar ao novo modelo. */
.vmap-cp-extra{margin:4px 0 2px;padding-left:9px;border-left:2px solid var(--blue,#2f6fb0);display:flex;flex-direction:column;gap:6px}
.vmap-cp-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.vmap-confirm-all{font-size:11px;padding:4px 10px;border:1px solid #16a34a;border-radius:14px;background:#f0fdf4;color:#15803d;cursor:pointer;font-weight:600;line-height:1.3}
.vmap-confirm-all:hover{background:#dcfce7;border-color:#15803d}
.vmap-cp-confirm-hint{font-size:10px;color:var(--muted)}
.vmap-cp-tail{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px}
.vmap-q{display:flex;flex-direction:column;gap:3px}
.vmap-q-lab{font-size:11px;font-weight:600;color:var(--muted)}

/* ── Faixa de status de revisão — topo do formulário (workspace desktop) ──
   Status persistente: substitui o botão discreto "Revisar laudo".
   Visual clínico/denso, âmbar para revisão e verde discreto p/ "pronto". */
/* ── Selo flutuante de revisão (canto superior direito, sobreposto) ─────────
   Substitui a antiga faixa inline "Revisão necessária": aparece só quando há
   pendência clínica, na tela de exame; clicar abre a revisão completa. */
.review-fab{position:fixed;top:74px;right:16px;z-index:8500}
body:not([data-view="exam"]) .review-fab{display:none!important}
.review-fab .rf-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #f0ca7c;border-radius:999px;background:var(--amber2,#fff7e6);color:#7a4a00;font-family:inherit;font-size:12.5px;font-weight:800;padding:8px 14px;cursor:pointer;box-shadow:0 6px 20px rgba(122,74,0,.18);letter-spacing:-0.01em}
.review-fab .rf-btn:hover{background:#fdedc8;border-color:#e0a63f}
.review-fab .rf-icon{width:17px;height:17px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e0922f;color:#fff;font-size:10.5px;font-weight:900;flex:none}
.review-fab .rf-count{font-size:11px;font-weight:900;background:#e0922f;color:#fff;border-radius:999px;padding:1px 8px;min-width:20px;text-align:center}
.review-fab .rf-lock{font-size:12px;line-height:1}
.review-fab.is-blocked .rf-btn{border-color:#e9a19a;background:#fdf1ef;color:#8c2318}
.review-fab.is-blocked .rf-icon,.review-fab.is-blocked .rf-count{background:var(--danger,#b42318)}
.review-fab.is-blocked .rf-btn:hover{background:#fbe3df}
body.dark-mode .review-fab .rf-btn{background:#2a2310;border-color:#5a4a1f;color:#f0d9a0;box-shadow:0 6px 20px rgba(0,0,0,.5)}
body.dark-mode .review-fab.is-blocked .rf-btn{background:#2d1512;border-color:#7a2f24;color:#f3b6ac}
@media(max-width:780px){.review-fab{top:auto;bottom:14px;right:12px}}

/* ── Layout renovado: índice lateral + status no preview ───────── */
.exam-sidebar .exam-nav{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  gap:1px!important;
}
.exam-nav .exam-nav-title{
  padding:0 2px 6px!important;
  font-size:9.5px!important;
  letter-spacing:.08em!important;
  color:#6b7280!important;
}
.exam-nav-item{
  position:relative;
  min-height:24px!important;
  padding:4px 7px 4px 5px!important;
  border-radius:4px!important;
  background:transparent!important;
  color:#526174!important;
  font-weight:650!important;
}
.exam-nav-item:hover{
  background:#f3f6fa!important;
  color:#172033!important;
}
.exam-nav-item.active{
  background:transparent!important;
  color:var(--blue)!important;
}
/* Indicador da estrutura ativa: transdutor "insonando" o nome da estrutura
   (substitui a antiga barrinha azul vertical). Horizontal, ondas à direita. */
.exam-nav-item.active::before{
  content:'';
  position:absolute;
  left:2px;
  top:9px;
  width:17px;height:11px;
  border-radius:0;
  background:var(--blue);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 40'%3E%3Crect x='3' y='14' width='24' height='12' rx='6'/%3E%3Cpath d='M27 16 L36 18.5 L36 21.5 L27 24 Z'/%3E%3Cg fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M43 13 a11 11 0 0 1 0 14'/%3E%3Cpath d='M50 8 a18 18 0 0 1 0 24'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 40'%3E%3Crect x='3' y='14' width='24' height='12' rx='6'/%3E%3Cpath d='M27 16 L36 18.5 L36 21.5 L27 24 Z'/%3E%3Cg fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M43 13 a11 11 0 0 1 0 14'/%3E%3Cpath d='M50 8 a18 18 0 0 1 0 24'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain;
}
.exam-nav-label{padding-left:1px}
.nav-dot{width:6px!important;height:6px!important}
.nav-dot-empty{background:#d7dee8!important}
.review-preview-chip{
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:2px 8px;
  border:1px solid #d5e1ee;
  border-radius:999px;
  font-size:10.5px;
  font-weight:800;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
  white-space:nowrap;
  color:#566481;
  background:#f6f8fb;
}
.review-preview-chip.is-pending{
  border-color:#f0ca7c;
  color:#7a4a00;
  background:#fff7e6;
}
.review-preview-chip.is-blocked{
  border-color:#f3b2ac;
  color:#b42318;
  background:#fff1f0;
}
.review-preview-chip.is-ready{
  border-color:#a7e6bf;
  color:#176b3a;
  background:#ecfdf3;
}
body.dark-mode .exam-nav .exam-nav-title{color:#8b95a7!important}
body.dark-mode .exam-nav-item{color:#a2adbd!important}
body.dark-mode .exam-nav-item:hover{background:#23272e!important;color:#e5e7ea!important}
body.dark-mode .exam-nav-item.active{color:#93c5fd!important}
body.dark-mode .exam-nav-item.active::before{background:#93c5fd}
body.dark-mode .review-preview-chip{border-color:#353a42;background:#191c21;color:#a2adbd}
body.dark-mode .review-preview-chip.is-pending{border-color:#5a4a1f;background:#2a2310;color:#f0d9a0}
body.dark-mode .review-preview-chip.is-blocked{border-color:#5b2a2a;background:#3a1d1d;color:#f3b2ac}
body.dark-mode .review-preview-chip.is-ready{border-color:#1f5a39;background:#10241a;color:#7fe0a8}

/* ============================================================
   WORKSPACE MOCKUP REFRESH — desktop visual closer to reference.
   Keeps sidebar as scroll index and all organs open in sequence.
   ============================================================ */
:root{
  --lu-navy:#002b78;
  --lu-navy-2:#073a96;
  --lu-border:#d9e1ec;
  --lu-border-soft:#e8edf5;
  --lu-row:#f8fafd;
  --lu-amber:#f59e0b;
  --lu-green:#2f9461;
  --lu-muted:#66758a;
}
.app{max-width:none!important;padding:0 12px 12px!important}
body{background:#f7f9fc!important;color:#0b1730}
.top{
  height:58px!important;margin:0 -12px!important;padding:0 20px!important;
  border:0!important;border-bottom:1px solid var(--lu-border)!important;border-radius:0!important;
  background:#fff!important;box-shadow:none!important;gap:22px!important;
}
.topbar-logo{
  width:28px!important;height:28px!important;border-radius:50%!important;
  background:#fff!important;color:var(--lu-navy)!important;border:2px solid var(--lu-navy)!important;
  font-size:0!important;position:relative;
}
.topbar-logo:before{content:'';width:10px;height:10px;border:2px solid currentColor;border-radius:50%}
.topbar-brand .brand{font-size:18px!important;color:var(--lu-navy)!important;font-weight:850!important}
.topbar-search{
  height:38px!important;max-width:330px!important;border-color:#d7dfeb!important;
  background:#fff!important;border-radius:4px!important;box-shadow:0 1px 2px rgba(15,22,35,.04);
}
.topbar-search input{font-size:12.5px!important}
.topbar-nav{display:flex;align-items:center;gap:22px;flex:0 0 auto}
.topbar-nav button{
  border:0;background:transparent;color:#061a44;font-family:inherit;font-size:12.5px;
  font-weight:800;padding:8px 0;cursor:pointer;
}
.topbar-nav button:hover{color:var(--lu-navy-2)}
.topbar-actions{gap:6px!important}
.topbar-new{
  height:34px!important;background:var(--lu-navy)!important;border-color:var(--lu-navy)!important;
  color:#fff!important;border-radius:4px!important;padding:0 14px!important;font-weight:800!important;
}
.topbar-icon,.topbar-user{height:34px!important;border-radius:4px!important}
.topbar-avatar{background:#eef2f7!important;color:#607086!important;border-radius:50%!important}
@media(max-width:1180px){.topbar-nav{display:none}.topbar-search{max-width:420px!important}}

.clinical-context-bar{
  display:flex;align-items:stretch;gap:0;margin:0 -12px 0!important;padding:14px 20px;
  background:#fff;border-bottom:1px solid var(--lu-border);min-height:66px;
}
.ccb-patient{display:flex;align-items:center;gap:12px;min-width:230px;padding-right:22px;border-right:1px solid var(--lu-border)}
.ccb-avatar{
  width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:#eef2f7;color:#78869a;flex:0 0 auto;
}
.ccb-patient b{display:block;color:#0b1730;font-size:14px;line-height:1.2}
.ccb-patient span:not(.ccb-avatar){display:block;color:#5f6d80;font-size:12px;font-weight:650;margin-top:2px}
.ccb-item{
  display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:118px;
  padding:0 22px;border-right:1px solid var(--lu-border);font-size:12.5px;color:#0b1730;font-weight:750;
}
.ccb-item small{font-size:11px;color:#657489;font-weight:600}
.ccb-wide{min-width:220px;max-width:310px}
.ccb-wide span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ccb-exam{margin-left:auto;min-width:330px;border-right:0}
.ccb-exam span{color:var(--lu-navy);font-weight:900;text-transform:uppercase;letter-spacing:.01em}
@media(max-width:1100px){.clinical-context-bar{display:none!important}}

.exam-picker-panel.picker-collapsed{display:none!important}
.workspace-layout{
  /* Laudo proporcional (não mais 430px fixos): em tela larga o documento cresce junto —
     form ~55% / laudo ~45% do espaço útil (ajuste de proporção pedido pelo médico, 2026-07). */
  grid-template-columns:210px minmax(520px,1.22fr) minmax(400px,1fr)!important;gap:0!important;margin-top:0!important;
  padding:0!important;background:#fff!important;border:1px solid var(--lu-border)!important;border-top:0!important;
  border-radius:0!important;box-shadow:none!important;min-height:calc(100vh - 126px);
}
.workspace-layout .form-panel,.workspace-layout .preview,.exam-sidebar{
  border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;
}
.workspace-layout .form-panel{border-left:1px solid var(--lu-border)!important;border-right:1px solid var(--lu-border)!important}
.workspace-layout .form-panel>h2{display:none!important}
.form-panel-body{padding:12px 16px 16px!important}
.workspace-layout .preview{position:sticky;top:0!important;max-height:100vh!important;overflow:auto!important}
.workspace-layout .preview .panel-body{padding:12px 14px!important}

.exam-sidebar{padding:16px 14px!important;border-right:1px solid var(--lu-border)!important}
.esb-summary{
  border:0!important;border-radius:0!important;padding:0 0 14px!important;background:transparent!important;
  border-bottom:1px solid var(--lu-border)!important;margin-bottom:8px;
}
.esb-exam-kicker{display:none}
.esb-exam-title{font-size:0!important;margin:0!important}
.esb-patient-card{display:none!important}
.exam-nav .exam-nav-title{
  padding:4px 0 14px!important;font-size:12px!important;letter-spacing:.03em!important;
  color:#24354f!important;font-weight:900!important;
}
.exam-nav-item{
  min-height:38px!important;padding:5px 0!important;gap:10px!important;color:#263850!important;
  font-size:12px!important;font-weight:650!important;border-radius:0!important;
}
.exam-nav-item:hover{background:transparent!important;color:var(--lu-navy)!important}
.exam-nav-item.active{color:var(--lu-navy)!important;background:transparent!important}
.exam-nav-item.active::before{left:2px!important;top:9px!important;bottom:auto!important;transform:none!important;width:17px!important;height:11px!important;border-radius:0!important}
.nav-dot{width:9px!important;height:9px!important}
.nav-dot-empty{background:#8b96a5!important}
.nav-dot-amber,.nav-dot-yellow{background:#f6b636!important}
.nav-dot-red{background:#dc2626!important}


.form-panel-body>.toolbar{
  display:flex!important;justify-content:flex-end;align-items:center;gap:22px!important;
  margin:0 -16px 0!important;padding:10px 16px 12px!important;border-bottom:1px solid var(--lu-border)!important;
}
.form-panel-body>.toolbar .btn{
  min-height:42px!important;padding:0 22px!important;border-radius:4px!important;background:#fff!important;
  border:1px solid #c8d4e6!important;color:var(--lu-navy)!important;font-size:12.5px!important;
  font-weight:850!important;display:inline-flex;align-items:center;gap:8px;box-shadow:none!important;
}
.form-panel-body>.toolbar .btn .ico{width:16px;height:16px;margin-right:0}
.form-panel-body>.toolbar .btn.primary{background:#fff!important;color:var(--lu-navy)!important}
.form-panel-body>.toolbar .btn.green{
  background:#f3f4f6!important;border-color:#d7dde7!important;color:#737b8a!important;
}
.form-panel-body>.toolbar .btn:hover{border-color:var(--lu-navy)!important;background:#f7faff!important}
#finishExamBtn.finish-gated{background:#f3f4f6!important;border-color:#d7dde7!important;color:#8a6a2a!important}

details.drawer.limbox{
  margin:0 -16px 0!important;border:0!important;border-bottom:1px solid var(--lu-border)!important;
  border-radius:0!important;background:#fff!important;box-shadow:none!important;
}
details.drawer.limbox>summary{
  min-height:34px!important;padding:7px 16px!important;background:#fbf8ff!important;color:#6d4cc2!important;
  font-size:12px!important;border:0!important;
}
details.drawer.limbox>summary .hint{color:#7c3aed!important;font-size:11px!important}
details.drawer.limbox .drawer-body{padding:8px 16px!important;background:#fff!important}
.findings-summary{margin:8px 0!important;border-radius:4px!important;box-shadow:none!important}

.workspace-layout .organ,
.workspace-layout .exam-theme .organ{
  border:0!important;border-top:1px solid var(--lu-border-soft)!important;border-radius:0!important;
  box-shadow:none!important;margin:0!important;background:#fff!important;overflow:visible!important;
}
.workspace-layout .organ:last-child{border-bottom:1px solid var(--lu-border-soft)!important}
.workspace-layout .organ:before,.exam-theme .organ:before{display:none!important}
.workspace-layout .organ-head,
.workspace-layout .exam-theme .organ-head,
.workspace-layout .organ.organ-altered>.organ-head,
.workspace-layout .organ.organ-critical>.organ-head{
  background:#fff!important;color:var(--lu-navy)!important;border:0!important;border-radius:0!important;
  padding:9px 0 5px!important;font-size:14px!important;font-weight:900!important;
  letter-spacing:0!important;text-transform:uppercase!important;
}
.organ-title-wrap{display:flex!important;align-items:center!important;gap:9px!important;min-width:0}
.organ-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.organ-title-status{
  width:9px;height:9px;border-radius:50%;background:var(--lu-green);display:inline-flex;flex:0 0 auto;
}
.organ.organ-altered .organ-title-status{background:#f5a524}
.organ.organ-critical .organ-title-status,.organ.organ-urgent .organ-title-status{background:#dc2626}
.organ-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto;color:#708096}
.organ-icon-btn,.exam-theme .organ-head .organ-icon-btn,.workspace-layout .organ-head .organ-icon-btn{
  width:22px!important;height:22px!important;min-height:22px!important;padding:0!important;border:0!important;
  background:transparent!important;color:#6c7c91!important;border-radius:4px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;
}
.organ-icon-btn:hover{background:#eef3f9!important;color:var(--lu-navy)!important}
.organ-icon-btn .ico{width:15px;height:15px;margin:0!important}
.organ-btn-text{display:none}
.organ-urgent-badge{
  background:#dc2626!important;color:#fff!important;border-radius:3px!important;padding:1px 6px!important;
  font-size:9px!important;margin-left:2px!important;
}

.workspace-layout .micro,.workspace-layout .exam-theme .micro{
  display:grid!important;grid-template-columns:118px minmax(0,1fr)!important;gap:8px!important;
  margin:0!important;padding:3px 0!important;border:0!important;border-radius:0!important;background:#fff!important;
  box-shadow:none!important;align-items:center!important;
}
.workspace-layout .micro:last-child,.workspace-layout .exam-theme .micro:last-child{border:0!important;margin-bottom:8px!important}
.workspace-layout .micro-label,.workspace-layout .exam-theme .micro-label{
  color:#244064!important;font-size:11px!important;font-weight:850!important;line-height:1.15!important;
  text-transform:none!important;letter-spacing:0!important;padding:0!important;min-height:0!important;
}
.workspace-layout .inline-options,.workspace-layout .measure-line{gap:6px!important;align-items:center!important;min-height:24px!important}
.workspace-layout .pill,.workspace-layout .radio-pill,
.workspace-layout .exam-theme .pill,.workspace-layout .exam-theme .radio-pill{
  min-height:22px!important;height:22px!important;padding:2px 10px!important;border-radius:4px!important;
  background:#fff!important;border:1px solid #d9e0ea!important;color:#475569!important;font-size:11.5px!important;
  font-weight:650!important;line-height:1!important;
}
.workspace-layout .pill.active,.workspace-layout .radio-pill.active,
.workspace-layout .exam-theme .pill.active,.workspace-layout .exam-theme .radio-pill.active{
  background:var(--lu-navy)!important;border-color:var(--lu-navy)!important;color:#fff!important;font-weight:850!important;
}
.workspace-layout .radio-pill.active:has(input:not([data-value=""])){
  background:#fff7ed!important;border-color:#f2b460!important;color:#9a5b00!important;
}
.workspace-layout input,.workspace-layout select,.workspace-layout textarea,.workspace-layout .select-sm,
.workspace-layout .exam-theme input,.workspace-layout .exam-theme select,.workspace-layout .exam-theme textarea,.workspace-layout .exam-theme .select-sm{
  min-height:24px!important;height:24px!important;border-radius:4px!important;border-color:#d9e0ea!important;
  background:#fff!important;font-size:11.5px!important;padding:2px 8px!important;box-shadow:none!important;
}
.workspace-layout .select-sm{min-width:120px!important}
.workspace-layout .measure-box{min-width:74px!important;gap:1px!important}
.workspace-layout .measure-box input{height:24px!important;min-height:24px!important;font-weight:650!important}
.workspace-layout .unit{font-size:10px!important;color:#5f6f84!important;font-weight:700!important}
.freebox-wrap{align-items:center!important}
.workspace-layout .freebox{
  min-height:24px!important;height:24px!important;line-height:1.2!important;padding:4px 8px!important;
  background:#fff!important;border-color:#d9e0ea!important;resize:vertical;
}
.workspace-layout .freebox:focus{height:42px!important;min-height:42px!important}
.mic-btn{width:24px!important;height:24px!important;min-height:24px!important;padding:0!important;border-radius:4px!important}

.workspace-layout .drawer:not(.limbox),.workspace-layout .subdrawer,.workspace-layout .msk-drawer{
  border:0!important;border-top:1px solid var(--lu-border-soft)!important;border-radius:0!important;margin:2px 0!important;background:#fff!important;
}
.workspace-layout .drawer:not(.limbox)>summary,
.workspace-layout .subdrawer>summary,
.workspace-layout .msk-drawer>summary{
  min-height:28px!important;padding:4px 0!important;background:#fff!important;color:#244064!important;
  font-size:11.5px!important;font-weight:850!important;border:0!important;
}
.workspace-layout .drawer:not(.limbox)[open]>summary,
.workspace-layout .subdrawer[open]>summary,
.workspace-layout .msk-drawer[open]>summary{background:#fff!important;color:var(--lu-navy)!important}
.workspace-layout .drawer-body,.workspace-layout .subdrawer-body,.workspace-layout .msk-group-body{padding:6px 0!important;background:#fff!important}

.workspace-layout .preview>h2,.preview>h2{
  height:46px!important;padding:0 18px!important;background:#fff!important;border-bottom:1px solid var(--lu-border)!important;
  color:#0b1730!important;font-size:15px!important;font-weight:900!important;text-transform:none!important;letter-spacing:0!important;
}
.rtb-title{font-size:15px!important;color:#0b1730!important;text-transform:none!important;letter-spacing:0!important}
.lock-toggle{display:none!important}
.review-preview-chip{
  height:24px!important;min-height:24px!important;padding:0 10px!important;border-radius:4px!important;
  font-size:11.5px!important;font-weight:800!important;
}
.doc{
  min-height:calc(100vh - 132px)!important;border:1px solid var(--lu-border)!important;border-radius:4px!important;
  padding:28px 24px!important;font-family:Tahoma,Arial,sans-serif!important;font-size:13px!important;
  line-height:1.44!important;color:#0f172a!important;
}
.doc .report-organ-title,.doc .report-section-label{color:#0b1730!important;text-decoration:none!important;letter-spacing:0!important}
.word-toolbar.compact.format-strip{border-bottom:1px solid var(--lu-border)!important;padding-bottom:8px!important;margin-bottom:10px!important}

body.dark-mode{background:#111418!important}
body.dark-mode .top,body.dark-mode .clinical-context-bar,body.dark-mode .workspace-layout,
body.dark-mode .workspace-layout .form-panel,body.dark-mode .workspace-layout .preview,
body.dark-mode .workspace-layout .organ,body.dark-mode .workspace-layout .exam-theme .organ{
  background:#191c21!important;border-color:#353a42!important;color:#e5e7ea!important;
}
body.dark-mode .workspace-layout .organ-head,
body.dark-mode .workspace-layout .exam-theme .organ-head{background:#191c21!important;color:#9fc0e6!important}
body.dark-mode .workspace-layout .micro,body.dark-mode .workspace-layout .drawer-body,
body.dark-mode .workspace-layout .subdrawer-body{background:#191c21!important}
body.dark-mode .workspace-layout input,body.dark-mode .workspace-layout select,body.dark-mode .workspace-layout textarea,
body.dark-mode .workspace-layout .pill,body.dark-mode .workspace-layout .radio-pill{background:#111418!important;border-color:#353a42!important;color:#cbd5e1!important}

/* Final alignment pass for the mockup-like desktop workspace. */
.report-title-bar{gap:8px!important}
.rtb-title{
  flex:0 0 auto!important;max-width:none!important;min-width:max-content!important;overflow:visible!important;
  text-overflow:clip!important;white-space:nowrap!important;
}
.report-cluster{gap:2px!important}
.report-cluster .ricon{width:24px!important;height:24px!important}
details.drawer.limbox>summary{
  background:#fff!important;color:#566481!important;border-top:0!important;
}
details.drawer.limbox>summary .hint{color:#7b61c7!important;font-weight:750}
details.drawer.limbox[open]>summary{
  background:#fff!important;color:#566481!important;border-bottom:1px solid var(--lu-border-soft)!important;
}
details.drawer.limbox[open]>summary .hint{color:#7b61c7!important}

/* ============================================================
   AJUSTES DE ACABAMENTO (feedback do usuário) — itens 4/5/6/9/10
   ============================================================ */

/* — Item 9: caixa de observações ocupa a largura toda e cresce com o texto — */
.workspace-layout .micro.micro-free{grid-template-columns:1fr!important;padding:2px 0 6px!important}
.workspace-layout .micro-free .inline-options{display:block!important;width:100%}
.workspace-layout .micro-free .freebox-wrap{width:100%!important;align-items:flex-start!important}
.workspace-layout .freebox{
  width:100%!important;min-height:34px!important;height:auto!important;
  line-height:1.4!important;padding:7px 10px!important;resize:none;overflow:hidden;
}
.workspace-layout .freebox:focus{min-height:46px!important}

/* — Item 10: índice de estruturas mostra o nome inteiro (sem cortar atrás do painel) — */
.exam-sidebar{min-width:0}
.workspace-layout .exam-nav-item{align-items:flex-start!important;min-height:32px!important}
.workspace-layout .exam-nav-item .nav-dot{margin-top:5px}
.workspace-layout .exam-nav-label{
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  line-height:1.25!important;word-break:break-word;
}

/* — Item 6: pendências clicáveis levam direto à estrutura + destaque temporário — */
.review-modal-item-body{flex:1 1 auto;min-width:0}
.review-modal-item-go{cursor:pointer;transition:background .12s,border-color .12s}
.review-modal-item-go:hover{background:#eef4ff;border-color:#9db8e6}
.review-modal-item-go:focus-visible{outline:2px solid var(--blue,#245a9c);outline-offset:1px}
.review-modal-item-cta{margin-left:auto;align-self:center;flex:0 0 auto;white-space:nowrap;
  font-size:10.5px;font-weight:800;color:var(--blue,#245a9c);background:#eef4ff;
  border:1px solid #c5d9f5;border-radius:999px;padding:3px 9px;line-height:1}
.review-modal-item-go:hover .review-modal-item-cta{background:var(--blue,#245a9c);color:#fff;border-color:var(--blue,#245a9c)}
body.dark-mode .review-modal-item-cta{background:#16233f;border-color:#2d4a7a;color:#93c5fd}
.review-modal-footer{display:flex;gap:8px;justify-content:flex-end}
@keyframes organFlash{0%{background:#fff7e0;box-shadow:inset 0 0 0 2px #f4b04d}100%{background:transparent;box-shadow:none}}
.organ-flash{animation:organFlash 1.7s ease-out}

/* — Itens 4/5: topbar mais contida — ícones menores e espaçamento que se ajusta — */
.top{gap:16px!important}
.topbar-icon,.topbar-user{height:32px!important}
.topbar-icon{width:32px!important;font-size:14px!important}
.topbar-user-name{max-width:120px!important}
@media(max-width:1340px){.top{gap:12px!important}.topbar-nav{gap:16px!important}}
@media(max-width:1240px){.top{gap:10px!important}.topbar-nav{gap:12px!important}.topbar-nav button{font-size:12px!important}.topbar-search{max-width:260px!important}}
@media(max-width:1180px){.topbar-user-name{display:none!important}}

/* — Item 8: botão "Trocar exame" na barra de contexto clínico — */
.ccb-exam{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.ccb-switch{
  margin-top:3px;border:1px solid #c8d4e6;background:#fff;color:var(--lu-navy,#002b78);
  font-family:inherit;font-size:11px;font-weight:800;border-radius:4px;padding:3px 9px;
  cursor:pointer;line-height:1;transition:all .12s;white-space:nowrap;
}
.ccb-switch:hover{border-color:var(--lu-navy,#002b78);background:#f3f7ff}
body.dark-mode .ccb-switch{background:#191c21;border-color:#353a42;color:#9db8e6}

/* ── Item C: índice ESTRUTURAS — ponto/barra com folga, sem colar/sobrepor o texto ── */
.workspace-layout .exam-nav{padding-left:8px!important}
.workspace-layout .exam-nav-item{padding-left:24px!important;gap:9px!important}
.workspace-layout .exam-nav-item .nav-dot{flex:0 0 auto;margin-right:1px}
.workspace-layout .exam-nav-item.active::before{left:3px!important;top:9px!important;bottom:auto!important;transform:none!important;width:18px!important;height:11px!important;border-radius:0!important}

/* ── Item D: semântica de cores no corpo do laudo (pré-visualização) ──
   urgente → vermelho · alterado → amarelo (padrão) · variação anatômica → verde ·
   medida (só o número) → azul, em destaque diferente do realce de fundo. */
.report-review-mark-urgent{background:#ffe1de;box-shadow:inset 0 -2px 0 rgba(180,35,24,.32);color:#9b1c14}
.report-review-mark-variation{background:#d8f3e3;box-shadow:inset 0 -2px 0 rgba(22,107,58,.26);color:#13633a}
.report-review-mark-measure{background:transparent!important;box-shadow:none!important;color:#1746a2;font-weight:800;border-bottom:1.5px solid #6aa3e8;border-radius:0;padding:0}
body.dark-mode .report-review-mark-urgent{background:#3a1614;color:#fca5a5}
body.dark-mode .report-review-mark-variation{background:#0f2a1c;color:#7fe0a8}
body.dark-mode .report-review-mark-measure{color:#7fa8ee;border-bottom-color:#3b6fd4}

/* Validação na sidebar (estreita): ícone alinha ao topo (não "flutua" no meio do
   texto quebrado, o que parecia uma linha laranja sobreposta) e a ação cai abaixo. */
.exam-sidebar .incons-item{align-items:flex-start!important;flex-wrap:wrap}
.exam-sidebar .incons-icon{margin-top:1px}
.exam-sidebar .incons-text{min-width:0;flex:1 1 100%}
.exam-sidebar .incons-action{margin-top:5px;margin-left:23px}


/* ============================================================
   OBSTETRÍCIA — BLOCO ÚNICO (consolidado).
   A obstetrícia tem DOM próprio (.obst-panel/.obst-section/.obst-field/.obst-chip/
   .ig-ref-tab…). Aqui ela herda a MESMA linguagem do workspace (branco, navy, plano,
   compacto), incl. destaque de alterado/urgente no gutter e modo escuro.
   ============================================================ */
.workspace-layout .obst-panel{
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;margin:0!important;overflow:visible!important;
}
.workspace-layout .obst-friendly{display:block}
.workspace-layout .obst-friendly .obst-section,
.workspace-layout .obst-section{
  border:0!important;border-top:1px solid var(--lu-border-soft)!important;border-radius:0!important;
  background:#fff!important;box-shadow:none!important;margin:0!important;padding:2px 0 8px!important;
  overflow:visible!important;scroll-margin-top:72px;
}
.workspace-layout .obst-friendly .obst-section:first-child,
.workspace-layout .obst-panel>.obst-section:first-child{border-top:0!important}
.workspace-layout .obst-friendly .obst-section-title,
.workspace-layout .obst-section-title{
  background:#fff!important;color:var(--lu-navy)!important;border:0!important;border-radius:0!important;
  margin:0!important;padding:9px 0 6px!important;font-size:13px!important;font-weight:900!important;
  letter-spacing:0!important;text-transform:uppercase!important;
}
.workspace-layout .obst-friendly .obst-section-title:before{display:none!important}
.workspace-layout .obst-friendly .obst-section>.obst-grid{padding:0 0 2px!important}
.workspace-layout .obst-grid{gap:8px!important}
.workspace-layout .obst-card-list,
.workspace-layout .obst-subcard-grid,
.workspace-layout .obst-morph-grid{padding:7px 10px!important;gap:7px!important}
.workspace-layout .obst-mgrid{padding:7px 10px!important;gap:8px!important}
.workspace-layout .obst-mrow select{height:26px!important;min-height:26px!important}
.workspace-layout .obst-friendly .obst-field,
.workspace-layout .obst-field,
.workspace-layout .obst-morph-row{
  background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;gap:3px!important;box-shadow:none!important;
}
.workspace-layout .obst-friendly .obst-field label,
.workspace-layout .obst-field label,
.workspace-layout .obst-morph-label{
  color:#244064!important;font-size:10.5px!important;font-weight:850!important;
  text-transform:none!important;letter-spacing:0!important;margin:0!important;
}
.workspace-layout .obst-field input,.workspace-layout .obst-field select,
.workspace-layout .obst-friendly .obst-field input,.workspace-layout .obst-friendly .obst-field select{
  min-height:26px!important;height:26px!important;border-radius:4px!important;border-color:#d9e0ea!important;
  background:#fff!important;font-size:12px!important;font-weight:650!important;padding:2px 8px!important;box-shadow:none!important;
}
/* cabeçalho de grupo por feto (.obst-head "AVALIAÇÃO OBSTÉTRICA") — barra clara */
.workspace-layout .obst-head{
  background:#f1f4f9!important;color:var(--lu-navy)!important;border:0!important;
  border-bottom:1px solid var(--lu-border)!important;border-radius:0!important;
  font-size:11.5px!important;font-weight:800!important;padding:7px 12px!important;letter-spacing:.02em!important;
}
/* chips/badges obstétricos = pills planos */
.workspace-layout .obst-chip,
.workspace-layout .obst-subcard-badge{border-radius:4px!important;background:#eef2f8!important;border-color:#d9e0ea!important;color:#33425b!important;font-weight:700!important;box-shadow:none!important}
.workspace-layout .obst-chip.warn,
.workspace-layout .obst-subcard-badge.warn{background:#fff7ed!important;border-color:#f2b460!important;color:#9a5b00!important}
.workspace-layout .obst-chip.bad,
.workspace-layout .obst-subcard-badge.bad{background:#fdecec!important;border-color:#f3b2ac!important;color:#b42318!important}
/* subcards (embrião / morfológico) e resumo */
.workspace-layout .obst-subcard,
.workspace-layout .obst-summary-card{border:1px solid var(--lu-border)!important;border-radius:6px!important;box-shadow:none!important;background:#fff!important}
.workspace-layout .obst-subcard-head{background:#f7f9fc!important;border-bottom:1px solid var(--lu-border)!important}
.workspace-layout .obst-subcard-title{color:#24354f!important;font-weight:800!important}
.workspace-layout .obst-subcard-grid .obst-field{background:transparent!important;border:0!important;padding:0!important}
/* caixa de resultado da IG / Doppler */
.workspace-layout .obst-result,
.workspace-layout .ig-ref-block{background:#f7f9fc!important;border:1px solid var(--lu-border)!important;border-radius:6px!important}
.workspace-layout .obst-result-line.highlight{color:var(--lu-navy)!important}
.workspace-layout .ig-result-ref{background:#f1f5fb!important;border-radius:4px!important}
/* abas de referência da idade gestacional */
.workspace-layout .ig-ref-tab,
.workspace-layout .ig-dum-unknown{border-radius:4px!important;border-color:#d9e0ea!important;background:#fff!important;font-weight:700!important;box-shadow:none!important}
.workspace-layout .ig-ref-tab.active{background:var(--lu-navy)!important;border-color:var(--lu-navy)!important;color:#fff!important}
.workspace-layout .ig-ref-tab.warn,.workspace-layout .ig-ref-tab.warn.active,.workspace-layout .ig-dum-unknown.active{background:#fff7ed!important;border-color:#f2b460!important;color:#9a5b00!important}
/* card de idade gestacional (é .organ) — alinhado aos demais */
.workspace-layout .obst-age-card{border:0!important;border-top:1px solid var(--lu-border-soft)!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;margin:0!important}
.workspace-layout .obst-age-card .organ-head{background:#fff!important;color:var(--lu-navy)!important;border:0!important;padding:9px 0 5px!important;font-size:14px!important;font-weight:900!important;text-transform:uppercase!important}
/* alterado/urgente: barra fina no gutter (igual aos órgãos); título permanece plano */
.workspace-layout .obst-section.organ-altered,
.workspace-layout .obst-section.organ-critical{position:relative}
.workspace-layout .obst-section.organ-altered::before,
.workspace-layout .obst-section.organ-critical::before{
  content:''!important;display:block!important;position:absolute;left:-9px!important;top:6px;bottom:6px;
  width:3px!important;border-radius:3px;z-index:4;
}
.workspace-layout .obst-section.organ-altered::before{background:#ea580c!important}
.workspace-layout .obst-section.organ-critical::before{background:#dc2626!important}
.workspace-layout .obst-section.organ-urgent>.obst-section-title .organ-urgent-badge{display:inline-flex!important;border-radius:var(--radius-sm)!important}
/* modo escuro */
body.dark-mode .workspace-layout .obst-friendly .obst-section,
body.dark-mode .workspace-layout .obst-section,
body.dark-mode .workspace-layout .obst-age-card{background:var(--bg)!important;border-top-color:#23272e!important}
body.dark-mode .workspace-layout .obst-section-title,
body.dark-mode .workspace-layout .obst-age-card .organ-head{background:var(--bg)!important;color:#93c5fd!important}
body.dark-mode .workspace-layout .obst-head{background:#1c2530!important;color:#93c5fd!important;border-bottom-color:#23272e!important}
body.dark-mode .workspace-layout .obst-field input,
body.dark-mode .workspace-layout .obst-field select{background:#16181d!important;border-color:var(--line)!important;color:#e5e7ea!important}
body.dark-mode .workspace-layout .obst-subcard,
body.dark-mode .workspace-layout .obst-summary-card,
body.dark-mode .workspace-layout .obst-result,
body.dark-mode .workspace-layout .ig-ref-block{background:#1f2228!important;border-color:#353a42!important}
body.dark-mode .workspace-layout .obst-subcard-head{background:#23272e!important;border-color:#353a42!important}

/* ── Item multi em branco: visível como incompleto (não entra no laudo até ser preenchido) ── */
.item-row-empty{border-style:dashed;border-color:#e3b34c;background:#fffaf0;position:relative}
.item-row-empty:after{content:'em branco — não entra no laudo';grid-column:1/-1;font-size:10px;font-weight:700;color:#b45309;letter-spacing:.02em}
body.dark-mode .item-row-empty{background:#241c0d;border-color:#8a6a2a}
body.dark-mode .item-row-empty:after{color:#e6b260}

/* ── Chip de correção automática de unidade (850 → 8,5 cm · desfazer) ── */
.unit-undo-chip{grid-column:1/-1;display:inline-flex;align-items:center;gap:4px;margin-top:3px;padding:2px 8px;min-height:22px;font-size:11px;font-weight:700;border:1px solid #f0ca7c;border-radius:6px;background:#fff7e6;color:#92400e;cursor:pointer;justify-self:start;white-space:nowrap}
.unit-undo-chip:hover{background:#fdeec8}
body.dark-mode .unit-undo-chip{background:#241c0d;border-color:#8a6a2a;color:#e6b260}

/* ── Correção responsiva do workspace ───────────────────────────────────────────
   O bloco de reskin (.workspace-layout com grid 210px/620px/430px !important, ~l.2209)
   vem DEPOIS das media queries de 1100/1250px — entre !important de mesma especificidade
   vence o último, e o colapso para 1 coluna nunca era aplicado: em janela dividida (~700px)
   o formulário ficava com 210px e a página estourava na horizontal. Estas regras ficam no
   FIM do arquivo justamente para vencer aquele bloco. */
@media(max-width:1280px){.workspace-layout{grid-template-columns:210px minmax(0,1.25fr) minmax(0,1fr)!important}}
@media(max-width:1100px){
  .workspace-layout{grid-template-columns:1fr!important;min-height:0}
  .workspace-layout .preview{position:static!important;max-height:none!important;overflow:visible!important}
}

/* ── Marcações de revisão no dark mode ──────────────────────────────────────────
   As marks base/finding/limitation/alert mantinham fundo CLARO hardcoded com o texto
   quase branco do dark mode (contraste ~1.3:1) — exatamente os trechos COM achado
   ficavam ilegíveis, como tarjas. urgent/variation/measure já tinham par escuro. */
body.dark-mode .report-review-mark{background:#3a3208;color:#f0d48a;box-shadow:inset 0 -2px 0 rgba(230,178,96,.35)}
body.dark-mode .report-review-mark-limitation{background:#2a2140;color:#cdb8f6;box-shadow:inset 0 -2px 0 rgba(167,139,250,.30)}
body.dark-mode .report-review-mark-alert{background:#3a1614;color:#fca5a5;box-shadow:inset 0 -2px 0 rgba(252,165,165,.30)}

/* Nota de pendências administrativas na faixa de revisão (estado neutro, não-alarmante) */

/* ═══════════════════════════════════════════════════════════════════════════
   UX pass (jun/2026) — foco de teclado, contraste (AA) e responsivo da topbar.
   Bloco no fim do arquivo: vence por ordem de origem. Não altera motor clínico.
   ═══════════════════════════════════════════════════════════════════════════ */

/* — Foco visível nas radio-pills —
   `.exam-theme .radio-pill input{display:none!important}` (linha ~1151) tirava a pílula da ordem
   de tabulação (teclado não alcançava NENHUM achado). O input volta a ser FOCÁVEL (oculto mas no
   fluxo), com !important para vencer aquela regra; o anel aparece na pílula. Com o name por-grid
   (selectHTML), cada grid vira 1 parada de Tab + navegação por setas. */
.pill input,.radio-pill input,.exam-theme .pill input,.exam-theme .radio-pill input{display:inline-block!important;position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.radio-pill:has(input:focus-visible),.pill:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:1px;border-radius:4px}
/* foco visível também em links/botões/checkbox que dependiam só de outline:none */
a:focus-visible,button:focus-visible,[role=button]:focus-visible,input[type=checkbox]:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* — Contraste AA —
   Botão primário no DARK: branco sobre var(--blue)=#6293c4 dava ~2,9:1 (reprova AA). Azul dedicado
   com texto branco ≥4,5:1. (A topbar do reskin é CLARA — marca navy sobre branca já tem ótimo
   contraste; não mexer nela.) */
body.dark-mode .btn.primary{background:#1a56db;border-color:#1a56db;color:#fff}
body.dark-mode .btn.primary:hover{background:#1648c4;border-color:#1648c4}
/* Texto auxiliar de 11px sobe para 12px (legibilidade clínica). */
.hint{font-size:12px}

/* — Topbar responsiva (<860px): some o overflow horizontal e empilha sem cortar ações — */
@media(max-width:860px){
  .top{flex-wrap:wrap;height:auto;min-height:42px;padding:8px 12px;gap:8px}
  .topbar-search{order:5;flex-basis:100%;max-width:none}
  .topbar-nav{display:none}            /* navegação secundária fica no menu "⋯" */
  .topbar-actions{margin-left:auto}
}
/* Ações do formulário (Exame Normal / Atualizar / Novo exame / Finalizar) ocupam a linha
   inteira em telas estreitas (antes ficavam alinhadas à direita com vazio morto à esquerda). */
@media(max-width:780px){
  .toolbar{width:100%}
  .toolbar .btn{flex:1 1 auto;justify-content:center}
}

/* ═══════════════════════════════════════════════════════════════════════════
   UX pass 2 (jun/2026) — F1–F4: paleta de comandos, busca no exame, pendências
   unificadas, estados de órgão, autotextos/atenção, gates com etapa, vitrine.
   Bloco no FIM do arquivo (vence o reskin por ordem). Usa tokens semânticos.
   ═══════════════════════════════════════════════════════════════════════════ */

/* — Campos pedidos na finalização (marcador discreto no rótulo) — */
.lbl-req{color:var(--warn);font-weight:900;cursor:help}

/* — Passo a passo do primeiro uso (no seletor de exame; some quando o exame inicia) — */
.exam-picker-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;font-size:11.5px;color:var(--muted)}
.eps-step{display:inline-flex;align-items:center;gap:6px;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-weight:600}
.eps-step b{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--blue);color:#fff;font-size:10px}
.eps-arrow{color:var(--line);font-weight:900}
.picker-collapsed .exam-picker-steps{display:none}

/* — Etapa do fluxo de finalização (cabeçalho dos gates) — */
.gate-step{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px 10px;align-self:flex-start}

/* — Modal de atalhos do teclado — */
.shortcuts-table{width:100%;border-collapse:collapse;font-size:12.5px}
.shortcuts-table td{padding:5px 6px;border-bottom:1px solid var(--soft);vertical-align:top}
.shortcuts-table td:first-child{white-space:nowrap;width:1%}
.shortcuts-table kbd{display:inline-block;background:var(--soft);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:2px 7px;font-family:inherit;font-size:11.5px;font-weight:800;color:var(--text)}

/* — Estados de estrutura na navegação: distinguir "normal com registro" (sólido)
     de "não examinado" (vazado, cinza). Vence os !important do reskin por ordem. — */
.nav-dot-empty{background:#69b388!important}
.nav-dot-empty.nav-dot-neutral{background:#8b96a5!important} /* subseções: sem semântica de normalidade */
.nav-dot-gray{background:transparent!important;border:2px solid #8b96a5!important;width:7px!important;height:7px!important}
body.dark-mode .nav-dot-gray{border-color:#6b7686!important}

/* — Painel de pendências: itens informativos (admin / sem registro) — */
.val-badge.val-info{background:#64748b}
.incons-item.info{opacity:.92}
.incons-item.info .incons-text{color:var(--muted)}

/* — Busca de achados dentro do exame ( / ) —
   O reskin esconde o <h2> do form-panel (.workspace-layout .form-panel>h2{display:none!important}),
   então a busca NÃO pode morar no cabeçalho (ficava com tamanho 0, e o / focava no nada). Vive numa
   barra própria (.exam-find-bar), IRMÃ do #form — sobrevive ao renderForm, que só reescreve #form. */
/* Oculta por padrão: aparece só via atalho "/" (classe .ef-open, exam-find.js) —
   a barra sempre visível ocupava espaço nobre sem função aparente. */
.exam-find-bar{display:none;justify-content:flex-end;align-items:center;gap:8px;padding:8px 10px 0}
.exam-find-bar.ef-open{display:flex}
.exam-find-wrap{display:flex;align-items:center;gap:6px;min-width:0;text-transform:none;letter-spacing:0}
#examFind{width:240px;max-width:46vw;min-height:28px;height:28px;font-size:12px;padding:4px 10px;border-radius:7px;font-weight:500}
.exam-find-count{font-size:10.5px;color:var(--muted);font-weight:700;white-space:nowrap}
.organ.ef-hit{box-shadow:0 0 0 2px rgba(36,90,156,.18)}

/* — Modo rápido (ditar/digitar → preenche o laudo) — */
.qm-bar{display:flex;flex-direction:column;gap:6px;padding:6px 10px 0}
.qm-wrap{display:flex;align-items:center;gap:6px;min-width:0;position:relative}
.qm-scope{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);cursor:pointer;user-select:none;align-self:flex-start;margin-top:-2px}
.qm-scope input{margin:0;cursor:pointer}
/* Autocomplete: lista de UMA LINHA por achado (sem quebra de palavra), navegável */
.qm-dd{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9600;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(15,23,42,.22);max-height:300px;overflow-y:auto;padding:4px}
body.dark-mode .qm-dd{box-shadow:0 12px 32px rgba(0,0,0,.5)}
.qm-dd-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;cursor:pointer}
.qm-dd-term{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;font-weight:600}
.qm-dd-item:hover,.qm-dd-item.sel{background:var(--blue2);color:var(--blue)}
.qm-dd-tag{flex:none;font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:999px;background:var(--line);color:var(--muted)}
.qm-dd-tag.tag-suspeito{background:var(--warn-bg-strong);color:var(--warn)}
.qm-dd-tag.tag-critico{background:var(--danger-bg-strong);color:var(--danger)}
.qm-dd-tag.tag-menu,.qm-dd-tag.tag-form{background:var(--blue2);color:var(--blue)}
#qmInput{flex:1;min-width:0;min-height:30px;height:30px;font-size:12.5px;padding:5px 11px;border-radius:8px;font-weight:500;border:1px solid var(--line);background:var(--card);color:var(--text)}
#qmInput:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue2)}
.qm-mic{flex:none;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:14px;line-height:1}
.qm-mic-on{background:var(--warn-bg-strong);border-color:var(--warn);animation:qmpulse 1s infinite}
@keyframes qmpulse{50%{opacity:.5}}
.qm-result{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:2px 0}
.qm-msg{font-size:11.5px;color:var(--muted);font-weight:600}
.qm-msg.qm-warn{color:var(--warn)}
.qm-chip{font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid var(--blue);background:var(--blue2);color:var(--blue);cursor:pointer}
.qm-chip:hover{background:var(--blue);color:#fff}

/* — Paleta de comandos (⌘K) — */
.topbar-search{position:relative}
.top-search-dd{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(15,23,42,.22);z-index:9500;max-height:340px;overflow-y:auto;padding:4px;color:var(--text)}
.top-search-dd.show{display:block}
.tsd-group{padding:6px 10px 2px;font-size:10px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.tsd-item{padding:7px 10px;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:8px;display:flex;align-items:center;gap:8px;justify-content:space-between}
.tsd-item:hover,.tsd-item.sel{background:var(--blue2);color:var(--blue)}
.tsd-sub{font-size:10.5px;color:var(--muted);font-weight:600;margin-left:auto;padding-left:10px;white-space:nowrap}
.tsd-empty{padding:12px;font-size:12px;color:var(--muted)}
body.dark-mode .top-search-dd{box-shadow:0 14px 40px rgba(0,0,0,.5)}

/* — Palavras de atenção no corpo do laudo (revisão; não saem na exportação) — */
.report-attention-word{background:var(--warn-bg-strong);border-bottom:2px dotted var(--warn);border-radius:2px;cursor:help}
body.review-marks-hidden .report-attention-word{background:transparent;border-bottom:none}
@media print{.report-attention-word{background:transparent!important;border-bottom:none!important}}

/* — Destaque de achado sério inserido pelo modo rápido (suspeito/critico). Só na tela;
   removido na impressão/exportação junto com as review marks (cleanReviewMarks). — */
.report-lex-highlight{border-radius:2px;padding:0 1px}
.report-lex-highlight.lex-suspeito{background:var(--warn-bg-strong);box-shadow:inset 0 -2px 0 var(--warn)}
.report-lex-highlight.lex-critico{background:var(--danger-bg-strong);box-shadow:inset 0 -2px 0 var(--danger)}
body.review-marks-hidden .report-lex-highlight{background:transparent;box-shadow:none}
@media print{.report-lex-highlight{background:transparent!important;box-shadow:none!important}}

/* — Botão de voz na busca de exame — */
#examSearch{padding-right:50px}
.exam-voice-btn{position:absolute;right:24px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;font-size:13px;padding:0 3px;line-height:1}
.exam-voice-btn.mic-active{animation:mic-pulse 1s infinite}

/* — Hierarquia visual do formulário: título do órgão ganha peso sobre labels/hints — */
.organ-head .organ-title-text{font-size:11.5px;color:var(--text)}

/* — Acessibilidade: foco visível consistente nos controles custom restantes — */
.tsd-item:focus-visible,.exam-dd-item:focus-visible,.sol-ac-item:focus-visible{outline:2px solid var(--blue);outline-offset:1px}

/* — Passe mobile (jun/2026): correções verificadas em 375px — */
/* Título do laudo: o cluster de ícones estourava a borda direita (overflow-x na aba Laudo). */
@media(max-width:780px){
  .report-title-bar{flex-wrap:wrap;row-gap:6px;height:auto!important;min-height:0}
  .report-cluster{flex-wrap:wrap;justify-content:flex-end;max-width:100%}
}
/* Paciente recolhido ≤1100px: a sidebar (que traz o resumo no desktop) some nessas larguras —
   sem isto os campos ficavam SEMPRE abertos no mobile, empurrando o formulário para baixo.
   A barra compacta mostra nome/idade e reabre os campos com 1 toque (togglePatientEdit). */
.patient-collapsed-bar{display:none}
@media(max-width:1100px){
  .patient.patient-collapsed{padding:6px 10px!important}
  .patient.patient-collapsed #patientFields{display:none}
  .patient.patient-collapsed .patient-collapsed-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .pcb-name{font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Revisão de design (jun/2026) — P0–P2: tablet seguro, hierarquia de ações,
   indicador de salvo, alvos de toque, legibilidade. Bloco no fim (vence o reskin).
   ═══════════════════════════════════════════════════════════════════════════ */

/* — P0-2a: chip de pendências + bottom-sheet (a sidebar some ≤1100px) — */
.pend-chip{position:fixed;right:14px;bottom:14px;z-index:9650;border:0;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:900;font-family:inherit;cursor:pointer;color:#fff;box-shadow:0 8px 24px rgba(15,23,42,.35)}
.pend-chip.has-crit{background:#dc2626}
.pend-chip.has-warn{background:#d97706}
.pend-chip-lbl{font-weight:700}
#pendBackdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9640}
@media(min-width:1101px){.pend-chip{display:none!important}#pendBackdrop{display:none!important}}
@media(max-width:1100px){
  body.pend-sheet-open #pendBackdrop{display:block}
  body.pend-sheet-open .exam-sidebar{display:block!important;position:fixed;left:0;right:0;bottom:0;top:auto;max-height:72vh;overflow:auto;z-index:9660;background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -12px 40px rgba(15,23,42,.35);padding:12px;margin:0}
  body.pend-sheet-open .exam-sidebar .val-panel{display:block}
}

/* — P0-2b: alvos de toque ≥40px quando o ponteiro é dedo (não muda nada com mouse) — */
@media(pointer:coarse){
  .pill,.radio-pill{min-height:40px;padding:9px 14px;font-size:13px;border-radius:8px}
  .btn{min-height:40px}
  .btn.small{min-height:36px}
  #form input,#form select{min-height:38px}
  .report-cluster .ricon{width:38px!important;height:38px!important}
  .exam-nav-item{min-height:40px}
}

/* — P0-2c: estado "não examinado" no PRÓPRIO card do órgão (sidebar some no tablet) — */
.organ-title-status{display:none;width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-right:6px}
.organ.organ-untouched .organ-title-status{display:inline-block;background:transparent;border:2px solid #8b96a5;cursor:help}
body.dark-mode .organ.organ-untouched .organ-title-status{border-color:#6b7686}

/* — P1-3: hierarquia de ações — um primário por região — */
#updateFromFormBtn{display:none}
body.is-manual-report #updateFromFormBtn{display:inline-flex}
#form .toolbar .finish-cta{margin-left:auto;padding:7px 18px;font-size:12.5px}
@media(max-width:780px){#form .toolbar .finish-cta{margin-left:0}}
/* Assinar com rótulo visível (era um ícone igual aos utilitários) */
.report-cluster .ricon.ricon-primary{width:auto!important;padding:0 10px;gap:5px;border:1px solid rgba(36,90,156,.45)!important;border-radius:8px}
.report-cluster .ricon.ricon-primary span{display:inline;font-size:11.5px;font-weight:800;white-space:nowrap}
.report-cluster .ricon.ricon-primary.signed{color:var(--green)!important;border-color:rgba(21,128,61,.45)!important}

/* — P1-1: indicador persistente de salvamento — */
.report-status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.save-status{font-size:11px;font-weight:700;white-space:nowrap;margin-left:auto}
.save-status.ok{color:var(--green)}
.save-status.pending{color:var(--muted)}
.save-status.err{color:var(--danger)}
.save-status:empty{display:none}

/* — P2-3a: barra de formatação colapsável (formatação manual é exceção) — */
.fmt-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--soft);color:var(--muted);border-radius:7px;padding:4px 10px;font-size:11px;font-weight:800;cursor:pointer;font-family:inherit;margin-bottom:6px}
.fmt-toggle:hover{color:var(--blue);border-color:var(--blue)}
#wordToolbar.fmt-collapsed{display:none}

/* — P2-3b: legibilidade — rótulos de campo sobem do piso de 10,5–11px para 12px — */
.field label,.mini-label,.micro-label,.patient .field label{font-size:12px}

/* — Botão "usar laudo salvo como modelo" no seletor de exame — */
.exam-model-btn{margin-top:6px}

/* ═══ Redesign 2026-07 — Roteador de telas (Home ↔ Exame) ═══ */
#homeView,#configView,#examesView,#loginView,#lexicoView,#modelosView,#laudosView{display:none}
body[data-view="home"] #homeView{display:block}
body[data-view="config"] #configView{display:block}
body[data-view="exames"] #examesView{display:block}
body[data-view="lexico"] #lexicoView{display:block}
body[data-view="modelos"] #modelosView{display:block}
body[data-view="laudos"] #laudosView{display:block}
body[data-view="login"] #loginView{display:flex}
body[data-view="login"] .top{display:none!important}
/* As seções do exame só aparecem na tela de exame (home/config as escondem). */
body:not([data-view="exam"]) section.patient,
body:not([data-view="exam"]) #clinicalContextBar,
body:not([data-view="exam"]) .exam-bar,
body:not([data-view="exam"]) #achadosBar,
body:not([data-view="exam"]) #examModal,
body:not([data-view="exam"]) #wsTabs,
body:not([data-view="exam"]) #workspace,
body:not([data-view="exam"]) #autosave-banner,
body:not([data-view="exam"]) #pendChip{display:none !important}
.topbar-brand{cursor:pointer}

/* ── Tela de Configurações ── */
.config-wrap{max-width:860px;margin:0 auto;padding:16px 4px 48px;display:flex;flex-direction:column;gap:16px}
.config-title{font-size:26px;font-weight:800;letter-spacing:-.025em;margin:2px 2px 2px}
.config-subtitle{font-size:13.5px;color:var(--muted);margin:0 2px 8px;line-height:1.4}
body.dark-mode .config-subtitle{color:#9aa4b2}
.config-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:0;overflow:hidden}
.config-card>h2{font-size:13.5px;font-weight:800;margin:0;color:var(--text);padding:15px 22px;border-bottom:1px solid var(--line);background:linear-gradient(0deg,transparent,color-mix(in srgb,var(--accent) 3%,transparent))}
.config-card>div{padding:18px 22px}
.config-hint{font-size:12.5px;color:var(--muted);line-height:1.5;margin-bottom:14px}
/* Painéis movidos p/ dentro da config: neutraliza o visual de "painel" e alinha os campos */
.config-host .sol-panel{display:block;margin:0;padding:0;border:none;background:none;box-shadow:none}
.config-host .sol-panel>b:first-child{display:none}         /* remove título duplicado do painel */
.config-host .patient-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.config-host .field label,.config-host label{font-size:12px;font-weight:600;color:var(--muted)}
.config-host input,.config-host select,.config-host textarea{min-height:40px;font-size:13.5px;border-radius:9px}
.config-host .hint{font-size:12px;color:var(--muted);line-height:1.5;margin-top:10px}
.config-host .actions{margin-top:16px;gap:8px}
.config-host .btn{min-height:38px;border-radius:9px}
.config-host .sol-list,.config-host #atxList{margin-top:12px}
.cfg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.cfg-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.cfg-field select{height:40px;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:0 11px;font-size:13.5px;color:var(--text)}
.cfg-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.cfg-preview{margin-top:16px;border:1px solid var(--line);border-radius:11px;padding:16px 18px;background:var(--soft);color:var(--text);line-height:1.6}
.cfg-toggle{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--text);cursor:pointer}
.cfg-toggle input{width:auto;margin:0}
body.dark-mode .config-card{background:#1f2228;border-color:#353a42}
body.dark-mode .config-card>h2{color:#e5e7ea;border-color:#353a42}
body.dark-mode .config-title{color:#e5e7ea}
body.dark-mode .cfg-field select,body.dark-mode .cfg-preview{background:#181b20;border-color:#353a42;color:#e5e7ea}
body.dark-mode .config-host input,body.dark-mode .config-host select,body.dark-mode .config-host textarea{background:#181b20;border-color:#353a42;color:#e5e7ea}

/* ── Identificação (paciente/médico) como seção opcional ── */
.ident-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.ident-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text)}
.ident-opt{font-size:11px;color:var(--muted)}
body.dark-mode .ident-title{color:#e5e7ea}

/* ── Header fino do exame (substitui o painelzão de seleção) ── */
.exam-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:9px 14px;margin-top:8px}
.exam-bar-ex{font-size:13.5px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.exam-bar-ex b{color:var(--text);font-weight:800;font-size:14.5px}
.exam-bar-spacer{flex:1;min-width:8px}
.exam-bar .exam-scope-toggle{width:auto}
.exam-bar .exam-start-btn{min-height:32px}
body.dark-mode .exam-bar{background:#1f2228;border-color:#353a42}
body.dark-mode .exam-bar-ex b{color:#e5e7ea}

/* ── Modal de seleção de exame (vitrine + busca) ── */
.exam-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);display:flex;align-items:flex-start;justify-content:center;z-index:9000;padding:44px 16px;overflow:auto}
.exam-modal{background:var(--card);border-radius:16px;box-shadow:0 24px 64px rgba(16,24,40,.30);width:100%;max-width:920px;display:flex;flex-direction:column;max-height:calc(100vh - 88px);overflow:hidden}
.exam-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line);flex-shrink:0}
.exam-modal-title{font-size:15px;font-weight:800;color:var(--text)}
.exam-modal-close{border:none;background:none;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;width:34px;height:34px;border-radius:9px;flex-shrink:0}
.exam-modal-close:hover{background:var(--soft);color:var(--text)}
.exam-modal-body{padding:16px 20px;overflow:auto;display:flex;flex-direction:column;gap:14px}
.exam-modal-body .exam-search-wrap{position:relative}
.exam-modal-body .exam-vitrine{margin-top:0;border-top:none;padding-top:0}
.exam-modal-body .evt-grid{max-height:none;overflow:visible}
.exam-modal-foot{padding:12px 20px;border-top:1px solid var(--line);flex-shrink:0}
body.dark-mode .exam-modal{background:#191c22;border-color:#353a42}
body.dark-mode .exam-modal-head,body.dark-mode .exam-modal-foot{border-color:#353a42}
@media(max-width:760px){.exam-modal-overlay{padding:16px 8px}.exam-modal{max-height:calc(100vh - 32px)}}

/* ═══ Tela inicial (Home) — moderno com acento ═══ */
.home-wrap{max-width:1080px;margin:0 auto;padding:10px 4px 44px;display:flex;flex-direction:column;gap:24px}
.home-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,var(--accent) 0%,#6d5efc 55%,#8a7dff 100%);color:#fff;border-radius:20px;padding:36px 40px;box-shadow:var(--shadow-card);overflow:hidden}
.home-hero-text{max-width:580px}
.home-greeting{font-size:13px;font-weight:600;opacity:.92;letter-spacing:.02em}
.home-title{font-size:31px;font-weight:800;line-height:1.08;margin:6px 0 10px;letter-spacing:-.02em}
.home-sub{font-size:14.5px;line-height:1.5;opacity:.92;margin:0 0 22px}
.home-cta-row{display:flex;gap:10px;flex-wrap:wrap}
.home-cta{border:none;border-radius:11px;padding:12px 24px;font-size:14.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:transform .1s ease,box-shadow .15s ease,background .15s}
.home-cta.primary{background:#fff;color:var(--accent-strong);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.home-cta.primary:hover{transform:translateY(-1px)}
.home-cta.ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.42)}
.home-cta.ghost:hover{background:rgba(255,255,255,.24)}
.home-hero-art{flex-shrink:0;display:flex;align-items:center;justify-content:center}
.home-hero-art img{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.28))}
.home-banner{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid var(--accent-soft);background:var(--accent-soft);color:var(--text);border-radius:var(--radius-card);padding:14px 18px;cursor:pointer;font-family:inherit;transition:box-shadow .15s,transform .1s;box-shadow:var(--shadow-card)}
.home-banner:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}
.home-banner .hb-ic{font-size:20px;flex-shrink:0}
.home-banner .hb-txt{flex:1;display:flex;flex-direction:column;gap:1px}
.home-banner .hb-txt b{font-size:14px}
.home-banner .hb-txt span{font-size:12px;color:var(--muted)}
.home-banner .hb-go{font-size:18px;font-weight:800;color:var(--accent)}
.home-resume{border-color:#bfeecf;background:#eafaf0}
.home-resume .hb-go{color:var(--green)}
.home-sec-head{display:flex;align-items:baseline;justify-content:space-between;margin:2px 2px 12px}
.home-sec-head h2{font-size:15px;font-weight:800;margin:0;color:var(--text);letter-spacing:-.01em}
.home-sec-link{background:none;border:none;color:var(--accent);font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}
.home-sec-link:hover{text-decoration:underline}
.home-search{position:relative;margin-bottom:16px}
.home-search-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6;pointer-events:none}
.home-search input{width:100%;height:44px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);padding:0 14px 0 38px;font-size:14px;box-shadow:var(--shadow-card)}
.home-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.home-fam{margin-bottom:22px}
.home-fam-head{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--fam,var(--accent));margin:0 2px 11px}
.home-fam-head::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--fam,var(--accent));flex-shrink:0}
.home-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:11px}
.home-exam-card{position:relative;display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 15px;min-height:74px;cursor:pointer;font-family:inherit;transition:border-color .14s ease,box-shadow .14s ease,transform .1s ease;box-shadow:var(--shadow-card)}
.home-exam-card:hover{transform:translateY(-2px);border-color:var(--fam,var(--accent));box-shadow:0 8px 22px color-mix(in srgb,var(--fam,var(--accent)) 20%,transparent)}
.hec-row{display:flex;align-items:center;gap:8px;width:100%}
.hec-dot{width:8px;height:8px;border-radius:50%;background:var(--fam,var(--accent));flex-shrink:0}
.hec-label{font-size:13.5px;font-weight:700;color:var(--text);line-height:1.25;flex:1}
.hec-fav{color:#f5b301;font-size:13px;line-height:1;flex-shrink:0}
.hec-scope{font-size:11px;color:var(--muted);line-height:1.35;padding-left:16px}
body.dark-mode .home-search input{background:#1f2228;border-color:#353a42}
body.dark-mode .home-exam-card{background:#1f2228;border-color:#353a42}
.home-recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px}
.home-recent-card{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);padding:14px 16px;cursor:pointer;font-family:inherit;transition:border-color .12s,box-shadow .15s;box-shadow:var(--shadow-card)}
.home-recent-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card-hover)}
.hrc-name{font-size:13.5px;font-weight:700;color:var(--text)}
.hrc-meta{font-size:11.5px;color:var(--muted)}
.home-empty{grid-column:1/-1;font-size:12.5px;color:var(--muted);padding:18px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius-card);background:var(--soft)}
body.dark-mode .home-banner{background:#191d2b;border-color:#2b3150}
body.dark-mode .home-banner .hb-txt span{color:#9aa4b2}
body.dark-mode .home-resume{background:#0f2a1a;border-color:#1d4d33}
body.dark-mode .home-exam-card,body.dark-mode .home-recent-card{background:#1f2228;border-color:#353a42}
body.dark-mode .hec-label,body.dark-mode .hrc-name,body.dark-mode .home-sec-head h2{color:#e5e7ea}
body.dark-mode .hec-group{background:#221f3a;color:#b3aef5}
body.dark-mode .home-empty{background:#1f2228;border-color:#353a42}
@media(max-width:760px){.home-hero{flex-direction:column;align-items:flex-start;padding:24px 22px}.home-hero-art{display:none}.home-title{font-size:24px}.home-wrap{padding:6px 2px 32px;gap:18px}}

/* ═══ Polimento da barra superior (redesign 2026-07) ═══ */
.top{height:58px!important;gap:16px!important;box-shadow:0 1px 3px rgba(16,24,40,.06)!important}
.topbar-search{max-width:440px!important;border-radius:10px!important;height:40px!important}
.topbar-nav{gap:20px!important}
.topbar-nav button{position:relative;color:var(--muted)!important;font-weight:700!important;font-size:12.5px!important}
.topbar-nav button:hover{color:var(--text)!important}
.topbar-nav button.nav-active{color:var(--accent)!important}
.topbar-nav button.nav-active::after{content:"";position:absolute;left:0;right:0;bottom:-19px;height:2px;background:var(--accent);border-radius:2px}
.topbar-new{background:var(--accent)!important;border-color:var(--accent)!important;border-radius:10px!important;height:38px!important;font-weight:700!important;box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 32%,transparent)!important}
.topbar-new:hover{background:var(--accent-strong)!important;border-color:var(--accent-strong)!important}
.topbar-icon,.topbar-user{border-radius:10px!important;height:38px!important}
.topbar-avatar{background:var(--accent-soft)!important;color:var(--accent-strong)!important}
body.dark-mode .topbar-avatar{background:#221f3a!important;color:#b3aef5!important}

/* ═══════════════════════════════════════════════════════════════════
   MODO ESCURO — correção poderosa (redesign 2026-07)
   O reskin usa `#fff!important`/cores claras que venciam os overrides de
   dark. Este bloco no FIM do arquivo vence por ordem + !important e faz as
   superfícies neutras irem para var(--card)/--bg e os textos para --text.
   Só toca superfícies/textos NEUTROS — cores semânticas (danger/warn/ok) e
   botões coloridos (.primary/.green/.red) ficam intactos.
   ═══════════════════════════════════════════════════════════════════ */
body.dark-mode .topbar-search{background:var(--bg)!important;border-color:#353a42!important}
body.dark-mode .topbar-search input{color:var(--text)!important}
body.dark-mode .topbar-brand .brand{color:var(--text)!important}
body.dark-mode .exam-sidebar{background:transparent!important}
/* Botões neutros (deixa .primary/.green/.red com suas cores) */
body.dark-mode .btn:not(.primary):not(.green):not(.red){background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
body.dark-mode .btn:not(.primary):not(.green):not(.red):hover{border-color:var(--blue)!important;color:var(--blue)!important}
/* Gavetas / seções recolhíveis */
body.dark-mode .drawer,body.dark-mode .subdrawer,body.dark-mode .msk-drawer,body.dark-mode .drawer-group{background:var(--card)!important;border-color:var(--line)!important}
body.dark-mode .drawer>summary,body.dark-mode .subdrawer>summary,body.dark-mode .msk-drawer>summary{background:var(--soft)!important;color:var(--text)!important}
body.dark-mode .drawer[open]>summary,body.dark-mode .msk-drawer[open]>summary{background:#26303c!important;color:var(--blue)!important}
/* Cabeçalho do painel do laudo + título */
body.dark-mode .report-title-bar,body.dark-mode .preview>h2,body.dark-mode .form-title-bar{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
body.dark-mode .rtb-title{color:var(--text)!important}
/* Corpo do laudo: títulos de órgão/seção (o reskin força #0b1730) */
body.dark-mode .doc .report-organ-title,body.dark-mode .doc .report-section-label,body.dark-mode .doc .report-hypothesis-title{color:var(--text)!important}
/* Barra de contexto clínico */
body.dark-mode .clinical-context-bar{background:var(--card)!important;border-color:var(--line)!important}
body.dark-mode .clinical-context-bar b,body.dark-mode .ccb-item span,body.dark-mode .ccb-exam span{color:var(--text)!important}
body.dark-mode .clinical-context-bar small,body.dark-mode .ccb-item small,body.dark-mode .ccb-patient span{color:var(--muted)!important}
/* Histórico */
body.dark-mode .history-card{background:var(--card)!important;border-color:var(--line)!important}
body.dark-mode .history-title{color:var(--text)!important}
body.dark-mode .history-meta,body.dark-mode .history-empty{color:var(--muted)!important}
body.dark-mode #historySearch{background:var(--bg)!important;border-color:var(--line)!important;color:var(--text)!important}
/* Faixa "Revisão necessária" → âmbar escuro */
/* Área de formulário / barras de busca do exame */
body.dark-mode .form-panel,body.dark-mode .exam-find-bar,body.dark-mode .qm-bar{background:var(--card)!important;border-color:var(--line)!important}
body.dark-mode .exam-find-bar input,body.dark-mode .qm-bar input{background:var(--bg)!important;border-color:var(--line)!important;color:var(--text)!important}

/* Dark: vence o reskin escopado (.exam-theme / .workspace-layout) que força #fff!important */
body.dark-mode .exam-theme .drawer:not(.limbox){background:var(--card)!important;border-color:var(--line)!important}
body.dark-mode .exam-theme .drawer-body,body.dark-mode .exam-theme .subdrawer-body,body.dark-mode .workspace-layout .drawer-body,body.dark-mode .workspace-layout .subdrawer-body,body.dark-mode .workspace-layout .msk-group-body,body.dark-mode details.drawer.limbox .drawer-body{background:var(--card)!important}
body.dark-mode .workspace-layout .msk-drawer[open]>summary{background:#26303c!important;color:var(--blue)!important}
body.dark-mode .drawer.limbox,body.dark-mode .msk-drawer,body.dark-mode .subdrawer{background:var(--card)!important;border-color:var(--line)!important}
body.dark-mode .msk-sf-panel{background:var(--soft)!important;border-color:var(--line)!important}
body.dark-mode .msk-sf-label,body.dark-mode .msk-group-normal{color:var(--muted)!important}
body.dark-mode .review-panel,body.dark-mode .review-card{background:var(--card)!important;border-color:var(--line)!important}
body.dark-mode .exam-theme .btn:not(.primary):not(.green):not(.red){background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}

/* Dark: últimos ajustes de contraste */
body.dark-mode .btn:disabled,body.dark-mode .finish-cta:disabled{background:var(--soft)!important;color:var(--muted)!important;border-color:var(--line)!important;opacity:1}
body.dark-mode #historyPanel b,body.dark-mode .sol-panel>b{color:var(--text)!important}
body.dark-mode .finish-cta{background:#2a2f37!important;color:var(--text)!important;border-color:var(--line)!important}
body.dark-mode .finish-cta:hover{border-color:var(--blue)!important;color:var(--blue)!important}
body.dark-mode .form-panel-body>.toolbar .btn.green{background:#2a2f37!important;border-color:var(--line)!important;color:var(--text)!important}
body.dark-mode .form-panel-body>.toolbar .btn.primary{background:var(--card)!important;color:var(--text)!important}
body.dark-mode .form-panel-body>.toolbar .btn:hover{border-color:var(--blue)!important;background:#2c313a!important;color:var(--blue)!important}
body.dark-mode #finishExamBtn.finish-gated{background:var(--warn-bg)!important;border-color:var(--warn-border)!important;color:var(--warn-fg)!important}

/* ═══ Configurações — seções numeradas (redesign 2026-07) ═══ */
.config-wrap{max-width:1000px}
.cfg-sec{display:grid;grid-template-columns:264px 1fr;gap:26px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:20px 24px;margin-bottom:14px}
.cfg-sec-side{display:flex;gap:12px;align-items:flex-start}
.cfg-sec-num{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.cfg-sec-head2{min-width:0}
.cfg-sec-title{font-size:14px;font-weight:800;color:var(--text)}
.cfg-sec-desc{font-size:12px;color:var(--muted);line-height:1.45;margin-top:4px}
.cfg-sec-main{min-width:0}
.cfg-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 6px 0;margin-top:2px}
.cfg-foot-note{font-size:12.5px;color:var(--muted)}
@media(max-width:820px){.cfg-sec{grid-template-columns:1fr;gap:14px;padding:16px 16px}}
body.dark-mode .cfg-sec{background:#1f2228;border-color:#353a42}
body.dark-mode .cfg-sec-title{color:#e5e7ea}
/* toggles em interruptor */
.cfg-switch{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}
.cfg-switch:last-of-type{border-bottom:none}
.cfg-sw-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.cfg-sw-txt b{font-size:13px;color:var(--text)}
.cfg-sw-txt small{font-size:11.5px;color:var(--muted);line-height:1.4}
.cfg-switch input[type=checkbox]{appearance:none;-webkit-appearance:none;width:40px!important;min-width:40px!important;height:22px!important;min-height:22px!important;border-radius:999px;background:var(--line);position:relative;cursor:pointer;flex-shrink:0;transition:background .15s;margin:0}
.cfg-switch input:checked{background:var(--accent)}
.cfg-switch input::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.cfg-switch input:checked::after{left:20px}
/* import/export */
.cfg-io-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.cfg-io-btn{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:13px 15px;cursor:pointer;font-family:inherit;transition:border-color .12s,box-shadow .12s}
.cfg-io-btn:hover{border-color:var(--accent);box-shadow:var(--shadow-card)}
.cfg-io-btn b{font-size:12.5px;color:var(--text);display:block}
.cfg-io-btn small{font-size:11px;color:var(--muted);display:block;line-height:1.35}
.cfg-io-ic{font-size:18px;color:var(--accent);flex-shrink:0}
body.dark-mode .cfg-io-btn{background:#181b20;border-color:#353a42}
/* preview de formatação */
.cfg-preview-h{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;text-align:center;color:var(--text);margin-bottom:8px}
.cfg-preview-b{color:var(--text)}
.cfg-preview-cap{font-size:11px;color:var(--muted);margin-top:10px}
/* densidade compacta da interface */
body.density-compact .micro{padding-top:5px;padding-bottom:5px}
body.density-compact .organ-head{padding-top:4px;padding-bottom:4px}
body.density-compact .organ{margin-bottom:6px}
body.density-compact .home-wrap{gap:16px}
body.density-compact .cfg-sec{padding:15px 18px;margin-bottom:10px}
/* esconder painel de pendências por preferência */
body.hide-pend #validacaoPanel,body.hide-pend #pendChip{display:none!important}
body.dark-mode .config-host b,body.dark-mode #configView b{color:var(--text)!important}

/* ═══ Central de acesso rápido (Home) — redesign 2026-07 ═══ */
.central{max-width:1300px;margin:0 auto;padding:14px 4px 44px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}
.central-main{min-width:0}
.central-head{margin-bottom:6px}
.central-title{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0}
.central-sub{font-size:14px;color:var(--muted);margin:4px 0 0}
.central-search{position:relative;margin:16px 0 20px}
.central-search-ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);opacity:.55;pointer-events:none}
.central-search input{width:100%;height:52px;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:0 16px 0 44px;font-size:15px;box-shadow:var(--shadow-card)}
.central-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.central-banners{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.central-sec{margin-bottom:26px}
.central-sec-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 12px}
.central-sec-head h2{font-size:15px;font-weight:800;margin:0;color:var(--text)}
.central-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
.cg-card{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-card);transition:border-color .12s,box-shadow .12s,transform .1s}
.cg-card:hover{border-color:var(--fam);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
.cg-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--fam) 14%,transparent);color:var(--fam)}
.cg-ic svg{width:26px;height:26px}
.cg-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.2}
.cg-count{font-size:11.5px;color:var(--muted);font-weight:600}
.central-flows{display:grid;grid-template-columns:repeat(auto-fill,minmax(214px,1fr));gap:12px}
.cf-card{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;box-shadow:var(--shadow-card);transition:border-color .12s,box-shadow .12s}
.cf-card:hover{border-color:var(--fam);box-shadow:var(--shadow-card-hover)}
.cf-card.sel{border-color:var(--fam);box-shadow:0 0 0 2px var(--fam) inset}
.cf-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--fam) 14%,transparent);color:var(--fam);margin-bottom:2px}
.cf-ic svg{width:26px;height:26px}
.cf-name{font-size:14px;font-weight:700;color:var(--text);line-height:1.2}
.cf-desc{font-size:11.5px;color:var(--muted);line-height:1.35;flex:1}
.cf-dur{font-size:11.5px;color:var(--muted);font-weight:600}
.cf-go{font-size:12.5px;font-weight:700;color:var(--fam);cursor:pointer;margin-top:4px}
.central-terms{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.ct-chip{display:flex;align-items:center;gap:10px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;font-family:inherit;transition:border-color .12s,box-shadow .12s}
.ct-chip:hover{border-color:var(--accent);box-shadow:var(--shadow-card)}
.ct-ic{opacity:.55;flex-shrink:0}
.ct-txt b{font-size:12.5px;color:var(--text);display:block}
.ct-txt small{font-size:11px;color:var(--muted);display:block;line-height:1.3}
.central-recents{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card)}
.cr-row{display:grid;grid-template-columns:34px minmax(0,1.4fr) minmax(0,1.4fr) auto auto;gap:14px;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:11px 16px;cursor:pointer;font-family:inherit}
.cr-row:last-child{border-bottom:none}
.cr-row:hover{background:var(--soft)}
.cr-av{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.cr-name{font-size:13px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-exam{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-time{font-size:12px;color:var(--muted)}
.cr-status{font-size:11.5px;font-weight:700;color:var(--success);white-space:nowrap}
.central-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:12px}
.cr-panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-card)}
.cr-panel-head{font-size:13px;font-weight:800;color:var(--text);margin-bottom:12px}
.cr-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.cr-ic{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--fam) 14%,transparent);color:var(--fam);flex-shrink:0}
.cr-ic svg{width:28px;height:28px}
.cr-title{font-size:15px;font-weight:800;color:var(--text);line-height:1.2}
.cr-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--fam);background:color-mix(in srgb,var(--fam) 13%,transparent);border-radius:6px;padding:2px 7px;display:inline-block;margin-top:4px}
.cr-dur{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:12px}
.cr-dur b{color:var(--text);font-size:14px}
.cr-incl-title{font-size:12px;font-weight:800;color:var(--text);margin-bottom:6px}
.cr-incl{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:5px}
.cr-incl li{font-size:12px;color:var(--muted);padding-left:20px;position:relative;line-height:1.35}
.cr-incl li::before{content:"✓";position:absolute;left:0;color:var(--success);font-weight:800}
.cr-start{width:100%;border:none;background:var(--accent);color:#fff;border-radius:10px;padding:11px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;margin-bottom:8px;box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 32%,transparent)}
.cr-start:hover{background:var(--accent-strong)}
.cr-alt{width:100%;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:9px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;margin-bottom:8px}
.cr-alt:hover{border-color:var(--accent)}
.cr-link{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;padding:9px 0;font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;border-bottom:1px solid var(--line)}
.cr-link:last-child{border-bottom:none}
.cr-link:hover{color:var(--accent)}
.cr-link-ic{opacity:.7}
body.dark-mode .cg-card,body.dark-mode .cf-card,body.dark-mode .ct-chip,body.dark-mode .central-recents,body.dark-mode .cr-panel,body.dark-mode .central-search input,body.dark-mode .cr-alt{background:#1f2228;border-color:#353a42}
body.dark-mode .cr-row{border-color:#353a42}
body.dark-mode .cr-row:hover{background:#181b20}
body.dark-mode .cg-name,body.dark-mode .cf-name,body.dark-mode .cr-name,body.dark-mode .cr-title,body.dark-mode .cr-panel-head,body.dark-mode .cr-incl-title,body.dark-mode .central-title,body.dark-mode .ct-txt b,body.dark-mode .cr-alt,body.dark-mode .cr-link,body.dark-mode .central-sec-head h2{color:#e5e7ea}
@media(max-width:1080px){.central{grid-template-columns:1fr}.central-rail{position:static;flex-direction:row;flex-wrap:wrap}.central-rail .cr-panel{flex:1;min-width:260px}}
@media(max-width:620px){.central-rail{flex-direction:column}.cr-row{grid-template-columns:34px 1fr auto}.cr-exam,.cr-time{display:none}}

/* ═══ Página Exames (catálogo "Escolher exame e modelo") — redesign 2026-07 ═══ */
.exames{max-width:1300px;margin:0 auto;padding:14px 4px 44px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.exames-main{min-width:0}
.exames-head h1{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0}
.exames-head p{font-size:13.5px;color:var(--muted);margin:4px 0 0}
.exames-search{position:relative;margin:16px 0 14px}
.exames-search input{width:100%;height:48px;border:1px solid var(--line);border-radius:13px;background:var(--card);padding:0 16px 0 44px;font-size:14.5px;box-shadow:var(--shadow-card)}
.exames-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.exames-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.ex-chip{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s}
.ex-chip:hover{border-color:var(--accent);color:var(--text)}
.ex-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}
.exames-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.ex-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-card);transition:border-color .12s,box-shadow .12s,transform .1s}
.ex-card:hover{border-color:var(--fam);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
.ex-fav{position:absolute;top:10px;right:11px;font-size:15px;line-height:1;color:#c8d3e0;cursor:pointer;z-index:1}
.ex-fav.on{color:#f5b301}
.ex-ic{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--fam) 14%,transparent);color:var(--fam);margin-bottom:4px}
.ex-ic svg{width:28px;height:28px}
.ex-name{font-size:14px;font-weight:700;color:var(--text);line-height:1.2;padding-right:16px}
.ex-scope{font-size:11px;color:var(--muted);line-height:1.35}
.ex-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:4px}
.ex-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:5px;padding:2px 6px;line-height:1.5}
.ex-tag-fam{color:var(--fam);background:color-mix(in srgb,var(--fam) 12%,transparent)}
.ex-tag-mod{color:var(--accent);background:var(--accent-soft)}
.exames-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:12px}
.exr-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:9px;padding:7px 6px;cursor:pointer;font-family:inherit}
.exr-item:hover{background:var(--soft)}
.exr-ic{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--fam) 14%,transparent);color:var(--fam);flex-shrink:0}
.exr-ic svg{width:19px;height:19px}
.exr-name{flex:1;font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exr-right{font-size:11.5px;color:var(--muted);font-weight:700}
.exr-right b{color:var(--accent-strong)}
.exr-arrow{color:var(--muted);font-weight:700}
.exr-time{font-size:11px;color:var(--muted)}
.exr-empty{font-size:12px;color:var(--muted);padding:4px 6px}
body.dark-mode .exames-search input,body.dark-mode .ex-chip,body.dark-mode .ex-card{background:#1f2228;border-color:#353a42}
body.dark-mode .ex-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}
body.dark-mode .ex-name,body.dark-mode .exames-head h1,body.dark-mode .exr-name{color:#e5e7ea}
body.dark-mode .exr-item:hover{background:#181b20}
@media(max-width:1080px){.exames{grid-template-columns:1fr}.exames-rail{position:static;flex-direction:row;flex-wrap:wrap}.exames-rail .cr-panel{flex:1;min-width:240px}}

/* Dark: cores de família escuras (carmim/vermelho) ficam ilegíveis como texto/ícone no escuro.
   Clareia os primeiros-planos coloridos por família mantendo o matiz. */
body.dark-mode .ex-ic,body.dark-mode .cg-ic,body.dark-mode .cf-ic,body.dark-mode .cr-ic,body.dark-mode .exr-ic{color:color-mix(in srgb,var(--fam) 58%,#fff)}
body.dark-mode .ex-tag-fam,body.dark-mode .cr-tag,body.dark-mode .cf-go,body.dark-mode .home-fam-head{color:color-mix(in srgb,var(--fam) 58%,#fff)}
body.dark-mode .hec-dot{background:color-mix(in srgb,var(--fam) 58%,#fff)}

/* ═══ Card do paciente no topo do exame (editor refinado — imagem 1) ═══ */
.clinical-context-bar{margin-top:8px}
.ccb-title{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--text);margin:0 2px 8px}
.ccb-card{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);padding:14px 18px}
.ccb-id{display:flex;align-items:center;gap:12px;min-width:0}
.ccb-av{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ccb-id-txt b{display:block;font-size:15px;font-weight:800;color:var(--text);line-height:1.2}
.ccb-id-txt span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.ccb-cols{display:flex;align-items:center;gap:26px;flex-wrap:wrap;flex:1;min-width:0}
.ccb-col{display:flex;flex-direction:column;gap:2px;min-width:0}
.ccb-col b{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ccb-col-wide{flex:1;min-width:120px}
.ccb-col-wide b{white-space:normal;line-height:1.3}
.ccb-col small{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.ccb-saved{color:var(--muted)!important}
.ccb-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.ccb-actions .btn{min-height:34px}
/* Sem duplicar a identidade: no exame, o resumo do paciente vive no card do topo, não na sidebar */
body[data-view="exam"] #examSidebarSummary{display:none}
body.dark-mode .ccb-card{background:#1f2228;border-color:#353a42}
body.dark-mode .ccb-title,body.dark-mode .ccb-id-txt b,body.dark-mode .ccb-col b{color:#e5e7ea}
@media(max-width:820px){.ccb-card{gap:12px}.ccb-actions{margin-left:0;width:100%}.ccb-actions .btn{flex:1}}

/* ═══ Configurações — refino p/ bater com o mock (imagem 5) ═══ */
.cfg-sec-num{background:var(--accent)!important;color:#fff!important}
.cfg-fmt-2col{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px;align-items:start}
.cfg-preview-cap-top{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:8px}
/* toggles horizontais do modo rápido */
.cfg-switches{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:18px}
.cfg-sw2{display:flex;flex-direction:column;gap:6px}
.cfg-sw2.is-soon{opacity:.62}
.cfg-sw2-top{display:flex;align-items:center;gap:9px}
.cfg-sw2-top b{font-size:12.5px;color:var(--text);line-height:1.2}
.cfg-sw2 small{font-size:11px;color:var(--muted);line-height:1.35}
.cfg-soon{font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:1px 5px;vertical-align:middle}
input.cfg-switch-input{appearance:none;-webkit-appearance:none;width:38px!important;min-width:38px!important;height:21px!important;min-height:21px!important;border-radius:999px;background:var(--line);position:relative;cursor:pointer;flex-shrink:0;transition:background .15s;margin:0} /* width/height !important: a regra global input[type=checkbox]{width:auto!important} (reskin l.1800) colapsava o trilho e o pino vazava sobre o rótulo */
.cfg-switch-input:checked{background:var(--accent)}
.cfg-switch-input::after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.cfg-switch-input:checked::after{left:19px}
.cfg-switch-input:disabled{opacity:.55;cursor:not-allowed}
/* aparência — pré-visualização */
.cfg-swatches{display:flex;flex-direction:column;gap:10px}
.cfg-swatch-row{display:flex;gap:7px}
.cfg-swatch{width:30px;height:30px;border-radius:8px;box-shadow:var(--shadow-card)}
.cfg-swatch-btn{align-self:flex-start;background:var(--accent);color:#fff;border:none;border-radius:9px;padding:8px 16px;font-size:12.5px;font-weight:700;font-family:inherit;box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 32%,transparent);cursor:default}
/* rodapé */
.cfg-foot-actions{display:flex;gap:8px}
@media(max-width:820px){.cfg-fmt-2col{grid-template-columns:1fr}}
body.dark-mode .cfg-sw2-top b{color:#e5e7ea}
body.dark-mode .cfg-soon{background:#181b20;border-color:#353a42}
.cfg-fmt-2col .cfg-grid{grid-template-columns:1fr 1fr}
@media(max-width:1150px){.cfg-fmt-2col .cfg-grid{grid-template-columns:1fr}}

/* ═══ Editor: refino do formulário ao novo visual (passe dedicado) ═══
   Especificidade body[data-view="exam"] .workspace-layout p/ vencer o reskin (que usa
   .workspace-layout/.exam-theme + !important). Só propriedades visuais neutras (respiro,
   cantos, sombra, tamanho de controles); nada de layout/grid p/ não regredir os exames. */
body[data-view="exam"] .workspace-layout .organ{border-radius:12px!important;box-shadow:var(--shadow-card)!important;margin-bottom:12px!important;overflow:hidden}
body[data-view="exam"] .workspace-layout .organ-head{padding:11px 15px!important}
body[data-view="exam"] .workspace-layout .micro{padding:10px 15px!important;gap:12px!important}
body[data-view="exam"] .workspace-layout .radio-pill,body[data-view="exam"] .workspace-layout .pill{min-height:30px!important;padding:5px 13px!important;font-size:12.5px!important}
body[data-view="exam"] .workspace-layout .measure-box input,body[data-view="exam"] .workspace-layout .num{min-height:32px!important}
body[data-view="exam"] .workspace-layout .freebox{border-radius:9px!important}
body[data-view="exam"] .workspace-layout .drawer,body[data-view="exam"] .workspace-layout .msk-drawer,body[data-view="exam"] .workspace-layout .subdrawer{border-radius:9px!important}
body.density-compact[data-view="exam"] .workspace-layout .organ{margin-bottom:8px!important}
body.density-compact[data-view="exam"] .workspace-layout .micro{padding:7px 12px!important}
/* Corpo do laudo: respiro entre seções */
.doc .report-organ{margin-bottom:12px}
.doc .report-organ-title{margin-top:11px;margin-bottom:5px}

/* ═══ Configurações — "Mais configurações" recolhíveis (config compacta, não-rolável) ═══ */
.cfg-more{margin-top:6px}
.cfg-more-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 4px 8px}
.cfg-det{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-card);margin-bottom:8px;overflow:hidden}
.cfg-det>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 18px;font-size:13px;font-weight:700;color:var(--text)}
.cfg-det>summary::-webkit-details-marker{display:none}
.cfg-det>summary::after{content:"▾";margin-left:auto;color:var(--muted);transition:transform .15s}
.cfg-det[open]>summary::after{transform:rotate(180deg)}
.cfg-det>summary:hover{background:var(--soft)}
.cfg-det-ic{font-size:16px}
.cfg-det-body{padding:4px 18px 18px}
body.dark-mode .cfg-det{background:#1f2228;border-color:#353a42}
body.dark-mode .cfg-det>summary{color:#e5e7ea}
body.dark-mode .cfg-det>summary:hover{background:#181b20}
/* Dark: botões neutros/vermelhos dentro das Configurações */
body.dark-mode #configView .btn:not(.primary):not(.green){background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
body.dark-mode #configView .btn.red{color:#ef8a8a!important;border-color:#7f1d1d!important}
body.dark-mode #configView .btn.primary{color:#fff!important}

/* ═══ Página de login ═══ */
.login-view{min-height:calc(100vh - 20px);align-items:center;justify-content:center;padding:24px}
.login-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(16,24,40,.14);padding:32px 30px}
.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.login-brand img{width:38px;height:38px;object-fit:contain}
.login-brand span{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--text)}
.login-title{font-size:22px;font-weight:800;margin:0 0 4px;color:var(--text)}
.login-sub{font-size:13px;color:var(--muted);margin:0 0 22px;line-height:1.45}
.login-form{display:flex;flex-direction:column;gap:14px}
.login-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.login-field input,.login-field select{height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0 13px;font-size:14px;color:var(--text);font-family:inherit}
.login-field input:focus,.login-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}
/* Cadastro (modo online): aceite dos termos + painel "aguardando aprovação" */
.login-terms{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--muted);font-weight:400;line-height:1.45;cursor:pointer}
.login-terms input{width:auto;margin:2px 0 0;flex:none}
.login-terms a{color:var(--accent);font-weight:600}
.login-pending{font-size:38px;text-align:center;margin:6px 0 16px}
.login-err{color:#dc2626;font-size:12.5px;background:color-mix(in srgb,#dc2626 10%,transparent);border:1px solid color-mix(in srgb,#dc2626 30%,transparent);border-radius:8px;padding:8px 11px}
.login-btn{height:46px;border:none;border-radius:11px;background:var(--accent);color:#fff;font-size:14.5px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:4px;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 35%,transparent)}
.login-btn:hover{background:var(--accent-strong)}
.login-btn:disabled{opacity:.7;cursor:default}
.login-offline{display:block;width:100%;margin-top:16px;background:none;border:none;color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}
.login-offline:hover{color:var(--accent)}
body.dark-mode .login-card{background:#1f2228;border-color:#353a42}
body.dark-mode .login-brand span,body.dark-mode .login-title{color:#e5e7ea}
body.dark-mode .login-field input,body.dark-mode .login-field select{background:#181b20;border-color:#353a42;color:#e5e7ea}

/* ═══ Página Léxico/Frases (Onda 2) ═══ */
.lx-wrap{max-width:1360px;margin:0 auto;padding:14px 4px 44px}
.lx-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:14px}
.lx-head h1{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0}
.lx-head p{font-size:13.5px;color:var(--muted);margin:4px 0 0;max-width:620px}
.lx-exam-card{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);padding:12px 16px;min-width:300px}
.lx-exam-ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--fam) 14%,transparent);color:var(--fam);flex-shrink:0}
.lx-exam-ic svg{width:26px;height:26px}
.lx-exam-txt{flex:1;min-width:0}
.lx-exam-txt small{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.lx-exam-txt b{display:block;font-size:14px;color:var(--text);line-height:1.2}
.lx-exam-txt span{display:block;font-size:11px;color:var(--muted);line-height:1.3}
.lx-search{position:relative;margin-bottom:12px}
.lx-search span{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.55}
.lx-search input{width:100%;height:46px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:0 14px 0 40px;font-size:14px;box-shadow:var(--shadow-card)}
.lx-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.lx-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.lx-tab{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:6px 13px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.lx-tab:hover{border-color:var(--accent);color:var(--text)}
.lx-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}
.lx-cols{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(320px,1.3fr) 300px;gap:16px;align-items:start}
.lx-list-col{min-width:0}
.lx-list{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);overflow:hidden;max-height:calc(100vh - 300px);overflow-y:auto}
.lx-row{display:grid;grid-template-columns:10px minmax(0,1.3fr) minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 13px;cursor:pointer;font-family:inherit}
.lx-row:last-child{border-bottom:none}
.lx-row:hover{background:var(--soft)}
.lx-row.sel{background:var(--accent-soft)}
.lx-row-dot{width:8px;height:8px;border-radius:50%}
.lx-c-critico{background:#dc2626}.lx-c-suspeito{background:#d97706}.lx-c-atencao{background:#94a3b8}
.lx-row-term{font-size:12.5px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lx-row-exams{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lx-row-b{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border-radius:5px;padding:2px 7px;white-space:nowrap}
.lx-b-direto{background:var(--success-bg-strong);color:var(--success-fg)}
.lx-b-opcoes{background:var(--info-bg);color:var(--info)}
.lx-b-form{background:var(--warn-bg-strong);color:var(--warn-fg)}
.lx-more{margin-top:10px;text-align:center}
.lx-empty{padding:18px;font-size:12.5px;color:var(--muted);text-align:center}
.lx-detail,.lx-interp{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);padding:18px}
.lx-d-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.lx-d-head h2{font-size:18px;font-weight:800;margin:0;color:var(--text)}
.lx-d-crit{font-size:10px;font-weight:800;text-transform:uppercase;border-radius:6px;padding:3px 8px;color:#fff}
.lx-d-crit.lx-c-atencao{color:var(--text);background:var(--soft);border:1px solid var(--line)}
.lx-d-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.lx-tag{font-size:10.5px;font-weight:700;color:var(--accent-strong);background:var(--accent-soft);border-radius:6px;padding:2px 8px;text-transform:capitalize}
.lx-d-sec{margin-bottom:14px}
.lx-d-sec h3{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 7px}
.lx-chips{display:flex;gap:6px;flex-wrap:wrap}
.lx-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:var(--soft);border:1px solid var(--line);border-radius:7px;padding:3px 9px;color:var(--text)}
.lx-chip-user{border-color:var(--accent);background:var(--accent-soft)}
.lx-chip-x{border:none;background:none;color:var(--muted);cursor:pointer;font-size:13px;line-height:1;padding:0}
.lx-chip-x:hover{color:#dc2626}
.lx-none{font-size:12px;color:var(--muted)}
.lx-add{display:flex;gap:7px;margin-top:8px}
.lx-add input{flex:1;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:0 10px;font-size:12.5px}
.lx-add input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}
.lx-behavior{display:flex;align-items:flex-start;gap:10px}
.lx-b-desc{font-size:12px;color:var(--muted);line-height:1.45}
.lx-i-head{font-size:13px;font-weight:800;color:var(--text);margin-bottom:10px}
.lx-i-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.lx-i-list li{font-size:12px;color:var(--muted);line-height:1.45;padding-left:22px;position:relative}
.lx-i-list li.ok::before{content:"✓";position:absolute;left:0;color:var(--success);font-weight:800}
.lx-i-list li.warn::before{content:"⚠";position:absolute;left:0;color:var(--warn)}
.lx-lat{display:flex;align-items:center;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.lx-lat span{font-size:11.5px;font-weight:700;color:var(--muted)}
.lx-lat-btn{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:8px;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.lx-lat-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}
.lx-insert{width:100%;border:none;border-radius:10px;background:var(--accent);color:#fff;padding:12px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 32%,transparent)}
.lx-insert:hover{background:var(--accent-strong)}
.lx-insert:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.lx-i-note{font-size:11.5px;color:var(--muted);margin-top:10px;line-height:1.4}
@media(max-width:1150px){.lx-cols{grid-template-columns:1fr 1fr}.lx-interp{grid-column:1/-1}}
@media(max-width:760px){.lx-cols{grid-template-columns:1fr}}
body.dark-mode .lx-exam-card,body.dark-mode .lx-search input,body.dark-mode .lx-tab,body.dark-mode .lx-list,body.dark-mode .lx-detail,body.dark-mode .lx-interp,body.dark-mode .lx-lat-btn,body.dark-mode .lx-add input{background:#1f2228;border-color:#353a42}
body.dark-mode .lx-tab.active,body.dark-mode .lx-lat-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}
body.dark-mode .lx-row{border-color:#353a42}
body.dark-mode .lx-row:hover{background:#181b20}
body.dark-mode .lx-row.sel{background:#23213a}
body.dark-mode .lx-row-term,body.dark-mode .lx-d-head h2,body.dark-mode .lx-head h1,body.dark-mode .lx-exam-txt b,body.dark-mode .lx-i-head,body.dark-mode .lx-chip{color:#e5e7ea}
body.dark-mode .lx-chip{background:#181b20;border-color:#353a42}
body.dark-mode .lx-chip-user{border-color:var(--accent);background:#23213a}
body.dark-mode .lx-b-direto{background:#0a3d1d;color:#bbf7d0}
body.dark-mode .lx-b-form{background:#3b2f00;color:#fde68a}
body.dark-mode .lx-b-opcoes{background:#16233c;color:#93b6e8}

/* ═══ Achados rápidos (sidebar do exame) — Onda 2 fatia 2 ═══ */
.qf-panel{margin-top:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-card);padding:10px 12px}
.qf-head{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}
.qf-search input{width:100%;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--card);padding:0 9px;font-size:11.5px;margin-bottom:8px}
.qf-search input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}
.qf-chips{display:flex;flex-wrap:wrap;gap:5px;max-height:240px;overflow-y:auto}
.qf-chip{border:1px solid var(--line);background:var(--soft);color:var(--text);border-radius:7px;padding:4px 9px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;text-align:left;line-height:1.25;transition:border-color .12s,background .12s}
.qf-chip:hover{border-color:var(--accent);background:var(--accent-soft)}
.qf-more{font-size:10px;color:var(--muted);align-self:center;padding:2px 4px}
.qf-lat{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px;padding:7px 8px;border:1px dashed var(--accent);border-radius:8px;background:var(--accent-soft)}
.qf-lat-t{font-size:10.5px;font-weight:700;color:var(--text);width:100%}
.qf-lat .lx-lat-btn{padding:3px 9px;font-size:11px}
.qf-lat-x{border:none;background:none;color:var(--muted);cursor:pointer;font-size:14px;margin-left:auto}
.qf-all{display:block;width:100%;margin-top:9px;background:none;border:none;color:var(--accent);font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit;text-align:left;padding:0}
.qf-all:hover{text-decoration:underline}
body.dark-mode .qf-panel{background:#1f2228;border-color:#353a42}
body.dark-mode .qf-search input{background:#181b20;border-color:#353a42;color:#e5e7ea}
body.dark-mode .qf-chip{background:#181b20;border-color:#353a42;color:#e5e7ea}
body.dark-mode .qf-chip:hover{background:#23213a;border-color:var(--accent)}
body.dark-mode .qf-lat{background:#23213a}
body.dark-mode .qf-lat-t{color:#e5e7ea}

/* ═══ Léxico — frases sugeridas + compositor (fatia 3) ═══ */
.lx-i-sub{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:2px 0 7px}
.lx-phrases{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.lx-phrase{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:8px 11px;font-size:12px;color:var(--text);cursor:pointer;font-family:inherit;line-height:1.35;transition:border-color .12s}
.lx-phrase:hover{border-color:var(--accent)}
.lx-phrase-plus{color:var(--accent);font-weight:800;font-size:14px;flex-shrink:0}
.lx-ctl{display:flex;gap:10px;margin-bottom:12px}
.lx-ctl label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--muted);flex:1}
.lx-ctl input,.lx-ctl select{height:32px;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:0 9px;font-size:12.5px;color:var(--text)}
.lx-ctl input:focus,.lx-ctl select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}
.lx-utter{font-size:11.5px;color:var(--muted);background:var(--soft);border:1px dashed var(--line);border-radius:8px;padding:7px 10px;margin-bottom:10px;line-height:1.4}
.lx-lat-hi{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
body.dark-mode .lx-phrase{background:#181b20;border-color:#353a42;color:#e5e7ea}
body.dark-mode .lx-ctl input,body.dark-mode .lx-ctl select{background:#181b20;border-color:#353a42;color:#e5e7ea}
body.dark-mode .lx-utter{background:#181b20;border-color:#353a42}

/* ═══ Página Modelos (Onda 2) ═══ */
.um-wrap{max-width:1300px;margin:0 auto;padding:14px 4px 44px}
.um-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.um-head h1{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0}
.um-head p{font-size:13.5px;color:var(--muted);margin:4px 0 0;max-width:640px}
.um-head-actions .btn{min-height:38px;border-radius:10px}
.um-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.um-search{margin-bottom:14px}
.um-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.um-table-wrap{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);overflow:auto}
.um-table{width:100%;border-collapse:collapse;font-size:12.5px}
.um-table th{text-align:left;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:11px 14px;border-bottom:1px solid var(--line)}
.um-table td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.um-table tr:last-child td{border-bottom:none}
.um-table tbody tr{cursor:pointer}
.um-table tbody tr:hover td{background:var(--soft)}
.um-table tbody tr.sel td{background:var(--accent-soft)}
.um-name{display:flex;align-items:center;gap:10px}
.um-name b{font-size:13px;color:var(--text)}
.um-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--fam) 14%,transparent);color:var(--fam);flex-shrink:0}
.um-ic svg{width:20px;height:20px}
.um-badge{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border-radius:5px;padding:2px 6px;vertical-align:middle}
.um-badge-sistema{background:var(--accent-soft);color:var(--accent-strong)}
.um-badge-meu{background:var(--success-bg-strong);color:var(--success-fg)}
.um-fav{margin-left:auto;font-size:14px;color:#c8d3e0;cursor:pointer;flex-shrink:0}
.um-fav.on{color:#f5b301}
.um-mut{color:var(--muted);font-size:12px}
.um-ver{font-size:10.5px;font-weight:800;color:var(--success-fg);background:var(--success-bg-strong);border-radius:5px;padding:2px 7px}
.um-acts{white-space:nowrap;text-align:right}
.um-acts .btn{margin-left:5px}
.um-empty{padding:20px;text-align:center;color:var(--muted);font-size:12.5px}
.um-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:12px}
.um-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.um-stat{text-align:center;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px 6px}
.um-stat b{display:block;font-size:19px;font-weight:800;color:var(--text)}
.um-stat small{font-size:10px;color:var(--muted);line-height:1.25;display:block;margin-top:2px}
.um-vers{display:flex;flex-direction:column;gap:9px;max-height:240px;overflow-y:auto}
.um-verrow{display:flex;gap:9px;align-items:flex-start}
.um-verrow b{display:block;font-size:11.5px;color:var(--text)}
.um-verrow small{font-size:11px;color:var(--muted)}
.um-help{font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:1080px){.um-cols{grid-template-columns:1fr}.um-rail{position:static}}
body.dark-mode .um-table-wrap,body.dark-mode .um-stat{background:#1f2228;border-color:#353a42}
body.dark-mode .um-table th,body.dark-mode .um-table td{border-color:#353a42}
body.dark-mode .um-table tbody tr:hover td{background:#181b20}
body.dark-mode .um-table tbody tr.sel td{background:#23213a}
body.dark-mode .um-name b,body.dark-mode .um-head h1,body.dark-mode .um-stat b,body.dark-mode .um-verrow b{color:#e5e7ea}
body.dark-mode .um-badge-meu,body.dark-mode .um-ver{background:#0a3d1d;color:#bbf7d0}

/* ═══ Editor como o mock (imagem 5): pendências na faixa inferior + ícones de órgão ═══ */
/* Faixa "Pendências e alertas" — largura total abaixo do workspace */
.pend-bar{max-width:1680px;margin:10px auto 0;padding:0}
body:not([data-view="exam"]) #pendBar{display:none!important}
body.hide-pend #pendBar{display:none!important}
.pend-bar .val-panel.show{position:static!important;box-shadow:var(--shadow-card)!important;border-radius:14px}
.pend-bar .val-head{padding:12px 18px}
.pend-bar .val-body{padding:12px 16px 16px}
@media(min-width:900px){.pend-bar .val-body{grid-template-columns:1fr 1fr;align-items:start}}
/* Ícone anatômico no cabeçalho da seção do formulário */
.organ-ico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:color-mix(in srgb,var(--fam,var(--accent)) 14%,transparent);color:var(--fam,var(--accent));margin-right:8px;flex-shrink:0;vertical-align:middle}
.organ-ico svg{width:15px;height:15px}
body.dark-mode .organ-ico{color:color-mix(in srgb,var(--fam,var(--accent)) 58%,#fff)}
body.dark-mode #pendBar .val-panel b{color:inherit!important}

/* ═══ Editor: ações por seção + chip do exame no laudo (mock imagem 5) ═══ */
.organ-act-btn{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:6px;padding:2px 9px;min-height:22px;font-size:10.5px;font-weight:700;cursor:pointer;font-family:inherit;text-transform:none;letter-spacing:0;transition:border-color .12s,color .12s;margin-right:4px}
.organ-act-btn:hover{border-color:var(--accent);color:var(--accent-strong)}
.organ-clear-btn:hover{border-color:#e0564f;color:#b42318}
.qf-organ-dd{display:flex;flex-wrap:wrap;gap:5px;padding:9px 14px;background:var(--accent-soft);border-bottom:1px solid var(--line)}
.rtb-exam-chip{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-strong);background:var(--accent-soft);border-radius:5px;padding:2px 8px;white-space:nowrap;flex-shrink:0}
.rtb-exam-chip:empty{display:none}
body.dark-mode .organ-act-btn{background:#1f2228;border-color:#353a42;color:#9aa4b2}
body.dark-mode .organ-act-btn:hover{border-color:var(--accent);color:#b3aef5}
body.dark-mode .organ-clear-btn:hover{border-color:#7f1d1d;color:#ef8a8a}
body.dark-mode .qf-organ-dd{background:#23213a;border-color:#353a42}
body.dark-mode .rtb-exam-chip{background:#23213a;color:#b3aef5}

/* ═══ Página Laudos (histórico tela cheia) ═══ */
.ld-wrap{max-width:1300px;margin:0 auto;padding:14px 4px 44px}
.ld-pat{font-size:13px;color:var(--text)}
.ld-st{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 9px;white-space:nowrap}
.ld-st-rasc{background:var(--soft);color:var(--muted);border:1px solid var(--line)}
.ld-st-pend{background:var(--warn-bg-strong);color:var(--warn-fg)}
.ld-st-ass{background:var(--success-bg-strong);color:var(--success-fg)}
body.dark-mode .ld-pat{color:#e5e7ea}
body.dark-mode .ld-st-rasc{background:#181b20;border-color:#353a42}
/* Card do paciente: visível só na tela de exame e quando o exame começou (vence o reskin por ordem) */
.clinical-context-bar{display:none!important}
body[data-view="exam"] .clinical-context-bar.ccb-on{display:block!important}

/* ═══ Modal "Criar modelo" (UI dedicada — substitui o window.prompt) ═══ */
.um-create-overlay{z-index:10800}
.um-create-modal{max-width:480px}
.um-cm-exam{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.um-cm-exam b{font-size:13px;color:var(--text)}
.um-cm-exam small{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:1px}
.um-cm-foot{display:flex;justify-content:flex-end;gap:8px}
body.dark-mode .um-cm-exam{background:#16181d;border-color:#353a42}
body.dark-mode .um-cm-exam b{color:#e5e7ea}

/* ═══ Header responsivo: navegação no menu ⋯ quando a nav some (≤1180px) e compactação ≤640/420px ═══ */
#moreMenu .dd-nav-links{display:none}
@media(max-width:1180px){#moreMenu .dd-nav-links{display:block}}
@media(max-width:640px){
  .top{gap:8px!important;padding:0 10px!important}
  .topbar-new{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;padding:0!important}
  .topbar-new .tbn-txt{display:none}
  .topbar-hist{display:none!important}
  .exam-scope-toggle{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
  .exam-scope-toggle .est-segs{flex-wrap:wrap}
}
@media(max-width:420px){
  .top{gap:6px!important;padding:0 8px!important}
  .topbar-brand{gap:6px}
  .topbar-brand .brand{display:none}
  .topbar-caret{display:none}
  .topbar-actions{gap:4px!important}
  .topbar-user{padding:2px!important}
}

/* ═══ PROPAGAÇÃO DO ACENTO À TELA DE EXAME (follow-up b do redesign) ═══
   A tela de exame era a única ainda no azul antigo (--blue). Este passe leva o
   acento (--accent) aos estados de SELEÇÃO/FOCO/NAVEGAÇÃO, preservando as cores
   semânticas: âmbar de achado alterado (radio-pill :has(input não-vazio)),
   verde de finalizar, vermelho de urgência e o navy dos cabeçalhos de órgão. */

/* — Global: botões primários e hovers neutros no acento (unifica todas as telas) — */
.btn:hover:not(.primary):not(.green):not(.red){border-color:var(--accent);color:var(--accent-strong)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 30%,transparent)}
.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-fg)}
/* Dark: texto BRANCO (não --accent-fg): botões como .rb-open têm fundo próprio
   com !important que não controlamos — texto escuro ficaria ilegível neles. */
body.dark-mode .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
body.dark-mode .btn.primary:hover{background:color-mix(in srgb,var(--accent) 78%,#0b0d12);border-color:color-mix(in srgb,var(--accent) 78%,#0b0d12);color:#fff}
.topbar-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.topbar-icon:hover{color:var(--accent)!important}
.topbar-user:hover{border-color:var(--accent)}

/* — Seleções (pill/radio-pill) — só o estado "selecionado normal"; o âmbar de
     achado alterado (:has(input:not([data-value=""]))) fica intacto. — */
body[data-view="exam"] .exam-theme .pill.active,
body[data-view="exam"] .exam-theme .radio-pill.active:not(:has(input:not([data-value=""]))){
  background:var(--accent-soft)!important;
  border-color:color-mix(in srgb,var(--accent) 42%,#fff)!important;
  color:var(--accent-strong)!important;
}
body.dark-mode[data-view="exam"] .exam-theme .pill.active,
body.dark-mode[data-view="exam"] .exam-theme .radio-pill.active:not(:has(input:not([data-value=""]))){
  background:var(--accent-soft)!important;
  border-color:color-mix(in srgb,var(--accent) 55%,#16181d)!important;
  color:var(--accent-strong)!important;
}

/* — Focos de campo e do corpo do laudo — */
body[data-view="exam"] .workspace-layout input:focus,
body[data-view="exam"] .workspace-layout select:focus,
body[data-view="exam"] .workspace-layout textarea:focus{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)!important;
}
body[data-view="exam"] .doc:focus:not(.locked){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}

/* — Drawers abertos (drawer/msk) + chip de valor — (!important: vence os
     overrides dark do reskin, ex. l.3192, que também usam !important) — */
body[data-view="exam"] .drawer[open]>summary{background:var(--accent-soft)!important;color:var(--accent-strong)!important}
body[data-view="exam"] .drawer[open]>summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%234f46e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 4 5-4'/%3E%3C/svg%3E")!important}
body[data-view="exam"] .msk-drawer[open]>summary{background:var(--accent-soft)!important}
body[data-view="exam"] .msk-drawer[open]>summary::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%234f46e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 4 5-4'/%3E%3C/svg%3E")!important}
body[data-view="exam"] .msk-drawer[open]>summary .msk-group-label{color:var(--accent-strong)!important}
body[data-view="exam"] .msk-group-val{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 42%,#fff);color:var(--accent-strong)}
body.dark-mode[data-view="exam"] .drawer[open]>summary,
body.dark-mode[data-view="exam"] .msk-drawer[open]>summary{background:var(--accent-soft)!important;color:var(--accent-strong)!important}
body.dark-mode[data-view="exam"] .drawer[open]>summary:after,
body.dark-mode[data-view="exam"] .msk-drawer[open]>summary::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238b83f7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 4 5-4'/%3E%3C/svg%3E")!important}
body.dark-mode[data-view="exam"] .msk-group-val{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,#16181d);color:var(--accent-strong)}

/* — Navegação da tela: tabs mobile, toggle de escopo, índice de itens — */
body[data-view="exam"] .ws-tab.active{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-fg)!important}
body[data-view="exam"] .exam-scope-toggle .est-seg.active{background:var(--accent);color:var(--accent-fg)}
body[data-view="exam"] .exam-scope-toggle .est-seg:hover:not(.active){color:var(--accent-strong)}
body[data-view="exam"] .item-index{color:var(--accent-strong)}
body[data-view="exam"] .rv-item:hover{border-color:var(--accent)}

/* ═══ Modal "Trocar exame" — redesign (pedido do médico 2026-07) ═══ */
.exam-modal{max-width:1080px!important;border-radius:18px!important}
.exam-modal-head{padding:16px 22px 12px;align-items:flex-start}
.exam-modal-title{font-size:16px}
.exam-modal-sub{font-size:12px;color:var(--muted);margin-top:2px}
.exam-modal-body{padding:14px 22px 16px;gap:12px}
.exam-modal-body .exam-select{height:44px!important;min-height:44px!important;font-size:13.5px!important;border-radius:12px!important;padding:0 72px 0 14px!important;background:var(--soft)!important}
.exam-modal-body .exam-select:focus{background:var(--card)!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)!important}
/* Card do exame ativo volta a ser um cartão de verdade dentro do modal (o reskin o achatou) */
.exam-modal .exam-active-card{padding:12px 16px!important;border-radius:12px!important;margin-top:0!important;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line))!important;background:color-mix(in srgb,var(--accent) 5%,var(--card))!important;display:flex;align-items:center;justify-content:space-between;gap:12px}
.exam-modal .exam-active-kicker{color:var(--accent-strong);opacity:1}
.exam-modal .exam-active-title{font-size:14px!important;font-weight:800!important;line-height:1.3!important}
.exam-modal .exam-active-tech{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.exam-modal .exam-active-badge{background:var(--accent);color:#fff;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:800;flex-shrink:0}
.exam-modal .exam-vitrine{border-top:none;padding-top:2px}
.exam-modal .evt-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.exam-modal .evt-grid{grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:10px}
.exam-modal .evt-card{border-left:3px solid var(--fam,var(--line));border-radius:10px;padding:10px 11px 9px}
.exam-modal .evt-card:hover{border-color:color-mix(in srgb,var(--fam,var(--accent)) 55%,var(--line));border-left-color:var(--fam,var(--accent));box-shadow:0 4px 14px color-mix(in srgb,var(--fam,var(--accent)) 16%,transparent)}
.exam-modal .evt-card.active{border-color:var(--accent);border-left-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}
.exam-modal-foot{display:flex;align-items:center;gap:12px}
.exam-modal-foot-hint{font-size:11.5px;color:var(--muted);flex:1;text-align:left}
body.dark-mode .exam-modal .exam-active-card{background:color-mix(in srgb,var(--accent) 12%,var(--card))!important;border-color:color-mix(in srgb,var(--accent) 42%,var(--line))!important}
body.dark-mode .exam-modal-body .exam-select{background:var(--bg)!important}

/* ═══ "Achados rápidos" (compacto — redesenho da caixa fica para depois) ═══ */
body[data-view="exam"] .qm-bar{margin:6px 10px 0;padding:6px 10px 7px!important;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent) 4%,var(--card));display:flex;flex-direction:column;gap:4px}
.qm-head-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}
.qm-title{font-size:12px;font-weight:800;color:var(--accent-strong);white-space:nowrap}
.qm-hint{font-size:10.5px;color:var(--muted)}
.qm-hint b{color:var(--text);font-weight:700;background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:0 4px}
.qm-row{display:flex;align-items:center;gap:10px;min-width:0}
.qm-row .qm-wrap{flex:1}
body[data-view="exam"] .qm-bar input#qmInput{min-height:32px!important;height:32px!important;font-size:12.5px!important;border-radius:8px!important;padding:0 10px!important;background:var(--card)!important}
body[data-view="exam"] .qm-bar .qm-mic{width:32px;height:32px;border-radius:8px;font-size:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft)}
body[data-view="exam"] .qm-bar .qm-mic:hover{border-color:var(--accent)}
body[data-view="exam"] .qm-scope{align-self:center;margin-top:0;white-space:nowrap;font-size:11.5px}
body.dark-mode[data-view="exam"] .qm-bar{background:color-mix(in srgb,var(--accent) 9%,var(--card))!important;border-color:color-mix(in srgb,var(--accent) 32%,var(--line))!important}
body.dark-mode[data-view="exam"] .qm-bar input#qmInput{background:var(--bg)!important}
@media(max-width:780px){body[data-view="exam"] .qm-row{flex-wrap:wrap}body[data-view="exam"] .qm-scope{align-self:flex-start}}

/* ═══ Seção "ESTUDO NÃO DIRECIONADO" (form + laudo) ═══
   (especificidade body[data-view] .workspace-layout: vence os organ-head do reskin) */
body[data-view="exam"] .workspace-layout .nd-organ{border-color:#e8c98a!important}
body[data-view="exam"] .workspace-layout .nd-organ>.organ-head{background:#fdf1dc!important;color:#7a4a00!important;display:flex;align-items:center;gap:10px}
.nd-head-hint{font-size:9.5px;font-weight:700;text-transform:none;letter-spacing:.02em;color:#a16207!important;margin-left:auto}
.nd-body{padding:9px 12px;display:grid;gap:6px}
.nd-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed #e8c98a;border-radius:8px;background:#fffaf0;padding:6px 10px}
.nd-item-txt{font-size:12.5px;color:var(--text);line-height:1.4}
.nd-del{flex-shrink:0}
.report-nd p{margin:0 0 2px}
.report-nd-note{font-size:.92em;font-style:italic;color:#555;margin-top:4px}
body.dark-mode[data-view="exam"] .workspace-layout .nd-organ{border-color:#7c5a1e!important}
body.dark-mode[data-view="exam"] .workspace-layout .nd-organ>.organ-head{background:#3a2e16!important;color:#f0c66b!important}
body.dark-mode .nd-head-hint{color:#d9a94a}
body.dark-mode .nd-item{background:#241d10;border-color:#7c5a1e}

/* ═══ Órgãos recolhidos por padrão (organ-fold — transvaginal: bexiga/uretra/vagina) ═══
   Recolhido = só o cabeçalho; .ef-hit (busca "/" com resultado no órgão) revela sem mudar o
   estado. Especificidade body[data-view] .workspace-layout: vence os displays do reskin. */
body[data-view="exam"] .workspace-layout .organ.organ-folded:not(.ef-hit)>*:not(.organ-head){display:none!important}
.organ.organ-fold>.organ-head{cursor:pointer;user-select:none}
.organ-fold-caret{border:none;background:none;color:inherit;cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;margin-left:6px;flex-shrink:0;opacity:.85;transition:transform .15s ease}
.organ-fold-caret:hover{opacity:1}
.organ.organ-folded>.organ-head .organ-fold-caret{transform:rotate(-90deg)}
.organ.organ-folded>.organ-head .organ-title-wrap::after{content:'recolhido — clique para abrir';font-size:9px;font-weight:600;text-transform:none;letter-spacing:.02em;opacity:.62;margin-left:8px}
.organ.organ-folded>.organ-head .organ-act-btn{display:none}

/* ═══ ANÁLISE COMPARATIVA (laudo evolutivo — comparativo do histórico ativo) ═══ */
.report-evolucao p{margin:0 0 2px}
.report-evo-ref{font-size:.92em;font-style:italic;color:#555}

/* ═══ MODO GERADOR / PRIVACIDADE (LGPD) ═══ */
.privacy-note{display:none;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 2px;padding:7px 11px;border:1px solid #cdebd8;background:#f0faf4;border-radius:9px;font-size:11.5px;color:#276749;line-height:1.4}
body.privacy-on .privacy-note{display:flex}
.privacy-note b{font-weight:800}
.privacy-note-cfg{margin-left:auto;border:1px solid #a7d7bd;background:#fff;color:#276749;border-radius:6px;padding:2px 9px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.privacy-note-cfg:hover{border-color:#2f855a}
.cfg-priv-note{font-size:11.5px;color:var(--muted);line-height:1.5;margin:8px 2px 0}
body.dark-mode .privacy-note{background:#0e1f16;border-color:#1f4d33;color:#8fd8ab}
body.dark-mode .privacy-note-cfg{background:#16181d;border-color:#1f4d33;color:#8fd8ab}
.cfg-priv-fixed{border:1px solid #cdebd8;background:#f0faf4;border-radius:10px;padding:11px 14px;font-size:12.5px;color:#276749;line-height:1.55}
body.dark-mode .cfg-priv-fixed{background:#0e1f16;border-color:#1f4d33;color:#8fd8ab}

/* ═══════════════════════════════════════════════════════════════════════════
   IDENTIDADE CARTÓGRAFO 2026-07 — "carta náutica moderna".
   Tinta azul-petróleo sobre papel-gelo frio; filetes como meridianos; rótulos
   versalete; números tabulares. Fraunces fica SÓ na marca (--font-brand);
   toda a interface é sans (--font-display aponta para a sans de propósito —
   converte os títulos serifados legados sem reescrevê-los).
   Vermelho-agulha (--needle) é reservado à marca/logotipo — nunca em UI,
   para não competir com a semântica clínica de perigo.
   Modo escuro = SALA ESCURA: grafite-azulado da sala de exame; o laudo (.doc)
   permanece FOLHA CLARA com tinta escura (overrides no fim do arquivo).
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --font-brand:'Fraunces',Georgia,'Times New Roman',serif;
  --font-display:'Public Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  /* Neutros NEUTROS de verdade (ajuste jul/2026: "tudo em tons de azul" cansava —
     o azul agora mora só no acento; texto/fundo/borda são cinzas sem matiz) */
  --bg:#e8ebee;            /* página = gelo neutro, mais escuro p/ cartão branco saltar */
  --card:#ffffff;          /* superfícies = branco */
  --soft:#f2f4f6;
  --line:#c6cfd5;
  --text:#1a232c;          /* tinta neutra */
  --muted:#5a656f;
  --frame:#1a232c;         /* filete de tinta (meridiano forte) */
  --chrome:#16212b;        /* teto da página: topbar escura ancora a hierarquia */
  --doc-paper:#ffffff;     /* folha do laudo */
  --needle:#c0392b;        /* vermelho-agulha — SÓ marca/logo */
  --accent:#175a74;        /* o ÚNICO azul da paleta (interativo) */
  --accent-strong:#0f4257;
  --accent-soft:#e2edf1;
  --accent-fg:#ffffff;
  --blue:#175a74;--blue2:#e2edf1;               /* chrome herda o acento */
  --lu-navy:#0f4257;--lu-navy-2:#175a74;        /* CTAs/realces do workspace */
  --lu-border:#ccd5db;--lu-border-soft:#dde3e8;--lu-row:#f4f6f8;--lu-muted:#5a656f;
  --radius-card:6px;
  --shadow-card:0 1px 2px rgba(20,28,36,.07),0 3px 10px rgba(20,28,36,.06);
  --shadow-card-hover:0 6px 20px rgba(15,66,87,.16);
  --shadow-pop:0 4px 16px rgba(20,28,36,.18);
}
body.dark-mode{
  --bg:#12161d;--card:#1a2028;--soft:#20262f;--line:#2b3442;
  --text:#dbe4ee;--muted:#8b98a9;--frame:#2f3947;--chrome:#0e1218;--doc-paper:#fbfcfd;
  --accent:#4fc3da;--accent-strong:#7cd6e7;--accent-soft:#173039;--accent-fg:#0a1e26;
  --blue:#4fc3da;--blue2:#173039;
  --lu-navy:#4fc3da;--lu-navy-2:#7cd6e7;
  --lu-border:#2b3442;--lu-border-soft:#232c38;--lu-row:#1e2530;--lu-muted:#8b98a9;
  --needle:#d96459;
}
body{background:var(--bg)!important;color:var(--text)}

/* ── Topbar: papel com filete de tinta + marca serifada ── */
.top{background:var(--card)!important;border-bottom:1px solid var(--frame)!important}
.topbar-brand .brand{font-family:var(--font-brand);font-size:20px!important;font-weight:600!important;letter-spacing:0!important;color:var(--text)!important}
.brand-us{font-style:italic;font-weight:600;color:var(--needle)}
.topbar-logo{background:var(--card)!important;color:var(--accent)!important;border-color:var(--accent)!important}
.topbar-nav button{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.topbar-nav button:hover{color:var(--accent)}
.topbar-nav button.nav-active{color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:6px}
.topbar-new{background:var(--accent)!important;border-color:var(--accent)!important}
.topbar-new:hover{background:var(--accent-strong)!important;border-color:var(--accent-strong)!important}
.topbar-search{background:var(--soft)!important;border-color:var(--line)!important;box-shadow:none!important}
.topbar-search:focus-within{background:var(--card)!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}
.topbar-icon:hover{background:var(--soft)!important;color:var(--accent)!important}
.topbar-user:hover{background:var(--soft)!important}
.topbar-avatar{background:var(--accent-soft)!important;color:var(--accent-strong)!important}
body.dark-mode .topbar-search{background:var(--soft)!important;border-color:var(--line)!important}
body.dark-mode .topbar-icon:hover,body.dark-mode .topbar-user:hover{background:var(--soft)!important}

/* ── Botão primário: bordô coerente (base usava hover azul fixo) ── */
.btn.primary{box-shadow:none}
.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}
.btn:hover{border-color:var(--accent);color:var(--accent)}

/* ── Home (Central): título serifado + rótulos versalete com fio ── */
.central-title{font-family:var(--font-display);font-size:32px;font-weight:600;letter-spacing:-.01em;line-height:1.15}
.central-sub{font-family:var(--font-display);font-style:italic;font-size:15px;color:var(--muted)}
.central-sec-head{border-bottom:1px solid var(--line);padding-bottom:7px;margin-bottom:14px}
.central-sec-head h2{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.home-sec-link{color:var(--accent)}
.cg-name,.cf-name{font-family:var(--font-display);font-size:15.5px;font-weight:600;letter-spacing:0}
.cr-title{font-family:var(--font-display);font-weight:600}
.cr-panel-head{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.cg-card,.cf-card,.ct-chip,.cr-panel,.config-card{border-radius:var(--radius-card)}
.cf-card.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-card)}
/* .cr-start é botão sólido no accent (texto claro correto); .cf-go é LINK sobre card claro —
   com --accent-fg (branco) ficava invisível até o hover. Usa o accent (sempre legível). */
.cr-start{color:var(--accent-fg)}
.cf-go{color:var(--accent)}
.exames-head h1,.config-title{font-family:var(--font-display);font-weight:600;letter-spacing:0}
.exames-head p,.config-subtitle{font-family:var(--font-display);font-style:italic}

/* ── Login: cartão de papel, marca serifada, crédito da empresa ── */
.login-view{background:var(--bg)}
.login-card{border-radius:12px;border-top:3px solid var(--accent);box-shadow:0 18px 50px rgba(40,32,24,.14)}
.login-brand span{font-family:var(--font-brand);font-weight:600;letter-spacing:0}
.login-title{font-family:var(--font-display);font-weight:600}
.login-sub{font-family:var(--font-display);font-style:italic;font-size:13.5px}
.login-company{margin-top:20px;text-align:center;font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
body.dark-mode .login-card{background:var(--card);border-color:var(--line);border-top-color:var(--accent)}
body.dark-mode .login-field input{background:var(--soft);border-color:var(--line);color:var(--text)}

/* ── Corpo do laudo: folha de papel ── */
.doc{background:var(--doc-paper)!important;border-color:var(--line)!important}
.doc.locked{background:var(--soft)!important}
body.dark-mode .doc{background:var(--doc-paper)!important;color:var(--text)!important;border-color:var(--line)!important}

/* ── Superfícies escuras que estavam em cinza-frio fixo → tokens quentes ── */
body.dark-mode .config-card{background:var(--card);border-color:var(--line)}
body.dark-mode .config-card>h2{border-color:var(--line)}
body.dark-mode .exam-bar{background:var(--card);border-color:var(--line)}
body.dark-mode .exam-modal{background:var(--card);border-color:var(--line)}
body.dark-mode .exam-modal-head,body.dark-mode .exam-modal-foot{border-color:var(--line)}
body.dark-mode .cfg-field select,body.dark-mode .cfg-preview{background:var(--soft);border-color:var(--line);color:var(--text)}
body.dark-mode .config-host input,body.dark-mode .config-host select,body.dark-mode .config-host textarea{background:var(--soft);border-color:var(--line);color:var(--text)}
#autosave-banner{background:var(--frame);border-radius:0}
#autosave-banner .btn.primary{background:var(--accent);border-color:var(--accent)}

/* Títulos de órgão no corpo do laudo: tinta (o reskin fixava navy) */
.doc .report-organ-title,.doc .report-section-label{color:var(--text)!important}

/* ── Dark mode: re-sobrescreve os "dark fixes" do reskin (cinza-frio fixo) ── */
body.dark-mode{background:var(--bg)!important}
body.dark-mode .top,body.dark-mode .clinical-context-bar,body.dark-mode .workspace-layout,
body.dark-mode .workspace-layout .form-panel,body.dark-mode .workspace-layout .preview,
body.dark-mode .workspace-layout .organ,body.dark-mode .workspace-layout .exam-theme .organ{
  background:var(--card)!important;border-color:var(--line)!important;color:var(--text)!important}
body.dark-mode .top{border-bottom-color:var(--frame)!important}
body.dark-mode .cg-card,body.dark-mode .cf-card,body.dark-mode .ct-chip,body.dark-mode .central-recents,
body.dark-mode .cr-panel,body.dark-mode .central-search input,body.dark-mode .cr-alt,
body.dark-mode .home-search input,body.dark-mode .home-exam-card,body.dark-mode .home-recent-card,
body.dark-mode .home-empty{background:var(--card);border-color:var(--line)}
body.dark-mode .home-banner{background:var(--soft);border-color:var(--line)}

/* ── Marca vetorial (sonda + rosa dos ventos + livro) — traços por token ── */
:root{--logo-ink:#1d2f3a}
body.dark-mode{--logo-ink:#a9bfcb}
.lu-mark{display:block;width:100%;height:100%}
.lu-mark .mki{stroke:var(--logo-ink);fill:none}
.lu-mark .mkif{fill:var(--logo-ink)}
.lu-mark .mka{stroke:var(--needle);fill:none}
.lu-mark .mkaf{fill:var(--needle)}
.lu-mark .mkp{fill:var(--card);stroke:var(--logo-ink)}
.topbar-logo{background:transparent!important;border:none!important;border-radius:0!important;width:34px!important;height:34px!important;font-size:0!important;box-shadow:none!important;display:flex;align-items:center;justify-content:center}
.topbar-logo:before{content:none!important;display:none!important}
body.dark-mode .topbar-logo{background:transparent!important}
.login-mark{display:block;width:46px;height:46px;flex-shrink:0}
.exam-bar-mark{width:17px;height:17px;flex:0 0 auto}

/* ── Aba do exame — passe editorial (fontes/estrutura; grid e comportamento intactos) ── */
body[data-view="exam"] .workspace-layout .organ>.organ-head,
body[data-view="exam"] .workspace-layout .organ.organ-altered>.organ-head,
body[data-view="exam"] .workspace-layout .organ.organ-critical>.organ-head{text-transform:none!important;border-bottom:1px solid var(--line)!important;padding:10px 0 6px!important}
body[data-view="exam"] .workspace-layout .organ-title-text{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:0}
body[data-view="exam"] .workspace-layout .obst-age-card .organ-head{text-transform:none!important;font-family:var(--font-display)!important;font-size:16px!important;font-weight:600!important}
.exam-bar-ex b{font-family:var(--font-display);font-size:16px;font-weight:600}
.ccb-exam span{font-family:var(--font-display);text-transform:none!important;font-size:14px;font-weight:600}
body[data-view="exam"] .workspace-layout .form-title-bar span,
body[data-view="exam"] .workspace-layout .rtb-title{letter-spacing:.14em!important;color:var(--muted)!important;font-size:10.5px!important}
body[data-view="exam"] .workspace-layout .qm-title{font-family:var(--font-display);font-size:15px;font-weight:600}
body[data-view="exam"] .workspace-layout .esb-summary,
body[data-view="exam"] .workspace-layout .exam-nav{border-color:var(--line)!important}
body[data-view="exam"] .workspace-layout .doc{padding:26px 30px!important;border-radius:4px!important}
.ident-title{letter-spacing:.12em}

/* ── Sans nova: Public Sans (precisa, institucional; a Fraunces fica só na marca) ── */
body{font-family:'Public Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
.tic{width:19px;height:19px;display:block}

/* ── Identificação: colapsável acima da 1ª estrutura do exame ── */
.ident-box{border:1px solid var(--line);border-radius:8px;background:var(--card);margin:10px 0 4px}
.ident-box>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 14px;user-select:none}
.ident-box>summary::-webkit-details-marker{display:none}
.ib-title{font-family:var(--font-display);font-size:15.5px;font-weight:600;color:var(--text);flex-shrink:0}
.ib-info{font-size:12px;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ib-caret{color:var(--muted);font-size:11px;transition:transform .15s}
.ident-box[open] .ib-caret{transform:rotate(180deg)}
.ident-box[open]>summary{border-bottom:1px solid var(--line)}
.ident-box>summary:hover .ib-title{color:var(--accent)}
.ident-box-body{padding:12px 14px}
.ident-grid{grid-template-columns:2fr .8fr 1fr .8fr;gap:10px}
.ident-grid-1{grid-template-columns:1fr;margin-top:8px}
.ident-more{margin-top:10px}
.ident-more>summary{list-style:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--accent)}
.ident-more>summary::-webkit-details-marker{display:none}
.ident-box .privacy-note{margin-top:10px}
@media(max-width:900px){.ident-grid{grid-template-columns:1fr 1fr}}
/* A antiga seção do paciente só reaparece quando um painel dela (técnica/histórico) é aberto */
body[data-view="exam"] section.patient{display:none!important}
body[data-view="exam"] section.patient:has(.sol-panel.show){display:block!important}
body[data-view="exam"] section.patient:has(#methodPanel:not(.panel-hidden)){display:block!important}

/* ── Pedidos do médico: sem dots de status; letras maiores nas estruturas ── */
.nav-dot{display:none!important}
.organ-title-status{display:none!important}
.exam-nav-item.active::before{display:none!important;content:none!important}
body[data-view="exam"] .workspace-layout .exam-nav-item.active{color:var(--accent)!important;font-weight:700!important}
body[data-view="exam"] .workspace-layout .micro-label,body.dark-mode[data-view="exam"] .workspace-layout .micro-label{background:none!important;border:none!important;box-shadow:none!important;font-size:12.5px!important;font-weight:600!important;color:var(--muted)!important;letter-spacing:.01em!important;min-height:0!important}
body[data-view="exam"] .workspace-layout .pill,body[data-view="exam"] .workspace-layout .radio-pill{font-size:13px!important}
body[data-view="exam"] .workspace-layout .field label,body[data-view="exam"] .workspace-layout .mini-label{font-size:12px!important}
body[data-view="exam"] .workspace-layout .hint{font-size:12px!important}

/* ── Padrão único das caixas do exame (raio 8 + borda tokenizada) ── */
body[data-view="exam"] .workspace-layout .qm-bar,
body[data-view="exam"] .workspace-layout .conditional,
body[data-view="exam"] .workspace-layout .drawer,
body[data-view="exam"] .workspace-layout .subdrawer,
body[data-view="exam"] .workspace-layout .msk-drawer{border-radius:8px!important;border-color:var(--line)!important}

/* ── Dark: varredura de matiz frio → tokens quentes (controles e módulos) ── */
body.dark-mode[data-view="exam"] .workspace-layout input,
body.dark-mode[data-view="exam"] .workspace-layout select,
body.dark-mode[data-view="exam"] .workspace-layout textarea{background:var(--soft)!important;border-color:var(--line)!important;color:var(--text)!important}
body.dark-mode[data-view="exam"] .workspace-layout .pill,
body.dark-mode[data-view="exam"] .workspace-layout .radio-pill{background:var(--soft)!important;border-color:var(--line)!important}
body.dark-mode[data-view="exam"] .workspace-layout .micro,
body.dark-mode[data-view="exam"] .workspace-layout .micro.micro-free{background:transparent!important}
body.dark-mode[data-view="exam"] .workspace-layout .organ,
body.dark-mode[data-view="exam"] .workspace-layout .organ.organ-untouched{background:var(--card)!important}
body.dark-mode[data-view="exam"] .workspace-layout .organ-head,
body.dark-mode[data-view="exam"] .workspace-layout .organ-title-wrap{background:var(--card)!important;color:var(--text)!important}
body.dark-mode[data-view="exam"] .workspace-layout .organ-actions,
body.dark-mode[data-view="exam"] .workspace-layout .organ-icon-btn,
body.dark-mode[data-view="exam"] .workspace-layout .unit,
body.dark-mode[data-view="exam"] .workspace-layout .drawer-title,
body.dark-mode .report-cluster .ricon{color:var(--muted)!important}
body.dark-mode[data-view="exam"] .workspace-layout .drawer-title{border-color:var(--line)!important}
body.dark-mode[data-view="exam"] .workspace-layout .organ-act-btn{background:var(--soft)!important;border-color:var(--line)!important;color:var(--text)!important}
body.dark-mode[data-view="exam"] .workspace-layout .qf-chip{background:var(--soft)!important;border-color:var(--line)!important;color:var(--text)!important}
body.dark-mode[data-view="exam"] .workspace-layout label{color:var(--muted)}
body.dark-mode[data-view="exam"] .workspace-layout .drawer>summary,
body.dark-mode[data-view="exam"] .workspace-layout .subdrawer>summary,
body.dark-mode[data-view="exam"] .workspace-layout .msk-drawer>summary{background:var(--soft)!important;color:var(--text)!important}
body.dark-mode[data-view="exam"] .workspace-layout .drawer[open]>summary,
body.dark-mode[data-view="exam"] .workspace-layout .msk-drawer[open]>summary{background:var(--accent-soft)!important;color:var(--accent-strong)!important}
body.dark-mode[data-view="exam"] .workspace-layout .obst-section-title{color:var(--accent-strong)!important}
body.dark-mode[data-view="exam"] .workspace-layout .obst-section{border-color:var(--line)!important}
body.dark-mode[data-view="exam"] .workspace-layout label{color:var(--muted)!important}
body.dark-mode[data-view="exam"] .workspace-layout .drawer>summary,
body.dark-mode[data-view="exam"] .workspace-layout .subdrawer>summary,
body.dark-mode[data-view="exam"] .workspace-layout .msk-drawer>summary{border-color:var(--line)!important}
.vmap-pill.active{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-fg)!important}
.vmap-cp-n{background:var(--accent)}
details.drawer.limbox>summary .hint,details.drawer.limbox[open]>summary .hint{color:var(--accent)!important}
body.dark-mode .rtb-exam-chip{background:var(--accent-soft);color:var(--accent-strong)}
body.dark-mode .privacy-note-cfg{background:var(--soft)}
body.dark-mode .report-cluster .ricon.ricon-primary{border-color:var(--accent)!important;color:var(--accent)!important}
body.dark-mode .report-signature,body.dark-mode .report-footer-note{border-color:var(--line)!important}
body.dark-mode[data-view="exam"] .workspace-layout .qf-panel{background:var(--card)!important;border-color:var(--line)!important}
body.dark-mode .fs-card-title{color:var(--muted)!important}
body.dark-mode[data-view="exam"] .workspace-layout .ig-ref-block{background:var(--soft)!important;border-color:var(--line)!important}
body.dark-mode[data-view="exam"] .workspace-layout .obst-head{background:var(--soft)!important;color:var(--accent-strong)!important;border-color:var(--line)!important}
body.dark-mode[data-view="exam"] .workspace-layout .btn.green{background:var(--soft)!important;border-color:var(--line)!important;color:var(--text)!important}
body.dark-mode[data-view="exam"] .msk-drawer[open]>summary::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23c9808d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 4 5-4'/%3E%3C/svg%3E")!important}
.tirads-add-btn{color:var(--accent)!important;border-color:var(--accent)!important}
body.dark-mode[data-view="exam"] .workspace-layout .obst-subcard,
body.dark-mode[data-view="exam"] .workspace-layout .obst-summary-card{background:var(--card)!important;border-color:var(--line)!important}
body.dark-mode[data-view="exam"] .workspace-layout .obst-subcard-head,
body.dark-mode[data-view="exam"] .workspace-layout .obst-result{background:var(--soft)!important;border-color:var(--line)!important}
body.dark-mode[data-view="exam"] .workspace-layout .obst-subcard-title{color:var(--text)!important}
body.dark-mode[data-view="exam"] .workspace-layout .obst-summary-line,
body.dark-mode[data-view="exam"] .workspace-layout .obst-chip,
body.dark-mode[data-view="exam"] .workspace-layout .obst-subcard-badge.neutral{color:var(--muted)!important;border-color:var(--line)!important}
body.dark-mode .doc .report-organ.rep-focus{background:var(--accent-soft);border-left-color:var(--accent)}
body.dark-mode[data-view="exam"] .workspace-layout .mic-btn,
body.dark-mode[data-view="exam"] .workspace-layout .qm-mic{color:var(--muted)!important;background:var(--soft)!important;border-color:var(--line)!important}
body.dark-mode .val-panel .val-title{color:var(--text)!important}
body.dark-mode[data-view="exam"] .workspace-layout .ig-ref-tab{background:var(--soft)!important;border-color:var(--line)!important;color:var(--text)!important}
body.dark-mode[data-view="exam"] .workspace-layout .ig-ref-tab.active{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-fg)!important}
body.dark-mode[data-view="exam"] .workspace-layout .ig-dum-unknown{background:var(--soft)!important;border-color:var(--line)!important;color:var(--text)!important}
body.dark-mode[data-view="exam"] .workspace-layout .obst-chip,
body.dark-mode[data-view="exam"] .workspace-layout .obst-subcard-badge{background:var(--soft)!important;border-color:var(--line)!important;color:var(--text)!important}
body.dark-mode .gemeo-tab.active{color:#fff!important}
body.dark-mode[data-view="exam"] .workspace-layout .vmap-report{background:var(--soft)!important;border-color:var(--line)!important}
body.dark-mode[data-view="exam"] .workspace-layout .vmap-report-title{color:var(--text)!important}

/* ── Rodada 2026-07-02d: dimensões, hierarquia e barra única do exame ── */
/* Sidebar mais compacta (itens menores, menos ar) */
.exam-sidebar{padding:12px 12px!important}
body[data-view="exam"] .workspace-layout .exam-nav .exam-nav-title{padding:2px 0 9px!important;font-size:10.5px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--muted)!important;font-weight:800!important}
body[data-view="exam"] .workspace-layout .exam-nav-item{min-height:28px!important;padding:3px 0!important;font-size:12.5px!important;font-weight:600!important;gap:8px!important;color:var(--text)!important}
body[data-view="exam"] .workspace-layout .exam-nav-item:hover{color:var(--accent)!important}
/* Achados rápidos: painel e chips compactos */
.qf-panel{padding:9px 10px}
.qf-head{letter-spacing:.13em}
.qf-chip{font-size:11.5px;padding:3px 8px;border-radius:6px;font-weight:550}
/* Hierarquia dentro do órgão: título > subseção > rótulo de campo */
body[data-view="exam"] .workspace-layout .organ-title-text{font-size:17px}
/* Delimitação de cada estrutura (feedback de uso: "pouca distinção na leitura"). O card já
   tem raio/sombra/margem (acima); aqui o CABEÇALHO ganha uma faixa de papel + barra de acento
   à esquerda, e o corpo um respiro interno — cada órgão lê como um bloco próprio. */
body[data-view="exam"] .workspace-layout .organ{border:1px solid var(--lu-border,#e3dac6)!important}
body[data-view="exam"] .workspace-layout .organ>.organ-head{
  padding:11px 14px 10px!important;background:var(--soft)!important;
  border-bottom:1px solid var(--lu-border-soft,#ede6d4)!important;
  border-left:3px solid var(--accent)!important;
}
body[data-view="exam"] .workspace-layout .organ.organ-altered>.organ-head{border-left-color:#e0922f!important}
body[data-view="exam"] .workspace-layout .organ.organ-critical>.organ-head,
body[data-view="exam"] .workspace-layout .organ.organ-urgent>.organ-head{border-left-color:#dc2626!important}
body[data-view="exam"] .workspace-layout .organ>.freebox{margin:0 14px 12px!important;width:calc(100% - 28px)!important}
body[data-view="exam"] .workspace-layout .drawer>summary,
body[data-view="exam"] .workspace-layout .drawer>summary span:first-child{color:var(--text)!important;font-size:12.5px!important;font-weight:650!important}
body[data-view="exam"] .workspace-layout .drawer[open]>summary,
body[data-view="exam"] .workspace-layout .drawer[open]>summary span:first-child{color:var(--accent)!important}
body[data-view="exam"] .workspace-layout .obst-field label,
body[data-view="exam"] .workspace-layout .obst-friendly .obst-field label,
body[data-view="exam"] .workspace-layout .obst-morph-label{color:var(--muted)!important;font-size:12px!important;font-weight:650!important}
/* Barra única do exame: chip do paciente + meta + ações (o ccb foi extinto) */
.exam-bar{flex-wrap:wrap}
.exam-bar-pat{border:1px dashed var(--line);background:transparent;color:var(--text);border-radius:var(--radius-pill);padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exam-bar-pat:hover{border-color:var(--accent);color:var(--accent)}
.exam-bar-pat.is-empty{color:var(--muted)}
.exam-bar-meta{font-size:11.5px;color:var(--muted);white-space:nowrap}
.exam-bar-actions{display:inline-flex;gap:6px;align-items:center}
@media(max-width:900px){.exam-bar-meta{display:none!important}}

/* ── Cinzas-azulados (slate) → neutros quentes, em todo o exame ── */
body[data-view="exam"] .workspace-layout .pill:not(.active),
body[data-view="exam"] .workspace-layout .radio-pill:not(.active){color:var(--muted)!important}
body[data-view="exam"] .workspace-layout .btn,
body[data-view="exam"] .workspace-layout .btn.small{color:var(--text)}
body[data-view="exam"] .workspace-layout .btn.primary{color:var(--accent-fg)!important}
body[data-view="exam"] .workspace-layout .unit,
body[data-view="exam"] .workspace-layout .drawer-title,
body[data-view="exam"] .workspace-layout .organ-actions,
body[data-view="exam"] .workspace-layout .organ-icon-btn,
body[data-view="exam"] .workspace-layout .rb-lock.rb-lock-soft,
.report-cluster .ricon{color:var(--muted)!important}
.doc,.doc p,.doc li,.doc b{color:var(--text)!important}
body.dark-mode .doc,body.dark-mode .doc p,body.dark-mode .doc li,body.dark-mode .doc b{color:var(--text)!important}
body[data-view="exam"] .workspace-layout .btn:not(.primary):not(.red):not(.green),
body[data-view="exam"] .workspace-layout .btn.small:not(.primary):not(.red):not(.green){color:var(--text)!important}
.report-title-bar,.report-title-bar .rtb-spacer,.report-title-bar .report-cluster{color:var(--text)}
.doc .report-organ,.doc .report-hypothesis-title{color:var(--text)!important}
.doc .report-footer-note,.doc .report-signature{color:var(--muted)!important}
body[data-view="exam"] .workspace-layout .subdrawer>summary{color:var(--text)!important}
body[data-view="exam"] .workspace-layout .calc{color:var(--text)!important}
body[data-view="exam"] .workspace-layout .obst-subcard-title{color:var(--text)!important}
.fs-card-title{color:var(--muted)!important}
body[data-view="exam"] .btn:not(.primary):not(.red):not(.green){color:var(--text)!important}
.report-title-bar{color:var(--text)!important}
body[data-view="exam"] .workspace-layout .msk-drawer>summary,
body[data-view="exam"] .workspace-layout .msk-group-label{color:var(--text)!important}
.doc .report-review-mark-measure{color:var(--accent)!important}
body[data-view="exam"] .workspace-layout .obst-summary-line,
body[data-view="exam"] .workspace-layout .obst-chip,
body[data-view="exam"] .workspace-layout .obst-subcard-badge{color:var(--text)!important}
body[data-view="exam"] .workspace-layout .preview>h2.report-title-bar{color:var(--text)!important}
body[data-view="exam"] .workspace-layout .gemeo-tab.active{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-fg)!important}
body[data-view="exam"] .workspace-layout .gemeo-add{color:var(--accent)!important;border-color:var(--accent)!important}
body[data-view="exam"] .workspace-layout .vmap-report-title{color:var(--text)!important}

/* Ícones de linha pequenos (busca/mic/raio) — herdam a cor do contexto */
.tic-sm{width:15px;height:15px;display:inline-block;vertical-align:-3px;flex-shrink:0}
.qm-mic .tic-sm,.mic-btn .tic-sm,.exam-voice-btn .tic-sm{width:17px;height:17px;vertical-align:middle}
.qm-title .tic-sm{color:var(--accent)}
.central-search-ic .tic-sm,.tbs-icon .tic-sm{color:var(--muted)}
.mic-active .tic-sm{color:#dc2626}

/* Barra única em telas estreitas: prioriza Finalizar; demais ações vão ao menu ⋯ */
@media(max-width:760px){
  .exam-bar-actions .btn:not(.primary){display:none}
  .exam-bar-pat{max-width:180px}
}

/* ═══ Tipografia editorial — páginas e modais restantes (2026-07-02e) ═══ */
.lu-mt{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:0;color:var(--text)}
.lx-head h1,.um-head h1{font-family:var(--font-display);font-weight:600;letter-spacing:0;font-size:26px}
.lx-head p,.um-head p{font-family:var(--font-display);font-style:italic;font-size:14px}
.lx-d-head h2{font-family:var(--font-display);font-weight:600;letter-spacing:0}
.lx-i-head{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.exam-modal-title{font-family:var(--font-display);font-weight:600;font-size:19px!important;letter-spacing:0}
.exam-modal-sub{font-family:var(--font-display);font-style:italic}
.review-modal-title{font-family:var(--font-display);font-weight:600;font-size:15px}
.evt-card-label{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:0}
.ex-name{font-family:var(--font-display);font-weight:600;font-size:15.5px;letter-spacing:0}
.exr-name{font-family:var(--font-display);font-weight:600}
.um-name b{font-family:var(--font-display);font-weight:600;font-size:15px}
.history-head b{font-family:var(--font-display);font-weight:600;font-size:15px}
.history-title{color:var(--text)}
.um-table th{letter-spacing:.13em}

/* ── Feedback dos testadores (botão flutuante + modal) ─────────── */
.fb-fab{position:fixed;left:14px;bottom:14px;z-index:8400;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--text);font-family:inherit;font-size:12px;font-weight:700;padding:8px 13px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.fb-fab:hover{border-color:var(--accent);color:var(--accent)}
body[data-view="login"] .fb-fab{display:none!important}
@media print{.fb-fab{display:none!important}}
.fb-overlay{position:fixed;inset:0;background:rgba(20,16,10,.5);display:flex;align-items:center;justify-content:center;z-index:10003;padding:16px}
.fb-modal{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:18px 20px;max-width:460px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.fb-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px}
.fb-x{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted);padding:0 2px}
.fb-x:hover{color:var(--text)}
.fb-sub{font-size:12.5px;color:var(--muted);margin:6px 0 12px;line-height:1.45}
.fb-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:10px}
.fb-field select,.fb-field textarea{border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:13.5px;padding:8px 10px;resize:vertical}
.fb-field select:focus,.fb-field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.fb-err{color:#dc2626;font-size:12.5px;background:color-mix(in srgb,#dc2626 10%,transparent);border:1px solid color-mix(in srgb,#dc2626 30%,transparent);border-radius:8px;padding:7px 10px;margin-bottom:10px}
.fb-actions{display:flex;justify-content:flex-end;gap:8px}
@media(max-width:780px){.fb-fab{bottom:64px}} /* não colide com o selo de revisão (inferior direito no mobile) nem com barras */

/* ── Modal de finalizar com prévia fiel (2 colunas; empilha no estreito) ── */
.finish-tab.active{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-fg,#fff)!important}
@media(max-width:860px){
  .finish-modal-2col{flex-direction:column!important;overflow:auto!important}
  .finish-modal-2col #finishPreviewFrame,.finish-modal-2col #finishPreviewDelta{height:38vh!important;min-height:220px!important}
}

/* ── Gate inicial de lateralidade do MSK ─────────────────────────── */
.msk-lado-gate{display:flex;flex-direction:column;align-items:center;gap:12px;padding:34px 16px;text-align:center}
.msk-lado-gate .mlg-title{font-family:var(--font-display,inherit);font-size:19px;font-weight:700}
.msk-lado-gate .mlg-opts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.msk-lado-gate .mlg-opts .btn{min-width:120px;min-height:44px;font-size:14px}
.msk-lado-gate .mlg-hint{font-size:12px;color:var(--muted)}

/* ── Redline INLINE no laudo ao vivo: frase do modelo que saiu, riscada no lugar ── */
.doc .rl-ghost{text-decoration:line-through;color:#9b958a;user-select:none;opacity:.85;margin:0 0 2px}
body.dark-mode .doc .rl-ghost{color:#6b7280}
@media print{.rl-ghost{display:none!important}}

/* ── Topbar nunca estoura a página (widget de conta logada encolhe com reticências) ── */
.topbar-actions{min-width:0;flex-shrink:1}
#acctWidget{min-width:0}

/* ═══════════════════════════════════════════════════════════════════════════
   CARTÓGRAFO — disciplina estrutural (2026-07)
   Os tokens já assentaram a paleta; aqui entram os traços de carta náutica:
   filete-meridiano no chrome, subtítulos romanos (o itálico era da identidade
   editorial), números tabulares em toda medida.
   ═══════════════════════════════════════════════════════════════════════════ */
/* Subtítulos que eram itálico-serifado viram romanos (a serifa já saiu via token) */
.central-sub,.login-sub,.exames-head p,.config-subtitle,
.lx-head p,.um-head p,.exam-modal-sub{font-style:normal}
/* Filete-meridiano: o chrome fecha com 2px de tinta */
.top{border-bottom:2px solid var(--frame)!important}
/* Medidas e cálculos alinham em coluna */
input[type=number],.num,.calc,.measure-box input,.msk-sf-dims input{font-variant-numeric:tabular-nums}

/* ═══════════════════════════════════════════════════════════════════════════
   SALA ESCURA — o laudo é a única folha de luz (2026-07)
   No modo escuro (grafite-azulado), o corpo do laudo permanece papel claro
   com tinta escura, como folha sobre a mesa da sala de exame. Estes overrides
   vencem por ordem os que forçam color:var(--text) no .doc (l.~4190).
   ═══════════════════════════════════════════════════════════════════════════ */
body.dark-mode .doc{background:var(--doc-paper)!important;border-color:var(--doc-paper)!important;box-shadow:0 16px 44px rgba(0,0,0,.5)!important}
body.dark-mode .doc,body.dark-mode .doc p,body.dark-mode .doc li,body.dark-mode .doc b,
body.dark-mode .doc .report-organ,body.dark-mode .doc .report-organ-title,
body.dark-mode .doc .report-section-label,body.dark-mode .doc .report-hypothesis-title{color:#1c2530!important}
body.dark-mode .doc .report-footer-note,body.dark-mode .doc .report-signature{color:#5b7482!important}
body.dark-mode .doc .rl-ghost{color:#9aa4b0!important}
body.dark-mode .doc .report-review-mark-measure{color:#0f4257!important}
body.dark-mode .doc .report-organ.rep-focus{background:#e2edf1;border-left-color:#175a74}
body.dark-mode .doc table,body.dark-mode .doc td,body.dark-mode .doc th{color:#1c2530}
body.dark-mode .doc th{background:#eef2f4}
body.dark-mode .doc.manual{background:#fffdf7!important}
body.dark-mode .doc.locked{background:#eef1f4!important}
body.dark-mode .doc[contenteditable=true]:empty:before{color:#8a97a3}

/* ═══════════════════════════════════════════════════════════════════════════
   HIERARQUIA VISUAL DO EXAME — feedback jul/2026 (vence por ordem)
   1) Marca-texto do laudo: DUAS cores apenas — amarelo (achado a revisar) e
      vermelho (crítico/urgente) — + wash de foco. Antes eram 6 matizes
      simultâneos (amarelo/azul/violeta/vermelho/âmbar/verde) e medidas
      ganhavam um segundo marca-texto DENTRO do primeiro.
   2) Ícones de exame: chips monocromáticos em tinta (as 9 cores pastel de
      família saem de cena; o ícone anatômico do cabeçalho da estrutura foi
      removido em exam-nav.js).
   3) Estruturas do exame em versalete (uppercase) no formulário.
   4) Fim da barra colorida lateral por estado; o estado vira um ponto
      discreto após o título.
   5) Achados rápidos da sidebar viram gaveta recolhida (lexico-page.js).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1) Marca-texto: nível ACHADO (amarelo único) ── */
.report-review-mark,
.report-review-mark-measure,
.report-review-mark-limitation{background:#fdf2c4;box-shadow:inset 0 -2px 0 rgba(178,134,0,.26)}
/* medida dentro de um achado já marcado: nenhum segundo marca-texto */
.report-review-mark .report-review-mark-measure{background:transparent;box-shadow:none;border-radius:0;padding:0}
.report-attention-word{background:#fdf2c4;border-bottom:2px dotted rgba(138,109,26,.7)}
.report-lex-highlight.lex-suspeito{background:#fdf2c4;box-shadow:inset 0 -2px 0 rgba(178,134,0,.26)}
/* nível CRÍTICO/URGENTE (vermelho único) */
.report-review-mark-alert,
.report-review-mark .report-review-mark-alert{background:#fbe3df;box-shadow:inset 0 -2px 0 rgba(180,35,24,.30);font-weight:600}
.report-lex-highlight.lex-critico{background:#fbe3df;box-shadow:inset 0 -2px 0 rgba(180,35,24,.30);font-weight:600}
/* redline: colapsa a escala de 5 matizes em neutro / amarelo / vermelho */
.rl-add.fs-sev-0,.rl-add.fs-sev-2{background:rgba(29,47,58,.06);font-weight:400}
.rl-add.fs-sev-3{background:#fdf2c4;font-weight:400}
.rl-add.fs-sev-4{background:#fdf2c4;font-weight:600}
.rl-add.fs-sev-5{background:#fbe3df;font-weight:700}
/* "ver órgão" pisca no mesmo amarelo do nível achado */
.doc .report-organ.report-organ-flash{background:#fdf2c4;border-left-color:#c8a02e}

/* ── 2) Ícones de exame: folhas ilustradas do médico (icons/exames/*.png) ──
   Voltam nos cards (Home/catálogo/modelos/léxico) e no cabeçalho de cada
   estrutura. Sobre a superfície do card, sem o chip pastel colorido antigo:
   a arte já é colorida e senta direto sobre o papel. */
.cg-ic,.cf-ic,.ex-ic,.exr-ic,.cr-ic,.um-ic,.lx-exam-ic{
  display:flex!important;align-items:center;justify-content:center;
  background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important}
.exam-icon-img{width:100%;height:100%;object-fit:contain;display:block}
.ex-ic,.cg-ic,.cf-ic,.lx-exam-ic{width:44px;height:44px}
.ex-ic .exam-icon-img,.cg-ic .exam-icon-img,.cf-ic .exam-icon-img,.lx-exam-ic .exam-icon-img{width:40px;height:40px}
.exr-ic,.um-ic,.cr-ic{width:30px;height:30px}
.exr-ic .exam-icon-img,.um-ic .exam-icon-img,.cr-ic .exam-icon-img{width:28px;height:28px}
/* ícone da estrutura no formulário: contido à esquerda do título versalete */
.organ-ico{display:inline-flex!important;align-items:center;justify-content:center;
  width:26px;height:26px;flex-shrink:0;margin-right:9px;background:transparent!important;border:0!important}
.organ-ico .exam-icon-img{width:24px;height:24px}
body[data-view="exam"] .workspace-layout .organ-ico{width:26px;height:26px}

/* ── 3) Estrutura do exame em versalete ── */
body[data-view="exam"] .workspace-layout .organ>.organ-head,
body[data-view="exam"] .workspace-layout .organ.organ-altered>.organ-head,
body[data-view="exam"] .workspace-layout .organ.organ-critical>.organ-head{text-transform:uppercase!important}
body[data-view="exam"] .workspace-layout .organ-title-text{
  font-family:inherit!important;font-size:12.5px!important;font-weight:800!important;letter-spacing:.09em!important}

/* ── 4) Estado da estrutura: ponto discreto no lugar da barra lateral ── */
body[data-view="exam"] .workspace-layout .organ>.organ-head,
body[data-view="exam"] .workspace-layout .organ.organ-altered>.organ-head,
body[data-view="exam"] .workspace-layout .organ.organ-critical>.organ-head,
body[data-view="exam"] .workspace-layout .organ.organ-urgent>.organ-head{border-left:0!important}
body[data-view="exam"] .workspace-layout .organ.organ-altered>.organ-head .organ-title-text::after,
body[data-view="exam"] .workspace-layout .organ.organ-critical>.organ-head .organ-title-text::after,
body[data-view="exam"] .workspace-layout .organ.organ-urgent>.organ-head .organ-title-text::after{
  content:'';display:inline-block;width:7px;height:7px;border-radius:99px;margin-left:8px;vertical-align:1px;background:#e0922f}
body[data-view="exam"] .workspace-layout .organ.organ-critical>.organ-head .organ-title-text::after,
body[data-view="exam"] .workspace-layout .organ.organ-urgent>.organ-head .organ-title-text::after{background:#dc2626}
/* a faixa ::before na lateral do card sai de cena — TODAS as variantes (l.~1520,
   l.~1875 .workspace-layout com content:''!important, e as das seções obstétricas) */
.organ.organ-altered::before,.organ.organ-critical::before,
.workspace-layout .organ.organ-altered::before,.workspace-layout .organ.organ-critical::before,
.obst-section.organ-altered::before,.obst-section.organ-critical::before,
.workspace-layout .obst-section.organ-altered::before,
.workspace-layout .obst-section.organ-critical::before{display:none!important;content:none!important}
.obst-section.organ-altered .obst-section-title::after,
.obst-section.organ-critical .obst-section-title::after{
  content:'';display:inline-block;width:7px;height:7px;border-radius:99px;margin-left:8px;vertical-align:1px;background:#e0922f}
.obst-section.organ-critical .obst-section-title::after{background:#dc2626}

/* ── 5) Achados rápidos: gaveta recolhida na sidebar ── */
.qf-panel{padding:0;border:1px solid var(--line);border-radius:6px;background:var(--card);overflow:hidden}
.qf-drawer>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:8px 10px;user-select:none}
.qf-drawer>summary::-webkit-details-marker{display:none}
.qf-drawer .qf-count{margin-left:auto;font-size:10px;font-weight:700;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:1px 7px}
.qf-drawer[open]>summary{border-bottom:1px solid var(--line)}
.qf-drawer[open]>summary .qf-count{background:var(--accent-soft);color:var(--accent-strong);border-color:transparent}
.qf-drawer .qf-body{padding:8px 10px;display:grid;gap:6px}

/* ═══════════════════════════════════════════════════════════════════════════
   CHROME ESCURO — contraste de valor (jul/2026)
   Feedback: "página muito chapada, tudo em tons de azul". A topbar vira tinta
   escura (--chrome) e ancora a hierarquia: chrome escuro > gelo neutro >
   cartão branco > folha do laudo. Vence os !important do passe editorial
   (l.~3913) por ordem. No dark mode o --chrome escurece junto (Sala Escura).
   ═══════════════════════════════════════════════════════════════════════════ */
.top{background:var(--chrome)!important;border-bottom:2px solid var(--chrome)!important}
.topbar-brand .brand{color:#f2f5f8!important}
.top .brand-us{color:#d96459}
.top .lu-mark .mki{stroke:#c9d4dd}
.top .lu-mark .mkif{fill:#c9d4dd}
.top .lu-mark .mkp{fill:var(--chrome)}
.topbar-nav button{color:#8fa0ae}
.topbar-nav button:hover{color:#fff}
.topbar-nav button.nav-active{color:#fff;border-bottom-color:#5fb0cd}
.topbar-search{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.16)!important}
.topbar-search input{background:transparent!important;color:#e8edf2!important;border:none!important}
.topbar-search input::placeholder{color:#7e8d99}
.topbar-search .tbs-icon,.topbar-search .tbs-icon .tic-sm{color:#7e8d99}
.topbar-search .tbs-kbd{background:rgba(255,255,255,.10);color:#9fadb9;border-color:rgba(255,255,255,.14)}
.topbar-search:focus-within{background:rgba(255,255,255,.11)!important;border-color:#5fb0cd!important;box-shadow:none!important}
.topbar-icon{color:#8fa0ae!important}
.topbar-icon:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
.topbar-user:hover{background:rgba(255,255,255,.06)!important}
.topbar-avatar{background:rgba(255,255,255,.14)!important;color:#e8edf2!important}
.topbar-user-name,.top-doctor-name{color:#e8edf2!important}
.topbar-caret,.top-doctor-crm{color:#8fa0ae!important}
.top .btn.small:not(.primary){background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#e8edf2}
.top .btn.small:not(.primary):hover{border-color:#5fb0cd;color:#fff}
.topbar-new{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
.topbar-new:hover{background:#1d6b8a!important;border-color:#1d6b8a!important}
body.dark-mode .topbar-search{background:rgba(255,255,255,.06)!important}
/* o menu ⋯ (dropdown) abre SOBRE o chrome escuro mas é papel claro — mantém tokens */
.top .dropdown-menu{background:var(--card);border-color:var(--line)}

/* ═══════════════════════════════════════════════════════════════════════════
   CARTÓGRAFO EM RELEVO — ronda 4 APROVADA (protótipo navegável, jul/2026)
   Zonas tonais + traço forte + colapsáveis novos + ponte obstétrica + marca
   tipográfica. Vence por ordem; !important onde disputa com o reskin/editorial.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --side:#dce2e7;          /* zona da sidebar (estruturas) */
  --formzone:#ebeef1;      /* zona do formulário */
  --mesa:#d3dae1;          /* mesa do laudo (a folha é a coisa mais clara) */
  --trace:#1a232c;         /* traço do cartógrafo */
  --headband:#eef2f4;      /* faixa de cabeçalho-carimbo */
  --off-sh:4px 4px 0 rgba(26,35,44,.08);
  --off-sh-lg:5px 5px 0 rgba(26,35,44,.09);
}
body.dark-mode{
  --side:#0f141a; --formzone:#161b23; --mesa:#0c1015;
  --trace:#3a4656; --headband:#20262f;
  --off-sh:4px 4px 0 rgba(0,0,0,.35);
  --off-sh-lg:6px 6px 0 rgba(0,0,0,.4);
}

/* ── Marca só tipográfica (decisão: sem o símbolo) ── */
.topbar-logo{display:none!important}
.login-mark{display:none!important}
.exam-bar-mark{display:none!important}

/* ── Zonas: sidebar · formulário · mesa do laudo ── */
body[data-view="exam"] .workspace-layout .exam-sidebar{background:var(--side)!important;border-color:var(--line)!important}
body[data-view="exam"] .workspace-layout .form-panel{background:var(--formzone)!important}
body[data-view="exam"] .workspace-layout .preview{background:var(--mesa)!important}
/* item ativo da sidebar = cartão branco + fio de agulha */
body[data-view="exam"] .workspace-layout .exam-nav-item.active{
  background:var(--card)!important;border-left:2px solid var(--needle)!important;
  border-radius:4px!important;padding:3px 8px!important;margin:0 -4px!important;
  color:var(--text)!important;box-shadow:0 1px 3px rgba(16,24,32,.12)}
body.dark-mode[data-view="exam"] .workspace-layout .exam-nav-item.active{background:var(--card)!important;color:var(--text)!important}

/* ── Traço do cartógrafo: estruturas e folha do laudo ── */
body[data-view="exam"] .workspace-layout .organ{
  border:1.5px solid var(--trace)!important;border-radius:4px!important;box-shadow:var(--off-sh)}
body[data-view="exam"] .workspace-layout .organ>.organ-head{
  background:var(--headband)!important;border-bottom:2px solid var(--trace)!important}
.doc{border:1.5px solid var(--trace)!important;border-radius:4px!important;box-shadow:var(--off-sh-lg)!important}
body.dark-mode .doc{border-color:#000!important}
/* pílulas: seleção NEUTRA (valor vazio = normal/ausente) permanece suave (regra do
   exam-theme, l.~3747); seleção de ACHADO vira preenchida de tinta (era âmbar vazado).
   A hierarquia clínica se mantém: normal quieto, achado forte, crítico vermelho. */
body[data-view="exam"] .workspace-layout .radio-pill.active:has(input:not([data-value=""])),
body[data-view="exam"] .workspace-layout .pill.active{
  background:var(--frame)!important;border-color:var(--frame)!important;color:#fff!important}
body.dark-mode[data-view="exam"] .workspace-layout .radio-pill.active:has(input:not([data-value=""])),
body.dark-mode[data-view="exam"] .workspace-layout .pill.active{
  background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-fg)!important}
/* órgão crítico mantém o vermelho semântico no achado selecionado */
body[data-view="exam"] .workspace-layout .organ.organ-critical .radio-pill.active:has(input:not([data-value=""])),
body.dark-mode[data-view="exam"] .workspace-layout .organ.organ-critical .radio-pill.active:has(input:not([data-value=""])){
  background:#b42318!important;border-color:#b42318!important;color:#fff!important}

/* ── Colapsáveis (ronda 4): sem caixa interna; gramática única ── */
body[data-view="exam"] .workspace-layout .organ .drawer{
  border:none!important;border-top:1px solid var(--line)!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important}
body[data-view="exam"] .workspace-layout .organ .drawer>summary,
body.dark-mode[data-view="exam"] .workspace-layout .organ .drawer>summary{
  background:transparent!important;padding:9px 14px!important;border-bottom:0!important}
body[data-view="exam"] .workspace-layout .organ .drawer[open]>summary,
body.dark-mode[data-view="exam"] .workspace-layout .organ .drawer[open]>summary{
  background:transparent!important;border-bottom:0!important}
body[data-view="exam"] .workspace-layout .organ .drawer>summary .hint{
  margin-left:auto;text-align:right;max-width:52%;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;color:var(--muted)!important;font-weight:500}
body[data-view="exam"] .workspace-layout .organ .drawer>summary.has-sel .hint{display:none}
.dr-sel{margin-left:auto;display:inline-flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.dr-chip{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;
  padding:2px 9px;font-size:11px;font-weight:700;white-space:nowrap}
.dr-chip.dr-more{background:var(--soft);color:var(--muted);border:1px solid var(--line)}
body.dark-mode .dr-chip{color:var(--accent)}
/* corpo aberto: fio de tinta prende a região; grupos viram linhas rótulo→opções */
body[data-view="exam"] .workspace-layout .organ .drawer>.drawer-body{
  border-left:2px solid var(--trace);margin:0 14px 12px 14px;padding:2px 0!important;
  gap:0!important;background:transparent!important;border-top:none}
body[data-view="exam"] .workspace-layout .organ .drawer .drawer-group{
  border:none!important;background:transparent!important;border-radius:0!important;
  padding:7px 0 7px 12px!important;display:grid;grid-template-columns:112px minmax(0,1fr);
  gap:8px;align-items:start;justify-items:start}
/* o gatilho do multi ("Cistos (2)") é um .pill — não deixa o grid esticá-lo */
body[data-view="exam"] .workspace-layout .organ .drawer .drawer-group>.pill{justify-self:start;width:auto}
body[data-view="exam"] .workspace-layout .organ .drawer .drawer-group>.conditional{grid-column:1/-1;justify-self:stretch}
body[data-view="exam"] .workspace-layout .organ .drawer .drawer-group + .drawer-group{
  border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)!important}
body[data-view="exam"] .workspace-layout .organ .drawer .drawer-title{margin:0!important;padding-top:4px}
/* subnível: linha indentada, nunca outra caixa */
body[data-view="exam"] .workspace-layout .organ .subdrawer,
body.dark-mode[data-view="exam"] .workspace-layout .organ .subdrawer{
  border:none!important;background:transparent!important;border-radius:0!important;
  border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)!important;margin-top:0!important}
body[data-view="exam"] .workspace-layout .organ .subdrawer>summary,
body.dark-mode[data-view="exam"] .workspace-layout .organ .subdrawer>summary{
  background:transparent!important;padding:7px 0 7px 12px!important;color:var(--text)!important}
body[data-view="exam"] .workspace-layout .organ .subdrawer-body{padding:0 0 7px 24px!important;background:transparent}
/* condicional (detalhar achado): sem tracejado — flui dentro do fio */
body[data-view="exam"] .workspace-layout .organ .conditional{
  border:none!important;background:transparent!important;border-radius:0!important;
  padding:4px 0 4px 12px!important;margin-top:2px!important}
/* ficha de achado numerada */
body[data-view="exam"] .workspace-layout .item-row{
  background:var(--soft)!important;border:1px solid var(--line)!important;border-radius:4px!important}
body[data-view="exam"] .workspace-layout .item-index{
  font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:10.5px;color:var(--muted)!important;
  background:var(--card);border:1px solid var(--line);border-radius:3px;text-align:center;padding:1px 0}
/* msk-drawer entra na mesma gramática */
body[data-view="exam"] .workspace-layout .organ .msk-drawer,
body.dark-mode[data-view="exam"] .workspace-layout .organ .msk-drawer{
  border:none!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important}
body[data-view="exam"] .workspace-layout .organ .msk-drawer>summary,
body.dark-mode[data-view="exam"] .workspace-layout .organ .msk-drawer>summary,
body[data-view="exam"] .workspace-layout .organ .msk-drawer[open]>summary,
body.dark-mode[data-view="exam"] .workspace-layout .organ .msk-drawer[open]>summary{
  background:transparent!important;border-bottom:0!important;padding:8px 14px!important}
body[data-view="exam"] .workspace-layout .organ .msk-group-body{
  border-left:2px solid var(--trace);margin:0 14px 12px 14px;padding:4px 0 4px 12px!important;background:transparent}
.msk-group-val{background:var(--accent-soft)!important;border:none!important;color:var(--accent-strong)!important;border-radius:999px!important;font-size:11px;font-weight:700}
body.dark-mode .msk-group-val{color:var(--accent)!important}
/* limitações técnicas (limbox): o tema violeta sai; entra o padrão neutro */
details.drawer.limbox{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:6px!important;box-shadow:none!important}
details.drawer.limbox>summary,details.drawer.limbox[open]>summary{
  background:var(--soft)!important;color:var(--text)!important;border-bottom:0!important}
details.drawer.limbox[open]>summary{border-bottom:1px solid var(--line)!important}
details.drawer.limbox[open]>summary .hint,details.drawer.limbox>summary .hint{color:var(--muted)!important;opacity:1}
details.drawer.limbox .drawer-body{background:var(--card)!important;border-top:none!important}
details.drawer.limbox .drawer-title,details.drawer.limbox .mini-label{color:var(--muted)!important}
details.drawer.limbox .pill{border-color:var(--line)!important;background:var(--card)!important}
details.drawer.limbox .pill:hover{border-color:var(--accent)!important;color:var(--accent)!important}
details.drawer.limbox .pill.active{background:var(--frame)!important;border-color:var(--frame)!important;color:#fff!important}
body.dark-mode details.drawer.limbox .pill.active{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-fg)!important}

/* ── Home e catálogo: traço nos cartões, régua nas seções, painel lateral em zona ── */
.cg-card,.cf-card,.home-exam-card,.ex-card{border:1.5px solid var(--trace)!important;border-radius:4px!important;box-shadow:var(--off-sh)!important}
.ex-card:hover{border-color:var(--accent)!important;transform:none;box-shadow:var(--off-sh)!important}
/* selos de família saem do arco-íris pastel — tinta sobre papel, como todo o resto */
.ex-tag-fam,body.dark-mode .ex-tag-fam{color:var(--muted)!important;background:var(--soft)!important;border:1px solid var(--line)}
.cr-tag,body.dark-mode .cr-tag,.home-fam-head,body.dark-mode .home-fam-head{color:var(--muted)!important}
.central-sec-head{border-bottom:2px solid var(--trace)}
.central-search input,.home-search input{border:1.5px solid var(--trace)!important;border-radius:4px!important;box-shadow:var(--off-sh)}
.cr-panel,.central-recents{background:var(--side)!important;border:1px solid var(--line)!important;border-radius:6px!important}
body.dark-mode .cg-card,body.dark-mode .cf-card,body.dark-mode .home-exam-card{border-color:var(--trace)!important}

/* ── Configurações e tabelas: cabeçalho-carimbo ── */
.config-card,.cfg-sec{border:1.5px solid var(--trace)!important;border-radius:4px!important;box-shadow:var(--off-sh)}
.config-card>h2{background:var(--headband)!important;border-bottom:2px solid var(--trace)!important;
  text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800}
.um-table th{background:var(--headband)!important;border-bottom:2px solid var(--trace)!important}

/* ── Login: cartão com traço sobre grade de meridianos ── */
.login-view{background:var(--bg) !important;background-image:
  repeating-linear-gradient(to right,transparent 0 119px,rgba(26,35,44,.05) 119px 120px),
  repeating-linear-gradient(to bottom,transparent 0 119px,rgba(26,35,44,.05) 119px 120px)!important}
body.dark-mode .login-view{background-image:
  repeating-linear-gradient(to right,transparent 0 119px,rgba(219,228,238,.05) 119px 120px),
  repeating-linear-gradient(to bottom,transparent 0 119px,rgba(219,228,238,.05) 119px 120px)!important}
.login-card{border:1.5px solid var(--trace)!important;border-top:1.5px solid var(--trace)!important;
  border-radius:4px!important;box-shadow:var(--off-sh-lg)!important}

/* ═══ PONTE OBSTÉTRICA — cada peça obst-* na gramática nova (checklist ronda 4) ═══ */
/* seções viram tipografia (versalete + fio), sem caixa própria */
body[data-view="exam"] .workspace-layout .obst-section,
body.dark-mode[data-view="exam"] .workspace-layout .obst-section{
  border:none!important;background:transparent!important;border-radius:0!important}
body[data-view="exam"] .workspace-layout .obst-section-title,
body.dark-mode[data-view="exam"] .workspace-layout .obst-section-title{
  display:flex;align-items:center;gap:10px;color:var(--muted)!important;
  text-transform:uppercase!important;letter-spacing:.1em!important;font-size:10.5px!important;font-weight:800!important}
body[data-view="exam"] .workspace-layout .obst-section-title::after{content:'';flex:1;height:1px;background:var(--line)}
/* subcards deixam de ser caixas */
body[data-view="exam"] .workspace-layout .obst-subcard,
body.dark-mode[data-view="exam"] .workspace-layout .obst-subcard{
  border:none!important;border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)!important;
  background:transparent!important;border-radius:0!important;box-shadow:none!important}
body[data-view="exam"] .workspace-layout .obst-subcard-head,
body.dark-mode[data-view="exam"] .workspace-layout .obst-subcard-head{
  background:transparent!important;border:none!important}
/* bloco de resultado: fio de tinta + valores tabulares (IG · DPP · PFE · percentil) */
body[data-view="exam"] .workspace-layout .obst-result,
body.dark-mode[data-view="exam"] .workspace-layout .obst-result{
  border:none!important;border-left:2px solid var(--trace)!important;
  background:var(--headband)!important;border-radius:0 4px 4px 0!important}
body[data-view="exam"] .workspace-layout .obst-result b{font-variant-numeric:tabular-nums}
/* chips e badges obst = chips de seleção do sistema */
body[data-view="exam"] .workspace-layout .obst-chip,
body.dark-mode[data-view="exam"] .workspace-layout .obst-chip{
  background:var(--accent-soft)!important;border:none!important;color:var(--accent-strong)!important;
  border-radius:999px!important;font-weight:700!important}
body.dark-mode[data-view="exam"] .workspace-layout .obst-chip{color:var(--accent)!important}
/* abas DUM/1º exame e Feto 1/Feto 2: controle segmentado de tinta */
body[data-view="exam"] .workspace-layout .ig-ref-tab.active,
body.dark-mode[data-view="exam"] .workspace-layout .ig-ref-tab.active,
body[data-view="exam"] .workspace-layout .gemeo-tab.active,
body.dark-mode[data-view="exam"] .workspace-layout .gemeo-tab.active{
  background:var(--frame)!important;border-color:var(--frame)!important;color:#fff!important}
body.dark-mode[data-view="exam"] .workspace-layout .ig-ref-tab.active,
body.dark-mode[data-view="exam"] .workspace-layout .gemeo-tab.active{
  background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-fg)!important}
body[data-view="exam"] .workspace-layout .obst-head,
body.dark-mode[data-view="exam"] .workspace-layout .obst-head{
  background:var(--headband)!important;color:var(--text)!important;border-color:var(--line)!important}
