:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#f9f9f7;--surface-1:#fcfcfb;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--gridline:#e1e0d9;--axis-line:#c3c2b7;--border:#0b0b0b1a;--series-1:#2a78d6;--series-1-hover:#5598e7;--status-good:#0ca30c;--status-critical:#d03b3b;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#0d0d0d;--surface-1:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--gridline:#2c2c2a;--axis-line:#383835;--border:#ffffff1a;--series-1:#3987e5;--series-1-hover:#6da7ec;--status-good:#0ca30c;--status-critical:#e66767}}*{box-sizing:border-box}body{background:var(--page-bg);color:var(--text-primary);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit}main{flex-direction:column;gap:16px;max-width:960px;margin:0 auto;padding:12px 12px 48px;display:flex}form{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;max-width:360px;margin:64px auto;padding:24px;display:flex}form h1{margin:0}form p{color:var(--text-secondary);margin:0}form input{border:1px solid var(--axis-line);background:var(--surface-1);color:var(--text-primary);border-radius:8px;padding:10px 12px}form button{background:var(--series-1);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 12px;font-weight:600}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}header h1{margin:0;font-size:20px}header nav{align-items:center;gap:12px;display:flex}header nav button{border:1px solid var(--axis-line);background:var(--surface-1);width:32px;height:32px;color:var(--text-primary);cursor:pointer;border-radius:8px}header>button{border:1px solid var(--axis-line);background:var(--surface-1);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:6px 12px}[role=alert]{background:color-mix(in srgb, var(--status-critical) 12%, var(--surface-1));color:var(--status-critical);border-radius:8px;margin:0;padding:10px 12px;font-size:14px}.summary-cards{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=640px){.summary-cards{grid-template-columns:repeat(3,1fr)}}.summary-card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.summary-card__label{color:var(--text-secondary);font-size:13px}.summary-card__value{font-size:22px;font-weight:600}.summary-card--balance-positive .summary-card__value{color:var(--status-good)}.summary-card--balance-negative .summary-card__value{color:var(--status-critical)}.chart-card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:16px}.chart-card h2{color:var(--text-secondary);margin:0 0 12px;font-size:15px}.chart-empty{color:var(--text-muted);text-align:center;padding:24px 0;font-size:14px}.viz-tooltip{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px;box-shadow:0 4px 12px #0000001f}.viz-tooltip__label{color:var(--text-secondary);margin:0 0 2px}.viz-tooltip__value{color:var(--text-primary);margin:0;font-weight:600}.transaction-list{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:16px}.transaction-list h2{color:var(--text-secondary);margin:0 0 12px;font-size:15px}.transaction-list__scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--gridline);white-space:nowrap;padding:8px 10px}th{color:var(--text-muted);font-size:12px;font-weight:500}td.amount{font-variant-numeric:tabular-nums;text-align:right}td.amount.income{color:var(--status-good)}td.amount.expense{color:var(--status-critical)}.row-actions{gap:6px;display:flex}.row-actions button{border:1px solid var(--axis-line);background:var(--surface-1);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 10px}.edit-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.edit-form input,.edit-form select{border:1px solid var(--axis-line);background:var(--surface-1);color:var(--text-primary);border-radius:6px;padding:6px 8px}.edit-form input[type=number]{width:90px}.edit-form input[type=text]{width:120px}
