/* ---------- tema claro (padrão) ---------- */
:root{
  color-scheme:light;
  --topo:#1d3557;--topo-txt:#cfd9e6;--azul2:#2e74b5;--azul2h:#25609a;
  --fundo:#f4f6f9;--card:#ffffff;--card2:#fafbfc;--hover:#f5f8fc;--campo:#ffffff;
  --borda:#dde3ea;--borda2:#b9c4d0;--linha:#edf0f3;
  --txt:#1b2430;--muted:#66727f;--link:#2e74b5;
  --ok:#1f7a4d;--okbg:#e3f4ea;--okbd:#bfe3cd;
  --av:#8a5a00;--avbg:#fff3d6;
  --er:#a3262a;--erbg:#fde7e7;--erbd:#f3c2c2;
  --cinza:#eef1f5;
}
/* ---------- tema escuro ---------- */
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]){
    color-scheme:dark;
    --topo:#0e1726;--topo-txt:#a9b6c7;--azul2:#3b82c4;--azul2h:#4a92d6;
    --fundo:#0f141b;--card:#171e27;--card2:#1b232e;--hover:#1e2834;--campo:#121821;
    --borda:#2a3441;--borda2:#3b4757;--linha:#232c37;
    --txt:#e4e9ef;--muted:#93a0af;--link:#6fb0ee;
    --ok:#6fd39f;--okbg:#14301f;--okbd:#21543a;
    --av:#f0c068;--avbg:#33270f;
    --er:#f28b8b;--erbg:#3a1a1b;--erbd:#5c2a2c;
    --cinza:#222b36;
  }
}
:root[data-tema="escuro"]{
  color-scheme:dark;
  --topo:#0e1726;--topo-txt:#a9b6c7;--azul2:#3b82c4;--azul2h:#4a92d6;
  --fundo:#0f141b;--card:#171e27;--card2:#1b232e;--hover:#1e2834;--campo:#121821;
  --borda:#2a3441;--borda2:#3b4757;--linha:#232c37;
  --txt:#e4e9ef;--muted:#93a0af;--link:#6fb0ee;
  --ok:#6fd39f;--okbg:#14301f;--okbd:#21543a;
  --av:#f0c068;--avbg:#33270f;
  --er:#f28b8b;--erbg:#3a1a1b;--erbd:#5c2a2c;
  --cinza:#222b36;
}

*{box-sizing:border-box}
body{margin:0;font:14px/1.45 "Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--txt);background:var(--fundo)}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
header{background:var(--topo);color:#fff;display:flex;align-items:center;gap:24px;padding:0 24px;height:54px}
header .marca{font-weight:700;letter-spacing:.2px}
header .marca small{font-weight:400;opacity:.7;margin-left:6px}
header nav{display:flex;gap:4px;flex:1}
header nav a,header .sair{color:var(--topo-txt);padding:6px 12px;border-radius:6px}
header nav a.ativo,header nav a:hover,header .sair:hover{background:rgba(255,255,255,.12);color:#fff;text-decoration:none}
.tema{background:transparent;border:1px solid rgba(255,255,255,.25);color:var(--topo-txt);border-radius:7px;padding:5px 10px;font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.tema:hover{color:#fff;border-color:rgba(255,255,255,.5)}
.tema svg{width:15px;height:15px}
main{max-width:1280px;margin:0 auto;padding:22px 24px 60px}
h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:0 0 12px}
.sub{color:var(--muted);margin:0 0 18px}
.card{background:var(--card);border:1px solid var(--borda);border-radius:10px;padding:18px;margin-bottom:18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:900px){.grid2{grid-template-columns:1fr}}
.barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.barra form{display:inline-flex;gap:8px;align-items:center;margin:0}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--borda);background:var(--card);color:var(--txt);padding:7px 13px;border-radius:7px;font:inherit;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--borda2);text-decoration:none}
.btn.pri{background:var(--azul2);border-color:var(--azul2);color:#fff}.btn.pri:hover{background:var(--azul2h)}
.btn.peq{padding:3px 9px;font-size:12.5px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
select,input[type=text],input[type=password],input[type=date],input:not([type]){font:inherit;padding:6px 9px;border:1px solid var(--borda);border-radius:7px;background:var(--campo);color:var(--txt)}
table.t{width:100%;border-collapse:collapse;background:var(--card)}
table.t th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600;padding:9px 10px;border-bottom:1px solid var(--borda);background:var(--card2);position:sticky;top:0}
table.t td{padding:9px 10px;border-bottom:1px solid var(--linha);vertical-align:middle}
table.t tr:hover td{background:var(--hover)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.chip{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--cinza);color:var(--muted);white-space:nowrap}
.chip.ok{background:var(--okbg);color:var(--ok)}.chip.av{background:var(--avbg);color:var(--av)}.chip.er{background:var(--erbg);color:var(--er)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
@media(max-width:800px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:var(--card);border:1px solid var(--borda);border-radius:10px;padding:12px 16px}
.kpi b{font-size:22px;display:block}.kpi span{color:var(--muted);font-size:12.5px}
.kpi .barra-p{height:5px;background:var(--cinza);border-radius:3px;margin-top:8px;overflow:hidden}
.kpi .barra-p i{display:block;height:100%;background:var(--azul2)}
.msg{padding:10px 14px;border-radius:8px;margin-bottom:16px;background:var(--okbg);color:var(--ok);border:1px solid var(--okbd)}
.msg.er{background:var(--erbg);color:var(--er);border-color:var(--erbd)}
.avisos{margin:0;padding:10px 14px 10px 30px;background:var(--avbg);border-radius:8px;color:var(--av)}
.muted{color:var(--muted)}.peq{font-size:12.5px}
.mun{font-weight:600}.uf{color:var(--muted);font-weight:400}
.pecimg{max-width:100%;border:1px solid var(--borda);border-radius:6px;background:#fff}
.login{max-width:360px;margin:12vh auto;background:var(--card);border:1px solid var(--borda);border-radius:12px;padding:28px;position:relative}
.login label{display:block;margin:12px 0 4px;font-size:13px;color:var(--muted)}
.login input{width:100%}
.login .tema{position:absolute;top:14px;right:14px;color:var(--muted);border-color:var(--borda)}
.dica{font-size:12.5px;color:var(--muted);margin-top:6px}
.drop{border:2px dashed var(--borda2);border-radius:9px;padding:14px;text-align:center;background:var(--card2)}
.tabela-scroll{overflow-x:auto;border:1px solid var(--borda);border-radius:10px}
img[src*="/logo/"]{background:#fff;padding:4px;border-radius:6px}
