:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--panel:#fff;--panel-soft:#f0f3f6;--text:#1e293b;--muted:#5b6878;--line:#dce1e7;--good:#166047;--good-bg:#dcefe6;--warn:#9a4f12;--warn-bg:#f8e9d8;--ink:#253b4b}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);overflow-wrap:anywhere;margin:0;font-family:Segoe UI,Arial,sans-serif}button,input,select{font:inherit}.shell{width:min(1380px,100% - 32px);margin:0 auto;padding:24px 0 48px}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.eyebrow{color:var(--good);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:4px;font-size:42px;line-height:1.05}h2{margin-bottom:4px;font-size:18px}h3{margin:0 0 10px;font-size:15px}.muted,.panel-head p,.small,.timeline-item span,.account-card span,.debt-row p,.view-toolbar span,.detail-row small,.legend{color:var(--muted)}.small{font-size:13px}.ghost-button,.primary-link,.segmented button{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.view-toolbar{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:12px;display:flex}.view-toolbar strong,.view-toolbar span{display:block}.view-toolbar span{margin-top:3px;font-size:13px}.segmented{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:inline-grid}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented button{background:0 0;border-color:#0000;min-width:86px;min-height:34px;padding:0 12px}.segmented button.active{border-color:var(--line);background:var(--panel);color:var(--good);font-weight:700}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}input,select{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--text);font:inherit;border-radius:8px;padding:0 12px}input[type=search]{min-width:180px}.primary-link{border-color:var(--good);background:var(--good);color:#fff;margin-top:10px}.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.metric,.panel,.login-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;box-shadow:0 1px 2px #1c24200a}.metric{min-height:92px;padding:14px}.metric span{color:var(--muted);text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:700;display:block}.metric strong{font-size:23px;line-height:1}.metric.good{background:var(--good-bg)}.metric.warn{background:var(--warn-bg)}.cockpit{gap:14px;margin-bottom:14px;display:grid}.plan-row span,.next-actions span{color:var(--muted)}.summary-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:14px;display:grid}.cockpit-panel{min-height:100%}.plan-stack,.next-actions{gap:8px;display:grid}.plan-row{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.plan-row.warn{background:#fffaf5}.plan-row.good{background:#f5fbf8}.plan-row span{margin-top:3px;font-size:12px;display:block}.plan-row b{color:var(--ink)}.plan-row.warn b{color:var(--warn)}.plan-row.good b{color:var(--good)}.next-actions{counter-reset:action;margin:0;padding-left:0;list-style:none}.next-actions li{border:1px solid var(--line);counter-increment:action;background:#fbfcfb;border-radius:8px;gap:3px;padding:10px 10px 10px 40px;display:grid;position:relative}.next-actions li:before{background:var(--panel-soft);width:22px;height:22px;color:var(--ink);content:counter(action);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px}.next-actions span{font-size:13px;line-height:1.35}.grid{gap:14px;margin-bottom:14px;display:grid}.grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.panel{min-width:0;padding:16px}.panel-head{margin-bottom:14px}.priority-row,.timeline-item,.debt-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.priority-row:first-of-type,.timeline-item:first-child,.debt-row:first-child{border-top:0}.priority-row span,.timeline-item span,.account-card span{margin-top:3px;font-size:13px;display:block}.review-list{gap:10px;margin:0;padding-left:18px;display:grid}.timeline{max-height:520px;padding-right:2px;overflow:auto}.timeline-item{grid-template-columns:74px minmax(0,1fr) auto}.projection-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:12px;display:grid}.projection-card{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;display:grid}.projection-card span,.projection-card small{color:var(--muted);display:block}.projection-card span{margin-top:3px;font-size:13px}.projection-card small{grid-column:1/-1;font-size:12px;line-height:1.35}.weekly-review{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;gap:10px;margin-bottom:12px;padding:12px;display:grid}.weekly-review-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.weekly-review-head span,.callout-row small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.35;display:block}.review-status{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.review-status span{border:1px solid var(--line);background:var(--panel-soft);min-height:28px;color:var(--ink);border-radius:8px;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.callout-list{gap:8px;display:grid}.callout-row{border-top:1px solid var(--line);grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:10px;display:grid}.callout-row.warn{background:linear-gradient(90deg,#f8e9d873,#0000 70%)}.callout-title-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.budget-context-chip{border:1px solid var(--line);background:var(--panel-soft);min-height:24px;color:var(--ink);white-space:nowrap;border-radius:8px;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.budget-context-chip.ok{background:var(--good-bg);color:var(--good);border-color:#16604747}.budget-context-chip.tight,.budget-context-chip.over,.budget-context-chip.paused,.budget-context-chip.missed{background:var(--warn-bg);color:var(--warn);border-color:#9a4f1247}.budget-context-chip.confirmed,.budget-context-chip.upcoming{background:var(--good-bg);color:var(--good);border-color:#16604747}.plan-action-review{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;margin-bottom:12px;padding:12px;display:grid}.plan-action-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plan-action-head span,.plan-action-row small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.35;display:block}.plan-action-list{gap:8px;display:grid}.plan-action-row{border-top:1px solid var(--line);grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:10px;display:grid}.plan-action-row:first-child{border-top:0}.plan-action-row.missed{background:linear-gradient(90deg,#f8e9d885,#0000 76%)}.plan-action-row.confirmed{background:linear-gradient(90deg,#e0f1ea73,#0000 76%)}.recommendation-list{max-height:720px;padding-right:2px;overflow:auto}.recommendation-row{border-top:1px solid var(--line);grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.recommendation-row:first-child{border-top:0}.recommendation-row span,.recommendation-row small{color:var(--muted);margin-top:3px;font-size:13px;display:block}.recommendation-row small{margin-top:5px;font-size:12px}.recommendation-row.warn{background:linear-gradient(90deg,#f8e9d873,#0000 70%)}.date-chip{background:var(--panel-soft);width:64px;min-height:32px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.inflow{color:var(--good)}.outflow,.warn-text{color:var(--warn)}.account-stack,.debt-stack{gap:10px;display:grid}.account-card{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;padding:12px}.account-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 0;display:grid}.account-card dt{color:var(--muted);font-size:12px}.account-card dd{margin:3px 0 0;font-weight:700}.debt-row{grid-template-columns:34px minmax(0,1fr) auto}.debt-row>span{background:var(--panel-soft);border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:inline-flex}.debt-row p{margin:3px 0 0;font-size:13px}.right{text-align:right}.right small{color:var(--muted);margin-top:3px;display:block}.detail-area{gap:14px;margin-bottom:14px;display:grid}.detail-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.detail-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.review-controls{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.review-controls select,.review-controls input,.review-controls .segmented{max-width:100%}.advanced-filters{position:relative}.advanced-filters summary{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 12px;list-style:none;display:inline-flex}.advanced-filters summary::-webkit-details-marker{display:none}.advanced-filters summary:after{content:"▾";color:var(--muted);margin-left:8px;font-size:12px}.advanced-filters[open] summary:after{content:"▴"}.advanced-filters>div{z-index:5;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:8px;width:min(360px,100vw - 32px);margin-top:8px;padding:10px;display:grid;position:absolute;right:0;box-shadow:0 8px 20px #1c24201f}.advanced-filters>div select{width:100%}.filter-chips{flex-wrap:wrap;gap:8px;margin:-4px 0 12px;display:flex}.filter-chips span,.filter-chips button{border:1px solid var(--line);background:var(--panel-soft);min-height:28px;color:var(--ink);border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;display:inline-flex}.filter-chips button{background:var(--panel);cursor:pointer}.review-total-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.spending-review .metric{min-height:76px}.spending-table{margin-top:10px}.membership-panel .detail-table-wrap{margin-top:0}.legend{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.data-freshness{color:var(--muted);text-align:right;margin:14px 0 0;font-size:13px}.dot{background:var(--muted);border-radius:999px;width:8px;height:8px;display:inline-block}.dot.fixed{background:var(--good)}.dot.flex,.dot.chase{background:var(--warn)}.detail-table-wrap,.detail-table-wrap:first-of-type{margin-top:18px}.action-panel{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;padding:12px}.table-note{max-width:720px;color:var(--muted);margin-bottom:10px;font-size:13px}.action-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.action-head h3{margin-bottom:3px}.action-head p{color:var(--muted);margin-bottom:0;font-size:13px}.action-head>strong{color:var(--warn);font-size:20px}.action-list{gap:8px;display:grid}.action-row{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(82px,.55fr)) minmax(180px,1fr);align-items:start;gap:10px;padding-top:10px;display:grid}.action-row:first-child{border-top:0;padding-top:0}.action-row span,.action-row small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.detail-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.detail-row{border-top:1px solid var(--line);background:#fbfcfb;grid-template-columns:minmax(180px,1.4fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(86px,.7fr) minmax(94px,.7fr) minmax(94px,.7fr) minmax(130px,.9fr);align-items:start;gap:10px;padding:11px 12px;display:grid}.detail-row:first-child{border-top:0}.transaction-review{margin-top:14px}.transaction-head{justify-content:space-between;align-items:end;gap:12px;margin-bottom:8px;display:flex}.transaction-head h3{margin:0}.transaction-head span{color:var(--muted);font-size:13px}.transaction-row{border-top:1px solid var(--line);background:#fbfcfb;grid-template-columns:78px minmax(180px,1.3fr) minmax(140px,1fr) minmax(130px,.9fr) minmax(120px,.8fr) minmax(84px,.5fr);align-items:start;gap:10px;padding:10px 12px;font-size:13px;display:grid}.transaction-row:first-child{border-top:0}.transaction-row-head{background:var(--panel-soft);color:var(--muted);font-size:12px;font-weight:700}.transaction-row small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.detail-row-head{background:var(--panel-soft);color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.detail-row.reviewable{background:#fffaf5}.detail-row strong,.detail-row small{display:block}.detail-row small{margin-top:3px;font-size:12px}.status-pill{background:var(--good-bg);min-height:24px;color:var(--good);border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;display:inline-flex}.status-pill.warn{background:var(--warn-bg);color:var(--warn)}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{width:min(460px,100%);box-shadow:none;border-radius:6px;padding:32px}.login-panel h1{letter-spacing:-.5px;margin:16px 0 12px;font-size:28px}.login-panel p{color:var(--muted);font-size:14px;line-height:1.65}.login-panel .eyebrow{color:var(--ink);text-transform:none;font-size:14px}.login-panel .primary-link{background:var(--ink);color:#fff;border-radius:5px;margin-top:8px}.notice{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);border-radius:8px;margin-top:14px;padding:12px}code{background:#e6ebe7;border-radius:4px;padding:2px 5px}@media (max-width:1100px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-grid,.detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-table{border:0;border-radius:0;overflow:visible}.detail-row-head{display:none}.detail-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:8px}.action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:780px){h1{font-size:34px}.shell{width:min(100% - 20px,1380px);padding-top:14px}.topbar,.view-toolbar,.detail-head,.summary-grid,.grid.two{grid-template-columns:1fr}.topbar,.view-toolbar,.detail-head{display:grid}.toolbar-actions,.review-controls{grid-template-columns:1fr;justify-content:stretch;width:100%;display:grid}.review-controls select,.review-controls input,.review-controls .segmented,.advanced-filters,.advanced-filters summary{width:100%}.advanced-filters>div{width:100%;box-shadow:none;position:static}.segmented button{min-width:0}.legend{justify-content:flex-start}.action-head{display:grid}.metric-grid,.review-total-grid,.account-card dl{grid-template-columns:1fr 1fr}.timeline-item,.recommendation-row,.plan-action-row{grid-template-columns:64px minmax(0,1fr)}.timeline-item b,.recommendation-row b,.plan-action-row b{grid-column:2;justify-self:start}.data-freshness{text-align:left}.topbar form,.topbar .ghost-button,.toolbar-actions .ghost-button,.view-toolbar .segmented{width:100%}}@media (max-width:520px){h1{font-size:30px}.metric-grid,.detail-summary,.review-total-grid,.projection-grid,.account-card dl,.detail-row,.action-row,.recommendation-row,.transaction-row{grid-template-columns:1fr}.metric{min-height:auto}.shell{width:min(100% - 16px,1380px);padding-bottom:32px}.panel,.view-toolbar,.account-card{padding:12px}.plan-row{grid-template-columns:1fr}.plan-row b{justify-self:start}.debt-row{grid-template-columns:34px minmax(0,1fr)}.debt-row .right{text-align:left;grid-column:2}.recommendation-row b{grid-column:auto}.detail-row,.transaction-row{gap:8px;padding:10px}.detail-row>span,.transaction-row>span{gap:3px;display:grid}.detail-row>span:before,.transaction-row>span:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.detail-row>span[data-label=Item]:before,.transaction-row>span[data-label=Merchant]:before{display:none}.transaction-row .right{text-align:left}}.next30-dashboard{gap:18px;line-height:1.5;display:grid}.next30-overview{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.next30-dashboard .panel{padding:24px}.next30-dashboard .panel-head{border-bottom:1px solid var(--line);padding-bottom:16px}.next30-dashboard .panel-head p{margin-bottom:0;font-size:14px}.next30-goal{border-left:3px solid var(--good);background:var(--good-bg);border-radius:0 8px 8px 0;padding:12px 14px}.next30-dashboard .next-actions li{padding:12px 12px 12px 44px;font-size:14px}.next30-dashboard .next-actions li:before{top:13px}.next30-disclosure{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.next30-disclosure summary{cursor:pointer;color:var(--good);padding:4px 0;font-weight:700}.next30-disclosure[open] summary{margin-bottom:12px}.next30-disclosure summary:focus-visible{outline:2px solid var(--good);outline-offset:4px;border-radius:3px}.next30-narrative{white-space:pre-line;max-width:75ch}.next30-horizons{gap:12px;margin-bottom:22px;display:grid}.next30-horizon{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;padding:16px}.next30-horizon-head{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex}.next30-horizon-head strong{color:var(--good);font-size:18px}.next30-horizon-head span{color:var(--muted);font-size:13px}.next30-horizon dl{margin:12px 0 0}.next30-horizon dl>div{justify-content:space-between;gap:12px;padding:5px 0;display:flex}.next30-horizon dt{color:var(--muted)}.next30-horizon dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.next30-horizon .next30-total{border-top:1px solid var(--line);margin-top:7px;padding-top:12px;font-size:18px}.next30-warnings{font-size:13px}.next30-tasks{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.next30-task{padding:18px;font-size:14px}.next30-task-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.next30-task-head h3{margin-bottom:6px;font-size:16px}.next30-task-head .status-pill{flex-shrink:0;margin:0;display:inline-flex}.next30-task p:last-child{margin-bottom:0}.next30-task-notes{border-left:3px solid var(--line);padding-left:12px}.next30-balances{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.next30-balances .account-card{flex-direction:column;display:flex}.next30-balance-value{font-variant-numeric:tabular-nums;margin:auto 0 0;padding-top:16px;font-size:22px;font-weight:700}.next30-dashboard .timeline-item small{color:var(--muted);display:block}@media (max-width:1100px){.next30-balances{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:780px){.next30-overview,.next30-tasks,.next30-balances{grid-template-columns:minmax(0,1fr)}.next30-dashboard .panel{padding:16px}}
