:root{--bg:#07090d;--panel:#0f131a;--panel-2:#141a23;--line:#1f2733;--txt:#d7dde6;--muted:#8a94a3;--amber:#f5a93b;--red:#e5534b;--green:#3fb96a;--blue:#5b9dd9;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--txt);font-family:var(--sans);font-size:15px;line-height:1.55;padding-bottom:80px}.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}h1{font-family:var(--mono);font-size:clamp(22px,4vw,32px);font-weight:700;line-height:1.15}h2{font-family:var(--mono);font-size:17px;font-weight:700;margin-bottom:4px}.sub{color:var(--muted);font-size:14px;max-width:780px}section{margin-top:48px}header{border-bottom:1px solid var(--line);padding:30px 0 24px;background:linear-gradient(180deg,#0b0f15 0%,var(--bg) 100%)}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:16px}@media (max-width:900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.kpis{grid-template-columns:1fr}}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 16px;min-width:0}.kpi .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .val{font-family:var(--mono);font-size:20px;font-weight:700;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .val.green{color:var(--green)}.kpi .val.amber{color:var(--amber)}.kpi .val.red{color:var(--red)}.kpi .note{font-size:11px;color:var(--muted)}.kpi .reserve-input{display:flex;align-items:baseline;gap:2px;min-width:0}.kpi .reserve-input input{width:100%;min-width:0;background:transparent;border:none;color:inherit;font:inherit;padding:0;outline:none}.kpi .reserve-input input:focus{background:#3fb96a1a;border-radius:4px}.note-box{font-size:13px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin-top:14px}.note-box b{color:var(--amber)}.alert-box{font-size:13px;color:var(--txt);background:#e5534b14;border:1px solid rgba(229,83,75,.35);border-radius:8px;padding:12px 16px;margin-top:14px}.alert-box b{color:var(--red)}.ok-box{font-size:13px;color:var(--txt);background:#3fb96a12;border:1px solid rgba(63,185,106,.3);border-radius:8px;padding:12px 16px;margin-top:14px}.ok-box b{color:var(--green)}.alloc{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:16px}.slice{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:14px;border-top:3px solid var(--amber)}.slice.lock{border-top-color:var(--green)}.slice .a-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.slice .a-val{font-family:var(--mono);font-size:20px;font-weight:700;margin:4px 0}.slice p{font-size:12.5px;color:var(--muted)}.grid-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin-top:18px;background:var(--panel)}.grid-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.grid-toolbar button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:6px;padding:5px 9px;cursor:pointer}.grid-toolbar button.active{background:var(--panel);color:var(--blue);border-color:var(--blue)}.grid-toolbar small{margin-left:8px;color:var(--muted)}table{border-collapse:collapse;min-width:920px;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0}th{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px;background:var(--panel-2);text-align:right}th.cat{text-align:left;position:sticky;left:0;background:var(--panel-2);z-index:3;min-width:215px}td.cat{position:sticky;left:0;background:var(--panel);z-index:2;padding:7px 12px;font-size:13px;min-width:215px}td.cat .obs{display:block;font-size:10.5px;color:var(--muted)}td.cat .cat-row{display:flex;align-items:center;gap:6px}td.cat .drag-handle{cursor:grab;color:var(--muted);font-size:14px;line-height:1;flex:none}td.cat .cat-name{flex:1;min-width:0;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--txt);font-size:13px;padding:3px 5px;outline:none}td.cat .cat-name:hover,td.cat .cat-name:focus{border-color:var(--line);background:var(--panel-2)}td.cat .cat-del{flex:none;background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:12px;padding:2px 4px;border-radius:4px}td.cat .cat-del:hover{color:var(--red);background:var(--panel-2)}td.cat .cat-obs{display:block;width:100%;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--muted);font-size:10.5px;padding:2px 5px;margin-top:2px;outline:none}td.cat .cat-obs:hover,td.cat .cat-obs:focus{border-color:var(--line);background:var(--panel-2)}tr.dragging{opacity:.4}tr.add-row td{padding:6px 12px;background:var(--panel)}.add-cat{background:transparent;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:12px;padding:5px 10px;cursor:pointer;width:100%}.add-cat:hover{border-color:var(--amber);color:var(--amber)}tr.grp td{background:var(--panel-2);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);padding:7px 12px;position:sticky;left:0}td.num{text-align:right}td.num input{width:100%;min-width:96px;background:transparent;border:none;color:var(--txt);font-family:var(--mono);font-size:13px;text-align:right;padding:7px 12px;outline:none}td.num input:focus{background:#f5a93b14}td.num input.zero{color:#3d4654}tr.total td{font-family:var(--mono);font-weight:700;padding:9px 12px;text-align:right;background:var(--panel-2);white-space:nowrap}tr.total td.cat{text-align:left}tr.total.entr td{color:var(--green)}tr.total.gasto td{color:var(--red)}tr.sub td{font-family:var(--mono);font-weight:700;padding:10px 12px;text-align:right;background:#10161f;font-size:14px;white-space:nowrap}tr.sub td.cat{text-align:left;color:var(--txt)}tr.acum td{font-family:var(--mono);font-weight:700;padding:12px;text-align:right;background:#0c1118;font-size:15px;border-top:2px solid var(--amber);white-space:nowrap}tr.acum td.cat{text-align:left;color:var(--amber)}.pos{color:var(--green)}.neg{color:var(--red)}.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--muted);align-items:center}button.reset{margin-top:14px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:12px;padding:8px 16px;border-radius:8px;cursor:pointer}button.reset:hover{color:var(--txt);border-color:var(--amber)}button.primary{margin-top:14px;margin-left:10px;background:#3fb96a1f;border:1px solid rgba(63,185,106,.4);color:var(--green);font-family:var(--mono);font-size:12px;padding:8px 16px;border-radius:8px;cursor:pointer}button.primary:hover{background:#3fb96a33}#saveStatus{font-family:var(--mono);font-size:11px;margin-left:12px;color:var(--green)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px}.rules{columns:2;column-gap:32px;font-size:13px;color:var(--muted);margin-top:14px}@media (max-width:700px){.rules{columns:1}}.rules li{margin-bottom:6px;break-inside:avoid}.rules li.hot{color:var(--red);font-weight:600}.task-list{list-style:none;margin-top:10px}.task-list li{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px;align-items:flex-start}.task-list li:last-child{border-bottom:none}.task-list li:before{content:"›";color:var(--amber);font-family:var(--mono);flex:none}.sev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:18px}.debt{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;border-left:3px solid var(--muted)}.debt.dead{opacity:.6;border-left-color:var(--green)}.debt.sev1{border-left-color:var(--red)}.debt.sev2{border-left-color:var(--amber)}.debt.sev3{border-left-color:var(--blue)}.debt.sev4{border-left-color:var(--green)}.debt .sev{font-family:var(--mono);font-size:10px;letter-spacing:.12em;padding:2px 8px;border-radius:4px;background:var(--panel-2);color:var(--muted)}.debt.dead .sev{color:var(--green)}.debt.sev1 .sev{color:var(--red)}.debt.sev2 .sev{color:var(--amber)}.debt.sev3 .sev{color:var(--blue)}.debt.sev4 .sev{color:var(--green)}.debt h3{font-size:15px;margin:10px 0 2px}.debt .amt{font-family:var(--mono);font-size:20px;font-weight:700}.debt .meta{font-size:12.5px;color:var(--muted);margin-top:6px}.debt .track{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);line-height:1.8}.debt .track b{color:var(--txt)}.debt-summary{margin-top:16px;padding:16px 18px;background:linear-gradient(135deg,#f5a93b1c,#5b9dd912);border:1px solid rgba(245,169,59,.35);border-radius:10px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.debt-summary-label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.debt-summary strong{font-family:var(--mono);font-size:25px;color:var(--amber)}.debt-summary-meta{font-family:var(--mono);font-size:11px;color:var(--muted)}.debt-summary p{flex-basis:100%;font-size:12px;color:var(--muted)}.debt-calculated{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline}.debt-calculated span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.debt-calculated b{font-family:var(--mono);font-size:16px;color:var(--green)}.debt-calculated small{grid-column:1 / -1;color:var(--muted);font-size:11px}.payment-box{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}.payment-form{display:flex;gap:6px;align-items:center;margin-top:7px;flex-wrap:wrap}.payment-form input{min-width:0;flex:1}.payment-form button{border:1px solid var(--blue);background:transparent;color:var(--blue);border-radius:6px;padding:7px 10px;cursor:pointer}.payment-row{display:block;color:var(--muted);font-size:11px;margin-top:4px}.debt-alert{color:var(--amber)}.tot-line{margin-top:16px;padding:14px 18px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;font-family:var(--mono);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.tot-line b{color:var(--amber)}footer{margin-top:56px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:var(--muted);font-family:var(--mono)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:32px;max-width:360px;width:100%}.login-card h1{font-size:20px;margin-bottom:6px}.login-card .sub{margin-bottom:20px}.login-field{margin-bottom:14px}.login-field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.login-field input{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;color:var(--txt);font-family:var(--sans);font-size:14px;padding:10px 12px;outline:none}.login-field input:focus{border-color:var(--amber)}.login-error{color:var(--red);font-size:13px;margin-bottom:12px}.login-card button{width:100%;background:var(--amber);border:none;color:#0a0d12;font-weight:600;font-family:var(--sans);font-size:14px;padding:11px;border-radius:8px;cursor:pointer;margin-top:6px}.login-card button:disabled{opacity:.6;cursor:default}.scenario-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}.scenario-bar select{background:var(--panel-2);border:1px solid var(--line);color:var(--txt);font-family:var(--mono);font-size:13px;padding:9px 12px;border-radius:8px;outline:none;min-width:200px}.scenario-bar select:focus{border-color:var(--amber)}.scenario-bar button{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:12px;padding:9px 14px;border-radius:8px;cursor:pointer;white-space:nowrap}.scenario-bar button:hover{color:var(--txt);border-color:var(--amber)}.scenario-bar button.danger:hover{color:var(--red);border-color:var(--red)}.scenario-bar .logout{margin-left:auto}.tab-bar{display:flex;gap:8px;margin-top:24px;border-bottom:1px solid var(--line)}.tab-bar button{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-family:var(--mono);font-size:13px;padding:10px 4px;margin-bottom:-1px;cursor:pointer}.tab-bar button:hover{color:var(--txt)}.tab-bar button.active{color:var(--amber);border-bottom-color:var(--amber)}.status-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid var(--line)}.status-pill.seguro{color:var(--green);border-color:#3fb96a66;background:#3fb96a14}.status-pill.atencao{color:var(--amber);border-color:#f5a93b66;background:#f5a93b14}.status-pill.critico{color:var(--red);border-color:#e5534b66;background:#e5534b14}.bridge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}.bridge-card{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:16px}.bridge-card h3{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin-bottom:10px}.bridge-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;color:var(--muted)}.bridge-row b{color:var(--txt);font-family:var(--mono)}.bridge-row.total{border-top:1px dashed var(--line);margin-top:6px;padding-top:8px;font-size:14px}.bridge-row.total b{font-size:15px}.bridge-field{margin-top:10px}.bridge-field label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.bridge-field input{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--txt);font-family:var(--mono);font-size:13px;padding:7px 10px;outline:none}.bridge-field input:focus{border-color:var(--amber)}.bridge-card .month-label{width:100%;background:transparent;border:1px solid transparent;border-radius:4px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin-bottom:10px;padding:3px 5px;outline:none}.bridge-card .month-label:hover,.bridge-card .month-label:focus{border-color:var(--line);background:var(--panel)}.bridge-card-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.bridge-card-actions button{background:transparent;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:11px;padding:5px 10px;cursor:pointer}.bridge-card-actions button:hover{border-color:var(--amber);color:var(--amber)}.month-head{display:flex;align-items:center;justify-content:flex-end;min-height:30px}.month-label-row{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%}.month-head .month-name{width:100%;min-width:0;text-align:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--txt);font-family:var(--mono);font-size:12px;text-transform:uppercase;padding:3px 5px;outline:none}.month-head .month-name:hover,.month-head .month-name:focus{border-color:var(--line);background:var(--panel)}.month-actions{display:flex;gap:4px}.month-actions button{background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--muted);cursor:pointer;font-size:11px;padding:1px 6px;line-height:1.4}.month-actions button:hover{color:var(--amber);border-color:var(--amber)}.debt-edit{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.debt-edit .span2{grid-column:1 / -1}.debt-edit label{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.debt-edit input,.debt-edit select,.debt-edit textarea{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--txt);font-family:var(--sans);font-size:12.5px;padding:6px 8px;outline:none;resize:vertical}.debt-edit input:focus,.debt-edit select:focus,.debt-edit textarea:focus{border-color:var(--amber)}.debt-status{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:4px;margin-left:8px}.debt-status.ativa{color:var(--amber);background:#f5a93b1a}.debt-status.quitada{color:var(--green);background:#3fb96a1a}.debt-status.monitorar{color:var(--blue);background:#5b9dd91a}.debt-head{display:flex;justify-content:flex-end}.debt-del{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:11px;font-family:var(--mono);padding:2px 4px;border-radius:4px}.debt-del:hover{color:var(--red);background:var(--panel-2)}.text-edit{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:14px;border-top:1px dashed var(--line)}.text-edit .field.span2{grid-column:1 / -1}.text-edit label{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.text-edit input,.text-edit textarea{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--txt);font-family:var(--sans);font-size:12.5px;padding:6px 8px;outline:none;resize:vertical}.text-edit input:focus,.text-edit textarea:focus{border-color:var(--amber)}.edit-list{margin-top:6px}.edit-list-item{display:flex;gap:8px;align-items:flex-start;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.edit-list-item textarea,.edit-list-item .text-edit{flex:1}.edit-list-item .text-edit{margin-top:0;padding-top:0;border-top:none}.edit-list-item textarea{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--txt);font-family:var(--sans);font-size:12.5px;padding:6px 8px;outline:none;resize:vertical}.edit-list-item textarea:focus{border-color:var(--amber)}.row-actions{display:flex;flex-direction:column;gap:4px;flex:none}.row-actions button{background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--muted);cursor:pointer;font-size:11px;padding:2px 6px;line-height:1.4}.row-actions button:hover:not(:disabled){color:var(--txt);border-color:var(--amber)}.row-actions button:disabled{opacity:.3;cursor:default}.hot-toggle{display:flex;align-items:center;gap:3px;font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);cursor:pointer;white-space:nowrap}.hot-toggle input[type=checkbox]{margin:0;cursor:pointer}.edit-list>.add-cat{margin-top:8px}.backup-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:40px}.backup-bar input[type=file]{display:none}.loading{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--muted);font-family:var(--mono)}.toast{position:fixed;bottom:20px;right:20px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 18px;font-size:13px;z-index:50}.toast.error{border-color:#e5534b80;color:var(--red)}.toast.success{border-color:#3fb96a80;color:var(--green)}:root{color-scheme:dark;--bg:#0b1014;--panel:#121a20;--panel-2:#182229;--line:#27333c;--txt:#e9eff2;--muted:#94a5b0;--green:#6dddb2;--blue:#8cbcf2;--red:#ff888c;--amber:#eac083;--sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif}body{background:radial-gradient(ellipse at 8% 0%,rgba(76,169,137,.07),transparent 35%),var(--bg);font-size:14px;line-height:1.6;padding-bottom:48px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,input,select{transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green)!important;outline-offset:3px}button:disabled{opacity:.38;cursor:not-allowed}.wrap{max-width:1480px;padding:0 40px}header{padding:30px 0 26px;background:transparent;border-color:#94a5b021}.app-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand-lockup{display:flex;gap:15px;align-items:center}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid #355148;border-radius:15px;background:linear-gradient(145deg,#243d34,#14221e);color:var(--green);box-shadow:0 8px 24px #0002}.brand-mark svg{width:27px;height:27px}.brand-kicker{color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.17em;margin-bottom:4px}h1{font-family:var(--sans);font-size:28px;font-weight:600;letter-spacing:-1px}h1 span,.mint-dot{color:var(--green)}.header-caption{text-align:right;font-size:12px;color:var(--txt);line-height:1.7}.header-caption span{color:var(--muted)}h2{font-family:var(--sans);font-size:23px;font-weight:500;letter-spacing:-.5px}.eyebrow{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--muted);margin-bottom:5px}section{margin-top:36px}.scenario-bar{gap:7px;margin-top:22px}.scenario-bar select{min-width:235px;margin-right:8px;font-family:var(--sans);font-size:13px;background:var(--panel);border-color:#34434e;padding:10px 35px 10px 13px;border-radius:10px;font-weight:500}.scenario-bar button{font-family:var(--sans);font-size:12px;background:transparent;border-color:transparent;padding:9px 11px;color:var(--muted)}.scenario-bar button:hover:not(:disabled){background:var(--panel-2);border-color:var(--line);color:var(--txt)}.scenario-bar .logout{border-color:var(--line);padding-inline:17px}.tab-bar{gap:4px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#10171c;width:fit-content;margin-top:24px}.tab-bar button{border:0;border-radius:8px;margin:0;padding:9px 20px;font-family:var(--sans);font-size:13px;font-weight:500;text-transform:capitalize}.tab-bar button.active{color:var(--green);background:#21332e;box-shadow:0 1px 5px #0003}.kpis{gap:12px;margin-top:20px}.kpi{position:relative;padding:20px 18px;border-radius:15px;background:linear-gradient(150deg,#192329,#121a20 90%);border-color:#2a373f;min-height:133px;box-shadow:0 6px 20px #00000012}.kpi:first-child{background:linear-gradient(130deg,#1a332c,#14231f);border-color:#36584b}.kpi:first-child:before{content:"";position:absolute;left:18px;right:18px;top:0;height:2px;background:linear-gradient(90deg,var(--green),transparent)}.kpi .lbl{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:none;white-space:normal;overflow:visible;min-height:32px;line-height:1.4;color:#b5c2ca}.kpi .val{font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:clamp(20px,1.75vw,29px);font-weight:600;letter-spacing:-.7px;margin-top:7px;overflow:visible}.kpi .note{margin-top:5px;font-size:11px}.status-pill{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:none;padding:6px 11px;border:1px solid;line-height:1.5}.status-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.alert-box{font-size:12px;padding:12px 15px;background:#251b20;border:1px solid #51313a;border-radius:11px;color:#d1b6bd}.alert-box b{font-weight:500;color:#ffb0b1}.grid-wrap{margin-top:18px;border-radius:15px;background:var(--panel);border-color:#2b3942;box-shadow:0 10px 40px #00000018;scrollbar-color:#42584f #121a20;scrollbar-width:thin}table{min-width:960px;font-size:13px}th,td{border-right-color:#8ba2b114;border-bottom-color:#8ba2b11c}th{height:65px;background:#1a252d;padding:12px;color:#abbcc7}th.cat{background:#1a252d;font-family:var(--sans);font-size:11px;letter-spacing:.04em;padding-left:22px;min-width:250px;width:250px}td.cat{background:#121a20;min-width:250px;width:250px;padding:9px 14px}.cat-row{min-height:27px}td.cat .cat-name{font-family:var(--sans);font-size:13px;color:#d6e0e6;padding-block:4px}td.cat .cat-obs{font-size:10px;color:#8295a2}.cat-obs::placeholder{color:#71838e}td.cat .drag-handle{color:#738693}td.cat .cat-del{opacity:.35}tr:hover .cat-del,tr:focus-within .cat-del{opacity:1}td.num input{font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:14px;padding:15px 17px;min-width:118px;color:#d5e1e8}td.num input.zero{color:#708390}td.num input:hover{background:#ffffff04}td.num input:focus{background:#6dddb210;box-shadow:inset 0 0 0 1px #6dddb250}tr:hover td.num{background:#ffffff02}tr.grp td{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.12em;padding:9px 21px;color:#a3b7c5;background:#182229}.month-head .month-name{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.06em;text-align:right;padding:7px}.month-actions button{border-color:#34464f;width:26px;height:28px;border-radius:7px;color:#a3bac8;font-size:14px;padding:0}.month-actions button:hover{color:var(--green);border-color:var(--green);background:#6dddb20d}tr.add-row td{padding:8px 14px}.add-cat{font-family:var(--sans);font-size:11px;border:1px dashed #35454f;padding:8px;color:#9aafbd;border-radius:7px}.add-cat:hover{border-color:var(--green);color:var(--green);background:#6dddb206}tr.total td,tr.sub td,tr.acum td{font-family:var(--sans);font-variant-numeric:tabular-nums;font-weight:600;padding:14px 17px;font-size:14px}tr.total td{background:#172128}tr.total td.cat,tr.sub td.cat,tr.acum td.cat{padding-left:23px}tr.sub td{background:#162129}tr.acum td{background:#142820;border-top:1px solid #416853;font-size:15px;padding-block:18px}tr.acum td.cat{color:var(--green);font-size:12px;letter-spacing:.035em}.legend{font-size:11px;line-height:1.8;margin:15px 2px 3px;color:#a1b2be}.legend b{font-weight:500}#saveStatus{font-family:var(--sans)}button.reset,button.primary{font-family:var(--sans);font-size:12px;font-weight:500;padding:10px 16px;border-radius:9px}.primary{box-shadow:0 4px 14px #0002}button.primary{background:#6dddb2;border-color:#6dddb2;color:#09231a}button.primary:hover{background:#96edca;color:#09231a}button.reset{background:#162027;color:#a9bbc7}button.reset:hover{border-color:#587065;color:var(--txt)}.sev-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin-top:24px}.debt{border-radius:15px;padding:20px;background:linear-gradient(145deg,#182229,#111a20);box-shadow:0 6px 25px #0002;border-left-width:2px}.debt-head{min-height:21px}.debt-del{font-family:var(--sans);font-size:11px;color:#93a6b3}.debt-edit{gap:14px;margin-top:14px}.debt-edit label{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:11px;color:#a1b4c1;margin-bottom:6px}.debt-edit input,.debt-edit select,.debt-edit textarea{background:#0f181e;border-color:#2d3b45;border-radius:8px;font-family:var(--sans);font-size:13px;padding:10px 11px;color:#e0e8ee}.debt-edit .span2 input{font-size:14px;font-weight:500}.debt-edit input:focus,.debt-edit select:focus{border-color:#6dddb2}.debt-summary{background:linear-gradient(120deg,#1c3029,#15221f 55%,#152129);border-color:#355346;border-radius:15px;padding:24px;gap:12px 24px}.debt-summary-label{font-family:var(--sans);font-size:11px;letter-spacing:.03em;text-transform:none;color:#aabbb3}.debt-summary strong{font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:34px;letter-spacing:-1px;color:var(--green);font-weight:600}.debt-summary-meta{font-family:var(--sans);font-size:12px}.debt-summary p{font-size:11px}.debt-calculated{margin-top:22px;padding-top:15px;border-top-style:solid}.debt-calculated span{font-family:var(--sans);font-size:11px;text-transform:none;letter-spacing:0}.debt-calculated b{font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:20px;font-weight:500}.debt-calculated small{font-size:11px;margin-top:6px}.backup-bar{margin-top:36px;padding-top:10px;border-top:1px solid var(--line)}.backup-bar button{font-size:11px}footer{font-family:var(--sans);font-size:10px;letter-spacing:.02em;color:#8b9da9;margin-top:24px;padding:16px 0 25px;border-color:#26343d}.toast{border-radius:12px;box-shadow:0 15px 50px #0007;padding:14px 20px;background:#19262d}.login-page{background:radial-gradient(ellipse at 50% 30%,#6dddb20b,transparent 65%)}.login-card{position:relative;max-width:430px;padding:38px;border-radius:22px;background:linear-gradient(150deg,#19282e,#111a20);border-color:#34463e;box-shadow:0 30px 100px #0005}.login-card:before{content:"";position:absolute;top:0;left:38px;right:38px;height:2px;background:linear-gradient(90deg,transparent,#6dddb2,transparent)}.login-card .eyebrow{color:var(--green);margin-bottom:20px}.login-card h1{font-size:30px;line-height:1.2;margin-bottom:12px}.login-card .sub{font-size:13px;margin-bottom:28px;color:#a0b2bf}.login-field{margin-bottom:19px}.login-field label{font-family:var(--sans);letter-spacing:0;text-transform:none;font-size:12px;color:#b6c6d0}.login-field input{background:#0e181f;border-color:#35464f;padding:12px;border-radius:9px}.login-card button{padding:13px;margin-top:8px;background:var(--green);color:#0d2b20;border-radius:9px}.login-card button:hover{background:#96edca}@media (min-width:1600px){.wrap{max-width:1560px}.kpi .val{font-size:30px}}@media (max-width:1200px){.wrap{padding:0 24px}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi .val{font-size:26px}.kpi .lbl{min-height:16px}.kpi{min-height:120px}.scenario-bar button{padding:8px}.header-caption{font-size:11px}}@media (max-width:760px){.wrap{padding:0 18px}header{padding:23px 0}.brand-mark{width:40px;height:40px;border-radius:12px}.brand-lockup{gap:11px}.brand-kicker{font-size:8px}h1{font-size:25px}.header-caption{display:none}.scenario-bar{gap:5px}.scenario-bar select{width:100%;margin:0 0 6px}.scenario-bar button{font-size:11px;padding:8px 9px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi:first-child{grid-column:1/-1;min-height:117px}.kpi:first-child .val{font-size:34px}.kpi{padding:16px;min-height:118px}.kpi .val{font-size:23px}.kpi .lbl{min-height:30px;font-size:11px}h2{font-size:21px}.sev-grid{grid-template-columns:minmax(0,1fr)}.debt{padding:18px}.debt-summary{padding:20px}.debt-summary strong{font-size:30px}.legend span{max-width:100%}th.cat,td.cat{min-width:180px;width:180px;max-width:180px}td.cat{padding:7px}td.cat .cat-name{font-size:12px}td.cat .cat-obs{font-size:10px}.debt-calculated{grid-template-columns:1fr}.login-card{padding:29px}.backup-bar{gap:5px}.backup-bar button{padding:8px}button.primary{margin-left:6px}.tab-bar{margin-top:19px}section{margin-top:30px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
