:root{--bg:#f4f6fb;--panel:#ffffff;--panel-2:#eef2f8;--line:#dbe2ec;--ink:#1b2433;--muted:#5b6776;--faint:#8a97a8;--in:#059669;--out:#e11d48;--gold:#2563eb;--blue:#0891b2;--violet:#7c3aed;--amber:#d97706;--in-dim:rgba(5,150,105,.12);--out-dim:rgba(225,29,72,.10);--shadow:0 10px 30px -14px rgba(20,30,50,.18);color-scheme:light}:root[data-theme=dark]{--bg:#0e1320;--panel:#161d2e;--panel-2:#1f2840;--line:#2c3654;--ink:#e7ecf5;--muted:#9fadc2;--faint:#6f7d94;--in:#34d399;--out:#fb7185;--gold:#60a5fa;--blue:#22d3ee;--violet:#a78bfa;--amber:#fbbf24;--in-dim:rgba(52,211,153,.16);--out-dim:rgba(251,113,133,.14);--shadow:0 12px 32px -14px rgba(0,0,0,.55);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Hanken Grotesk,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;background-image:radial-gradient(1200px 600px at 80% -10%,rgba(37,99,235,.07),transparent 60%),radial-gradient(900px 500px at -10% 10%,rgba(8,145,178,.05),transparent 55%)}.num{font-family:Spline Sans Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wrap{max-width:1280px;margin:0 auto;padding:28px 26px 60px}header.top{justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}.logolock,header.top{display:flex;align-items:center}.logolock{gap:13px}.wordmark{font-family:Fraunces,serif;font-weight:900;font-size:28px;letter-spacing:1.5px;line-height:1;color:var(--ink)}.wordmark span{color:var(--gold)}.tagline{color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-top:6px}.vbadge{font-family:Spline Sans Mono,monospace;font-style:normal;font-size:10px;font-weight:600;letter-spacing:.5px;color:var(--gold);background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.28);padding:2px 7px;border-radius:20px;vertical-align:middle;margin-left:6px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}button{font-family:inherit;cursor:pointer;border:none;border-radius:10px;font-weight:600;font-size:13px;transition:.16s}.btn{padding:10px 16px;background:var(--panel);color:var(--ink);border:1px solid var(--line)}.themebtn{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--panel);border:1px solid var(--line);cursor:pointer;font-size:16px;line-height:1;box-shadow:var(--shadow);transition:border-color .15s}.btn:hover,.themebtn:hover{border-color:var(--gold)}.btn:hover{color:var(--gold)}.btn.primary{background:var(--gold);color:#fff;border:1px solid var(--gold)}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:0}.nav a{padding:10px 16px;color:var(--muted);font-weight:600;font-size:13px;border-bottom:2px solid transparent;text-decoration:none}.nav a:hover{color:var(--ink)}.nav a.active{color:var(--gold);border-bottom-color:var(--gold)}.filters{gap:12px;align-items:flex-end;margin-bottom:14px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.catbar,.filters{display:flex;flex-wrap:wrap}.catbar{gap:8px;align-items:center;margin-bottom:22px}.catbar .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--faint);font-weight:600;margin-right:2px}.subtabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.subtabs button{padding:8px 14px;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:10px;font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:7px}.subtabs button small{font-weight:500;color:var(--faint);font-size:11px}.subtabs button.on,.subtabs button:hover{border-color:var(--gold)}.subtabs button.on{background:var(--gold);color:#fff}.subtabs button.on small{color:rgba(255,255,255,.82)}.subtabs .ct{background:var(--panel-2);color:var(--muted);border-radius:20px;padding:1px 8px;font-size:11px;font-weight:700}.subtabs-tot{margin-left:auto;font-size:12px;align-self:center}@media(max-width:640px){.subtabs-tot{margin-left:0;width:100%}}.subtabs button.on .ct{background:rgba(255,255,255,.22);color:#fff}.chip{font-size:12px;padding:6px 12px;border-radius:20px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;font-weight:600;transition:.15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:inherit}.chip:hover{color:var(--ink)}.chip.on,.chip:hover{border-color:var(--gold)}.chip.on{background:rgba(37,99,235,.12);color:var(--gold)}.chip.allbtn{border-style:dashed;color:var(--muted)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--faint);font-weight:600}input[type=date],input[type=month],input[type=number],input[type=text],select,textarea{font-family:inherit;font-size:13px;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:9px 11px;outline:none;min-width:130px}textarea{width:100%;min-width:100%;resize:vertical;min-height:52px;line-height:1.4}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.field.search input{min-width:200px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:22px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.kpi .lab{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--faint);font-weight:600}.kpi .val{font-family:Spline Sans Mono,monospace;font-size:23px;font-weight:600;margin-top:9px;letter-spacing:-.5px}.kpi .sub{font-size:12px;color:var(--muted);margin-top:5px}.kpi.in .val{color:var(--in)}.kpi.out .val{color:var(--out)}.kpi .tag{position:absolute;top:14px;right:14px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.tag.it{background:rgba(37,99,235,.12);color:var(--gold)}.fluxo-mes{display:flex;align-items:center;gap:26px;flex-wrap:wrap;background:var(--panel);border-left:1px solid var(--gold);border:1px solid var(--gold);border-left-width:5px;border-radius:14px;padding:16px 22px;margin-bottom:22px;box-shadow:var(--shadow)}.fluxo-mes .titulo{font-family:Fraunces,serif;font-weight:600;font-size:17px}.fluxo-mes .sub{font-size:12px;color:var(--muted);margin-top:2px}.fluxo-mes .blocos{margin-left:auto;display:flex;gap:28px;flex-wrap:wrap}.fluxo-mes .num-lab{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--faint);font-weight:600}.fluxo-mes .num-val{font-family:Spline Sans Mono,monospace;font-size:21px;font-weight:600;letter-spacing:-.5px;margin-top:3px}@media(max-width:640px){.fluxo-mes{gap:12px}.fluxo-mes .blocos{margin-left:0;width:100%;gap:18px}.fluxo-mes .num-val{font-size:18px}}.charts{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:14px;gap:14px;margin-bottom:22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.card h3{font-family:Fraunces,serif;font-weight:600;font-size:16px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}.card h3 small{font-family:Hanken Grotesk;font-weight:500;font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.6px}.chart-box{position:relative;height:240px}.chart-box.tall{height:300px}.chart-box.xl{height:420px}.charts-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:22px}.tablecard{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.tablecard .head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);gap:12px}.tablecard .head h3{font-family:Fraunces,serif;font-weight:600;font-size:16px}.tablecard .head .count{color:var(--muted);font-size:12px}.tablecard .head .head-actions{display:flex;gap:10px;align-items:center;margin-left:auto}.scroll{max-height:640px;overflow:auto;-webkit-overflow-scrolling:touch}.scroll.tall{max-height:min(calc(100vh - 160px),1460px);overflow-y:scroll;overflow-x:auto;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:var(--line) var(--panel-2)}.scroll.tall tbody td{padding:7px 12px}.scroll.tall::-webkit-scrollbar{width:15px;height:15px}.scroll.tall::-webkit-scrollbar-track{background:var(--panel-2)}.scroll.tall::-webkit-scrollbar-thumb{background:var(--line);border-radius:9px;border:3px solid var(--panel-2)}.scroll.tall::-webkit-scrollbar-thumb:hover{background:var(--faint)}table{width:100%;border-collapse:collapse;font-size:13px}thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--panel-2);text-align:left;padding:11px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--faint);font-weight:700;border-bottom:1px solid var(--line);border-right:1px solid var(--line);cursor:pointer;white-space:nowrap}thead th:last-child{border-right:none}thead th.sorted,thead th:hover{color:var(--gold)}.sarrow{font-size:8px;margin-left:5px}.sarrow,tbody td{vertical-align:middle}tbody td{padding:10px 14px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}tbody tr.opening-row td{background:var(--panel-2);border-bottom:2px solid var(--line)}tbody td:last-child{border-right:none}tbody tr:nth-child(2n){background:rgba(15,23,42,.018)}tbody tr:hover{background:rgba(37,99,235,.06)}tbody tr.atrasado td{background:var(--out-dim)!important;color:var(--out);font-weight:600}tbody tr.atrasado:hover td{background:rgba(225,29,72,.18)!important}tbody tr.atrasado td:first-child{box-shadow:inset 3px 0 0 var(--out)}tbody tr.atrasado td.v.pos{color:var(--in)}td.v{text-align:right;font-family:Spline Sans Mono,monospace;font-weight:500;white-space:nowrap}td.v.pos{color:var(--in)}td.v.neg{color:var(--out)}td.saldo{text-align:right;font-family:Spline Sans Mono,monospace;font-weight:600;white-space:nowrap}td.drag{text-align:center;padding:6px 4px}.movebtn{width:28px;height:28px;border-radius:8px;background:var(--panel-2);border:1px solid var(--line);color:var(--faint);cursor:pointer;font-size:14px;line-height:1}.movebtn:hover{border-color:var(--gold);color:var(--gold)}.movebtn.active{background:var(--out);color:#fff;border-color:var(--out)}tr.moving{background:rgba(37,99,235,.14)!important}tr.movetarget{cursor:pointer}tr.movetarget:hover{background:rgba(37,99,235,.08)}tr.movetarget .movebtn{border-color:var(--gold);color:var(--gold)}.pill{font-size:11px;padding:3px 9px;border-radius:20px;font-weight:600;white-space:nowrap}.pill.pago{background:var(--in-dim);color:var(--in)}.pill.pend{background:rgba(217,119,6,.14);color:var(--amber)}.pill.agen{background:rgba(8,145,178,.14);color:var(--blue)}.pill.none{background:rgba(100,116,139,.12);color:var(--muted)}.cat{padding:3px 9px;border-radius:6px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.cat,.persel{font-size:11px;background:var(--panel-2)}.persel{font-weight:600;min-width:0;width:auto;padding:4px 22px 4px 9px;border-radius:20px;border:1px solid var(--line);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 13px) 50%,calc(100% - 9px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.per.mensal,.persel.mensal{color:var(--gold);background-color:rgba(37,99,235,.1);border-color:rgba(37,99,235,.3)}.per.pontual,.persel.pontual{color:var(--muted)}.per{font-size:11px;padding:3px 9px;border-radius:20px;font-weight:600;white-space:nowrap;background:var(--panel-2);border:1px solid var(--line)}.per.parc{color:var(--violet);background-color:rgba(124,58,237,.12);border-color:rgba(124,58,237,.3)}.acct-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:middle}.dot-it{background:var(--gold)}.rowbtns{display:flex;gap:6px}.ic{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--panel-2);border:1px solid var(--line);font-size:13px}.ic:hover{border-color:var(--gold);color:var(--gold)}.ic.del:hover{border-color:var(--out);color:var(--out)}.desc-cell{max-width:340px}.desc-cell .d{font-weight:500}.desc-cell .i{font-size:11px;color:var(--faint)}.desc-cell.editable{cursor:pointer}.desc-cell.editable:hover .d{color:var(--gold);text-decoration:underline;text-underline-offset:2px}.notes{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.35;white-space:normal}.reconcile-sum{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px;padding:10px 12px;background:var(--panel-2);border-radius:10px;font-size:13px}.reconcile-sum .rs{font-weight:600}.reconcile-sum .rs.ok{color:var(--in)}.reconcile-sum .rs.miss{color:var(--gold)}.reconcile-sum .rs.pend{color:var(--amber)}.reconcile-sum .rs.extra{color:var(--out)}.anexbadge{display:inline-block;margin-top:4px;font-size:11px;color:var(--violet);background:rgba(124,58,237,.12);border:1px solid rgba(124,58,237,.3);border-radius:20px;padding:1px 8px;cursor:pointer;font-weight:600}.anexo-card{border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center;background:var(--panel-2)}.anexo-card a{display:block}.anexo-card img{width:100%;object-fit:cover;background:var(--panel)}.anexo-card img,.anexo-file{height:90px;border-radius:6px}.anexo-file{display:grid;place-items:center;font-size:34px;background:var(--panel)}.anexo-name{font-size:11px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flash{display:flex;gap:8px;background:var(--in-dim);border:1px solid rgba(5,150,105,.35);color:#047857;padding:10px 14px;border-radius:10px;margin-bottom:14px;font-weight:600;font-size:13px}.flash,.ov{align-items:center}.ov{position:fixed;inset:0;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:none;justify-content:center;z-index:50;padding:20px}.ov.show{display:flex}.modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:520px;max-width:100%;box-shadow:0 30px 70px -20px rgba(20,30,50,.35);max-height:92vh;overflow:auto}.modal .mh{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal .mh h3{font-family:Fraunces,serif;font-size:19px;font-weight:600}.modal .mb{padding:22px;display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.modal .mb .full{grid-column:1/3}.modal .mf{padding:16px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.seg{display:flex;gap:8px}.seg button{flex:1 1;padding:9px;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);border-radius:9px}.seg button.on{border-color:var(--gold);color:var(--gold);background:rgba(37,99,235,.1)}.close{font-size:20px;color:var(--muted);background:none;width:32px;height:32px;border-radius:8px}.close:hover{color:var(--ink);background:var(--panel-2)}.empty{padding:50px;text-align:center;color:var(--faint)}.legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-top:10px;justify-content:center;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.section-title{font-family:Fraunces,serif;font-weight:600;font-size:20px;margin:4px 0 16px}.muted{color:var(--muted)}.foot{margin-top:26px;color:var(--faint);font-size:12px;text-align:center;line-height:1.7}@media(max-width:980px){.kpis{grid-template-columns:repeat(2,1fr)}.charts,.charts-2,.modal .mb{grid-template-columns:1fr}.modal .mb .full{grid-column:1}}@media(max-width:640px){.wrap{padding:16px 12px 48px}input[type=date],input[type=month],input[type=number],input[type=text],select,textarea{font-size:16px;min-width:0}.field.search input{min-width:0}.field.search,.filters .field{flex:1 1 46%}.kpis{grid-template-columns:1fr 1fr}.ic{width:38px;height:38px;font-size:16px}.rowbtns{gap:8px}.subtabs{gap:5px}.subtabs button{font-size:12px;padding:8px 10px}.ov{padding:8px;align-items:flex-start}.modal{margin-top:6px}.modal .mb,.modal .mf,.modal .mh{padding-left:16px;padding-right:16px}}