:root{--bg:#070a12;--text:#e7e9ee;--muted:rgba(231,233,238,.78);--card:#0f1424;--card2:#0b1020;--border:#253052;--border2:#1f263a;--link:#8db7ff;--accent:#1a2240;--btn-bg:#121a33;--btn-border:#2b3550;--input-bg:#0f1424;--pos:#22c55e;--neg:#ef4444;--pos-bg:rgba(34,197,94,.12);--neg-bg:rgba(239,68,68,.12);--ok-bg:rgba(34,197,94,.14);--ok-border:#22c55e;--warn-bg:rgba(245,158,11,.16);--warn-border:#f59e0b;--bad-bg:rgba(239,68,68,.14);--bad-border:#ef4444;--shadow: 0 12px 28px rgba(0,0,0,.35)}html[data-theme=light]{--bg:#f4f6fb;--text:#111827;--muted:rgba(17,24,39,.75);--card:#ffffff;--card2:#ffffff;--border:#cfd6ea;--border2:#d9def0;--link:#1d4ed8;--accent:#e9eefb;--btn-bg:#ffffff;--btn-border:#c9d0e7;--input-bg:#ffffff;--ok-bg:#ecfdf5;--ok-border:#16a34a;--pos:#16a34a;--neg:#dc2626;--pos-bg:#ecfdf5;--neg-bg:#fef2f2;--warn-bg:#fff7e6;--warn-border:#d97706;--bad-bg:#fef2f2;--bad-border:#dc2626;--shadow: 0 10px 22px rgba(17,24,39,.1)}html{color-scheme:dark}html[data-theme=light]{color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--link)}input[type=date]{padding-right:44px!important;width:100%}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.9}.reportFilters{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:end}.reportActions{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));align-items:stretch}.reportActions>button{width:100%}.btnSm{font-size:13px!important;padding:8px 10px!important;border-radius:12px;height:34px}.catDesc{margin-top:2px;font-size:12px;opacity:.82;line-height:1.25}.typeBadge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--btn-border);background:var(--card)}.typeBadge.income{border-color:var(--ok-border);background:var(--ok-bg);color:var(--ok-border)}.typeBadge.expense{border-color:var(--bad-border);background:var(--bad-bg);color:var(--bad-border)}.dashTop{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:14px}.dashLabel{color:var(--muted);font-size:14px;margin-bottom:6px}.dashValue{font-size:26px;font-weight:900}
