:root{--verde:#28903B;--verde-esc:#1f7330;--laranja:#F8981D;--preto:#1A1A1A;--claro:#F1F7E8;--cinza:#f5f6f4;--borda:#dfe3dc;--txt:#222;--sub:#666;--erro:#b3261e}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:var(--txt);background:#fafbf9}
a{color:var(--verde-esc)}
.logo{font-weight:800;font-size:22px;letter-spacing:-.5px;color:#fff;background:var(--preto);padding:4px 10px;border-radius:6px}
.logo b{color:var(--verde);font-weight:800}
.brand{display:flex;align-items:center;gap:10px}
.brand small{color:var(--sub)}
.topo{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:10px 20px;background:#fff;border-bottom:4px solid var(--laranja)}
.menu{display:flex;flex-wrap:wrap;gap:4px;align-items:center;flex:1}
.menu a{padding:7px 10px;border-radius:6px;text-decoration:none;color:var(--txt)}
.menu a:hover{background:var(--cinza)}
.menu a.on{background:var(--verde);color:#fff}
.menu .sep{margin-left:10px;color:var(--sub);font-size:12px}
.quem{font-size:12px;color:var(--sub)}
.conteudo{max-width:1280px;margin:0 auto;padding:20px}
h1{font-size:22px;margin:4px 0 12px;color:var(--preto)}
h1 small{font-size:14px;color:var(--sub);font-weight:400;margin-left:6px}
h2{font-size:16px;margin:22px 0 10px;color:var(--verde-esc)}
h3{font-size:13px;margin:0 0 6px;text-transform:uppercase;color:var(--verde-esc)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0 6px}
.kpi{background:var(--claro);border-radius:8px;padding:12px 14px;border-left:4px solid var(--verde)}
.kpi span{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:#444}
.kpi b{display:block;font-size:22px;color:var(--verde-esc);margin-top:4px}
.kpi small{color:var(--sub);font-size:11px}
.tabela-wrap{overflow-x:auto;background:#fff;border:1px solid var(--borda);border-radius:8px}
.tabela-wrap.altura{max-height:420px;overflow-y:auto}
.tabela{width:100%;border-collapse:collapse;background:#fff}
.tabela th{background:var(--preto);color:#fff;font-size:12px;text-align:left;padding:8px;position:sticky;top:0}
.tabela td{padding:7px 8px;border-bottom:1px solid #eee;vertical-align:middle}
.tabela tbody tr:nth-child(even){background:#f8f9f7}
.tabela tfoot td{background:var(--verde);color:#fff;font-weight:700;padding:8px}
.tabela tr.destaque td{background:#fef3e4}
.tabela tr.apagado td{color:#999}
.tabela.estreita{max-width:700px}
.n,.tabela th.n{text-align:right;white-space:nowrap}
.vazio{text-align:center;color:var(--sub);padding:18px!important}
.acoes{white-space:nowrap}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.caixa{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:14px 16px;margin:16px 0}
.caixa summary{cursor:pointer;font-weight:700;color:var(--verde-esc)}
.destaque-caixa{border:2px solid var(--laranja)}
.form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#444;margin-bottom:10px}
.form label.check{flex-direction:row;align-items:center;font-weight:400;font-size:13px}
.form.estreito{max-width:420px}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 12px}
.g2{grid-column:span 2}
input,select,textarea{font:inherit;padding:8px 9px;border:1px solid #cfd5cb;border-radius:6px;background:var(--claro);color:var(--txt);min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--verde);background:#fff}
input.mini{padding:5px 7px;width:100%}
.btn{display:inline-block;background:var(--verde);color:#fff;border:0;border-radius:6px;padding:9px 16px;font-weight:700;cursor:pointer;text-decoration:none;font-size:14px}
.btn:hover{background:var(--verde-esc)}
.btn.peq{padding:6px 10px;font-size:12px}
.btn.sec{background:#fff;color:var(--verde-esc);border:1px solid var(--verde)}
.btn-x{border:0;background:none;color:var(--erro);cursor:pointer;font-size:14px}
.link{background:none;border:0;padding:0;color:var(--verde-esc);text-decoration:underline;cursor:pointer;font:inherit}
form.inline{display:inline}
.mes{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:10px}
.mes label{display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:4px}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.tag{display:inline-block;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:700;background:#eee}
.tag.verde{background:#dff1e2;color:var(--verde-esc)}.tag.laranja{background:#fde7c9;color:#8a4b00}.tag.cinza{background:#eee;color:#666}.tag.fechado{background:#fde7c9;color:#8a4b00}
.flash{padding:10px 14px;border-radius:6px;margin:8px 0;background:#dff1e2;color:var(--verde-esc)}
.flash.erro{background:#fbe2df;color:var(--erro)}.flash.aviso{background:#fde7c9;color:#8a4b00}
.nota{color:var(--sub);font-size:12px}
.msg{width:100%;font-family:monospace;font-size:12px;margin:4px 0 8px}
code{background:var(--claro);padding:2px 6px;border-radius:4px;font-size:14px}
.rodape{text-align:center;color:var(--sub);font-size:11px;padding:20px;border-top:4px solid var(--verde);margin-top:30px}
/* documento (extrato) */
.documento{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:18px;margin:12px 0}
.doc-topo{display:flex;align-items:center;gap:16px;border-bottom:3px solid var(--laranja);padding-bottom:10px;margin-bottom:12px}
.doc-meta{margin-left:auto;text-align:right;font-size:12px;color:var(--sub)}
.bloco{background:var(--cinza);border-radius:6px;padding:10px 12px}
.bloco p{margin:0;line-height:1.5}
.condicoes{font-size:12px;margin:12px 0}
.totais{border-collapse:collapse;align-self:start;width:100%}
.totais td{padding:6px 8px;border-bottom:1px solid #eee}
.totais tr.forte td{background:var(--verde);color:#fff;font-weight:700;font-size:16px}
.assinaturas{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;font-size:12px}
.assinaturas div{border-top:1px solid #333;padding-top:6px}
/* login */
body.auth{display:flex;min-height:100vh;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--claro),#fff)}
.auth-box{background:#fff;padding:28px;border-radius:12px;width:100%;max-width:400px;box-shadow:0 8px 30px rgba(0,0,0,.08);border-top:5px solid var(--verde)}
.auth-box .brand{flex-direction:column;align-items:flex-start;margin-bottom:16px}
.auth-box .btn{width:100%}
.ajuda{font-size:12px;color:var(--sub);text-align:center}
.checklist{list-style:none;padding:0}.checklist .ok{color:var(--verde-esc)}.checklist .nok{color:var(--erro)}
.aviso{background:#fde7c9;padding:10px;border-radius:6px}
@media (max-width:760px){.menu{order:3;flex-basis:100%}.topo{padding:10px 14px}.duas{grid-template-columns:1fr}.g2{grid-column:auto}.conteudo{padding:14px}.kpi b{font-size:18px}}
@media print{
  .topo,.rodape,.nao-imprimir,.flash{display:none!important}
  body{background:#fff;font-size:11px}.conteudo{max-width:none;padding:0}
  .documento{border:0;padding:0}.tabela th{background:#1A1A1A!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .totais tr.forte td,.logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
[hidden]{display:none!important}
