
:root{
  /* superfícies e tinta */
  --bg:#F4F6F5; --card:#FFFFFF; --card-2:#FAFBFA; --linha:#E7EBE9; --linha-2:#D6DEDA;
  --tinta:#152220; --tinta-2:#54625E; --tinta-3:#8A9691;
  /* marcas: verde Integra = visitas · azul CASSI = guias */
  --integra:#254033; --integra-esc:#173026; --integra-cl:#E8F0EB;
  --cassi:#2B4592; --cassi-esc:#1D3068; --cassi-cl:#E7EBF6;
  --sol:#FBE514;
  --visita:#2D6345; --visita-cl:#E8F0EB;
  --guia:#2B4592; --guia-cl:#E7EBF6;
  /* estados — usados com parcimônia */
  --alto:#B0463C; --alto-cl:#FAEAE7; --medio:#A97A24; --medio-cl:#FBF2E1;
  --bom:#2D6345; --bom-cl:#E8F0EB; --calmo:#8A9691; --calmo-cl:#EEF1F0;
  --r:14px; --sombra:0 1px 1px rgba(21,34,32,.03),0 4px 16px rgba(21,34,32,.05);
  /* nomes herdados da versão anterior, remapeados para a paleta nova */
  --ok:var(--bom); --atencao:var(--medio); --critico:var(--alto); --vencido:var(--alto);
  --neutro:var(--calmo);
  --ok-bg:var(--bom-cl); --atencao-bg:var(--medio-cl); --critico-bg:var(--alto-cl);
  --vencido-bg:var(--alto-cl); --neutro-bg:var(--calmo-cl);
  --ink:var(--tinta); --ink-2:var(--tinta-2); --ink-3:var(--tinta-3);
  --line:var(--linha); --line-2:var(--linha-2);
  --surface:var(--card); --surface-2:var(--card-2);
  --integra-2:var(--visita); --integra-3:#7FAE94; --integra-4:var(--integra-cl);
  --cassi-2:var(--cassi-esc); --cassi-3:var(--cassi-cl); --zap:#1FA855;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tinta);font-size:14px;line-height:1.55;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,sans-serif;
  -webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-weight:620;letter-spacing:-.012em}
.wrap{max-width:1380px;margin:0 auto;padding:0 26px}
.n{font-variant-numeric:tabular-nums}

/* ---------------- cabeçalho ---------------- */
header{background:#fff;border-bottom:1px solid var(--linha)}
.cab{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
  padding:16px 0}
.marcas{display:flex;align-items:center;gap:16px}
.marcas img{max-height:38px;max-width:150px;display:block}
.marcas .sep{width:1px;height:32px;background:var(--linha-2)}
.marcas .assinatura{font-size:10px;line-height:1.35;color:var(--tinta-3);
  border-left:1px solid var(--linha-2);padding-left:14px;margin-left:2px}
.marcas .assinatura b{color:var(--integra);font-weight:640}
@media(max-width:900px){.marcas .assinatura{display:none}}
.wordmark{font-weight:750;letter-spacing:-.02em;font-size:19px;line-height:1}
.wordmark small{display:block;font-size:8.5px;font-weight:640;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tinta-3);margin-top:3px}
.cab-txt{flex:1 1 240px;min-width:200px}
.cab-txt .eyebrow{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tinta-3);font-weight:660}
.cab-txt h1{font-size:17px;margin-top:3px}
.cab-ctrl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.periodo{display:flex;gap:2px;background:var(--card-2);border:1px solid var(--linha);
  border-radius:99px;padding:3px}
.periodo button{border:0;background:none;color:var(--tinta-2);font:inherit;font-size:12px;
  font-weight:560;padding:5px 13px;border-radius:99px;cursor:pointer}
.periodo button[aria-pressed="true"]{background:var(--tinta);color:#fff}
.relogio{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tinta-2);
  border:1px solid var(--linha);border-radius:99px;padding:6px 14px;background:var(--card-2)}
.relogio .ponto{width:7px;height:7px;border-radius:99px;background:var(--bom)}
.relogio b{color:var(--tinta);font-variant-numeric:tabular-nums}

/* ---------------- faixa de comando ---------------- */
.comando{padding:22px 0 4px}
.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media(max-width:1180px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.tiles{grid-template-columns:1fr}}
.tile{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);
  padding:17px 18px 15px;text-align:left;font:inherit;color:var(--tinta);cursor:pointer;
  display:block;width:100%;box-shadow:var(--sombra);position:relative;overflow:hidden;
  transition:border-color .15s,transform .15s}
.tile::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--calmo)}
.tile.visita::before{background:var(--visita)}
.tile.guia::before{background:var(--guia)}
.tile.alto::before{background:var(--alto)}
.tile.neutro::before{background:var(--calmo)}
.tile:hover{border-color:var(--linha-2);transform:translateY(-1px)}
.tile .r{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3);
  font-weight:670}
.tile .v{font-size:40px;font-weight:700;letter-spacing:-.035em;line-height:1;margin:11px 0 3px;
  font-variant-numeric:tabular-nums}
.tile .v small{font-size:17px;font-weight:620;color:var(--tinta-3);margin-left:1px}
.tile.alto .v{color:var(--alto)}
.tile .s{font-size:11.5px;color:var(--tinta-2);min-height:17px}
.tile .delta{font-size:11px;font-weight:640;margin-left:6px}
.tile .delta.sobe{color:var(--bom)}.tile .delta.desce{color:var(--alto)}
.tile .spark{margin-top:11px;height:26px;opacity:.85}
.tile.medidor{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.tile .rosto{width:104px;flex:none}
.tile .rosto svg{width:104px;height:auto;display:block}
.tile.medidor .v{font-size:34px;margin:7px 0 2px}
.tile .legenda-mini{font-size:10.5px;color:var(--tinta-3);margin-top:7px}
.tile .ir{font-size:11px;font-weight:620;color:var(--tinta-3);margin-top:9px}
.tile:hover .ir{color:var(--tinta)}
.tile.visita:hover .ir{color:var(--visita)}
.tile.guia:hover .ir{color:var(--guia)}
.tile .barra{margin-top:11px;height:4px;background:var(--linha);border-radius:99px;
  position:relative;overflow:hidden}
.tile .barra i{position:absolute;left:0;top:0;bottom:0;border-radius:99px}
.tile .barra u{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--tinta-3);opacity:.7}

/* ---------------- cartões de prazo por tipo ---------------- */
.prazos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
@media(max-width:880px){.prazos{grid-template-columns:1fr}}
.pcard{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);
  box-shadow:var(--sombra);overflow:hidden}
.pcard .topo{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.pcard .topo .id{display:flex;align-items:center;gap:9px}
.pcard .topo .marca{width:9px;height:9px;border-radius:3px}
.pcard.visita .topo .marca{background:var(--visita)}
.pcard.guia .topo .marca{background:var(--guia)}
.pcard .topo h3{font-size:14px}
.pcard .topo .sub{font-size:11.5px;color:var(--tinta-3);margin:0}
.pcard .hoje{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:11px 18px;border-bottom:1px solid var(--linha);font-size:12.5px}
.pcard .hoje.aberto{background:var(--medio-cl)}
.pcard .hoje.ok{background:var(--bom-cl)}
.pcard .hoje b{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;margin-right:2px}
.pcard .corpo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.pcard .num{padding:15px 18px;border-right:1px solid var(--linha);text-align:left;font:inherit;
  background:none;border-top:0;border-bottom:0;border-left:0;cursor:pointer;color:inherit}
.pcard .num:last-child{border-right:0}
.pcard .num:hover{background:var(--card-2)}
.pcard .num b{display:block;font-size:29px;font-weight:700;line-height:1;
  font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.pcard .num span{display:block;font-size:11px;color:var(--tinta-3);margin-top:5px}
.pcard .num.alto b{color:var(--alto)}
.pcard .num.medio b{color:var(--medio)}
.pcard .rodape{padding:12px 18px;background:var(--card-2);border-top:1px solid var(--linha);
  display:flex;gap:9px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pcard .rodape .obs{font-size:11.5px;color:var(--tinta-3)}

nav{position:sticky;top:0;z-index:40;background:rgba(244,246,245,.95);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linha);padding:9px 0;margin-top:22px}
.tabs{display:flex;gap:3px;flex-wrap:wrap}
.tab{border:0;background:none;color:var(--tinta-2);font:inherit;font-size:13px;font-weight:560;
  padding:7px 14px;border-radius:99px;cursor:pointer;white-space:nowrap}
.tab:hover{background:#E7EBE9;color:var(--tinta)}
.tab[aria-selected="true"]{background:var(--integra,#254033);color:#fff;box-shadow:0 2px 8px rgba(37,64,51,.20)}
.tab .bd{display:inline-block;margin-left:7px;font-size:10.5px;padding:1px 6px;border-radius:99px;
  background:var(--alto-cl);color:var(--alto);font-variant-numeric:tabular-nums;font-weight:660}
.tab[aria-selected="true"] .bd{background:rgba(255,255,255,.22);color:#fff}

main{padding:24px 0 80px}
section[role="tabpanel"][hidden]{display:none}
/* a antiga aba "Visão executiva" foi fundida na aba única; seu painel segue no DOM só
   para atalhos legados, mas nunca aparece — evita o flash da tela antiga no boot */
#p-visao{display:none!important}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.g23{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
@media(max-width:1180px){.g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3,.g23{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.grid{grid-template-columns:1fr!important}}
.card{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);
  padding:18px 20px;box-shadow:var(--sombra)}
.card>h3{font-size:13.5px}
.sub{font-size:11.5px;color:var(--tinta-3);margin-top:3px}
.titulo{display:flex;align-items:baseline;gap:12px;margin:32px 0 14px;flex-wrap:wrap}
.titulo:first-child{margin-top:6px}
.titulo h2{font-size:15.5px}
.titulo .desc{font-size:12px;color:var(--tinta-3)}
.titulo.visita h2::before,.titulo.guia h2::before{content:"";display:inline-block;width:8px;
  height:8px;border-radius:3px;margin-right:9px;vertical-align:middle}
.titulo.visita h2::before{background:var(--visita)}
.titulo.guia h2::before{background:var(--guia)}

.kpi{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);padding:16px 18px;
  box-shadow:var(--sombra);position:relative;text-align:left;font:inherit;width:100%;display:block;
  color:inherit}
.kpi.click{cursor:pointer}
.kpi.click:hover{border-color:var(--linha-2)}
.kpi.click::after{content:"›";position:absolute;right:15px;top:14px;font-size:15px;
  color:var(--tinta-3);opacity:.6}
.kpi .rot{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-3);font-weight:670}
.kpi .val{font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.15;margin-top:6px;
  font-variant-numeric:tabular-nums}
.kpi .val small{font-size:13px;font-weight:600;color:var(--tinta-3);margin-left:2px}
.kpi .nota{font-size:11.5px;color:var(--tinta-2);margin-top:4px}
.kpi.alto .val,.kpi.critico .val,.kpi.vencido .val{color:var(--alto)}
.kpi.medio .val,.kpi.atencao .val{color:var(--medio)}
.kpi.bom .val,.kpi.ok .val{color:var(--bom)}
.kpi.info .val,.kpi.neutro .val{color:var(--tinta)}

/* ---------------- auditores ---------------- */
.aud{display:grid;grid-template-columns:minmax(150px,1.2fr) auto minmax(130px,1fr) auto;gap:14px;
  align-items:center;padding:14px 16px;border:1px solid var(--linha);border-radius:12px;
  background:var(--card);margin-bottom:10px;box-shadow:var(--sombra)}
.aud.alto,.aud.critico,.aud.vencido{border-left:3px solid var(--alto)}
.aud.medio,.aud.atencao{border-left:3px solid var(--medio)}
.aud.calmo,.aud.neutro{border-left:3px solid var(--calmo)}
.aud .nome{font-weight:640;font-size:13.5px}
.aud .meta{font-size:11.5px;color:var(--tinta-3)}
.aud .qtd,.aud .acoes{display:flex;gap:6px;flex-wrap:wrap}
.aud .acoes{justify-content:flex-end}
@media(max-width:860px){.aud{grid-template-columns:1fr}.aud .acoes{justify-content:flex-start}}
.btn{border:1px solid var(--linha-2);background:#fff;border-radius:99px;padding:7px 14px;font:inherit;
  font-size:12px;font-weight:570;color:var(--tinta-2);cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--card-2);color:var(--tinta)}
.btn.p{background:var(--tinta);border-color:var(--tinta);color:#fff}
.btn.p:hover{background:#0C1614;color:#fff}
.btn.z{background:#1FA855;border-color:#1B9049;color:#fff;font-weight:640}
.btn.z:hover{background:#178C46;color:#fff}
.btn.g{padding:11px 20px;font-size:13.5px}
.btn:disabled{opacity:.4;cursor:not-allowed}
.roteiro{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);
  box-shadow:var(--sombra);overflow:hidden}
.roteiro .topo{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 20px;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.roteiro .topo h3{font-size:14px}
.roteiro .prog{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--tinta-2)}
.roteiro .prog .trilha{width:130px;height:6px;background:var(--linha);border-radius:99px;overflow:hidden}
.roteiro .prog .trilha i{display:block;height:100%;background:var(--visita);border-radius:99px}
.passo{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:center;
  padding:13px 20px;border-bottom:1px solid var(--linha)}
.passo:last-child{border-bottom:0}
.passo .marca{width:20px;height:20px;border-radius:99px;border:1.5px solid var(--linha-2);
  display:grid;place-items:center;font-size:11px;color:#fff;background:#fff}
.passo.feito .marca{background:var(--visita);border-color:var(--visita)}
.passo.feito .t{color:var(--tinta-3);text-decoration:line-through}
.passo .t{font-size:13px;font-weight:570}
.passo .d{font-size:11.5px;color:var(--tinta-3);margin-top:1px}
.passo .ac{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.passo{grid-template-columns:26px 1fr}.passo .ac{grid-column:2;justify-content:flex-start}}
.tratativa{display:grid;gap:9px}
.tratativa select,.tratativa textarea{border:1px solid var(--linha-2);border-radius:8px;padding:8px 11px;
  font:inherit;font-size:12.5px;width:100%;color:inherit;background:#fff}
.tratativa textarea{min-height:64px;resize:vertical}
.zapbar{background:var(--card);border:1px solid var(--linha);border-left:3px solid #1FA855;
  border-radius:12px;padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:14px;
  align-items:center;margin-bottom:18px;box-shadow:var(--sombra)}
@media(max-width:780px){.zapbar{grid-template-columns:1fr}}
.zapbar h4{font-size:14px}
.zapbar p{margin:4px 0 0;font-size:12px;color:var(--tinta-2)}
.zapbar .acoes{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.seq{background:var(--card-2);border:1px solid var(--linha-2);border-radius:12px;padding:14px 16px;
  margin-bottom:14px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.seq .p{font-size:11.5px;color:var(--tinta-3)}
.seq .nome{font-size:15px;font-weight:650}

/* ---------------- barras / gráficos ---------------- */
.barras{margin-top:12px}
.linha{display:grid;grid-template-columns:minmax(90px,1.5fr) minmax(70px,3fr) auto;gap:12px;
  align-items:center;padding:7px 0;border-bottom:1px solid var(--linha);font-size:12.5px}
.linha:last-child{border-bottom:0}
.linha.click{cursor:pointer;border-radius:7px}
.linha.click:hover{background:var(--card-2)}
.linha .lbl{color:var(--tinta-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trilho{height:8px;background:var(--linha);border-radius:99px;overflow:hidden;display:flex}
.trilho i{display:block;height:100%}
.linha .v{font-variant-numeric:tabular-nums;font-weight:600;min-width:54px;text-align:right}
.legenda{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--tinta-2);margin-top:12px}
.legenda i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:middle}
.gr svg{width:100%;height:auto;display:block}

/* ---------------- tabelas ---------------- */
.tabela-topo{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  margin-bottom:10px}
.busca{border:1px solid var(--linha-2);background:#fff;border-radius:99px;padding:7px 14px;font:inherit;
  font-size:12.5px;min-width:210px;color:inherit}
.busca:focus{outline:2px solid var(--linha-2);outline-offset:1px}
.rolagem{overflow-x:auto;border:1px solid var(--linha);border-radius:var(--r);background:#fff}
table{border-collapse:collapse;width:100%;font-size:12.5px}
thead th{position:sticky;top:0;background:var(--card-2);text-align:left;font-weight:660;font-size:10px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-3);padding:11px 13px;
  border-bottom:1px solid var(--linha-2);white-space:nowrap;cursor:pointer;user-select:none;z-index:1}
tbody td{padding:10px 13px;border-bottom:1px solid var(--linha);vertical-align:top}
tbody tr:hover{background:var(--card-2)}
tbody tr.click{cursor:pointer}
td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tag{display:inline-block;font-size:10.5px;font-weight:640;padding:2px 8px;border-radius:99px;white-space:nowrap}
.tag.alto,.tag.critico,.tag.vencido{background:var(--alto-cl);color:var(--alto)}
.tag.medio,.tag.atencao{background:var(--medio-cl);color:var(--medio)}
.tag.bom,.tag.ok{background:var(--bom-cl);color:var(--bom)}
.tag.calmo,.tag.neutro{background:var(--calmo-cl);color:var(--tinta-2)}
.tag.info{background:var(--guia-cl);color:var(--guia)}
.tag.alto2{background:var(--alto-cl);color:var(--alto)}
.tag.medio{background:var(--medio-cl);color:var(--medio)}
.tag.bom{background:var(--bom-cl);color:var(--bom)}
.tag.calmo{background:var(--calmo-cl);color:var(--tinta-2)}
.tag.visita{background:var(--visita-cl);color:var(--visita)}
.tag.guia{background:var(--guia-cl);color:var(--guia)}
.vazio{padding:30px;text-align:center;color:var(--tinta-3);font-size:12.5px}

/* ---------------- explorador ---------------- */
.explora{border:1px solid var(--linha);border-radius:var(--r);background:#fff;overflow:hidden;
  box-shadow:var(--sombra)}
.nivel{border-bottom:1px solid var(--linha)}.nivel:last-child{border-bottom:0}
.nivel-cab{display:grid;grid-template-columns:22px minmax(140px,2fr) repeat(4,minmax(56px,1fr)) minmax(90px,1.3fr);
  gap:10px;align-items:center;padding:12px 16px;cursor:pointer;font-size:12.5px;background:#fff;width:100%;
  border:0;font-family:inherit;text-align:left;color:inherit}
.nivel-cab:hover{background:var(--card-2)}
.nivel-cab .seta{color:var(--tinta-3);transition:transform .15s}
.nivel-cab[aria-expanded="true"] .seta{transform:rotate(90deg)}
.nivel-cab .nome{font-weight:610;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nivel-cab .m{text-align:right;font-variant-numeric:tabular-nums;color:var(--tinta-2)}
.nivel-cab .m em{display:block;font-style:normal;font-size:9px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--tinta-3)}
.nivel-corpo{padding:0 16px 16px 38px;background:var(--card-2)}
.nivel-2 .nivel-cab{background:var(--card-2)}
@media(max-width:860px){.nivel-cab{grid-template-columns:22px 1fr auto}
  .nivel-cab .m:nth-child(n+4),.nivel-cab .sinais{display:none}}
.sinais{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.podio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:760px){.podio{grid-template-columns:1fr}}
.podio .p{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);
  padding:14px 16px;box-shadow:var(--sombra);display:flex;gap:12px;align-items:center}
.podio .p .pos{width:34px;height:34px;border-radius:99px;display:grid;place-items:center;
  font-weight:720;font-size:14px;background:var(--calmo-cl);color:var(--tinta-2);flex:none}
.podio .p.top .pos{background:var(--bom-cl);color:var(--bom)}
.podio .p.baixo .pos{background:var(--alto-cl);color:var(--alto)}
.podio .p .nome{font-weight:640;font-size:13.5px}
.podio .p .det{font-size:11.5px;color:var(--tinta-3)}
.podio .p .val{margin-left:auto;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.pos-tab{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:99px;
  background:var(--calmo-cl);font-weight:680;font-size:11px;color:var(--tinta-2)}

.ficha{display:grid;gap:14px}
.ficha .dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:12px}
.ficha .dado{background:var(--card-2);border:1px solid var(--linha);border-radius:10px;padding:11px 13px}
.ficha .dado .r{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--tinta-3);font-weight:670}
.ficha .dado .v{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums;margin-top:3px}
ol.passos,ul.passos{margin:10px 0 0;padding-left:20px;font-size:12.5px;color:var(--tinta-2)}
ol.passos li,ul.passos li{margin-bottom:6px}

/* ---------------- modal ---------------- */
.overlay{position:fixed;inset:0;background:rgba(21,34,32,.38);z-index:90;display:none;
  align-items:flex-start;justify-content:center;padding:36px 18px;overflow:auto}
.overlay.on{display:flex}
.modal{background:var(--card);border-radius:16px;box-shadow:0 24px 60px rgba(15,28,24,.24);
  width:min(1180px,100%);overflow:hidden}
.modal-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 24px;
  border-bottom:1px solid var(--linha);position:sticky;top:0;background:var(--card);z-index:2}
.modal-cab h3{font-size:15px}
.modal-corpo{padding:18px 24px 26px}
.fechar{border:0;background:var(--calmo-cl);color:var(--tinta-2);width:30px;height:30px;border-radius:99px;
  font-size:16px;cursor:pointer;line-height:1;flex:none}
.fechar:hover{background:var(--alto-cl);color:var(--alto)}

/* ---------------- upload / avisos ---------------- */
.drop{border:1.5px dashed var(--linha-2);border-radius:var(--r);background:var(--card);padding:26px 18px;
  text-align:center;transition:.15s;cursor:pointer}
.drop:hover,.drop.over{border-color:var(--tinta-3);background:var(--card-2)}
.drop .ic{font-size:22px;color:var(--tinta-3)}
.drop .t{font-weight:630;margin-top:8px;font-size:13.5px}
.drop .d{font-size:12px;color:var(--tinta-3);margin-top:4px}
.drop.ok{border-style:solid;border-color:var(--bom);background:var(--bom-cl)}
.drop.erro{border-style:solid;border-color:var(--alto);background:var(--alto-cl)}
.log{font-size:12px;background:#152220;color:#D3DEDA;border-radius:10px;padding:13px 15px;max-height:200px;
  overflow:auto;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.aviso{background:var(--card);border:1px solid var(--linha);border-left:3px solid var(--medio);
  border-radius:12px;padding:14px 17px;font-size:12.5px;color:var(--tinta-2);box-shadow:var(--sombra)}
.aviso b{color:var(--tinta)}
.regra{border-left:2px solid var(--linha-2);padding:2px 0 2px 14px;margin:14px 0}
.regra h4{margin:0 0 4px;font-size:13px}
.regra p{margin:0;font-size:12.5px;color:var(--tinta-2)}
.limite{display:inline-block;background:var(--calmo-cl);color:var(--tinta);font-size:11px;font-weight:640;
  padding:2px 10px;border-radius:99px;margin-left:8px;white-space:nowrap}
code{background:var(--calmo-cl);padding:1px 6px;border-radius:5px;font-size:12px}
input.campo{border:1px solid var(--linha-2);border-radius:8px;padding:7px 11px;font:inherit;font-size:12.5px;
  width:100%;color:inherit}
input.campo:focus{outline:2px solid var(--linha-2);outline-offset:1px}
footer{border-top:1px solid var(--linha);padding:22px 0 50px;font-size:11.5px;color:var(--tinta-3)}
@media print{nav,.btn,.busca,.drop{display:none!important}
  section[role="tabpanel"][hidden]{display:block!important}body{background:#fff}
  .rolagem{max-height:none}.card,.aud,.pcard{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


.mdrg{--ok:#2D6345;--att:#B4761A;--crit:#A32F2B;--info:#2B4592;
 --ok-bg:#E8F0EA;--att-bg:#FBF1DF;--crit-bg:#F8E7E5;--info-bg:#E7ECF7;--line:#DCE3DE;--ink:#10201A;--ink2:#4A5A52}
.mdrg *{box-sizing:border-box}
.mdrg .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:6px 0 18px}
.mdrg .k{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px;text-align:left;cursor:pointer;font:inherit}
.mdrg .k:hover{border-color:#3E8560}
.mdrg .k .n{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:27px;font-weight:600;line-height:1.05}
.mdrg .k .l{font-size:11.5px;color:var(--ink2);margin-top:4px}
.mdrg .k.crit .n{color:var(--crit)}.mdrg .k.att .n{color:var(--att)}.mdrg .k.ok .n{color:var(--ok)}.mdrg .k.info .n{color:var(--info)}
.mdrg .bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.mdrg select,.mdrg input[type=text]{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.mdrg .chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-size:12.5px;color:var(--ink2);cursor:pointer}
.mdrg .chip[aria-pressed=true]{background:#254033;border-color:#254033;color:#fff}
.mdrg .cnt{margin-left:auto;font-size:12px;color:var(--ink2)}
.mdrg .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:14px}
.mdrg .pt{background:#fff;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:15px 17px}
.mdrg .pt.outlier{border-left-color:var(--crit)}.mdrg .pt.atencao{border-left-color:var(--att)}
.mdrg .pt.dentro{border-left-color:var(--ok)}.mdrg .pt.sem{border-left-color:#9AA6A0}
.mdrg .pt h4{margin:0;font-size:15.5px;font-family:inherit;font-weight:700}
.mdrg .meta{font-size:12px;color:var(--ink2);margin:3px 0 0}
.mdrg .drgbox{margin-top:11px;background:#F7FAF8;border:1px solid var(--line);border-radius:9px;padding:10px 12px}
.mdrg .cod{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;color:#254033;font-weight:600}
.mdrg .dsc{font-size:11.5px;color:var(--ink2);margin-top:1px}
.mdrg .track{position:relative;height:20px;background:#EAEFEC;border-radius:5px;overflow:hidden;margin-top:9px}
.mdrg .track .gm{position:absolute;inset:0 auto 0 0;background:repeating-linear-gradient(135deg,#CFE0D5,#CFE0D5 5px,#E3EDE6 5px,#E3EDE6 10px)}
.mdrg .track .los{position:absolute;inset:0 auto 0 0}
.mdrg .track .los.dentro{background:var(--ok)}.mdrg .track .los.atencao{background:var(--att)}.mdrg .track .los.outlier{background:var(--crit)}
.mdrg .track .mk{position:absolute;top:-2px;bottom:-2px;width:2px}
.mdrg .track .mk.g{background:#254033}.mdrg .track .mk.t{background:var(--crit)}
.mdrg .lb{display:flex;justify-content:space-between;font-size:11px;color:var(--ink2);margin-top:5px}
.mdrg .lb b{font-family:"IBM Plex Mono",ui-monospace,monospace;color:var(--ink)}
.mdrg .res{margin-top:11px;border-top:1px solid var(--line);padding-top:10px}
.mdrg .res .b{margin-bottom:8px}
.mdrg .res .t{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink2);margin-bottom:2px}
.mdrg .res p{margin:0;font-size:13px;line-height:1.47}
.mdrg .res ul{margin:2px 0 0;padding-left:17px;font-size:12.5px}
.mdrg .flags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.mdrg .fl{font-size:11px;padding:3px 9px;border-radius:5px;font-weight:500}
.mdrg .fl.c{background:var(--crit-bg);color:var(--crit)}.mdrg .fl.a{background:var(--att-bg);color:var(--att)}
.mdrg .fl.i{background:var(--info-bg);color:var(--info)}.mdrg .fl.o{background:var(--ok-bg);color:var(--ok)}
.mdrg .rota{margin-top:10px;border:1px solid #3E8560;border-radius:9px;padding:9px 12px}
.mdrg .rota .t{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink2)}
.mdrg .rota .r{font-size:15px;font-weight:700;color:#254033;margin:2px 0 4px}
.mdrg .rota p{margin:0;font-size:12.5px;color:var(--ink2)}
.mdrg .acts{display:flex;gap:7px;margin-top:11px;flex-wrap:wrap}
.mdrg .b1{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 13px;font:inherit;font-size:12.5px;font-weight:500;cursor:pointer}
.mdrg .b1.pri{background:#254033;border-color:#254033;color:#fff}
.mdrg .b1.wa{background:#1F8B4C;border-color:#1F8B4C;color:#fff}
.mdrg table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:8px}
.mdrg th{background:#EDF2EE;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink2);padding:9px 11px;font-weight:600}
.mdrg td{padding:9px 11px;border-top:1px solid var(--line);font-size:13px;vertical-align:top}
.mdrg tbody tr:hover{background:#F7FAF8}
.mdrg .nota{background:var(--info-bg);border-left:3px solid var(--info);padding:11px 14px;border-radius:0 8px 8px 0;font-size:12.5px;color:#1F3468;margin:14px 0}
.mdrg .alerta{background:var(--att-bg);border-left:3px solid var(--att);padding:11px 14px;border-radius:0 8px 8px 0;font-size:12.5px;color:#6B4408;margin:14px 0}
.mdrg .barq{height:7px;background:#EAEFEC;border-radius:4px;overflow:hidden;min-width:80px;display:inline-block;vertical-align:middle}
.mdrg .barq i{display:block;height:100%}
.mdrg .vazio{background:#fff;border:1px dashed var(--line);border-radius:12px;padding:36px;text-align:center;color:var(--ink2)}
.mdrg h3.sec{font-size:17px;margin:26px 0 10px}
/* glossário */
.mdrg .glos{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}
.mdrg .gi{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 15px}
.mdrg .gi .sg{font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:600;font-size:14px;color:#254033}
.mdrg .gi .ex{font-size:12px;color:var(--ink2);margin:1px 0 6px}
.mdrg .gi p{margin:0 0 6px;font-size:12.8px;line-height:1.5}
.mdrg .gi .uso{font-size:12px;color:var(--ink2);border-top:1px dashed var(--line);padding-top:6px}
.mdrg .gi .uso b{color:#254033}
.mdrg-ov{position:fixed;inset:0;background:rgba(16,32,26,.55);z-index:900;padding:24px;overflow:auto;display:none}
.mdrg-ov.on{display:block}
.mdrg-dlg{max-width:880px;margin:0 auto;background:#fff;border-radius:14px;padding:22px 26px}
.mdrg-dlg h3{margin:0;font-size:20px}
.mdrg-dlg h5{margin:18px 0 6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:#4A5A52;font-weight:600}
.mdrg-dlg .cmd{display:flex;gap:11px;padding:9px 0;border-top:1px solid #DCE3DE}
.mdrg-dlg .pb{font-size:10px;font-weight:600;padding:3px 8px;border-radius:5px;height:fit-content;white-space:nowrap}
.mdrg-dlg .kv{display:grid;grid-template-columns:200px 1fr;gap:3px 12px;font-size:12.5px}
.mdrg-dlg .kv dt{color:#4A5A52}.mdrg-dlg .kv dd{margin:0}
.mdrg-dlg .x{float:right;border:0;background:#EEF2EF;border-radius:8px;width:32px;height:32px;font-size:17px;color:#4A5A52;cursor:pointer}
/* bloco de datas em destaque na ficha (internação → alta → permanência) */
.mdrg-datas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 4px}
.mdrg-datas>div{background:#F7FAF8;border:1px solid #DCE3DE;border-radius:10px;padding:9px 12px;display:flex;flex-direction:column}
.mdrg-datas span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#8A9691;margin-bottom:3px}
.mdrg-datas b{font-size:16px;font-weight:800;letter-spacing:-.01em;color:#17231E}
.mdrg-datas small{font-size:10.5px;color:#8A9691;margin-top:1px}
.mdrg-alerta{margin:8px 0 2px;background:#FBF3E7;border:1px solid #E8D4AE;border-left:4px solid #B4761A;border-radius:8px;padding:9px 12px;font-size:12.5px;line-height:1.5;color:#6B4E12}
@media(max-width:560px){.mdrg-datas{grid-template-columns:1fr}}
.nav-fixa{position:sticky;top:0;z-index:40;box-shadow:0 6px 18px rgba(21,34,32,.10)}
.seletor-painel{display:flex;gap:10px;padding-top:10px;padding-bottom:12px;flex-wrap:wrap}
.sp{flex:1 1 260px;text-align:left;background:#EAEEEC;border:1px solid var(--linha,#E7EBE9);
 border-radius:12px;padding:11px 16px;cursor:pointer;color:var(--tinta-2,#54625E);font:inherit;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}
.sp:hover{background:#E2E8E4;color:var(--tinta,#152220)}
.sp.on{background:#fff;border-color:var(--integra,#254033);color:var(--integra,#254033);box-shadow:0 2px 10px rgba(37,64,51,.14)}
.sp.on .sp-sub{color:var(--tinta-2,#54625E)}
.sp-rot{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.1px}
.sp-sub{display:block;font-size:11.5px;opacity:.8;margin-top:1px}
/* alinhamento dos relógios da faixa superior */
#tiles .tile{align-items:stretch}
#tiles .tile .rosto{display:flex;align-items:center;justify-content:center;min-width:104px}
.mdrg .med3{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin:6px 0 16px}
.mdrg .mcard{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 16px;text-align:center;
 display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.mdrg .mcard .mtop{height:74px;display:flex;align-items:center;justify-content:center}
.mdrg .mcard .mtop svg{width:112px;height:auto;max-height:74px}
.mdrg .mval{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:26px;font-weight:600;line-height:1.1;margin-top:2px}
.mdrg .mrot{font-size:12.5px;font-weight:600;color:var(--ink);margin-top:2px}
.mdrg .mnota{font-size:11px;color:var(--ink2);margin-top:4px;line-height:1.4}
.mdrg .linha4{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 0 18px}
.mdrg .lc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px}
.mdrg .lv{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:27px;font-weight:600;line-height:1.05}
.mdrg .lv.crit{color:var(--crit)}.mdrg .lv.att{color:var(--att)}.mdrg .lv.ok{color:var(--ok)}.mdrg .lv.info{color:var(--info)}
.mdrg .lr{font-size:12.5px;font-weight:600;margin-top:3px}
.mdrg .ln{font-size:11px;color:var(--ink2);margin-top:2px;line-height:1.4}
.mdrg .dois{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;margin-bottom:8px}
.mdrg .bloco{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 17px}
.mdrg .bloco table{border:0;margin:0}
.mdrg .lin{display:flex;align-items:center;gap:10px;margin:7px 0}
.mdrg .lrot{font-size:12.5px;flex:0 0 42%}
.mdrg .lbar{flex:1;height:8px;background:#EAEFEC;border-radius:4px;overflow:hidden}
.mdrg .lbar i{display:block;height:100%;background:#2D6345}
.mdrg .lnum{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;font-weight:600;min-width:26px;text-align:right}
.mdrg .obs,.mdrg .mini{font-size:11.5px;color:var(--ink2);line-height:1.45}
.mdrg .obs{margin:10px 0 0}
.mdrg .pb{font-size:10px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap}
.mdrg .bloq{margin-top:10px;background:#FDF6F5;border:1px solid #E9C6C2;border-radius:9px;padding:9px 12px}
.mdrg .bloq .t{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--crit);font-weight:600}
.mdrg .bloq ul{margin:4px 0 0;padding-left:17px;font-size:12.5px;line-height:1.5}
/* topo de impacto */
.mdrg .hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:18px}
.mdrg .hb{background:#254033;color:#fff;border-radius:14px;padding:16px 20px}
.mdrg .hb:nth-child(2){background:#fff;color:var(--ink);border:1px solid var(--line)}
.mdrg .hv{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:38px;font-weight:600;line-height:1}
.mdrg .hr{font-size:13px;font-weight:600;margin-top:2px}
.mdrg .hn{font-size:11.5px;opacity:.82;margin-top:6px;line-height:1.45}
.mdrg .pd-barra{height:9px;background:#EAEFEC;border-radius:5px;overflow:hidden}
.mdrg .pd-barra i{display:block;height:100%;background:#2D6345;transition:width .3s}
/* frentes de ação */
.mdrg .frentes{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}
.mdrg .fr{background:#fff;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;overflow:hidden}
.mdrg .fr.crit{border-left-color:var(--crit)}.mdrg .fr.att{border-left-color:var(--att)}.mdrg .fr.info{border-left-color:var(--info)}
.mdrg .fr-top{width:100%;display:flex;align-items:center;gap:14px;padding:13px 16px;background:none;border:0;
 font:inherit;text-align:left;cursor:pointer}
.mdrg .fr-top:hover{background:#F7FAF8}
.mdrg .fr-n{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:15px;font-weight:600;color:var(--ink2);flex:none}
.mdrg .fr-mid{flex:1;min-width:0}
.mdrg .fr-rot{display:block;font-size:14.5px;font-weight:700}
.mdrg .fr-por{display:block;font-size:11.5px;color:var(--ink2);margin-top:2px;line-height:1.4}
.mdrg .fr-num{flex:none;text-align:center;min-width:66px}
.mdrg .fr-num b{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:19px;font-weight:600;line-height:1.1}
.mdrg .fr-num span{display:block;font-size:10px;color:var(--ink2);text-transform:uppercase;letter-spacing:.05em}
.mdrg .fr-num.alerta b{color:var(--crit)}
.mdrg .fr-seta{flex:none;color:var(--ink2);font-size:11px}
.mdrg .fr-corpo{padding:0 16px 15px;border-top:1px solid var(--line)}
.mdrg .fr-cmd{background:#F7FAF8;border-radius:8px;padding:9px 12px;font-size:12.5px;margin:12px 0 10px}
.mdrg .fr-acoes{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.mdrg .grupo{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;background:#fff;padding:13px 16px;margin-bottom:12px}
.mdrg .grupo.crit{border-left-color:var(--crit)}.mdrg .grupo.att{border-left-color:var(--att)}.mdrg .grupo.info{border-left-color:var(--info)}
.mdrg .gh{display:flex;align-items:center;gap:10px}
.mdrg .gt{font-weight:700;font-size:14px}
.mdrg .gn{font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:600;background:#EEF2EF;border-radius:6px;padding:1px 9px;font-size:13px}
.mdrg .gexp{font-size:12px;color:var(--ink2);margin:5px 0 9px;line-height:1.45}
.mdrg .grupo table{margin:0}
.mdrg .est{display:inline-flex;gap:3px;align-items:center;flex-wrap:wrap}
.mdrg .eb{border:1px solid var(--line);background:#fff;border-radius:6px;padding:3px 8px;font:inherit;font-size:11px;color:var(--ink2);cursor:pointer}
.mdrg .eb:hover{border-color:#3E8560}
.mdrg .eb.on{font-weight:600;color:#fff;border-color:transparent}
.mdrg .eb.on.pendente{background:#8A9691}.mdrg .eb.on.notificado{background:#2B4592}
.mdrg .eb.on.tratando{background:#B4761A}.mdrg .eb.on.resolvido{background:#2D6345}
.mdrg .ehora{font-size:10.5px;color:var(--ink2);margin-left:4px}
.mdrg .cest{margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}

/* importação de evoluções */
.mdrg .importa{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 17px;margin:20px 0 4px}
.mdrg .imp-t{font-size:14.5px;font-weight:700}
.mdrg .imp-d{font-size:12px;color:var(--ink2);margin:3px 0 11px;line-height:1.45}
.mdrg .imp-z{border:2px dashed var(--line);border-radius:11px;padding:22px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.mdrg .imp-z:hover,.mdrg .imp-z.over{border-color:#3E8560;background:#F4F9F6}
.mdrg .imp-z b{display:block;font-size:14px}
.mdrg .imp-z span{display:block;font-size:12px;color:var(--ink2);margin-top:3px}
.mdrg .imp-log{background:#10201A;color:#CFE0D5;border-radius:9px;padding:11px 13px;font-size:11.5px;
 max-height:150px;overflow:auto;margin:11px 0 0;white-space:pre-wrap;font-family:"IBM Plex Mono",ui-monospace,monospace}
/* funil de segurança do paciente */
.mdrg .funil{display:flex;align-items:stretch;gap:10px;margin:4px 0 16px;flex-wrap:wrap}
.mdrg .fu{flex:1 1 180px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px}
.mdrg .fu-t{font-size:12px;font-weight:600;color:var(--ink2);text-transform:uppercase;letter-spacing:.06em}
.mdrg .fu-v{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:30px;font-weight:600;line-height:1.1;margin:2px 0 7px}
.mdrg .fu-b{height:8px;background:#EAEFEC;border-radius:4px;overflow:hidden}
.mdrg .fu-b i{display:block;height:100%}
.mdrg .fu-n{font-size:11px;color:var(--ink2);margin-top:5px}
.mdrg .fu-seta{display:flex;align-items:center;color:var(--ink2);font-size:22px;flex:none}

/* planilha ESF */
.mdrg .filtros{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;background:#fff;border:1px solid var(--line);
 border-radius:12px;padding:13px 16px;margin-bottom:16px}
.mdrg .cmp{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--ink2)}
.mdrg .cmp select,.mdrg .cmp input{font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.mdrg .atalhos{display:flex;gap:5px}
.mdrg .atalho{padding:7px 11px}
.mdrg .tab-rolagem{overflow-x:auto;border-radius:12px}
.mdrg .tab-rolagem table{margin:0}
.mdrg .tab-rolagem th{position:sticky;top:0;z-index:2}
.mdrg .tab-rolagem td{white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}

.mdrg .atalho.on{background:#254033;border-color:#254033;color:#fff}

/* central das 17h */
.mdrg .tres{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0}
.mdrg .bl{background:#F7FAF8;border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.mdrg .bl-t{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);font-weight:600;margin-bottom:6px}
.mdrg .bl p{margin:0;font-size:12.5px}
.mdrg .bl ul{margin:5px 0 0;padding-left:16px;font-size:12px;line-height:1.5}
.mdrg .quest{border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.mdrg .qgrid{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}

/* relatório de longa permanência */
.mdrg .lp-doc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 30px}
.mdrg .lp-cab{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
 border-bottom:2px solid #254033;padding-bottom:13px;margin-bottom:16px}
.mdrg .lp-t{font-size:20px;font-weight:700;letter-spacing:-.2px}
.mdrg .lp-s{font-size:12.5px;color:var(--ink2);margin-top:2px}
.mdrg .lp-meta{font-size:11.5px;color:var(--ink2);text-align:right;line-height:1.6}
.mdrg .lp-kpis{display:flex;gap:22px;flex-wrap:wrap;background:#F7FAF8;border-radius:10px;padding:13px 18px;margin-bottom:18px}
.mdrg .lp-k b{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:22px;font-weight:600;display:block;line-height:1.1}
.mdrg .lp-k span{font-size:11px;color:var(--ink2)}
.mdrg .ficha{border:1px solid var(--line);border-left:3px solid #254033;border-radius:10px;
 padding:13px 16px;margin-bottom:11px;break-inside:avoid;page-break-inside:avoid}
.mdrg .fh-top{display:flex;align-items:center;gap:13px;margin-bottom:9px}
.mdrg .fh-n{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;font-weight:600;color:var(--ink2);
 background:#EEF2EF;border-radius:6px;padding:2px 8px;flex:none}
.mdrg .fh-id{flex:1;min-width:0}
.mdrg .fh-id b{display:block;font-size:14.5px}
.mdrg .fh-id span{display:block;font-size:11.5px;color:var(--ink2)}
.mdrg .fh-dias,.mdrg .fh-idp{text-align:center;flex:none;min-width:56px}
.mdrg .fh-dias b,.mdrg .fh-idp b{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:20px;font-weight:600;line-height:1.1}
.mdrg .fh-dias span,.mdrg .fh-idp span{font-size:10px;color:var(--ink2);text-transform:uppercase;letter-spacing:.05em}
.mdrg .fh-idp.crit b{color:var(--crit)}.mdrg .fh-idp.att b{color:var(--att)}.mdrg .fh-idp.ok b{color:var(--ok)}
.mdrg .fh-kv{display:grid;grid-template-columns:158px 1fr;gap:3px 14px;font-size:12.5px;margin:0}
.mdrg .fh-kv dt{color:var(--ink2)}
.mdrg .fh-kv dd{margin:0;line-height:1.45}
.mdrg .alerta-txt{color:var(--crit);font-weight:500}
.mdrg .lp-rod{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--ink2);line-height:1.5}
@media print{
  /* Relatório de longa permanência: imprime SOMENTE o #lp-doc, onde quer que ele
     esteja no DOM. O command center embrulha tudo em .cc-app, então mirar ids de
     seção antigos (#p-gihlp) deixava o relatório de fora e o PDF saía em branco.
     Estratégia: colapsar (display:none) o cromo e as outras telas, que não são
     ancestrais do relatório, e usar visibility só dentro da tela de longa, onde o
     #lp-doc está aninhado (visibility pode ser revertida por elemento; display não). */
  body.imprimindo-lp .cc-sb,body.imprimindo-lp .cc-top,body.imprimindo-lp .cc-subtabs,
  body.imprimindo-lp header,body.imprimindo-lp nav,body.imprimindo-lp footer,
  body.imprimindo-lp section[role=tabpanel]:not(#p-longa),
  body.imprimindo-lp .naoimprime,body.imprimindo-lp .b1,body.imprimindo-lp .btn,body.imprimindo-lp .pdfbtn{display:none!important}
  body.imprimindo-lp #p-longa *{visibility:hidden!important}
  body.imprimindo-lp #p-longa #lp-doc,body.imprimindo-lp #p-longa #lp-doc *{visibility:visible!important}
  body.imprimindo-lp #p-longa #lp-doc{position:absolute!important;left:0;top:0;width:100%;margin:0;border:0;padding:0;box-shadow:none}
  body.imprimindo-lp #p-longa #lp-doc .ficha{border-left-width:2px;cursor:default!important}
  body.imprimindo-lp #p-longa #lp-doc .ficha.clic::after{display:none!important}
}

/* ficha: motivos em destaque e bloco DRG */
.mdrg .fh-mot{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 11px}
.mdrg .fh-m{background:#F7FAF8;border-left:3px solid #2D6345;border-radius:0 8px 8px 0;padding:9px 12px}
.mdrg .fh-m:nth-child(2){border-left-color:#B4761A}
.mdrg .fh-ml{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);font-weight:700}
.mdrg .fh-m p{margin:3px 0 0;font-size:12.5px;line-height:1.45}
.mdrg .fh-fonte{display:block;font-size:10px;color:var(--ink2);margin-top:5px;font-style:italic}
.mdrg .fh-drg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;
 border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:10px;background:#FCFDFC}
.mdrg .fd span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}
.mdrg .fd b{display:block;font-size:14px;margin-top:1px}
.mdrg .fd i{display:block;font-size:10.5px;color:var(--ink2);font-style:normal;line-height:1.35;margin-top:1px}
.mdrg .fh-bloq{background:#FDF6F5;border:1px solid #E9C6C2;border-radius:8px;padding:8px 11px;
 font-size:12px;color:#7A2320;margin-bottom:10px}
@media(max-width:760px){.mdrg .fh-mot{grid-template-columns:1fr}}

/* curva por hora */
.hr-cab{margin-bottom:8px}
.hr-cab b{display:block;font-size:13.5px}
.hr-cab span{display:block;font-size:11.5px;color:#54625E;margin-top:2px;line-height:1.45}
.hr-res{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:#54625E}
.hr-res b{color:#152220;font-family:"IBM Plex Mono",ui-monospace,monospace}

/* período: botão no cabeçalho + formulário no modal */
.per-mais{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.per-mais .per-seta{font-size:9px;opacity:.75}
.per-mais.retrato{box-shadow:inset 0 0 0 1px rgba(251,229,20,.65)}
.form-periodo{max-width:560px}
.fp-ex{margin:0 0 16px;font-size:13px;color:#54625E;line-height:1.5}
.fp-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#788A84;font-weight:600;margin-bottom:7px}
.fp-atalhos{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.fp-b{border:1px solid #DCE3DE;background:#fff;border-radius:9px;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer;color:#152220}
.fp-b:hover{border-color:#3E8560}
.fp-b.on{background:#254033;border-color:#254033;color:#fff;font-weight:600}
.fp-linha{display:flex;gap:14px;flex-wrap:wrap}
.fp-c{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#54625E}
.fp-c input{font:inherit;font-size:14px;padding:9px 11px;border:1px solid #DCE3DE;border-radius:9px;
 background:#fff;color:#152220;min-width:190px}
.fp-c input:focus{outline:2px solid #3E8560;outline-offset:1px;border-color:#3E8560}
.fp-obs{margin:14px 0 0;font-size:12px;color:#788A84;line-height:1.5}
.fp-acoes{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}
/* movimento do censo */
.mdrg .mv-n{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:38px;font-weight:600;line-height:1}
.mdrg .mv-t{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--ink2);margin:4px 0 12px}
.mdrg .mv-t b{font-family:"IBM Plex Mono",ui-monospace,monospace;color:var(--ink);font-size:13px}
.mdrg .mv-det{margin-top:10px;font-size:12px}
.mdrg .mv-det summary{cursor:pointer;color:var(--ink2)}
.mdrg .mv-det ul{margin:6px 0 0;padding-left:17px;line-height:1.55}

/* SLA por UF → prestador */
.mdrg .sla-leg{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:11.5px;color:var(--ink2);margin-bottom:12px}
.mdrg .sla-leg i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.mdrg .sla-lista{display:flex;flex-direction:column;gap:9px}
.mdrg .sla-uf{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mdrg .sla-uf.aberta{border-color:#3E8560}
.mdrg .sla-top{width:100%;display:flex;align-items:center;gap:14px;padding:12px 15px;background:none;border:0;
 font:inherit;text-align:left;cursor:pointer}
.mdrg .sla-top:hover{background:#F7FAF8}
.mdrg .sla-top.pr{padding:10px 13px}
.mdrg .sla-nome{flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mdrg .sla-top.pr .sla-nome{font-size:13px;font-weight:500}
.mdrg .sla-pct{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:18px;font-weight:600;flex:none;min-width:62px;text-align:right}
.mdrg .sla-b{flex:0 0 140px;height:9px;border-radius:5px;overflow:hidden;background:#EAEFEC;display:flex}
.mdrg .sla-b i{display:block;height:100%}
.mdrg .sla-n{flex:none;text-align:center;min-width:62px}
.mdrg .sla-n b{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:15px;font-weight:600;line-height:1.1}
.mdrg .sla-n span{display:block;font-size:9.5px;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em}
.mdrg .sla-seta{flex:none;color:var(--ink2);font-size:10px}
.mdrg .sla-corpo{border-top:1px solid var(--line);padding:10px 13px 13px;background:#FBFCFB}
.mdrg .sla-pr{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:7px;overflow:hidden}
.mdrg .sla-pr.aberta{border-color:#B4761A}
.mdrg .sla-det{border-top:1px solid var(--line);padding:12px 14px}
.mdrg .sla-resumo{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:12px}
.mdrg .sla-resumo b{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:19px;line-height:1.1}
.mdrg .sla-resumo span{font-size:10.5px;color:var(--ink2)}
.mdrg .sla-tt{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink2);font-weight:600;margin:14px 0 6px}
@media(max-width:820px){.mdrg .sla-b{display:none}.mdrg .sla-n{min-width:52px}}

.fp-check{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:12.5px;color:#152220;cursor:pointer;line-height:1.45}
.fp-check input{margin-top:2px;width:16px;height:16px;accent-color:#254033;flex:none}
/* retrato do auditor */
.mdrg .aud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:12px;margin:12px 0}
.mdrg .aud-nums{display:flex;gap:16px;flex-wrap:wrap;margin-top:4px}
.mdrg .aud-nums b{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:19px;line-height:1.1}
.mdrg .aud-nums span{font-size:10px;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em}
.mdrg .aud-tt{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink2);font-weight:600;margin:16px 0 6px}
.mdrg .bl p{margin:0 0 4px}

/* sub-abas dos Relatórios */
.mdrg .sub-abas{display:flex;gap:8px;margin:2px 0 16px;border-bottom:1px solid var(--line);padding-bottom:12px}
.mdrg .sa{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 16px;font:inherit;
 font-size:13.5px;cursor:pointer;color:var(--ink2)}
.mdrg .sa:hover{border-color:#3E8560}
.mdrg .sa.on{background:#254033;border-color:#254033;color:#fff;font-weight:600}
.mdrg .sub-corpo .mdrg{padding:0}
.mdrg .sub-corpo .titulo{margin-top:0}
/* faixa compacta de avisos, no lugar dos dois retângulos */
.faixa-avisos{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;
 border:1px solid var(--line);border-radius:12px;padding:10px 16px}
.fx-grupo{display:flex;align-items:center;gap:10px}
.fx-rot{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.fx-n{background:none;border:0;font:inherit;cursor:pointer;text-align:center;padding:2px 8px;border-radius:7px}
.fx-n:hover{background:#F0F4F1}
.fx-n b{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:17px;font-weight:600;line-height:1.1}
.fx-n span{display:block;font-size:10px;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em}
.fx-n.alerta b{color:var(--crit)}
.fx-div{width:1px;height:26px;background:var(--line)}
@media(max-width:700px){.mdrg .grid{grid-template-columns:1fr}.mdrg-dlg .kv{grid-template-columns:1fr}}

/* ===== v38: faixa compacta de resumo (visitas/guias) — abaixo dos relógios =====
   Redesenho da faixa: uma tira única, limpa e discreta (secundária aos relógios),
   com marcadores coloridos, números tabulares e divisores sutis. */
.qs{display:flex;align-items:stretch;gap:6px;background:var(--card);border:1px solid var(--linha);
  border-radius:var(--r);box-shadow:var(--sombra);padding:10px 16px;margin-top:14px;flex-wrap:wrap}
.qs-grupo{display:flex;align-items:center;gap:8px;flex:1;min-width:280px}
.qs-tag{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:5px 11px;border-radius:99px;white-space:nowrap}
.qs-tag.visita{background:#EAF3EE;color:var(--visita)}
.qs-tag.guia{background:#EAEDF7;color:var(--guia)}
.qs-cel{flex:1;display:flex;flex-direction:column;gap:2px;padding:2px 6px;text-align:center;
  border-left:1px solid var(--linha);border:0;background:none;font:inherit;cursor:pointer;color:inherit}
.qs-grupo .qs-cel:first-of-type{border-left:0}
.qs-cel:hover{background:var(--card-2,#F6F8F7);border-radius:8px}
.qs-cel b{font-size:20px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.qs-cel span{font-size:9.5px;color:var(--tinta-3);text-transform:uppercase;letter-spacing:.05em}
.qs-cel.alto b{color:var(--alto)}
.qs-div{width:1px;background:var(--linha);margin:2px 10px;flex:none}
@media(max-width:820px){.qs{flex-direction:column}.qs-div{width:auto;height:1px;margin:8px 0}
  .qs-grupo{min-width:0}}

/* Fase 3 — selo de sincronização entre gestores */
.sync-selo{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#495D57;background:#fff;border:1px solid #E1E9E5;border-radius:20px;padding:4px 10px;cursor:pointer;white-space:nowrap;line-height:1}
.sync-selo .sp-dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}
.sync-selo:hover{border-color:#CBD8D2}

/* Censo assistencial acionável — linhas clicáveis + coluna de ação */
.censo-tab tr.censo-row{cursor:pointer;transition:background .12s}
.censo-tab tr.censo-row:hover td{background:#EDF4F0}
.censo-acao{font-size:11.5px;color:#3a4a44;line-height:1.35}
.censo-acao .pb{display:inline-block;font-size:8.5px;font-weight:800;padding:1px 6px;border-radius:6px;margin-right:5px;vertical-align:middle;letter-spacing:.3px}

/* Indicadores clicáveis — todo indicador leva ao dado + pacientes */
.mdrg .lc.clic,.mdrg .mcard.clic,.mdrg .lin.clic,article.ficha.clic{cursor:pointer;transition:box-shadow .12s,border-color .12s,transform .06s}
.mdrg .lc.clic{position:relative}
.mdrg .lc.clic::after,.mdrg .mcard.clic::after{content:"›";position:absolute;top:8px;right:11px;font-size:16px;color:var(--marca,#1F6B4E);opacity:.5}
.mdrg .lc.clic:hover,.mdrg .mcard.clic:hover{border-color:var(--marca,#1F6B4E);box-shadow:0 3px 12px rgba(31,107,78,.14)}
.mdrg .lin.clic{cursor:pointer;border-radius:7px;padding:3px 5px;margin:4px -5px}
.mdrg .lin.clic:hover{background:#EDF4F0}
article.ficha.clic{position:relative}
article.ficha.clic:hover{border-color:var(--marca,#1F6B4E);box-shadow:0 4px 16px rgba(31,107,78,.13)}
article.ficha.clic::after{content:"abrir ficha ›";position:absolute;top:10px;right:14px;font-size:10.5px;font-weight:700;color:var(--marca,#1F6B4E);opacity:.65}

/* Resumo/trajetória das evoluções na ficha do paciente */
.mdrg-tl{border-left:2px solid #DCE3DE;margin:6px 0 2px;padding-left:0}
.mdrg-tl .tl-i{position:relative;padding:0 0 11px 15px;margin-left:2px}
.mdrg-tl .tl-i::before{content:"";position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--marca,#1F6B4E);border:2px solid #fff}
.mdrg-tl .tl-i:last-child{padding-bottom:2px}
.mdrg-tl .tl-d{font-size:12px;font-weight:700;color:#2D3A34}
.mdrg-tl .tl-m{font-size:12px;color:#3a4a44;line-height:1.5;margin-top:2px}
.mdrg-tl .tl-m b{color:#516058;font-weight:700}
.mdrg-tl .tl-p{font-size:12px;color:#4A5A52;font-style:italic;line-height:1.5;margin-top:3px;background:#F7FAF8;border-radius:6px;padding:5px 8px}

/* Censo do GIH — movimento do dia, segmentos hoje/amanhã/altas, tags */
.mdrg .linha4.cen-mov{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.mdrg .cen-mov .lv{font-size:24px}
.censeg{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 16px}
.censeg .cseg{border:1px solid var(--line,#DCE3DE);background:#fff;border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:600;color:#3a4a44;cursor:pointer;transition:all .12s}
.censeg .cseg b{font-family:"IBM Plex Mono",ui-monospace,monospace;color:#8A968F;margin-left:3px}
.censeg .cseg:hover{border-color:var(--marca,#1F6B4E)}
.censeg .cseg.on{background:var(--marca,#1F6B4E);border-color:var(--marca,#1F6B4E);color:#fff}
.censeg .cseg.on b{color:#cfe8de}
.tg{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.3px;padding:1px 6px;border-radius:5px;vertical-align:middle}
.tg-novo{background:#E7F1EA;color:#1F6B4E}
.tg-altahoje{background:#EAF0F7;color:#2B4592}
.tg-man{background:#FBF1DF;color:#B4761A}
.tg-seg{background:#EAF0F7;color:#2B4592}
tr.cen-res td{opacity:.62}
tr.cen-res td .pb{opacity:1}

/* Rotinas da auditoria — cards por auditor (uma notificação por auditor) */
.censeg .cseg-mini{padding:5px 11px;font-size:11.5px}
.rot-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:2px 0 14px}
.rot-aud{background:#fff;border:1px solid var(--line,#DCE3DE);border-radius:13px;padding:14px 16px;margin-bottom:12px}
.rot-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}
.rot-head .rot-id b{font-size:14.5px}
.rot-sec{margin-top:9px}
.rot-sec .rot-st{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#516058;margin-bottom:4px}
.rot-ul{list-style:none;margin:0;padding:0}
.rot-ul li{font-size:13px;padding:4px 0;border-bottom:1px solid #F0F3F1;line-height:1.4}
.rot-ul li:last-child{border-bottom:0}
.rot-cmd{font-size:12px;color:#3a4a44;margin-top:2px}
.rot-lk{cursor:pointer;border-bottom:1px dotted #B7C4BD}
.rot-lk:hover{color:var(--marca,#1F6B4E);border-bottom-color:var(--marca,#1F6B4E)}
.mdrg .linha4 .lc.clic{cursor:pointer;transition:box-shadow .12s,border-color .12s}
.mdrg .linha4 .lc.clic:hover{border-color:var(--marca,#1F6B4E);box-shadow:0 3px 12px rgba(31,107,78,.14)}

/* ============================================================
   COMMAND CENTER (reconstrução da casca, etapa radical)
   Shell com menu lateral; o motor e os renders das abas seguem iguais.
   ============================================================ */
:root{--lil:#8B8FC4;--lil-cl:#ECEDF7;--sb1:#1E3B2C;--sb2:#14261C;
  --sh-cc:0 1px 2px rgba(16,32,26,.04),0 7px 24px rgba(16,32,26,.06);
  --sh-cc2:0 1px 2px rgba(16,32,26,.05),0 14px 36px rgba(16,32,26,.10)}
body.cc-on{padding:0;margin:0;background:var(--bg)}
body.cc-on>header,body.cc-on>nav,body.cc-on>section.comando{display:none!important}
.cc-app{display:grid;grid-template-columns:252px 1fr;min-height:100vh}
/* sidebar */
.cc-sb{background:linear-gradient(180deg,var(--sb1),var(--sb2));color:#D8E6DE;display:flex;flex-direction:column;padding:20px 16px;position:sticky;top:0;height:100vh}
.cc-brand{background:#fff;border-radius:13px;padding:12px 14px;display:flex;align-items:center;justify-content:center}
.cc-brand img{height:30px;max-width:150px;display:block}
.cc-brandsub{text-align:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8FB6A3;font-weight:600;margin:7px 0 20px}
.cc-nav{display:flex;flex-direction:column;gap:3px;overflow-y:auto;background:transparent;backdrop-filter:none;border:0;padding:0;margin-top:0;position:static;z-index:auto}
.cc-nav .lab{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:#A9C9BA;font-weight:800;margin:13px 10px 6px}
.cc-nav button{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:#EAF2ED;border:0;background:none;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-align:left;width:100%;transition:background .14s,color .14s}
.cc-nav button:hover{background:rgba(255,255,255,.07);color:#fff}
.cc-nav button.on{background:#fff;color:var(--integra);font-weight:680;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.cc-nav button svg{width:19px;height:19px;flex:none;stroke-width:1.9}
.cc-nav button .bdg{margin-left:auto;font-size:11px;font-weight:700;background:rgba(255,255,255,.16);color:#fff;border-radius:99px;padding:1px 8px;min-width:22px;text-align:center}
.cc-nav button.on .bdg{background:var(--medio);color:#fff}
.cc-nav button .bdg.cr{background:var(--alto);color:#fff}
.cc-foot{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
.cc-cliente{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.95);border-radius:11px;padding:9px 11px}
.cc-cliente img{height:22px;max-width:72px}
.cc-cliente b{display:block;font-size:12px;color:var(--integra);font-weight:700;line-height:1.15}
.cc-cliente span{font-size:10px;color:#6B7A72}
.cc-sync{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#9FBEAE;margin-top:11px;padding:0 4px}
.cc-sync .dot{width:8px;height:8px;border-radius:50%;background:#5AA98B;box-shadow:0 0 0 3px rgba(90,169,139,.22);flex:none}
/* main + topbar */
.cc-main{display:flex;flex-direction:column;min-width:0}
.cc-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 30px;background:rgba(237,240,238,.82);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:6}
.cc-top .eye{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--tinta-3);font-weight:680}
.cc-top h1{font-size:21px;font-weight:750;letter-spacing:-.02em;margin-top:2px;color:var(--tinta)}
.cc-top .cc-ctrl{display:flex;align-items:center;gap:11px;flex-wrap:wrap;justify-content:flex-end}
/* reaproveita #periodo movido: deixa em pill clara */
.cc-top .periodo{background:#fff;border:1px solid var(--linha)}
.cc-body{padding:24px 30px 42px;overflow:auto}
/* sub-abas da seção */
.cc-subtabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:20px}
.cc-subtabs button{border:1px solid var(--linha);background:#fff;color:var(--tinta-2);font:inherit;font-size:13px;font-weight:560;padding:8px 15px;border-radius:99px;cursor:pointer;display:flex;align-items:center;gap:7px}
.cc-subtabs button:hover{border-color:var(--linha-2);color:var(--tinta)}
.cc-subtabs button.on{background:var(--integra);color:#fff;border-color:var(--integra);font-weight:640}
.cc-subtabs button .bd{font-size:10.5px;font-weight:700;background:var(--alto-cl);color:var(--alto);border-radius:99px;padding:1px 6px}
.cc-subtabs button.on .bd{background:rgba(255,255,255,.22);color:#fff}
/* ---- conteúdo da Visão executiva ---- */
.cc-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
@media(max-width:1150px){.cc-hero{grid-template-columns:repeat(2,1fr)}}
.cc-stat{background:var(--card);border:1px solid var(--linha);border-radius:16px;box-shadow:var(--sh-cc);padding:19px 20px;cursor:pointer;transition:transform .14s,box-shadow .14s}
.cc-stat:hover{transform:translateY(-2px);box-shadow:var(--sh-cc2)}
.cc-stat .h{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.cc-stat .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}
.cc-stat .ic svg{width:18px;height:18px;stroke-width:2}
.cc-stat .r{font-size:12px;color:var(--tinta-2);font-weight:600}
.cc-stat .v{font-size:37px;font-weight:800;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.cc-stat .v small{font-size:17px;font-weight:620;color:var(--tinta-3)}
.cc-stat .d{font-size:12px;color:var(--tinta-3);margin-top:7px}
.cc-stat .d b.up{color:var(--bom)}.cc-stat .d b.down{color:var(--alto)}
.cc-stat .mtr{margin-top:12px;height:6px;border-radius:99px;background:var(--linha);overflow:hidden;position:relative}
.cc-stat .mtr i{position:absolute;left:0;top:0;bottom:0;border-radius:99px}
.cc-stat .mtr u{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--tinta-3);opacity:.6}
.cc-stat.idp .ic{background:var(--bom-cl);color:var(--moss)}
.cc-stat.perm .ic{background:var(--cassi-cl);color:var(--cassi)}
.cc-stat.sla .ic{background:var(--alto-cl);color:var(--alto)}
.cc-stat.reg .ic{background:var(--lil-cl);color:var(--lil)}
.cc-cols{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;margin-bottom:24px}
@media(max-width:1000px){.cc-cols{grid-template-columns:1fr}}
.cc-panel{background:var(--card);border:1px solid var(--linha);border-radius:16px;box-shadow:var(--sh-cc);overflow:hidden}
.cc-panel .ph{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--linha)}
.cc-panel .ph h2{font-size:15px;font-weight:700}
.cc-panel .ph .mut{font-size:12px;color:var(--tinta-3)}
.cc-panel .ph .prog{display:flex;align-items:center;gap:9px}
.cc-panel .ph .prog .bar{width:92px;height:6px;border-radius:99px;background:var(--linha);overflow:hidden}
.cc-panel .ph .prog .bar i{display:block;height:100%;background:var(--sage);border-radius:99px}
.cc-act{display:flex;align-items:center;gap:14px;padding:13px 20px;border-bottom:1px solid var(--linha);width:100%;background:none;border-left:0;border-right:0;border-top:0;font:inherit;text-align:left;cursor:pointer}
.cc-act:last-child{border-bottom:0}
.cc-act:hover{background:var(--card-2)}
.cc-act .fl{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}
.cc-act .fl svg{width:18px;height:18px;stroke-width:2}
.cc-act.cr .fl{background:var(--alto-cl);color:var(--alto)}.cc-act.at .fl{background:var(--medio-cl);color:var(--medio)}
.cc-act.ok .fl{background:var(--bom-cl);color:var(--moss)}.cc-act.nt .fl{background:#EEF1EF;color:var(--tinta-2)}
.cc-act .m{flex:1;min-width:0}
.cc-act .m .t{font-weight:620;font-size:14px;color:var(--tinta)}
.cc-act .m .s{font-size:12px;color:var(--tinta-3);margin-top:1px}
.cc-act .cta{border:1px solid var(--linha-2);background:#fff;color:var(--tinta);font-size:12.5px;font-weight:620;padding:8px 14px;border-radius:9px;white-space:nowrap;flex:none}
.cc-act.cr .cta{background:var(--integra);color:#fff;border-color:var(--integra)}
.cc-ctx{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-bottom:1px solid var(--linha);width:100%;background:none;border-left:0;border-right:0;border-top:0;font:inherit;text-align:left;cursor:pointer}
.cc-ctx:last-child{border-bottom:0}.cc-ctx:hover{background:var(--card-2)}
.cc-ctx .k{font-size:13px;color:var(--tinta-2)}.cc-ctx .k small{display:block;font-size:11px;color:var(--tinta-3)}
.cc-ctx .rt{display:flex;align-items:center;gap:12px}
.cc-ctx .vv{font-size:22px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cc-ctx .go{font-size:11px;color:var(--moss);font-weight:700}
.cc-dim{margin-bottom:10px}
.cc-dimh{display:flex;align-items:baseline;gap:10px;margin:6px 2px 12px}
.cc-dimh .dot{width:9px;height:9px;border-radius:3px;position:relative;top:1px}
.cc-dimh h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2);font-weight:700}
.cc-dimh .hint{margin-left:auto;font-size:12px;color:var(--tinta-3)}
.cc-mini{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media(max-width:1150px){.cc-mini{grid-template-columns:repeat(3,1fr)}}
.cc-mcard{background:var(--card);border:1px solid var(--linha);border-radius:13px;box-shadow:var(--sh-cc);padding:15px 16px;position:relative;overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:var(--tinta);width:100%;transition:transform .14s,box-shadow .14s}
.cc-mcard:hover{transform:translateY(-2px);box-shadow:var(--sh-cc2)}
.cc-mcard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--calmo)}
.cc-mcard.op::before{background:var(--cassi)}.cc-mcard.gih::before{background:var(--moss)}.cc-mcard.seg::before{background:var(--lil)}
.cc-mcard .k{font-size:11.5px;color:var(--tinta-3);font-weight:600;min-height:30px}
.cc-mcard .v{font-size:26px;font-weight:800;letter-spacing:-.03em;margin-top:6px;font-variant-numeric:tabular-nums}
.cc-mcard .v small{font-size:13px;color:var(--tinta-3)}
.cc-mcard .mt{font-size:10.5px;color:var(--tinta-3);margin-top:6px}
@media(max-width:820px){.cc-app{grid-template-columns:1fr}.cc-sb{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}.cc-nav{flex-direction:row;flex-wrap:wrap}.cc-foot{display:none}}

/* Evita o flash do layout antigo antes do command center montar: esconde a casca
   original até o cc montar (cc-on). Se o cc não engatar (modo assistencial ou erro),
   cc-fail revela o layout normal como fallback. */
body.cc-boot:not(.cc-on):not(.cc-fail) > header,
body.cc-boot:not(.cc-on):not(.cc-fail) > nav,
body.cc-boot:not(.cc-on):not(.cc-fail) > section.comando,
body.cc-boot:not(.cc-on):not(.cc-fail) > main{display:none!important}

/* Pacientes internados (hero) e painel Permanência e valor */
.cc-stat.intern .ic{background:var(--integra-cl,#E8F0EB);color:var(--integra,#254033)}
.cc-pbody{padding:16px 20px}
.cc-sub{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-3);font-weight:700;margin:14px 0 8px}
.cc-sub:first-child{margin-top:0}
.cc-fun{display:flex;align-items:center;gap:8px}
.cc-fun .st{flex:1;background:var(--card-2,#FAFBFA);border:1px solid var(--linha);border-radius:11px;padding:11px 8px;text-align:center}
.cc-fun .st b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--tinta)}
.cc-fun .st span{display:block;font-size:10.5px;color:var(--tinta-3);margin-top:2px;line-height:1.2}
.cc-fun i{color:var(--tinta-3);font-style:normal;font-size:16px;flex:none}
.cc-note{font-size:10.5px;color:var(--tinta-3);line-height:1.45;margin-top:9px}
.cc-idp3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cc-idp3 .c{border:1px solid var(--linha);border-radius:11px;padding:11px 10px;text-align:center}
.cc-idp3 .c b{display:block;font-size:21px;font-weight:800;letter-spacing:-.02em;color:var(--tinta)}
.cc-idp3 .c span{display:block;font-size:10.5px;color:var(--tinta-3);margin-top:2px}
.cc-idp3 .c.hl{background:#F1F7F3;border-color:#CFE6DA}
/* cartões clicáveis da tela Permanência e valor (verificação) */
.cc-fun .st.clic,.cc-idp3 .c.clic{cursor:pointer;position:relative;transition:border-color .12s,box-shadow .12s}
.cc-fun .st.clic:hover,.cc-idp3 .c.clic:hover{border-color:var(--marca,#1F6B4E);box-shadow:0 3px 12px rgba(31,107,78,.14)}
.cc-fun .st.clic::after,.cc-idp3 .c.clic::after{content:"›";position:absolute;top:6px;right:8px;font-size:14px;color:var(--marca,#1F6B4E);opacity:.45}
.cc-econ-bar:hover rect:not([fill="transparent"]){fill:#245237}
.cc-val{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cc-val .vg{border:1px solid var(--linha);border-radius:12px;padding:13px 14px;border-top-width:3px}
.cc-val .vg.ok{border-top-color:var(--bom,#2D6345)}
.cc-val .vg.al{border-top-color:var(--medio,#A97A24)}
.cc-val .vg b{display:block;font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--tinta)}
.cc-val .vg.ok b{color:var(--bom,#2D6345)}.cc-val .vg.al b{color:var(--medio,#A97A24)}
.cc-val .vg span{display:block;font-size:12px;font-weight:600;color:var(--tinta-2);margin-top:2px}
.cc-val .vg small{display:block;font-size:10.5px;color:var(--tinta-3);margin-top:4px;line-height:1.35}
@media(max-width:1200px){.cc-val{grid-template-columns:1fr}}

.cc-val.one{grid-template-columns:1fr}

/* Evolução das diárias economizadas + oportunidade reformulada */
.cc-econ{border:1px solid var(--linha);border-radius:12px;padding:14px 14px 6px}
.cc-econ-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:6px;flex-wrap:wrap}
.cc-econ-hd b{font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--bom,#2D6345)}
.cc-econ-hd span{font-size:12px;color:var(--tinta-2);font-weight:600;margin-left:7px}
.cc-econ-sub{font-size:11px;color:var(--tinta-3)}
.cc-opp{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cc-opp .og{border:1px solid var(--linha);border-radius:12px;padding:13px 14px;border-top:3px solid var(--medio,#A97A24)}
.cc-opp .og.leg{border-top-color:var(--calmo,#8A9691)}
.cc-opp .og b{display:block;font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--medio,#A97A24)}
.cc-opp .og.leg b{color:var(--tinta-2,#54625E)}
.cc-opp .og span{display:block;font-size:12px;font-weight:600;color:var(--tinta-2);margin-top:2px}
.cc-opp .og small{display:block;font-size:10.5px;color:var(--tinta-3);margin-top:4px;line-height:1.35}
@media(max-width:1200px){.cc-opp{grid-template-columns:1fr}}
