@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/geist-latin-variable.woff2) format("woff2-variations")}:root{--color-text: #18211f;--color-muted: #51605c;--color-subtle: #64716d;--color-surface: #fff;--color-page: #f4f6f5;--color-primary: #164e4b;--color-primary-accent: #2f7d62;--color-warning-text: #704314;--color-warning-border: #d8c3aa;--color-warning-bg: #fff7ed;--color-danger: #9b2226;--color-danger-strong: #b3261e;--color-danger-border: #e3b7b7;--color-danger-bg: #fff1f1;--color-success: #1f7a46;--color-success-border: #b8d8c5;--color-success-bg: #edf7f1;--color-border: #dce2df;--color-border-strong: #c8d0cd;--color-border-soft: #e0e5e3;--color-track: #e8eeeb;--color-brand-warm: #9a5c22;--radius-sm: 6px;--radius-md: 8px;--shadow-panel: 0 20px 50px rgba(30, 45, 40, .08);--shadow-dialog: 0 24px 70px rgba(24, 33, 31, .28);--layout-max-width: 1180px;--bottom-tab-bar-height: 59px;--font-family: "Geist", ui-sans-serif, system-ui, sans-serif;--font-size-caption: .75rem;--font-size-small: .8125rem;--font-size-body: .875rem;--font-size-title: 1rem;--font-size-heading: 1.25rem;--font-size-headline: 1.75rem;--font-size-value: 1.5rem;--font-size-decision: 4rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-body: 1.5;color:var(--color-text);color-scheme:light;background:var(--color-page);font-family:var(--font-family);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-regular);letter-spacing:0;line-height:var(--line-height-body);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;background:var(--color-page)}body{margin:0;min-width:320px;font-size:var(--font-size-body)}button,input,select,textarea{font-family:inherit;font-size:var(--font-size-body);letter-spacing:0}button{min-height:38px;cursor:pointer;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-surface);padding:0 14px;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;min-height:38px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:8px 10px;font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}textarea{min-height:280px;resize:vertical;white-space:pre}label{display:grid;gap:6px;color:var(--color-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-headline)}h2{margin-bottom:12px;font-size:var(--font-size-title)}h3{font-size:var(--font-size-title)}small{display:block;margin-top:3px;color:var(--color-subtle);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);line-height:1.4}section{min-width:0}table{width:100%;border-collapse:collapse;font-size:var(--font-size-body)}th,td{border-bottom:1px solid var(--color-border-soft);padding:10px;text-align:left;vertical-align:top}th{color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);text-transform:uppercase}.secondary-button,.tabs button,.list-row button{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.secondary-button,.list-row button{flex:0 0 auto}.login-page,.status-page,.screen-status{display:grid;min-height:100vh;min-height:100dvh;place-items:center}.login-page,.status-page{padding:20px;padding:calc(20px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) calc(20px + env(safe-area-inset-left,0px))}.login-panel,.status-panel{display:grid;width:min(100%,380px);gap:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:24px;box-shadow:var(--shadow-panel)}.status-panel p:not(.eyebrow){color:var(--color-muted)}.status-panel button{justify-self:start}.eyebrow{color:var(--color-brand-warm);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);text-transform:uppercase}.app-shell{min-height:100vh;min-height:100dvh}.topbar,.workspace-header,.dialog-header,.topbar-actions,.account-actions,.category-actions,.list-row{display:flex;align-items:center}.topbar,.workspace-header,.dialog-header,.list-row{justify-content:space-between}.topbar{gap:18px;background:var(--color-surface);padding:18px max(24px,calc((100% - var(--layout-max-width)) / 2 + 24px));padding-top:calc(18px + env(safe-area-inset-top,0px));padding-right:max(24px,calc((100% - var(--layout-max-width)) / 2 + 24px),calc(24px + env(safe-area-inset-right,0px)));padding-left:max(24px,calc((100% - var(--layout-max-width)) / 2 + 24px),calc(24px + env(safe-area-inset-left,0px)))}.topbar-actions{gap:12px}.month-field input{max-width:100%;min-width:0;width:150px}.account-actions,.category-actions{gap:10px}.username{color:var(--color-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.logout-button svg{display:none}.tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:0 max(24px,calc((100% - var(--layout-max-width)) / 2 + 24px)) 14px;padding-right:max(24px,calc((100% - var(--layout-max-width)) / 2 + 24px),calc(24px + env(safe-area-inset-right,0px)));padding-left:max(24px,calc((100% - var(--layout-max-width)) / 2 + 24px),calc(24px + env(safe-area-inset-left,0px)))}.tabs button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-surface)}.bottom-tabs{display:none}.workspace{display:grid;width:min(100%,var(--layout-max-width));margin-inline:auto;gap:22px;padding:24px;padding-right:max(24px,calc(24px + env(safe-area-inset-right,0px)));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));padding-left:max(24px,calc(24px + env(safe-area-inset-left,0px)))}.app-shell>.banner,.app-shell>.screen-status{width:min(100%,var(--layout-max-width));margin-inline:auto}.workspace-header,.dialog-header{gap:12px}.workspace-header h2,.dialog-header h2{margin-bottom:0}.workspace-header h2{font-size:var(--font-size-heading)}.two-column,.entry-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);gap:22px}.analyze-row{display:grid;align-items:start;gap:22px}.analyze-live-row{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)}.analyze-budget-row{grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr)}.analyze-live-row .budget-kind-meter-grid,.analyze-budget-row .category-budget-stats{grid-template-columns:minmax(0,1fr)}.analyze-accounts-column{display:grid;align-content:start;min-width:0;gap:12px}.analyze-budget-row .category-budget-stat{min-height:0;padding:14px 16px}.metric-grid,.result-grid{display:grid;gap:12px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.result-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}.metric,.table-wrap,.list,.budget-list,.chart-panel,.budget-progress-panel,.planning-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.metric{display:grid;gap:6px;padding:14px}.chart-panel{padding:16px 12px 8px}.budget-kind-meter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.budget-kind-meter-card{display:grid;gap:10px;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:14px}.budget-kind-meter-card.over-target{border-color:var(--color-danger-border)}.budget-kind-meter-header,.budget-kind-meter-detail{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.budget-kind-meter-header span{color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.budget-kind-meter-header strong{color:var(--color-primary);font-size:var(--font-size-heading);line-height:var(--line-height-tight)}.budget-kind-meter-card.over-target .budget-kind-meter-header strong{color:var(--color-danger-strong)}.budget-kind-meter-bar{height:9px;overflow:hidden;border-radius:999px;background:var(--color-track)}.budget-kind-meter-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-primary-accent)}.category-meter-bar{display:block;margin-top:7px}.income-meter{display:grid;gap:9px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px 16px}.income-meter.short{border-color:var(--color-danger-border)}.income-meter-line{display:flex;align-items:baseline;gap:12px;min-height:0;border:0;border-radius:0;background:transparent;color:inherit;padding:0;text-align:left}.income-meter-line:hover .income-meter-amount{text-decoration:underline;text-underline-offset:3px}.income-meter-line:focus-visible{outline:3px solid rgba(22,78,75,.22);outline-offset:4px}.income-meter-line .eyebrow{flex-shrink:0}.income-meter-amount{min-width:0;font-size:var(--font-size-heading);line-height:var(--line-height-tight)}.income-meter-amount span{color:var(--color-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.income-meter-percent{margin-left:auto;flex-shrink:0;color:var(--color-primary);font-size:var(--font-size-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.income-meter.surplus .income-meter-percent,.income-meter.complete .income-meter-percent{color:var(--color-success)}.income-meter.short .income-meter-percent{color:var(--color-danger-strong)}.income-meter-bar{position:relative;height:10px;overflow:hidden;border-radius:999px;background:var(--color-track)}.income-meter-fill{display:block;height:100%;border-radius:inherit;background:var(--color-primary-accent)}.income-meter.surplus .income-meter-fill,.income-meter.complete .income-meter-fill{background:var(--color-success)}.income-meter.short .income-meter-fill{background:var(--color-danger-strong)}.income-meter-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--color-text);opacity:.45}.income-detail-month{color:var(--color-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.income-detail-list{display:grid;gap:10px;margin:0}.income-detail-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.income-detail-list dt{color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.income-detail-list dd{display:flex;align-items:baseline;gap:8px;margin:0;font-size:var(--font-size-title);font-weight:var(--font-weight-semibold)}.income-detail-list dd.positive{color:var(--color-success)}.income-detail-list dd small{color:var(--color-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.category-summary-row.expanded>td,.category-breakdown-row>td{background:var(--color-page)}.category-summary-row.expanded>td{border-bottom-color:transparent}.category-disclosure-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:32px;gap:12px;border:0;background:transparent;color:var(--color-text);padding:0;text-align:left;font-weight:var(--font-weight-semibold)}.category-disclosure-button:hover{color:var(--color-primary)}.category-disclosure-button:focus-visible{outline:3px solid rgba(22,78,75,.22);outline-offset:3px}.category-disclosure-chevron{width:8px;height:8px;flex:0 0 8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.category-disclosure-button[aria-expanded=true] .category-disclosure-chevron{transform:rotate(225deg)}.category-breakdown-row>td{padding:0}.category-breakdown{padding:4px 10px 12px}.category-breakdown-error{display:flex;align-items:center;gap:10px;padding:8px 0}.category-breakdown-error .form-error{flex:1 1 auto}.category-breakdown-skeleton{display:grid;gap:1px;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-border-soft)}.category-breakdown-skeleton span{display:block;height:44px;background:var(--color-track)}.category-breakdown-empty{padding-inline:10px}.category-transaction-heading,.category-transaction-list li{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(120px,.55fr) auto 32px;align-items:start;gap:12px}.category-transaction-heading{color:var(--color-subtle);padding:7px 10px;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.category-transaction-list ul{margin:0;padding:0;list-style:none}.category-transaction-list li{border-top:1px solid var(--color-border-soft);padding:10px;font-size:var(--font-size-body)}.category-transaction-list time,.category-transaction-account{color:var(--color-muted)}.category-transaction-description small{margin-top:2px}.category-transaction-amount{justify-self:end;white-space:nowrap}.category-transaction-action{display:grid;width:32px;min-height:32px;place-items:center;padding:0}.category-transaction-action svg{width:16px;height:16px}.recategorize-dialog{width:min(100%,480px)}.recategorize-form{display:grid;gap:18px}.recategorize-transaction-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;border-bottom:1px solid var(--color-border-soft);padding-bottom:14px}.recategorize-transaction-summary>span{grid-column:1 / -1;color:var(--color-muted);font-size:var(--font-size-small)}.recategorize-transaction-summary>.negative{grid-column:2;grid-row:1;white-space:nowrap}.budget-kind-meter-card.over-target .budget-kind-meter-bar span{background:var(--color-danger-strong)}.budget-kind-meter-detail small{margin-top:0}.budget-kind-meter-note{margin-top:-4px}.budget-meter{position:relative;display:grid;gap:8px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:20px 24px;box-shadow:var(--shadow-panel)}.budget-meter-help{position:absolute;top:14px;right:14px;z-index:1;display:grid;width:36px;min-height:36px;place-items:center;border-color:var(--color-border-strong);border-radius:50%;background:var(--color-surface);color:var(--color-primary);padding:0;font-size:var(--font-size-title);font-weight:var(--font-weight-bold);line-height:1}.budget-meter-help:hover{border-color:var(--color-primary);background:var(--color-page)}.budget-meter-help:focus-visible{outline:3px solid rgba(22,78,75,.22);outline-offset:2px}.budget-meter.over-budget{border-color:var(--color-danger-border)}.budget-meter-heading{display:flex;align-items:center;justify-content:center;min-height:132px;gap:6px;padding-inline:8px}.budget-meter-value{display:grid;flex:0 1 auto;min-width:0;gap:4px;place-items:center;text-align:center}.budget-meter h2.safe-to-spend{margin-bottom:0;font-size:var(--font-size-decision);line-height:1.05;white-space:nowrap}.safe-to-spend.good{color:var(--color-success)}.safe-to-spend.warning{color:var(--color-warning-text)}.safe-to-spend.danger{color:var(--color-danger-strong)}.budget-companion{width:144px;flex:0 1 144px;max-width:100%;aspect-ratio:1;overflow:hidden;pointer-events:none}.budget-companion-sprite{display:block;width:100%;height:100%;background-image:url(/assets/husky-budget-sprite.png);background-repeat:no-repeat;background-size:300% 200%}.budget-companion.delighted .budget-companion-sprite{background-position:0 0}.budget-companion.happy .budget-companion-sprite{background-position:50% 0}.budget-companion.watchful .budget-companion-sprite{background-position:100% 0}.budget-companion.worried .budget-companion-sprite{background-position:0 100%;background-size:290% 200%}.budget-companion.agitated .budget-companion-sprite{background-position:50% 100%;background-size:315% 200%}.budget-companion.crying .budget-companion-sprite{background-position:100% 100%}.budget-meter-why{margin:0;color:var(--color-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);text-align:center}.budget-usage-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.budget-usage-header strong{color:var(--color-primary);font-size:var(--font-size-heading);line-height:var(--line-height-tight)}.over-budget .budget-usage-header strong{color:var(--color-danger-strong)}.budget-usage-bar{height:9px;overflow:hidden;border-radius:999px;background:var(--color-track)}.budget-usage-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-primary-accent)}.over-budget .budget-usage-bar span{background:var(--color-danger-strong)}.flexible-spending-dialog{width:min(100%,720px);gap:14px}.flexible-spending-month{margin:-8px 0 2px;color:var(--color-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.flexible-spending-error{display:flex;align-items:center;gap:12px}.flexible-spending-error .form-error{flex:1 1 auto}.flexible-spending-skeleton{display:grid;gap:1px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-border-soft)}.flexible-spending-skeleton span{display:block;height:64px;background:var(--color-surface)}.flexible-spending-equation{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.breakdown-group+.breakdown-group,.breakdown-group+.breakdown-group-row,.breakdown-group-row+.breakdown-group,.breakdown-group-row+.breakdown-group-row{border-top:1px solid var(--color-border-soft)}.breakdown-group>summary{list-style:none}.breakdown-group>summary::-webkit-details-marker{display:none}.breakdown-group-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;min-height:64px;gap:12px;padding:11px 14px}summary.breakdown-group-row{cursor:pointer}summary.breakdown-group-row:hover{background:var(--color-page)}summary.breakdown-group-row:focus-visible{position:relative;z-index:1;outline:3px solid rgba(22,78,75,.22);outline-offset:-3px}.breakdown-disclosure{width:8px;height:8px;border-right:2px solid var(--color-muted);border-bottom:2px solid var(--color-muted);transform:rotate(-45deg)}.breakdown-group[open] .breakdown-disclosure{transform:rotate(45deg) translate(-2px,-2px)}.breakdown-group-row.static .breakdown-disclosure{visibility:hidden}.breakdown-group-copy,.breakdown-item-copy{display:grid;min-width:0;gap:3px}.breakdown-group-copy small,.breakdown-item-copy>small,.breakdown-item-heading time{color:var(--color-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.breakdown-item-list{margin:0;background:var(--color-page);padding:0 14px 0 38px;list-style:none}.breakdown-item-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-top:1px solid var(--color-border-soft);padding:11px 0}.breakdown-item-heading{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.breakdown-item-heading strong{overflow-wrap:anywhere}.breakdown-item-heading>small{margin-top:0;color:var(--color-warning-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.breakdown-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.breakdown-amount.negative{color:var(--color-text)}.breakdown-amount.positive{color:var(--color-success)}.flexible-spending-result{display:grid;gap:9px;border-top:2px solid var(--color-border-strong);padding:15px 14px 2px}.flexible-spending-raw-result,.flexible-spending-final-result{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.flexible-spending-raw-result{color:var(--color-muted)}.flexible-spending-final-result{font-size:var(--font-size-title);font-weight:var(--font-weight-bold)}.flexible-spending-result strong{font-variant-numeric:tabular-nums;white-space:nowrap}.flexible-spending-result>small{margin-top:-4px;color:var(--color-danger);text-align:right}.category-budget-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.category-budget-stat{display:grid;align-content:center;min-width:0;min-height:108px;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:16px}.category-budget-stat span{color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.category-budget-stat strong{font-size:var(--font-size-value)}.category-budget-stat small{margin-top:0;color:var(--color-muted);font-size:var(--font-size-small)}.mobile-accordion{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.mobile-accordion>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:14px 16px;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.mobile-accordion>summary::-webkit-details-marker{display:none}.mobile-accordion>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.mobile-accordion>summary small{margin-left:auto;color:var(--color-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);text-transform:none}.mobile-accordion-chevron{width:8px;height:8px;flex:0 0 8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.mobile-accordion[open] .mobile-accordion-chevron{transform:rotate(225deg)}.mobile-accordion-body{border-top:1px solid var(--color-border-soft)}.mobile-accordion-body>.table-wrap{border:0;border-radius:0}.mobile-accordion-body>.empty{padding:14px 16px}.budget-progress-panel,.planning-panel{display:grid;gap:14px;padding:18px}.planned-purchases-heading{display:grid;gap:4px}.planned-purchases-summary{color:var(--color-muted);font-size:var(--font-size-body)}.planning-panel .table-wrap{border:0;border-radius:0}.plan-timeline{display:grid;row-gap:14px;padding:4px 0 6px;overflow-x:auto}.plan-timeline-month{padding:0 8px;color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-align:center;text-transform:uppercase;white-space:nowrap}.plan-timeline-month.now{color:var(--color-primary-accent)}.plan-timeline-cell{position:relative;display:grid;gap:2px;justify-items:center;align-content:start;padding:0 8px;text-align:center}.plan-timeline-cell.has-prev:before,.plan-timeline-cell.has-next:after{content:"";position:absolute;top:10px;border-top:2px solid var(--color-border-strong)}.plan-timeline-cell.has-prev:before{right:50%;left:0}.plan-timeline-cell.has-next:after{right:0;left:50%}.plan-timeline-dot{z-index:1;display:grid;width:22px;height:22px;min-height:0;place-items:center;border:0;border-radius:50%;background:transparent;padding:0}.plan-timeline-dot:before{content:"";box-sizing:border-box;width:14px;height:14px;border:2px solid var(--color-border-strong);border-radius:50%;background:var(--color-surface)}.plan-timeline-dot:hover:before,.plan-timeline-dot:focus-visible:before{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-border-soft)}.plan-timeline-cell.elapsed .plan-timeline-dot:before{border-color:var(--color-primary-accent);background:var(--color-primary-accent)}.plan-timeline-cell.target .plan-timeline-dot:before{border-color:var(--color-success)}.plan-timeline-cell.target.elapsed .plan-timeline-dot:before{background:var(--color-success)}.plan-timeline-initials{font-size:var(--font-size-small);font-weight:var(--font-weight-bold)}.plan-timeline-amount{margin-top:0;color:var(--color-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.priority-pill{flex:0 0 auto;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-page);color:var(--color-muted);padding:2px 8px;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.priority-pill.high{border-color:var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning-text)}.priority-pill.low{color:var(--color-subtle)}.planning-metrics{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}.planning-metrics div{display:grid;gap:4px;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);padding:10px}.planning-metrics span{color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.planning-metrics strong{font-size:var(--font-size-title)}.budget-progress-panel.over-budget{border-color:var(--color-danger-border)}.budget-progress-header{display:flex;align-items:end;justify-content:space-between;gap:16px}.budget-progress-header h2{margin-bottom:0;font-size:var(--font-size-headline)}.budget-progress-header strong{color:var(--color-primary);font-size:var(--font-size-title);text-align:right}.budget-progress-panel.over-budget .budget-progress-header strong{color:var(--color-danger-strong)}.budget-progress{height:18px;overflow:hidden;border-radius:999px;background:var(--color-track)}.budget-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-primary-accent)}.budget-progress-panel.over-budget .budget-progress span{background:var(--color-danger-strong)}.metric span{color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.metric strong{font-size:var(--font-size-heading)}.table-wrap,.list,.budget-list{overflow:auto}.accounts-table .account-type-emoji{margin-right:8px;font-style:normal}.banner{border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning-text);padding:12px 14px}.banner.error,.form-error{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger)}.retry-banner{display:flex;align-items:center;justify-content:space-between;gap:12px}.retry-banner button{flex:0 0 auto}.form-error{border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);padding:9px 10px}.negative{color:var(--color-danger-strong)}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.empty,.screen-status{color:var(--color-subtle);padding:16px;padding:calc(16px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px))}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;overflow:auto;background:#18211f85;padding:24px;padding:calc(24px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(24px + env(safe-area-inset-left,0px));overscroll-behavior:contain}.entry-dialog{display:grid;width:min(100%,1120px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));gap:22px;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-page);padding:22px;box-shadow:var(--shadow-dialog);overscroll-behavior:contain}.manage-grid{display:grid;grid-template-columns:minmax(0,520px);gap:22px;align-items:start}.workspace-description{margin:4px 0 0;color:var(--color-muted)}.budget-allocation-layout{display:grid;width:min(100%,820px);margin-inline:auto;gap:0}.budget-income-section{display:grid;gap:14px;border:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--color-surface);padding:18px}.budget-income-section h3,.category-allocation-section h3{margin:0;font-size:var(--font-size-title)}.budget-income-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:18px}.budget-income-value,.budget-manual-income{display:grid;align-content:start;gap:5px}.budget-income-value>span,.budget-manual-income>span{color:var(--color-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.budget-income-value strong{color:var(--color-primary);font-size:var(--font-size-value)}.projected-income-trigger{border:0;border-radius:0;background:transparent;color:inherit;padding:0;text-align:left}.projected-income-trigger:hover strong{text-decoration:underline;text-underline-offset:3px}.projected-income-trigger:focus-visible{outline:3px solid rgba(22,78,75,.22);outline-offset:4px}.budget-income-value small,.category-allocation-heading small,.allocation-summary small{color:var(--color-muted)}.projected-income-dialog{width:min(100%,760px)}.projected-income-month{margin:-12px 0 0;color:var(--color-muted)}.projected-income-error{display:flex;align-items:center;gap:12px}.projected-income-error .form-error{flex:1 1 auto}.projected-income-skeleton{display:grid;gap:1px;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-border-soft)}.projected-income-skeleton span{height:52px;background:var(--color-track)}.projected-income-heading,.projected-income-transactions li{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(120px,.55fr) auto;align-items:center;gap:12px}.projected-income-heading{color:var(--color-subtle);padding:0 10px 7px;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.projected-income-transactions ul{margin:0;padding:0;list-style:none}.projected-income-transactions li{border-top:1px solid var(--color-border-soft);padding:12px 10px;font-size:var(--font-size-body)}.projected-income-transactions time,.projected-income-account{color:var(--color-muted)}.projected-income-amount{justify-self:end;color:var(--color-primary);white-space:nowrap}.projected-income-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--color-border-strong);padding:14px 10px 0}.projected-income-total strong{color:var(--color-primary);font-size:var(--font-size-heading)}.projected-income-empty{padding-inline:0}.allocation-summary{position:sticky;top:0;z-index:3;display:grid;gap:7px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border-strong);border-left:1px solid var(--color-border);background:var(--color-surface);padding:12px 18px}.allocation-summary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.allocation-summary-heading span{font-weight:var(--font-weight-bold)}.allocation-summary-heading strong{color:var(--color-primary);font-size:var(--font-size-heading)}.allocation-progress{height:8px;overflow:hidden;border-radius:999px;background:var(--color-track)}.allocation-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-primary-accent);transition:width .12s ease}.allocation-summary.overallocated .allocation-summary-heading strong{color:var(--color-danger-strong)}.allocation-summary.overallocated .allocation-progress span{background:var(--color-danger-strong)}.category-allocation-section{display:grid;gap:12px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--color-surface);padding:18px}.category-allocation-list{display:grid}.category-allocation-row{display:grid;gap:6px;border-bottom:1px solid var(--color-border-soft);padding:14px 0}.category-allocation-row:first-child{padding-top:4px}.category-allocation-row:last-child{border-bottom:0;padding-bottom:4px}.category-allocation-heading{display:flex;align-items:start;gap:14px}.category-allocation-heading>div{display:flex;align-items:start;flex-direction:column;min-width:0;gap:4px}.category-spending-metrics{display:flex;flex-wrap:wrap;gap:4px 8px}.category-spending-metrics small{margin:0;text-align:left}.category-spending-metrics small+small:before{margin-right:8px;color:var(--color-subtle);content:"·"}.category-allocation-controls{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:14px}.category-allocation-slider{width:100%;min-width:0;height:38px;margin:0;accent-color:var(--color-primary-accent);cursor:pointer}.category-allocation-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;height:38px;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface)}.category-allocation-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #164e4b29}.category-allocation-input span{padding-left:10px;color:var(--color-muted);font-weight:var(--font-weight-semibold)}.category-allocation-input input{width:100%;height:36px;border:0;padding-left:4px;box-shadow:none;text-align:right}.category-allocation-input input:focus{outline:0;box-shadow:none}.manage-toolbar{margin-bottom:-4px}.manage-actions{display:flex;flex-wrap:wrap;gap:10px}.manage-dialog{width:min(100%,760px)}.plans-dialog{width:min(100%,900px)}.income-detail-dialog{width:min(100%,420px);gap:14px}.plans-panel{display:grid;gap:14px}.plan-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plan-summary-grid div{display:grid;gap:4px;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-surface);padding:10px}.plan-summary-grid span{color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.plan-summary-grid strong{font-size:var(--font-size-title)}.plan-create-form{display:grid;grid-template-columns:minmax(160px,1fr) 110px 110px 110px 140px auto;align-items:end;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px}.compact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.compact-form button{grid-column:1 / -1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.accounts-panel{display:grid;gap:16px}.accounts-panel>h2{margin-bottom:0}.plaid-connect-row{display:flex;align-items:end;gap:10px;border-bottom:1px solid var(--color-border);padding-bottom:16px}.plaid-connect-row label{width:min(100%,220px)}.plaid-connect-row button{flex:0 0 auto}.form-notice{margin:0;border:1px solid var(--color-success-border);border-radius:var(--radius-sm);background:var(--color-success-bg);color:var(--color-success);padding:9px 10px}.connection-list{display:grid}.connection-group{display:grid;gap:12px;border-top:1px solid var(--color-border-soft);padding:16px 0}.connection-group:first-child{border-top:0;padding-top:0}.connection-group:last-child{padding-bottom:0}.connection-header,.connection-title-row,.connection-actions,.disconnect-confirmation,.disconnect-confirmation>div,.account-row-actions{display:flex;align-items:center}.connection-header,.disconnect-confirmation{justify-content:space-between}.connection-header{gap:16px}.connection-title-row{flex-wrap:wrap;gap:8px}.connection-title-row h3,.connection-header>h3{margin:0;font-size:var(--font-size-title)}.connection-status{border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-page);color:var(--color-muted);padding:3px 7px;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.connection-status.healthy{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}.connection-status.pending{border-color:var(--color-border-strong);background:var(--color-page);color:var(--color-primary)}.connection-status.needs_attention{border-color:var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning-text)}.connection-status.error{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger)}.connection-actions,.disconnect-confirmation>div,.account-row-actions{gap:8px}.disconnect-confirmation{gap:14px;border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-danger-bg);padding:10px 12px}.disconnect-confirmation p{color:var(--color-danger);font-size:var(--font-size-body)}.danger-button{border-color:var(--color-danger-strong);background:var(--color-danger-strong);color:var(--color-surface)}.account-list{border:0;border-radius:0;border-top:1px solid var(--color-border-soft);background:transparent}.account-row{padding-right:0;padding-left:0}.account-identity{min-width:0}.account-row-actions{flex:0 0 auto}.account-row-actions label{width:116px}.empty-copy{margin:0;color:var(--color-subtle);padding:10px 0}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title-row h2{margin-bottom:0}.compact-button{min-height:32px;padding:0 10px}.segmented-control{display:inline-flex;width:100%;max-width:260px;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface)}.segmented-control button{flex:1 1 0;min-height:32px;border:0;border-radius:0;background:transparent;color:var(--color-text);padding:0 8px;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.segmented-control button+button{border-left:1px solid var(--color-border-strong)}.segmented-control button.active,.segmented-control button[aria-pressed=true]{background:var(--color-primary);color:var(--color-surface)}.segmented-control button:disabled{background:var(--color-page)}.classification-control{display:grid;width:min(100%,300px);gap:8px}.classification-control .segmented-control{max-width:none}.approve-button{display:inline-flex;min-height:32px;align-items:center;gap:6px;border-color:var(--color-success);background:var(--color-success);padding:0 10px}.approve-button svg{width:16px;height:16px;flex:0 0 auto}.kind-control-slot{width:min(100%,260px);min-height:32px}.list-row{gap:12px;border-bottom:1px solid var(--color-border-soft);padding:10px}.list-row:last-child,.amount-row:last-child{border-bottom:0}.plan-row{align-items:start}.plan-edit-row{display:grid;gap:6px}.plan-row-fields{display:grid;grid-template-columns:minmax(150px,1.5fr) minmax(100px,1fr) repeat(2,minmax(90px,.8fr)) minmax(120px,1fr) minmax(105px,1fr) auto;align-items:end;gap:12px;width:100%}.plan-row-status{display:grid;gap:3px;min-height:38px}.plan-row-status span,.plan-row-status small{color:var(--color-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.plan-row-fields select,.plan-row-fields input{width:100%;flex:1 1 auto}.plan-row-saving,.autosave-status{color:var(--color-subtle);font-weight:var(--font-weight-semibold)}.plan-link-summary{color:var(--color-muted)}.plan-link-list{overflow-y:auto;max-height:min(52vh,420px);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm)}.plan-link-option{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--color-border-soft);border-radius:0;background:var(--color-surface);color:var(--color-text);padding:10px;text-align:left}.plan-link-option:last-child{border-bottom:0}.plan-link-option:hover:not(:disabled),.plan-link-option:focus-visible{background:var(--color-page)}.plan-link-date{color:var(--color-subtle);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);white-space:nowrap}.plan-link-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-link-amount{font-weight:var(--font-weight-bold);white-space:nowrap}.amount-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:10px;border-bottom:1px solid var(--color-border-soft);padding:9px 10px}.goal-total{padding:10px;color:var(--color-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-align:right;text-transform:uppercase}.goal-mix-control{display:grid;gap:16px;padding:16px 12px;overflow:visible}.goal-slider{position:relative;height:34px;touch-action:none}.goal-slider:before{position:absolute;top:50%;right:0;left:0;height:8px;border-radius:999px;background:linear-gradient(to right,var(--color-primary) 0 var(--need-end),var(--color-primary-accent) var(--need-end) var(--want-end),var(--color-brand-warm) var(--want-end) 100%);content:"";transform:translateY(-50%)}.goal-handle{position:absolute;top:50%;z-index:1;width:24px;min-width:24px;height:24px;min-height:24px;border:3px solid var(--color-surface);border-radius:999px;background:var(--color-text);box-shadow:0 2px 8px #18211f38;padding:0;transform:translate(-50%,-50%)}.goal-handle:focus-visible{outline:3px solid var(--color-brand-warm);outline-offset:3px}.goal-mix-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.goal-mix-values div{display:grid;gap:3px}.goal-mix-values span{color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.goal-mix-values strong{font-size:var(--font-size-title)}.goal-bars{display:grid;gap:12px;padding:4px}.goal-bar-row{display:grid;grid-template-columns:86px minmax(0,1fr) 48px;align-items:center;gap:10px}.goal-bar-row>span{color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.goal-bar-row>strong{color:var(--color-primary);font-size:var(--font-size-body);text-align:right}.goal-bar-track{position:relative;height:22px;overflow:hidden;border-radius:999px;background:var(--color-track)}.goal-bar-track span{position:absolute;top:0;bottom:0;left:0}.goal-bar-target{background:color-mix(in srgb,var(--color-primary) 22%,transparent)}.goal-bar-actual{height:10px;margin:6px 0;border-radius:999px;background:var(--color-brand-warm)}.goal-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid var(--color-border-soft);padding:12px 4px 0}.goal-targets div{display:grid;gap:3px}.goal-targets span,.static-row span{color:var(--color-subtle);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.goal-targets strong,.static-row strong{font-size:var(--font-size-title)}.goal-targets small{color:var(--color-muted)}.errors{margin-top:14px}@media(max-width:900px){h1{font-size:var(--font-size-value)}.app-shell{padding-bottom:calc(var(--bottom-tab-bar-height) + 11px);padding-bottom:calc(var(--bottom-tab-bar-height) + 11px + env(safe-area-inset-bottom,0px))}.topbar{position:relative}.topbar,.topbar-actions{align-items:stretch;flex-direction:column}.topbar>:first-child{padding-right:min(46vw,190px)}.topbar-actions{gap:10px}.month-field,.month-field input{max-width:100%;min-width:0;width:100%}.month-field input{padding-inline:0}.topbar .account-actions{align-items:center;position:absolute;top:12px;right:12px;top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));justify-content:flex-end;max-width:min(46vw,190px)}.username{min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.tabs button{width:100%}.topbar-actions .logout-button{display:inline-grid;width:38px;flex:0 0 38px;min-height:38px;place-items:center;border-color:transparent;background:transparent;color:var(--color-primary);padding:0}.logout-button svg{display:block;width:20px;height:20px}.logout-button span{display:none}.workspace-header,.budget-progress-header{align-items:start;flex-direction:column}.budget-progress-header strong{text-align:left}.budget-meter{padding:18px}.budget-meter-help{top:10px;right:10px}.budget-meter-heading{min-height:112px;gap:4px;margin-top:18px;padding:0}.budget-companion{width:120px;flex-basis:120px}.budget-meter h2.safe-to-spend{font-size:2.25rem}.budget-meter h2.safe-to-spend.compact{font-size:1.625rem}.budget-meter h2.safe-to-spend.extra-compact{font-size:1.375rem}.category-budget-stats,.analyze-budget-row .category-budget-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.category-budget-stat:last-child{grid-column:span 2}.analyze-row{gap:18px}.analyze-budget-row .category-budget-stats{order:-1}.flexible-spending-error{align-items:stretch;flex-direction:column}.flexible-spending-error button{width:100%}.breakdown-group-row{gap:9px;padding-inline:11px}.breakdown-item-list{padding-right:11px;padding-left:32px}.breakdown-item-list li{align-items:start;gap:10px}.breakdown-item-heading{display:grid;gap:2px}.metric-grid,.result-grid,.two-column,.analyze-row,.entry-grid,.manage-grid,.budget-kind-meter-grid,.planning-metrics,.plan-summary-grid,.plan-create-form,.plan-edit-row,.plan-row-fields,.goal-targets,.budget-income-grid{grid-template-columns:1fr}.projected-income-heading{display:none}.projected-income-transactions li{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.projected-income-transactions li>time{grid-column:1;grid-row:1}.projected-income-transactions li>strong:not(.projected-income-amount),.projected-income-account{grid-column:1 / -1}.projected-income-amount{grid-column:2;grid-row:1}.workspace,.topbar,.entry-dialog{padding:16px}.topbar{padding-top:calc(16px + env(safe-area-inset-top,0px));padding-right:calc(16px + env(safe-area-inset-right,0px));padding-left:calc(16px + env(safe-area-inset-left,0px))}.workspace{padding-right:calc(16px + env(safe-area-inset-right,0px));padding-left:calc(16px + env(safe-area-inset-left,0px))}.workspace{gap:18px}.chart-panel{min-height:auto;padding:14px 8px 10px}.dialog-backdrop{align-items:start;padding:12px;padding:calc(12px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px))}.entry-dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.tabs{padding:0 16px 12px;padding-right:calc(16px + env(safe-area-inset-right,0px));padding-left:calc(16px + env(safe-area-inset-left,0px))}.tabs button{flex:1 1 auto}.bottom-tabs{position:fixed;right:0;bottom:0;left:0;z-index:8;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;border-top:1px solid var(--color-border);background:var(--color-surface);padding:8px 10px;padding-right:calc(10px + env(safe-area-inset-right,0px));padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));padding-left:calc(10px + env(safe-area-inset-left,0px))}.bottom-tabs button{min-height:42px;border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text);padding-inline:7px;font-size:var(--font-size-small);font-weight:var(--font-weight-bold)}.bottom-tabs button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-surface)}.retry-banner{align-items:stretch;flex-direction:column}.retry-banner button{width:100%}.mobile-hidden{display:none}.compact-form{grid-template-columns:1fr}.plaid-connect-row,.connection-header,.disconnect-confirmation{align-items:stretch;flex-direction:column}.plaid-connect-row label,.plaid-connect-row button,.connection-actions,.disconnect-confirmation>div,.account-row-actions,.account-row-actions label{width:100%}.connection-actions,.disconnect-confirmation>div,.account-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.account-row-actions label:first-child:last-child{grid-column:1 / -1}.connection-actions>:only-child{grid-column:1 / -1}.app-shell,.workspace,.topbar,.topbar-actions,.month-field,.account-actions,.category-actions,.entry-dialog,.metric,.table-wrap,.list,.budget-list,.chart-panel,.budget-meter,.budget-kind-meter-card,.budget-progress-panel,.planning-panel,.planned-purchases-panel,.plan-timeline,.plans-panel,.plan-summary-grid,.plan-create-form,.list-row,.plan-row-fields,.amount-row,.section-title-row,.button-row,.compact-form,.compact-form>*,.workspace-header>*,.dialog-header>*{min-width:0;max-width:100%}.banner,.empty,.screen-status,.list-row,.list-row>div,.amount-row>span,.budget-meter,.budget-kind-meter-card,.budget-kind-meter-header,.budget-kind-meter-detail,.priority-pill,.goal-targets,.table-wrap td,.table-wrap small{overflow-wrap:anywhere}.list-row,.plan-row,.section-title-row{align-items:stretch;flex-direction:column}.budget-workspace .workspace-header button{width:100%}.category-allocation-heading{align-items:start;flex-direction:column;gap:4px}.category-allocation-heading small{padding-left:0;text-align:left}.category-allocation-slider{height:38px;appearance:none;border:0;border-radius:999px;background:linear-gradient(to right,var(--color-primary-accent) 0 var(--allocation-progress),var(--color-track) var(--allocation-progress) 100%) center / 100% 6px no-repeat;padding:0}.category-allocation-slider::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:transparent}.category-allocation-slider::-webkit-slider-thumb{width:18px;height:18px;margin-top:-6px;appearance:none;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-primary);box-shadow:0 1px 4px #18211f47}.category-allocation-slider::-moz-range-track{height:6px;border-radius:999px;background:transparent}.category-allocation-slider::-moz-range-progress{height:6px;background:transparent}.category-allocation-slider::-moz-range-thumb{width:18px;height:18px;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-primary);box-shadow:0 1px 4px #18211f47}.category-allocation-controls{grid-template-columns:minmax(0,1fr) 96px;gap:10px}.list-row button{width:100%;flex-basis:auto}.amount-row{grid-template-columns:minmax(0,1fr)}.budget-amount-row{grid-template-columns:minmax(0,1fr) minmax(104px,120px)}.goal-mix-values{display:flex;align-items:start;justify-content:space-between;gap:12px}.goal-mix-values div:nth-child(2){text-align:center}.goal-mix-values div:last-child{text-align:right}.category-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}.list-row .category-actions button{width:auto;min-width:110px}.goal-slider{overflow:hidden}.table-wrap{overflow-x:hidden}.table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;max-width:100%;min-width:0;width:100%}.table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.table-wrap tr{border-bottom:1px solid var(--color-border-soft);padding:8px 0}.table-wrap tr:last-child{border-bottom:0}.table-wrap td{border-bottom:0;padding:7px 12px}.table-wrap select,.table-wrap input,.table-wrap button{max-width:100%;min-width:0}.table-wrap .segmented-control{max-width:none}.table-wrap td[data-label]:before{display:block;margin-bottom:3px;color:var(--color-subtle);content:attr(data-label);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.table-wrap td[colspan]{padding:0}.category-table tr,.transactions-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.category-table td,.transactions-table td{width:auto}.category-table .category-name-cell{grid-column:1 / -1;padding-bottom:9px;font-weight:var(--font-weight-semibold)}.category-table .category-value{padding-top:5px;text-align:left}.category-table tr{grid-template-columns:repeat(3,minmax(0,1fr))}.category-table .category-breakdown-row{grid-template-columns:minmax(0,1fr);padding:0}.category-table .category-breakdown-row>td{grid-column:1 / -1;width:100%}.category-breakdown{padding:4px 12px 12px}.category-breakdown-error{align-items:stretch;flex-direction:column}.category-breakdown-error button{width:100%}.category-transaction-heading{display:none}.category-transaction-list li{grid-template-columns:minmax(0,1fr) auto 32px;gap:4px 12px;padding:11px 0}.category-transaction-list time{grid-column:1;grid-row:1}.category-transaction-description{grid-column:1 / -1;grid-row:2;padding-top:3px}.category-transaction-account{grid-column:1 / -1;grid-row:3}.category-transaction-amount{grid-column:2;grid-row:1}.category-transaction-action{grid-column:3;grid-row:1}.transactions-table .transaction-date{grid-column:1;grid-row:1}.transactions-table .transaction-account{grid-column:2;grid-row:1;text-align:right}.transactions-table .transaction-description{grid-column:1;grid-row:2}.transactions-table .transaction-amount{grid-column:2;grid-row:2;text-align:right;white-space:nowrap}.transactions-table .transaction-category,.transactions-table .transaction-kind{grid-column:1 / -1}.transactions-table .transaction-date:before,.transactions-table .transaction-description:before,.transactions-table .transaction-account:before,.transactions-table .transaction-amount:before{display:none}.accounts-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding:6px 0}.accounts-table td{width:auto;padding:4px 12px}.accounts-table .account-name{grid-column:1;grid-row:1;font-weight:var(--font-weight-semibold)}.accounts-table .account-balance{grid-column:2;grid-row:1;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.accounts-table .account-owner{grid-column:1 / -1;grid-row:2;color:var(--color-muted)}.accounts-table td[data-label]:before{display:none}}@media(max-width:360px){.budget-meter h2.safe-to-spend.compact{font-size:1.375rem}.budget-meter h2.safe-to-spend.extra-compact{font-size:var(--font-size-heading)}.income-meter-line{flex-wrap:wrap;gap:4px 12px}.income-meter-amount{order:1;flex-basis:100%}}
