:root{--navy:#162133;--navy2:#202F48;--navy3:#2C405F;--gold:#EAC98C;--gold-d:#B9914B;--gold-l:#F3E3C0;--bg:#F5F2EB;--text:#1B2438;--mudo:#6B7385;--ok:#2E7D5B;--warn:#B7791F;--erro:#B3382C;--borda:#D9D2BF}
*{box-sizing:border-box}
html{font-size:15px}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,"Noto Sans",sans-serif;background:var(--bg);color:var(--text);line-height:1.4}
body.logado{display:flex;min-height:100vh}
h1{font-size:1.7rem;margin:.2rem 0 .6rem;color:var(--navy)}h2{font-size:1.15rem;margin:1.2rem 0 .5rem;color:var(--navy)}
a{color:var(--navy3)}
.lateral{width:230px;flex:none;background:var(--navy);color:#D8DEEE;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.marca{padding:18px 20px 8px;text-align:center}.marca img{width:150px;max-width:100%;height:auto}
.lateral nav{display:flex;flex-direction:column;margin-top:8px;flex:1}
.lateral nav a{color:#D8DEEE;text-decoration:none;padding:11px 20px;border-left:3px solid transparent}
.lateral nav a:hover{background:var(--navy2);color:#fff}
.lateral nav a.ativo{background:var(--navy2);color:var(--gold);border-left-color:var(--gold);font-weight:600}
.usuario{padding:14px 20px;border-top:1px solid var(--navy3);font-size:.85rem;color:var(--gold-l)}.usuario small{color:#9BA6BC}
.usuario a{display:block;color:var(--gold-l);margin-top:6px}
.menu-toggle{display:none}
.conteudo{flex:1;min-width:0;padding:22px 28px 40px}
body.publico .conteudo{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--navy)}
.cartao-login{background:var(--navy);width:100%;max-width:380px;padding:10px 6px;text-align:center;color:var(--gold-l)}
.cartao-login h1{color:var(--gold);font-size:1.3rem}.cartao-login .campo span{color:var(--gold-l)}.cartao-login .mudo{color:#9BA6BC}
.cartao-login input{background:var(--navy2);color:#fff;border-color:var(--navy3)}
.logo-login{width:170px;height:auto;margin-bottom:6px}
.btn{display:inline-block;background:#fff;color:var(--text);border:1px solid #CBC3AE;border-radius:5px;padding:7px 14px;font:inherit;cursor:pointer;text-decoration:none;line-height:1.2}
.btn:hover{border-color:var(--gold-d);background:#FBF8F0}
.btn.primario{background:var(--navy);color:var(--gold);border-color:var(--navy);font-weight:600}.btn.primario:hover{background:var(--navy3)}
.btn.perigo{color:var(--erro)}.btn.mini{padding:3px 9px;font-size:.82rem}.btn.largo{width:100%;margin-top:8px;background:var(--gold);color:var(--navy);border:none}
button.link{background:none;border:none;color:var(--gold-l);padding:0;margin-top:6px;cursor:pointer;font:inherit;text-decoration:underline}
form.inline{display:inline;margin:0}
input,select,textarea{font:inherit;color:var(--text);background:#fff;border:1px solid #CBC3AE;border-radius:4px;padding:6px 8px;max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold-d)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--navy)}
.campo{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;text-align:left}.campo span{font-size:.85rem;color:var(--mudo)}
.campo input[type=checkbox]{width:18px;height:18px}
.form.estreito{max-width:480px}.botoes{display:flex;gap:8px;margin-top:10px}
.barra{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:6px 0 12px}.barra label{display:flex;flex-direction:column;gap:3px;font-size:.85rem;color:var(--mudo)}
.painel{background:#fff;border:1px solid var(--borda);border-radius:6px;padding:10px 14px;margin:10px 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
details.painel{display:block}details summary{cursor:pointer;font-weight:600;color:var(--navy)}
.abas{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0 12px;border-bottom:2px solid var(--gold-d)}
.abas a{padding:8px 16px;background:#E9E3D2;text-decoration:none;color:var(--text);border-radius:5px 5px 0 0}.abas a.ativo{background:var(--navy);color:var(--gold);font-weight:600}
.tabela-rolavel{overflow-x:auto;background:#fff;border:1px solid var(--borda);border-radius:6px}.tabela-rolavel.alta{max-height:420px;overflow-y:auto}
table{border-collapse:collapse;width:100%}
th{background:var(--navy);color:var(--gold);text-align:left;padding:8px 10px;white-space:nowrap;position:sticky;top:0}
td{padding:6px 10px;border-top:1px solid #EEE9DB;vertical-align:middle}
tr:nth-child(even) td{background:#FAF8F2}
.num{text-align:right;white-space:nowrap}td.acoes{white-space:nowrap}td.acoes>*{margin-right:3px}
tr.venc td{color:var(--erro)}tr.ok td{color:var(--ok)}tr.warn td{color:var(--warn)}tr.mudo td,tr.ignorado td{color:#999}tr.pendente td:nth-child(6){color:var(--warn)}
td{white-space:nowrap}td.longo{white-space:normal;min-width:320px;max-width:460px}
.tabela-rolavel th:last-child,.tabela-rolavel td.acoes{position:sticky;right:0;box-shadow:-6px 0 6px -6px rgba(0,0,0,.25)}.tabela-rolavel td.acoes{background:#fff}
tr.total td{font-weight:700;background:var(--gold-l)}
.vazio{text-align:center;color:var(--mudo);padding:18px}
.neg{color:var(--erro)}.pos{color:var(--ok)}.mudo{color:var(--mudo)}strong.venc{color:var(--erro)}strong.warn{color:var(--warn)}strong.ok{color:var(--ok)}
.rodape-tabela{color:var(--mudo)}
.aviso{padding:10px 14px;border-radius:6px;margin:0 0 12px;border:1px solid}.aviso.ok{background:#E6F3EC;border-color:#9FD1B7;color:#1F5E43}
.aviso.erro{background:#FBE9E6;border-color:#E3A59B;color:#8A2A20}.aviso.warn{background:#FFF4DB;border-color:#E6C77D;color:#7A5410}
body.publico .aviso{max-width:380px;width:100%}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:12px}
.card{background:#fff;border:1px solid var(--borda);border-top:3px solid var(--gold-d);border-radius:6px;padding:12px 16px}
.card{min-width:0}.card span{display:block;color:var(--mudo);font-size:.85rem}.card strong{font-size:1.6rem;color:var(--navy);overflow-wrap:anywhere;word-break:break-word}
a.link-card strong{display:block;font-size:1.1rem;line-height:1.25;margin:4px 0;text-transform:none}
.duas-colunas{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:16px}
.duas-colunas section>input[type=search]{width:100%;margin-bottom:6px}
.conferencia{font-weight:600}.conferencia.ok{color:var(--ok)}.conferencia.erro{color:var(--erro)}.conferencia.warn{color:var(--warn)}
#tabela-preview input{width:100%;min-width:90px}#tabela-preview .c-desc{min-width:260px}#tabela-preview .dinheiro{text-align:right}
#tabela-preview tr.incerto td{background:#FFF1C7}#tabela-preview tr.erro-linha td{background:#FBE0DC}
input.curto{width:80px}
tr.oculto{display:none}
@media (max-width:900px){
  body.logado{display:block}
  .lateral{width:auto;height:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center}
  .marca{padding:6px 14px}.marca img{width:64px}
  .menu-toggle{display:block;margin-left:auto;margin-right:12px;background:var(--navy2);color:var(--gold);border:1px solid var(--navy3);padding:7px 14px;border-radius:5px}
  .lateral nav{display:none;width:100%;flex:none}.lateral.aberto nav{display:flex}
  .usuario{display:none;width:100%}.lateral.aberto .usuario{display:block}
  .conteudo{padding:14px}.duas-colunas{grid-template-columns:1fr}
}
[hidden]{display:none!important}
a.link-card{text-decoration:none;color:inherit}a.link-card:hover{border-top-color:var(--navy3)}
a.ord{color:inherit;text-decoration:none}
.calendario{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--borda);border:1px solid var(--borda);border-radius:6px;overflow:hidden}
.cal-cab{background:var(--navy);color:var(--gold);padding:6px;text-align:center;font-weight:600}
.cal-dia{background:#fff;min-height:96px;padding:4px;display:flex;flex-direction:column;gap:2px;min-width:0}
.cal-dia.fora{background:#F7F4EC;color:var(--mudo)}.cal-dia.hoje{outline:2px solid var(--gold-d);outline-offset:-2px}
.cal-num{font-weight:600;text-decoration:none;color:var(--navy3);align-self:flex-start}
.cal-item{display:block;font-size:.78rem;padding:1px 5px;border-radius:3px;background:var(--gold-l);color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-item.compromisso{background:#DCE6F5}.cal-item.venc{background:#FBE9E6;color:var(--erro)}.cal-item.feita{text-decoration:line-through;opacity:.6}
.cal-mais{font-size:.75rem;color:var(--mudo)}
fieldset.campo{border:1px solid var(--borda);border-radius:6px;padding:8px 12px}.check{display:flex;gap:8px;align-items:center;margin:3px 0}
@media (max-width:760px){.cal-dia{min-height:60px}.cal-item{font-size:.68rem}}
