/* layout-modelos.css — Layout da tela do exame (out/2026): "Compass | Editor de texto".
   Vale com body[data-layout="m4"] (js/layout-modelos.js põe o atributo ao montar). Tokens do tema.
   LARGURA (22/out/2026): só a ESTRUTURA de duas colunas (faixa de estruturas, Compass | Editor, laudo ao vivo ao lado,
   coluna de ações, modo focado) fica sob @media(min-width:1001px). A PELE (grade de cartões, cabeçalhos, identificação,
   seletores, rodadas 9–19 e css/layout-f.css) vale em qualquer largura: abaixo de 1001 px o exame cai no modo de abas do
   style.css (uma coluna) com a mesma cara — antes, zoom de 150 % num notebook de 1366 px (911 px CSS) mostrava a pele antiga. */

@media(min-width:1001px){
/* ── Base: sem a coluna esquerda; uma coluna só ─────────────────────────────────────────────── */
body[data-view="exam"][data-layout="m4"] #workspace.workspace-layout{grid-template-columns:minmax(0,1fr);align-content:start}
body[data-view="exam"][data-layout="m4"] #examSidebar,body[data-view="exam"][data-layout="m4"] #examNavHandle,body[data-layout="m4"] #workspaceSplit{display:none!important}
body[data-layout="m4"] .exam-nav-collapse{display:none!important}
body[data-layout="m4"] #workspace .form-panel{border-left:1px solid var(--lu-border,#d9e1ec)!important;border-right:1px solid var(--lu-border,#d9e1ec)!important}
body[data-layout="m4"] #workspace aside.preview,body[data-layout="m4"] #lmActions{display:none!important}
/* "Mais ações" da barra some: as opções moram na coluna do Editor; o cluster do cabeçalho do laudo também (sem repetir) */
body[data-layout="m4"] #examMoreBtn,body[data-layout="m4"] .report-cluster{display:none!important}

/* ── Faixa de estruturas: fixa sob a barra, sem título, chips que quebram linha (sem rolagem lateral) ─ */
body[data-layout="m4"] #lmStrip{grid-column:1/-1;position:sticky;top:calc(var(--top-h) + var(--lm-bar-h,52px));z-index:var(--z-faixa);background:var(--card);border-bottom:1px solid var(--line);padding:6px 12px;box-shadow:0 6px 14px -12px rgba(16,43,53,.45);min-height:40px}
/* faixa numa linha só, rolando na horizontal (com 18 chips ela quebrava em 3 linhas: barras fixas = 24 % da tela; SH-04a) */
body[data-layout="m4"] #lmStrip #examNav{display:flex!important;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px;position:static;max-height:none;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;background:transparent!important;border:0!important;padding:0;margin:0;min-width:0}
body[data-layout="m4"] #lmStrip #examNav::-webkit-scrollbar{display:none}
body[data-layout="m4"] #lmStrip #examNav.lm-rola-d{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
body[data-layout="m4"] #lmStrip #examNav.lm-rola-e{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px);mask-image:linear-gradient(90deg,transparent,#000 36px)}
body[data-layout="m4"] #lmStrip #examNav.lm-rola-e.lm-rola-d{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
body[data-layout="m4"] #lmStrip .exam-nav-title{display:none!important}
/* UX-06: setas da faixa — só quando há estrutura escondida daquele lado (as classes lm-rola-e/-d já ligam o degradê) */
body[data-layout="m4"] #lmStrip .lm-strip-seta{display:none;position:absolute;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:var(--r-pill);border:1px solid var(--field-line);background:var(--card);color:var(--text);font-size:16px;line-height:1;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 2px 6px -2px rgba(10,20,26,.25)}
body[data-layout="m4"] #lmStrip .lm-strip-e{left:4px}
body[data-layout="m4"] #lmStrip .lm-strip-d{right:4px}
body[data-layout="m4"] #lmStrip #examNav.lm-rola-e~.lm-strip-e,body[data-layout="m4"] #lmStrip #examNav.lm-rola-d~.lm-strip-d{display:inline-flex}
body[data-layout="m4"] #lmStrip .lm-strip-seta:hover{border-color:var(--accent);color:var(--accent)}
body[data-layout="m4"] #lmStrip .exam-nav-item{width:auto;flex:0 0 auto;display:inline-flex!important;align-items:center;gap:6px;border:1px solid var(--line)!important;border-left-width:1px!important;border-radius:var(--r-pill)!important;padding:3px 10px 3px 8px!important;margin:0;background:var(--card)!important;color:var(--muted)!important;font-size:11.5px!important;white-space:nowrap;min-height:26px!important;line-height:1.2}
body[data-layout="m4"] #lmStrip .exam-nav-item:hover{border-color:var(--accent)!important;color:var(--accent)!important}
body[data-layout="m4"] #lmStrip .exam-nav-item.active{background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent)!important;box-shadow:none}
body[data-layout="m4"] #lmStrip .exam-nav-pend{width:auto!important;flex:0 0 auto;margin:0 4px 0 0!important;border-radius:var(--r-pill)!important;padding:3px 10px!important;min-height:26px!important}
/* navegar para uma estrutura: o título para abaixo das barras fixas */
body[data-layout="m4"] #form .organ,body[data-layout="m4"] #form .obst-section,body[data-layout="m4"] #form section.patient{scroll-margin-top:calc(var(--top-h) + var(--lm-bar-h,52px) + var(--lm-strip-h,40px) + 10px)}

/* ── Controle Compass | Editor na barra do exame ─────────────────────────────────────────────── */
#lmMode{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);background:var(--soft,#f1f5f9);flex:0 0 auto;margin:0 4px}
.lm-mode-btn{position:relative;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:5px 12px;font-weight:700;font-size:12px;line-height:1;font-family:inherit;color:var(--muted);cursor:pointer;white-space:nowrap}
.lm-mode-btn svg{width:13px;height:13px}
.lm-mode-btn:hover{color:var(--text)}
.lm-mode-btn.active{background:var(--accent-fill);color:#fff;box-shadow:0 2px 6px rgba(15,23,42,.18)}
.lm-badge{min-width:17px;height:17px;padding:0 5px;border-radius:var(--r-pill);background:var(--soft,#e2e8f0);color:var(--muted);font-size:var(--fs-xs,11px);font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1;border:1px solid transparent}
.lm-mode-btn.active .lm-badge{background:rgba(255,255,255,.22);color:#fff}
.lm-badge[hidden]{display:none}
.lm-badge-pend{background:#fff1e0;color:#8a4300;border-color:var(--pend-line)}
body.dark-mode .lm-badge-pend{background:#3a2410;color:#fdba74;border-color:var(--alt)}
/* rótulos "Compass" / "Editor de texto" visíveis a partir de 1380 px (era só 1501–1699 e ≥1850: em 1440, a largura
   principal, a troca de tela mais importante do produto era só ícone — SH-09). Para caber, o selo de revisão
   mostra só ícone + contagem abaixo de 1800 px. */
@media(max-width:1379px){.lm-mode-btn span:not(.lm-badge){display:none}.lm-mode-btn{padding:5px 9px}}
/* se ainda não couber (exame com seletor de modo, nome longo, selo de revisão), layout-modelos.js ajustarBarra() cede
   por etapas: lm-ap1 texto do selo · lm-ap2 rótulos das ferramentas · lm-ap3 rótulos Compass/Editor */
body[data-layout="m4"] .exam-bar.lm-ap1 #reviewStatusBand .rf-title{display:none}
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap2 #examToolbarDock .toolbar .btn:not(.tb-main) .btn-lbl,body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap2 .exam-bar-switch .btn-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap2 #examToolbarDock .toolbar .btn:not(.tb-main),body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap2 .exam-bar-switch{padding:0 9px!important;gap:0!important}
body[data-layout="m4"] .exam-bar.lm-ap3 .lm-mode-btn span:not(.lm-badge){display:none}
body[data-layout="m4"] .exam-bar.lm-ap3 .lm-mode-btn{padding:5px 9px}
/* barra do exame com uma altura de controle (SH-10): segmentado 36 px (botões 30) e raio 8, como as ferramentas */
#lmMode{border-radius:var(--r-card);min-height:36px;align-items:center}
.lm-mode-btn{border-radius:var(--r-card);min-height:30px}
/* a barra do exame tem de caber de 1120 a 1920 px com o controle Compass | Editor: o nome do exame cede (reticências) e o "+ Identificação" encolhe primeiro */
body[data-view="exam"][data-layout="m4"] .exam-bar .exam-bar-ex{flex:0 1 auto;min-width:120px;overflow:hidden}
@media(max-width:1280px){body[data-view="exam"][data-layout="m4"] .exam-bar .exam-bar-ex{min-width:96px}body[data-layout="m4"] #lmMode{margin:0 1px}}
body[data-view="exam"][data-layout="m4"] .exam-bar .exam-bar-ex #examBarName{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-view="exam"][data-layout="m4"] .exam-bar .exam-bar-pat{flex-shrink:1000;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

}
/* ── Grade de cartões: 12 colunas, posições explícitas (grid-column/grid-row pelo JS), linhas de 2 px ── */
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:2px;grid-auto-flow:row;gap:0 8px;padding:0 8px;align-items:start;overflow:visible;margin-bottom:0!important}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>*{grid-column:1/-1;min-width:0;align-self:start}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.organ-head,body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.obst-section-title{margin:0 -8px 0}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow){display:block!important;grid-template-columns:1fr!important;margin:0!important;padding:0!important;gap:0!important;border:1px solid var(--line)!important;border-radius:var(--r-card)!important;background:var(--card)!important;overflow:clip;box-shadow:0 1px 2px rgba(15,23,42,.04)}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow)>.inline-options{margin:7px 8px;width:auto!important;display:flex;flex-wrap:wrap;gap:4px!important;align-items:flex-start}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow)>details{margin:0 8px 8px;width:auto}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow)>.inline-options:empty{display:none}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow)>.inline-options:empty+details{margin-top:8px}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro.micro-free{margin:0!important;padding:0!important}
/* pílulas compactas dentro do cartão */
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow) .radio-grid{display:flex!important;flex-wrap:wrap;gap:4px;grid-template-columns:none!important;width:100%}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow) .radio-grid>*{flex:0 1 auto!important;width:auto!important;min-width:0}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow) .measure-line{flex:1 1 100%}
/* antes do JS diagramar: linhas automáticas (sem sobreposição) */
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section):not(.lm-packed){grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-auto-rows:auto;row-gap:8px}
/* 2º nível: estruturas no #form e nos painéis obstétricos */
body[data-view="exam"][data-layout="m4"] .workspace-layout #form,body[data-view="exam"][data-layout="m4"] .workspace-layout #form :is(.obst-panel,.obst-friendly){display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-rows:2px;grid-auto-flow:row;row-gap:0;column-gap:8px;align-items:start;padding-top:0!important;padding-bottom:0!important}
body[data-view="exam"][data-layout="m4"] .workspace-layout #form>*,body[data-view="exam"][data-layout="m4"] .workspace-layout #form :is(.obst-panel,.obst-friendly)>*{grid-column:1/-1;min-width:0;align-self:start}
body[data-view="exam"][data-layout="m4"] .workspace-layout #form:not(.lm-packed),body[data-view="exam"][data-layout="m4"] .workspace-layout #form :is(.obst-panel,.obst-friendly):not(.lm-packed){grid-auto-rows:auto;row-gap:8px!important}

/* ── Cabeçalhos de estrutura, iguais em todos os exames: normal = azul (acento), alterada = laranja, crítica = vermelha ── */
/* TK-16: fundo transparente (o branco translúcido clareava o teal e o texto ficava em 4,47:1; agora ≈6:1) */

/* achados / achados rápidos abaixo do formulário */
#lmSide{display:grid;gap:8px;padding:8px 8px 0}
#lmSide:empty{display:none}

@media(min-width:1001px){
/* ── Laudo ao vivo retrátil na tela Compass: coluna à direita (sticky), recolhe para uma aba na borda ── */
/* divisão FIXA 3/4 formulário · 1/4 laudo (27/out): a largura ajustável desorganizava a diagramação do formulário */
body[data-view="exam"][data-layout="m4"] #workspace.lm-laudo-aberto.workspace-layout{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}
/* topo do painel = abaixo da faixa de estruturas (que ocupa as duas colunas); sem a faixa o cabeçalho sumia sob ela (aval. 09/out, SH-01) */
body[data-view="exam"][data-layout="m4"] #workspace.lm-laudo-aberto aside.preview{display:block!important;position:sticky;top:calc(var(--top-h) + var(--lm-bar-h,52px) + var(--lm-strip-h,40px));align-self:start;max-height:calc(100vh - var(--top-h) - var(--lm-bar-h,52px) - var(--lm-strip-h,40px));overflow:auto;border-left:1px solid var(--lu-border,#d9e1ec)!important;padding-left:14px}
body[data-layout="m4"] #workspace.lm-laudo-aberto #lmStrip{grid-column:1/-1}
/* alça esquerda: faixa de 14 px com o botão de recolher no topo (sem arrastar: a largura é fixa) */
#lmPeekHandle{position:absolute;left:0;top:0;bottom:0;width:14px;background:var(--soft,#f1f5f9);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:6px;z-index:7}
#lmPeekHandle .lm-peek-btn{width:22px;height:30px;margin-left:8px;border:1px solid var(--line);border-radius:0 var(--r-card) var(--r-card) 0;background:var(--card);color:var(--accent);cursor:pointer;font-weight:900;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0 0 2px;font-family:inherit;box-shadow:2px 0 6px rgba(15,23,42,.08)}
#lmPeekHandle .lm-peek-btn:hover{background:var(--accent-fill);color:#fff;border-color:var(--accent-fill)}
body[data-view="exam"][data-layout="m4"] #workspace.lm-laudo-aberto aside.preview{position:sticky}
/* cabeçalho do painel numa linha só: título · exame · [espaço] · palavras · status · Aa · cadeado */
.lm-peek-head{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 8px;border-bottom:1px solid var(--line);background:var(--soft,#f1f5f9);position:sticky;top:0;z-index:6;min-height:36px;flex-wrap:nowrap;overflow:hidden}
body[data-view="exam"][data-layout="m4"] #workspace.lm-laudo-aberto aside.preview{container-type:inline-size}
.lm-peek-head #rtbExamChip{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lm-peek-head #saveStatus{max-width:160px;overflow:hidden;text-overflow:ellipsis}
@container (max-width:640px){.lm-peek-head #wordCount{display:none!important}}
@container (max-width:520px){.lm-peek-head #rtbExamChip{display:none!important}}
.lm-peek-head[hidden]{display:none}
.lm-peek-title{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);white-space:nowrap}
.lm-peek-title svg{width:14px;height:14px}
.lm-peek-slot{display:inline-flex;align-items:center;min-width:0;overflow:hidden}
/* status de salvamento já está na barra do exame — no painel ele duplicava e encavalava com as palavras (aval. 09/out, SH-03) */
.lm-peek-head .lm-peek-slot[data-slot="save"]{display:none!important}
.lm-peek-head #wordCount{overflow:hidden;text-overflow:ellipsis}
.lm-peek-slot:empty{display:none}
.lm-peek-spacer{flex:1 1 auto}
.lm-peek-head #wordCount{display:inline!important;margin:0;font-size:var(--fs-xs,11px);color:var(--muted);font-weight:600;white-space:nowrap}
/* a regra acima (display:inline!important) anulava o @container de 640 px: na coluna de 1/4 o contador ficava sob os botões */
@container (max-width:640px){.lm-peek-head #wordCount{display:none!important}}
.lm-peek-head #saveStatus{font-size:var(--fs-xs,11px);white-space:nowrap}
.lm-peek-head #rtbExamChip{font-size:var(--fs-xs,11px)}
.lm-peek-head .lock-toggle .lock-label{display:none}
.lm-pend{height:22px;padding:0 9px;border:1px solid var(--pend-line);border-radius:var(--r-pill);background:var(--pend-soft);color:var(--pend-ink);font-weight:800;font-size:var(--fs-xs,11px);cursor:pointer;font-family:inherit;white-space:nowrap}
.lm-pend:hover{background:#ffeecb;border-color:#e0a94a}
.lm-pend[hidden]{display:none}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-meta>div.lm-go{cursor:pointer;border-radius:var(--r-ctl)}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-meta>div.lm-go:hover{color:var(--accent);text-decoration:underline dotted}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-meta>div.lm-ident-add{color:var(--muted);font-weight:600;border:1px dashed var(--line);padding:2px 8px;border-radius:var(--r-pill);flex:0 0 auto}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-meta>div.lm-ident-add:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}
.lm-zoom{display:inline-flex;gap:0}
.lm-zoom .lm-peek-fmt{border-radius:0;padding:0 7px;font-size:11px}
.lm-zoom .lm-peek-fmt:first-child{border-radius:6px 0 0 6px}
.lm-zoom .lm-peek-fmt:last-child{border-radius:0 6px 6px 0;margin-left:-1px}
/* zoom só na tela (não altera a fonte impressa): corpo e cabeçalho do documento */
body[data-layout="m4"] #workspace aside.preview #doc,body[data-layout="m4"] #workspace aside.preview #reportHeaderBox{zoom:var(--lm-zoom,1)}

/* índice de estruturas do laudo (sob Descrição · Hipótese) */
.lm-doc-orgs{display:flex;flex-wrap:wrap;gap:3px;margin:0 0 6px}
.lm-doc-orgs[hidden]{display:none}
.lm-doc-org{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:var(--muted);padding:2px 8px 2px 6px;font-size:var(--fs-xs,11px);font-weight:600;cursor:pointer;font-family:inherit;line-height:1.3;min-height:24px} /* UX-27: alvo ≥ 24 px (era 20) */
.lm-doc-org .nav-dot{width:6px;height:6px}
.lm-doc-org:hover{border-color:var(--accent);color:var(--accent)}
.lm-doc-org.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.lm-peek-fmt{height:24px;padding:0 8px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card);color:var(--muted);font-weight:800;font-size:11.5px;cursor:pointer;font-family:inherit}
.lm-peek-fmt:hover{color:var(--accent);border-color:var(--accent)}
.lm-peek-fmt.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}
/* 29/out/2026: seletor da unidade das medidas deste laudo — mesma forma dos botões A−/A+/Aa; sem seta nativa, texto centrado */
select.lm-unid{appearance:none;-webkit-appearance:none;text-align:center;text-align-last:center;padding:0 6px;width:54px;min-width:0;flex:0 0 auto;line-height:22px}
.lm-act-unid select.lm-unid{margin-left:auto}
/* o que a linha única substitui: título "Corpo do laudo", linha de status, aviso "Edição liberada", dica "seções" */
body[data-layout="m4"] #workspace aside.preview>h2.report-title-bar,body[data-layout="m4"] #workspace aside.preview .report-status-row,body[data-layout="m4"] #workspace aside.preview .edit-status,body[data-layout="m4"] #workspace aside.preview .doc-index-hint{display:none!important}
body[data-layout="m4"] #workspace aside.preview .panel-body{padding:4px 10px 0!important}
/* cabeçalho do documento: título → técnica → identificação, sem linhas vazias; limitações em destaque; data discreta.
   Sem margem: cabeçalho e corpo formam UMA folha contínua, sem vão nem degrau entre eles (27/out) */
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox{display:flex!important;flex-direction:column;gap:3px;padding:8px 12px 7px;margin:0}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-exam-title{order:0;margin:0}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-technique{order:1;margin:0 0 2px}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-meta{order:2;margin:0;display:flex!important;flex-wrap:wrap;gap:2px 14px;font-size:var(--fs-xs,11px);line-height:1.35}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-meta:empty{display:none}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-meta>div{margin:0}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-meta>div.lm-data{color:var(--muted);order:9}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-meta>div.lm-lim{flex:1 1 100%;order:10;margin-top:3px;padding:5px 9px;border:1px solid var(--pend-line);border-radius:var(--r-card);background:var(--pend-soft);color:var(--pend-ink);font-weight:600}
body[data-layout="m4"] #workspace aside.preview #reportHeaderBox .report-meta>div.lm-lim::before{content:'\26A0  ';font-weight:800}
body[data-layout="m4"] #workspace aside.preview #doc{padding-top:4px;padding-left:12px!important;padding-right:12px!important} /* mesmas margens laterais do cabeçalho: a folha lê como uma só (27/out); vence o 30px!important de style.css; o Editor tem regra própria */
#lmPeekTab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:var(--z-aba-laudo);display:flex;flex-direction:column;align-items:center;gap:6px;width:40px;padding:12px 0;border:1px solid var(--line);border-right:0;border-radius:10px 0 0 10px;background:var(--card);color:var(--accent);box-shadow:-6px 0 18px rgba(15,23,42,.14);cursor:pointer;font-family:inherit}
#lmPeekTab[hidden]{display:none}
#lmPeekTab svg{width:18px;height:18px}
#lmPeekTab>span:not(.lm-badge){writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:800;letter-spacing:.05em}
#lmPeekTab:hover{background:var(--accent-soft)}

/* ── Tela do Editor: UMA folha A4 (210 mm, margens e corpo do impresso — out/2026, decisão do médico) + coluna de ações,
   centradas JUNTAS (antes a folha centrava no que sobrava e o vão até a coluna crescia com a tela — SH-06/SH-07) ── */
body[data-view="exam"][data-layout="m4"] #workspace.lm-mode-editor.workspace-layout{overflow-anchor:none;grid-template-columns:minmax(0,210mm) 236px!important;justify-content:center;column-gap:24px!important;background:var(--bg)!important;border-left:0!important;border-right:0!important}
body[data-layout="m4"] #workspace.lm-mode-editor .form-panel,body[data-layout="m4"] #workspace.lm-mode-editor #lmStrip,body[data-layout="m4"] #workspace.lm-mode-editor #lmSide,body[data-layout="m4"] #workspace.lm-mode-editor #lmPeekHandle{display:none!important}
body[data-layout="m4"] #workspace.lm-mode-editor aside.preview{padding-left:0!important}
body[data-view="exam"][data-layout="m4"] #workspace.lm-mode-editor aside.preview{display:block!important;position:static!important;max-height:none!important;overflow:visible!important;max-width:210mm;width:100%;margin:16px 0 32px;border:1px solid var(--line)!important;border-radius:var(--r-pop)!important;box-shadow:0 12px 36px rgba(15,23,42,.10)!important;align-self:start;background:var(--doc-paper,#fff)!important}
body[data-layout="m4"] #workspace.lm-mode-editor aside.preview .panel-body{padding:0!important;background:transparent!important;overflow:visible!important}
/* ferramentas do documento num bloco só, fixo no alto da folha (no painel ao lado do Compass, abaixo do cabeçalho do painel) */
body[data-layout="m4"] #workspace aside.preview #lmDocTools{position:sticky;top:36px;z-index:7;display:flex;flex-direction:column;gap:5px;padding:6px 12px;background:var(--soft,#f1f5f9);border-bottom:1px solid var(--line)}
body[data-layout="m4"] #workspace.lm-mode-editor aside.preview #lmDocTools{top:calc(var(--top-h) + var(--lm-bar-h,52px));border-radius:var(--r-pop) var(--r-pop) 0 0;padding:8px 16px}
body[data-layout="m4"] #workspace aside.preview #lmDocTools:empty{display:none}
body[data-layout="m4"] #workspace aside.preview #lmDocTools #docIndex{position:static;margin:0;padding:0;background:transparent!important;border:0}
body[data-layout="m4"] #workspace aside.preview #lmDocTools .lm-doc-orgs{margin:0}
body[data-layout="m4"] #workspace aside.preview #lmDocTools #wordToolbar{margin:0;padding:5px 0 0!important;border:0!important;border-top:1px dashed var(--line)!important}
body[data-layout="m4"] #workspace aside.preview #lmDocTools #wordToolbar.fmt-collapsed{display:none!important}
/* a identificação do paciente, quando está no Editor: faixa logo abaixo das ferramentas, antes da folha */
body[data-layout="m4"] #workspace aside.preview #identBox.lm-ident-editor{margin:0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:var(--soft,#f1f5f9)!important;box-shadow:none!important}
body[data-layout="m4"] #workspace aside.preview #identBox.lm-ident-editor>summary{padding:8px 16px!important}
body[data-layout="m4"] #workspace aside.preview #identBox.lm-ident-editor .ident-box-body{padding:4px 16px 14px!important;background:transparent!important}
body[data-layout="m4"] #workspace aside.preview #identBox.lm-ident-editor .privacy-note{display:none!important}
/* a folha: cabeçalho e corpo são o MESMO papel — sem caixa dentro de caixa */
body[data-layout="m4"] #workspace.lm-mode-editor aside.preview #reportHeaderBox{border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--doc-paper,#fff)!important;margin:0!important;padding:var(--print-my,1.8cm) var(--print-mx,1.7cm) 0!important}
body[data-layout="m4"] #workspace.lm-mode-editor aside.preview #reportHeaderBox .report-meta{font-size:11.5px}
body[data-layout="m4"] #workspace.lm-mode-editor aside.preview #doc{border:0!important;border-radius:0 0 var(--r-pop) var(--r-pop)!important;box-shadow:none!important;background:var(--doc-paper,#fff)!important;padding:12px var(--print-mx,1.7cm) var(--print-my,1.8cm)!important;min-height:60vh}
/* índice "Descrição · Hipótese": a seção para abaixo do bloco fixo de ferramentas (scroll-padding já cobre as barras) */
body[data-layout="m4"] #workspace.lm-mode-editor aside.preview #doc .report-section-label,body[data-layout="m4"] #workspace.lm-mode-editor aside.preview #doc .report-hypothesis-title,body[data-layout="m4"] #workspace.lm-mode-editor aside.preview #doc .report-references-title,body[data-layout="m4"] #workspace.lm-mode-editor aside.preview #doc .report-organ{scroll-margin-top:calc(var(--lm-tools-h,0px) + 12px)}
/* coluna de ações */
body[data-layout="m4"] #workspace.lm-mode-editor #lmActions{display:flex!important;flex-direction:column;gap:14px;padding:16px 12px 24px;border-left:1px solid var(--lu-border,#d9e1ec);background:var(--card);position:sticky;top:calc(var(--top-h) + var(--lm-bar-h,52px));align-self:start;max-height:calc(100vh - var(--top-h) - var(--lm-bar-h,52px) - 100px);overflow:auto;box-sizing:border-box}
.lm-act-group{display:flex;flex-direction:column;gap:1px}
.lm-act-group[hidden]{display:none}
.lm-act-title{font-size:var(--fs-xs,11px);font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:0 8px 5px}
.lm-act{display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:6px 8px;border-radius:var(--r-card);font-weight:600;font-size:12.5px;line-height:1.2;font-family:inherit;color:var(--text);cursor:pointer;text-align:left;width:100%;min-height:30px;box-sizing:border-box}
.lm-act[hidden]{display:none}
.lm-act-ico{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;color:var(--muted);flex:0 0 auto}
.lm-act-ico svg{width:15px;height:15px}
.lm-act-txt{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lm-act kbd{font-family:inherit;font-size:var(--fs-xs,11px);font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-ctl);padding:1px 5px;background:var(--soft,#f1f5f9);line-height:1.3}
.lm-act:hover{background:var(--accent-soft);color:var(--accent)}
.lm-act:hover .lm-act-ico{color:var(--accent)}
.lm-act-main{gap:6px}
.lm-act-main .lm-act{border:1px solid var(--line);background:var(--card);min-height:36px;font-weight:700;border-radius:var(--r-pop)}
.lm-act-main .lm-act:first-child{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff}
.lm-act-main .lm-act:first-child .lm-act-ico{color:#fff}
.lm-act-main .lm-act:first-child kbd{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.14)}
.lm-act-main .lm-act:first-child:hover{filter:brightness(1.06);color:#fff}
.lm-act-main .lm-act:not(:first-child):hover{border-color:var(--accent)}
.lm-act-sw{width:26px;height:14px;border-radius:var(--r-pill);background:#cbd5e1;position:relative;flex:0 0 auto;transition:background .15s}
.lm-act-sw::after{content:'';position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#fff;transition:left .15s}
.lm-act.active .lm-act-sw{background:var(--accent)}
.lm-act.active .lm-act-sw::after{left:14px}
.lm-act-zoom{justify-content:space-between;cursor:default}
.lm-act-zoom:hover{background:transparent;color:var(--text)}
.lm-act-zoom:hover .lm-act-ico{color:var(--muted)}
.lm-act-zoom .lm-zoom{margin-left:auto}
.lm-act-danger{margin-top:4px;padding-top:12px;border-top:1px solid var(--line)}
.lm-act.danger{color:var(--crit)}
.lm-act.danger .lm-act-ico{color:var(--crit)}
.lm-act.danger:hover{background:var(--crit-soft);color:var(--crit-ink)}

}
/* ── Estruturas: o NOME fica laranja quando a estrutura tem alteração no laudo (vermelho quando crítica) ── */
.exam-nav-item.nav-st-alterado .exam-nav-label,.lm-doc-org.nav-st-alterado{color:var(--alt-2)!important;font-weight:700}
.exam-nav-item.nav-st-urgente .exam-nav-label,.lm-doc-org.nav-st-urgente,.exam-nav-item.nav-st-critico .exam-nav-label,.lm-doc-org.nav-st-critico{color:var(--crit)!important;font-weight:700!important}
body[data-layout="m4"] #lmStrip .exam-nav-item.nav-st-alterado{border-color:var(--alt-line)!important;background:var(--alt-soft)!important}
body[data-layout="m4"] #lmStrip .exam-nav-item.nav-st-alterado.active{border-color:var(--alt-2)!important;background:#ffedd5!important}
body[data-layout="m4"] #lmStrip .exam-nav-item.nav-st-urgente,body[data-layout="m4"] #lmStrip .exam-nav-item.nav-st-critico{border-color:var(--crit-line)!important;background:var(--crit-soft)!important}
body[data-layout="m4"] #lmStrip .exam-nav-item.nav-st-urgente.active,body[data-layout="m4"] #lmStrip .exam-nav-item.nav-st-critico.active{border-color:var(--crit)!important;background:var(--crit-bg)!important}
.lm-doc-org.nav-st-alterado{border-color:var(--alt);background:var(--alt-soft)} /* UX-27: contorno ≥ 3:1 (o --alt-line dava 1,55:1) */
.lm-doc-org.nav-st-urgente,.lm-doc-org.nav-st-critico{border-color:var(--crit-line);background:var(--crit-soft)}

/* ── Identificação do paciente: cabeçalho com ícone e resumo, grade com respiro, campos alinhados ── */
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-box>summary{grid-template-columns:26px max-content minmax(0,1fr) 14px;gap:10px;padding:0 12px 0 10px;min-height:40px}
body[data-layout="m4"] .ident-box .ib-ico{display:inline-flex;width:26px;height:26px;border-radius:var(--r-card);background:var(--accent-soft);color:var(--accent);align-items:center;justify-content:center;flex:0 0 auto}
body[data-layout="m4"] .ident-box .ib-ico svg{width:15px;height:15px}
body[data-layout="m4"] .ident-box .ib-info{font-size:11.5px}
body[data-layout="m4"] .ident-box.ib-filled .ib-info{color:var(--text);font-weight:600}
/* 2.ª coluna com piso de 140 px (22/out/2026): é a coluna da DATA do exame, que tem piso de 140 px (senão mostra "mm/c") — com 110 px
   o campo invadia "Código do exame" (visível a 1100 px com o laudo aberto e a 911 px no modo de abas). */
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-grid{grid-template-columns:minmax(0,2.4fr) minmax(140px,.7fr) minmax(150px,1fr) minmax(100px,.6fr);gap:10px 12px}
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-grid-1{grid-template-columns:1fr;margin-top:10px}
/* Comparativo aberto (22/out/2026): o campo de data tem piso de 140 px e caía na coluna de 110 px — invadia "Número /
   referência anterior" ("…EXAME DE" colado em "NÚMERO"). A data ocupa as colunas 2–3; a referência fica na 4.ª, sem o
   piso; os três controles da linha alinham pela base (o rótulo da referência quebra em 3 linhas). Só na grade de 4 colunas. */
@media(min-width:521px){
  body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-grid #comparativoField1{grid-column:2/4;align-self:end}
  body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-grid #comparativoField2{grid-column:4/5;min-width:0;align-self:end}
}
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-box-body .field label{text-transform:uppercase;letter-spacing:.05em;font-size:var(--fs-xs,11px);margin-bottom:3px;display:block}
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-box-body .field label .lbl-sub{text-transform:none;letter-spacing:0;font-weight:500}
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-box-body input,body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-box-body select{border-radius:var(--r-card)!important;height:34px!important;min-height:34px!important;padding:0 10px!important;background:var(--card)}
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-box-body input:focus,body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-box-body select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important;outline:0}
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-box-body #paciente{font-size:14px!important;font-weight:600}
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-more{margin-top:12px}
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-more>summary{display:inline-flex!important;align-items:center;gap:6px;border:1px dashed var(--line);border-radius:var(--r-pill);padding:3px 11px!important;color:var(--muted)!important;font-weight:700;min-height:26px}
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-more>summary:hover{color:var(--accent)!important;border-color:var(--accent)}
body[data-view="exam"][data-layout="m4"] .workspace-layout .ident-more[open]>summary{color:var(--accent)!important;border-style:solid;border-color:var(--accent-soft);background:var(--accent-soft)}

/* ── Seletores padronizados (Chrome/Edge 135+: <select> estilizável; demais navegadores seguem nativos) ── */
@supports (appearance: base-select) {
  body[data-layout] .form-panel select,body[data-layout] .form-panel select::picker(select){appearance:base-select}
  body[data-layout] .form-panel select{border:1px solid var(--line);border-radius:var(--r-card);--sel-bg:var(--card);background:var(--sel-bg);color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;padding:3px 26px 3px 10px;min-height:var(--h-md);line-height:1.3;display:inline-flex;align-items:center;cursor:pointer;position:relative;transition:border-color .12s,background .12s,color .12s}
  body[data-layout] .form-panel select:hover{border-color:var(--accent);color:var(--text)}
  body[data-layout] .form-panel select:not(:has(option[value=""]:checked)){--sel-bg:var(--accent-soft);background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700}
  body[data-layout] .form-panel select::picker-icon{content:'';width:34px;position:absolute;right:0;top:0;bottom:0;height:auto;margin:0;border-radius:0 var(--r-card) var(--r-card) 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23175a74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5l4 4 4-4'/%3E%3C/svg%3E") right 7px center/12px no-repeat,linear-gradient(90deg,transparent,var(--sel-bg) 40%);transform:none;flex:0 0 auto;transition:transform .12s}
  body[data-layout] .form-panel select:open::picker-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23175a74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9.5l4-4 4 4'/%3E%3C/svg%3E"),linear-gradient(90deg,transparent,var(--sel-bg) 40%)}
  body[data-layout] .form-panel select:open{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
  body[data-layout] .form-panel select::picker(select){border:1px solid var(--line);border-radius:var(--r-pop);background:var(--card);color:var(--text);box-shadow:0 14px 36px rgba(15,23,42,.18);padding:4px;margin:4px 0;max-height:340px;overflow:auto;font-size:12.5px;min-width:anchor-size(self-inline)}
  body[data-layout] .form-panel select option{padding:6px 10px 6px 28px;border-radius:var(--r-card);cursor:pointer;color:var(--text);font-weight:500;position:relative}
  body[data-layout] .form-panel select option:hover,body[data-layout] .form-panel select option:focus-visible{background:var(--accent-soft);color:var(--accent);outline:0}
  body[data-layout] .form-panel select option:checked{color:var(--accent);font-weight:700}
  body[data-layout] .form-panel select option::checkmark{position:absolute;left:9px;color:var(--accent)}
  body[data-layout] .form-panel select optgroup{font-size:var(--fs-xs,11px);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 10px 2px}
  body[data-layout] .form-panel select option:disabled{color:var(--muted);opacity:.6}
}
/* repetição de termos: cabeçalho da lista sem o nome; grupo sem título ocupa a linha inteira */
body[data-layout] #form .conditional-head > b{display:none}
body[data-layout] #form .conditional-head{justify-content:flex-end}
body[data-layout] #form .drawer-title[hidden]{display:none}
body[data-layout] #form .drawer-group.lm-sem-titulo{grid-template-columns:1fr;display:block}
/* combobox padronizado (input[list]) — js/layout-modelos.js */
.lm-cb{position:fixed;z-index:var(--z-busca);border:1px solid var(--line);border-radius:var(--r-pop);background:var(--card);color:var(--text);box-shadow:0 14px 36px rgba(15,23,42,.18);padding:4px;max-height:240px;overflow:auto;font-size:12.5px;font-family:inherit}
.lm-cb-opt{padding:6px 10px 6px 28px;border-radius:var(--r-card);cursor:pointer;position:relative;white-space:nowrap}
.lm-cb-opt:hover,.lm-cb-opt.active{background:var(--accent-soft);color:var(--accent)}
.lm-cb-opt.checked{color:var(--accent);font-weight:700}
.lm-cb-opt.checked::before{content:'\2713';position:absolute;left:9px}
/* Localização por EIXOS (30/out/2026): uma linha de pílulas por eixo dentro do mesmo pop-up do combobox */
.lm-cb.lm-cb-eixos{max-height:360px;min-width:420px;max-width:min(560px,calc(100vw - 32px));padding:6px 10px}
.lm-cb-eixo{display:flex;align-items:flex-start;gap:10px;padding:5px 0;border-top:1px solid var(--line)}
.lm-cb-eixo:first-child{border-top:0}
.lm-cb-eixo-lbl{flex:0 0 118px;font-size:11px;font-weight:700;color:var(--muted);padding-top:4px;line-height:1.3}
.lm-cb-eixo-ops{display:flex;flex-wrap:wrap;gap:4px}
.lm-cb-pill{border:1px solid var(--line);border-radius:var(--r-card);padding:3px 9px;font:inherit;font-size:12px;line-height:1.3;cursor:pointer;background:var(--card);color:var(--text)}
.lm-cb-pill:hover{border-color:var(--accent);color:var(--accent)}
.lm-cb-pill.checked{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700}
.lm-cb-sel{font:inherit;font-size:12px;line-height:1.3;padding:3px 6px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card);color:var(--text);max-width:100%}
.lm-cb-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0 2px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.lm-cb-limpar{border:0;background:none;font:inherit;font-size:11px;color:var(--accent);cursor:pointer;padding:2px 4px;text-decoration:underline}

@media(min-width:1001px){
/* ── Modo focado: só o laudo, como antes ────────────────────────────────────────────────────── */
body.focus-mode[data-layout] #workspace.workspace-layout{grid-template-columns:1fr!important}
body.focus-mode[data-layout] #lmStrip,body.focus-mode[data-layout] #lmActions{display:none!important}
body.focus-mode[data-layout="m4"] #workspace aside.preview{display:block!important;position:static!important}
}
/* Telas estreitas (≤1000 px): o modelo não vale; o modo de abas Parâmetros|Laudo de sempre assume.
   T-24 (auditoria 19/out/2026): o corte era 1100 px — um notebook 1366 com zoom de 125 % (1093 px CSS) perdia o laudo ao
   vivo e caía nas abas. O layout em cartões cabe com formulário e laudo lado a lado até ~1000 px (conferido em 1093/1024/1003). */
@media(max-width:1000px){#lmStrip,#lmActions,#lmMode,#lmPeekTab,.lm-peek-head,#lmPeekHandle{display:none!important}}

/* ── Correções gerais (valem em qualquer layout; achadas pelas devolutivas A/B) ───────────────── */
.nav-dot-gray{background:#8b96a5}                 /* "não examinado" não tinha cor: ponto invisível */
.tirads-badge.tr0{background:#64748b}             /* "Classificação incompleta" era branco sobre azul-claro */

/* ── Rodada 9 (pedido do médico): achados rápidos sem dicas/macro; identificação enxuta; limitações compactas ── */
/* Achados rápidos: some a dica longa, o "Guia do exame" e o "+ salvar macro" */
body[data-layout="m4"] #qmBar .qm-hint,body[data-layout="m4"] #qmBar .exam-help-btn,body[data-layout="m4"] #qmBar .qm-macro-add{display:none!important}
body[data-layout="m4"] #qmBar .qm-head-row{margin-bottom:4px}
body[data-layout="m4"] #qmBar .qm-macros:empty{display:none}
/* Identificação: sem a caixa de privacidade (vira dica no título); grade em 2 linhas apertadas */
body[data-layout="m4"] #identBox .privacy-note{display:none!important}
body[data-layout="m4"] #identBox .ident-box-body{padding:8px 12px 10px}
body[data-layout="m4"] #identBox .ident-grid{gap:6px 10px}
body[data-layout="m4"] #identBox .ident-grid.ident-grid-1{margin-top:6px}
body[data-layout="m4"] #identBox .field label{font-size:var(--fs-xs,11px);margin-bottom:0}
body[data-layout="m4"] #identBox .field input,body[data-layout="m4"] #identBox .field select{min-height:var(--h-md);padding:3px 8px;font-size:12.5px}
body[data-layout="m4"] #identBox .ident-more{margin-top:6px}
body[data-layout="m4"] #identBox .ident-more>summary{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:3px 9px;border:1px dashed var(--line);border-radius:var(--r-pill);color:var(--accent);background:var(--card)}
body[data-layout="m4"] #identBox .ident-more>summary::before{content:'+';font-weight:900}
body[data-layout="m4"] #identBox .ident-more[open]>summary::before{content:'\2212'}
body[data-layout="m4"] #identBox .ident-more>summary:hover{border-color:var(--accent);background:var(--accent-soft)}
body[data-layout="m4"] #identBox .ib-title::after{content:'\1F512';font-size:var(--fs-xs,11px);margin-left:6px;opacity:.55}
/* Limitações técnicas: sem a frase de instrução e sem "opções específicas"; pílulas compactas, marcada em acento */
body[data-layout="m4"] #limSlot .limbox-intro,body[data-layout="m4"] #limSlot .limbox>summary .hint{display:none!important}
body[data-layout="m4"] #limSlot .limbox .drawer-body{padding:8px 10px 10px!important}
body[data-layout="m4"] #limSlot .limbox .inline-options{display:flex!important;flex-wrap:wrap;gap:5px}
body[data-layout="m4"] #limSlot .limbox .pill{padding:4px 10px!important;min-height:26px!important;font-size:12px!important;border-radius:var(--r-pill)!important;font-weight:600}
body[data-layout="m4"] #limSlot .limbox .pill.active{background:var(--accent-fill)!important;border-color:var(--accent-fill)!important;color:#fff!important}
body[data-layout="m4"] #limSlot .limbox .pill.active::before{content:'\2713';margin-right:5px;font-weight:900}

/* ── Rodada 12: medidas menores (VR só dentro da caixa, destaque quando preenchida); pílulas mais leves; gradações ── */
body[data-layout="m4"] #form .measure-box{min-width:0!important;width:auto;flex:0 0 auto;gap:2px!important}
body[data-layout="m4"] #form .measure-box .mini-label{font-size:var(--fs-xs,11px);white-space:nowrap}
body[data-layout="m4"] #form .measure-box input:not([type=date]){width:66px!important;min-width:66px!important;height:var(--h-md)!important;min-height:var(--h-md)!important;padding:2px 7px!important;font-size:12.5px!important;text-align:right;font-variant-numeric:tabular-nums}
/* data (DUM) não é medida: piso de 140 px, senão mostra "mm/c" (aval. design 09/out, AB-07) */
body[data-layout="m4"] #form .measure-box input[type=date]{width:140px;min-width:140px;height:var(--h-md);min-height:var(--h-md)!important;text-align:left}
body[data-layout="m4"] #form .measure-box .mb-vr{display:none!important}
body[data-layout="m4"] #form .measure-line{gap:8px!important;align-items:flex-end}
/* preenchida = acento (como a pílula ativa e o seletor com valor); vazia = fundo suave com o VR como placeholder */
body[data-layout="m4"] #form .measure-box input,body[data-layout="m4"] #form .item-row input[type="text"],body[data-layout="m4"] #form .item-row input[type="number"]{background:var(--soft,#f1f5f9);border-color:var(--line)}
body[data-layout="m4"] #form .measure-box input::placeholder,body[data-layout="m4"] #form .item-row input::placeholder{color:var(--muted);opacity:.9}
body[data-layout="m4"] #form .measure-box input:not(:placeholder-shown),body[data-layout="m4"] #form .item-row input[type="text"]:not(:placeholder-shown),body[data-layout="m4"] #form .item-row input[type="number"]:not(:placeholder-shown){background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent)!important;font-weight:700}
body[data-layout="m4"] #form .measure-box input:focus,body[data-layout="m4"] #form .item-row input:focus{background:var(--card)!important;color:var(--text)!important}
/* pílulas: as não marcadas mais leves; a marcada continua forte */
body[data-layout="m4"] #form .radio-grid>label.radio-pill:not(.active){color:var(--muted);font-weight:500;padding:3px 9px}
body[data-layout="m4"] #form .radio-grid>label.radio-pill:not(.active):hover{color:var(--text);border-color:var(--accent)}
/* gradações: nome do achado + segmentos */
body[data-layout="m4"] #form .radio-grid>label.lm-grad-hidden{display:none!important}
.lm-grad{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:var(--card);max-width:100%}
.lm-grad.active{border-color:var(--accent)}
.lm-grad-name{display:inline-flex;align-items:center;padding:3px 9px;font-size:12px;font-weight:600;color:var(--muted);background:var(--soft,#f1f5f9);border-right:1px solid var(--line);white-space:nowrap}
.lm-grad.active .lm-grad-name{color:var(--accent);background:var(--accent-soft)}
.lm-grad-seg{display:inline-flex;flex-wrap:wrap}
.lm-grad-opt{border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);padding:3px 10px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;line-height:1.3}
.lm-grad-opt:last-child{border-right:0}
.lm-grad-opt:hover{color:var(--text);background:var(--soft,#f1f5f9)}
.lm-grad-opt.active{background:var(--accent-fill);color:#fff;font-weight:700}

/* ── Rodada 13 (caminho B): a gaveta deixa de ser caixa com moldura e lista de exemplos; vira linha "+ título" dentro
   do cartão, que abre no lugar com um fio à esquerda; grupos internos sem moldura. Chips do que já está marcado
   (.dr-sel) continuam no summary fechado. ── */
body[data-layout="m4"] #form .micro>details.drawer,body[data-layout="m4"] #form .micro>details.subdrawer{border:0!important;background:transparent!important;border-radius:0!important;margin:2px 0 0;overflow:visible;box-shadow:none}
body[data-layout="m4"] #form .micro>details.drawer>summary,body[data-layout="m4"] #form .micro>details.subdrawer>summary{background:transparent!important;border:0!important;padding:3px 2px!important;min-height:24px;display:flex;align-items:center;gap:8px;font-size:11.5px!important;font-weight:700;color:var(--accent)!important;border-radius:var(--r-card)}
body[data-layout="m4"] #form .micro>details.drawer>summary:hover{background:var(--accent-soft)!important}
body[data-layout="m4"] #form .micro>details.drawer>summary::after,body[data-layout="m4"] #form .micro>details.subdrawer>summary::after{display:none!important}
body[data-layout="m4"] #form .micro>details.drawer>summary>span:first-child::before{content:'+  ';font-weight:900}
body[data-layout="m4"] #form .micro>details.drawer[open]>summary>span:first-child::before{content:'\2212  '}
body[data-layout="m4"] #form .micro>details.drawer>summary>.hint{display:none!important}
body[data-layout="m4"] #form .micro>details.drawer>summary .dr-sel{margin-left:auto}
body[data-layout="m4"] #form .micro>details.drawer>.drawer-body,body[data-layout="m4"] #form .micro>details.subdrawer>.subdrawer-body{padding:4px 0 2px 10px!important;margin:2px 0 0 6px;border-left:2px solid var(--accent-soft)!important;display:grid;gap:6px!important;background:transparent!important}
body[data-layout="m4"] #form .micro>details.drawer .drawer-group{border:0!important;background:transparent!important;padding:0!important;border-radius:0;grid-template-columns:1fr;display:block!important} /* título em cima: as pílulas ganham a largura toda do cartão */
body[data-layout="m4"] #form .micro>details.drawer .drawer-title{font-size:var(--fs-xs,11px);font-weight:700;letter-spacing:.05em;color:var(--muted);margin:0 0 3px!important;padding:0;border:0!important}
body[data-layout="m4"] #form .micro>details.drawer .drawer-group .radio-grid,body[data-layout="m4"] #form .micro>details.drawer .drawer-group .inline-options,body[data-layout="m4"] #form .micro>details.drawer .drawer-body>.inline-options,body[data-layout="m4"] #form .micro>details.drawer .drawer-body>.radio-grid{display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:4px;grid-template-columns:none;width:100%}
body[data-layout="m4"] #form .micro>details.drawer .drawer-group .inline-options>label,body[data-layout="m4"] #form .micro>details.drawer .drawer-group .radio-grid>label{flex:0 1 auto;width:auto}

/* ── Rodada 14: gaveta pequena achatada (sem summary, sempre aberta); cartão da linha estica até o pé (altura igual) ── */
/* o cartão esticado mantém o conteúdo no topo; o fundo preenche a altura da linha */
/* altura igual por linha = min-height posto pelo JS (a caixa continua medindo o próprio conteúdo) */
/* gaveta achatada: as pílulas-lista ("Cálculos", "Cistos", "Nódulos") ficam em linha, do tamanho do texto */

/* ── Rodada 15: cistos/nódulos/cálculos/coleções — a característica é o atalho (uma linha por tipo) ── */
body[data-layout="m4"] #form .micro>details.drawer .drawer-group.lm-presets,body[data-layout="m4"] #form .drawer-group.lm-presets,body[data-layout="m4"] #form .lm-acopl-hidden,body[data-layout="m4"] #form .drawer-group.lm-acoplado .conditional-head{display:none!important}
body[data-layout="m4"] #form .drawer-group.lm-acoplado{display:block!important;padding:0!important;margin:0}
.lm-acopl{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 0}

body[data-layout="m4"] #form .drawer-group.lm-acoplado .conditional{margin-top:4px}

/* ── Rodada 16: itens em tabela (nº · Tipo · característica · localização · L × AP × T · Detalhes · ×); "+ Cisto" pílula comum ── */
body[data-layout="m4"] #form .lm-add-row{display:flex;flex-wrap:wrap;gap:4px;border-top:1px dashed var(--line);margin-top:6px}
body[data-layout="m4"] #form .lm-add{border:1px solid var(--line);border-radius:var(--r-card);background:var(--card);color:var(--accent);padding:3px 10px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;line-height:1.3}
body[data-layout="m4"] #form .lm-add:hover{border-color:var(--accent);background:var(--accent-soft)}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .conditional{border:0!important;background:transparent!important;padding:0!important;margin:0!important;border-radius:0;overflow:visible}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .items{display:block}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-head{display:none!important}
body[data-layout="m4"] #form .lm-item-head{grid-template-columns:22px 1fr;font-size:var(--fs-xs,11px);font-weight:700;color:var(--muted);letter-spacing:.03em;padding:2px 0 3px}
body[data-layout="m4"] #form .lm-item-head{display:flex;gap:6px;align-items:center}
body[data-layout="m4"] #form .lm-ih-n{width:22px}
body[data-layout="m4"] #form .lm-ih-tipo{width:236px}
body[data-layout="m4"] #form .lm-ih-loc{width:168px}
body[data-layout="m4"] #form .lm-ih-dim{flex:1}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .items{counter-reset:lm-item}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row{display:flex!important;flex-wrap:wrap;align-items:center;position:relative;padding:3px 0!important;margin:0!important;border:0!important;background:transparent!important;border-radius:0!important}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row::before{counter-increment:lm-item;width:16px;font-size:12px;font-weight:700;color:var(--muted);order:0}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.item-index{display:none!important}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.lm-tipo{order:1;font-size:12.5px;font-weight:700;color:var(--text);width:60px}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>select{order:2;width:160px!important;min-width:0!important;white-space:nowrap;overflow:hidden}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>select::selectedcontent{display:block;flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* o Chrome ignora overflow:hidden no <select> base-select: contain:paint recorta o texto longo (o picker fica na top layer, fora do recorte) */
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>select{text-overflow:ellipsis;contain:paint}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[data-lm-list],body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[placeholder="localização"]{order:3;width:160px!important;flex:0 0 160px!important;min-height:var(--h-md);border-radius:var(--r-card);padding:3px 26px 3px 10px!important;font-size:12.5px;font-weight:600;color:var(--text);background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23175a74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5l4 4 4-4'/%3E%3C/svg%3E") right 7px center/12px no-repeat!important;border:1px solid var(--line)!important}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[data-lm-list]:not(:placeholder-shown){background-color:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent);font-weight:700}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[data-lm-list]:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-soft)}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[placeholder="L"]{order:4}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.lm-x{order:5;color:var(--muted);font-size:12px}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[placeholder="AP"]{order:6}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.lm-x+input[placeholder="AP"]+.lm-x{order:7}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[placeholder="T"]{order:8}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>select.unit-sel{order:8;width:auto!important;flex:0 0 auto!important;margin-left:2px} /* 29/out/2026: seletor cm/mm da linha, colado ao T */
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[placeholder="L"],body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[placeholder="AP"],body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[placeholder="T"],body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input[placeholder="C"]{width:54px!important;flex:0 0 54px!important;text-align:center;min-height:var(--h-md)}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.lm-det-btn{order:9;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card);color:var(--muted);padding:3px 9px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit;margin-left:4px}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.lm-det-btn.has,body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row.lm-det-open>.lm-det-btn{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.lm-det-btn b{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;border-radius:var(--r-pill);background:var(--accent-fill);color:#fff;font-size:var(--fs-xs,11px);margin-left:3px;padding:0 3px}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>button.btn.red{order:10;width:26px;height:26px;min-height:0;padding:0;border-radius:var(--r-card);}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.item-attrs{display:none!important}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.item-attrs.lm-det-pop{flex-wrap:wrap;gap:4px;align-items:center;position:fixed;z-index:var(--z-popup-detalhes);background:var(--card);border:1px solid var(--line);border-radius:var(--r-pop);box-shadow:0 14px 36px rgba(15,23,42,.18);margin:0!important}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.item-attrs.lm-det-pop .item-attrs-lbl{flex:1 1 100%;font-size:var(--fs-xs,11px);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>span:not(.lm-tipo):not(.lm-x){order:11;flex:1 1 100%;font-size:var(--fs-xs,11px);padding-left:22px}

/* ── Rodada 17: lista de itens em caixa flutuante; × junto do item; numeração; sem "em branco" inline; seletor destacado;
      Detalhes em grade por tema ── */
/* (1) a gaveta de lista NÃO reflui a grade: o corpo abre como caixa flutuante proporcionada sob o cartão */
/* (3) × logo depois de Detalhes */
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>button.btn.red{margin-left:2px!important}
/* (4) numeração pelo JS; (4) "em branco" não aparece inline — a linha pendente ganha só um fio âmbar e a dica no título */
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row::before{content:attr(data-lm-n) '.'}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>span:not(.lm-tipo):not(.lm-x),body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>em,body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>small,body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>i{display:none!important}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row.item-row-pend,body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row.item-row-empty{box-shadow:inset 3px 0 0 var(--pend-line);padding-left:6px!important}
/* (5) seletor de característica distinto do campo de localização, com respiro */
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row{gap:8px}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>select{--sel-bg:var(--card);background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r-card)!important;margin-right:4px}
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>select:not(:has(option[value=""]:checked)){--sel-bg:var(--accent-soft);background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent)!important;font-weight:700}
/* (6) Detalhes: caixa quadrada, grade por tema */
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>.item-attrs.lm-det-pop{display:block!important;padding:12px 14px}
.lm-det-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.lm-det-g{display:flex;flex-direction:column;gap:4px;min-width:0}
.lm-det-k{font-size:var(--fs-xs,11px);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.lm-det-v{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.lm-det-v>label.radio-pill{margin:0!important}
.lm-det-v>label.lm-det-hid{display:none!important}
.lm-det-sel,.lm-det-v>select{width:100%!important;min-width:0!important;min-height:var(--h-md);margin:0!important;position:relative!important;flex:1 1 100%}
.lm-det-foot{display:flex;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
.lm-det-foot .btn{min-height:26px;font-size:11.5px}
/* os avisos "em branco" / "medida pendente" são ::after do app na linha: ficam só como fio âmbar + dica no título */
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row::after{content:none!important;display:none!important}

/* ── Rodada 19: respiro interno padrão dos cartões; lista gerada (Cálculos fora de gaveta); campo "diâmetro" na linha ── */
/* (4) nada encosta na borda: 8 px em volta do conteúdo, inclusive gavetas achatadas e rodapé "+ Tipo" */
body[data-layout="m4"] #form .micro>details.drawer.lm-flat>.drawer-body{padding:0 8px 8px!important;margin:0!important}
body[data-layout="m4"] #form .micro>details.drawer:not(.lm-flat):not(.lm-lista)[open]>.drawer-body{padding:4px 8px 6px 10px!important;margin:2px 0 0 6px!important}
body[data-layout="m4"] #form .micro>details.drawer{margin:2px 8px 6px!important}
body[data-layout="m4"] #form .lm-add-row{padding:6px 0 4px}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow)>*:last-child{margin-bottom:8px!important}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow)>.micro-label:last-child{margin-bottom:0!important}
/* (3) lista gerada dentro das opções (Cálculos): ocupa a linha toda, mesma cara da gaveta de lista */
body[data-layout="m4"] #form .inline-options>details.lm-gerada{flex:1 1 100%;margin:4px 0 0!important;border:0!important;background:transparent!important}
body[data-layout="m4"] #form .inline-options>details.lm-gerada>summary{background:transparent!important;border:0!important;padding:3px 2px!important;min-height:24px;display:flex;align-items:center;gap:8px;font-size:11.5px!important;font-weight:700;color:var(--accent)!important;border-radius:var(--r-card);list-style:none}
body[data-layout="m4"] #form .inline-options>details.lm-gerada>summary::-webkit-details-marker{display:none}
body[data-layout="m4"] #form .inline-options>details.lm-gerada>summary::after{display:none!important}
body[data-layout="m4"] #form .inline-options>details.lm-gerada>summary>span:first-child::before{content:'+  ';font-weight:900}
body[data-layout="m4"] #form .inline-options>details.lm-gerada[open]>summary>span:first-child::before{content:'\2212  '}
body[data-layout="m4"] #form .inline-options>details.lm-gerada>summary .dr-sel{margin-left:auto}
body[data-layout="m4"] #form .inline-options>details.lm-gerada[open]>summary{background:var(--accent-soft)!important}
body[data-layout="m4"] #form .inline-options>details.lm-gerada[open]>.drawer-body{position:fixed!important;z-index:var(--z-caixa-lista);background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r-pop);box-shadow:0 18px 44px rgba(15,23,42,.2);padding:12px 14px!important;margin:0!important;overflow:auto;display:grid;gap:8px!important}
/* (2) cálculos e outros itens com um campo só ("diâmetro (mm)"): entra na linha como os eixos, não numa linha inteira */
body[data-layout="m4"] #form .drawer-group.lm-acoplado .item-row>input:not([data-lm-list]):not([placeholder="localização"]):not([placeholder="L"]):not([placeholder="AP"]):not([placeholder="T"]):not([placeholder="C"]){order:4;width:112px!important;flex:0 0 112px!important;min-height:var(--h-md);text-align:center}

/* O re-render do formulário (altura muda num quadro) acionava a âncora de rolagem do Chrome e a página pulava ~250 px
   depois do clique em "+ Tipo"; a posição é nossa (renderForm/plano congelado), não do navegador. */
body[data-layout="m4"] #form,body[data-layout="m4"] .form-panel{overflow-anchor:none}

/* ── Portão de lado (MSK/ATM): as 4 opções nascem iguais e neutras — "Direito/Esquerdo" em .btn.primary pareciam
   já escolhidos antes de qualquer clique (aval. design 09/out, SH-04c/OM-16). Faixa de estruturas sem chips some. ── */
body[data-layout="m4"] .msk-lado-gate .mlg-opts .btn{background:var(--card)!important;color:var(--text)!important;border:1px solid var(--field-line,var(--line))!important;box-shadow:none!important;font-weight:650}
body[data-layout="m4"] .msk-lado-gate .mlg-opts .btn:hover{border-color:var(--accent)!important;color:var(--accent-strong)!important;background:var(--accent-soft)!important}
body[data-layout="m4"] #lmStrip:not(:has(.exam-nav-item)){display:none!important}

/* ── Selo "Revisão necessária" dentro da barra do exame (era fixed no canto e cobria pílulas — DM-14) ── */
body[data-layout="m4"] .exam-bar #reviewStatusBand{flex:none}
body[data-layout="m4"] .exam-bar #reviewStatusBand.review-fab{position:static;z-index:auto;margin:0 4px 0 0}
body[data-layout="m4"] .exam-bar #reviewStatusBand .rf-btn{height:32px;padding:0 10px;font-size:12px;box-shadow:none}
/* toasts: com o laudo ao vivo aberto (coluna da direita) eles sobem do canto do FORMULÁRIO, não sobre o laudo (SH-11) */
/* T-14: estado espelhado no body pelo JS (pintar) — sem :has() no topo do documento */
body[data-view="exam"][data-layout="m4"].lm-laudo-aberto-form #toast-root{right:auto;left:24px}
/* a rolagem é ancorada pelo app (layout-modelos.js reancorar): a ancoragem nativa do Chrome somava ~145 px ao redesenho (DM-02) */
html.lm-raiz-exame-m4,body[data-layout="m4"][data-view="exam"]{overflow-anchor:none} /* T-14: classe no <html> em vez de :root:has(body…) */

/* ── Campo de medida único (lote 4a): unidade como sufixo dentro da caixa; eixos com nome curto mantêm a grade igual ── */
/* itens de lista (L × AP × T): mesma altura das caixas dos cartões */
body[data-layout="m4"] #form .item-row input[type="text"],body[data-layout="m4"] #form .item-row input[type="number"]{min-height:var(--h-md)}

/* ── Lateralidade única (lote 4b): segmentado Direito · Esquerdo · Bilateral · Não informar ── */
body[data-layout="m4"] #form select.lm-lat-hidden{display:none!important}
body[data-layout="m4"] .lm-lat .lm-grad-opt{padding:5px 12px;min-height:var(--h-md)}
/* Doppler de membros: mesmo desenho e mesma ordem (Direito · Esquerdo · Bilateral) */
body[data-layout="m4"] .dop-lat-pills{display:inline-flex!important;gap:0!important;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden!important;background:var(--card)}
body[data-layout="m4"] .dop-lat-pills .lat-pill{border:0!important;border-right:1px solid var(--line)!important;border-radius:0;background:transparent!important;color:var(--muted)!important;box-shadow:none;padding:5px 12px;min-height:var(--h-md);font-size:12px;font-weight:500}
body[data-layout="m4"] .dop-lat-pills .lat-pill:hover{background:var(--soft,#f1f5f9)!important;color:var(--text)!important}
body[data-layout="m4"] .dop-lat-pills .lat-pill.active{background:var(--accent-fill)!important;color:#fff!important;font-weight:700}
body[data-layout="m4"] .dop-lat-pills .lat-pill[onclick*="'d')"]{order:1}
body[data-layout="m4"] .dop-lat-pills .lat-pill[onclick*="'e')"]{order:2}
body[data-layout="m4"] .dop-lat-pills .lat-pill[onclick*="'amb')"]{order:3;border-right:0!important}
body[data-layout="m4"] .dop-lat-pills:has(.lat-pill.active){border-color:var(--accent)}

/* ── Obstétrico com a mesma geometria dos demais exames (lote 4c: OM-04/09/10/12/14, TK-09) ── */
/* seções: mesmo recuo de 8 px dos cartões de .organ (os subcartões encostavam na borda) */
body[data-view="exam"][data-layout="m4"] #form .obst-section:not(#_):not(#__){padding:0 8px 8px}
body[data-view="exam"][data-layout="m4"] #form .obst-section>.obst-section-title:not(#_):not(#__){margin:0 -8px 8px}
/* Antecedentes / Idade gestacional alinhados às seções (estavam 8 px para dentro) */
body[data-view="exam"][data-layout="m4"] #form>:is(.gyn-history-card,.obst-age-card):not(#_):not(#__){margin-left:0!important;margin-right:0!important;justify-self:stretch;width:auto}
/* um só título de estrutura: 12,5 px / 800 / 0,08em, como no abdome, tireoide, Doppler (era 14 px / 900 no obstétrico) */
body[data-view="exam"][data-layout="m4"] #form :is(.organ-head,.obst-section-title):not(#_):not(#__){font-size:12.5px!important;font-weight:800!important;letter-spacing:.08em!important;min-height:40px}
/* gestação única: a aba "Feto A" não tem função — só o "+ Gemelar", discreto, à direita */
body[data-layout="m4"] #form .gemeo-tabs:not(:has(.gemeo-tab~.gemeo-tab)):not(#_){justify-content:flex-end;margin:0 0 6px}
body[data-layout="m4"] #form .gemeo-tabs:not(:has(.gemeo-tab~.gemeo-tab)) .gemeo-tab{display:none!important}
/* gemelar empilhado: as abas repetiam em cada feto — ficam só no primeiro (lá estão "× feto" e "+ feto") */
body[data-layout="m4"] #form .feto-box~.feto-box .gemeo-tabs{display:none!important}
/* gemelar: catálogos de placenta/cordão em pílulas que quebram linha, como no feto único (a grade de 4 colunas
   espremia o segmentado numa célula de 190 px e hifenizava rótulos) */
body[data-view="exam"][data-layout="m4"] #form .feto-box .radio-grid.og-4:not(#_):not(#__){display:flex!important;flex-wrap:wrap;gap:4px}
body[data-layout="m4"] #form .radio-pill{hyphens:manual;-webkit-hyphens:manual}
/* "Gráficos no laudo" sem dados: legível (opacidade dava 1,95–2,3:1); o estado vai no tracejado */
body[data-view="exam"][data-layout="m4"] .workspace-layout .radio-pill.og-marca.og-off:not(#_){background:var(--card)!important}

/* ── Painéis de achado (lote 4d: AB-03/DM-15) ── */
/* descritores ("Descritores — esteatose grau II"): rótulo acima e pílulas em linha, não uma coluna de 1 pílula centralizada */
body[data-view="exam"][data-layout="m4"] .workspace-layout :is(.organ,.obst-section) .achado-painel .achado-desc-linha:not(#_){display:block!important;margin:6px 0!important}
body[data-view="exam"][data-layout="m4"] .workspace-layout :is(.organ,.obst-section) .achado-painel .achado-desc-label:not(#_){display:block;padding-top:0!important;margin:0 0 4px;font-size:11.5px}
body[data-view="exam"][data-layout="m4"] .workspace-layout :is(.organ,.obst-section) .achado-painel .radio-grid:not(#_){display:flex!important;flex-wrap:wrap;gap:4px!important;grid-template-columns:none!important}
body[data-view="exam"][data-layout="m4"] .workspace-layout :is(.organ,.obst-section) .achado-painel .radio-pill:not(#_){width:auto!important;text-align:left;justify-content:flex-start}
/* o painel do achado entra DEPOIS de todas as pílulas do grupo: as irmãs não descem para baixo dele */
body[data-layout="m4"] #form .radio-grid>.achado-painel{order:99;flex:1 1 100%}
/* O-RADS: rótulo da linha acima dos critérios; grupos de aspecto com o nome numa linha e as pílulas em fila */
body[data-layout="m4"] #form .oRads-row-top{flex-direction:column;align-items:stretch}
body[data-layout="m4"] #form .oRads-row-top>.oRads-label{min-width:0}
body[data-layout="m4"] #form .oRads-aspecto-grupo-lbl{flex:1 1 100%;min-width:0}
body[data-layout="m4"] #form .oRads-maior{flex:1 1 100%;margin:2px 0 0}
body[data-layout="m4"] #form .achado-painel select{min-width:160px}

/* ── Mama/axila (lote 4e): relógio à esquerda, lista de lesões ao lado, no cartão de largura inteira ── */
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel .organ>.micro:has(.mama-mapa-wrap)>.inline-options:not(#_){display:grid!important;grid-template-columns:320px minmax(0,1fr);gap:8px 16px!important;align-items:start}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel .organ>.micro:has(.mama-mapa-wrap)>.inline-options>:not(.mama-mapa-wrap):not(.conditional){grid-column:1/-1}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel .organ>.micro:has(.mama-mapa-wrap)>.inline-options>.conditional{grid-column:2;min-width:0}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel .organ>.micro:has(.mama-mapa-wrap)>.inline-options>.conditional{align-self:start;margin-top:0!important}
/* linha da lesão da mama: o seletor de tipo ocupa a largura da lista (estava com 118 px: "Cisto simpl…") */
body[data-layout="m4"] #form .item-row[id^="mamaLes_"]{display:grid!important}
body[data-layout="m4"] #form .item-row[id^="mamaLes_"]>div{width:100%}
body[data-layout="m4"] #form .item-row[id^="mamaLes_"] select{flex:1 1 auto;min-width:0;width:auto}

/* ── Lote 4f: "marcado" com dois estados só (AB-08/TK-15) ──
   normal marcado = acento suave (como já era); ACHADO marcado = laranja do cabeçalho alterado (era tinta quase preta,
   sem ligação com o laranja); estrutura crítica = vermelho. Vale para pílula, checkbox e segmento de gradação. */
body[data-view="exam"][data-layout="m4"] .workspace-layout .radio-pill.active:has(input:not([data-value=""])):not(#_),
body[data-view="exam"][data-layout="m4"] .workspace-layout .pill.active:not(#_){background:var(--alt-bg)!important;border-color:var(--alt)!important;color:var(--alt-ink)!important;font-weight:700!important}
body[data-view="exam"][data-layout="m4"] .lm-grad-opt.lm-alt.active{background:var(--alt-bg);color:var(--alt-ink);box-shadow:inset 0 0 0 1px var(--alt)}
body[data-view="exam"][data-layout="m4"] .lm-grad.active:has(.lm-alt.active){border-color:var(--alt)}
body[data-view="exam"][data-layout="m4"] .lm-grad.active:has(.lm-alt.active) .lm-grad-name{color:var(--alt-ink);background:var(--alt-soft)}
body[data-view="exam"][data-layout="m4"] .workspace-layout .organ.organ-critical .radio-pill.active:has(input:not([data-value=""])):not(#_){background:var(--crit-soft)!important;border-color:var(--crit)!important;color:var(--crit-ink)!important}
body[data-view="exam"][data-layout="m4"] .organ.organ-critical .lm-grad-opt.lm-alt.active{background:var(--crit-soft);color:var(--crit-ink);box-shadow:inset 0 0 0 1px var(--crit)}
body.dark-mode[data-view="exam"][data-layout="m4"] .workspace-layout .radio-pill.active:has(input:not([data-value=""])):not(#_),
body.dark-mode[data-view="exam"][data-layout="m4"] .workspace-layout .pill.active:not(#_){background:#40281a!important;border-color:#fdba74!important;color:#fed7aa!important}
body.dark-mode[data-view="exam"][data-layout="m4"] .lm-grad-opt.lm-alt.active{background:#40281a;color:#fed7aa;box-shadow:inset 0 0 0 1px #fdba74}
/* a pílula da limitação ativa e as de lista (Cistos…) seguem como estavam (acento), não são achado de estrutura */
body[data-view="exam"][data-layout="m4"] .workspace-layout details.drawer.limbox .pill.active:not(#_),body[data-layout="m4"] #limSlot .limbox .pill.active:not(#_){background:var(--accent-fill)!important;border-color:var(--accent-fill)!important;color:#fff!important}

/* ── Lote 4f: mapa vascular maior (DM-13): a figura ficava presa a 190 px (rótulos com ~6 px) ── */
body[data-view="exam"][data-layout="m4"] .workspace-layout .vmap-form:not(#_):not(.vmap-form-nofig){grid-template-columns:clamp(190px,34%,300px) minmax(0,1fr)}
body[data-view="exam"][data-layout="m4"] .workspace-layout .vmap-form-fig:not(#_){max-width:300px;width:100%}
body[data-view="exam"][data-layout="m4"] .workspace-layout .vmap-form-fig svg{width:100%;height:auto;max-width:none}
/* Cartografia com ilustração do membro (MMII, out/2026): a figura é ALTA (membro inteiro) — altura fixa que cabe na
   tela, largura pelo viewBox; papel branco nos dois temas (a ilustração é raster sobre branco) */
body[data-view="exam"][data-layout="m4"] .workspace-layout .vmap-form-fig svg.vmap-tall{width:auto;max-width:100%;height:min(620px,calc(100vh - var(--top-h) - 70px))}
body[data-view="exam"][data-layout="m4"] .workspace-layout .vmap-form:not(#_):has(svg.vmap-tall){grid-template-columns:auto minmax(0,1fr)}
/* Doppler cervical: vaso com VPS de estenose (DM-03) */
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel .organ>.micro.lm-card-alt:not(#_){border-color:var(--alt)!important;box-shadow:inset 3px 0 0 var(--alt)}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel .organ>.micro.lm-card-crit:not(#_){border-color:var(--crit)!important;box-shadow:inset 3px 0 0 var(--crit)}

/* ── Lote 4f: controles de escolha num desenho só (OM-06) ──
   obstétrico: as grades de colunas iguais (og-pilulas / og-3 / og-4, texto centralizado e células de até 200 px) viram
   as pílulas compactas do resto do formulário; descritores do nódulo TI-RADS = pílula (30 px), seleção em acento
   (descrever não é "achado" — a categoria TR é que sinaliza) */
body[data-view="exam"][data-layout="m4"] .workspace-layout :is(.organ,.obst-section) .radio-grid:is(.og-pilulas,.og-2,.og-3,.og-4):not(#_):not(#__){display:flex!important;flex-wrap:wrap;gap:4px;grid-template-columns:none}
body[data-view="exam"][data-layout="m4"] .workspace-layout :is(.organ,.obst-section) .radio-grid:is(.og-pilulas,.og-2,.og-3,.og-4)>.radio-pill:not(#_){width:auto;flex:0 0 auto;justify-content:flex-start;text-align:left}
body[data-layout="m4"] #form .tirads-opt{min-height:30px;padding:3px 11px;font-size:12.5px;font-weight:600;border-radius:var(--exam-radius,6px)}
body[data-layout="m4"] #form .tirads-opt.sel{background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent-strong)!important;font-weight:700}
body.dark-mode[data-layout="m4"] #form .tirads-opt.sel{background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--text)!important}
/* matriz D/E (Doppler peniano): Parâmetro | Direita | Esquerda */
body[data-layout="m4"] #form .measure-line.lm-matriz{display:grid!important;grid-template-columns:max-content max-content max-content;gap:6px 12px!important;align-items:center}
body[data-layout="m4"] #form .measure-line.lm-matriz .lm-mz-h{font-size:var(--fs-xs,11px);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
body[data-layout="m4"] #form .measure-line.lm-matriz .lm-mz-p{font-size:12px;font-weight:600;color:var(--text);padding-right:4px}
body[data-layout="m4"] #form .measure-line.lm-matriz .lm-mz-cel>.mini-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap}
body[data-layout="m4"] #form .measure-line.lm-matriz .lm-mz-cel{position:relative}
body[data-layout="m4"] #form .measure-line.lm-matriz>*{align-self:center!important}
body[data-layout="m4"] #form .measure-line.lm-matriz .lm-mz-cel{row-gap:0!important}
/* revisão 20/out: inline-flex não desenha reticências e a pílula encolhia a 26 px antes de a barra estourar (nome 100 % escondido a 1093 px).
   Bloco com line-height = altura útil (36 − 2×5 de padding) e min-width que força as etapas lm-ap* a entrarem. */
body[data-view="exam"][data-layout="m4"] .exam-bar .exam-bar-pat{min-height:36px;border-radius:var(--r-card);display:block;line-height:24px;min-width:64px}
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap4 select{max-width:112px}
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap5 .exam-bar-pat{max-width:44px;flex-shrink:0}
/* etapas finais (só quando nada mais cabe, ex.: obstétrico a 1120 px com selo): Copiar vira ícone; "não salvo" vira só o ponto */
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap6 #examBarActions .btn[onclick^="copyReport"] .btn-lbl{display:none}
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap6 #examBarActions .btn[onclick^="copyReport"]{padding:0 9px}
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap7 #examBarMeta{max-width:14px;overflow:hidden;white-space:nowrap}
body[data-layout="m4"] .exam-bar.lm-ap8 #reviewStatusBand .rf-lock{display:none}
body[data-layout="m4"] .exam-bar.lm-ap8 #reviewStatusBand .rf-btn{padding:0 7px;gap:5px}
/* UX-02 (zoom 150 % em 1366 = 911 px): última etapa — "Mais ações" vira só o ícone (o nome acessível segue "Mais ações") */
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap9 #examMoreBtn .btn-lbl{display:none}
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap9 #examMoreBtn{padding:0 9px}
/* a Identificação espremida mostra reticências (o flex não as desenha: o texto vira bloco só nesta etapa) */
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap5 .exam-bar-pat{padding-left:8px;padding-right:6px} /* revisão 20/out: o bloco com reticências é a regra base; aqui só o recuo */
/* última etapa (obstétrico/tireoide a 911 px ainda estouravam 88 px): "Exame normal" vira ícone e o seletor de modo encolhe */
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap10 #examToolbarDock .toolbar .btn.tb-main .btn-lbl{display:none}
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap10 #examToolbarDock .toolbar .btn.tb-main{padding:0 9px!important}
body[data-view="exam"][data-layout="m4"] .exam-bar.lm-ap10 select{max-width:84px}
/* mapa vascular: achado marcado com o mesmo laranja das pílulas de achado (era a tinta escura) */
body[data-view="exam"][data-layout="m4"] .workspace-layout .vmap-pill.active:not([data-code=""]):not(#_):not(#__):not(#___){background:var(--vmap-on-bg,var(--alt-bg))!important;border-color:var(--vmap-on-line,var(--alt))!important;color:var(--vmap-on-fg,var(--alt-ink))!important}/* ENDOMETRIOSE-D-08 (15/out/2026): a gravidade (data-sev) redefine as variáveis — ver style.css */
body.dark-mode[data-view="exam"][data-layout="m4"] .workspace-layout .vmap-pill.active:not([data-code=""]):not(#_):not(#__):not(#___){background:#40281a!important;border-color:#fdba74!important;color:#fed7aa!important}
/* sub-rótulo da linha ("vertebral D", "achado adicional D") antes das pílulas (DM-08) */
body[data-layout="m4"] #form .lm-pill-titulo{flex:1 1 100%;grid-column:1/-1;width:100%;font-size:11.5px;font-weight:700;color:var(--muted);margin:4px 0 0}
body[data-layout="m4"] #form .radio-grid>.lm-pill-titulo:first-child{margin-top:0}
/* Editor = A4: o parágrafo herda o entrelinhamento do impresso (.doc p fixava 1,35 — o PDF usa o da preferência, 1,28 no padrão) */
body[data-layout="m4"] #workspace.lm-mode-editor aside.preview #doc p{line-height:inherit!important}

/* ── Alturas de controle (TK-12): 26 (--h-sm: chip, botão de cabeçalho) · 30 (--h-md: pílula, medida, select, segmentado) · 36 (--h-lg) ── */
body[data-layout="m4"] #form .lm-grad{min-height:var(--h-md)}
body[data-layout="m4"] #form .lm-grad-opt{min-height:calc(var(--h-md) - 2px)}

/* ── Pendências da avaliação (09/out) ── */
/* DM-17: cartões de mesmas opções em linha (rótulo | pílulas), sem faixa de título — a grade fica num invólucro interno
   (o cartão segue o padrão m4; as regras antigas da barra lateral, com !important, não o alcançam) */
body[data-layout="m4"] #form .micro>.lm-linha-in:not(#_){display:grid;grid-template-columns:minmax(110px,160px) 1fr;align-items:center;column-gap:10px;margin:0;padding:6px 8px 6px 10px}
body[data-layout="m4"] #form .micro>.lm-linha-in:has(.achado-painel):not(#_){grid-template-columns:1fr;row-gap:6px}
body[data-layout="m4"] #form .lm-linha-in .radio-grid:not(#_){align-items:flex-start}
body[data-layout="m4"] #form .lm-linha-in .radio-grid>.achado-painel:not(#_){flex:1 1 100%}
body[data-layout="m4"] #form .lm-linha-in>.micro-label:not(#_){align-self:center;background:none;border:0;margin:0;padding:0;font-size:11.5px;font-weight:800;color:var(--text);line-height:1.3;text-transform:none}
body[data-layout="m4"] #form .lm-linha-in>.inline-options:not(#_){margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
/* AB-13: Menopausa/TRH dos antecedentes = pílulas comuns numa linha própria (não caixas de medida) */
body[data-layout="m4"] #form .gyn-history-card .gyn-hist-flags:not(#_){grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
body[data-layout="m4"] #form .gyn-history-card .gyn-hist-flags>.pill:not(#_):not(#__){width:auto;flex:0 0 auto;margin-left:0}
body[data-layout="m4"] #form .gyn-history-card .inline-options>.measure-box:has(input[type="date"]):not(#_){grid-column:span 2}
/* OM-04: título da seção obstétrica e dos Antecedentes = cabeçalho de órgão (ícone à esquerda, ações à direita) */
body[data-layout="m4"] #form .obst-section>.obst-section-title:not(#_){display:flex;align-items:center;justify-content:space-between;gap:8px}
body[data-layout="m4"] #form :is(.obst-section>.obst-section-title,.gyn-history-card>.organ-head,.obst-age-card>.organ-head) .organ-ico:not(#_){margin-right:8px}
/* SH-08: no Editor a identificação tem UMA porta — a caixa movida para o topo da folha */
body[data-layout="m4"].lm-ident-no-editor :is(.exam-bar .exam-bar-pat,.report-meta .lm-ident-add):not(#_){display:none} /* T-14: sem :has() no body */
/* SH-05(1): na tela Compass os chips de estruturas do laudo repetiam a faixa ao lado — ficam só no Editor */
body[data-layout="m4"] #workspace:not(.lm-mode-editor) .lm-doc-orgs:not(#_){display:none}
/* AB-19: pílula que quebra linha fica alinhada à esquerda como as vizinhas */
body[data-layout="m4"] #form .radio-pill{text-align:left;justify-content:flex-start}
/* AB-20: gaveta achatada sem recuo extra (um só recuo de 8 px no cartão) */
body[data-layout="m4"] #form .micro>details.drawer.lm-flat>.drawer-body:not(#_){padding-left:0!important;margin-left:0;border-left:0}
/* OM-22: classificação TI-RADS incompleta = selo âmbar de pendência (era cinza) */
body[data-layout="m4"] #form .tirads-badge.tr0:not(#_){background:var(--pend-soft);color:var(--pend-ink);border:1px solid var(--pend-line)}
/* OM-19: Menopausa/TRH como pílulas comuns (eram botões largos de 34 px) */
body[data-view="exam"][data-layout="m4"] #form .gyn-history-card label.pill:not(#_){margin-left:6px;align-self:flex-end;flex:0 0 auto;width:auto;min-width:0;min-height:var(--h-md)!important;height:auto;justify-content:flex-start}
/* OM-20: conteúdo do cartão da idade gestacional com o recuo de 8 px dos demais */
body[data-layout="m4"] #form .obst-age-card .micro>:is(.ig-ref-tabs,.ig-ref-block,.radio-grid):not(#_){margin-left:8px;margin-right:8px}
/* AB-18: gradação que quebrou linha — pílulas separadas (cada uma com contorno), nome do achado acima */
body[data-layout="m4"] #form .lm-grad.lm-grad-quebra{display:flex;flex-wrap:wrap;gap:4px;border:0;background:transparent;overflow:visible}
body[data-layout="m4"] #form .lm-grad.lm-grad-quebra .lm-grad-name{flex:1 1 100%;background:transparent;border:0;padding:0 0 1px;font-size:var(--fs-xs,11px);font-weight:700;color:var(--muted)}
body[data-layout="m4"] #form .lm-grad.lm-grad-quebra .lm-grad-seg{gap:4px}
body[data-layout="m4"] #form .lm-grad.lm-grad-quebra .lm-grad-opt{border:1px solid var(--field-line);border-radius:var(--r-ctl);padding:3px 10px}
body[data-layout="m4"] #form .lm-grad.lm-grad-quebra .lm-grad-opt:last-child{border-right:1px solid var(--field-line)}
/* DM-16: título do cartão quebra em 2 linhas em vez de cortar ("QSD — HEPATORRENAL…" a 1700 px) */
body[data-layout="m4"] #form :is(.organ-head,.obst-section-title) .organ-title-text{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15}
/* DM-18: rótulo de grupo solto do MSK ("LIGAMENTOS COLATERAIS") = cabeçalho fino de seção, com régua, na largura toda */
body[data-layout="m4"] #form .organ>.msk-section-head{font-size:var(--fs-xs,11px);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 2px 3px;margin:0 0 2px;background:transparent}
/* AB-21: no cartão, medidas → pílulas → linhas "+" juntas no pé (a lista gerada nascia entre as pílulas) */
body[data-layout="m4"] #form .inline-options>details.lm-gerada{order:9}
/* SH-05(3): "Achados rápidos" numa linha — título à esquerda do campo (a linha própria do título custava ~30 px de altura útil) */
body[data-layout="m4"] #qmBar.qm-bar:not(#_):not(#__){display:flex;flex-direction:row;align-items:center;gap:6px 10px;flex-wrap:wrap}
body[data-layout="m4"] #qmBar>:is(.qm-macros,.qm-result):not(#_){flex:1 1 100%;min-width:0}
body[data-layout="m4"] #qmBar>.qm-macros:empty{display:none}
body[data-layout="m4"] #qmBar>.qm-head-row:not(#_){flex:0 0 auto;margin:0}
body[data-layout="m4"] #qmBar>.qm-row:not(#_){flex:1 1 auto;min-width:0;margin:0}

/* ═══ Padrão único de dimensões e fontes do formulário (27/out) — medido em 8 exames: o abdome já seguia, os obstétricos
   e os Antecedentes destoavam (campos de 30–32 px a 11,5–12,5 px, abas de IG de 32 px a 11 px, pílulas de 30 px).
   Régua: pílula, campo, seletor e botão = 26 px (--lm-h) com texto de 12 px; campo com valor em 600. ═══ */
body[data-view="exam"][data-layout="m4"] #form :is(input[type=text],input[type=number],input[type=date],input:not([type]),select:not(.unit-sel)):not(#_):not(#__):not(#___){height:var(--lm-h)!important;min-height:var(--lm-h)!important;font-size:12px!important;font-weight:600!important}
body[data-view="exam"][data-layout="m4"] #form :is(.ig-ref-tab,.ig-dum-unknown,.gemeo-add):not(#_):not(#__){height:var(--lm-h)!important;min-height:var(--lm-h)!important;font-size:12px!important;padding:0 10px!important;line-height:1!important}
body[data-view="exam"][data-layout="m4"] #form .gyn-hist-flags>.pill:not(#_):not(#__):not(#___){height:var(--lm-h)!important;min-height:var(--lm-h)!important;font-size:12px!important}
/* sistemas da morfológica = caixas: mesmo rótulo em caixa alta das demais (a cor e o tamanho vêm de layout-f.css) */
body[data-layout="m4"] #form .obst-mrow>.micro-label:not(#_){text-transform:uppercase;letter-spacing:.06em}
/* Conteúdo da caixa flui na HORIZONTAL (27/out, "organização sem grandes vazios"): a medida não toma mais a linha
   inteira — as pílulas sobem para o lado quando cabem (alinhadas pela base do campo); a sublinha rotulada
   (microSubRow: Contornos/Bordas, parótidas…) põe o rótulo à esquerda e as opções à direita, como as linhas da F. */
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow)>.inline-options:not(#_){align-items:flex-end;column-gap:14px!important}
body[data-view="exam"][data-layout="m4"] .workspace-layout .form-panel :is(.organ,.obst-section)>.micro:not(.micro-free):not(.obst-mrow) .inline-options>.measure-line:not(.micro-sub):not(#_){flex:0 1 auto!important;width:auto!important}
body[data-layout="m4"] #form .micro .measure-line.micro-sub:not(#_){display:grid!important;grid-template-columns:minmax(64px,max-content) minmax(0,1fr);column-gap:10px;align-items:center}
body[data-layout="m4"] #form .micro .measure-line.micro-sub>.radio-grid:not(#_){width:auto!important;min-width:0}
body[data-layout="m4"] #form .micro .measure-line.micro-sub>.mini-label:not(#_){min-width:0!important;margin:0} /* o style inline (86 px) empurrava as pílulas para a 2ª linha */
