:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-page:#f9f9f7;--surface-card:#fcfcfb;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--border:#0b0b0b1a;--gridline:#e1e0d9;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--good:#006300;--critical:#d03b3b;color:var(--text-primary);background:var(--surface-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:#0d0d0d;--surface-card:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--border:#ffffff1a;--gridline:#2c2c2a;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--good:#0ca30c;--critical:#e66767}}*{box-sizing:border-box}body{margin:0}#app{max-width:900px;margin:0 auto;padding:24px 20px 80px}header.hero{text-align:center;padding:24px 0 32px}.hero-title{justify-content:center;align-items:center;gap:10px;margin:0 0 8px;display:flex}.hero-logo{flex-shrink:0;width:34px;height:34px}header.hero h1{letter-spacing:-.5px;margin:0;font-size:32px}header.hero p{color:var(--text-secondary);max-width:560px;margin:0 auto;font-size:16px}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:24px}@media (width<=640px){.card{border-radius:8px;padding:16px}#app{padding:16px 12px 60px}header.hero h1{font-size:24px}.hero-logo{width:26px;height:26px}header.hero p{font-size:14px}table.editable{min-width:420px}.radio-group{flex-wrap:wrap}.radio-group button{flex:calc(50% - 4px)}.icon-btn{padding:10px;font-size:18px}}.card h2{margin:0 0 4px;font-size:20px}.card .card-sub{color:var(--text-secondary);margin:0 0 20px;font-size:14px}.field-row{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.field{flex-direction:column;flex:180px;gap:6px;display:flex}.field label{color:var(--text-secondary);font-size:13px;font-weight:600}.field input,.field select{font:inherit;border:1px solid var(--border);background:var(--surface-page);color:var(--text-primary);border-radius:8px;width:100%;padding:10px 12px}.field input:focus,.field select:focus{outline:2px solid var(--series-1);outline-offset:-1px}.radio-group{gap:8px;display:flex}.radio-group button{font:inherit;border:1px solid var(--border);background:var(--surface-page);color:var(--text-primary);cursor:pointer;border-radius:8px;flex:1;padding:10px 12px}.radio-group button.active{background:var(--series-1);border-color:var(--series-1);color:#fff}table.editable{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:14px}table.editable th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--gridline);padding:6px 8px;font-size:12px;font-weight:600}table.editable td{border-bottom:1px solid var(--gridline);vertical-align:middle;padding:4px}table.editable input{font:inherit;width:100%;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:6px;padding:8px}table.editable input:hover,table.editable input:focus{border-color:var(--border);background:var(--surface-page);outline:none}table.editable input.num{text-align:right}table.editable td.line-total{text-align:right;color:var(--text-secondary);white-space:nowrap;padding-right:8px}table.editable td.remove-cell{width:32px}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;font-size:16px;line-height:1}.icon-btn:hover{color:var(--critical);background:var(--gridline)}.add-row-btn{font:inherit;border:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;margin-bottom:20px;padding:8px 14px;font-size:14px}.add-row-btn:hover{border-color:var(--series-1);color:var(--series-1)}.link-out{color:var(--series-1);align-items:center;gap:6px;margin-bottom:20px;font-size:13px;text-decoration:none;display:inline-flex}.link-out:hover{text-decoration:underline}.person-card{border:1px solid var(--border);background:var(--surface-page);border-radius:10px;margin-bottom:16px;padding:16px}.person-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.person-card-header .remove-person-btn{width:auto;padding:4px 10px;font-size:12px}.vehicle-card{border:1px solid var(--border);background:var(--surface-page);border-radius:10px;margin-bottom:12px;overflow:hidden}.vehicle-card-header{width:100%;font:inherit;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:14px 16px;display:flex}.vehicle-card-header:hover{background:var(--gridline)}.vehicle-card-title{font-size:14px;font-weight:600}.vehicle-card-summary{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.vehicle-chevron{color:var(--text-muted);font-size:11px}.vehicle-card-body{padding:4px 16px 16px}.vehicle-card-body .remove-vehicle-btn{width:auto;margin-top:4px;font-size:12px}.set-aside-note{color:var(--text-secondary);margin:0 0 20px;font-size:13px}.dropzone{border:1px dashed var(--border);background:var(--surface-page);text-align:center;border-radius:10px;margin-bottom:12px;padding:20px}.dropzone p{color:var(--text-secondary);margin:0 0 10px;font-size:13px}.dropzone.dragover{border-color:var(--series-1);background:var(--gridline)}.doc-list{flex-direction:column;gap:8px;display:flex}.doc-item{border:1px solid var(--border);background:var(--surface-page);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.doc-badge{text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary);background:var(--gridline);border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600}.doc-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.doc-meta{color:var(--text-muted);flex-shrink:0;margin-left:auto;font-size:12px}.doc-item-wrap{flex-direction:column;gap:8px;display:flex}.paystub-review{border:1px solid var(--border);background:var(--surface-page);border-radius:8px;padding:14px}.table-scroll{margin-bottom:12px;overflow-x:auto}.freq-table{min-width:560px}.stat-row{flex-wrap:wrap;gap:16px;margin:20px 0;display:flex}.stat-tile{background:var(--surface-page);border:1px solid var(--border);border-radius:10px;flex:140px;padding:14px 16px}.stat-tile .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:12px}.stat-tile .stat-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.stat-tile .stat-value.good{color:var(--good)}.stat-tile .stat-value.critical{color:var(--critical)}.good{color:var(--good)}.critical{color:var(--critical)}.stack-bar{background:var(--gridline);border-radius:6px;width:100%;height:28px;margin-bottom:12px;display:flex;overflow:hidden}.stack-bar .seg{min-width:2px;height:100%}.stack-bar .seg+.seg{border-left:2px solid var(--surface-card)}.ranked-bars{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.ranked-bar-toprow{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.ranked-bar-label{color:var(--text-secondary);font-size:13px}.ranked-bar-value{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:13px;font-weight:600}.ranked-bar-track{background:var(--gridline);border-radius:5px;height:10px;overflow:hidden}.ranked-bar-fill{background:var(--series-1);border-radius:5px;min-width:4px;height:100%}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:12px 20px;margin-bottom:20px;font-size:13px;display:flex}.legend .legend-item{align-items:center;gap:6px;display:flex}.legend .swatch{border-radius:3px;flex:none;width:10px;height:10px}.period-table{border-collapse:collapse;width:100%;font-size:14px}.period-table th,.period-table td{text-align:right;border-bottom:1px solid var(--gridline);font-variant-numeric:tabular-nums;padding:8px}.period-table th:first-child,.period-table td:first-child{text-align:left;font-variant-numeric:normal}.period-table th{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;font-size:12px}.excel-table-wrap{border:1px solid var(--gridline);border-radius:6px;max-height:520px;overflow:auto}table.excel-table{border-collapse:separate;border-spacing:0;background:var(--surface-card);width:100%;font-size:13px}table.excel-table th,table.excel-table td{border-right:1px solid var(--gridline);border-bottom:1px solid var(--gridline);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding:6px 12px}table.excel-table th:first-child,table.excel-table td:first-child{text-align:left;font-variant-numeric:normal;background:var(--surface-card);border-right:1px solid var(--border);position:sticky;left:0}table.excel-table thead th{z-index:2;background:var(--surface-page);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);font-size:11px;position:sticky;top:0}table.excel-table thead th:first-child{z-index:3}table.excel-table tbody tr:nth-child(2n):not(.excel-section-row):not(.excel-total-row) td,table.excel-table tbody tr:nth-child(2n):not(.excel-section-row):not(.excel-total-row) td:first-child{background:var(--surface-page)}table.excel-table tr.excel-section-row td,table.excel-table tr.excel-section-row td:first-child{background:var(--series-1);color:#fff;text-transform:uppercase;letter-spacing:.04em;text-align:left;border-right-color:var(--series-1);font-size:11px;font-weight:700;position:static}table.excel-table tr.excel-total-row td,table.excel-table tr.excel-total-row td:first-child{background:var(--surface-page);border-top:2px solid var(--text-primary);font-weight:700}table.excel-table tr:hover td,table.excel-table tr:hover td:first-child{background:var(--gridline)}.tip-jar{text-align:center;padding:20px}.tip-jar a.kofi-btn{color:#fff;background:#ff5e5b;border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.tip-jar a.kofi-btn:hover{filter:brightness(.95)}.tip-jar p{color:var(--text-muted);margin-top:10px;font-size:13px}.disclaimer{color:var(--text-muted);text-align:center;margin-top:24px;font-size:12px;line-height:1.6}.savings-summary{background:var(--surface-page);border:1px solid var(--border);border-radius:10px;padding:16px;font-size:15px;line-height:1.7}.savings-summary strong{font-variant-numeric:tabular-nums}#auth-section{justify-content:flex-end;margin-bottom:18px;display:flex}.auth-card{border:1px solid var(--border);background:var(--surface-card);text-align:left;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;box-shadow:0 1px 2px #0b0b0b0a}.auth-card-text{flex-direction:column;gap:2px;max-width:320px;display:flex}.auth-card-text strong{font-size:13px}.auth-card-text span{color:var(--text-muted);font-size:12px;line-height:1.4}.auth-card--guest .auth-card-text{max-width:260px}.auth-providers{gap:8px;display:flex}.auth-provider-btn{border:1px solid var(--border);background:var(--surface-page);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;font-weight:500;display:flex}.auth-provider-btn:hover{border-color:var(--text-muted)}.auth-remember{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:400;display:flex}.auth-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:30px;height:30px}.auth-avatar--fallback{background:var(--series-1);color:#fff;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.auth-signout-btn{border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px}@media (width<=640px){#auth-section{justify-content:center}.auth-card{text-align:center;justify-content:center}.auth-card-text{text-align:center;align-items:center}}.pacing-track-wrap{position:relative}.pacing-track{background:var(--gridline);border-radius:5px;height:10px;overflow:hidden}.pacing-fill{background:var(--series-1);border-radius:5px;min-width:2px;height:100%}.pacing-fill.critical{background:var(--critical)}.pacing-marker{background:var(--text-primary);opacity:.55;width:2px;position:absolute;top:-3px;bottom:-3px}.goal-celebration{border:1px solid var(--good);background:var(--surface-page);border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;font-size:14px;display:flex}.goal-celebration strong{color:var(--good)}.goal-celebration .dismiss-celebration-btn{margin-left:auto}.insights-list{margin:0 0 8px;padding-left:20px;font-size:14px;line-height:1.6}.insights-list li{margin-bottom:6px}.forecast-chart{width:100%;height:auto;margin-top:8px}.forecast-chart .chart-baseline{stroke:var(--gridline);stroke-width:1px}.forecast-chart .chart-axis-label{fill:var(--text-muted);font-size:10px}.forecast-chart .chart-direct-label{fill:var(--text-primary);font-size:11px;font-weight:600}
