:root{--bg:#f5f6f8;--surface:#fff;--border:#d9dce1;--text:#1c1f24;--text-muted:#6b7280;--accent:#2f6feb;--accent-contrast:#fff;--error-bg:#fdeceb;--error-border:#e5534b;--error-text:#8a1f16;--success-text:#1a7f4e;--status-good:#0ca30c;--status-warning:#fab219;--status-critical:#d03b3b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#14161a;--surface:#1b1e24;--border:#2e333c;--text:#e6e8eb;--text-muted:#9aa1ac;--accent:#5b9dff;--accent-contrast:#0b1220;--error-bg:#3a1c1c;--error-border:#e5534b;--error-text:#ffb4ac;--success-text:#5fd39b;--status-good:#0ca30c;--status-warning:#fab219;--status-critical:#d03b3b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{max-width:960px;margin:0 auto;padding:16px}.site-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.site-header__brand{color:var(--accent);white-space:nowrap;font-size:15px;font-weight:700;text-decoration:none}.site-header__brand:hover{text-decoration:underline}.site-header__divider{color:var(--text-muted);font-weight:400}.site-header__title{color:var(--text-muted);white-space:nowrap;font-size:15px;font-weight:600}.toolbar-spacer{flex:1}.btn,.toggle-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.btn:hover,.toggle-btn:hover{border-color:var(--accent)}.btn.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn.btn--danger{border-color:var(--error-border);color:var(--error-text)}.icon-btn{padding:6px 10px}.nav-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.nav-tabs__tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px;font-size:14px;font-weight:500}.nav-tabs__tab:hover{color:var(--text)}.nav-tabs__tab--active{color:var(--accent);border-bottom-color:var(--accent)}.view{flex-direction:column;gap:16px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.panel__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel__header h2{margin:0;font-size:16px}.empty-state{color:var(--text-muted);text-align:center;padding:16px 0;font-size:14px}.form{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;margin-bottom:12px;padding:12px;display:flex}.form__field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.form__field input,.form__field select{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:7px 9px;font-size:14px}.form__actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.category-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.category-list__item{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.category-list__name{flex:1;min-width:100px;font-weight:600}.category-list__budget{color:var(--text-muted);font-size:13px}.category-list__actions{gap:6px;margin-left:auto;display:flex}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600}.badge--income{background:var(--success-text);color:var(--accent-contrast)}.badge--expense{background:var(--text-muted);color:var(--accent-contrast)}.dialog-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;max-width:400px;padding:20px}.dialog h3{margin:0 0 8px}.dialog p{color:var(--text-muted);margin:0 0 16px;font-size:14px}.dialog__actions{justify-content:flex-end;gap:8px;display:flex}.filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.filters__month{align-items:center;gap:8px;display:flex}.filters__month-label{text-align:center;min-width:130px;font-weight:600}.filters__category{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 9px;font-size:13px}.transaction-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.transaction-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:90px 1fr 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:grid}.transaction-row__date{color:var(--text-muted)}.transaction-row__note{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transaction-row__amount{text-align:right;font-weight:600}.transaction-row__amount--income{color:var(--success-text)}.transaction-row__amount--expense{color:var(--text)}.transaction-row__actions{gap:6px;display:flex}.transaction-row__source-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.meter{flex-direction:column;gap:4px;display:flex}.meter__track{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.meter__fill{border-radius:4px;height:100%}.meter__fill--accent{background:var(--accent)}.meter__fill--good{background:var(--status-good)}.meter__fill--warning{background:var(--status-warning)}.meter__fill--critical{background:var(--status-critical)}.meter__label{color:var(--text-muted);font-size:12px}.status-badge{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.status-badge__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-badge__dot--good{background:var(--status-good)}.status-badge__dot--warning{background:var(--status-warning)}.status-badge__dot--critical{background:var(--status-critical)}.stat-tiles{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.stat-tile__label{color:var(--text-muted);font-size:13px}.stat-tile__value{color:var(--text);font-size:22px;font-weight:600}@media (width<=640px){.stat-tiles{grid-template-columns:1fr}}.summary-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.summary-list__item{flex-direction:column;gap:4px;display:flex}.summary-list__row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;display:flex}.summary-list__name{color:var(--text);font-weight:600}.goal-card{flex-direction:column;align-items:stretch;gap:8px}.bill-row{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.bill-row__name{font-weight:600}.bill-row__due{color:var(--text-muted);font-size:12px}.settings-actions{flex-direction:column;gap:16px;display:flex}.settings-actions__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-actions__row strong{font-size:14px}.settings-actions__hint{color:var(--text-muted);margin:2px 0 0;font-size:12px}.settings-actions__error{color:var(--error-text);margin:4px 0 0;font-size:12px}@media (width<=640px){.transaction-row{grid-template-columns:1fr 1fr;grid-template-areas:"date amount""category actions""note note"}.transaction-row__date{grid-area:date}.transaction-row__category{grid-area:category}.transaction-row__note{white-space:normal;grid-area:note}.transaction-row__amount{grid-area:amount}.transaction-row__actions,.transaction-row__source-tag{grid-area:actions}}
