:root{ --navy:#1B2F5F; --ciano:#1BACE4; --fundo:#E7EBF5; --borda:#C5CEE0; --verde:#1E8449; --verm:#C0392B; --ouro:#C9A227; }
*{ box-sizing:border-box; }
body{ margin:0; font-family:Calibri,'Segoe UI',Arial,sans-serif; background:var(--fundo); color:#1a2333; }
main{ max-width:1180px; margin:0 auto; padding:18px; }
.topo{ background:#fff; border-top:4px solid var(--ciano); border-bottom:2px solid var(--navy); display:flex; align-items:center; padding:11px 22px; }
.marca{ font-weight:bold; color:var(--navy); font-size:17px; letter-spacing:.5px; }
.marca span{ font-size:12px; color:#6b7793; font-weight:normal; }
.topo nav{ margin-left:auto; display:flex; gap:6px; }
.topo nav a{ color:var(--navy); text-decoration:none; padding:7px 12px; border-radius:6px; font-size:14px; }
.topo nav a:hover{ background:var(--fundo); }
footer{ text-align:center; font-size:11px; color:#6b7793; padding:16px; border-top:2px solid var(--ciano); }
h1{ color:var(--navy); font-size:22px; margin:0 0 4px; }
h2{ color:var(--navy); font-size:15px; margin:0; background:var(--navy); color:#fff; padding:9px 14px; border-radius:10px 10px 0 0; }
a{ color:#155e86; }
.painel{ background:#fff; border:1px solid var(--borda); border-radius:10px; margin-bottom:18px; overflow:hidden; box-shadow:0 1px 3px rgba(27,47,95,.08); }
.corpo{ padding:12px 14px; }
.msg{ padding:8px 14px; border-radius:6px; margin-bottom:8px; font-size:13px; }
.msg-ok{ background:#d9f2e3; color:var(--verde); border:1px solid #a9dec0; }
.msg-erro{ background:#fdecea; color:var(--verm); border:1px solid #f5c0ba; }
.mensagens{ margin-bottom:12px; }
table{ border-collapse:collapse; width:100%; font-size:13px; }
th,td{ border:1px solid var(--borda); padding:6px 9px; text-align:right; }
th:first-child,td:first-child{ text-align:left; }
thead th{ background:var(--navy); color:#fff; font-weight:600; }
tbody tr:nth-child(even) td{ background:#f2f5f9; }
.ent{ color:var(--verde); } .sai{ color:var(--verm); }
label{ font-size:12px; font-weight:600; color:var(--navy); display:block; margin-bottom:3px; }
input,select{ padding:7px 9px; border:1px solid var(--borda); border-radius:6px; font-size:13px; font-family:inherit; }
.botao,button{ background:var(--ciano); color:#fff; border:none; padding:9px 18px; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; display:inline-block; }
.botao.sec{ background:var(--navy); }
.botao:hover,button:hover{ filter:brightness(1.05); }
.cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:16px; }
.card{ background:#fff; border:1px solid var(--borda); border-top:3px solid var(--ciano); border-radius:10px; padding:11px 13px; }
.card.tot{ border-top-color:var(--ouro); }
.card .lab{ font-size:11px; color:#6b7793; text-transform:uppercase; letter-spacing:.4px; }
.card .val{ font-size:19px; font-weight:bold; color:var(--navy); margin-top:3px; }
.card .val.neg{ color:var(--verm); }
.emp-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; }
.emp-card{ display:block; background:#fff; border:1px solid var(--borda); border-left:4px solid var(--ciano); border-radius:10px; padding:16px; text-decoration:none; color:inherit; box-shadow:0 1px 3px rgba(27,47,95,.08); }
.emp-card:hover{ box-shadow:0 3px 10px rgba(27,47,95,.16); }
.emp-nome{ font-weight:bold; color:var(--navy); font-size:16px; }
.emp-sub{ font-size:12px; color:#6b7793; margin-top:3px; }
.emp-caixa{ font-size:20px; font-weight:bold; color:var(--navy); margin-top:10px; }
.bloco-conta{ margin-bottom:16px; }
.bloco-conta h3{ background:var(--ciano); color:#fff; margin:0; padding:7px 12px; border-radius:8px 8px 0 0; font-size:14px; display:flex; justify-content:space-between; }
.linha-form{ display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end; margin-top:10px; }
.caixa-login{ max-width:360px; margin:9vh auto; background:#fff; border:1px solid var(--borda); border-radius:12px; padding:30px; text-align:center; box-shadow:0 4px 18px rgba(27,47,95,.15); }
.rm{ border:none; background:none; color:var(--verm); cursor:pointer; font-size:12px; padding:0; }
.cat{ border:1px solid var(--borda); border-radius:6px; font-family:inherit; }
.cat-receita{ background:#eaf7f0; color:#1E8449; }
.cat-despesa{ background:#fdeeee; color:#C0392B; }
.cat-fora{ background:#eef2f8; color:#50607a; }
.cat-na{ background:#fff7e6; color:#9a6f06; }
