/* MedControl Web — folha de estilos
   Ideia: cada módulo é uma "pasta de prontuário" com a sua cor; dentro do módulo a linha do topo e os botões assumem essa cor. */
@font-face{font-family:"Public Sans";src:url(fontes/PublicSans-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Public Sans";src:url(fontes/PublicSans-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Public Sans";src:url(fontes/PublicSans-Bold.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --papel:#F4F6F6; --branco:#fff; --tinta:#1A2730; --tinta2:#4B5A63; --linha:#D5DBDF; --linha2:#E7ECEE;
  --mod:#1D5C8C; --mod-escuro:#143F61; --mod-claro:#E8F0F6;
  --verde:#2E7D5B; --vermelho:#B42318; --laranja:#B54708; --sel:#E8F0F6;
  --raio:6px;
}
.m-same{--mod:#1D5C8C;--mod-escuro:#123E60;--mod-claro:#E6EFF6}
.m-farmacia{--mod:#2E7D5B;--mod-escuro:#1B5139;--mod-claro:#E5F2EB}
.m-lab{--mod:#6B46A8;--mod-escuro:#462C72;--mod-claro:#EFEAF7}
.m-cad{--mod:#A35D17;--mod-escuro:#6E3D0C;--mod-claro:#F8EEE3}
.m-admin{--mod:#4A5560;--mod-escuro:#2C343B;--mod-claro:#ECEFF1}

*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}
body{font-family:"Public Sans","Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.45;color:var(--tinta);background:var(--papel);
  font-variant-numeric:tabular-nums}
a{color:var(--mod);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--mod);outline-offset:2px}

/* cabeçalho fixo: marca, Menu inicial, módulo atual, usuário; a linha de baixo tem a cor do módulo */
.cabecalho{position:sticky;top:0;z-index:40}
.topo{height:50px;background:var(--branco);display:flex;align-items:center;gap:14px;padding:0 24px}
.topo .marca{display:flex;align-items:baseline;gap:10px;color:var(--tinta);font-weight:700;font-size:17px;letter-spacing:-.2px;white-space:nowrap}
.topo .marca small{font-weight:400;font-size:12px;color:var(--tinta2)}
.topo .marca:hover{text-decoration:none}
.btn-inicio{display:inline-flex;align-items:center;gap:7px;margin-left:8px;padding:6px 12px 6px 10px;border:1px solid var(--linha);
  border-radius:999px;color:var(--tinta);font-weight:600;font-size:13px;background:#fff;white-space:nowrap}
.btn-inicio svg{width:17px;height:17px;color:var(--mod)}
.btn-inicio:hover{text-decoration:none;border-color:var(--mod);background:var(--mod-claro)}
.topo .usr{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:13px;white-space:nowrap}
.topo .usr .nome{color:var(--tinta)}
.topo .usr .sair{color:var(--tinta2);padding:5px 10px;border-radius:5px}
.topo .usr .sair:hover{background:#F0F3F4;text-decoration:none;color:var(--tinta)}

.cabecalho{border-bottom:4px solid var(--mod);box-shadow:none}
.btn-modulo{display:inline-flex;align-items:center;gap:7px;padding:6px 13px 6px 10px;border-radius:999px;background:var(--mod);
  color:#fff;font-weight:600;font-size:13px;white-space:nowrap}
.btn-modulo svg{width:17px;height:17px}
.btn-modulo:hover{text-decoration:none;background:var(--mod-escuro)}
body.m-inicio .cabecalho{border-bottom-color:var(--linha)}

main{padding:22px 28px 48px;max-width:1560px;margin:0 auto}
main.centro{max-width:1080px}
.pag-login{min-height:100vh}
.login-rodape{text-align:center;margin:16px 0 0;font-size:13px}

h1{font-size:22px;line-height:1.2;margin:0 0 4px;letter-spacing:-.3px}
h2{font-size:16px;margin:24px 0 10px}
.sub{color:var(--tinta2);margin:0 0 18px}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:16px 18px;margin-bottom:16px}
.grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px}
.grade .l2{grid-column:span 2}.grade .l3{grid-column:span 3}.grade .l4{grid-column:1/-1}
label{display:block;font-size:12.5px;color:#33434C;margin-bottom:3px;font-weight:600}
label .obr{color:var(--vermelho)}
input,select,textarea{width:100%;padding:7px 9px;border:1px solid var(--linha);border-radius:5px;font:inherit;background:#fff;color:var(--tinta)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--mod-claro);border-color:var(--mod)}
input[readonly]{background:#F1F3F4;color:#33434C}
textarea{min-height:60px}input[type=checkbox]{width:auto;accent-color:var(--mod)}
.botoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.btn{display:inline-block;padding:8px 14px;border-radius:5px;border:1px solid var(--linha);background:#fff;color:var(--tinta);
  cursor:pointer;font:inherit;font-weight:600;line-height:1.2}
.btn:hover{text-decoration:none;background:#F7F9F9}
.btn.pri{background:var(--mod);border-color:var(--mod);color:#fff}.btn.pri:hover{background:var(--mod-escuro)}
.btn.ok{background:var(--verde);border-color:var(--verde);color:#fff}
.btn.perigo{background:#fff;border-color:#F1B4AE;color:var(--vermelho)}
.btn.lar{background:var(--laranja);border-color:var(--laranja);color:#fff}
.btn.peq{padding:4px 9px;font-size:12px}
.msgs{margin-bottom:14px}.msg{padding:10px 14px;border-radius:5px;margin-bottom:8px;border:1px solid}
.msg.ok{background:#ECF7F1;border-color:#A9DCC0;color:#145236}.msg.erro{background:#FEF2F1;border-color:#F6C6C1;color:#8F1D14}
.msg.aviso{background:#FFF8E8;border-color:#F4D58D;color:#7A3A06}
table.t{width:100%;border-collapse:collapse;background:#fff}
table.t th{background:#F0F3F4;text-align:left;font-size:12px;font-weight:600;color:#40505A;padding:8px;border-bottom:1px solid var(--linha);white-space:nowrap}
table.t td{padding:7px 8px;border-bottom:1px solid var(--linha2);vertical-align:top}
table.t tr:hover td{background:#FAFBFB}table.t td.n,table.t th.n{text-align:right}
.tab-wrap{overflow:auto;border:1px solid var(--linha);border-radius:var(--raio)}
.filtros{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
.filtros>div{min-width:110px}.filtros .largo{min-width:260px;flex:1}
.st{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.st-AGUARDANDO{background:#EEF1F2;color:#33434C}.st-OBS{background:#E6EFF6;color:#1D5C8C}
.st-INTERNADO{background:#FDECEA;color:#B42318}.st-TRANSFERIDO{background:#EFEAF7;color:#5B3A92}
.st-ALTA{background:#E5F2EB;color:#1F6146}.st-OBITO{background:#1A2730;color:#fff}
.st-PENDENTE{background:#FFF4DC;color:#9A4A06}.st-PROCESSADA{background:#E5F2EB;color:#1F6146}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:22px}
.kpi{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:12px 14px;color:var(--tinta);border-top:3px solid var(--mod)}
a.kpi:hover{text-decoration:none;border-color:var(--mod)}
.kpi b{display:block;font-size:26px;line-height:1.1;font-weight:700}.kpi span{color:var(--tinta2);font-size:12.5px}
.info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 16px;font-size:13px}
.info div span{display:block;color:var(--tinta2);font-size:11.5px}
.abas{display:flex;gap:2px;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.abas a{padding:8px 14px;border:1px solid transparent;border-bottom:none;border-radius:5px 5px 0 0;color:#40505A}
.abas a.ativo{background:#fff;border-color:var(--linha);color:var(--mod);font-weight:700;margin-bottom:-1px}
.abas a .ok{color:var(--verde)}
.painel{background:#fff;border:1px solid var(--linha);border-top:none;border-radius:0 0 var(--raio) var(--raio);padding:16px}
.busca{position:relative}.busca .lista{position:absolute;z-index:20;left:0;right:0;top:100%;background:#fff;border:1px solid var(--linha);
  border-radius:0 0 5px 5px;max-height:300px;overflow:auto;box-shadow:0 8px 20px rgba(26,39,48,.14);display:none}
.busca .lista div{padding:7px 10px;cursor:pointer;border-bottom:1px solid #F0F3F4}.busca .lista div:hover,.busca .lista div.foco{background:var(--mod-claro)}
.busca .lista small{color:var(--tinta2)}
.cns-ok{color:var(--verde);font-weight:600}
.cns-achados{margin-top:6px;padding:8px 10px;border:1px solid var(--linha);border-radius:5px;background:#FAFBFB;font-size:13px}
.busca input.escolhido{font-weight:600;background:var(--mod-claro)}
.sel-info{font-size:12px;color:#40505A;margin-top:4px}
.dim{color:var(--tinta2)}.vazio{padding:20px;text-align:center;color:var(--tinta2)}
.venc{color:var(--vermelho);font-weight:700}
.direita{text-align:right}
table.t td{overflow-wrap:anywhere}table.t td:first-child,table.t td.n{overflow-wrap:normal;white-space:nowrap}td.acoes{white-space:nowrap;text-align:right;width:1%;overflow-wrap:normal}td.acoes form{display:inline}
table.t td a{font-weight:600}

/* ---------- menu principal: pastas de prontuário ---------- */
.saudacao{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:8px 0 46px;flex-wrap:wrap}
.saudacao h1{font-size:26px}
.pastas{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:34px 22px}
.pasta{position:relative;display:flex;flex-direction:column;min-height:196px;background:var(--branco);border:1px solid var(--linha);
  border-top:5px solid var(--mod);border-radius:0 var(--raio) var(--raio) var(--raio);padding:20px 20px 16px;color:var(--tinta)}
.pasta::before{content:"";position:absolute;left:-1px;top:-27px;width:46%;height:22px;background:var(--mod);border-radius:7px 14px 0 0}
.pasta .orelha{position:absolute;left:14px;top:-24px;color:#fff;font-size:12px;font-weight:600;z-index:1}
.pasta:hover{text-decoration:none;border-color:var(--mod);box-shadow:0 6px 18px rgba(26,39,48,.08)}
.pasta svg{width:42px;height:42px;color:var(--mod);margin-bottom:12px}
.pasta b{font-size:20px;line-height:1.2}
.pasta .desc{color:var(--tinta2);font-size:13px;margin-top:4px}
.pasta .rodape{margin-top:auto;padding-top:14px;font-size:12.5px;color:var(--mod);font-weight:600}
.pasta.bloq{opacity:.45;pointer-events:none}

/* página inicial do módulo */
.cab-mod{display:flex;gap:16px;align-items:center;margin-bottom:20px}
.cab-mod svg{width:46px;height:46px;color:var(--mod)}
.grupo-mod{margin-bottom:24px}
.grupo-mod h2{margin:0 0 10px;font-size:15px;color:var(--mod-escuro)}
.atalhos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.atalho{position:relative;display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--linha2);border-radius:10px;
  padding:14px 34px 14px 14px;color:var(--tinta);box-shadow:0 1px 2px rgba(26,39,48,.05);
  transition:border-color .15s,box-shadow .15s,transform .15s}
.atalho::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--mod);opacity:.85}
.atalho:hover,.atalho:focus-visible{text-decoration:none;border-color:var(--mod);box-shadow:0 6px 16px -8px rgba(26,39,48,.28);transform:translateY(-1px)}
.atalho-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:var(--mod-claro);color:var(--mod)}
.atalho-ic svg{width:22px;height:22px}
.atalho:hover .atalho-ic{background:var(--mod);color:#fff}
.atalho-txt{min-width:0}
.atalho b{display:block;font-size:14.5px;font-weight:600;line-height:1.3}
.atalho-txt span{display:block;color:var(--tinta2);font-size:12.5px;margin-top:3px;line-height:1.4}
.atalho-seta{position:absolute;right:12px;top:50%;width:16px;height:16px;margin-top:-8px;fill:none;stroke:var(--tinta2);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;opacity:.45;transition:transform .15s,opacity .15s,stroke .15s}
.atalho:hover .atalho-seta{opacity:1;stroke:var(--mod);transform:translateX(3px)}
.atalho.sem{color:var(--tinta2);background:#FAFBFB;box-shadow:none;pointer-events:none}
.atalho.sem::before{background:var(--linha)}.atalho.sem .atalho-ic{background:var(--linha2);color:var(--tinta2)}
.grupo-mod h2{display:flex;align-items:center;gap:10px}
.grupo-mod h2::after{content:"";flex:1;height:1px;background:var(--linha2)}
@media (prefers-reduced-motion:reduce){.atalho,.atalho-seta{transition:none}.atalho:hover{transform:none}}

/* campo com botão ao lado (ex.: prontuário na Recepção) */
.campo-acao{display:flex;gap:8px;align-items:center}
.campo-acao input{flex:1;min-width:0}
#pront-vis{font-weight:700}#pront-vis.sem{color:var(--vermelho);font-weight:600;font-size:12.5px}
/* janela (pop-up) */
dialog.dialogo{border:none;border-top:4px solid var(--mod);border-radius:8px;padding:22px 24px;width:min(620px,94vw);
  box-shadow:0 24px 60px rgba(26,39,48,.28);color:var(--tinta)}
dialog.dialogo::backdrop{background:rgba(26,39,48,.45)}
dialog.dialogo h2{margin:0 0 14px;font-size:18px}
dialog.dialogo .info b{font-weight:600}

/* permissões */
table.perm td,table.perm th{text-align:center}table.perm td:first-child,table.perm th:first-child{text-align:left}
.etq{display:inline-block;padding:1px 7px;border-radius:4px;font-size:11.5px;font-weight:600;background:var(--linha2);color:#33434C;margin:1px 2px 1px 0}
.etq.mod-same{background:#E6EFF6;color:#1D5C8C}.etq.mod-farmacia{background:#E5F2EB;color:#1F6146}
.etq.mod-lab{background:#EFEAF7;color:#5B3A92}.etq.mod-cad{background:#F8EEE3;color:#7A450F}

.login{max-width:400px;margin:9vh auto;background:#fff;border:1px solid var(--linha);border-top:5px solid var(--mod);border-radius:var(--raio);padding:28px}
.login h1{color:var(--tinta)}

@media (max-width:900px){.grade,.info{grid-template-columns:1fr 1fr}main{padding:16px}.topo{padding:0 12px}.topo .marca small,.topo .usr .nome{display:none}
  .btn-inicio,.btn-modulo{font-size:12px;padding:5px 9px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
/* impressão */
.so-imp{display:none}
@media print{.cabecalho,.nao-imp,.botoes,.filtros,.msgs{display:none!important}.so-imp{display:block}
  body{background:#fff;font-size:12px}main{padding:0}.cartao{border:none;padding:0}.tab-wrap{border:none}
  table.t th{background:#eee!important;-webkit-print-color-adjust:exact}a{color:#000}}
.cab-imp{border-bottom:2px solid #000;margin-bottom:12px;padding-bottom:6px}
.cab-imp b{font-size:15px}

/* compatibilidade: telas da versão anterior (menu lateral) enquanto o serviço não é reiniciado */
.layout{display:flex;min-height:calc(100vh - 52px)}
.lateral{width:240px;flex-shrink:0;background:var(--mod-escuro);color:#fff;padding:0 0 24px;position:sticky;top:52px;height:calc(100vh - 52px);overflow:auto}
.lateral .cab{padding:18px 18px 16px;background:var(--mod);display:flex;gap:12px;align-items:center}
.lateral .cab svg{width:34px;height:34px;flex-shrink:0}
.lateral .cab b{display:block;font-size:17px;line-height:1.15}.lateral .cab small{display:block;font-size:11.5px;opacity:.85}
.lateral .voltar{display:block;padding:10px 18px;font-size:12.5px;color:rgba(255,255,255,.8)}
.lateral h4{margin:18px 18px 4px;font-size:12px;font-weight:600;color:rgba(255,255,255,.6)}
.lateral a.item{display:block;padding:7px 18px 7px 15px;color:rgba(255,255,255,.92);border-left:3px solid transparent;font-size:13.5px}
.lateral a.item.ativo{background:rgba(255,255,255,.14);border-left-color:#fff;font-weight:600}
.conteudo{flex:1;min-width:0}
svg{max-width:100%}
/* importação do IBGE: cidades sem DDD em destaque no início */
.sem-ddd{border:2px solid var(--vermelho);border-radius:8px;padding:10px 14px 12px;margin:0 0 14px;background:#fff8f6}
.sem-ddd legend{font-weight:700;color:var(--vermelho);padding:0 6px}
.sem-ddd p{margin:2px 0 10px}
.sem-ddd-lista{display:flex;flex-wrap:wrap;gap:8px 18px}
.sem-ddd-item{display:flex;align-items:center;gap:8px;font-weight:600}
.sem-ddd-item select{width:auto;min-width:80px}
tr.linha-sem-ddd td{background:#fff8f6}
/* formulários compactos: cabem numa tela sem rolar */
.form-compacto{padding:10px 14px}
.form-compacto .grade{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px 10px}
.form-compacto label{font-size:11px;margin-bottom:1px;color:var(--tinta2)}
.form-compacto input,.form-compacto select,.form-compacto textarea{padding:4px 7px;font-size:13px;border-radius:4px}
.form-compacto textarea{min-height:32px;height:32px;resize:vertical}
.form-compacto .sel-info{font-size:11px;margin-top:1px}
.form-compacto .campo-acao{gap:4px}
.form-compacto .campo-acao .btn.peq{padding:3px 7px;font-size:11.5px}
.form-compacto .botoes{margin-top:10px}
/* modo pop-up (formulário dentro da janela sobre a listagem) */
body.popup{background:var(--branco)}
body.popup main{padding:4px 6px 8px;max-width:none}
body.popup h1{display:none}
body.popup .sub{font-size:11.5px;margin:0 0 6px}
body.popup .form-compacto{border:none;padding:0;margin:0}
body.popup .msgs{margin-bottom:6px}body.popup .msg{padding:6px 10px;font-size:12.5px}
dialog.dlg-cad{width:min(1240px,97vw);max-height:94vh;padding:10px 14px 12px;display:none;flex-direction:column}
dialog.dlg-cad[open]{display:flex}
.dlg-cad-topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.dlg-cad-topo h2{margin:0;font-size:17px}
dialog.dlg-cad iframe{width:100%;height:420px;max-height:calc(94vh - 60px);border:none;display:block}
@media (max-width:900px){.form-compacto .grade{grid-template-columns:1fr 1fr}.form-compacto .grade .l3{grid-column:1/-1}}
.form-compacto label[style*="margin-top"]{margin-top:16px!important;font-size:12.5px}
/* Cartão SUS: botões empilhados ao lado do campo */
.acoes-pilha{display:flex;flex-direction:column;gap:2px;flex:none}
.acoes-pilha .btn.peq,.form-compacto .acoes-pilha .btn.peq{padding:1px 8px;font-size:10.5px;line-height:1.4;text-align:center;white-space:nowrap}
.form-compacto .campo-acao{align-items:center}
.form-compacto #cns{font-variant-numeric:tabular-nums;letter-spacing:.3px}
/* campo condicional escondido (ex.: SIS Pré-natal): o campo seguinte ocupa a coluna livre até a borda */
.form-compacto .grade > div[hidden] + div:not(.l2):not(.l3):not(.l4){grid-column:span 2}
/* botões empilhados com a mesma altura total do campo, alinhados aos demais */
.form-compacto .campo-acao{align-items:stretch}
.acoes-pilha .btn.peq,.form-compacto .acoes-pilha .btn.peq{flex:1;display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:10px;line-height:1.1;min-height:0}
/* rótulo com ações ao lado (Cartão SUS: Procurar / CadSUS) */
.rotulo-linha{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:3px;height:16px}
.rotulo-linha label{margin:0}
.form-compacto .rotulo-linha{margin-bottom:1px}
.acoes-rotulo{display:flex;gap:4px}
.chip{display:inline-flex;align-items:center;gap:3px;height:15px;padding:0 6px 0 4px;border-radius:8px;font-family:inherit;font-size:10px;font-weight:600;line-height:1;
  border:1px solid var(--mod);background:var(--mod-claro);color:var(--mod-escuro);cursor:pointer;text-decoration:none;white-space:nowrap}
.chip:hover{background:var(--mod);color:#fff;text-decoration:none}
.chip svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.chip:focus-visible{outline:2px solid var(--mod);outline-offset:1px}
.chip-sus{border-color:#0B5CAB;background:#0B5CAB;color:#fff}
.chip-sus:hover{background:#084886;border-color:#084886}
.chip-sus svg.cruz{fill:#fff;stroke:none;width:9px;height:9px}
.chip .ext{font-size:9px;opacity:.85;margin-left:1px}
.form-compacto .rotulo-linha{height:15.95px}
/* aviso de CPF já cadastrado: flutua sobre o formulário, sem empurrar os campos */
.grade > div{position:relative}
.cns-achados.flutuante{position:absolute;z-index:20;left:0;top:100%;width:max(100%,480px);margin-top:2px;box-shadow:0 6px 18px rgba(26,39,48,.18)}
.btn.perigo-forte{background:#FDECEA;border-color:var(--vermelho);color:var(--vermelho);font-weight:700}
.btn.perigo-forte:hover{background:var(--vermelho);color:#fff}
/* olho nos campos de senha */
.campo-senha{position:relative;display:block}
.campo-senha input{padding-right:38px}
.campo-senha .olho{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:30px;height:28px;display:flex;align-items:center;justify-content:center;
  border:0;background:transparent;color:var(--tinta2);cursor:pointer;border-radius:4px;padding:0}
.campo-senha .olho:hover{color:var(--mod);background:var(--mod-claro)}
.campo-senha .olho:focus-visible{outline:2px solid var(--mod)}
.campo-senha .olho svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* senha provisória */
.senha-prov{display:flex;align-items:center;gap:10px;margin:10px 0}
.senha-prov code{font-size:26px;letter-spacing:3px;padding:8px 14px;background:var(--mod-claro);border:1px dashed var(--mod);border-radius:6px;font-family:ui-monospace,Consolas,monospace}
.barra{height:8px;background:var(--linha2);border-radius:4px;overflow:hidden}
.barra span{display:block;height:100%;width:0;background:var(--mod);transition:width .2s}
/* ===== Tela no formato do sistema em Access (SAME - Recepção) ===== */
.ficha-sistema{max-width:1100px;margin:0 auto;background:var(--branco);border:1px solid var(--linha);border-top:4px solid var(--mod);border-radius:var(--raio);overflow:hidden}
.fs-titulo{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;background:var(--mod-claro);border-bottom:1px solid var(--linha);font-weight:700;color:var(--mod-escuro);letter-spacing:.3px}
.fs-dica{font-weight:400;font-size:12.5px;color:var(--tinta2)}
.fs-grade{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr) max-content minmax(0,1fr);gap:8px 10px;align-items:center;padding:14px 16px 10px}
.fs-rot{margin:0;text-align:right;font-size:13px;font-weight:600;color:var(--tinta2);white-space:nowrap}
.fs-s3{grid-column:span 3;min-width:0}.fs-s5{grid-column:span 5}
.fs-grade input,.fs-grade select{padding:5px 8px}
.fs-centro{text-align:center}
.fs-grade .busca .lista{z-index:30}
.fs-link{display:inline-block;font-size:12px;margin-top:2px}
.fs-cid .busca > label{display:none}
.fs-painel{margin:4px 16px 0;border-radius:5px;overflow:hidden;border:1px solid #0f3d23}
.fs-painel-tit{background:#1fd655;color:#062b14;text-align:center;font:700 14px/1.6 ui-monospace,Consolas,"Courier New",monospace;letter-spacing:1px}
.fs-painel-corpo{background:#1c2429;color:#4be37d;padding:8px 12px;min-height:58px;font:600 13.5px/1.6 ui-monospace,Consolas,"Courier New",monospace}
.fs-painel-corpo span{color:#7fe8a3}.fs-painel-corpo b{color:#fff;font-weight:600}.fs-painel-corpo i{font-style:normal;color:#4be37d;margin:0 6px}
.fs-status{margin:10px 16px;padding:10px;text-align:center;font:800 40px/1.1 "Public Sans",Arial,sans-serif;letter-spacing:6px;color:#7d8a92;background:#EEF1F2;border:1px solid var(--linha);border-radius:5px;text-shadow:1px 1px 0 #fff}
.fs-status[data-st="OBSERVAÇÃO"]{color:var(--mod)}.fs-status[data-st="INTERNADO"]{color:#B54708}.fs-status[data-st="TRANSFERÊNCIA"]{color:#5B3A92}
.fs-botoes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:0 16px 12px}
.fs-bt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:62px;padding:8px 6px;border:1px solid var(--linha);border-radius:5px;
  background:linear-gradient(#fff,#F1F4F5);color:var(--tinta);font-family:inherit;font-size:12.5px;font-weight:700;line-height:1.2;text-align:center;cursor:pointer;text-decoration:none}
.fs-bt:hover{border-color:var(--mod);background:var(--mod-claro);text-decoration:none}
.fs-bt:focus-visible{outline:2px solid var(--mod);outline-offset:1px}
.fs-bt svg{width:26px;height:26px;fill:none;stroke:#8A5A2B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fs-bt svg.ok{stroke:#2E7D5B}.fs-bt svg.obs{stroke:var(--mod)}.fs-bt svg.int{stroke:#B54708}.fs-bt svg.tra{stroke:#5B3A92}.fs-bt svg.can{stroke:#B42318}
.fs-rodape{display:flex;justify-content:space-between;gap:10px;padding:6px 14px;border-top:1px solid var(--linha);background:#F6F8F8;font-size:12.5px;color:var(--tinta2)}
@media (max-width:900px){.fs-grade{grid-template-columns:max-content minmax(0,1fr)}.fs-s3,.fs-s5{grid-column:auto}.fs-rot{text-align:left}.fs-botoes{grid-template-columns:repeat(3,1fr)}}
/* Recepção dentro do pop-up: sem moldura dupla */
body.popup .ficha-sistema{border:none;max-width:none}
body.popup .fs-titulo{display:none}
/* CID-10: código principal e subcódigos */
.busca.cid10 .lista{max-height:340px;overflow-y:auto}
.busca.cid10 .lista .cid-tit{cursor:default;color:var(--tinta2);font-size:12.5px;background:#F6F8F8}
.busca.cid10 .lista .cid-cat{background:#F1F5F8;border-top:1px solid var(--linha)}
.busca.cid10 .lista .cid-cat b{color:var(--mod-escuro)}
.busca.cid10 .lista .cid-sub{padding-left:30px;position:relative}
.busca.cid10 .lista .cid-sub::before{content:"";position:absolute;left:16px;top:0;bottom:50%;width:8px;border-left:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.busca.cid10 .lista small{color:var(--tinta2)}
.busca.cid10 .lista .cid-cat{display:flex;align-items:center;gap:6px}
.busca.cid10 .lista .cid-mais{flex:none;width:20px;height:20px;padding:0;border:1px solid var(--mod);border-radius:4px;background:#fff;color:var(--mod);
  font:700 15px/1 inherit;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.busca.cid10 .lista .cid-mais:hover{background:var(--mod);color:#fff}
.busca.cid10 .lista .cid-mais.vazio{border:none;background:transparent;cursor:default}
.busca.cid10 .lista .cid-sub{padding-left:44px}
.busca.cid10 .lista .cid-sub::before{left:26px}
.fs-botoes-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.fs-botoes-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fs-bt[disabled]{opacity:.45;cursor:not-allowed}
.fs-forte{font-weight:700}
.fs-painel + .fs-painel{margin-top:8px}
.fs-painel-azul{border-color:#173a5c}
.fs-painel-azul .fs-painel-tit{background:#5aa9e6;color:#08243d}
.fs-painel-azul .fs-painel-corpo{color:#9fd0f5}.fs-painel-azul .fs-painel-corpo span{color:#bfe0fa}.fs-painel-azul .fs-painel-corpo i{color:#9fd0f5}
.fs-status[data-st="ALTA"]{color:var(--verde)}.fs-status[data-st="ÓBITO"]{color:#1A2730}.fs-status[data-st="TRANSFERIDO"]{color:#5B3A92}
.fs-status[data-st="OBS"]{color:var(--mod)}
/* ===== SAME - Monitoramento e Movimentações (como no Access) ===== */
.mon{background:var(--branco);border:1px solid var(--linha);border-top:4px solid var(--mod);border-radius:var(--raio);overflow:hidden}
.mon-filtros{padding:10px 14px 0;margin:0}
.mon-unidade{text-align:center;font-size:20px;color:#7d8a92;padding:8px 10px;background:#F4F6F6;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.mon-cab,.mon-dados .l1{display:grid;grid-template-columns:150px 92px 70px 72px 88px 52px minmax(160px,1fr) 46px 90px 100px 110px;gap:0 6px;align-items:center}
.mon-cab{padding:6px 10px 6px 0;font-size:12px;color:var(--tinta2);background:#EEF1F2;border-bottom:1px solid var(--linha)}
.mon-cab span:first-child{padding-left:10px;grid-column:auto}
.mon-cab .v,.mon-dados .v{color:#C4161C;font-weight:700}
.mon-lista{max-height:calc(100vh - 330px);min-height:240px;overflow-y:auto;background:#fff}
.mon-reg{display:grid;grid-template-columns:150px minmax(0,1fr);border-bottom:3px solid #1A2730;cursor:pointer;outline:none}
.mon-reg:focus-visible{box-shadow:inset 0 0 0 2px var(--mod)}
.mon-reg[aria-selected="true"] .mon-dados{background:#FFF8D6}
.mon-reg[aria-selected="true"] .mon-st{box-shadow:inset 6px 0 0 #FFD43B}
.mon-st{display:flex;align-items:flex-start;justify-content:center;padding-top:8px;font-weight:800;font-size:15px;letter-spacing:.5px;color:#fff;background:#2C3E9E;text-align:center}
.mon-st.st-INTERNADO{background:#E31B23}.mon-st.st-OBS{background:#2C3E9E}.mon-st.st-TRANSFERIDO{background:#2C3E9E}
.mon-st.st-AGUARDANDO{background:#7d8a92}.mon-st.st-ALTA{background:#2E7D5B}.mon-st.st-OBITO{background:#1A2730}
.mon-dados{font-size:12.5px;min-width:0}
.mon-dados > div{border-bottom:1px solid var(--linha2);padding:3px 6px;min-height:22px}
.mon-dados > div:last-child{border-bottom:none}
.mon-dados .l1{grid-template-columns:92px 70px 72px 88px 52px minmax(160px,1fr) 46px 90px 100px 110px;padding:4px 6px}
.mon-dados .l1 b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mon-dados .l2,.mon-dados .l3,.mon-dados .l4,.mon-dados .l5{display:flex;flex-wrap:wrap;gap:4px 18px}
.mon-dados .l2 > span:last-child,.mon-dados .l3 > span:first-child,.mon-dados .l4 > span:nth-child(4),.mon-dados .l5 > span:last-child{flex:1;min-width:200px}
.mon-cab{grid-template-columns:150px 92px 70px 72px 88px 52px minmax(160px,1fr) 46px 90px 100px 110px}
.mon-barra{border-top:1px solid var(--linha);background:#F6F8F8;padding:8px 0 0}
.mon-sel{display:block;padding:0 16px 6px;font-size:12.5px;color:var(--tinta2)}
.mon-botoes{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1100px){.mon-cab{display:none}.mon-dados .l1{display:flex;flex-wrap:wrap;gap:4px 12px}.mon-reg{grid-template-columns:110px minmax(0,1fr)}}
.mon-lista{max-height:calc(100vh - 380px)}
.mon-barra{position:sticky;bottom:0;z-index:5}
/* permissões compactas: um quadro por módulo, em duas colunas */
.perm-tit{margin:12px 0 6px;font-size:15px}.perm-tit small{font-weight:400;font-size:11.5px;margin-left:8px}
.perm-mods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;align-items:start}
.perm-mod{border:1px solid var(--linha);border-radius:5px;overflow:hidden}
.perm-mod-cab{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:3px 8px;background:var(--mod-claro);color:var(--mod-escuro);font-size:12.5px}
.perm-mod-cab span{display:flex;gap:3px}
.perm-t{width:100%;border-collapse:collapse;font-size:12px}
.perm-t th{font-weight:600;color:var(--tinta2);font-size:11px;padding:1px 4px;text-align:center;width:34px}
.perm-t th:first-child{width:auto}
.perm-t td{padding:1px 4px;border-top:1px solid var(--linha2);text-align:center;line-height:1.25}
.perm-t td:first-child{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0;width:100%}
.perm-t input{width:14px;height:14px;margin:1px 0;vertical-align:middle}
@media (max-width:900px){.perm-mods{grid-template-columns:1fr}}
.perm-mods{display:block;column-count:2;column-gap:12px}
.perm-mod{break-inside:avoid;margin-bottom:8px;display:inline-block;width:100%}
@media (max-width:900px){.perm-mods{column-count:1}}
.fs-painel-corpo b.fs-falta{color:#ffb4a8;font-style:italic}
.fs-painel-bt{display:inline-block;margin-left:8px;padding:0 8px;border:1px solid currentColor;border-radius:9px;font:600 11px/1.6 "Public Sans",Arial,sans-serif;color:#fff;text-decoration:none;vertical-align:1px}
.fs-painel-bt:hover{background:#fff;color:#08243d;text-decoration:none}
.busca.cid10 .lista.pra-cima{top:auto;bottom:100%;margin-bottom:2px;box-shadow:0 -6px 18px rgba(26,39,48,.18)}
/* unidade / mês / ano em uso (memória do sistema) */
.barra-ctx{background:var(--branco);border:1px solid var(--linha);border-left:4px solid var(--mod);border-radius:var(--raio);padding:8px 12px;margin:0 0 14px;align-items:flex-end}
.barra-ctx .ctx-dica{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;padding-bottom:6px}
.barra-ctx select[name=unidade]{min-width:260px}

/* ---------------------------------------------------------------- painel (dashboard) da página do módulo */
.pn{margin:4px 0 26px}
.pn-boas{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;border-radius:10px;
  background:linear-gradient(110deg,var(--mod-claro) 0%,#fff 75%);border:1px solid var(--linha);margin-bottom:14px}
.pn-boas h2{margin:0;font-size:20px;color:var(--mod-escuro)}
.pn-boas p{margin:2px 0 0;color:var(--tinta2);font-size:13px}
.pn-atalhos{display:flex;gap:8px;flex-wrap:wrap}
.pn-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.pn-card{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:10px;color:#fff;min-height:104px;
  box-shadow:0 2px 6px rgba(20,40,60,.12);transition:transform .12s,box-shadow .12s}
.pn-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 6px 14px rgba(20,40,60,.18)}
.pn-card b{font-size:30px;line-height:1.1;font-weight:700}
.pn-card .pn-card-rot{font-size:13px;font-weight:600;opacity:.95}
.pn-card small{font-size:12px;opacity:.92;margin-top:auto}
.pn-card.c1{background:linear-gradient(135deg,#1D5C8C,#2a78d6)}
.pn-card.c2{background:linear-gradient(135deg,#9a3d0c,#d4581f)}
.pn-card.c3{background:linear-gradient(135deg,#0d6648,#178f63)}
.pn-card.c4{background:linear-gradient(135deg,#4a3aa7,#6a58d8)}
.pn-grade{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
.pn-principal,.pn-lateral{display:flex;flex-direction:column;gap:14px;min-width:0}
.pn-dupla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pn-box{background:#fff;border:1px solid var(--linha);border-radius:10px;padding:14px 16px;min-width:0}
.pn-box header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.pn-box h3{margin:0;font-size:14px;font-weight:600;color:var(--tinta)}
.pn-leg{display:flex;gap:12px;font-size:12px;color:var(--tinta2)}
.pn-leg span{display:inline-flex;align-items:center;gap:5px}
.pn i.ln{display:inline-block;width:16px;height:0;border-top:2.5px solid #2a78d6}
.pn i.ln.ant{border-top:2px dashed #a3adb4}
.pn i.sq,.pn-dica i.sq{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.pn i.sq.s1{background:#2a78d6}.pn i.sq.s2{background:#eb6834}
.pn-svg{width:100%;height:auto;display:block;overflow:visible}
.pn-svg .grade{stroke:#EDF0F2;stroke-width:1}.pn-svg .base{stroke:#C9D1D6;stroke-width:1}
.pn-svg .eixo,.pn-svg-rosca .eixo{fill:#6B7880;font-size:11px}
.pn-svg .rot{fill:var(--tinta);font-size:11.5px;font-weight:600}
.pn-svg .guia{stroke:#9AA6AD;stroke-width:1;stroke-dasharray:3 3}
.pn-rosca{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pn-svg-rosca{width:150px;height:150px;flex:none}
.pn-svg-rosca .centro{fill:var(--tinta);font-size:24px;font-weight:700}
.pn-svg-rosca .seg:hover{opacity:.85}
.pn-legenda{list-style:none;margin:0;padding:0;flex:1;min-width:150px;font-size:12.5px}
.pn-legenda li{display:flex;align-items:center;gap:4px;padding:3px 0;border-bottom:1px solid var(--linha2)}
.pn-legenda li:last-child{border-bottom:0}
.pn-legenda b{margin-left:auto;font-weight:600}.pn-legenda span{color:var(--tinta2);width:38px;text-align:right}
.pn-barras{list-style:none;margin:0;padding:0;font-size:12.5px}
.pn-barras li{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr) 44px;align-items:center;gap:8px;padding:4px 0}
.pn-b-rot{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tinta)}
.pn-b-trilho{height:12px;background:#F1F4F5;border-radius:4px;overflow:hidden}
.pn-b{display:block;height:100%;border-radius:0 4px 4px 0}
.pn-barras li > b{text-align:right;font-weight:600}
.pn-nota{margin:8px 0 0;font-size:12px;color:var(--tinta2)}
.pn-vazio{margin:12px 0;color:var(--tinta2);font-size:13px}
.pn-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;font-size:11px}
.pn-cal-sem{text-align:center;color:var(--tinta2);font-weight:600;padding-bottom:2px}
.pn-dia{aspect-ratio:1;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;cursor:default}
.pn-dia b{font-weight:600;font-size:11px}.pn-dia small{font-size:10px;opacity:.85}
.q0{background:#F1F4F5;color:var(--tinta2)}.q1{background:#cde2fb;color:#0d366b}.q2{background:#86b6ef;color:#0d366b}
.q3{background:#3987e5;color:#fff}.q4{background:#1c5cab;color:#fff}
.pn-dia.fut{background:#fff;border:1px dashed var(--linha);color:#A6B0B6}
.pn-dia.hoje{outline:2px solid var(--tinta);outline-offset:1px}
.pn-cal-leg{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:8px;font-size:11px;color:var(--tinta2)}
.pn-cal-leg i{width:12px;height:12px;border-radius:3px}.pn-cal-leg span{margin:0 3px}
.pn-at{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:7px;margin-bottom:8px;color:var(--tinta);border-left:4px solid}
.pn-at:hover{text-decoration:none;filter:brightness(.97)}
.pn-at b{font-size:18px;min-width:62px;flex:none}.pn-at span{font-size:12.5px;line-height:1.3}
.pn-at small{display:block;color:var(--tinta2);font-size:11.5px;margin-top:2px}
.pn-at.alerta{background:#FEF3F2;border-color:#B42318}.pn-at.aviso{background:#FFF8EB;border-color:#B54708}.pn-at.info{background:#EFF5FB;border-color:#1D5C8C}
.pn-dica{position:fixed;z-index:200;background:#1A2730;color:#fff;font-size:12px;line-height:1.45;padding:7px 10px;border-radius:6px;pointer-events:none;
  box-shadow:0 4px 12px rgba(0,0,0,.2);max-width:280px}
@media (max-width:1100px){.pn-grade{grid-template-columns:1fr}.pn-lateral{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.pn-cards,.pn-dupla,.pn-lateral{grid-template-columns:1fr}.pn-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* CID-10: campo + janela de escolha */
.busca.cid10 .cid-linha{display:flex;gap:6px;align-items:center;position:relative}
.busca.cid10 .cid-texto{flex:1;min-width:0;cursor:pointer;background:#fff}
.busca.cid10 .cid-texto:hover{border-color:var(--mod)}
.busca.cid10 .cid-texto[data-bloq]{cursor:default;background:#F1F4F5}
.busca.cid10 .cid-escolher{flex:none;white-space:nowrap}
.busca.cid10 .cid-escolher.pulsa{background:var(--mod);color:#fff;border-color:var(--mod);animation:cidPulsa 1.6s ease-in-out 3}
@keyframes cidPulsa{50%{box-shadow:0 0 0 4px var(--mod-claro)}}
.busca.cid10 .cid-limpar{flex:none;width:28px;height:28px;border:1px solid var(--linha);border-radius:5px;background:#fff;color:var(--tinta2);font-size:16px;cursor:pointer}
.busca.cid10 .cid-limpar:hover{color:var(--vermelho);border-color:var(--vermelho)}
dialog.dlg-cid{width:min(880px,96vw);height:min(720px,90vh);padding:14px 18px;border:none;border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.3);
  display:none;flex-direction:column;gap:8px}
dialog.dlg-cid[open]{display:flex}
dialog.dlg-cid::backdrop{background:rgba(20,30,40,.45)}
.dlg-cid-topo{display:flex;align-items:center;justify-content:space-between}
.dlg-cid-topo h2{margin:0;font-size:18px}
.dlg-cid-busca input{width:100%;font-size:16px;padding:10px 12px}
.dlg-cid-dica{display:block;font-size:12px;margin-top:4px}
.dlg-cid-tit{font-size:13px;color:var(--tinta2);padding:2px 0}
.dlg-cid-lista{flex:1;overflow-y:auto;border:1px solid var(--linha);border-radius:7px;font-size:14px}
.dlg-cid-lista > div{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--linha2)}
.dlg-cid-lista > div b{flex:none;min-width:52px;color:var(--mod-escuro)}
.dlg-cid-lista > div small{color:var(--tinta2)}
.dlg-cid-lista .cid-cat{background:#F6F9FB}
.dlg-cid-lista .cid-sub{padding-left:52px;background:#fff}
.dlg-cid-lista > div:hover,.dlg-cid-lista > div.foco{background:var(--mod-claro)}
.dlg-cid-lista > div.foco{box-shadow:inset 3px 0 0 var(--mod)}
.dlg-cid-lista > div.atual b::after{content:" ✓";color:var(--verde)}
.dlg-cid-lista .cid-mais{flex:none;width:24px;height:24px;padding:0;border:1px solid var(--mod);border-radius:5px;background:#fff;color:var(--mod);font-weight:700;cursor:pointer;line-height:1}
.dlg-cid-lista .cid-mais:hover{background:var(--mod);color:#fff}
.dlg-cid-lista .cid-mais.vazio{border:none;background:transparent;cursor:pointer}
.dlg-cid-vazio{padding:16px;color:var(--tinta2)}
.dlg-cid-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px}
/* siglas do diagnóstico */
.busca.cid10 .sig-nota{margin-top:5px;font-size:12.5px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.sig-ok{background:#EEF7F1;border:1px solid #CFE6D7;border-radius:6px;padding:5px 9px;color:var(--tinta);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.sig-usar{border:1px solid var(--verde);background:#fff;color:var(--verde);border-radius:5px;padding:2px 8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.sig-usar:hover{background:var(--verde);color:#fff}
.sig-nova{background:#FFF8EB;border:1px solid #F3DDB3;border-radius:6px;padding:6px 9px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.sig-nova input{flex:1;min-width:160px;padding:4px 8px;text-transform:uppercase}
.sig-nao{border:none;background:none;color:var(--tinta2);text-decoration:underline;cursor:pointer;font-size:12px}
.dlg-cid-lista > div.cid-sugerido{box-shadow:inset 3px 0 0 var(--verde)}
.dlg-cid-lista > div.cid-sugerido b::before{content:"★ ";color:var(--verde)}
.sig-pesq{font-size:12px;font-weight:600;white-space:nowrap}

/* Recepção compacta: cabe sem rolar (campos, painel, situação e botões menores) */
.fs-compacta .fs-grade{gap:5px 8px;padding:10px 14px 6px}
.fs-compacta .fs-grade input,.fs-compacta .fs-grade select{padding:3px 7px;height:30px;font-size:13.5px}
.fs-compacta .fs-rot{font-size:12.5px}
.fs-compacta .fs-pac{display:flex;gap:6px;align-items:flex-start}
.fs-compacta .fs-pac > .busca{flex:1;min-width:0}
.fs-compacta .fs-novo-pac{flex:none;height:30px;display:inline-flex;align-items:center;white-space:nowrap}
.fs-compacta .busca.cid10 .cid-escolher{height:30px}
.fs-compacta .fs-painel{margin:2px 14px 0}
.fs-compacta .fs-painel-tit{font-size:12.5px;line-height:1.5}
.fs-compacta .fs-painel-corpo{min-height:0;padding:5px 12px;font-size:12.5px;line-height:1.5}
.fs-compacta .fs-status{margin:6px 14px;padding:4px;font-size:26px;letter-spacing:5px}
.fs-compacta .fs-botoes{padding:0 14px 8px;gap:6px}
.fs-compacta .fs-bt{flex-direction:row;min-height:36px;padding:5px 8px;gap:7px;font-size:13px}
.fs-compacta .fs-bt svg{width:20px;height:20px}
.fs-compacta + .fs-rodape,.fs-compacta .fs-rodape{padding:4px 14px;font-size:12px}

/* Monitoramento compacto: filtros numa linha, unidade no título, registros mais baixos (4 ou mais por tela) */
.mon .fs-titulo{padding:6px 12px;font-size:13.5px}
.mon .fs-dica .mon-und{color:var(--mod-escuro);font-weight:700}
.mon-filtros{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;padding:6px 12px;margin:0;border-bottom:1px solid var(--linha);background:#fff}
.mon-filtros label{margin:0;font-size:12.5px;font-weight:600;color:var(--tinta2)}
.mon-filtros select,.mon-filtros input{height:30px;padding:3px 8px;font-size:13px;width:auto}
.mon-filtros select{min-width:200px}
.mon-filtros input{flex:1;min-width:220px}
.mon-cab{padding:4px 10px 4px 0;font-size:11.5px}
.mon-st{padding-top:5px;font-size:14px}
.mon-dados{font-size:12px}
.mon-dados > div{padding:1px 6px;min-height:19px;line-height:17px}
.mon-dados .l1{padding:2px 6px}
.mon-lista{max-height:calc(100vh - 306px);min-height:200px}
.mon-sel{padding:0 14px 4px;font-size:12px}
.mon-barra{padding:5px 0 0}
.mon-botoes{padding:0 12px 6px!important;gap:6px!important}
.mon-botoes .fs-bt{flex-direction:row;min-height:34px;padding:4px 8px;gap:7px;font-size:12.5px}
.mon-botoes .fs-bt svg{width:19px;height:19px}
.mon .fs-titulo .fs-dica{margin-left:auto;text-align:right}.mon-fechar{flex:none}
.mon .fs-titulo > span:first-child{white-space:nowrap}.mon .fs-titulo .fs-dica{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ================================================================ casca: barra do topo + menu lateral */
:root{--topo-h:48px;--lat-w:236px;--marca:#173F73;--marca-escuro:#0F2E57}
body.com-menu{background:#F1F4F7}
.barra-topo{position:sticky;top:0;z-index:60;height:var(--topo-h);display:flex;align-items:center;gap:10px;padding:0 14px 0 8px;
  background:var(--marca);color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.15)}
.bt-menu{width:36px;height:36px;border:none;border-radius:6px;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center}
.bt-menu:hover{background:rgba(255,255,255,.12)}
.bt-menu svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.barra-topo .marca{color:#fff;font-size:19px;letter-spacing:-.3px;font-weight:400;white-space:nowrap}
.barra-topo .marca b{font-weight:800}
.barra-topo .marca:hover{text-decoration:none}
.barra-topo .org{flex:1;text-align:center;font-size:13.5px;font-weight:600;letter-spacing:.6px;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usr-menu{position:relative}
.usr-menu summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:6px;font-weight:700;font-size:13px;white-space:nowrap}
.usr-menu summary::-webkit-details-marker{display:none}
.usr-menu summary:hover,.usr-menu[open] summary{background:rgba(255,255,255,.12)}
.usr-menu summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.usr-menu summary i{font-style:normal;font-size:11px;opacity:.8}
.usr-pop{position:absolute;right:0;top:calc(100% + 6px);min-width:230px;background:#fff;color:var(--tinta);border:1px solid var(--linha);border-radius:8px;
  box-shadow:0 12px 30px rgba(0,0,0,.18);padding:6px;z-index:70}
.usr-pop .usr-info{padding:8px 10px;border-bottom:1px solid var(--linha2);margin-bottom:4px}
.usr-pop .usr-info b{display:block}.usr-pop .usr-info small{color:var(--tinta2)}
.usr-pop a{display:block;padding:8px 10px;border-radius:5px;color:var(--tinta)}
.usr-pop a:hover{background:#F1F4F7;text-decoration:none}
.usr-pop a.usr-sair{color:var(--vermelho)}
.casca{display:flex;align-items:flex-start;min-height:calc(100vh - var(--topo-h))}
.lateral{position:sticky;top:var(--topo-h);flex:none;width:var(--lat-w);height:calc(100vh - var(--topo-h));overflow-y:auto;background:#fff;
  border-right:1px solid var(--linha);padding:8px 0 24px;font-size:13px;transition:width .15s}
.lateral a{color:var(--tinta)}
.lateral a:hover{text-decoration:none}
.lat-inicio,.lat-mod > summary{display:flex;align-items:center;gap:9px;padding:8px 14px;font-weight:600;cursor:pointer;white-space:nowrap}
.lat-inicio svg,.lat-mod > summary svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lat-mod > summary svg{stroke-width:3.2;color:var(--mod)}
.lat-inicio:hover,.lat-mod > summary:hover{background:#F1F4F7}
.lat-inicio.ativo{color:var(--marca);background:#EAF0F7}
.lat-mod > summary{list-style:none;position:relative}
.lat-mod > summary::-webkit-details-marker{display:none}
.lat-mod > summary::after{content:"›";margin-left:auto;font-size:16px;color:var(--tinta2);transition:transform .15s}
.lat-mod[open] > summary::after{transform:rotate(90deg)}
.lat-mod > summary.atual{color:var(--mod-escuro)}
.lat-mod[open]{padding-bottom:6px;border-bottom:1px solid var(--linha2)}
.lat-grupo{padding:8px 14px 2px 42px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#8A979F}
.lat-item{display:block;padding:5px 12px 5px 42px;margin:0 8px 0 0;border-radius:0 6px 6px 0;color:#33434C!important;line-height:1.3}
.lat-item:hover{background:#F1F4F7}
.lat-item.ativo{background:var(--mod-claro);color:var(--mod-escuro)!important;font-weight:700;box-shadow:inset 3px 0 0 var(--mod)}
.lat-painel{font-weight:600}
body.com-menu main{flex:1;min-width:0;max-width:none;margin:0;padding:16px 20px 40px}
body.com-menu main.centro{max-width:none}
/* menu recolhido: só os ícones */
body.menu-recolhido{--lat-w:56px}
body.menu-recolhido .lateral span,body.menu-recolhido .lat-item,body.menu-recolhido .lat-grupo,body.menu-recolhido .lat-mod > summary::after{display:none}
body.menu-recolhido .lat-inicio,body.menu-recolhido .lat-mod > summary{justify-content:center;padding:10px 0}
body.menu-recolhido .lat-mod[open]{border-bottom:none;padding-bottom:0}
@media (max-width:900px){
  .barra-topo .org{display:none}.barra-topo .marca{flex:1}
  .lateral{position:fixed;left:0;top:var(--topo-h);z-index:55;transform:translateX(-100%);transition:transform .2s;box-shadow:6px 0 20px rgba(0,0,0,.15)}
  body.menu-aberto .lateral{transform:none}
  .usr-menu summary span{display:none}
}
@media print{.barra-topo,.lateral{display:none!important}body.com-menu main{padding:0}}
/* listas que se ajustam à altura da janela: a barra do topo agora tem 48px */
.lat-mod > summary{color:var(--tinta)}
.lat-mod > summary.atual{color:var(--mod-escuro)}
body.com-menu .mon-lista{max-height:calc(100vh - 284px)}
/* cabeçalho do módulo e filtro em linha única, mais baixos */
body.com-menu .cab-mod{margin-bottom:10px}
body.com-menu .cab-mod h1{font-size:20px}
body.com-menu .cab-mod svg{width:34px;height:34px}
body.com-menu .barra-ctx{padding:8px 14px;margin-bottom:12px;align-items:center}
body.com-menu .barra-ctx label{display:inline-block;margin:0 6px 0 0}
body.com-menu .barra-ctx > div{display:flex;align-items:center;min-width:0}
body.com-menu .barra-ctx select,body.com-menu .barra-ctx input{height:32px;padding:3px 8px}
body.com-menu .barra-ctx .ctx-dica{flex:1;justify-content:flex-end;gap:8px;text-align:right;font-size:12px}
body.com-menu .barra-ctx .ctx-dica{padding-bottom:0}
/* pop-up grande (Monitoramento e Movimentações): ocupa a tela, por cima do menu */
dialog.dlg-cad.dlg-grande{width:min(1560px,98vw);height:96vh;max-height:96vh}
dialog.dlg-cad.dlg-grande iframe{flex:1;height:auto;max-height:none;min-height:0}
body.popup .mon-fechar{display:none}
body.popup .mon .fs-titulo{display:flex}
body.popup .mon-lista,body.popup.com-menu .mon-lista{max-height:calc(100vh - 205px)}
body.popup .mon .fs-titulo > span:first-child{display:none}
/* esconder / mostrar o menu lateral */
.bt-menu{width:auto;min-width:36px;padding:0 8px;gap:6px;display:flex;align-items:center}
.bt-menu-txt{font-size:13px;font-weight:700}
.bt-menu-txt:empty{display:none}
.lat-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px 10px 14px;margin-bottom:4px;border-bottom:1px solid var(--linha2)}
.lat-titulo{font-size:10.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#8A979F}
.lat-esconder{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px 0 4px;border:1px solid #D3DEEA;border-radius:999px;
  background:linear-gradient(#F7FAFD,#EAF0F7);color:var(--marca);font:inherit;font-size:12px;font-weight:700;cursor:pointer;
  box-shadow:0 1px 2px rgba(23,63,115,.08);transition:background .15s,color .15s,box-shadow .15s}
.lat-esconder i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--marca);color:#fff;transition:transform .15s}
.lat-esconder svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.lat-esconder:hover{background:var(--marca);color:#fff;border-color:var(--marca);box-shadow:0 3px 8px rgba(23,63,115,.25)}
.lat-esconder:hover i{background:#fff;color:var(--marca);transform:translateX(-2px)}
.lat-esconder:focus-visible{outline:2px solid var(--marca);outline-offset:2px}
body.menu-escondido .lateral{display:none}
@media (max-width:900px){.lat-topo{display:none}}
body.menu-escondido .bt-menu{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);height:32px}
.lat-mod > summary.no-painel{background:var(--mod-claro);box-shadow:inset 3px 0 0 var(--mod)}
/* barra do topo: unidade + mês/ano + data e hora no centro; botão Filtros antes do usuário */
.barra-topo .marca{display:flex;flex-direction:column;line-height:1.05}
.barra-topo .marca small{font-size:9.5px;font-weight:500;letter-spacing:.3px;opacity:.75;margin-top:2px;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.ctx-topo{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;line-height:1.25;text-align:center}
.ctx-topo b{font-size:13.5px;letter-spacing:.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ctx-topo > span{font-size:12px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ctx-topo em{font-style:normal;color:#FFD66B;font-weight:700}
.ctx-topo.alterado b{color:#FFD66B}
.flt-menu{position:relative}
.flt-menu summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;height:32px;padding:0 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);font-weight:700;font-size:12.5px;white-space:nowrap}
.flt-menu summary::-webkit-details-marker{display:none}
.flt-menu summary:hover,.flt-menu[open] summary{background:rgba(255,255,255,.22)}
.flt-menu summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round}
.flt-menu summary i{font-style:normal;font-size:10px;opacity:.8}
.flt-pop{position:absolute;right:0;top:calc(100% + 8px);width:380px;background:#fff;color:var(--tinta);border:1px solid var(--linha);border-radius:10px;
  box-shadow:0 14px 34px rgba(0,0,0,.22);padding:14px;z-index:70;display:flex;flex-direction:column;gap:6px}
.flt-pop .flt-tit{font-weight:700;font-size:14px;margin-bottom:4px}
.flt-pop .flt-tit small{display:block;font-weight:400;font-size:11.5px;color:var(--tinta2)}
.flt-pop label{margin:4px 0 0}
.flt-linha{display:grid;grid-template-columns:1fr 110px;gap:10px}
.flt-botoes{display:flex;gap:8px;justify-content:space-between;margin-top:10px}
.barra-topo .org{display:none}
@media (max-width:1100px){.barra-topo .marca small{display:none}}
@media (max-width:900px){.ctx-topo > span{display:none}.flt-menu summary span{display:none}.flt-pop{position:fixed;left:8px;right:8px;width:auto;top:56px}}
/* página do módulo sem cabeçalho (nome do módulo vai para a barra do topo) */
.so-leitor{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ctx-topo b .ctx-mod{font-size:inherit;opacity:1;color:#9FD3FF}
.ctx-topo.alterado b .ctx-mod{color:#FFD66B}
.pn-acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.pn-pront{margin-left:auto;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 14px;border-radius:999px;background:#fff;border:1px solid var(--linha);
  font-size:12.5px;font-weight:600;color:var(--tinta2);box-shadow:0 1px 2px rgba(20,40,60,.06)}
.pn-pront b{font-size:18px;color:#fff;background:var(--mod);padding:2px 12px;border-radius:999px;letter-spacing:.3px}
.pront-sug{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:2px 10px;border:1px solid var(--mod);border-radius:999px;background:var(--mod-claro);
  color:var(--mod-escuro);font:inherit;font-size:12px;cursor:pointer}
.pront-sug b{font-size:13px}
.pront-sug:hover{background:var(--mod);color:#fff}
/* cadastro (pacientes e demais) mais compacto e com letras menores */
.form-compacto label{font-size:10.5px}
.form-compacto input,.form-compacto select,.form-compacto textarea{padding:3px 7px;font-size:12.5px;height:28px}
.form-compacto textarea{height:28px;min-height:28px}
.form-compacto input[type=checkbox]{height:auto}
.form-compacto .grade{gap:4px 10px}
.form-compacto .botoes{margin-top:8px}
.form-compacto .botoes .btn{padding:5px 12px;font-size:12.5px}
.msg-fina{padding:5px 10px!important;font-size:12px;margin-bottom:6px!important}
.grade > div:has(> .pront-sug){position:relative}
.pront-sug{position:absolute;top:-1px;right:0;margin:0;padding:0 7px;height:15px;font-size:10px;line-height:1}
.pront-sug b{font-size:10.5px}
.cad-extra h2{font-size:13.5px;margin:12px 0 4px}
.cad-extra .sub{font-size:11px;line-height:1.35;margin:0 0 6px}
.cad-extra table.t{font-size:12px}
.cad-extra table.t th{font-size:11px;padding:4px 6px}
.cad-extra table.t td{padding:4px 6px;vertical-align:middle}
.cad-extra table.t td.nw{white-space:nowrap;overflow-wrap:normal}
.cad-extra .st{font-size:10px;padding:1px 7px}
.cad-extra .btn.peq{padding:2px 8px;font-size:11px}
/* Pacientes em aberto (todos os meses): cartões que filtram a lista */
.mon-cartoes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px 12px 0;background:#fff}
.mon-cartao{display:flex;flex-direction:column;padding:8px 12px;border-radius:8px;color:#fff;line-height:1.15;border:2px solid transparent;opacity:.72;transition:opacity .12s,transform .12s}
.mon-cartao:hover{opacity:1;text-decoration:none;transform:translateY(-1px)}
.mon-cartao.ativo{opacity:1;border-color:#1A2730;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.mon-cartao span{font-size:12px;font-weight:600}.mon-cartao b{font-size:24px}.mon-cartao small{font-size:11px;opacity:.9}
.mc-abertos{background:#4A5560}.mc-INTERNADO{background:#E31B23}.mc-OBS{background:#2C3E9E}.mc-AGUARDANDO{background:#7d8a92}
body.popup .mon-cartoes ~ .mon-lista,body.popup .mon-cartoes ~ * .mon-lista{max-height:calc(100vh - 275px)}
body:not(.popup) .mon-cartoes ~ .mon-lista{max-height:calc(100vh - 360px)}
/* Acompanhamento por período: filtro discreto (pop-up) e cartões de todas as situações */
.mon-cartoes{grid-template-columns:repeat(7,minmax(0,1fr));padding:8px 12px}
.mon-cartao{padding:6px 10px}.mon-cartao b{font-size:21px}
.mc-todos{background:#4A5560}.mc-TRANSFERIDO{background:#5B3A92}.mc-ALTA{background:#2E7D5B}.mc-OBITO{background:#1A2730}
.mon .fs-dica .mon-per{color:var(--mod-escuro)}.mon .fs-dica .mon-per.alterado{color:#B54708}
.per-menu{position:relative;flex:none}
.per-menu summary{list-style:none;display:flex;align-items:center;gap:5px;cursor:pointer;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--mod);
  background:#fff;color:var(--mod-escuro);font-size:12px;font-weight:700;white-space:nowrap}
.per-menu summary::-webkit-details-marker{display:none}
.per-menu summary:hover,.per-menu[open] summary{background:var(--mod);color:#fff}
.per-menu summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round}
.per-menu summary i{font-style:normal;font-size:9px}
.per-pop{position:absolute;right:0;top:calc(100% + 6px);width:330px;background:#fff;border:1px solid var(--linha);border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.2);
  padding:12px;z-index:50;display:flex;flex-direction:column;gap:6px;font-weight:400;letter-spacing:0;color:var(--tinta)}
.per-tit{font-size:12px;font-weight:700;color:var(--tinta2);margin-top:4px}
.per-linha{display:grid;grid-template-columns:30px 1fr 80px;gap:6px;align-items:center;font-size:12.5px}
.per-pop select,.per-pop input{height:30px;padding:3px 7px;font-size:13px}
.per-botoes{display:flex;justify-content:space-between;gap:8px;margin-top:6px}
.mon .fs-titulo{gap:8px}
body.popup .mon-cartoes ~ .mon-lista{max-height:calc(100vh - 232px)}
body:not(.popup) .mon-cartoes ~ .mon-lista{max-height:calc(100vh - 318px)}
/* quadros do painel que abrem a evolução */
.pn-evol{cursor:pointer;transition:border-color .12s,box-shadow .12s}
.pn-evol:hover{border-color:var(--mod);box-shadow:0 4px 14px rgba(29,92,140,.12)}
.pn-evol-dica{font-size:11px;font-weight:600;color:var(--mod);opacity:0;margin-left:6px;transition:opacity .12s}
.pn-evol:hover .pn-evol-dica{opacity:1}
/* Evolução (pop-up aberto pelos quadros do painel) */
.evo-clin{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--linha);background:#fff}
.evo-clin a{padding:4px 12px;border-radius:999px;border:1px solid var(--linha);color:var(--tinta);font-size:12.5px;font-weight:600}
.evo-clin a:hover{text-decoration:none;border-color:var(--mod)}
.evo-clin a.ativo{background:var(--mod);border-color:var(--mod);color:#fff}
.evo-ind{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
.evo-ind a{border-radius:6px;font-weight:500;font-size:12px;padding:3px 9px}
.evo-ind a.ativo{background:var(--mod-claro);color:var(--mod-escuro);border-color:var(--mod);font-weight:700}
.evo-corpo{padding:10px 14px 12px;background:#fff}
.evo-leg{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--tinta2);margin-bottom:4px}
.evo-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.evo-leg b{color:var(--tinta)}
.evo-graf{margin-bottom:10px}
.evo-tab{max-height:calc(100vh - 470px);min-height:120px}
.evo-tab table.t{font-size:12.5px}.evo-tab th{position:sticky;top:0}.evo-tab tfoot th{bottom:0;position:sticky;background:#E9EEF1}
.evo .per-pop select{width:100%}
/* paginação do Monitoramento / Acompanhamento por período */
.mon-barra-linha{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px 4px}
.mon-barra-linha .mon-sel{padding:0}
.mon-pag{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--tinta2);white-space:nowrap}
.mon-pag > span:first-child{margin-right:6px}
.mon-pag a{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 6px;border:1px solid var(--linha);border-radius:5px;background:#fff;color:var(--tinta);font-weight:700}
.mon-pag a:hover{text-decoration:none;border-color:var(--mod);color:var(--mod)}
.mon-pag a.off{opacity:.35;pointer-events:none}
.mon-pag-n{padding:0 4px}
/* cartões do painel compactos */
.pn-cards{gap:10px;margin-bottom:12px}
.pn-card{min-height:0;padding:8px 14px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;border-radius:8px}
.pn-card .pn-card-rot{grid-column:1 / -1;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-card b{grid-row:2;font-size:24px;line-height:1.15}
.pn-card small{grid-row:2;grid-column:2;margin:0;font-size:11px;line-height:1.25;opacity:.88}
/* procurar paciente no painel */
.pn-procura{position:relative;flex:1;max-width:420px;min-width:240px}
.pn-procura svg{position:absolute;left:10px;top:50%;width:16px;height:16px;transform:translateY(-50%);fill:none;stroke:var(--tinta2);stroke-width:2.2;stroke-linecap:round;pointer-events:none}
.pn-procura input[type=text]{height:34px;padding:5px 10px 5px 32px;border-radius:999px;font-size:13px}
.pn-procura .lista{border-radius:8px;margin-top:3px;max-height:360px}
/* histórico do paciente */
.hp{display:flex;flex-direction:column;gap:6px}
.hp-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:10px 14px;background:var(--mod-claro);border:1px solid var(--linha);border-radius:8px}
.hp-nome{font-size:18px;color:var(--mod-escuro)}
.hp-dados{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--tinta2);margin-top:2px}
.hp-pront{background:var(--mod);color:#fff;border-radius:999px;padding:0 10px;font-weight:700}
.hp-end{font-size:12px;color:var(--tinta2);margin-top:2px}
.hp-botoes{display:flex;gap:6px;flex-wrap:wrap}
.hp-tit{font-size:13.5px;margin:8px 0 2px}.hp-tit small{font-weight:400;color:var(--tinta2);font-size:12px;margin-left:6px}
.hp-atual{display:grid;grid-template-columns:130px 1fr auto;align-items:stretch;border:1px solid var(--linha);border-radius:8px;overflow:hidden;cursor:pointer;background:#fff;font-size:12.5px}
.hp-atual:hover{border-color:var(--mod);box-shadow:0 3px 10px rgba(29,92,140,.12)}
.hp-st{display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;font-weight:800;letter-spacing:.5px;background:#2C3E9E;padding:6px}
.hp-st small{font-weight:500;font-size:11px;letter-spacing:0;opacity:.9}
.hp-atual.hp-INTERNADO .hp-st{background:#E31B23}.hp-atual.hp-AGUARDANDO .hp-st{background:#7d8a92}
.hp-info{padding:6px 12px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.hp-abrir{align-self:center;padding:0 12px;font-weight:700;color:var(--mod);font-size:12px;white-space:nowrap}
.hp-vazio{font-size:12.5px;color:var(--tinta2);margin:2px 0}
.hp-tab table.t{font-size:12px}.hp-tab th{padding:5px 6px;font-size:11px}.hp-tab td{padding:4px 6px;vertical-align:middle}
.hp-tab td.nw{white-space:nowrap}
.hp-linha{cursor:pointer}.hp-linha:hover td{background:var(--mod-claro)!important}
.hp .etq{font-size:10.5px}
/* Censo compacto, números clicáveis */
.censo-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.censo-topo .sub{margin:0}
.censo table.t{font-size:12.5px}
.censo table.t th{padding:4px 8px;font-size:11px}.censo table.t th.c{text-align:center}
.censo table.t td{padding:2px 8px;line-height:1.35}
.censo table.t td:first-child{color:var(--tinta2)}
.censo-n{display:inline-block;min-width:22px;padding:0 5px;border-radius:4px;color:var(--mod-escuro);font-weight:600;text-align:center}
.censo-n:hover{background:var(--mod);color:#fff!important;text-decoration:none}
.censo-n.forte{font-weight:800}
.censo-tot td{font-weight:700;background:#EEF2F5}
.censo-leg{font-size:11.5px;margin-top:6px}
body.popup .mon-sem-filtro .mon-lista{max-height:calc(100vh - 168px)}body:not(.popup) .mon-sem-filtro .mon-lista{max-height:calc(100vh - 250px)}
/* Censo: pop-up no padrão do Monitoramento, grade de planilha */
.censo-caixa .censo{overflow:auto;max-height:calc(100vh - 190px);background:#fff}
body.popup .censo-caixa .censo{max-height:calc(100vh - 82px)}
table.censo-grade{border-collapse:collapse;width:100%}
table.censo-grade th,table.censo-grade td{border:1px solid #C9D3DA}
table.censo-grade th{background:#EEF2F5;position:sticky;top:0;z-index:1}
table.censo-grade tr:nth-child(2) th{top:24px}
table.censo-grade td:first-child,table.censo-grade th:first-child{background:#F6F8FA;text-align:center;font-weight:600}
table.censo-grade tr:hover td{background:#FAFCFD}
.censo-grade .censo-tot td{border-top:2px solid #8FA1AD;position:sticky;bottom:0}
.censo-caixa .fs-titulo .btn.peq{flex:none}
body.popup .censo-leg{margin:4px 8px 0}
dialog.dlg-cad.dlg-grande{padding:6px 12px 10px}dialog.dlg-cad.dlg-grande .dlg-cad-topo{margin-bottom:4px}dialog.dlg-cad.dlg-grande .dlg-cad-topo h2{font-size:14px;color:var(--tinta2)}
.ctx-topo b .ctx-mes{color:#fff}.ctx-topo.alterado b .ctx-mes{color:#FFD66B}
.pn-cards{grid-template-columns:repeat(5,minmax(0,1fr))}
.pn-card.c5{background:linear-gradient(135deg,#1A2730,#3E4E5A)}
.pn-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){.pn-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.pn-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* relatórios do SAME (Internamentos, Acidentes, Transferências, Óbitos) */
.rel-abas{display:flex;gap:4px;padding:6px 12px;background:#fff;border-bottom:1px solid var(--linha)}
.rel-abas a{padding:3px 12px;border-radius:999px;border:1px solid var(--linha);font-size:12px;font-weight:600;color:var(--tinta)}
.rel-abas a:hover{text-decoration:none;border-color:var(--mod)}
.rel-abas a.ativo{background:var(--mod);border-color:var(--mod);color:#fff}
.rel-grade{font-size:11.5px}
.rel-grade th{white-space:normal;font-size:10.5px;vertical-align:bottom;text-align:left!important}
.rel-grade td{padding:2px 6px!important;white-space:nowrap}
.rel-grade td:first-child{text-align:left!important;font-weight:400!important;background:transparent!important}
.rel-linha{cursor:pointer}.rel-linha:hover td{background:var(--mod-claro)!important}
body.popup .rel .censo{max-height:calc(100vh - 115px)}
.rel-xlsx{background:#1F7244!important;border-color:#1F7244!important;color:#fff!important}
/* Triagem para Estatística (layout do Access) */
.tri-clin{align-items:center}
.tri-rot{font-size:12px;font-weight:700;color:var(--tinta2);margin-right:2px}
.tri-clin a small{opacity:.75;font-weight:500;margin-left:3px}
.tri-dica{margin-left:auto;font-size:12px;color:var(--tinta2)}
.tri-cab{display:grid;grid-template-columns:150px 56px 88px 50px minmax(160px,1fr) 44px 86px 70px 56px 110px 92px 70px;gap:0 6px;padding:4px 10px 4px 0}
.tri-cab span:first-child{padding-left:10px}
.tri-reg{display:grid;grid-template-columns:150px 56px minmax(0,1fr);border-bottom:3px solid #1A2730;background:#fff}
.tri-reg .mon-st{font-size:12.5px;padding:6px 4px;line-height:1.2;align-items:center}
.tri-clinica{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:#33434C;border-right:1px solid var(--linha2);background:#F6F8FA}
.tri-dados{min-width:0;font-size:12px}
.tri-l1{display:grid;grid-template-columns:88px 50px minmax(160px,1fr) 44px 86px 70px 56px 110px 92px 70px;gap:0 6px;padding:3px 6px;border-bottom:1px solid var(--linha2);color:#B42318;align-items:center}
.tri-l1 b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tri-l1 b a{color:#B42318}
.tri-l1 > span:nth-child(n+6){color:var(--tinta)}
.tri-l2{display:flex;align-items:center;gap:10px;padding:3px 6px;flex-wrap:wrap}
.tri-diag{flex:1;min-width:240px;color:#B42318}
.tri-est{display:flex;align-items:center;gap:6px;margin:0;font-style:italic;font-weight:700;color:#1D5C8C;font-size:12.5px;flex:1.2;min-width:320px}
.tri-est select{flex:1;font-style:normal;font-weight:700;color:var(--tinta);height:28px;padding:2px 6px;font-size:12.5px}
.tri-ok{font-style:normal;font-weight:600;font-size:11px;color:var(--tinta2);min-width:64px}
.tri-ok.ok{color:var(--verde)}.tri-ok.erro{color:var(--vermelho)}
body.popup .tri-lista{max-height:calc(100vh - 150px)}
body:not(.popup) .tri-lista{max-height:calc(100vh - 235px)}
/* Triagem: Atendidos/Transferidos, CID-10 final e sugestões automáticas */
.tri-grupo{display:inline-flex;gap:4px;padding-right:10px;margin-right:4px;border-right:1px solid var(--linha2)}
.tri-sug-acoes{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#tri-sug-barra{display:inline-flex;align-items:center;gap:6px;font-size:12px}#tri-sug-barra[hidden]{display:none}
.tri-baixa{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;color:var(--tinta2);margin:0;font-weight:500}
.tri-l2{flex-wrap:nowrap}
.tri-diag{min-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tri-diag b{font-weight:700}
.tri-cid{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}
.tri-cid i{font-weight:700;color:#1D5C8C}
.tri-cid-bt{min-width:62px;height:26px;padding:0 8px;border:1px solid var(--linha);border-radius:6px;background:#fff;font-weight:700;font-size:12px;color:var(--tinta);cursor:pointer}
.tri-cid-bt:hover:not(:disabled){border-color:#1D5C8C}
.tri-est{flex:0 1 430px;min-width:300px}
.tri-est select.sugerido,.tri-cid-bt.sugerido{background:#FFF6D6;border-color:#D9A300;box-shadow:0 0 0 1px #D9A300 inset}
.tri-sug{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.tri-sug[hidden]{display:none}
.tri-sug small{font-size:10.5px;color:var(--tinta2)}
.tri-sug .btn.peq{height:24px;min-width:26px;padding:0 6px}
.tri-conf{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:9px;cursor:help}
.tri-conf.c-alta{background:#DFF3E4;color:#1E6B34}.tri-conf.c-media{background:#FFF0C2;color:#7A5A00}.tri-conf.c-baixa{background:#FDE2E0;color:#9B2C22}
.tri-transf{font-size:12px;font-style:italic;color:var(--tinta2);white-space:nowrap}
.tri-ok{min-width:58px}
.tri-diag{flex:1 1 auto}
.tri-est{flex:0 1 360px;min-width:250px}
.tri-est select{min-width:0}
.tri-l2{display:grid;grid-template-columns:minmax(0,1fr) 150px 380px 196px;gap:8px}
.tri-l2:has(.tri-transf){grid-template-columns:minmax(0,1fr) auto}
.tri-cid{justify-content:flex-end}
.tri-est{min-width:0;flex:none}
.tri-fim{display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden}
.tri-fim .tri-ok{min-width:0}
.tri-l2{grid-template-columns:minmax(0,1fr) 150px 360px 176px}
/* Triagem: Diagnóstico Estatístico = CID-10 do diagnóstico final */
.tri-l2{grid-template-columns:minmax(0,1fr) minmax(300px,520px) 150px}
.tri-est{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.tri-est > i{font-weight:700;color:#1D5C8C;font-size:12px}
.tri-est .tri-cid-bt{flex:1;min-width:0;display:flex;align-items:center;gap:6px;text-align:left;height:28px}
.tri-est .tri-cid-bt b{flex:none}
.tri-est .tri-cid-bt span{overflow:hidden;text-overflow:ellipsis;font-weight:600}
.tri-est .tri-cid-bt:not([data-cid=""]) span,.tri-est .tri-cid-bt.sugerido span{color:var(--tinta)}
.tri-est .tri-cid-bt[data-cid=""]:not(.sugerido) span{color:var(--tinta2);font-weight:500}
/* Triagem: clínica editável */
.tri-clinica select{width:52px;height:30px;padding:0 2px;border:1px solid transparent;border-radius:6px;background:transparent;
  font-weight:800;font-size:15px;color:#33434C;text-align:center;text-align-last:center;cursor:pointer;appearance:none;-webkit-appearance:none}
.tri-clinica select:hover:not(:disabled),.tri-clinica select:focus{border-color:#1D5C8C;background:#fff}
.tri-clinica select:disabled{cursor:default;opacity:1}
.tri-l2:has(.tri-transf){grid-template-columns:minmax(0,1fr) auto 90px}
.tri-reg.tri-movido{opacity:.55}
.tri-reg.tri-movido .tri-clinica{background:#FFF6D6}
/* Registro de atividades: antes / depois */
.at-reg{min-width:220px;max-width:380px;font-size:12px}
.at-reg span{display:block;border-bottom:1px dotted var(--linha2);padding:1px 0;overflow-wrap:anywhere}
.at-reg span:last-child{border-bottom:0}
/* Movimentos do atendimento (SAME_MOVIMENTOS) */
.mov-bt{white-space:nowrap}
.movat-nota{margin:6px 10px;font-size:12px;color:var(--tinta2)}
.movat-grade td{vertical-align:top}
.movat-det span{display:block;font-size:12px;line-height:1.35}
.movat-resumo td{color:var(--tinta2);font-style:italic;background:#F6F8FA}
.movat-estorno td{text-decoration:line-through;opacity:.6}
.movat-tipo{display:inline-block;font-size:11px;font-weight:800;padding:2px 8px;border-radius:10px;background:#E8EDF2;color:#33434C;letter-spacing:.2px}
.mt-ADMISSAO{background:#DCEBFA;color:#1D5C8C}.mt-OBSERVACAO,.mt-AGUARDANDO{background:#E3E6F7;color:#2D3A8C}
.mt-INTERNACAO{background:#FDE2E0;color:#9B2C22}.mt-TRANSFERENCIA{background:#E0E4F5;color:#283593}
.mt-ALTA{background:#DFF3E4;color:#1E6B34}.mt-OBITO{background:#2B2B2B;color:#fff}
.mt-MUDANCA{background:#FFF0C2;color:#7A5A00}.mt-CORRECAO,.mt-ALTERACAO{background:#EEE;color:#555}.mt-EXCLUSAO,.mt-REABERTURA{background:#F9D7D3;color:#8A1C12}
/* Triagem: categoria (pai) do CID-10 final */
.tri-l2{grid-template-columns:minmax(0,1fr) minmax(280px,430px) minmax(170px,250px) 150px}
.tri-cat{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;font-size:12px}
.tri-cat i{font-weight:700;color:#1D5C8C}
.tri-cat b{flex:none}
.tri-cat span{overflow:hidden;text-overflow:ellipsis;color:var(--tinta2)}
.tri-cat.sugerido b,.tri-cat.sugerido span{background:#FFF6D6;border-radius:4px;padding:0 3px}
/* Triagem em 3 linhas: dados / diagnósticos / CID-10 final + categoria */
.tri-l2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;border-bottom:1px solid var(--linha2)}
.tri-l2:has(.tri-transf){grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto 90px}
.tri-l2 .tri-diag{min-width:0}
.tri-diag i{font-style:normal;font-weight:700;color:#7A2E26}
.tri-cidini{font-size:10.5px;font-weight:700;background:#EEF2F6;color:#33434C;border-radius:8px;padding:0 6px;margin-left:4px}
.tri-l3{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 150px;gap:10px;align-items:center;padding:3px 6px}
.tri-l3 .tri-est{max-width:none}
/* Triagem: classificação estatística + filtros "em branco" */
.tri-filtros{display:inline-flex;align-items:center;gap:4px;padding-left:10px;margin-left:4px;border-left:1px solid var(--linha2)}
.tri-l3{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,.8fr) 150px}
.tri-cl{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.tri-cl > i{font-weight:700;color:#1D5C8C;font-size:12px}
.tri-cl select{flex:1;min-width:0;height:28px;padding:2px 6px;font-size:12.5px;font-weight:700}
.tri-cl-cad{height:28px;min-width:30px;padding:0 6px;font-size:14px}
.tri-l3 .tri-est > i{white-space:nowrap}
/* Cadastro de Classificação de Clínicas (4 quadros, como no Access) */
.cls-grade{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px}
.cls-q{border:1px solid var(--linha);border-radius:8px;background:#fff;display:flex;flex-direction:column;min-width:0;position:relative}
.cls-q.cls-foco{border-color:#1D5C8C;box-shadow:0 0 0 2px #1D5C8C33}
.cls-q header{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--linha2);flex-wrap:wrap}
.cls-q h2{margin:0;font-size:15px;color:#33434C}
.cls-q header .dim{font-size:11.5px}
.cls-busca{margin-left:auto;height:28px;font-size:12.5px;width:220px}
.cls-tab{overflow:auto;max-height:calc((100vh - 150px) / 2)}
.cls-tab table{width:100%;font-size:12.5px}
.cls-tab thead th{position:sticky;top:0;background:#F6F8FA;z-index:1}
.cls-tab td{padding:2px 4px}
.cls-tab input{width:100%;height:26px;font-size:12.5px;border:1px solid transparent;background:transparent;padding:0 4px}
.cls-tab input:hover,.cls-tab input:focus{border-color:var(--linha);background:#fff}
.cls-tab input.cls-cid{width:80px;text-transform:uppercase}
.cls-nova td{background:#F4F9FF}
.cls-nova input{border-color:var(--linha)!important;background:#fff!important}
.cls-ac{white-space:nowrap;width:70px}
.cls-ok{font-style:normal;font-size:11px;margin-left:4px}.cls-ok.ok{color:var(--verde)}.cls-ok.erro{color:var(--vermelho)}
.cls-msg{position:absolute;top:40px;right:8px;background:#FDE2E0;color:#8A1C12;font-size:12px;padding:4px 8px;border-radius:6px;z-index:3}
@media (max-width:900px){.cls-grade{grid-template-columns:1fr}}
.cls-tab table.t{table-layout:fixed}
.cls-tab .t th,.cls-tab .t td{padding:1px 4px;vertical-align:middle;line-height:1.2}
.cls-tab .t th:nth-child(1),.cls-tab .t td:nth-child(1){width:54px}
.cls-tab .t th:nth-child(3),.cls-tab .t td:nth-child(3){width:86px}
.cls-tab .t th:nth-child(4),.cls-tab .t td:nth-child(4){width:48px}
.cls-tab .t th:nth-child(5),.cls-tab .t td:nth-child(5){width:74px}
.cls-tab input{height:22px}
.cls-tab input.cls-cid{width:100%}
.cls-nova .btn{white-space:nowrap;height:24px;padding:0 8px}
.cls-ac .btn{height:22px;min-width:24px;padding:0 5px}
.cls-grade.cls-uma{grid-template-columns:1fr}
.cls-uma .cls-tab{max-height:calc(100vh - 170px)}
.cls-uma .cls-q.cls-foco{border-color:var(--linha);box-shadow:none}
.cls-uma .cls-tab .t th:nth-child(3),.cls-uma .cls-tab .t td:nth-child(3){width:110px}
.cls-uma .cls-tab{max-height:calc(100vh - 120px)}
/* Pop-up de tamanho médio */
dialog.dlg-cad.dlg-media{width:min(860px,96vw);height:min(640px,92vh);max-height:92vh}
dialog.dlg-cad.dlg-media iframe{flex:1;height:auto;max-height:none;min-height:0}
/* Classificação de Clínicas (cadastro compacto) */
.cl2{display:flex;flex-direction:column;height:calc(100vh - 16px);padding:6px 8px;gap:6px;box-sizing:border-box}
.cl2-clin{display:flex;gap:4px}.cl2-clin a{padding:3px 10px;border-radius:14px;border:1px solid var(--linha);font-size:12px;text-decoration:none;color:var(--tinta)}
.cl2-clin a.ativo{background:#1D5C8C;color:#fff;border-color:#1D5C8C}
.cl2-barra{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cl2-busca{position:relative;flex:0 1 280px}
.cl2-busca svg{position:absolute;left:8px;top:7px;width:15px;height:15px;fill:none;stroke:var(--tinta2);stroke-width:2}
.cl2-busca input{width:100%;height:30px;padding-left:28px;font-size:13px}
.cl2-chips{display:inline-flex;border:1px solid var(--linha);border-radius:8px;overflow:hidden}
.cl2-chips button{border:0;background:#fff;padding:5px 10px;font-size:12px;cursor:pointer;color:var(--tinta2)}
.cl2-chips button+button{border-left:1px solid var(--linha)}
.cl2-chips button.ativo{background:#E8F0F7;color:#1D5C8C;font-weight:700}
.cl2-esp{flex:1}
.cl2-exc:not(:disabled):hover{background:#FDE2E0;border-color:#C0392B;color:#8A1C12}
.cl2-tab{flex:1;min-height:0;overflow:auto;border:1px solid var(--linha);border-radius:8px;background:#fff;outline:none}
.cl2-tab:focus-visible{box-shadow:0 0 0 2px #1D5C8C55}
.cl2-tab table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}
.cl2-tab thead th{position:sticky;top:0;background:#F6F8FA;z-index:1;padding:5px 6px;text-align:left;font-size:11.5px;color:var(--tinta2);border-bottom:1px solid var(--linha)}
.cl2-tab td{padding:4px 6px;border-bottom:1px solid #EEF1F4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl2-tab th.n,.cl2-tab td.n{text-align:right}
.cl2-tab th:nth-child(1){width:28px}.cl2-tab th:nth-child(2){width:62px}.cl2-tab th:nth-child(4){width:74px}.cl2-tab th:nth-child(5){width:130px}
.cl2-ord{cursor:pointer;user-select:none}.cl2-ord:hover{color:var(--tinta)}
.cl2-ord.asc::after{content:" ▲";font-size:9px}.cl2-ord.desc::after{content:" ▼";font-size:9px}
.cl2-tab tbody tr{cursor:pointer}
.cl2-tab tbody tr:hover td{background:#F5F8FB}
.cl2-tab tbody tr.sel td{background:#E3EEF8}
.cl2-radio{display:inline-block;width:12px;height:12px;border:1.5px solid #9AA8B3;border-radius:50%;vertical-align:middle;box-sizing:border-box}
tr.sel .cl2-radio{border-color:#1D5C8C;background:radial-gradient(#1D5C8C 0 3px,#fff 3.5px)}
.cl2-cidc b{font-weight:700;color:#1D5C8C}
td.cl2-uso{display:flex;align-items:center;gap:6px}
.cl2-barra-uso{flex:1;height:6px;background:#EEF1F4;border-radius:3px;overflow:hidden}
.cl2-barra-uso i{display:block;height:100%;background:#7FA7C8;border-radius:3px}
.cl2-n{min-width:44px;text-align:right;font-variant-numeric:tabular-nums}
.cl2-vazio{text-align:center;color:var(--tinta2);padding:20px}
.cl2-rodape{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--tinta2)}
#cl2-msg.ok{color:var(--verde);font-weight:600}
.cl2-teclas{margin-left:auto;font-size:11px;opacity:.75}
@keyframes cl2flash{from{background:#FFF0B3}to{background:#E3EEF8}}
tr.cl2-flash td{animation:cl2flash 1.4s ease-out}
/* janelinhas */
dialog.cl2-dlg{border:0;border-radius:12px;padding:16px 18px;width:min(460px,92vw);box-shadow:0 12px 40px rgba(0,0,0,.25)}
dialog.cl2-dlg::backdrop{background:rgba(20,30,40,.35)}
.cl2-dlg h3{margin:0 0 2px;font-size:16px}
.cl2-f-sub{margin:0 0 10px;font-size:12px;color:var(--tinta2)}
.cl2-dlg label{display:block;font-size:12px;font-weight:700;margin:8px 0 3px}
.cl2-dlg input{width:100%;height:32px;box-sizing:border-box}
.cl2-cid{display:flex;gap:6px}.cl2-cid input{width:120px;flex:none;text-transform:uppercase}
.cl2-cid-desc{margin:4px 0 0;font-size:12px;min-height:15px;color:var(--tinta2)}
.cl2-cid-desc.ok{color:#1E6B34}.cl2-cid-desc.erro{color:#9B2C22}
.cl2-parecidas{margin-top:6px;background:#FFF8E1;border:1px solid #F2D27A;border-radius:6px;padding:6px 8px;font-size:12px}
.cl2-parecidas a{display:block;color:#5A4200;text-decoration:none;padding:1px 0}.cl2-parecidas a:hover{text-decoration:underline}
.cl2-f-uso{margin:8px 0 0;font-size:12px;background:#EEF4FA;border-radius:6px;padding:6px 8px;color:#1D5C8C}
.cl2-f-erro{margin:8px 0 0;font-size:12px;background:#FDE2E0;border-radius:6px;padding:6px 8px;color:#8A1C12}
.cl2-f-bts{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.cl2-del-nome{margin:6px 0 0;font-size:13px}
/* Triagem: classificação com busca */
.tri-cl-bt{flex:1;min-width:0;display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border:1px solid var(--linha);border-radius:6px;
  background:#fff;font-weight:700;font-size:12.5px;color:var(--tinta);cursor:pointer;text-align:left}
.tri-cl-bt span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tri-cl-bt i{font-style:normal;color:var(--tinta2);font-size:11px}
.tri-cl-bt:hover:not(:disabled),.tri-cl-bt:focus{border-color:#1D5C8C}
.tri-cl-bt[data-gravado=""] span{color:var(--tinta2);font-weight:500}
.tri-cx{position:fixed;z-index:50;background:#fff;border:1px solid #9AB3C8;border-radius:10px;box-shadow:0 10px 30px rgba(20,40,60,.25);
  display:flex;flex-direction:column;overflow:hidden}
.tri-cx[hidden]{display:none}
.tri-cx-busca{padding:8px;border-bottom:1px solid var(--linha2);background:#F6F9FC}
.tri-cx-busca input{width:100%;height:32px;font-size:13px;box-sizing:border-box}
.tri-cx-lista{list-style:none;margin:0;padding:4px 0;overflow:auto;flex:1;min-height:60px}
.tri-cx-lista li{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:12.5px;cursor:pointer}
.tri-cx-lista li.foco{background:#1D5C8C;color:#fff}
.tri-cx-lista li.atual:not(.foco){background:#E8F0F7;font-weight:700}
.tri-cx-d{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tri-cx-d mark{background:#FFE58A;color:inherit;border-radius:2px;padding:0 1px}
li.foco .tri-cx-d mark{background:#FFD24D;color:#1A2730}
.tri-cx-cid{font-weight:700;color:#1D5C8C}li.foco .tri-cx-cid{color:#CFE3F5}
.tri-cx-u{min-width:36px;text-align:right;color:var(--tinta2);font-variant-numeric:tabular-nums}li.foco .tri-cx-u{color:#DDE8F2}
.tri-cx-vazio{color:var(--tinta2);cursor:default!important}
.tri-cx-rod{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;border-top:1px solid var(--linha2);font-size:11.5px;color:var(--tinta2);background:#FAFBFC}
.tri-cx-limpar{border:0;background:none;color:#9B2C22;cursor:pointer;font-size:11.5px}
/* Triagem: classificação na 2ª linha, CIDs com espaço na 3ª */
.tri-l2{grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.3fr);align-items:center}
.tri-l2 .tri-cl{min-width:0}
.tri-l3{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 150px}
.tri-cl-bt.sugerido{background:#FFF6D6;border-color:#D9A300;box-shadow:0 0 0 1px #D9A300 inset}
.tri-sugcl{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.tri-sugcl[hidden]{display:none}
.tri-sugcl .btn.peq{height:24px;min-width:24px;padding:0 5px}
.tri-sug-barra{display:inline-flex;align-items:center;gap:6px;font-size:12px}.tri-sug-barra[hidden]{display:none}
.tri-acoes2{display:flex;align-items:center;gap:8px;padding:4px 10px;border-bottom:1px solid var(--linha2);background:#FAFBFC;flex-wrap:wrap}
.tri-acoes2 .tri-sug-acoes{margin-left:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}
.tri-acoes2 #tri-sugerir{margin-left:auto}
.tri-l3 .tri-est{width:100%}
.tri-l3 .tri-est .tri-cid-bt{max-width:none}
body.popup .tri-lista{max-height:calc(100vh - 185px)}
.tri-l3{grid-template-columns:minmax(0,2.1fr) minmax(0,1.2fr) 150px}
/* Triagem: Status e Clínica mais estreitos, mais espaço para os dados */
.tri-reg{grid-template-columns:88px 48px minmax(0,1fr)}
.tri-reg .mon-st{font-size:10.5px;letter-spacing:0;padding:4px 2px;word-break:break-word;text-align:center}
.tri-cab{grid-template-columns:88px 48px 88px 50px minmax(160px,1fr) 44px 86px 70px 56px 110px 92px 70px}
.tri-cab span:first-child{padding-left:6px}
.tri-clinica select{width:44px;font-size:14px}
/* Classificação: CID Principal e sugestões de CID */
.cl2-tab th:nth-child(4){width:120px}.cl2-tab th:nth-child(5){width:96px}.cl2-tab th:nth-child(6){width:120px}
.cl2-sugbt{border-color:#D9A300;background:#FFF8E1}
.cl2-sugbar{display:flex;align-items:center;gap:8px;font-size:12px;background:#FFF8E1;border:1px solid #F2D27A;border-radius:8px;padding:4px 8px}
.cl2-sugbar[hidden]{display:none}
.cl2-sugbar .ativo{background:#E8F0F7;border-color:#1D5C8C;color:#1D5C8C}
td.cl2-sugc{background:#FFF6D6!important}
td.cl2-sugc .tri-conf{font-size:9.5px;padding:0 4px}
.cl2-ok,.cl2-no{border:1px solid var(--linha);background:#fff;border-radius:4px;font-size:11px;line-height:1;padding:2px 4px;cursor:pointer;margin-left:2px}
.cl2-ok{color:#fff;background:#1D5C8C;border-color:#1D5C8C}
.cl2-f-princ{margin:4px 0 0;font-size:12px}
#cl2-msg.erro{color:var(--vermelho)}
.cl2-busca{flex:0 1 210px}
.cl2-chips button{padding:5px 8px}
.cl2-barra .btn.peq{padding:0 8px}
.cl2-tab th:nth-child(4){width:178px}.cl2-tab th:nth-child(5){width:84px}.cl2-tab th:nth-child(6){width:110px}
td.cl2-sugc{overflow:visible;text-overflow:clip}
/* Classificação: nome do CID sugerido embaixo; marcar várias */
td.cl2-sugc{white-space:normal}
.cl2-sug-l1{white-space:nowrap}
.cl2-sug-nome{font-size:11px;color:#5A4200;line-height:1.2;margin-top:1px;white-space:normal}
.cl2-marcbar{display:flex;align-items:center;gap:10px;font-size:12px;background:#FDECEA;border:1px solid #F3B8B0;border-radius:8px;padding:4px 8px}
.cl2-marcbar[hidden]{display:none}
.cl2-marc-todos{display:inline-flex;align-items:center;gap:4px;font-weight:700;margin:0;cursor:pointer}
.cl2-marc{width:14px;height:14px;margin:0;cursor:pointer}
.cl2-tab th:nth-child(1){width:34px}.cl2-tab td.cl2-sel{overflow:visible;text-overflow:clip;text-align:center}
/* Classificação: filtro de confiança, CID clicável, nomes embaixo */
.cl2-conf-f{display:inline-flex;border:1px solid #E2C46A;border-radius:8px;overflow:hidden}
.cl2-conf-f button{border:0;background:#fff;padding:3px 9px;font-size:11.5px;cursor:pointer;color:var(--tinta2)}
.cl2-conf-f button+button{border-left:1px solid #E2C46A}
.cl2-conf-f button.ativo[data-conf="alta"]{background:#DFF3E4;color:#1E6B34;font-weight:700}
.cl2-conf-f button.ativo[data-conf="media"]{background:#FFF0C2;color:#7A5A00;font-weight:700}
.cl2-conf-f button.ativo[data-conf="baixa"]{background:#FDE2E0;color:#9B2C22;font-weight:700}
.cl2-conf-f small{opacity:.8;margin-left:2px}
.cl2-cidlink{border:0;background:none;padding:0;font:inherit;font-weight:700;color:#1D5C8C;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}
.cl2-cidlink:hover{color:#0E3E63;text-decoration:underline}
.cl2-cidlink.vazio{font-weight:500;color:var(--tinta2)}
.cl2-nome{font-size:10.5px;line-height:1.2;color:var(--tinta2);white-space:normal;margin-top:1px}
td.cl2-sugc .cl2-nome{color:#5A4200}
.cl2-tab td.cl2-cidc{white-space:normal;vertical-align:top;padding-top:5px}
.cl2-tab th:nth-child(5){width:150px}
/* Classificação: pesquisa na internet ao lado da descrição */
.cl2-tab td.cl2-desc{white-space:nowrap}
.cl2-dtx{overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:calc(100% - 30px);vertical-align:middle}
.cl2-web{border:1px solid var(--linha);background:#fff;border-radius:6px;padding:0 4px;margin-left:6px;font-size:13px;line-height:20px;height:22px;cursor:pointer;vertical-align:middle;opacity:.55}
tr:hover .cl2-web,tr.sel .cl2-web,.cl2-web:focus{opacity:1}
.cl2-web:hover{border-color:#1D5C8C;background:#EEF4FA}
.cl2-webcid{font-size:10px;font-weight:800;color:#1D5C8C;margin-left:3px;padding:0 4px;letter-spacing:.2px}
.cl2-dtx{max-width:calc(100% - 72px)}
/* Campo CID-10: pesquisa na internet e sugestão do sistema */
.cid-linha .cid-web{border:1px solid var(--linha);background:#fff;border-radius:6px;height:30px;padding:0 6px;font-size:14px;cursor:pointer;flex:none}
.cid-linha .cid-webcid{font-size:10.5px;font-weight:800;color:#1D5C8C}
.cid-linha .cid-web:hover{border-color:#1D5C8C;background:#EEF4FA}
.sig-usar.sig-sistema{background:#FFF8E1;border-color:#E2C46A}
.sig-usar.sig-sistema small{color:var(--tinta2);font-weight:500}
.sig-usar.sig-sistema.c-alta{background:#E8F6EC;border-color:#9BD2AA}
.sig-usar.sig-sistema{color:#5A4200!important;font-weight:600}
.sig-usar.sig-sistema.c-alta{color:#1E6B34!important}
.sig-usar.sig-sistema:hover{filter:brightness(.97);text-decoration:underline}
.cid-apagado{font-size:12px;color:#8A1C12;background:#FDECEA;border:1px solid #F3B8B0;border-radius:6px;padding:3px 8px;margin-bottom:4px}
/* Acompanhamento por período: baixa em lote */
.mon-cartao-w{position:relative;display:inline-flex}
.mon-cartao-w > .mon-cartao{flex:1}
.mon-baixa-bt{position:absolute;right:6px;bottom:6px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.95);color:#8A1C12;
  font-size:11px;font-weight:800;border-radius:6px;padding:2px 7px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.mon-baixa-bt:hover{background:#fff;color:#B42318}
dialog.mon-baixa{width:min(560px,94vw)}
.mb-per,.mb-op{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.mb-per label,.mb-op > label{display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:3px;flex:1;min-width:160px}
.mb-op fieldset{border:1px solid var(--linha);border-radius:8px;padding:4px 10px;font-size:12px;flex:1.4}
.mb-op fieldset label{display:block;font-weight:500;margin:2px 0}
.mb-op legend{font-weight:700;padding:0 4px}
.mb-previa{margin-top:10px;background:#F6F8FA;border:1px solid var(--linha2);border-radius:8px;padding:6px 10px;font-size:12.5px;max-height:170px;overflow:auto}
.mb-previa ul{margin:4px 0 0 16px;padding:0}
.mb-conf{display:flex!important;gap:6px;align-items:flex-start;margin-top:10px!important;font-weight:500!important;font-size:12.5px!important;background:#FDECEA;border-radius:8px;padding:6px 8px}
.mb-conf input{width:auto!important;height:auto!important;margin-top:2px}
.mb-prog{margin-top:8px;position:relative;height:22px;background:#EEF1F4;border-radius:11px;overflow:hidden}
.mb-prog i{position:absolute;left:0;top:0;bottom:0;width:0;background:#7FA7C8;transition:width .3s}
.mb-prog span{position:relative;font-size:12px;line-height:22px;padding-left:10px;font-weight:600}
.mon-baixa input[type=radio],.mon-baixa input[type=checkbox]{width:auto!important;height:auto!important;margin:0 6px 0 0;vertical-align:middle}
.mb-op fieldset label{display:flex!important;align-items:center;flex-direction:row!important}
.mb-conf{display:block!important}
/* baixa em lote: tipo de alta fixo por situação */
.mon-baixa .mb-tipo{display:flex;flex-direction:column;gap:2px;font-size:.85rem}
.mon-baixa .mb-tipo span{color:var(--dim,#667)}
.mon-baixa .mb-tipo b{font-size:1rem}

/* ================================================================ entrada do sistema (login) + logo */
.lg2-pag{min-height:100vh;margin:0;display:grid;place-items:center;padding:24px;
  background:radial-gradient(1200px 600px at 10% -10%,#2B8FC9 0,transparent 60%),radial-gradient(900px 500px at 110% 110%,#22A39A 0,transparent 55%),linear-gradient(135deg,#173F73,#0F2E57)}
.lg2{width:100%;max-width:860px;display:grid;grid-template-columns:1.05fr 1fr;background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 30px 70px rgba(5,20,40,.45),0 2px 6px rgba(0,0,0,.2)}
.lg2-marca{position:relative;padding:48px 40px;color:#fff;display:flex;flex-direction:column;justify-content:center;overflow:hidden;
  background:linear-gradient(160deg,#1D5C8C 0%,#173F73 60%,#123461 100%)}
.lg2-marca::after{content:"";position:absolute;width:340px;height:340px;right:-140px;top:-120px;border-radius:50%;border:44px solid rgba(255,255,255,.06)}
.lg2-ecg{position:absolute;left:0;right:0;bottom:56px;height:90px;opacity:.22}
.lg2-ecg svg{width:100%;height:100%}
.lg2-ecg path{fill:none;stroke:#7FE3D8;stroke-width:3;stroke-linejoin:round;stroke-dasharray:1400;stroke-dashoffset:1400;animation:lg2-ecg 3.2s ease-out .2s forwards}
@keyframes lg2-ecg{to{stroke-dashoffset:0}}
.lg2-logo{width:76px;height:76px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.3));position:relative;z-index:1}
.lg2-marca h1{margin:18px 0 4px;font-size:34px;font-weight:400;letter-spacing:-.6px;color:#fff;position:relative;z-index:1}
.lg2-marca h1 b{font-weight:800}
.lg2-org{margin:0;font-size:13px;letter-spacing:.4px;opacity:.85;max-width:300px;position:relative;z-index:1}
.lg2-mods{list-style:none;padding:0;margin:34px 0 0;display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;font-weight:600;position:relative;z-index:1}
.lg2-mods li{display:flex;align-items:center;gap:6px;opacity:.92}
.lg2-mods i{width:9px;height:9px;border-radius:50%;background:#5BB0E8}.lg2-mods i.m2{background:#5FCB98}.lg2-mods i.m3{background:#B79CF0}
.lg2-form{padding:46px 40px 36px;display:flex;flex-direction:column}
.lg2-form h2{margin:0;font-size:24px;color:var(--tinta)}
.lg2-sub{margin:4px 0 22px;color:var(--tinta2);font-size:13.5px}
.lg2-form > label{font-weight:700;font-size:12.5px;margin:12px 0 6px;color:var(--tinta)}
.lg2-campo{position:relative;display:flex;align-items:center}
.lg2-campo > svg{position:absolute;left:12px;width:19px;height:19px;fill:none;stroke:#1D5C8C;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;z-index:1}
.lg2-campo .campo-senha{flex:1;width:100%}
.lg2-campo input{width:100%;height:44px;padding:0 12px 0 42px;border:1.5px solid var(--linha);border-radius:10px;font:inherit;font-size:15px;background:#F7F9FB;transition:border-color .15s,box-shadow .15s,background .15s}
.lg2-campo input:focus{outline:none;border-color:#1D5C8C;background:#fff;box-shadow:0 0 0 4px rgba(29,92,140,.14)}
.lg2-campo .campo-senha input{padding-right:42px}
.lg2-bt{margin-top:24px;height:46px;border-radius:10px;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(90deg,#1D5C8C,#1F7FA8);border:none;box-shadow:0 8px 18px rgba(29,92,140,.3);cursor:pointer}
.lg2-bt:hover{filter:brightness(1.07)}
.lg2-bt svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.lg2-bt:hover svg{transform:translateX(3px)}
.lg2-form .login-rodape{margin-top:20px}
.lg2-form .msg{margin-bottom:6px}
@media (max-width:720px){.lg2{grid-template-columns:1fr}.lg2-marca{padding:28px 24px;flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap}
  .lg2-marca h1{margin:0;font-size:26px}.lg2-logo{width:52px;height:52px}.lg2-org{flex-basis:100%}.lg2-mods,.lg2-ecg{display:none}.lg2-form{padding:28px 24px}}
@media (prefers-reduced-motion:reduce){.lg2-ecg path{animation:none;stroke-dashoffset:0}}
/* logo na barra do topo */
.barra-topo .marca{flex-direction:row!important;align-items:center;gap:9px}
.barra-topo .marca .marca-txt{display:flex;flex-direction:column;line-height:1.05}
.barra-topo .logo-topo{width:30px;height:30px;flex:none;border-radius:8px;box-shadow:0 0 0 1.5px rgba(255,255,255,.35)}
main.lg2{padding:0;margin:0}
.lg2-ecg{bottom:18px;height:70px}
/* login: azul mais claro + brasão do município acima do formulário */
.lg2-pag{background:radial-gradient(1100px 620px at 8% -10%,#8CC8F2 0,transparent 60%),radial-gradient(900px 520px at 110% 115%,#5FD0C4 0,transparent 55%),linear-gradient(135deg,#4F9FDF,#2F7BC4 55%,#22649F)}
.lg2-marca{background:linear-gradient(160deg,#3A92D8 0%,#2770B5 55%,#1E5E9C 100%)}
.lg2-marca::after{border-color:rgba(255,255,255,.09)}
.lg2-ecg{opacity:.3}
.lg2-form{padding-top:30px}
.lg2-brasao{display:flex;align-items:center;gap:12px;margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--linha2)}
.lg2-brasao img{width:auto;height:58px;flex:none;filter:drop-shadow(0 3px 5px rgba(20,60,100,.18))}
.lg2-brasao span{display:flex;flex-direction:column;font-size:11.5px;letter-spacing:.3px;color:var(--tinta2);line-height:1.25;text-transform:uppercase}
.lg2-brasao b{font-size:15px;letter-spacing:.1px;color:#1E5E9C;text-transform:none}
@media (max-width:720px){.lg2-brasao img{height:48px}}
.lg2-brasao img{height:68px}
.lg2-logo{border-radius:18px;box-shadow:0 0 0 3px rgba(255,255,255,.55)}
.lg2-mods i{background:#CFE9FF}
/* botão "Clique para dar baixa" dentro do card (Internados / Em observação) */
.mon-baixa-bt{right:7px;bottom:7px;display:flex;align-items:center;gap:7px;padding:3px 10px 3px 3px;border:none;border-radius:999px;
  background:#fff;color:var(--tinta);font:inherit;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25);transition:transform .15s,box-shadow .15s}
.mon-baixa-bt i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:currentColor;flex:none;position:relative}
.mon-baixa-bt i svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.mon-baixa-bt i::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid currentColor;opacity:0;animation:mb-pulso 2.2s ease-out infinite}
@keyframes mb-pulso{0%{opacity:.55;transform:scale(.85)}100%{opacity:0;transform:scale(1.45)}}
.mon-baixa-bt span{display:flex;flex-direction:column;line-height:1.1;text-align:left}
.mon-baixa-bt b{font-size:11.5px;font-weight:700;color:#1A2730}
.mon-baixa-bt small{font-size:9.5px;color:#5B6870;font-weight:500}
.mon-baixa-bt:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.3);background:#fff}
.mon-cartao-w:has(.mc-INTERNADO) .mon-baixa-bt{color:#C8261C}
.mon-cartao-w:has(.mc-OBS) .mon-baixa-bt{color:#4F5BB0}
@media (prefers-reduced-motion:reduce){.mon-baixa-bt i::after{animation:none}}
.mon-baixa-bt{top:50%;bottom:auto;right:8px;transform:translateY(-50%);padding:3px 11px 3px 3px}
.mon-baixa-bt:hover{transform:translateY(calc(-50% - 1px))}
.mon-baixa-bt b{font-size:12px}
.mon-baixa-bt{top:auto;bottom:6px;transform:none;padding:2px 10px 2px 2px;gap:6px}
.mon-baixa-bt:hover{transform:translateY(-1px)}
.mon-baixa-bt i{width:21px;height:21px}.mon-baixa-bt i svg{width:12px;height:12px}
.mon-baixa-bt b{font-size:11.5px}.mon-baixa-bt small{font-size:9px}
.lg2-brasao{justify-content:space-between}
.lg2-brasao span{flex:1;align-items:center;text-align:center}
.lg2-brasao img.lg2-ce{height:64px}
/* caixa de baixa em lote compacta (sem rolagem) */
dialog.mon-baixa{width:min(540px,96vw);padding:12px 16px;max-height:none;overflow:visible}
.mon-baixa h3{font-size:15px}
.mon-baixa .cl2-f-sub{margin:2px 0 0;font-size:12px}
.mb-chip{display:inline-block;padding:0 7px;border-radius:999px;background:var(--mod-claro,#E6EFF6);color:var(--mod,#1D5C8C);font-weight:700;font-size:11.5px}
.mb-per{margin-top:6px;gap:10px}
.mb-per label{margin:0!important}
.mb-per select{height:30px}
.mb-previa{margin-top:8px;padding:5px 9px;font-size:12px;max-height:none;overflow:visible}
.mb-previa ul{margin:2px 0 0 14px}
.mb-previa li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mb-op{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.mb-op-tit{font-size:12px;font-weight:700}
.mb-seg{display:inline-flex;border:1px solid var(--linha);border-radius:8px;overflow:hidden}
.mb-seg label{display:block!important;margin:0!important;font-weight:500!important;cursor:pointer}
.mb-seg input{position:absolute;opacity:0;pointer-events:none}
.mb-seg span{display:block;padding:5px 10px;font-size:12px;border-left:1px solid var(--linha)}
.mb-seg label:first-child span{border-left:0}
.mb-seg input:checked + span{background:var(--mod,#1D5C8C);color:#fff;font-weight:700}
.mb-seg input:focus-visible + span{outline:2px solid var(--mod);outline-offset:-2px}
.mb-conf{margin-top:8px!important;padding:5px 8px;font-size:12px!important}
.mb-conf small{color:var(--tinta2)}
.mon-baixa .cl2-f-bts{margin-top:8px}
/* Monitoramento / Acompanhamento por período: página sem rolagem, só a lista rola */
html.mon-ajustada, html.mon-ajustada body{overflow:hidden}
html.mon-ajustada main{padding-bottom:0}
html.mon-ajustada .mon{display:flex;flex-direction:column}
html.mon-ajustada .mon > *{flex:none}
html.mon-ajustada .mon .mon-lista{flex:1 1 auto;min-height:120px;max-height:none!important}
/* Recepção: paciente sem prontuário → criar na hora */
#pront-vis.sem{background:#FFF4E5;border-color:#F5B971;color:#B54708}
#pront-vis.pr-novo{animation:pr-novo 2.4s ease-out}
@keyframes pr-novo{0%{background:#D9F2E3;box-shadow:0 0 0 4px rgba(46,125,91,.25)}100%{background:#fff;box-shadow:none}}
.pr-bt{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;height:28px;padding:0 10px 0 7px;border:1px solid #E08A1E;border-radius:6px;
  background:linear-gradient(#FFB547,#F59E1B);color:#4A2A00;font:inherit;font-size:12px;font-weight:700;cursor:pointer;
  box-shadow:0 1px 0 rgba(0,0,0,.08);animation:pr-chama 2.4s ease-in-out 3}
.pr-bt svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pr-bt:hover{filter:brightness(1.05)}
@keyframes pr-chama{0%,100%{box-shadow:0 0 0 0 rgba(245,158,27,.55)}50%{box-shadow:0 0 0 5px rgba(245,158,27,0)}}
@media (prefers-reduced-motion:reduce){.pr-bt,#pront-vis.pr-novo{animation:none}}
dialog.pr-dlg{width:min(520px,94vw);padding:18px 20px;border-top-color:#F59E1B}
.pr-cab{display:flex;gap:12px;align-items:flex-start}
.pr-ico{width:40px;height:40px;border-radius:10px;background:#FFF4E5;color:#C46A05;display:grid;place-items:center;flex:none}
.pr-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pr-dlg h2{margin:0!important;font-size:17px!important}
.pr-aviso{margin:2px 0 0;color:var(--tinta2);font-size:12.5px}
.pr-pac{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;margin:12px 0;padding:8px 10px;background:#F6F8FA;border-radius:8px;font-size:12.5px;color:var(--tinta2)}
.pr-pac > b{flex-basis:100%;font-size:14px;color:var(--tinta)}
.pr-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pr-op{position:relative;display:block;margin:0!important;cursor:pointer}
.pr-op > input{position:absolute;opacity:0}
.pr-op-c{display:flex;flex-direction:column;gap:4px;height:100%;padding:10px 12px;border:2px solid var(--linha);border-radius:10px;transition:border-color .15s,background .15s}
.pr-op > input:checked + .pr-op-c{border-color:var(--mod);background:var(--mod-claro)}
.pr-op > input:focus-visible + .pr-op-c{outline:2px solid var(--mod);outline-offset:2px}
.pr-op-t{font-weight:700;font-size:13px}
.pr-op small{font-size:11px;color:var(--tinta2);font-weight:400}
.pr-num{font-size:26px;font-weight:800;letter-spacing:-.5px;color:var(--mod);line-height:1.1}
.pr-op-c input{height:34px;font-size:16px;font-weight:700;width:100%}
.pr-bts{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
@media (max-width:520px){.pr-opcoes{grid-template-columns:1fr}}
.campo-acao:has(#btn-pront:not([hidden])) #pront-vis{display:none}
.campo-acao #btn-pront{flex:1;justify-content:center}
dialog.pr-dlg{width:min(580px,94vw)}
.pr-bts .btn{white-space:nowrap}
/* ================================================================ Mapa do Censo Diário Hospitalar (estilo do Access) */
.mc{background:#fff;border:1px solid var(--linha);border-top:4px solid var(--mod);border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column}
.mc-topo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 12px;background:#E9EEF3;border-bottom:1px solid var(--linha)}
.mc-und{font-size:15px;color:#4B5A63}.mc-und span{color:#8A98A2}.mc-und b{color:var(--tinta);letter-spacing:.3px}
.mc-exerc{display:flex;align-items:center;gap:6px;background:#CFE3F6;border-radius:8px;padding:3px 6px;font-size:15px}
.mc-exerc b{font-size:18px;color:#123E60;margin-left:4px}.mc-exerc small{color:#4B5A63;margin-left:4px}
.mc-nav{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;font-size:20px;line-height:1;color:#123E60}
.mc-nav:hover{background:#fff;text-decoration:none}
.mc-acoes{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mc-leitos-atual{font-size:12px;color:var(--tinta2);margin-right:4px}.mc-leitos-atual b{color:var(--tinta)}
.mc-msg{margin:8px 12px 0}
.mc-grade-w{flex:1 1 auto;overflow:auto;min-height:160px}
.mc-grade{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;font-weight:700;text-align:center}
.mc-grade th{position:sticky;top:0;z-index:2;padding:4px 3px;font-size:11.5px;color:#fff;border-right:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);white-space:nowrap}
.mc-grade thead tr:nth-child(2) th{top:25px}
.mc-grade th.mc-dia{background:#E9EEF3;color:#4B5A63}
.mc-grade td{padding:3px 4px;border-right:1px solid #fff;border-bottom:1px solid #fff;min-width:34px}
.g-ex{background:#00A5E0}.g-in{background:#E3262A}.g-al{background:#2EA84A}.g-ob{background:#3F464D}.g-tr{background:#7A5BB5}
.g-tot{background:#F3F5F7;color:#4B5A63!important}.g-ld{background:#111;}
td.mc-dia{background:#F3F5F7;color:#1D5C8C;width:44px}
.c-ex{background:#00A5E0;color:#fff}.c-in{background:#E3262A;color:#fff}.c-al{background:#2EA84A;color:#fff}
.c-ob{background:#3F464D;color:#fff}.c-tr{background:#7A5BB5;color:#fff}.c-tot{background:#fff;color:#1D5C8C}
.c-ld{background:#111;color:#fff;width:64px}
.mc-grade td.z{color:rgba(255,255,255,.55);font-weight:500}
.mc-grade tbody tr:hover td{filter:brightness(1.08)}
.mc-grade tr.futuro td{background:#F7F9FA;height:22px}
.mc-grade tfoot td{position:sticky;bottom:0;z-index:2;border-top:2px solid #1A2730;font-size:13.5px;filter:brightness(.9)}
.mc-grade tfoot td.mc-dia{color:var(--tinta);filter:none}
.mc-ld{width:52px;height:22px;text-align:center;background:#111;color:#fff;border:1px solid #555;border-radius:4px;font:inherit;font-weight:700}
.mc-ld:focus{outline:2px solid #FFD66B;background:#000}
.mc-ld.alt{border-color:#FFD66B;color:#FFD66B}
.mc-ind{display:grid;grid-template-columns:repeat(5,1fr) 1.4fr;gap:8px;padding:8px 12px;border-top:1px solid var(--linha);background:#FAFBFC;flex:none}
.mc-k{background:#fff;border:1px solid var(--linha2);border-radius:8px;padding:5px 10px;display:flex;flex-direction:column;line-height:1.2}
.mc-k span{font-size:11px;color:var(--tinta2);font-weight:600}.mc-k b{font-size:18px;color:var(--tinta)}.mc-k small{font-size:10px;color:#8A98A2}
.mc-k.forte{border-color:#1D5C8C;background:#EEF5FB}.mc-k.forte b{color:#1D5C8C}
.mc-k-clin > div{display:flex;gap:10px;flex-wrap:wrap;margin-top:3px}.mc-k-clin i{font-style:normal;font-size:12px;color:var(--tinta2)}.mc-k-clin i b{font-size:14px}
.mc-nota{margin:0;padding:4px 12px 8px;font-size:11px;color:var(--tinta2);background:#FAFBFC;flex:none}
dialog.mc-dlg{width:min(480px,94vw)}
.mc-l-grade{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:8px;margin-top:10px;align-items:end}
.mc-l-grade label{margin:0!important;display:flex!important;flex-direction:column;gap:2px}
.mc-l-grade label small{font-weight:400;color:var(--tinta2);font-size:10.5px}
.mc-l-grade input{height:32px;text-align:center;font-size:15px;font-weight:700}
.mc-l-tot{display:flex;flex-direction:column;align-items:center;font-size:12px;font-weight:700;padding:0 6px}.mc-l-tot b{font-size:20px;color:var(--mod)}
.mc-l-ini{display:flex!important;align-items:center;gap:8px;margin-top:12px!important}.mc-l-ini input{width:auto!important}
.mc-l-hist{margin-top:8px;font-size:12px}.mc-l-hist ul{margin:4px 0 0 16px;padding:0;max-height:110px;overflow:auto}
@media (max-width:1100px){.mc-ind{grid-template-columns:repeat(3,1fr)}}
@media print{.mc-ld{border:none;background:none;color:#000}.mc-grade th,.mc-grade td{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.g-sl{background:#0E7C66}
.c-sl{background:#E6F4F0;color:#0E6B58;width:64px}
.c-sl.neg{background:#FDECEA;color:#B42318}
.mc-ind{grid-template-columns:repeat(3,1fr) 1.6fr}
/* Mapa do censo: situação do mapa gravado + botão Atualizar informações */
.mc-status{display:inline-flex;align-items:center;gap:7px;padding:3px 10px 3px 4px;border-radius:999px;font-size:12px;line-height:1.1;white-space:nowrap}
.mc-status i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;color:#fff;flex:none}
.mc-status span{display:flex;flex-direction:column}.mc-status small{font-size:10.5px;opacity:.85}
.mc-status.desat{background:#FFF4E5;border:1px solid #F5B971;color:#8A4B00}
.mc-status.desat i{background:#F59E1B;animation:mc-pisca 1.6s ease-in-out infinite}
.mc-status.desat em{font-style:normal;font-size:16px;color:#F59E1B;animation:mc-seta 1.1s ease-in-out infinite}
.mc-status.ok{background:#E6F4EC;border:1px solid #9CD3B2;color:#1B5139}.mc-status.ok i{background:#2E7D5B}
@keyframes mc-seta{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@keyframes mc-pisca{0%,100%{box-shadow:0 0 0 0 rgba(245,158,27,.6)}50%{box-shadow:0 0 0 5px rgba(245,158,27,0)}}
.mc-atualizar{display:inline-flex;align-items:center;gap:6px}
.mc-atualizar svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.mc-atualizar.pulsa{background:#E8890C;border-color:#C46A05;animation:mc-pisca 1.6s ease-in-out infinite}
.mc-atualizar.pulsa:hover{background:#C46A05}
@media (prefers-reduced-motion:reduce){.mc-status.desat i,.mc-status.desat em,.mc-atualizar.pulsa{animation:none}}
/* mapa do censo: cards por paciente (internados no último dia, internações, saídas, permanência, +90 dias) */
.mc-ind{grid-template-columns:1.5fr repeat(4,1fr)}
.mc-k b small.mc-de{font-size:12px;font-weight:600;color:var(--tinta2)}.mc-k b small.mc-de em{font-style:normal;color:var(--tinta)}
.mc-k small b{font-size:11px;color:var(--tinta)}
.mc-k.alerta{border-color:#F5B971;background:#FFF4E5}.mc-k.alerta b{color:#B54708}
@media (max-width:1100px){.mc-ind{grid-template-columns:repeat(3,1fr)}}
/* mapa do censo: cards clicáveis por tempo de internação */
.mc-faixas{grid-template-columns:repeat(4,1fr)!important;border-top:0;padding-top:0}
.mc-click{position:relative;text-align:left;font:inherit;cursor:pointer;border:1px solid var(--linha);border-left:4px solid var(--fx,#1D5C8C);
  transition:transform .12s,box-shadow .12s,border-color .12s;padding-right:34px}
.mc-click:hover:not(:disabled),.mc-click:focus-visible{transform:translateY(-2px);box-shadow:0 6px 16px rgba(20,50,80,.16);border-color:var(--fx)}
.mc-click:disabled{cursor:default;opacity:.65}
.mc-click.f30{--fx:#2E7D5B}.mc-click.f60{--fx:#C9A227}.mc-click.f90{--fx:#E8890C}.mc-click.f91{--fx:#B42318}
.mc-click b{color:var(--fx)}
.mc-click .mc-ver{font-style:normal;font-weight:700;color:var(--fx);display:inline-flex;align-items:center;gap:2px}
.mc-click .mc-ver svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.6;transition:transform .12s}
.mc-click:hover .mc-ver svg{transform:translateX(3px)}
.mc-lista-ico{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:20px;height:20px;fill:none;stroke:var(--fx);stroke-width:2;stroke-linecap:round;opacity:.55}
.mc-lista-ico circle{fill:var(--fx);stroke:none}
.mc-click:hover .mc-lista-ico{opacity:1}
dialog.mc-pac-dlg{width:min(980px,96vw);max-height:86vh;display:flex;flex-direction:column}
dialog.mc-pac-dlg:not([open]){display:none}
.mc-pac-topo{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mc-pac-lista{overflow:auto;margin-top:8px;min-height:80px}
.mc-pac-t{width:100%;border-collapse:collapse;font-size:12.5px}
.mc-pac-t th{position:sticky;top:0;background:#F3F5F7;text-align:left;padding:6px 8px;font-size:11.5px;color:var(--tinta2)}
.mc-pac-t td{padding:6px 8px;border-bottom:1px solid var(--linha2);vertical-align:middle}
.mc-pac-t td.d{font-weight:800;font-size:15px;color:var(--mod);text-align:center;width:48px}
.mc-pac-t td b{display:block}.mc-pac-t td small{color:var(--tinta2);font-size:10.5px}
.mc-pac-t td.dg{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-pac-t tr:hover td{background:#F6F9FC}
.mc-ind:not(.mc-faixas){grid-template-columns:1.5fr repeat(3,1fr)}
.mc-pac-t tbody tr{cursor:pointer}
/* mapa do censo: todos os cards numa linha só, compactos */
.mc-ind.mc-ind8{grid-template-columns:1.25fr repeat(3,.9fr) repeat(4,1fr)!important;gap:6px;padding:6px 10px}
.mc-ind8 .mc-k{padding:4px 8px;border-radius:7px;min-width:0}
.mc-ind8 .mc-k span{font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-ind8 .mc-k > b{font-size:15px;line-height:1.2}
.mc-ind8 .mc-k small{font-size:9.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-ind8 .mc-k b small.mc-de{font-size:10px}
.mc-ind8 .mc-k small b{font-size:9.5px}
.mc-ind8 .mc-click{padding-right:24px;border-left-width:3px}
.mc-ind8 .mc-lista-ico{width:15px;height:15px;right:6px}
.mc-ind8 .mc-click .mc-ver svg{width:10px;height:10px}
@media (max-width:1250px){.mc-ind.mc-ind8{grid-template-columns:repeat(4,1fr)!important}}
/* Acompanhamento do paciente: campos obrigatórios que faltam */
.fs-faltam{margin:8px 16px 0;padding:8px 12px;border-radius:8px;background:#FDECEA;border:1px solid #F3B4AC;color:#8A1C12;font-size:13px}
.ficha-sistema .falta,.ficha-sistema input.falta,.ficha-sistema select.falta{border-color:#D92D20!important;background:#FFF5F4!important;box-shadow:0 0 0 3px rgba(217,45,32,.15)}
/* Recepção: acompanhante / desacompanhado; campos que faltam */
.ac-campo input{flex:1;min-width:0}
.ac-desac{white-space:nowrap}
.ac-desac.ativo{background:var(--mod);border-color:var(--mod);color:#fff}
.ficha-sistema .cid-texto.falta{border-color:#D92D20!important;background:#FFF5F4!important}
.ac-desac{flex:none;width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid var(--linha);border-radius:6px;background:#fff;color:var(--tinta2);cursor:pointer}
.ac-desac svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ac-desac:hover{border-color:var(--mod);color:var(--mod);background:var(--mod-claro)}
.ac-desac.ativo{background:var(--mod);border-color:var(--mod);color:#fff}
.ac-campo{gap:4px!important}.ac-campo input{font-size:12.5px}

/* ambiente de homologação: etiqueta no topo */
.amb-tag{display:inline-block;margin-left:10px;padding:3px 10px;border-radius:999px;background:#f59e0b;color:#1f1300;font-weight:700;font-size:12px;letter-spacing:.06em;align-self:center;white-space:nowrap}

/* CPF: conferência na hora */
.cpf-msg{font-size:12px;min-height:1em;margin-top:3px}
.cpf-msg.ok{color:#15803d}
.cpf-msg.erro{color:#b91c1c;font-weight:600}
input.campo-erro{border-color:#dc2626 !important;box-shadow:0 0 0 2px rgba(220,38,38,.15)}

/* caixas de seleção grandes com procura (cbx) */
.cbx{position:relative;display:block;width:100%}
.cbx > select.cbx-orig{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;left:0;bottom:0}
.cbx-in{width:100%;padding-right:28px !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}
.cbx-lista{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 2px);max-height:280px;overflow-y:auto;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.16);padding:4px 0;min-width:240px}
.cbx-op{padding:6px 10px;cursor:pointer;font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbx-op:hover{background:#f1f5f9}
.cbx-op.ativo{background:#1e40af;color:#fff}
.cbx-op.sel{font-weight:700}
.cbx-vazio{padding:7px 10px;color:#64748b;font-size:13px;font-style:italic}

/* Movimentações de pacientes: situação em botões coloridos + busca compacta, tudo numa linha */
.mon-filtros.mf2{flex-wrap:nowrap;gap:8px;padding:7px 12px}
.mf2-rot{font-size:12.5px;font-weight:700;color:var(--tinta2);flex:none}
.mf2-chips{display:flex;gap:5px;flex:none;flex-wrap:nowrap}
.mf2-chip{--c:#4A5560;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 6px 0 9px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--c) 45%,#fff);
  background:color-mix(in srgb,var(--c) 7%,#fff);color:var(--c);font-size:12.5px;font-weight:700;white-space:nowrap;text-decoration:none;transition:background .12s,box-shadow .12s,transform .12s}
.mf2-chip i{width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.mf2-chip b{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--c);color:#fff;font-size:11.5px;display:inline-flex;align-items:center;justify-content:center}
.mf2-chip:hover{text-decoration:none;background:color-mix(in srgb,var(--c) 15%,#fff);transform:translateY(-1px)}
.mf2-chip.ativo{background:var(--c);color:#fff;border-color:var(--c);box-shadow:0 2px 8px color-mix(in srgb,var(--c) 40%,transparent)}
.mf2-chip.ativo i{background:#fff}.mf2-chip.ativo b{background:#fff;color:var(--c)}
.mf2-chip.zero:not(.ativo){opacity:.5}
.mf2-todos{--c:#4A5560}.mf2-abertos{--c:#B54708}.mf2-AGUARDANDO{--c:#6b7780}.mf2-OBS{--c:#2C3E9E}.mf2-INTERNADO{--c:#E31B23}
.mf2-TRANSFERIDO{--c:#5B3A92}.mf2-ALTA{--c:#2E7D5B}.mf2-OBITO{--c:#1A2730}
.mf2-busca{position:relative;flex:1 1 200px;min-width:170px;max-width:300px;margin-left:auto}
.mf2-busca svg{position:absolute;left:9px;top:50%;width:15px;height:15px;transform:translateY(-50%);fill:none;stroke:#64748b;stroke-width:2.4;stroke-linecap:round;pointer-events:none}
.mon-filtros.mf2 .mf2-busca input{width:100%;min-width:0;padding-left:30px;padding-right:24px;border-radius:999px}
.mf2-limpa{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#64748b;font-size:13px;text-decoration:none}
.mon-filtros.mf2 .btn{flex:none;border-radius:999px}
@media (max-width:1100px){.mon-filtros.mf2{flex-wrap:wrap}.mf2-chips{flex-wrap:wrap}.mf2-busca{margin-left:0}}

/* escolha da clínica (Classificação de clínicas) */
.cl-CM{--cl:#1D5C8C;--cl-claro:#E6EFF6}.cl-CC{--cl:#2E7D5B;--cl-claro:#E5F2EB}.cl-CO{--cl:#B0306A;--cl-claro:#F8E8F0}.cl-CP{--cl:#C26A0E;--cl-claro:#FBEFE1}
.esc-clin{max-width:720px;margin:6px auto;padding:8px 4px}
.esc-clin-tit{margin:0;font-size:18px;font-weight:700;color:var(--tinta)}
.esc-clin-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:14px}
.esc-clin-card{position:relative;display:flex;align-items:center;gap:14px;padding:16px 40px 16px 16px;background:#fff;border:1px solid var(--linha2);
  border-radius:12px;color:var(--tinta);box-shadow:0 1px 2px rgba(26,39,48,.05);transition:border-color .15s,box-shadow .15s,transform .15s}
.esc-clin-card:hover,.esc-clin-card:focus-visible{text-decoration:none;border-color:var(--cl);box-shadow:0 8px 20px -10px rgba(26,39,48,.35);transform:translateY(-1px)}
.esc-clin-sigla{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:11px;background:var(--cl-claro);color:var(--cl);
  font-weight:700;font-size:16px;letter-spacing:.5px;transition:background .15s,color .15s}
.esc-clin-card:hover .esc-clin-sigla{background:var(--cl);color:#fff}
.esc-clin-txt b{display:block;font-size:15.5px;font-weight:600}
.esc-clin-txt small{display:block;color:var(--tinta2);font-size:12.5px;margin-top:2px}
.esc-clin-txt em{font-style:normal;color:#B54708;white-space:nowrap}
.esc-clin-seta{position:absolute;right:14px;top:50%;width:18px;height:18px;margin-top:-9px;fill:none;stroke:var(--cl);stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round;opacity:.5;transition:transform .15s,opacity .15s}
.esc-clin-card:hover .esc-clin-seta{opacity:1;transform:translateX(3px)}
.cl2-voltar{align-items:center;gap:10px}.cl2-voltar b{font-size:13px;color:var(--tinta)}
@media (prefers-reduced-motion:reduce){.esc-clin-card,.esc-clin-seta{transition:none}.esc-clin-card:hover{transform:none}}

/* Classificação de clínicas: CID-10 e CID Principal embaixo da descrição */
.cl2-tab td.cl2-desc{white-space:normal}
.cl2-l1{display:flex;align-items:center;gap:4px;white-space:nowrap}
.cl2-th-sub{font-weight:400;color:var(--tinta2);font-size:11px}
.cl2-cidl{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:4px 0 1px;font-size:11.5px;line-height:1.35;color:var(--tinta2)}
.cl2-cidcod{border:1px solid #BCD3E6;background:#EAF2F9;color:#1D5C8C;border-radius:5px;padding:0 6px;font:inherit;font-weight:700;
  font-size:11.5px;line-height:18px;cursor:pointer}
.cl2-cidcod:hover{background:#1D5C8C;color:#fff;border-color:#1D5C8C}
.cl2-cidl-txt{color:var(--tinta)}
.cl2-cidl-pr{padding-left:8px;border-left:1px solid var(--linha)}.cl2-cidl-pr b{color:#1D5C8C;font-weight:700}
.cl2-cidalt{border:0;background:none;padding:0 2px;font:inherit;font-size:11px;color:var(--tinta2);cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}
.cl2-cidalt:hover{color:#1D5C8C;text-decoration:underline}
.cl2-cidl-vazio{margin-top:2px}
.cl2-cidl-sug{background:#FFF6D6;border:1px solid #F1DE9A;border-radius:6px;padding:3px 6px;color:#5A4200}
.cl2-cidl-sug .cl2-cidl-txt{color:#4A3600}
.cl2-cidl-rot{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#8A6A00}
.cl2-cidl-sug .cl2-cidcod{border-color:#E0C46A;background:#fff;color:#6B4E00}
.cl2-cidl-sug .cl2-cidcod:hover{background:#6B4E00;color:#fff}
.cl2-cidl-sug .cl2-cidl-pr{border-left-color:#E8D48C}
.cl2-cidl-sug .cl2-ok{padding:2px 7px;font-weight:600}
.cl2-cidl-sug .tri-conf{font-size:10px}

/* linhas com CID (verde) e sem CID (âmbar) */
.cl2-tab tbody tr.cl2-com td{background:#F3FAF5}
.cl2-tab tbody tr.cl2-sem td{background:#FFFBF2}
.cl2-tab tbody tr.cl2-com td:first-child{box-shadow:inset 3px 0 0 #2E7D5B}
.cl2-tab tbody tr.cl2-sem td:first-child{box-shadow:inset 3px 0 0 #E3A43B}
.cl2-tab tbody tr.cl2-com:hover td{background:#E7F4EB}.cl2-tab tbody tr.cl2-sem:hover td{background:#FDF3DF}
.cl2-tab tbody tr.sel td{background:#E3EEF8}
.cl2-chips button small{font-size:10.5px;font-weight:600;opacity:.75;margin-left:2px}
.cl2-chips button.cl2-f-com.ativo{background:#E5F2EB;color:#1E6B45}
.cl2-chips button.cl2-f-sem.ativo{background:#FDF0D8;color:#8A5A00}
.cl2-tab td.cl2-uso{display:table-cell;white-space:nowrap;vertical-align:top;padding-top:7px}
.cl2-tab td.cl2-uso .cl2-barra-uso{display:inline-block;vertical-align:middle;margin-right:6px}
.cl2-tab td.cl2-uso .cl2-n{display:inline-block;vertical-align:middle}
.cl2-tab td.cl2-uso .cl2-barra-uso{width:110px}

/* Administração > Acessos e contas */
.ac-grupo{margin:14px 0}.ac-grupo h2{font-size:15px;margin:0 0 8px;color:var(--mod-escuro)}
.ac-lista{background:#fff;border:1px solid var(--linha2);border-radius:10px;overflow:hidden}
.ac-item{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr) auto;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid var(--linha2)}
.ac-item:first-child{border-top:0}
.ac-nome{font-weight:600}.ac-nome small{display:block;font-weight:400;color:var(--tinta2);font-size:11.5px}
.ac-valor{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.ac-txt{background:#F4F6F8;border:1px solid var(--linha2);border-radius:5px;padding:2px 6px;font-size:12px;word-break:break-all}
.ac-acoes{white-space:nowrap}
@media (max-width:700px){.ac-item{grid-template-columns:1fr}}

/* ---- Administração > Atualizar nuvem ---- */
.nv-alerta{border-left:4px solid var(--laranja);background:#FFF8F0}
.nv-amb{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:12px;align-items:stretch;margin:12px 0}
.nv-lado{margin:0}.nv-lado h2{font-size:15px;margin:0 0 8px;color:var(--mod-escuro)}.nv-lado h2 small{font-weight:400;color:#667;margin-left:6px}
.nv-lado dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0}.nv-lado dt{color:#667}.nv-lado dd{margin:0}
.nv-seta{align-self:center;font-size:26px;color:#99A}
.nv-quando{font-size:12px;color:#667;margin:6px 0 0}
.nv-virada{border-left:4px solid var(--laranja)}.nv-virada.feita{border-left-color:var(--verde)}
.nv-tit{display:flex;justify-content:space-between;align-items:center;gap:10px}.nv-tit h2{margin:0}
.nv-ok{color:var(--verde);font-weight:600}
.nv-lista{margin:4px 0 10px;padding-left:20px}.nv-avisos li{color:var(--laranja)}
.nv-nota{font-size:12.5px;color:#667}
.nv-perigo{color:var(--vermelho);font-size:12.5px}
.nv-tab pre{white-space:pre-wrap;font-size:12px;max-width:520px;margin:6px 0 0}
.nv-op td{vertical-align:top}.nv-op td small{display:block;color:#667;font-size:12.5px;margin-top:2px}
.nv-op tr.nv-marcada{background:var(--sel)}.nv-op tr.nv-bloq{opacity:.6}
.nv-frase{margin-top:8px}.nv-frase input{max-width:220px;text-transform:uppercase}
.nv-conf{white-space:nowrap;font-weight:600}
.nv-virada-aviso{background:#FFF4E5;border:1px solid #F5C37A;border-radius:8px;padding:8px 12px;color:#7A3E00}
.nv-sit{font-size:13px;font-weight:600;margin-left:8px;padding:2px 8px;border-radius:10px;background:#EEF}
.nv-sit.ok{background:#E3F4EA;color:var(--verde)}.nv-sit.erro{background:#FDECEA;color:var(--vermelho)}.nv-sit.rodando{background:#FFF4E5;color:var(--laranja)}
.nv-etapas{padding-left:22px;margin:6px 0}.nv-etapas li{margin:3px 0}.nv-etapas li small{display:block;color:#667;font-size:12px}
.nv-etapas li.ok::marker{content:"✓  ";color:var(--verde)}.nv-etapas li.erro{color:var(--vermelho)}.nv-etapas li.erro::marker{content:"✗  "}
.nv-etapas li.andamento{font-weight:600}.nv-etapas li.andamento::marker{content:"…  "}
.nv-msg{font-weight:600}
.nv-log{max-height:260px;overflow:auto;font-size:11.5px;background:#F6F7F9;padding:8px;border-radius:6px;white-space:pre-wrap}
@media (max-width:900px){.nv-amb{grid-template-columns:1fr}.nv-seta{display:none}}
.nv-barra{position:sticky;top:0;z-index:5;background:#fff;border:1px solid var(--linha2,#E3E6EA);border-radius:10px;padding:10px 14px;margin:10px 0;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.nv-barra-txt{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:14px}
.nv-b-tempo{margin-left:auto;font-variant-numeric:tabular-nums;color:#667}
.nv-trilho{height:8px;background:#EDF0F3;border-radius:4px;overflow:hidden;margin-top:8px}
.nv-prog{height:100%;background:var(--laranja);border-radius:4px;transition:width .4s}
.nv-prog.indet{width:35%!important;animation:nv-vai 1.3s ease-in-out infinite}
@keyframes nv-vai{0%{margin-left:-35%}100%{margin-left:100%}}
.nv-barra.ok .nv-prog{background:var(--verde)}.nv-barra.ok #nv-b-tit{color:var(--verde)}
.nv-barra.erro .nv-prog{background:var(--vermelho)}.nv-barra.erro #nv-b-tit{color:var(--vermelho)}
.nv-barra.rodando #nv-b-tit{color:var(--laranja)}
.nv-tit-bt{display:flex;gap:8px;align-items:center}
.nv-migrado{display:flex;flex-direction:column;gap:2px;background:#E3F4EA;border:2px solid var(--verde);border-radius:10px;padding:10px 16px;margin:10px 0;color:#1F5A40}
.nv-migrado b{font-size:17px;letter-spacing:.5px}
.nv-col-sn{width:150px;text-align:center}
.nv-sn{display:inline-flex;border:1px solid #C9CED6;border-radius:8px;overflow:hidden}
.nv-sn input{position:absolute;opacity:0;pointer-events:none}
.nv-sn label{padding:5px 14px;cursor:pointer;font-weight:600;font-size:13px;color:#556;background:#fff;margin:0}
.nv-sn input:first-of-type:checked + label{background:var(--verde);color:#fff}
.nv-sn input:nth-of-type(2):checked + label{background:#5B6270;color:#fff}
.nv-sn input:focus-visible + label{outline:2px solid var(--laranja);outline-offset:-2px}
.nv-sn input:disabled + label{cursor:not-allowed;opacity:.7}
.nv-dlg{border:0;border-radius:12px;padding:20px 22px;max-width:520px;width:calc(100% - 32px);box-shadow:0 10px 40px rgba(0,0,0,.25)}
.nv-dlg::backdrop{background:rgba(20,25,35,.45)}
.nv-dlg h2{margin:0 0 10px;font-size:18px}
.nv-dlg ol{padding-left:20px}.nv-dlg li{margin:6px 0}.nv-dlg li small{color:#667}
.nv-dlg-aviso{background:#FDECEA;border:1px solid #F1B4AE;color:var(--vermelho);border-radius:8px;padding:8px 12px;font-weight:600}
.nv-dlg-bt{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.nv-dlg-bt .btn{min-width:130px}
.nv-end{margin:0 0 8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nv-end code{font-size:12px}
.rodape-versao{margin:28px 0 6px;padding-top:10px;border-top:1px solid #E6E9EE;text-align:center;font-size:11.5px;color:#8A90A0}
.fs-status-linha{display:flex;align-items:stretch;gap:10px;margin:10px 16px}
.fs-status-linha .fs-status{flex:1;margin:0}
.fs-bt-obs{min-width:150px;font-weight:700;color:var(--mod);border-color:var(--mod)}
.fs-compacta .fs-status-linha{margin:6px 14px}.fs-compacta .fs-status-linha .fs-status{margin:0}
.par-item{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #EEF0F3}
.par-item label small{display:block;font-weight:400;color:#667;font-size:12.5px;margin-top:2px}
@media (max-width:640px){.par-item{grid-template-columns:1fr}}
.par-cep-info{grid-column:2;margin-top:-6px;font-size:12.5px;min-height:1em}@media (max-width:640px){.par-cep-info{grid-column:1}}
.par-cep-info.sel-info{font-size:13.5px}.par-cep-info small{font-size:12px;color:#667;font-weight:400}
input.data-auto{background:#FFFBEB}
.bk-barra{position:static;margin:12px 0 0;box-shadow:none}
.bk-barra.rodando .nv-prog{background:var(--laranja)}
.bk-res{list-style:none;padding:0;margin:8px 0 0;font-size:13px}.bk-res li.ok{color:var(--verde)}.bk-res li.erro{color:var(--vermelho)}
.gh-sit{margin-top:12px;padding:9px 12px;border-radius:8px;background:#F6F7F9;border:1px solid #E3E6EA;font-size:13.5px;line-height:1.5}
.gh-sit.ok{background:#EEF8F2;border-color:#BFE3CD}.gh-sit.erro{background:#FDECEA;border-color:#F1B4AE}
.gh-sit code{font-size:12px}.gh-hora{color:#667}
.gh-andando{margin-top:6px;font-weight:600;color:var(--laranja)}
.gh-spin{display:inline-block;width:11px;height:11px;border:2px solid var(--laranja);border-right-color:transparent;border-radius:50%;animation:gh-gira .8s linear infinite;vertical-align:-1px}
@keyframes gh-gira{to{transform:rotate(360deg)}}
.gh-col{white-space:nowrap;font-size:12.5px}.gh-ok{color:var(--verde);font-weight:600}.gh-nao{color:#8A90A0}.gh-esp{color:var(--laranja)}
