@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color: #0d0e12;--surface-color: #16181d;--surface-hover: #1f2229;--accent-color: #7c3aed;--accent-glow: rgba(124, 58, 237, .4);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--border-color: rgba(255, 255, 255, .08);--glass-bg: rgba(22, 24, 29, .7);--glass-border: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{background-color:var(--bg-color);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em}.glass{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px}.card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s}.card:hover{background-color:var(--surface-hover)}.text-gradient{background:linear-gradient(135deg,#a78bfa,#7c3aed);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.label-small{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}button{cursor:pointer;border:none;border-radius:8px;font-weight:500;transition:all .2s}.btn-primary{background:var(--accent-color);color:#fff;padding:.75rem 1.5rem;box-shadow:0 0 15px var(--accent-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 25px var(--accent-glow)}.btn-secondary{background:#ffffff0f;color:var(--text-primary);border:1px solid var(--border-color);padding:.55rem .8rem}.btn-secondary:hover{background:#ffffff1a}.settings-accordion-trigger{width:100%;background:transparent;border:1px solid var(--border-color);border-radius:10px;padding:.65rem .8rem;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center}.settings-accordion-content{max-height:0;opacity:0;overflow:hidden;transition:max-height .22s ease,opacity .22s ease}.settings-accordion-content.is-open{max-height:1800px;opacity:1;margin-top:.65rem}.settings-confirm-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.settings-confirm-modal{width:min(520px,100%);background:var(--surface-color);border:1px solid var(--border-color);border-radius:14px;padding:1rem}.settings-view .card{padding:1rem}.settings-tabs{overflow-x:auto;scrollbar-width:thin}.settings-tabs button{white-space:nowrap}.settings-item-row{gap:.7rem}.settings-item-actions{flex-wrap:wrap}.settings-item-actions button{min-height:34px}.settings-account-row strong,.settings-card-item strong,.settings-category-row span,.settings-user-row strong{overflow-wrap:anywhere}.account-summary-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-summary-amount{white-space:nowrap;text-align:right;justify-self:end;font-variant-numeric:tabular-nums}.btn-danger{background:var(--danger);box-shadow:none}.btn-secondary-active{border-color:var(--accent-color);color:var(--accent-color)}.btn-link-quiet{background:transparent;color:var(--accent-color);border:none;font-size:.78rem;padding:0;text-decoration:underline;text-underline-offset:2px}.btn-link-quiet:hover{opacity:.9}.badge{padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-success{background:#10b9811a;color:var(--success)}.badge-danger{background:#ef44441a;color:var(--danger)}.badge-warning{background:#f59e0b1a;color:var(--warning)}.badge-neutral{background:#94a3b824;color:#cbd5e1}.link-like-btn{background:none;border:none;color:var(--accent-color);font-size:.78rem;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.budget-card{display:block!important;padding:1rem;border-radius:16px;background:var(--surface-color);border:1px solid var(--border-color)}.budget-card--deficit{border-color:#ef444459;box-shadow:inset 3px 0 #ef444473}.budget-emoji{font-size:1.35rem;background:#ffffff0d;border-radius:10px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center}.budget-tag-fixed{font-size:.65rem;color:var(--accent-color);border:1px solid var(--accent-color);border-radius:999px;padding:.05rem .45rem}.budget-muted-line{font-size:.75rem;color:var(--text-secondary)}.budget-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.55rem}.budget-available-block{border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:.55rem .7rem;margin-bottom:.55rem}.budget-available-label{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.budget-available-value{margin:.1rem 0 0;font-size:1.2rem;line-height:1.25;font-weight:700;font-variant-numeric:tabular-nums}.budget-available-block.available--positive .budget-available-value{color:var(--success)}.budget-available-block.available--negative .budget-available-value{color:var(--danger)}.budget-available-block.available--zero .budget-available-value{color:#cbd5e1}.budget-secondary-lines{display:grid;gap:.4rem}.budget-input-line{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.budget-progress{position:relative;height:7px;border-radius:999px;background:#ffffff14;overflow:hidden;margin-bottom:.55rem}.budget-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#10b981e6,#7c3aedd9)}.budget-progress-overrun-marker{position:absolute;right:0;top:0;width:4px;height:100%;background:var(--danger)}.budget-deficit-line{margin-top:.45rem;font-size:.8rem;color:#fca5a5;font-weight:600}.budget-summary-strip{margin-top:.8rem;font-size:.8rem;color:#e2e8f0;background:#1e293b73;border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:.55rem .7rem}.budget-deficit-dot{color:var(--danger);font-size:1.1rem;line-height:1;opacity:.8}.budget-covered-feedback{font-size:.75rem;color:var(--success);font-weight:600}.spend-micro-grid{margin-top:.8rem;display:grid;gap:.5rem}.spend-micro-title{margin:0 0 .1rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--text-muted)}.spend-chip{width:100%;border:1px solid var(--border-color);border-radius:12px;padding:.5rem .62rem;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;gap:.8rem;text-align:left;background:#ffffff08}.spend-chip--yesterday{background:linear-gradient(135deg,#1e40af1a,#7c3aed14)}.spend-chip--today{background:linear-gradient(135deg,#7c3aed1a,#22c55e14)}.spend-chip:hover{border-color:#a78bfa8c}.spend-chip-main{min-width:0;display:grid;gap:.22rem}.spend-chip-label{font-size:.8rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spend-chip-meta-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.spend-chip-sub-pill{font-size:.62rem;font-weight:650;color:#cbd5e1;border:1px solid rgba(148,163,184,.35);background:#0f172a73;padding:.08rem .38rem;border-radius:999px;letter-spacing:.01em}.spend-chip-amount{font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums;padding:.12rem .38rem;border-radius:999px;background:#0f172a73;border:1px solid rgba(148,163,184,.25)}.spend-chip-amount--positive{color:#cbd5e1}.spend-chip-amount--zero{color:#94a3b8}.spend-chip-amount--negative{color:var(--danger)}.spend-chip-caret{color:var(--text-secondary);font-size:.86rem}.spend-chip-secondary{font-size:.72rem;color:var(--text-secondary);font-weight:600}.spend-chip-emphasis{margin-top:.1rem;font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums}.status-badge{font-size:.62rem;font-weight:700;margin-top:0;padding:.08rem .4rem;border-radius:999px;border:1px solid transparent;display:inline-flex;align-items:center}.status-badge--success{color:#86efac;background:#10b98129;border-color:#10b98159}.status-badge--warning{color:#fde68a;background:#f59e0b29;border-color:#f59e0b61}.status-badge--high{color:#fdba74;background:#f9731629;border-color:#f9731659}.status-badge--danger{color:#fca5a5;background:#ef444424;border-color:#ef444459}.spend-chip-emphasis.status-badge--success{color:#86efac}.spend-chip-emphasis.status-badge--warning{color:#fde68a}.spend-chip-emphasis.status-badge--high{color:#fdba74}.spend-chip-emphasis.status-badge--danger{color:#fca5a5}.daily-progress{margin-top:.2rem}.daily-progress__track{width:100%;height:7px;border-radius:999px;background:#ffffff14;position:relative;overflow:hidden}.daily-progress__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#10b981e6,#7c3aedd9)}.daily-progress__overrun{position:absolute;top:0;right:0;width:4px;height:100%;background:var(--danger)}.spend-chip-hint{font-size:.62rem;font-weight:700;margin-top:0;padding:.08rem .4rem;border-radius:999px;border:1px solid transparent}.spend-chip-hint--warning{color:#fcd34d;background:#f59e0b29;border-color:#f59e0b61}.spend-chip-hint--danger{color:#fca5a5;background:#ef444424;border-color:#ef444459}.spend-breakdown-list{display:grid;gap:.35rem;margin-top:-.15rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.45rem .55rem;background:#ffffff05}.spend-breakdown-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:.3rem}.spend-breakdown-item:last-child{border-bottom:none;padding-bottom:0}.spend-breakdown-empty{font-size:.78rem;color:var(--text-muted)}.monthly-forecast-panel{margin-top:.5rem;display:grid;gap:.45rem;background:#ffffff05;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:.62rem .7rem}.monthly-forecast-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:baseline}.monthly-forecast-label{font-size:.72rem;color:var(--text-muted);letter-spacing:.01em}.monthly-forecast-value{font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.monthly-forecast-value--neutral{color:#cbd5e1}.monthly-forecast-value--success{color:var(--success)}.monthly-forecast-value--danger{color:var(--danger)}.monthly-forecast-note{grid-column:1 / -1;font-size:.7rem;color:var(--text-secondary);margin-top:-.1rem}.monthly-forecast-tip{margin-top:.15rem;font-size:.74rem;color:var(--accent-color);font-weight:700;background:#7c3aed1f;border:1px solid rgba(124,58,237,.35);border-radius:9px;padding:.34rem .5rem}.monthly-forecast-tip--danger{color:#fca5a5;background:#ef44441a;border-color:#ef44444d}.monthly-forecast-disclaimer{font-size:.68rem;color:var(--text-muted)}.monthly-forecast-income-list{margin-top:.1rem;display:grid;gap:.18rem}.monthly-forecast-income-item{font-size:.7rem;color:var(--text-secondary)}.app-layout{display:flex;min-height:100vh;background:var(--bg-color)}.sidebar{width:260px;margin:1rem;padding:1.5rem;display:flex;flex-direction:column;gap:2rem;border-radius:24px;position:sticky;top:1rem;height:calc(100vh - 2rem);z-index:100}.main-content{flex:1;padding:2rem;display:flex;flex-direction:column;gap:2rem;overflow-y:auto;max-width:1400px;margin:0 auto;width:100%}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:70px;background:#16181de6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);z-index:1000;padding:0 1rem;justify-content:space-around;align-items:center}.nav-item{padding:.8rem 1.2rem;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:.8rem;font-weight:500;color:var(--text-secondary);transition:all .2s}.nav-item.active{background:#7c3aed1a;color:var(--accent-color)}.show-on-mobile{display:none}.mobile-add-transaction{position:fixed;right:1rem;bottom:82px;z-index:1002;border-radius:999px;padding:.7rem 1rem;box-shadow:0 10px 24px #00000059}.settings-account-create-grid{grid-template-columns:2fr 1fr auto}.settings-admin-create-grid{grid-template-columns:1.3fr 1fr 1fr .8fr auto}.settings-recurring-create-grid{grid-template-columns:1.3fr 1fr .7fr 1fr auto}.settings-recurring-income-create-grid{grid-template-columns:1.5fr 1fr .7fr auto}.transaction-dual-grid,.transaction-actions-row{grid-template-columns:1fr 1fr}.settings-recurring-item{gap:.75rem}.settings-recurring-main{display:flex;align-items:baseline;gap:.6rem;min-width:0}.settings-recurring-name{font-weight:600;overflow-wrap:anywhere}.settings-recurring-meta{color:var(--text-muted);font-size:.95rem}.settings-recurring-actions{flex-wrap:wrap;justify-content:flex-end}.transaction-modal-card input,.transaction-modal-card select,.transaction-modal-card button{min-height:42px}.transaction-modal-card select{color-scheme:dark}.transaction-modal-card select option,.transaction-modal-card select optgroup{color:#111827;background:#fff}@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1rem!important}.grid-2{grid-template-columns:1fr!important}}@media(max-width:1024px){.sidebar{width:200px}.settings-admin-create-grid,.settings-account-create-grid,.settings-recurring-create-grid,.settings-recurring-income-create-grid{grid-template-columns:1fr 1fr!important}.settings-tabs{gap:.45rem!important}.settings-tabs button{padding:.55rem .75rem!important;font-size:.86rem}.settings-item-row{align-items:flex-start!important}.settings-item-actions{width:100%;justify-content:flex-start}.transaction-modal-shell{align-items:flex-start!important;padding:1rem .5rem}.transaction-modal-card{width:min(96vw,740px)!important;max-height:94dvh!important;padding:1rem 1rem 6.25rem!important}.transaction-dual-grid,.transaction-actions-row{grid-template-columns:1fr!important}.settings-recurring-main{flex-direction:column;align-items:flex-start;gap:.1rem}}@media(max-width:768px){.app-layout{flex-direction:column}.sidebar{display:none}.main-content{padding:1.25rem;padding-bottom:100px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);height:70px;padding:0 .5rem;background:#0d0e12f2;border-top:1px solid rgba(255,255,255,.08)}.nav-item{flex-direction:column;justify-content:center;gap:4px;padding:0;border-radius:0;font-size:.7rem;color:var(--text-muted);min-height:56px}.nav-item.active{background:transparent;color:var(--accent-color)}.nav-item.active span:first-child{transform:scale(1.1);transition:transform .2s}.grid-2{grid-template-columns:1fr!important}.hide-on-mobile{display:none!important}.show-on-mobile{display:block!important}.mobile-add-transaction{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;min-width:108px;font-weight:700;font-size:.95rem}.settings-view{gap:.85rem!important}.settings-view h1{font-size:1.55rem!important}.settings-view .card{padding:.85rem;border-radius:14px}.settings-tabs{flex-wrap:nowrap!important;padding-bottom:.1rem}.settings-tabs button{flex:0 0 auto;min-height:40px;font-size:.82rem;padding:.5rem .72rem!important}.settings-accordion-trigger{padding:.65rem .68rem;min-height:46px;align-items:center;gap:.6rem}.settings-accordion-trigger h3{font-size:.98rem;line-height:1.2;text-align:left}.settings-accordion-content{margin-top:.55rem}.settings-view input,.settings-view select,.settings-view button{min-height:42px;font-size:16px}.settings-item-row{flex-direction:column;align-items:flex-start!important;padding:.7rem!important}.settings-item-actions{width:100%;justify-content:flex-start!important;gap:.35rem!important}.settings-item-actions button{min-height:34px!important;font-size:.82rem;padding:.35rem .5rem!important}.account-summary-row{grid-template-columns:minmax(0,1fr) max-content!important;gap:.35rem!important}.settings-toast{top:auto!important;right:.75rem!important;left:.75rem;bottom:82px;text-align:center}.card-list{display:flex;flex-direction:column;gap:.75rem}.card-item{background:var(--surface-color);padding:1rem;border-radius:16px;border:1px solid rgba(255,255,255,.03);display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}.mobile-clean-card{background:var(--surface-color);border-radius:16px;padding:1rem;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}header{flex-direction:column;align-items:flex-start!important;gap:1rem}header h1{font-size:1.75rem!important}header button{width:100%;padding:.9rem}table{display:none}.kpi-grid{grid-template-columns:1fr!important;gap:1rem!important}.transaction-modal-shell{align-items:flex-start!important;padding-top:.75rem}.transaction-modal-card{padding:1rem 1rem 6.25rem!important;border-radius:14px!important;width:min(96vw,96vw)!important;max-height:calc(100dvh - 1.25rem)!important}.transaction-dual-grid,.transaction-actions-row,.settings-account-create-grid,.settings-admin-create-grid,.settings-recurring-create-grid,.settings-recurring-income-create-grid{grid-template-columns:1fr!important}.transaction-description-row{flex-direction:column}.transaction-description-row button{width:100%;padding:.65rem!important}.settings-recurring-item{flex-direction:column;align-items:flex-start!important;gap:.55rem;padding:.75rem!important}.settings-recurring-actions{width:100%;justify-content:flex-start;gap:.4rem!important}.settings-recurring-actions button{min-height:34px;padding:.35rem .5rem!important;font-size:.78rem!important}.transaction-modal-card input,.transaction-modal-card select,.transaction-modal-card button{min-height:44px;font-size:16px}}@media(max-width:480px){.main-content{padding:1rem;padding-bottom:90px}.mobile-add-transaction{right:.75rem;bottom:78px;min-width:96px;padding:.65rem .85rem}.settings-tabs button{font-size:.78rem;padding:.45rem .65rem!important}.account-summary-row{grid-template-columns:minmax(0,1fr) max-content!important;gap:.3rem!important;align-items:center!important}.account-summary-amount{justify-self:end;font-size:.9rem}}@keyframes spin{to{transform:rotate(360deg)}}
