/* Paleta do painel RedeSeT: azul #0B5394, menu escuro #121c28, fundo #f3f5f8. Claro por padrão; escuro pelo sistema ou pelo botão. */
:root{
  --tinta:#17212c; --papel:#f3f5f8; --folha:#fff; --linha:#e2e7ee; --suave:#4b5664;
  --verde:#0B5394; --pri-texto:#fff; --ambar:#8a5a0f; --ambar-fundo:#fbeed3; --verm:#b42318; --verm-fundo:#fde4e1;
  --placa:#121c28; --placa-texto:#e8eef5; --foco:#0b5fff;
  --h1:#dce9f7; --h2:#b5d1ee; --h3:#82b2e0; --h4:#2f73b3; --h5:#0B5394;
  --t1:#17212c; --t2:#17212c; --t3:#0a1a2b; --t4:#fff; --t5:#fff;
  color-scheme:light;
}
:root[data-tema=dark]{
  --tinta:#e6edf5; --papel:#0e151d; --folha:#172231; --linha:#2a3a4d; --suave:#9fb0c3;
  --verde:#6db0ee; --pri-texto:#08213b; --ambar:#f0b35c; --ambar-fundo:#3a2c12; --verm:#ff8b7e; --verm-fundo:#3d1a17;
  --placa:#0a1017; --placa-texto:#e8eef5; --foco:#8ab4ff;
  --h1:#17314d; --h2:#1e4a76; --h3:#2a68a3; --h4:#4a90d9; --h5:#8cc4f5;
  --t1:#e6edf5; --t2:#e6edf5; --t3:#fff; --t4:#07172a; --t5:#04101e;
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-tema=light]){
    --tinta:#e6edf5; --papel:#0e151d; --folha:#172231; --linha:#2a3a4d; --suave:#9fb0c3;
    --verde:#6db0ee; --pri-texto:#08213b; --ambar:#f0b35c; --ambar-fundo:#3a2c12; --verm:#ff8b7e; --verm-fundo:#3d1a17;
    --placa:#0a1017; --placa-texto:#e8eef5; --foco:#8ab4ff;
    --h1:#17314d; --h2:#1e4a76; --h3:#2a68a3; --h4:#4a90d9; --h5:#8cc4f5;
    --t1:#e6edf5; --t2:#e6edf5; --t3:#fff; --t4:#07172a; --t5:#04101e;
    color-scheme:dark;
  }
}
*{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:var(--pri-texto)}
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(--verde);color:var(--pri-texto);border-color:var(--verde)}
.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{position:relative;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}

/* ---- marca, módulos, tema */
.topo{border-bottom:1px solid #ffffff1a}
.logo{display:block;height:34px;width:auto}
.marca{display:flex;align-items:center}
.so-escuro{display:none}
:root[data-tema=dark] .so-claro{display:none} :root[data-tema=dark] .so-escuro{display:block}
@media (prefers-color-scheme:dark){:root:not([data-tema=light]) .so-claro{display:none} :root:not([data-tema=light]) .so-escuro{display:block}}
.topo .direita{display:flex;gap:.6rem;align-items:center;margin-left:auto}
.btn.tema{min-height:2rem;padding:.2rem .7rem;background:transparent;color:var(--placa-texto);border-color:#ffffff55;font-weight:500;font-size:.85rem}
.btn.tema:hover{border-color:#fff}
.sub{background:var(--folha);border-bottom:1px solid var(--linha)}
.sub .in{max-width:1180px;margin:0 auto;padding:.4rem 1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.sub nav{display:flex;gap:.25rem;flex-wrap:wrap}
.sub nav a{color:var(--tinta);text-decoration:none;padding:.3rem .75rem;border-radius:6px;font-weight:500}
.sub nav a:hover{background:var(--papel)} .sub nav a[aria-current=page]{background:var(--verde);color:var(--pri-texto);font-weight:650}
.sub form.unidade{display:flex;gap:.4rem;align-items:center;margin:0}
.sub form.unidade label{margin:0;font-weight:500;color:var(--suave);font-size:.85rem}
.sub form.unidade select{max-width:15rem;min-height:2rem;padding:.2rem .5rem}
.sub form.unidade .btn{min-height:2rem;padding:.2rem .7rem}
.modulos-topo{display:flex;gap:.25rem;margin-left:.5rem}
.modulos-topo a{color:var(--placa-texto);text-decoration:none;padding:.35rem .8rem;border-radius:6px;font-weight:500}
.modulos-topo a:hover{background:#ffffff1f} .modulos-topo a[aria-current=page]{background:#ffffff33;font-weight:650}
.login-tela{min-height:calc(100vh - 8rem);display:flex;flex-direction:column;justify-content:center}
.login-marca{display:flex;justify-content:center;margin:0 0 1.2rem}
.login-marca .logo{height:185px;width:auto}
.login-rodape{text-align:center;color:var(--suave);font-size:.95rem;letter-spacing:.01em;margin:1.6rem auto 0;max-width:30ch}
.cartoes-modulos{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:1rem}
.cartoes-modulos a.cartao{display:block;text-decoration:none;color:inherit;margin:0;border-left:4px solid var(--verde)}
.cartoes-modulos a.cartao:hover{border-color:var(--verde);box-shadow:0 2px 10px #0000001f}
.cartoes-modulos h2{color:var(--verde)}
.passos{margin:.2rem 0 0;padding-left:1.2rem} .passos li{margin:.25rem 0}
.ok-txt{color:var(--verde);font-weight:650} .pend-txt{color:var(--ambar);font-weight:650}
.prev-assinatura{max-height:44px;max-width:160px;background:#fff;border:1px solid var(--linha);border-radius:4px;padding:2px}
.grade-form.estreita{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
input[type=file]{font:inherit;max-width:100%}
.marcas{display:flex;gap:1rem;flex-wrap:wrap;margin:.3rem 0 .8rem} .marcas label{display:flex;gap:.4rem;align-items:center;font-weight:500;margin:0}

/* setas de tendência em relação ao mês anterior */
:root{--sobe:#17794a}
:root[data-tema=dark]{--sobe:#6fd89f}
@media (prefers-color-scheme:dark){:root:not([data-tema=light]){--sobe:#6fd89f}}
.seta{font-size:.62rem;line-height:1;font-weight:700}
.cel .seta{position:absolute;top:1px;right:2px;padding:1px 3px;border-radius:3px;background:var(--folha)}
.seta.alta{color:var(--sobe)} .seta.baixa{color:var(--verm)}
.barras-mes text.seta{font-size:10px} .barras-mes text.seta.alta{fill:var(--sobe)} .barras-mes text.seta.baixa{fill:var(--verm)}
tr.destaque td{background:var(--h1)}
.vazio-nota{font-size:.85rem;color:var(--suave)}
details.zerar{margin-top:.6rem} details.zerar summary{cursor:pointer;color:var(--verm)}

.atalhos{display:grid;gap:.4rem;margin:.25rem 0 1rem}

.escolha-pessoas{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.35rem .9rem;margin:.5rem 0 1rem}
.escolha{display:flex;gap:.45rem;align-items:center;font-weight:400}
.aviso-sem{border-left:4px solid var(--verm)}
.sobe{color:var(--verde)} .desce{color:var(--verm)}
