:root{
  --tinta:#12262a; --papel:#eef3f2; --folha:#fff; --linha:#d3dfdd; --suave:#546a6c;
  --verde:#0e7c7b; --ambar:#a8480a; --ambar-fundo:#fbe9d6; --verm:#b42318; --verm-fundo:#fde4e1;
  --placa:#12262a; --placa-texto:#eef3f2; --foco:#0b5fff;
  --h1:#d6eeec; --h2:#a6dcd8; --h3:#6cc3bd; --h4:#2f9f9a; --h5:#0e6f6e;
  --t1:#12262a; --t2:#12262a; --t3:#08201f; --t4:#fff; --t5:#fff;
}
@media (prefers-color-scheme:dark){
  :root{--tinta:#e6eeed; --papel:#0d1a1c; --folha:#142629; --linha:#2a4144; --suave:#9db3b4;
    --verde:#4fc7c3; --ambar:#f0a15c; --ambar-fundo:#3a2813; --verm:#ff8b7e; --verm-fundo:#3d1a17;
    --placa:#050e10; --placa-texto:#e6eeed; --foco:#8ab4ff;
    --h1:#17403f; --h2:#1d5e5c; --h3:#25807c; --h4:#35a39e; --h5:#63d2cc;
    --t1:#e6eeed; --t2:#e6eeed; --t3:#fff; --t4:#05201f; --t5:#031514}
}
*{box-sizing:border-box}
body{margin:0;background:var(--papel);color:var(--tinta);font:1rem/1.5 "Segoe UI",system-ui,-apple-system,Arial,sans-serif}
h1,h2,h3{line-height:1.2;margin:0 0 .6rem;font-weight:650;letter-spacing:-.01em}
h1{font-size:1.7rem} h2{font-size:1.2rem} h3{font-size:1rem}
p{margin:0 0 .8rem;max-width:70ch}
a{color:var(--verde)} :focus-visible{outline:3px solid var(--foco);outline-offset:2px;border-radius:3px}
.num{font-variant-numeric:tabular-nums} .suave{color:var(--suave)} .pequeno{font-size:.875rem}
.topo{background:var(--placa);color:var(--placa-texto)}
.topo .in{max-width:1180px;margin:0 auto;padding:.6rem 1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.marca{font-weight:700;color:var(--placa-texto);text-decoration:none}
.topo nav{display:flex;gap:.25rem;flex-wrap:wrap}
.topo nav a{color:var(--placa-texto);text-decoration:none;padding:.35rem .75rem;border-radius:6px}
.topo nav a:hover{background:#ffffff1f} .topo nav a[aria-current=page]{background:#ffffff33;font-weight:650}
main{max-width:1180px;margin:0 auto;padding:1.5rem 1rem 4rem}
.cartao{background:var(--folha);border:1px solid var(--linha);border-radius:8px;padding:1.25rem;margin-bottom:1.25rem}
.btn{display:inline-block;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none;border:1px solid var(--linha);
  background:var(--folha);color:var(--tinta);padding:.45rem .9rem;border-radius:6px;min-height:2.4rem}
.btn:hover{border-color:var(--verde)} .btn.principal{background:var(--verde);border-color:var(--verde);color:#fff}
@media (prefers-color-scheme:dark){.btn.principal{color:#04201f}}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.25rem}
input[type=date],input[type=number],select{font:inherit;padding:.45rem .6rem;border:1px solid var(--suave);border-radius:6px;background:var(--folha);color:var(--tinta);min-height:2.4rem}
.linha-form{display:flex;gap:.9rem;align-items:end;flex-wrap:wrap;margin-bottom:1rem}
.avisos{list-style:none;padding:0;margin:0 0 1.25rem}
.avisos li{padding:.65rem 1rem;border-radius:6px;border:1px solid;margin-bottom:.5rem;font-weight:500}
.avisos .ok{background:var(--h1);border-color:var(--verde)} .avisos .erro{background:var(--verm-fundo);border-color:var(--verm)}
.cab{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.abas{display:flex;gap:.35rem;flex-wrap:wrap}
.abas a{padding:.3rem .8rem;border:1px solid var(--linha);border-radius:99px;text-decoration:none;font-weight:600;background:var(--folha)}
.abas a[aria-current=page]{background:var(--placa);color:var(--placa-texto);border-color:var(--placa)}
.kpis{display:flex;gap:2.2rem;flex-wrap:wrap;margin:0 0 1.2rem}
.kpis div{min-width:7rem} .kpis dt{font-size:.85rem;color:var(--suave)} .kpis dd{margin:0;font-size:1.9rem;font-weight:700;letter-spacing:-.02em}
.barras-mes{width:100%;height:auto;display:block}
.barras-mes .b{fill:var(--verde)} .barras-mes .fundo{fill:var(--linha)} .barras-mes text{fill:var(--tinta);font-size:11px;font-family:inherit}
.barras-mes a:hover .b{fill:var(--ambar)}
.rolar{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th,td{padding:.45rem .5rem;text-align:left;border-bottom:1px solid var(--linha);vertical-align:middle}
th{font-size:.85rem;color:var(--suave);font-weight:600}
td.n,th.n{text-align:right}
.linha-tempo{min-width:860px}
.linha-tempo th.m{text-align:center;padding:.3rem .1rem;width:3.6rem}
.linha-tempo th.m a{color:inherit;text-decoration:none} .linha-tempo th.m a:hover{text-decoration:underline;color:var(--verde)}
.linha-tempo td.c{padding:2px;text-align:center}
.linha-tempo td.nome{position:sticky;left:0;background:var(--folha);z-index:1;min-width:11rem;max-width:16rem;font-weight:600}
.cel{display:block;height:2rem;line-height:2rem;border-radius:4px;font-size:.85rem;font-weight:650;text-decoration:none;color:inherit}
a.cel:hover{outline:2px solid var(--tinta)}
.h1{background:var(--h1);color:var(--t1)} .h2{background:var(--h2);color:var(--t2)} .h3{background:var(--h3);color:var(--t3)}
.h4{background:var(--h4);color:var(--t4)} .h5{background:var(--h5);color:var(--t5)}
.zero{background:transparent;color:var(--suave);border:1px dashed var(--linha)}
.antes,.futuro{background:transparent}
.parou{background:repeating-linear-gradient(135deg,transparent 0 5px,var(--ambar-fundo) 5px 9px);border:1px solid var(--ambar);color:var(--ambar)}
.legenda{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center;font-size:.85rem;margin-top:.8rem}
.legenda .cel{display:inline-block;height:1.3rem;line-height:1.3rem;min-width:2.2rem;padding:0 .4rem;text-align:center}
.selo{display:inline-block;padding:.1rem .55rem;border-radius:99px;font-size:.82rem;font-weight:650;border:1px solid}
.selo.alerta{background:var(--ambar-fundo);color:var(--ambar);border-color:var(--ambar)}
.selo.bom{background:var(--h1);color:var(--verde);border-color:var(--verde)}
.selo.queda{background:var(--verm-fundo);color:var(--verm);border-color:var(--verm)}
details{border-top:1px solid var(--linha);padding:.5rem 0}
details>summary{cursor:pointer;display:flex;gap:1rem;align-items:center;justify-content:space-between;font-weight:650;padding:.2rem 0}
details>summary .qtd{font-variant-numeric:tabular-nums}
.pac{margin:.4rem 0 .6rem 1rem;padding:0;list-style:none}
.pac li{display:flex;gap:1rem;padding:.2rem 0;border-bottom:1px dotted var(--linha)} .pac .d{min-width:5.5rem;color:var(--suave)}
.barra{display:inline-block;height:.7rem;background:var(--verde);border-radius:3px;vertical-align:middle}
.dois{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem} @media (max-width:860px){.dois{grid-template-columns:1fr}}
.vazio{padding:1.5rem;border:1px dashed var(--suave);border-radius:8px}
.topo form.unidade{display:flex;gap:.4rem;align-items:center;margin:0}
.topo form.unidade label{margin:0;font-weight:500;color:var(--placa-texto);font-size:.85rem}
.topo form.unidade select{max-width:15rem;min-height:2rem;padding:.2rem .5rem}
.topo form.unidade .btn{min-height:2rem;padding:.2rem .7rem;background:transparent;color:var(--placa-texto);border-color:#ffffff55}

/* ---- login, conta e administração (modo multi-cliente) */
.campo{font:inherit;width:100%;max-width:26rem;padding:.45rem .6rem;border:1px solid var(--suave);border-radius:6px;background:var(--folha);color:var(--tinta);min-height:2.4rem}
.estreito{max-width:26rem;margin:2rem auto}
.topo form.usuario{display:flex;gap:.6rem;align-items:center;margin:0}
.topo form.usuario a{color:var(--placa-texto)}
.topo form.usuario .btn{min-height:2rem;padding:.2rem .7rem;background:transparent;color:var(--placa-texto);border-color:#ffffff55}
.destaque{border-color:var(--verde);border-width:2px}
.senha{font-family:ui-monospace,Consolas,monospace;font-size:1.15rem;user-select:all}
td.acoes{white-space:nowrap} td.acoes form{display:inline-block;margin:0 .25rem .25rem 0}
.linha-form{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:0}
.linha-form label{margin:0} .linha-form .campo{max-width:15rem}
.grade-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:0 1rem}
