/* RECEBE — folha unica. Dois temas; as 4 cores de STATUS sao fixas nos dois
   e vem sempre acompanhadas do rotulo em texto, nunca da cor sozinha. */
:root, :root[data-tema="claro"]{
  --plano:#f9f9f7; --sup:#fcfcfb; --sup2:#f0efec; --linha:#e1e0d9;
  --tx:#0b0b0b; --tx2:#52514e; --mudo:#6e6c67;
  --s1:#2a78d6; --s3:#1baf7a; --s7:#4a3aa7;
  --realce:rgba(42,120,214,.12); --realceb:#154a8f; --hover:rgba(0,0,0,.035);
  --crit-tx:#a32d2d; --ser-tx:#a3512c; --warn-tx:#8a6100; --bom-tx:#0a7d0a;
  color-scheme:light;
}
:root[data-tema="escuro"]{
  --plano:#0d0d0d; --sup:#1a1a19; --sup2:#232322; --linha:#2c2c2a;
  --tx:#ffffff; --tx2:#c3c2b7; --mudo:#898781;
  --s1:#3987e5; --s3:#199e70; --s7:#9085e9;
  --realce:rgba(57,135,229,.18); --realceb:#cfe3ff; --hover:rgba(255,255,255,.032);
  --crit-tx:#f08a8a; --ser-tx:#f0a687; --warn-tx:#f5c65e; --bom-tx:#5cc95c;
  color-scheme:dark;
}
:root{ --critical:#d03b3b; --serious:#ec835a; --warning:#fab219; --good:#0ca30c; }
*{box-sizing:border-box}
body{margin:0;background:var(--plano);color:var(--tx);
  font:14px/1.55 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--s1)}
h1{font-size:21px;margin:0 0 4px} h2{font-size:16px;margin:26px 0 10px}
h3{font-size:11.5px;margin:20px 0 8px;color:var(--mudo);text-transform:uppercase;letter-spacing:.08em}
code{background:var(--sup2);padding:1px 5px;border-radius:4px;font-size:12.5px}
.sub{color:var(--tx2);font-size:12.5px;margin-bottom:16px}
.mudo{color:var(--mudo)} .tx2{color:var(--tx2)} .n{text-align:right;font-variant-numeric:tabular-nums}
/* topo */
.topo{background:var(--sup);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:60}
.topo-in{max-width:1600px;margin:0 auto;padding:0 18px;display:flex;align-items:center;gap:16px;min-height:54px;flex-wrap:wrap}
.marca{font-weight:700;font-size:16px;text-decoration:none;color:var(--tx);white-space:nowrap}
.marca span{font-weight:400;font-size:12px;color:var(--mudo)}
.menu{display:flex;gap:2px;flex:1;flex-wrap:wrap}
.menu a{padding:7px 11px;border-radius:8px;text-decoration:none;color:var(--tx2);font-size:13.5px}
.menu a:hover{background:var(--sup2);color:var(--tx)}
.menu a.on{background:var(--realce);color:var(--realceb);font-weight:600}
.topo-dir{display:flex;align-items:center;gap:9px}
.quem{font-size:12.5px;color:var(--tx2);text-align:right;line-height:1.25}
.quem small{display:block;color:var(--mudo);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}
.pag{max-width:1600px;margin:0 auto;padding:20px 18px 70px}
.rodape{max-width:1600px;margin:0 auto;padding:0 18px 30px;color:var(--mudo);font-size:11.5px}
/* controles */
.bt,button.bt,a.bt{background:var(--sup);border:1px solid var(--linha);color:var(--tx2);
  border-radius:8px;padding:8px 12px;font-size:12.5px;cursor:pointer;text-decoration:none;
  display:inline-block;white-space:nowrap;font-family:inherit}
.bt:hover{border-color:var(--mudo);color:var(--tx)}
.bt.primario{background:var(--s1);border-color:var(--s1);color:#fff;font-weight:600}
.bt.primario:hover{filter:brightness(1.08);color:#fff}
input,select,textarea{background:var(--sup);border:1px solid var(--linha);color:var(--tx);
  border-radius:8px;padding:8px 10px;font-size:13.5px;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--s1);box-shadow:0 0 0 3px var(--realce)}
textarea{width:100%;min-height:90px;resize:vertical}
label{display:block;font-size:12px;color:var(--tx2);margin:12px 0 4px;font-weight:600}
form.linha-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
/* busca e filtros */
.barra{background:var(--sup);border:1px solid var(--linha);border-radius:12px;padding:12px 14px;margin-bottom:14px}
.buscabox{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.buscabox input[type=search]{flex:1;min-width:240px;padding:10px 13px;font-size:14.5px}
.filtros{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:10px}
.rot{font-size:10.5px;color:var(--mudo);text-transform:uppercase;letter-spacing:.07em}
.chip{background:var(--sup2);border:1px solid var(--linha);color:var(--tx2);border-radius:20px;
  padding:5px 11px;font-size:11.5px;cursor:pointer;text-decoration:none;white-space:nowrap}
.chip:hover{border-color:var(--mudo);color:var(--tx)}
.chip.on{background:var(--realce);border-color:var(--s1);color:var(--realceb);font-weight:600}
.chip .n{opacity:.65;margin-left:5px}
/* cartoes */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:11px;margin:14px 0}
.kpi{background:var(--sup);border:1px solid var(--linha);border-radius:12px;padding:13px 15px}
.kpi .lab{font-size:10.5px;color:var(--mudo);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.kpi .val{font-size:21px;font-weight:700;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.kpi .obs{font-size:11.5px;color:var(--tx2);margin-top:4px}
.b-crit{border-left:3px solid var(--critical)} .b-ser{border-left:3px solid var(--serious)}
.b-warn{border-left:3px solid var(--warning)} .b-bom{border-left:3px solid var(--good)}
.b-s1{border-left:3px solid var(--s1)} .b-s7{border-left:3px solid var(--s7)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:11px}
.card{background:var(--sup);border:1px solid var(--linha);border-radius:12px;padding:14px 15px}
.card h4{margin:0 0 4px;font-size:14.5px}
.barrinha{height:4px;background:var(--sup2);border-radius:3px;overflow:hidden;margin-top:8px}
.barrinha i{display:block;height:100%;background:var(--critical)}
.barrinha.boa i{background:var(--good)}
/* tabelas */
.tabelabox{background:var(--sup);border:1px solid var(--linha);border-radius:12px;overflow:auto}
table{width:100%;border-collapse:collapse;font-size:12.8px}
th{background:var(--sup2);text-align:left;padding:9px 11px;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--mudo);font-weight:600;white-space:nowrap;position:sticky;top:0;z-index:2}
th a{color:inherit;text-decoration:none} th a:hover{color:var(--tx)}
td{padding:8px 11px;border-top:1px solid var(--linha);vertical-align:top}
tbody tr:hover td{background:var(--hover)}
/* etiquetas de status e prazo */
.tag{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:600;
  white-space:nowrap;border:1px solid}
.t-critico{background:rgba(208,59,59,.14);color:var(--crit-tx);border-color:rgba(208,59,59,.45)}
.t-serio  {background:rgba(236,131,90,.14);color:var(--ser-tx); border-color:rgba(236,131,90,.42)}
.t-alerta {background:rgba(250,178,25,.14);color:var(--warn-tx);border-color:rgba(250,178,25,.4)}
.t-bom    {background:rgba(12,163,12,.13); color:var(--bom-tx); border-color:rgba(12,163,12,.4)}
.t-info   {background:var(--realce);color:var(--realceb);border-color:var(--s1)}
.t-neutro,.t-sem-prazo,.t-ok{background:var(--sup2);color:var(--mudo);border-color:var(--linha)}
.t-nosso{background:rgba(74,58,167,.13);color:var(--s7);border-color:rgba(74,58,167,.4)}
.t-oper {background:var(--realce);color:var(--realceb);border-color:var(--s1)}
/* avisos */
.aviso{background:var(--realce);border:1px solid var(--s1);border-radius:10px;padding:12px 14px;
  margin:12px 0;font-size:12.8px;color:var(--tx2)}
.aviso b{color:var(--tx);display:block;margin-bottom:4px}
.aviso.crit{background:rgba(208,59,59,.08);border-color:rgba(208,59,59,.45)}
.aviso.bom{background:rgba(12,163,12,.08);border-color:rgba(12,163,12,.4)}
.aviso ul{margin:6px 0 0;padding-left:19px}
.vazio{padding:40px 20px;text-align:center;color:var(--mudo)}
.vazio b{display:block;color:var(--tx2);font-size:15px;margin-bottom:6px}
/* tratativa */
.check{list-style:none;padding:0;margin:0}
.check li{display:flex;gap:9px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--linha)}
.check li:first-child{border-top:0}
.check input[type=checkbox]{width:17px;height:17px;margin-top:1px;cursor:pointer;accent-color:var(--good)}
.check .feito{text-decoration:line-through;color:var(--mudo)}
.notas{list-style:none;padding:0;margin:0}
.notas li{border-top:1px solid var(--linha);padding:10px 0}
.notas li:first-child{border-top:0}
.notas .meta{font-size:11px;color:var(--mudo);margin-bottom:3px}
.grade2{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;align-items:start}
@media(max-width:900px){.grade2{grid-template-columns:1fr}}
.cit{font-style:italic;color:var(--tx2);padding-left:10px;border-left:2px solid var(--linha);margin-top:6px;font-size:12px}
details{background:var(--sup);border:1px solid var(--linha);border-radius:10px;margin:8px 0}
details summary{padding:11px 14px;cursor:pointer;font-weight:600}
details .corpo{padding:0 14px 14px}
.pag-nums{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px;align-items:center}
.pag-nums a,.pag-nums span{padding:5px 10px;border-radius:7px;border:1px solid var(--linha);
  text-decoration:none;color:var(--tx2);font-size:12.5px}
.pag-nums .atual{background:var(--realce);border-color:var(--s1);color:var(--realceb);font-weight:600}

/* ---------- 1.1.0 · glosa: acatar / recorrer / retorno ---------- */
.grade3{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 14px}
.quadro-glosa{border:1px solid var(--linha);border-radius:10px;padding:12px 13px;margin-top:12px;
  background:var(--sup2)}
.quadro-glosa .chave{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-weight:400}
.quadro-glosa .chave input[type=checkbox]{width:auto;margin:0}
.bt.mini{padding:1px 7px;font-size:11px;line-height:1.6;margin-left:6px}
.notas .meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.linha-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.selo{display:inline-block;padding:1px 7px;border-radius:5px;font-size:11px;font-weight:600;
  border:1px solid transparent}
.selo-sim{background:rgba(208,59,59,.14);color:var(--crit-tx);border-color:rgba(208,59,59,.4)}
.selo-nao{background:var(--sup2);color:var(--mudo);border-color:var(--linha)}
