@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#050508;--bg-deep:#030308;--bg-sidebar:#060810e0;--bg-panel:#0a0c16b8;--bg-hover:#00e5ff0f;--border:#00e5ff1a;--border-glow:#00e5ff47;--border-subtle:#ffffff0a;--text:#eef2ff;--text-secondary:#94a3b8;--text-tertiary:#64748b;--neon-cyan:#00e5ff;--neon-cyan-dim:#00e5ff24;--neon-magenta:#ff2d95;--neon-magenta-dim:#ff2d9524;--accent:#0f8;--accent-dim:#00ff8824;--blue:#4d9fff;--blue-dim:#4d9fff24;--purple:#b84dff;--amber:#fc0;--rose:#f46;--rose-dim:#ff446624;--orange:#ff6b2b;--orange-dim:#ff6b2b24;--glow-cyan:0 0 24px #00e5ff40;--glow-green:0 0 20px #00ff884d;--glow-magenta:0 0 20px #ff2d9540;--radius:14px;--radius-sm:8px;--sidebar-w:200px;--sidebar-w-collapsed:60px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-deep);min-height:100vh;color:var(--text);background-image:radial-gradient(80% 50% at 15% -10%,#00e5ff17 0%,#0000 55%),radial-gradient(55% 40% at 95% 5%,#ff2d9512 0%,#0000 50%),radial-gradient(45% 35% at 50% 105%,#00ff880d 0%,#0000 50%);position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#00e5ff08 1px,#0000 1px),linear-gradient(90deg,#00e5ff08 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 20%,#0000 75%)}#root{z-index:1;min-height:100vh;position:relative}.mono{font-family:JetBrains Mono,monospace}.shell{min-height:100vh;display:flex}.shell-calendar{height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100vh;padding:18px 12px;transition:width .2s,padding .2s;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:4px 0 32px #00000059,inset -1px 0 #00e5ff0f}.sidebar-top{justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;display:flex}.sidebar-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.sidebar-toggle:hover{background:var(--neon-cyan-dim);color:var(--neon-cyan);box-shadow:var(--glow-cyan);border-color:#00e5ff4d}.sidebar-collapsed{width:var(--sidebar-w-collapsed);padding:18px 8px}.sidebar-collapsed .sidebar-top{flex-direction:column;gap:10px;margin-bottom:8px}.sidebar-collapsed .brand{text-align:center;width:100%;padding:0;font-size:11px}.sidebar-collapsed .sidebar-toggle{width:100%}.sidebar-collapsed .nav-item{justify-content:center;gap:0;padding:10px 8px}.sidebar-collapsed .nav-label{display:none}.sidebar-collapsed .sidebar-footer{justify-content:center;display:flex}.sidebar-collapsed .year-select{text-align:center;text-align-last:center;width:44px;padding:8px 4px;font-size:11px}.brand{letter-spacing:-.02em;background:linear-gradient(135deg, var(--neon-cyan) 0%, var(--neon-magenta) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 14px #00e5ff73);-webkit-background-clip:text;background-clip:text;flex:1;min-width:0;padding:6px 10px 16px;font-size:15px;font-weight:700}.nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;min-width:0;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-item:hover{background:var(--bg-hover);color:var(--neon-cyan)}.nav-item.active{background:var(--neon-cyan-dim);color:var(--neon-cyan);box-shadow:inset 0 0 0 1px #00e5ff38,0 0 16px #00e5ff1a}.sidebar-footer{border-top:1px solid var(--border);margin-top:10px;padding-top:14px}.year-select{background:var(--bg-panel);border:1px solid var(--border);width:100%;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;padding:8px 10px;font-family:inherit;font-size:13px}.year-select:focus{border-color:#00e5ff73;outline:none;box-shadow:0 0 0 3px #00e5ff1f}.main{flex:1;min-width:0;padding:20px 24px 28px}.main-calendar{flex-direction:column;flex:1;height:100vh;min-height:0;padding:12px 16px 16px;display:flex;overflow:hidden}.shell-calendar .sidebar{z-index:2}.hero-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.hero-metric .label{color:var(--text-tertiary);margin-bottom:4px;font-size:13px;font-weight:500}.hero-metric .value{letter-spacing:-.03em;background:linear-gradient(135deg, #fff 25%, var(--neon-cyan) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px #00e5ff33);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:700;line-height:1.1}.hero-metric .delta{color:var(--text-secondary);margin-top:4px;font-size:13px}.hero-metric .delta.positive{color:var(--accent);text-shadow:0 0 12px #0f86}.hero-metric .delta.warning{color:var(--amber);text-shadow:0 0 12px #ffcc0059}.hero-stats{flex-wrap:wrap;gap:20px;display:flex}.hero-stat{text-align:right}.hero-stat .label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:11px}.hero-stat .value{letter-spacing:-.01em;font-size:16px;font-weight:600}.hero-stat .value.accent{color:var(--accent);text-shadow:var(--glow-green)}.hero-stat .value.blue{color:var(--neon-cyan);text-shadow:var(--glow-cyan)}.hero-stat .value.amber{color:var(--amber);text-shadow:0 0 12px #ffcc0059}.grid-2{grid-template-columns:1.6fr 1fr;gap:10px;margin-bottom:10px;display:grid}.grid-2-equal{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dashboard-header{--dash-upcoming-w:400px;grid-template-columns:minmax(0, 1fr) var(--dash-upcoming-w);align-items:stretch;gap:10px;display:grid}.dashboard-stats{border:1px solid var(--border);border-left:3px solid var(--neon-cyan);background:#060812e6;border-radius:0;flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.dashboard-stats:before{content:"";pointer-events:none;background:repeating-linear-gradient(-55deg,#0000,#0000 28px,#00e5ff05 28px 29px);position:absolute;inset:0}.dash-hero{border-bottom:1px solid var(--border-subtle);padding:22px 28px 20px;position:relative}.dash-hero-top{align-items:center;gap:12px;margin-bottom:14px;display:flex}.dash-hero-year{color:var(--neon-cyan);letter-spacing:.12em;font-size:11px;font-weight:600}.dash-hero-divider{background:var(--border);width:24px;height:1px}.dash-hero-month{text-transform:uppercase;letter-spacing:.14em;color:var(--text-tertiary);font-size:11px;font-weight:600}.dash-hero-body{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.dash-hero-primary{flex-direction:column;gap:6px;min-width:0;display:flex}.dash-hero-tag{letter-spacing:.16em;color:var(--text-tertiary);font-size:10px;font-weight:700}.dash-hero-value{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(40px,5vw,58px);font-weight:700;line-height:.95}.dash-hero-value.accent{color:var(--accent);text-shadow:0 0 40px #00ff8859}.dash-hero-value.amber{color:var(--amber);text-shadow:0 0 32px #ffcc004d}.dash-hero-aside{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;padding-bottom:4px;display:flex}.dash-hero-delta{letter-spacing:-.02em;font-size:18px;font-weight:600}.dash-hero-delta.positive{color:var(--accent)}.dash-hero-delta.warning{color:var(--amber)}.dash-hero-delta-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);text-align:right;max-width:120px;font-size:10px;line-height:1.3}.dash-metrics{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.dash-metric{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-content:start;gap:2px 10px;padding:18px 22px;display:grid}.dash-metric:nth-child(3n){border-right:none}.dash-metric:nth-child(n+4){border-bottom:none}.dash-metric-idx{color:#00e5ff59;letter-spacing:.04em;grid-row:1/-1;align-self:start;padding-top:2px;font-size:10px;font-weight:500}.dash-metric-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-size:10px;font-weight:600}.dash-metric-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.1}.dash-metric-value.accent{color:var(--accent)}.dash-metric-value.blue{color:var(--neon-cyan)}.dash-metric-value.amber{color:var(--amber)}.dashboard-header>.upcoming-wrap-sidebar{width:100%;min-width:0;padding:0}.upcoming-section-sidebar{border:1px solid var(--border-subtle);border-top:2px solid var(--neon-magenta);text-align:left;box-sizing:border-box;background:#060812bf;border-radius:0;flex-direction:column;width:100%;max-width:none;height:100%;min-height:0;padding:12px 10px 10px;display:flex}.upcoming-section-sidebar .upcoming-section-head{margin-bottom:8px;padding:0 2px}.upcoming-section-sidebar .upcoming-section-label{letter-spacing:.14em;font-size:9px}.upcoming-section-sidebar .upcoming-section-meta{color:var(--neon-magenta);opacity:.7;font-size:10px}.upcoming-section-sidebar .upcoming-scroll{max-height:300px}.upcoming-section-sidebar .due-strip-compact{gap:3px}.upcoming-section-sidebar .due-card-compact{border-left-width:2px;border-radius:0;gap:5px;padding:5px 6px}.upcoming-section-sidebar .due-card-compact .due-name{font-size:12px}.upcoming-section-sidebar .due-card-compact .due-badge{border-radius:0;padding:1px 5px;font-size:9px}.upcoming-section-sidebar .due-card-compact .due-type-badge{display:none}.upcoming-section-sidebar .due-card-compact .due-check,.upcoming-section-sidebar .due-card-compact .due-income-check{border-radius:0;width:20px;height:20px}.upcoming-section-sidebar .due-card-compact .due-amount-wrap{border-radius:0;min-width:62px;padding:2px 4px}.upcoming-section-sidebar .due-card-compact .due-amount-input,.upcoming-section-sidebar .due-card-compact .due-amount-display{font-size:11px}.dashboard-header .upcoming-wrap{justify-content:stretch;width:100%;min-width:0;padding:0}.dashboard-header .upcoming-section{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.upcoming-section-scrollable{max-width:none;padding:14px 16px 12px}.upcoming-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.upcoming-section-head .upcoming-section-label{margin:0}.upcoming-section-meta{color:var(--text-tertiary);white-space:nowrap;font-size:11px}.upcoming-scroll{scrollbar-width:thin;scrollbar-color:#ff2d954d transparent;flex:1;min-height:0;max-height:340px;padding-right:2px;overflow:hidden auto}.upcoming-scroll::-webkit-scrollbar{width:3px}.upcoming-scroll::-webkit-scrollbar-thumb{background:#ff2d9559;border-radius:0}.upcoming-section-scrollable .due-strip{gap:6px}.upcoming-section-scrollable .due-card{border-radius:0;gap:10px;padding:10px 12px}.upcoming-section-scrollable .due-name{font-size:13px;font-weight:500}.upcoming-section-scrollable .due-badge{font-size:10px}.upcoming-section-scrollable .due-date{font-size:11px}.upcoming-section-scrollable .due-amount-input,.upcoming-section-scrollable .due-amount-display{font-size:13px}.upcoming-empty{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;padding:8px 2px;font-size:11px;display:flex}.dashboard-overview{flex-direction:column;gap:12px;display:flex}.dashboard-bento{grid-template-columns:repeat(12,1fr);align-items:stretch;gap:10px;display:grid}.dashboard-bento>*{min-width:0}.dashboard-bento .panel{border-color:var(--border-subtle);box-shadow:none;-webkit-backdrop-filter:none;border-radius:12px;padding:10px 12px}.dashboard-bento .panel:hover{box-shadow:none;border-color:#00e5ff2e}.dashboard-bento .panel-head{margin-bottom:8px}.dashboard-bento .panel-title{letter-spacing:.1em;color:var(--text-tertiary);font-size:10px;font-weight:600}.dashboard-bento .panel-sub{font-size:10px}.dash-panel{min-height:0}.dash-cell-trend{grid-column:1/9}.spending-comparison{flex-direction:column;gap:4px;min-height:0;display:flex}.spending-comparison-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.spending-comparison-title{color:var(--text-secondary);letter-spacing:-.01em;font-size:13px;font-weight:500}.spending-comparison-title .mono{color:var(--text-primary);font-weight:600}.spending-comparison-mode{color:var(--text-tertiary);white-space:nowrap;font-size:10px}.spending-comparison-legend{justify-content:center;gap:16px;margin-top:2px;display:flex}.spending-legend-item{color:var(--text-tertiary);align-items:center;gap:6px;font-size:10px;display:inline-flex}.spending-legend-swatch{border-radius:2px;width:14px;height:3px}.spending-legend-swatch.prev{background:#6b7280}.spending-legend-swatch.current{background:#ff6b2b}.dash-cell-month{grid-column:9/13}.dash-cell-net{grid-column:1/5}.dash-cell-income{grid-column:5/13}.dash-cell-budget{grid-column:1/4}.dash-cell-needs{grid-column:4/7}.dash-cell-cats{grid-column:7/10}.dash-cell-history{grid-column:10/13}.month-snapshot-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:2px;font-size:10px;font-weight:600}.month-snapshot-net{letter-spacing:-.02em;font-size:22px;font-weight:700;line-height:1.1}.month-snapshot-caption{color:var(--text-tertiary);margin-bottom:10px;font-size:10px}.month-snapshot-rows{border-top:1px solid var(--border-subtle);flex-direction:column;gap:6px;padding-top:8px;display:flex}.month-snapshot-row{color:var(--text-tertiary);justify-content:space-between;align-items:center;font-size:10px;display:flex}.month-snapshot-row span:last-child{color:var(--text);font-size:11px;font-weight:600}.dashboard-bento .budget-bars{gap:6px}.dashboard-bento .budget-bar-item label{margin-bottom:2px;font-size:10px}.dashboard-bento .budget-bar-track{height:4px}.dashboard-bento .cat-list{gap:4px}.dashboard-bento .cat-row{font-size:10px}.dashboard-bento .cat-amt{min-width:46px;font-size:9px}.dashboard-bento .cat-bar-wrap{width:48px}.dashboard-bento .history-list{gap:2px;max-height:132px;overflow-y:auto}.dashboard-bento .history-item{padding:4px 6px;font-size:10px}.dashboard-bento .history-item .change,.dashboard-bento .history-item .time{font-size:9px}.dash-cell-cats .cat-list{max-height:none;overflow:visible}.dash-cell-income .income-source-links{display:none}@media (width<=1100px){.grid-2,.grid-2-equal,.dashboard-header{grid-template-columns:1fr}.dashboard-bento{grid-template-columns:1fr;gap:10px}.dash-cell-trend,.dash-cell-month,.dash-cell-net,.dash-cell-income,.dash-cell-budget,.dash-cell-needs,.dash-cell-cats,.dash-cell-history{grid-column:1/-1}.dash-cell-month{order:-1}.dash-cell-income .income-source-links{display:flex}}@media (width<=700px){.shell{flex-direction:column}.shell-calendar{height:auto;overflow:visible}.sidebar{flex-flow:wrap;align-items:center;gap:6px;width:100%;height:auto;padding:10px;position:static}.sidebar-collapsed{width:100%;padding:10px}.sidebar-top{flex-direction:row;margin-bottom:0}.sidebar-collapsed .sidebar-top{flex-direction:row;gap:6px}.sidebar-collapsed .sidebar-toggle{width:30px}.sidebar-collapsed .nav-item{justify-content:flex-start;gap:10px;padding:10px 12px}.sidebar-collapsed .nav-label{display:inline}.sidebar-collapsed .year-select{width:auto;padding:8px 10px;font-size:13px}.brand{padding:0 8px}.nav{flex-direction:row;flex:1}.sidebar-footer{border:none;margin:0;padding:0}.year-select{width:auto}.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-metric:nth-child(3n){border-right:1px solid var(--border-subtle)}.dash-metric:nth-child(2n){border-right:none}.dash-metric:nth-child(n+4){border-bottom:1px solid var(--border-subtle)}.dash-metric:nth-child(n+5){border-bottom:none}.dash-hero-body{flex-direction:column;align-items:flex-start;gap:12px}.dash-hero-aside{align-items:flex-start}.dash-hero-delta-label{text-align:left;max-width:none}.dash-metric{padding:14px 16px}.dash-metric-value{font-size:20px}.dashboard-header .upcoming-wrap-sidebar{width:100%}.upcoming-scroll{max-height:240px}}.panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .25s,box-shadow .25s;box-shadow:0 4px 28px #00000059,inset 0 1px #ffffff0a}.panel:hover{border-color:var(--border-glow);box-shadow:0 4px 28px #00000059,0 0 0 1px #00e5ff0f,inset 0 1px #ffffff0f}.panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-title{color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:13px;font-weight:600}.panel-sub{color:var(--text-tertiary);font-size:12px}.budget-bars{flex-direction:column;gap:8px;display:flex}.budget-bar-item label{color:var(--text-secondary);justify-content:space-between;margin-bottom:3px;font-size:11px;display:flex}.budget-bar-track{background:#ffffff0a;border-radius:99px;height:5px;overflow:hidden;box-shadow:inset 0 0 6px #0000004d}.budget-bar-fill{border-radius:99px;height:100%;transition:width .5s;box-shadow:0 0 10px}.budget-bar-fill.needs{background:var(--accent);color:#00ff8880}.budget-bar-fill.wants{background:var(--purple);color:#b84dff80}.budget-bar-fill.savings{background:var(--neon-cyan);color:#00e5ff80}.budget-bar-fill.spent{background:var(--rose);color:#ff446680}.bills-table-wrap{margin:-4px -4px 0;overflow-x:auto}.bills-table{border-collapse:collapse;width:100%;font-size:13px}.bills-table th{text-align:left;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:500}.bills-table th.col-month{text-align:center;width:76px;min-width:76px;padding-left:6px;padding-right:6px}.bills-table td.col-month{text-align:center;vertical-align:middle;width:76px;min-width:76px;padding-left:6px;padding-right:6px}.bills-table td{border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:7px 10px}.bills-table tr:hover td{background:var(--bg-hover)}.bill-name{color:var(--text);font-size:13px;font-weight:600}.bill-name-btn{font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;padding:0;font-size:13px;font-weight:600;transition:color .1s}.bill-name-btn:hover{color:var(--neon-cyan);text-underline-offset:2px;text-shadow:0 0 8px #00e5ff66;text-decoration:underline}.bill-name-cell{align-items:center;gap:6px;min-width:0;display:flex}.bill-name-cell .bill-name-btn{flex:1;min-width:0}.bill-expand-btn{width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:inline-flex}.bill-expand-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.amount-cell.semi-monthly-total{cursor:pointer}.amount-cell.semi-monthly-total:hover{color:var(--blue)}.bill-archive-btn{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .1s,background .1s,color .1s;display:inline-flex}.bill-name-cell:hover .bill-archive-btn,.bill-archive-btn:focus-visible{opacity:1}.bill-archive-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-secondary)}.bill-archive-btn:disabled{opacity:.5;cursor:not-allowed}.bill-meta{color:var(--text-tertiary);font-size:12px}.badge{text-transform:uppercase;letter-spacing:.04em;text-align:center;border-radius:5px;min-width:44px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-block}.badge.paid{background:var(--accent-dim);color:var(--accent);box-shadow:0 0 10px #00ff8826}.badge.due{color:var(--amber);background:#ffcc001f;box-shadow:0 0 10px #ffcc001f}.badge.empty{color:var(--text-tertiary);background:#ffffff0a}.amount-cell{font-family:JetBrains Mono,monospace;font-size:12px}.amount-cell.has-value{color:var(--text)}.amount-cell.zero,.amount-cell.projected{color:var(--text-tertiary)}.amount-projected{color:var(--text-tertiary);opacity:.7}.amount-input-ghost-wrap{width:100%;height:100%;position:relative}.amount-input-ghost-wrap .due-amount-input{width:100%}.due-amount-input-wrap{flex:1;min-width:0}.due-amount-input-wrap .amount-ghost{justify-content:flex-start;padding:0;font-size:13px;font-weight:500}.amount-ghost{padding:inherit;color:var(--text-tertiary);opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.amount-input-ghost-wrap input{z-index:1;background:0 0;width:100%;position:relative}.amount-cell-wrap .amount-input-ghost-wrap .amount-ghost{padding:0 6px;font-size:12px;line-height:22px}.amount-cell-wrap.is-editing .cell-input{background:0 0}.amount-cell-wrap.is-editing .amount-input-ghost-wrap{position:absolute;inset:0}.amount-cell-wrap.is-editing .amount-input-ghost-wrap .cell-input{border:1px solid var(--neon-cyan);box-shadow:0 0 0 2px #00e5ff33, var(--glow-cyan);border-radius:4px;position:absolute;inset:0}.amount-cell-wrap{width:68px;height:24px;margin:0 auto;position:relative}.amount-cell-wrap.is-saving{opacity:.5}.amount-cell.editable{cursor:pointer;text-align:right;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;height:100%;padding:0 6px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:22px;transition:background .1s,color .1s;position:absolute;inset:0}.amount-cell.editable:hover{background:var(--neon-cyan-dim);color:var(--neon-cyan)}.cell-input{background:var(--bg-panel);border:1px solid var(--neon-cyan);width:100%;height:100%;color:var(--text);text-align:right;box-shadow:0 0 0 2px #00e5ff33, var(--glow-cyan);border-radius:4px;outline:none;padding:0 6px;font-size:12px;line-height:22px;position:absolute;inset:0}.badge-btn{cursor:pointer;border:none;font-family:inherit}.badge-btn:hover{filter:brightness(1.15)}.badge-btn:active{transform:none}.table-hint{color:var(--text-tertiary);margin-bottom:0;font-size:10px}.table-hint-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.heat-legend{align-items:center;gap:6px;display:flex}.heat-legend-item{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.amount-cell-wrap.heat-high{background:#ff446638;border-radius:4px;box-shadow:inset 0 0 0 1px #ff446659}.amount-cell-wrap.heat-high .amount-cell.has-value{color:#ff7a8f}.amount-cell-wrap.heat-elevated{background:#ff6b2b2e;border-radius:4px;box-shadow:inset 0 0 0 1px #ff6b2b4d}.amount-cell-wrap.heat-elevated .amount-cell.has-value{color:#ff9a5c}.amount-cell-wrap.heat-mild-low{background:#00ff881a;border-radius:4px}.amount-cell-wrap.heat-mild-low .amount-cell.has-value{color:#5dffb0}.amount-cell-wrap.heat-low{background:#0f83;border-radius:4px;box-shadow:inset 0 0 0 1px #00ff8859}.amount-cell-wrap.heat-low .amount-cell.has-value{color:var(--accent)}.heat-legend-item.heat-high{color:#ff7a8f;background:#ff446638}.heat-legend-item.heat-elevated{color:#ff9a5c;background:#ff6b2b2e}.heat-legend-item.heat-mild-low{color:#5dffb0;background:#00ff881a}.heat-legend-item.heat-low{color:var(--accent);background:#0f83}.bills-table .col-current{--current-col-border:#00e5ff73}.bills-table thead th.col-current{color:var(--neon-cyan);border-top:1px solid var(--current-col-border);border-left:1px solid var(--current-col-border);border-right:1px solid var(--current-col-border);font-weight:700}.bills-table tbody td.col-current{border-left:1px solid var(--current-col-border);border-right:1px solid var(--current-col-border)}.bills-table tbody tr.total-row td.col-current{border-bottom:1px solid var(--current-col-border)}.total-row td{border-top:1px solid var(--border);background:#ffffff05;font-size:10px;font-weight:600}.bills-panel{width:100%;max-width:100%;padding:12px 14px}.bills-panel .panel-head{margin-bottom:8px}.bills-panel .bills-table-wrap{width:100%;max-width:100%}.bills-panel .bills-table{table-layout:auto;width:100%;font-size:12px}.bills-panel .bills-table col.col-bill{width:.1%}.bills-panel .bills-table col.col-ytd{width:72px}.bills-panel .bills-table th{padding:6px 10px;font-size:10px}.bills-panel .bills-table td{padding:5px 10px}.bills-panel .bills-table th.col-bill,.bills-panel .bills-table td.col-bill{white-space:nowrap;vertical-align:middle;width:.1%;padding-right:10px}.bills-panel .bills-table th.col-ytd,.bills-panel .bills-table td.col-ytd{white-space:nowrap;padding-left:8px}.bills-panel .bills-table th.col-month,.bills-panel .bills-table td.col-month{min-width:0;padding-left:6px;padding-right:6px}.bills-panel .bill-row-label{white-space:nowrap;display:inline}.bill-row-label-sub{padding-left:22px}.bills-panel .bill-row-label .bill-expand-btn,.bills-panel .bill-row-label .bill-due-num,.bills-panel .bill-row-label .bill-name-btn,.bills-panel .bill-row-label .badge,.bills-panel .bill-row-label .bill-archive-btn{vertical-align:middle;display:inline-block}.bill-due-num{color:#fff;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.02em;min-width:1.6ch;margin-right:6px;font-size:20px;font-weight:700;line-height:1}.bills-panel .bill-name-btn{white-space:nowrap;text-align:left;margin:0;padding:0;font-size:12px;font-weight:600}.bills-panel .bill-row-label .badge{min-width:0;margin-left:5px;padding:2px 6px;font-size:9px}.bills-panel .bill-row-label .bill-archive-btn{margin-left:4px}.bills-panel .amount-cell-wrap{width:100%;max-width:none;height:24px}.bills-panel .amount-cell,.bills-panel .amount-cell.editable{font-size:11px;line-height:22px;overflow:visible}.bills-panel .amount-cell-wrap .amount-ghost,.bills-panel .cell-input{font-size:12px;line-height:22px}.income-summary{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:flex-end;gap:16px;padding:14px 16px;display:flex}.income-summary-metric .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:10px}.income-summary-metric .value{font-size:22px;font-weight:600;line-height:1.2}.income-summary-stats{gap:20px;display:flex}.income-summary-stat .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:9px}.income-summary-stat .value{font-size:14px;font-weight:500}.income-table .amount-cell.has-value.income-cell{color:var(--neon-cyan);text-shadow:0 0 8px #00e5ff4d}.income-table .amount-cell.projected,.income-table .amount-cell.projected .amount-projected{color:var(--text-tertiary);text-shadow:none}.income-table .income-per-pay{white-space:nowrap;font-size:10px}.income-source-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:500;overflow:hidden}.income-source-btn{color:var(--neon-blue,#4d9fff)}.income-chart-wrap{flex-direction:column;gap:10px;display:flex}.income-source-links{flex-wrap:wrap;gap:6px;display:flex}.income-source-link{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:#ffffff08;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:11px;transition:background .1s,color .1s;display:inline-flex}.income-source-link:hover{background:var(--bg-hover);color:var(--text)}.income-source-link-person{color:var(--text-tertiary);font-size:10px}.income-drawer .drawer-next-pay .drawer-next-due-count{color:var(--neon-blue,#4d9fff)}.income-drawer .drawer-next-pay{background:#4d9fff1a;border-color:#4d9fff40}.drawer-projected-hint{color:var(--text-tertiary);font-style:italic}.badge.income-badge{color:var(--neon-blue,#4d9fff);background:#4d9fff26;border:1px solid #4d9fff4d}.person-badge{white-space:nowrap;background:#ffffff08;border:1px solid;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:500;display:inline-block}.subtotal-row td{background:#00e5ff0a;font-size:10px}.subtotal-label{text-align:right;color:var(--text-muted);font-weight:500}.cat-list{flex-direction:column;gap:6px;display:flex}.cat-row{align-items:center;gap:8px;font-size:11px;display:flex}.cat-row-clickable{cursor:pointer;border-radius:6px;margin:-4px -6px;padding:4px 6px;transition:background .1s}.cat-row-clickable:hover{background:var(--bg-hover)}.cat-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 6px}.cat-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cat-bar-wrap{background:#ffffff0d;border-radius:99px;width:60px;height:3px;overflow:hidden}.cat-bar{border-radius:99px;height:100%}.cat-amt{color:var(--text-tertiary);text-align:right;min-width:52px;font-family:JetBrains Mono,monospace;font-size:10px}.history-list{flex-direction:column;gap:4px;max-height:280px;display:flex;overflow-y:auto}.history-item{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:6px 8px;font-size:11px;display:flex}.history-item:hover{background:var(--bg-hover)}.history-item-clickable{cursor:pointer}.history-item .bill{font-weight:500}.history-item .change{color:var(--text-tertiary);margin-top:1px;font-family:JetBrains Mono,monospace;font-size:10px}.history-item .time{color:var(--text-tertiary);font-size:10px}.empty-state{color:var(--text-tertiary);padding:12px 0;font-size:11px}.upcoming-wrap{box-sizing:border-box;justify-content:center;width:100%;padding:0 10px;display:flex}.upcoming-section{background:var(--bg-panel);border:1px solid var(--border-subtle);text-align:center;box-sizing:border-box;border-radius:12px;width:min(100%,460px);padding:7px 9px 9px}.upcoming-section .due-strip-compact{align-items:stretch;gap:4px;width:100%}.upcoming-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 6px;font-size:10px;font-weight:600}.upcoming-section .due-card-compact{border-radius:8px;gap:6px;padding:4px 6px}.upcoming-section .due-card-compact .due-check,.upcoming-section .due-card-compact .due-income-check{border-radius:5px;width:20px;height:20px}.upcoming-section .due-card-compact .due-card-body{flex-direction:row;align-items:center}.upcoming-section .due-card-compact .due-card-top{flex:1;gap:6px}.upcoming-section .due-card-compact .due-name{font-size:11px;font-weight:500}.upcoming-section .due-card-compact .due-badge{padding:1px 5px;font-size:9px}.upcoming-section .due-card-compact .due-type-badge{padding:1px 4px;font-size:8px}.upcoming-section .due-card-compact .due-amount-wrap{border-radius:6px;min-width:56px;padding:2px 4px}.upcoming-section .due-card-compact .due-amount-prefix{font-size:10px}.upcoming-section .due-card-compact .due-amount-input{width:48px;font-size:11px}.upcoming-section .due-card-compact .due-amount-display{min-width:0;padding:0 2px;font-size:11px;font-weight:600}.upcoming-section .due-card-compact:hover{box-shadow:none}.due-card-income{border-color:var(--due-accent-border,#00e5ff2e);background:var(--due-accent-bg,#00e5ff0a)}.due-card-income:hover{border-color:var(--due-accent-border,#00e5ff4d);background:var(--due-accent-bg,#00e5ff14);box-shadow:0 0 10px var(--due-accent-soft,#00e5ff14)}.due-flow-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.due-income-check{color:#00ff8859;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:color .2s,background .2s,box-shadow .2s;display:flex}.due-income-check svg{stroke:currentColor;flex-shrink:0}.due-income-check:hover:not(.is-received){color:#00ff88a6;background:#00ff8814}.due-income-check.has-amount:not(.is-received){color:var(--accent)}.due-income-check.is-received{background:var(--accent);color:#030308;box-shadow:var(--glow-green)}.due-badge-income.due-badge-received{background:var(--accent-dim);color:var(--accent)}.due-amount-wrap-income:focus-within{box-shadow:0 0 0 3px #00ff881f, var(--glow-green);border-color:#00ff8873}.due-amount-input-income{color:var(--accent)}.due-card-income.is-received{background:#00ff880f;border-color:#00ff8840;box-shadow:0 0 10px #00ff8814}.due-card-income.is-received .due-amount-wrap-income{border-color:#00ff8840}.due-badge-income{background:var(--due-accent-soft,#00e5ff1f);color:var(--due-accent,var(--neon-cyan))}.due-amount-display{color:var(--due-accent,var(--neon-cyan));text-align:right;min-width:88px;padding:6px 10px;font-size:13px;font-weight:600}.due-strip-horizontal{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;gap:10px;padding-bottom:4px;overflow-x:auto}.due-strip-horizontal .due-card{scroll-snap-align:start;flex:0 0 min(300px,85vw)}.due-strip{flex-direction:column;gap:8px;display:flex}.due-card{border:1px solid var(--border-subtle);background:#ffffff05;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;transition:border-color .25s,background .25s,box-shadow .25s;display:grid}.due-card-bill:not(.is-paid){border-color:var(--due-accent-border,var(--border-subtle));background:var(--due-accent-bg,#ffffff05)}.due-card-bill:not(.is-paid):hover{border-color:var(--due-accent-border);background:var(--due-accent-bg);box-shadow:0 0 10px var(--due-accent-soft)}.due-card:not(.due-card-bill):not(.due-card-income):hover{background:#00e5ff0a;border-color:#00e5ff33;box-shadow:0 0 16px #00e5ff0f}.due-card.is-paid{background:#00ff880f;border-color:#00ff8840;box-shadow:0 0 12px #00ff8814}.due-card.is-saving{opacity:.7;pointer-events:none}.due-check{color:#ffffff38;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:color .2s,background .2s,box-shadow .2s,transform .2s cubic-bezier(.34,1.4,.64,1);display:flex}.due-check:hover:not(.is-paid){color:#ffffff73;background:#ffffff0a}.due-check.has-amount:not(.is-paid){color:var(--accent);text-shadow:var(--glow-green)}.due-check.is-paid{background:var(--accent);color:#030308;box-shadow:var(--glow-green);transform:scale(1)}.due-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.due-card-top{align-items:center;gap:8px;min-width:0;display:flex}.due-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.due-card-clickable{cursor:pointer;border-radius:6px;flex:1;min-width:0;transition:background .1s}.due-card-clickable:hover{background:#ffffff0a}.due-card.is-paid .due-name{color:var(--text-secondary)}.due-badge{letter-spacing:.02em;text-transform:uppercase;color:var(--amber);background:#fbbf241f;border-radius:99px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:600;transition:background .25s,color .25s}.due-card-bill:not(.is-paid) .due-badge:not(.due-badge-paid){background:var(--due-accent-soft);color:var(--due-accent)}.due-badge.due-badge-paid{background:var(--accent-dim);color:var(--accent)}.due-type-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:99px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:600}.due-type-badge-bill{background:var(--rose-dim);color:var(--rose)}.due-type-badge-income{background:var(--blue-dim);color:var(--blue)}.due-date{color:var(--text-tertiary);font-size:11px}.due-amount-wrap{border:1px solid var(--border-subtle);background:#00000040;border-radius:8px;align-items:center;gap:2px;min-width:88px;padding:6px 10px;transition:border-color .15s,box-shadow .15s;display:flex}.due-amount-wrap:focus-within{border-color:var(--neon-cyan);box-shadow:0 0 0 3px #00e5ff1f, var(--glow-cyan)}.due-card.is-paid .due-amount-wrap{border-color:#00ff8840}.due-amount-prefix{color:var(--text-tertiary);-webkit-user-select:none;user-select:none;font-size:12px;font-weight:500}.due-amount-input{width:100%;min-width:0;color:var(--text);background:0 0;border:none;outline:none;padding:0;font-size:13px;font-weight:500}.due-amount-input::placeholder{color:var(--text-tertiary)}.due-empty{color:var(--text-tertiary);flex-direction:column;align-items:center;gap:8px;padding:28px 16px;font-size:12px;display:flex}.due-empty-icon{background:var(--accent-dim);width:36px;height:36px;color:var(--accent);box-shadow:var(--glow-green);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.loading{min-height:100vh;color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:12px;display:flex}.spinner{border:2px solid #00e5ff26;border-top-color:var(--neon-cyan);width:28px;height:28px;box-shadow:var(--glow-cyan);border-radius:50%;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{color:var(--rose);border-radius:var(--radius-sm);background:#f8717114;border:1px solid #f8717133;margin-bottom:10px;padding:8px 12px;font-size:11px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#00e5ff0d!important}.recharts-text{fill:var(--text-tertiary)!important;font-size:11px!important}.recharts-legend-item-text{color:var(--text-secondary)!important;font-size:12px!important}.calendar-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.cal-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:12px;display:flex}.cal-header-left{align-items:center;gap:16px;display:flex}.cal-title{letter-spacing:-.02em;background:linear-gradient(135deg, #fff 30%, var(--neon-cyan) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:700}.cal-nav{align-items:center;gap:4px;display:flex}.cal-nav-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.cal-nav-btn:hover{background:var(--neon-cyan-dim);color:var(--neon-cyan);box-shadow:var(--glow-cyan);border-color:#00e5ff4d}.cal-today-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;margin-left:8px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s}.cal-today-btn:hover{background:var(--bg-hover);color:var(--text)}.cal-header-stats{flex-shrink:0;gap:20px;display:flex}.cal-legend{flex-shrink:0;gap:16px;margin-bottom:10px;display:flex}.cal-legend-item{color:var(--text-tertiary);align-items:center;gap:6px;font-size:11px;display:flex}.cal-legend-icon{flex-shrink:0}.cal-legend-icon.income{color:var(--blue);filter:drop-shadow(0 0 5px #4d9fffd9)}.cal-legend-icon.bill{color:var(--rose);filter:drop-shadow(0 0 5px #ff4466bf)}.cal-legend-icon.submitted{color:var(--accent);filter:drop-shadow(0 0 5px #00ff88d9)}.cal-stat{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.cal-stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.cal-stat-value{color:var(--text);font-size:16px;font-weight:600}.cal-stat-value.income{color:var(--blue);text-shadow:0 0 16px #4d9fff59}.cal-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;width:100%;min-height:0;display:grid;overflow:hidden}.cal-weekday{background:var(--bg-panel);color:var(--text-tertiary);text-align:center;text-transform:uppercase;letter-spacing:.04em;min-width:0;padding:8px 4px;font-size:11px;font-weight:600}.cal-cell{background:var(--bg);flex-direction:column;gap:4px;min-width:0;min-height:0;padding:6px;display:flex;overflow:hidden}.cal-cell-weekend{--cal-weekend-solid:color-mix(in srgb, var(--bg) 97.5%, white 2.5%);background:repeating-linear-gradient(-45deg, transparent, transparent 7px, #ffffff06 7px, #ffffff06 8px), var(--bg)}.cal-cell-empty{background:#ffffff03}.cal-cell-today{background:linear-gradient(#00e5ff0d, #00e5ff0d), var(--bg);animation:3.5s ease-in-out infinite cal-today-glow}.cal-cell-weekend.cal-cell-today{--cal-weekend-solid:color-mix(in srgb, color-mix(in srgb, var(--bg) 97.5%, white 2.5%) 95%, var(--neon-cyan) 5%);background:linear-gradient(#00e5ff0d, #00e5ff0d), repeating-linear-gradient(-45deg, transparent, transparent 7px, #ffffff06 7px, #ffffff06 8px), var(--bg)}@keyframes cal-today-glow{0%,to{box-shadow:inset 0 0 0 1px #00e5ff2e,0 0 6px #00e5ff0f}50%{box-shadow:inset 0 0 0 1.5px #00e5ff73,0 0 18px #00e5ff38,0 0 32px #b84dff14}}.cal-day-num{color:var(--text-tertiary);flex-shrink:0;font-size:12px;font-weight:500;line-height:1}.cal-day-num.today{background:linear-gradient(135deg, var(--neon-cyan), var(--neon-magenta));color:#030308;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:700;animation:3.5s ease-in-out infinite cal-today-badge-glow;display:inline-flex}@keyframes cal-today-badge-glow{0%,to{box-shadow:0 0 8px #00e5ff59,0 0 14px #b84dff33}50%{box-shadow:0 0 14px #00e5ffa6,0 0 24px #b84dff73,0 0 36px #00e5ff33}}.cal-events{flex-direction:column;flex:1;gap:1px;min-height:0;display:flex;overflow:hidden auto}.cal-event{cursor:default;border:1px solid #0000;border-radius:3px;flex-direction:row;flex-shrink:0;align-items:center;gap:3px;width:100%;min-width:0;padding:1px 4px;font-size:10px;font-weight:500;line-height:1.2;display:flex}.cal-event.bill-pending{background:var(--rose-dim);color:#ff7a94;border-color:#ff446659}.cal-event-clickable{cursor:pointer;text-align:left;font-family:inherit;transition:filter .1s,transform .1s,border-color .1s}.cal-event-clickable:hover{filter:brightness(1.15);transform:translate(1px)}.cal-event.bill-paid{color:#c47888;opacity:.9;background:#ff446612;border-color:#ff446638}.cal-event.due{color:#ffe066;background:#ffcc001a;border-color:#ffcc0059}.cal-event.income{background:var(--blue-dim);color:#7eb8ff;border-color:#4d9fff59}.cal-event.income.income-received{color:#6a96cc;opacity:.9;background:#4d9fff12;border-color:#4d9fff38}.cal-cell-weekend .cal-event.bill-pending{background:color-mix(in srgb, var(--cal-weekend-solid) 86%, var(--rose) 14%)}.cal-cell-weekend .cal-event.bill-paid{background:color-mix(in srgb, var(--cal-weekend-solid) 93%, var(--rose) 7%);opacity:1}.cal-cell-weekend .cal-event.due{background:color-mix(in srgb, var(--cal-weekend-solid) 90%, var(--amber) 10%)}.cal-cell-weekend .cal-event.income{background:color-mix(in srgb, var(--cal-weekend-solid) 86%, var(--blue) 14%)}.cal-cell-weekend .cal-event.income.income-received{background:color-mix(in srgb, var(--cal-weekend-solid) 93%, var(--blue) 7%);opacity:1}.cal-event-check{color:var(--accent);filter:drop-shadow(0 0 3px #0f8c);flex-shrink:0}.cal-event-icon{flex-shrink:0}.cal-event-icon-glow.income{color:var(--blue);filter:drop-shadow(0 0 4px #4d9fffe6)drop-shadow(0 0 8px #4d9fff73)}.cal-event-icon-glow.bill{color:var(--rose);filter:drop-shadow(0 0 4px #ff4466d9)drop-shadow(0 0 8px #f466)}.cal-event-icon-glow.bill.due{color:var(--amber);filter:drop-shadow(0 0 4px #ffcc00e6)drop-shadow(0 0 8px #fc06)}.bill-paid .cal-event-icon-glow.bill{color:#d48898;filter:drop-shadow(0 0 3px #ff446659)}.income-received .cal-event-icon-glow.income{color:#6a96cc;filter:drop-shadow(0 0 3px #4d9fff59)}.cal-event-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cal-event-amount{opacity:.85;flex-shrink:0;font-size:9px}.drawer-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;background:#030308eb;justify-content:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.bill-drawer{background:#0c0e18;border-left:1px solid #00e5ff40;flex-direction:column;gap:20px;width:min(620px,100vw);height:100vh;padding:24px;animation:.2s slide-in;display:flex;overflow-y:auto;box-shadow:-12px 0 48px #000000b3,-2px 0 24px #00e5ff1a}.drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.drawer-title{color:var(--text);margin-bottom:0;font-size:20px;font-weight:700}.drawer-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.drawer-status-badge{padding:2px 8px;font-size:10px}.drawer-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.drawer-dot{opacity:.5}.capitalize{text-transform:capitalize}.drawer-close{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:background .1s,color .1s;display:flex}.drawer-close:hover{background:var(--bg-hover);color:var(--text)}.drawer-top-panel{background:linear-gradient(160deg,#00e5ff17 0%,#ffffff05 45%,#0000 100%);border:1px solid #00e5ff2e;border-radius:14px;overflow:hidden}.drawer-top-panel.income{background:linear-gradient(160deg,#4d9fff17 0%,#ffffff05 45%,#0000 100%);border-color:#4d9fff33}.drawer-top-main{align-items:flex-start;gap:14px;padding:16px 16px 14px;display:flex}.drawer-top-icon{width:44px;height:44px;color:var(--neon-cyan);background:#00e5ff1f;border:1px solid #00e5ff40;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 0 20px #00e5ff1f}.drawer-top-panel.income .drawer-top-icon{color:#4d9fff;background:#4d9fff1f;border-color:#4d9fff40;box-shadow:0 0 20px #4d9fff1f}.drawer-top-content{flex:1;min-width:0}.drawer-top-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.drawer-top-title{color:var(--text);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700;line-height:1.15}.drawer-top-badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700}.drawer-top-badge.paid{color:var(--accent);background:#00ff881f;border-color:#00ff884d}.drawer-top-badge.due{color:var(--amber,#fc0);background:#ffcc001f;border-color:#ffcc004d}.drawer-top-badge.income{color:#4d9fff;background:#4d9fff1f;border-color:#4d9fff4d}.drawer-top-pills{flex-wrap:wrap;gap:6px;display:flex}.drawer-top-pill{color:var(--text-secondary);text-transform:capitalize;background:#ffffff0f;border:1px solid #ffffff14;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:500;line-height:1.3}.drawer-top-pill.mono{text-transform:none;font-family:JetBrains Mono,monospace}.drawer-top-close{color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:7px;transition:background .1s,color .1s,border-color .1s;display:flex}.drawer-top-close:hover{color:var(--text);background:#ffffff1a;border-color:#ffffff26}.drawer-top-next{background:#00000026;border-top:1px solid #ffffff0f;align-items:center;gap:12px;padding:12px 16px;display:flex}.drawer-top-panel.income .drawer-top-next{border-top-color:#4d9fff1a}.drawer-top-next.is-overdue{background:#ff446614}.drawer-top-next.is-overdue .drawer-top-next-count{color:var(--rose)}.drawer-top-next-icon{width:32px;height:32px;color:var(--neon-cyan);background:#00e5ff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.drawer-top-panel.income .drawer-top-next-icon{color:#4d9fff;background:#4d9fff1a}.drawer-top-next-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.drawer-top-next-count{color:var(--neon-cyan);font-size:16px;font-weight:700;line-height:1.2}.drawer-top-panel.income .drawer-top-next-count{color:#4d9fff}.drawer-top-next-detail{color:var(--text-tertiary);font-size:12px;line-height:1.35}.drawer-top-next-badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:9px;font-weight:700}.drawer-top-next-badge.paid,.drawer-top-next-badge.received{color:var(--accent);background:#00ff881f;border-color:#00ff884d}.drawer-top-next-badge.due{color:var(--amber,#fc0);background:#ffcc001f;border-color:#ffcc004d}.drawer-metrics{flex-direction:column;gap:10px;display:flex}.drawer-metric-hero{background:linear-gradient(135deg,#00e5ff1a 0%,#00e5ff05 60%,#0000 100%);border:1px solid #00e5ff33;border-radius:12px;padding:16px;position:relative;overflow:hidden}.drawer-metric-hero.income{background:linear-gradient(135deg,#4d9fff1a 0%,#4d9fff05 60%,#0000 100%);border-color:#4d9fff38}.drawer-metric-hero-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.drawer-metric-hero-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-size:11px;font-weight:600}.drawer-metric-hero-share{color:var(--neon-cyan);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.drawer-metric-hero.income .drawer-metric-hero-share{color:#4d9fff}.drawer-metric-hero-value{color:var(--text);letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.1}.drawer-metric-hero-pace{color:var(--text-secondary);margin-top:6px;font-size:11px}.drawer-metric-hero-bar{background:#ffffff14;border-radius:2px;height:4px;margin-top:12px;overflow:hidden}.drawer-metric-hero-bar-fill{background:linear-gradient(90deg, #00e5ff80, var(--neon-cyan));border-radius:2px;height:100%;transition:width .3s}.drawer-metric-hero.income .drawer-metric-hero-bar-fill{background:linear-gradient(90deg,#4d9fff80,#4d9fff)}.drawer-metric-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.drawer-metric-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.drawer-metric-card-top{align-items:center;gap:6px;display:flex}.drawer-metric-icon{width:22px;height:22px;color:var(--text-tertiary);background:#ffffff0f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.drawer-metric-card.accent-cyan .drawer-metric-icon{color:var(--neon-cyan);background:#00e5ff1a}.drawer-metric-card.accent-blue .drawer-metric-icon{color:#4d9fff;background:#4d9fff1a}.drawer-metric-card.accent-green .drawer-metric-icon{color:var(--accent);background:#00ff881a}.drawer-metric-card.accent-amber .drawer-metric-icon{color:var(--amber,#fc0);background:#ffcc001a}.drawer-metric-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);flex:1;font-size:10px;font-weight:600}.drawer-metric-trend{flex-shrink:0;align-items:center;display:flex}.drawer-metric-trend.up{color:var(--rose)}.drawer-metric-trend.down,.drawer-metric-trend.up.good{color:var(--accent)}.drawer-metric-trend.down.good{color:var(--rose)}.drawer-metric-value{color:var(--text);font-size:16px;font-weight:700;line-height:1.2}.drawer-metric-sub{color:var(--text-tertiary);font-size:10px;line-height:1.35}.drawer-metric-progress{background:#ffffff0f;border-radius:2px;height:3px;margin-top:4px;overflow:hidden}.drawer-metric-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.drawer-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.drawer-stats-wide{grid-template-columns:repeat(4,1fr)}.drawer-stat{border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid #ffffff14;padding:12px}.drawer-stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:10px}.drawer-stat-value{color:var(--text);font-size:14px;font-weight:600}.drawer-stat-value.accent{color:var(--accent)}.drawer-stat-value.rose{color:var(--rose)}.drawer-stat-value.blue{color:var(--neon-blue,#4d9fff)}.drawer-stat-dim{color:var(--text-tertiary);font-size:11px;font-weight:400}.drawer-trend{align-items:center;gap:4px;display:inline-flex}.drawer-next-due{border-radius:var(--radius-sm);color:var(--text-secondary);background:#00e5ff14;border:1px solid #00e5ff33;align-items:center;gap:12px;padding:12px 14px;font-size:12px;display:flex}.drawer-next-due.is-overdue{background:#ff44661a;border-color:#ff44664d}.drawer-next-due.is-overdue .drawer-next-due-count{color:var(--rose)}.drawer-next-due.is-paid{opacity:.85}.drawer-next-due-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.drawer-next-due-count{color:var(--neon-cyan);font-size:15px;font-weight:600}.drawer-next-due-detail{color:var(--text-tertiary);font-size:11px}.drawer-status-bar{background:#ffffff0f;border-radius:4px;height:8px;margin-bottom:8px;display:flex;overflow:hidden}.drawer-status-seg.paid{background:var(--accent)}.drawer-status-seg.due{background:var(--amber,#fc0)}.drawer-status-seg.empty{background:#ffffff1a}.drawer-status-legend{color:var(--text-tertiary);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.drawer-legend-dot{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.drawer-legend-dot.paid{background:var(--accent)}.drawer-legend-dot.due{background:var(--amber,#fc0)}.drawer-legend-dot.empty{background:#ffffff26}.drawer-variance{color:var(--text-secondary);margin-left:auto}.drawer-chart-legend{color:var(--text-tertiary);gap:16px;margin-top:6px;font-size:10px;display:flex}.drawer-legend-line{vertical-align:middle;width:16px;height:2px;margin-right:4px;display:inline-block}.drawer-legend-line.avg{background:#b84dff;border-top:1px dashed #b84dff;height:0}.drawer-legend-line.trend{background:#00e5ff}.drawer-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:10px;font-size:11px;font-weight:600}.drawer-table{border-collapse:collapse;width:100%;font-size:12px}.drawer-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);border-bottom:1px solid var(--border);padding:6px 8px;font-size:10px;font-weight:600}.drawer-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);padding:7px 8px}.drawer-table tr.current-row td{color:var(--text);box-shadow:inset 2px 0 0 var(--neon-cyan);background:#00e5ff14}.drawer-table .rose{color:var(--rose)}.drawer-table .accent{color:var(--accent)}.status-change{color:var(--text-tertiary);font-size:11px}.chart-tip{box-shadow:var(--glow-cyan);background:#12141f;border:1px solid #00e5ff40;border-radius:8px;padding:8px 12px;font-size:11px}.chart-tip-avg{color:var(--text-tertiary);margin-top:2px;font-size:10px}.chart-tip-label{color:var(--text-tertiary);margin-bottom:2px}.chart-tip .rose{color:var(--rose)}.chart-tip .accent{color:var(--accent)}@media (width<=900px){.shell-calendar .cal-grid{flex:none;max-height:none;overflow-y:auto;grid-template-rows:auto!important}.shell-calendar .calendar-view{overflow-y:auto}.shell-calendar .main-calendar,.shell-calendar{height:auto;overflow:visible}.cal-cell{min-height:88px}.cal-header-stats{justify-content:flex-start;width:100%}.cal-stat{align-items:flex-start}}@media (width<=700px){.main-calendar{height:auto;overflow:visible}.calendar-view{overflow:visible}}.bill-settings{flex-direction:column;gap:14px;display:flex}.settings-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.settings-desc{color:var(--text-secondary);max-width:520px;font-size:13px;line-height:1.5}.settings-error{border-radius:var(--radius-sm);color:var(--rose);background:#f871711a;border:1px solid #f8717140;padding:10px 12px;font-size:13px}.settings-form-card{border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff05;padding:14px}.settings-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}@media (width<=900px){.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.settings-form-grid{grid-template-columns:1fr}.settings-toolbar{flex-direction:column}}.field{flex-direction:column;gap:5px;display:flex}.field span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.field-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.field-input:focus{box-shadow:0 0 0 2px #00e5ff26, var(--glow-cyan);border-color:#00e5ff80}.field-input-sm{padding:6px 8px;font-size:12px}.due-days-row{align-items:center;gap:6px;display:flex}.due-days-row-sm .field-input{min-width:0}.due-days-sep{color:var(--text-tertiary);flex-shrink:0;font-size:12px}.bill-row-sub td{border-top-color:#ffffff08}.bill-row-sub .installment-label{color:var(--text-secondary);padding-left:14px;font-size:12px;display:block}.income-table .income-pay-slot-label{min-width:3.5ch;margin-left:14px;font-size:13px}.income-table .income-pay-day-label{color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-bottom:1px;font-size:10px;font-weight:600;line-height:1;display:block}.drawer-installment-detail{color:var(--text-tertiary);margin-top:2px;font-size:11px}.drawer-month-breakdown{flex-direction:column;gap:10px;width:100%;display:flex}.drawer-month-hint{color:var(--text-tertiary);margin:0;font-size:12px;line-height:1.4}.drawer-month-list{flex-direction:column;gap:4px;width:100%;display:flex}.drawer-month-row{background:#ffffff05;border:1px solid #0000;border-radius:10px;grid-template-columns:44px 1fr auto auto;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;transition:background .12s,border-color .12s;display:grid}.drawer-month-row:hover{background:#ffffff0a;border-color:#ffffff0f}.drawer-month-row.is-current{box-shadow:inset 3px 0 0 var(--neon-cyan);background:#00e5ff0f;border-color:#00e5ff2e}.drawer-month-breakdown.income .drawer-month-row.is-current{background:#4d9fff0f;border-color:#4d9fff2e;box-shadow:inset 3px 0 #4d9fff}.drawer-month-name{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.drawer-month-row.is-current .drawer-month-name{color:var(--text)}.drawer-month-bar-wrap{width:100%;min-width:0;display:block}.drawer-month-bar-track{background:#ffffff0f;border-radius:4px;width:100%;height:8px;overflow:hidden}.drawer-month-bar-label{display:none}.drawer-month-bar-fill{border-radius:4px;min-width:0;height:100%;transition:width .2s}.drawer-month-bar-fill.bill{background:linear-gradient(90deg, #00e5ff80, var(--neon-cyan))}.drawer-month-bar-fill.income{background:linear-gradient(90deg,#4d9fff73,#4d9fff)}.drawer-month-bar-fill.projected{opacity:.45}.drawer-month-payments{flex-flow:row;justify-content:flex-end;align-items:center;gap:8px;display:flex}.drawer-month-payment{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.drawer-month-payment+.drawer-month-payment:before{content:"";background:#ffffff1f;width:1px;height:18px;margin-right:2px;display:block}.drawer-payment-label{color:var(--text-tertiary);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;font-size:10px;font-weight:600}.drawer-month-empty{color:var(--text-tertiary);font-size:13px}.drawer-amount-cell{color:var(--text);text-align:right;cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;min-width:72px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;line-height:1.3;transition:background .1s,border-color .1s,color .1s}.drawer-amount-cell.editable:hover:not(:disabled){background:#00e5ff14;border-color:#00e5ff40}.drawer-month-breakdown.income .drawer-amount-cell.editable:hover:not(:disabled){background:#4d9fff14;border-color:#4d9fff40}.drawer-amount-cell.empty{color:var(--text-tertiary);font-weight:500}.drawer-amount-cell.projected,.drawer-amount-cell.is-projected{color:var(--text-tertiary)}.drawer-amount-cell.is-editing{cursor:default;background:#00e5ff1a;border-color:#00e5ff59;align-items:center;gap:2px;min-width:80px;padding:4px 8px 4px 10px;display:inline-flex}.drawer-month-breakdown.income .drawer-amount-cell.is-editing{background:#4d9fff1a;border-color:#4d9fff59}.drawer-amount-cell.is-saving{opacity:.6}.drawer-amount-prefix{color:var(--text-tertiary);font-size:12px}.drawer-amount-input-wrap{width:72px;position:relative}.drawer-amount-ghost{color:var(--text-tertiary);opacity:.35;pointer-events:none;justify-content:flex-end;align-items:center;padding-right:2px;font-size:14px;display:flex;position:absolute;inset:0}.drawer-amount-input{width:100%;color:var(--text);text-align:right;background:0 0;border:none;outline:none;padding:2px 0;font-size:14px;font-weight:700}.drawer-status-pill{letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:9px;font-weight:700;line-height:1.3;transition:opacity .1s}.drawer-status-pill.readonly{cursor:default}.drawer-status-pill.paid{color:var(--accent);background:#00ff881f;border-color:#00ff884d}.drawer-status-pill.due{color:var(--amber,#fc0);background:#ffcc001f;border-color:#ffcc004d}.drawer-status-pill.empty{color:var(--text-tertiary);background:#ffffff0a;border-color:#ffffff1a}.drawer-delta-chip{color:var(--text-tertiary);white-space:nowrap;text-align:center;background:#ffffff0d;border-radius:6px;flex:none;min-width:44px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.drawer-delta-chip.rose{color:var(--rose);background:#ff44661f}.drawer-delta-chip.accent{color:var(--accent);background:#00ff881f}.drawer-delta-chip.neutral{opacity:.6}.drawer-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:8px}.drawer-archive-btn{width:100%;color:var(--text-tertiary);justify-content:center}.drawer-archive-btn:hover:not(:disabled){color:var(--text-secondary);border-color:var(--border-strong,var(--border))}.settings-form-actions{justify-content:flex-end;margin-top:12px;display:flex}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:var(--neon-cyan);background:linear-gradient(135deg,#00e5ff2e,#ff2d9524);border-color:#00e5ff59;box-shadow:0 0 16px #00e5ff1a}.btn-primary:hover:not(:disabled){color:#fff;box-shadow:var(--glow-cyan);background:linear-gradient(135deg,#00e5ff47,#ff2d9538);border-color:#00e5ff80}.settings-table th:last-child,.settings-table td.actions-cell{text-align:right;white-space:nowrap;width:108px}.settings-table .row-inactive{opacity:.55}.settings-table .row-inactive .bill-name{color:var(--text-tertiary);text-decoration:line-through}.freq-badge{color:var(--text-secondary);text-transform:capitalize;background:#ffffff0d;border-radius:4px;padding:2px 7px;font-size:11px;display:inline-block}.toggle{cursor:pointer;background:#ffffff1a;border:none;border-radius:99px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.toggle:after{content:"";background:var(--text-tertiary);border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.toggle.on{box-shadow:var(--glow-green);background:#00ff884d}.toggle.on:after{background:var(--accent);transform:translate(16px);box-shadow:0 0 8px #0f89}.toggle:disabled{opacity:.5;cursor:not-allowed}.icon-btn{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .1s,color .1s;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-secondary)}.icon-btn.danger:hover:not(:disabled){color:var(--rose);background:#f871711f}.settings-loading,.settings-empty{text-align:center;color:var(--text-tertiary);padding:24px;font-size:13px}.income-settings{margin-bottom:0}.settings-footer{padding-top:4px}.archived-section{margin-top:8px}.archived-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 0;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.archived-toggle:hover{color:var(--text)}.archived-chevron-open{transform:rotate(180deg)}.archived-table-wrap{margin-top:4px}
