:root{color-scheme:light;--bg:#f7f8fa;--panel:#fff;--sidebar-bg:#fff;--sidebar-fg:#1f2933;--sidebar-active:#3b82f6;--border:#e4e7eb;--text:#1f2933;--muted:#7b8794;--report-grid:#e4e7eb;--report-axis:#c3c2b7;--header-green:#15803d;--header-green-fg:#fff;--danger:#e11d48;--danger-bg:#fef2f3;--success:#1a7f4b;--success-bg:#e3f5e9;--warning:#92660a;--warning-bg:#fdf1d6;--info:#1d5fad;--info-bg:#e5eefb;--neutral-bg:#f1f2f4;--row-alt:#fbfbfc;--btn-bg:#fff;--on-accent:#fff;--text-strong:#000;--tab-active-bg:#fff;--tab-active-fg:#000;--icon-btn-hover:hsla(0,0%,100%,.15);--tab-inactive-fg:hsla(0,0%,100%,.8);--resizer-hover:rgba(0,0,0,.1);--divider:rgba(0,0,0,.08);--hover-tint:rgba(0,0,0,.05);--modal-shadow:rgba(0,0,0,.2);--overlay:rgba(15,23,32,.4);--chart-1:#2a78d6;--chart-2:#008300;--chart-3:#e87ba4;--chart-4:#eda100;--chart-5:#1baf7a;--chart-6:#eb6834;--chart-7:#4a3aa7;--chart-8:#e34948;--chart-other:#898781;--chart-sequential:var(--chart-1);--chart-income:var(--chart-1);--chart-expense:var(--chart-8);--chart-net:#0b0b0b;font-size:16px}:root[data-font-size=small]{font-size:14px}:root[data-font-size=small] .content{padding:20px 24px}:root[data-font-size=small] td,:root[data-font-size=small] th{padding:6px 8px}:root[data-font-size=small] .panel{padding:14px}:root[data-font-size=small] .field{margin-bottom:10px;gap:4px}:root[data-font-size=small] .sidebar .brand,:root[data-font-size=small] .topbar-spacer{height:44px}:root[data-font-size=small] .tabbar,:root[data-font-size=small] .tabbar ul{height:40px}:root[data-font-size=small] .account-group{margin-bottom:14px}:root[data-font-size=small] .group-header{margin:0 0 8px}:root[data-font-size=small] .page-header{margin-bottom:12px}:root[data-font-size=small] .networth-value{font-size:1.1rem}:root[data-font-size=small] .networth-label{font-size:.7rem}:root[data-font-size=small] .networth-bar{gap:24px;margin-bottom:14px}:root[data-font-size=small] .register-toolbar{margin-bottom:8px}:root[data-font-size=small] .register-edit-row .register-category-cell,:root[data-font-size=small] .register-row-actions{gap:4px}:root[data-theme=dark]{color-scheme:dark;--bg:#12161c;--panel:#1a2029;--sidebar-bg:#1a2029;--sidebar-fg:#e2e8f0;--sidebar-active:#3b82f6;--border:#2c3540;--text:#e2e8f0;--muted:#94a3b8;--report-grid:#2c3540;--report-axis:#475569;--header-green:#14532d;--header-green-fg:#f0fdf4;--danger:#fb7185;--danger-bg:#3b1a22;--success:#4ade80;--success-bg:#14311f;--warning:#fbbf24;--warning-bg:#3a2d0d;--info:#7cb0f0;--info-bg:#17293e;--neutral-bg:#262e38;--row-alt:#1f2630;--btn-bg:#232b35;--on-accent:#fff;--text-strong:#fff;--tab-active-bg:#232b35;--tab-active-fg:#e2e8f0;--icon-btn-hover:hsla(0,0%,100%,.15);--tab-inactive-fg:hsla(0,0%,100%,.8);--resizer-hover:hsla(0,0%,100%,.1);--divider:hsla(0,0%,100%,.08);--hover-tint:hsla(0,0%,100%,.06);--modal-shadow:rgba(0,0,0,.5);--overlay:rgba(0,0,0,.6);--chart-1:#5b9bd8;--chart-2:#4caf50;--chart-3:#ec9bc0;--chart-4:#f0b52e;--chart-5:#34c98f;--chart-6:#f0895a;--chart-7:#8a7cd0;--chart-8:#e8686a;--chart-other:#9a988f;--chart-sequential:var(--chart-1);--chart-income:var(--chart-1);--chart-expense:var(--chart-8);--chart-net:#e2e8f0}*{box-sizing:border-box}input,select,textarea{background:var(--panel);color:var(--text)}body,html{margin:0;padding:0;height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}.app{height:100vh}.app,.sidebar{display:flex;overflow:hidden}.sidebar{position:relative;flex-shrink:0;flex-direction:column;background:var(--sidebar-bg);color:var(--sidebar-fg);border-right:1px solid var(--border)}.sidebar-collapsed{width:44px!important}.sidebar.sidebar-collapsed .brand{padding:0;justify-content:center;gap:0;font-size:0}.sidebar.sidebar-collapsed .sidebar-accounts-header{padding:4px 0;justify-content:center;flex-direction:column;height:auto;gap:2px}.sidebar-collapsed .accounts-title,.sidebar-collapsed .sidebar-networth,.sidebar-collapsed .sidebar-resizer{display:none}.sidebar-collapsed .accounts-actions{flex-direction:column;margin-left:0}.sidebar-resizer{position:absolute;top:0;right:0;bottom:0;width:5px;cursor:col-resize;background:transparent;z-index:1}.sidebar-resizer:hover{background:var(--resizer-hover)}.sidebar .brand{flex-shrink:0;display:flex;align-items:center;gap:10px;height:56px;font-weight:700;font-size:1.1rem;color:var(--text);text-decoration:none;padding:0 20px}.brand-mark{width:24px;height:24px;flex-shrink:0;display:block;border-radius:5px}.sidebar-accounts-header{flex-shrink:0;display:flex;align-items:center;gap:8px;height:48px;padding:0 12px 0 16px;background:var(--header-green);color:var(--header-green-fg)}.accounts-title{flex:1 1;font-weight:700;font-size:.95rem}.accounts-toggle,.icon-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:none;color:inherit;cursor:pointer}.accounts-toggle:hover,.icon-btn:hover{background:var(--icon-btn-hover)}.accounts-actions{display:flex;align-items:center;gap:2px;margin-left:auto}.chevron{transition:transform .15s}.chevron-collapsed{transform:rotate(-90deg)}.sidebar-groups{flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:8px 0}.sidebar-networth{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);font-weight:600;font-size:.9rem}.sidebar-networth-label{flex:1 1}.sidebar-section{border-top:1px solid var(--divider)}.sidebar-section-header{display:flex;align-items:center;gap:8px;width:100%;padding:12px 20px;background:none;border:none;color:var(--sidebar-fg);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;text-align:left}.sidebar-section-header:hover{color:var(--text-strong)}.sidebar-section-toggle{flex-shrink:0;width:10px;font-size:.7rem}.sidebar-section-label{flex:1 1}.sidebar-account-list{list-style:none;margin:0;padding:0 0 8px}.sidebar-account-row-wrap{position:relative;display:flex;align-items:center}.sidebar-account-row-wrap:hover{background:var(--hover-tint)}.sidebar-account-row{flex:1 1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 6px 32px;color:var(--sidebar-fg);text-decoration:none;font-size:.9rem;min-width:0}.sidebar-account-row:hover{color:var(--text-strong)}.sidebar-account-row.active{background:var(--sidebar-active);color:var(--on-accent);font-weight:600}.sidebar-account-label{flex:1 1;display:flex;align-items:center;gap:6px;min-width:24px;overflow:hidden}.sidebar-account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-edit{flex-shrink:0;width:28px;height:28px;margin-right:6px;padding:0;border:none;background:none;color:var(--sidebar-fg);opacity:0;cursor:pointer;font-size:.85rem}.sidebar-account-row-wrap:hover .sidebar-account-edit{opacity:1}.sidebar-account-edit:hover{color:var(--text-strong)}.sidebar-account-empty{padding:4px 20px 4px 32px;font-size:.85rem;color:var(--sidebar-fg);opacity:.6}.sidebar-envelope-toggle{position:absolute;left:6px;top:0;bottom:0;flex-shrink:0;width:20px;padding:0;border:none;background:none;color:var(--sidebar-fg);opacity:.6;cursor:pointer;display:flex;align-items:center;justify-content:center}.sidebar-envelope-toggle:hover{opacity:1}.sidebar-envelope-row{padding-left:48px;gap:6px}.sidebar-envelope-icon{flex-shrink:0;opacity:.7}.sidebar-envelope-label{display:flex;align-items:center;gap:6px;min-width:0}.sidebar-amount{flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.sidebar-amount.negative{color:var(--danger)}.balance-sep,.balance-spendable{color:var(--muted)}.balance-sep{padding:0 3px}.amount-cell .negative,.mobile-amount .negative,.sidebar-amount .negative{color:var(--danger)}.main-column{flex:1 1;min-width:0;min-height:0;display:flex;flex-direction:column}.topbar-spacer{flex-shrink:0;height:56px}.user-menu{display:flex;align-items:center;gap:10px}.user-menu-email{font-size:.85rem;color:var(--header-green-fg)}.auth-status{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;color:var(--muted)}.auth-card{background:var(--panel);border-radius:8px;box-shadow:0 10px 30px var(--modal-shadow);padding:32px;width:360px;max-width:calc(100vw - 40px);text-align:center}.auth-card h1{margin:0 0 12px;font-size:1.2rem;color:var(--text)}.auth-card p{margin:0 0 20px;font-size:.9rem;color:var(--muted)}.tabbar{flex-shrink:0;background:var(--header-green)}.tabbar,.tabbar ul{height:48px;display:flex;align-items:center}.tabbar ul{list-style:none;margin:0;padding:0 40px;gap:4px;overflow-x:auto;flex:1 1;min-width:0}.tabbar-right{gap:12px;padding-right:20px;flex-shrink:0}.tab,.tabbar-right{display:flex;align-items:center}.tab{height:100%;padding:0 12px;color:var(--tab-inactive-fg);text-decoration:none;font-size:.9rem;font-weight:500;white-space:nowrap;border-bottom:2px solid transparent}.tab:hover{color:var(--on-accent)}.tab.active{background:var(--tab-active-bg);color:var(--tab-active-fg);border-bottom-color:transparent;font-weight:600}.content{flex:1 1;min-height:0;overflow-y:auto;padding:32px 40px}h1{margin-top:0;font-size:1.6rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px}.muted{color:var(--muted)}.checkbox-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.register-sync-line{font-size:.85rem;margin-top:.15rem}.account-group{margin-bottom:20px}.group-header{margin:0 0 12px;font-size:1rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.section-title{margin:0;font-size:1.1rem}.category-child{padding-left:32px}.settings-portal{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.settings-portal-card{display:block;color:inherit;text-decoration:none;transition:border-color .15s ease}.settings-portal-card:hover{border-color:var(--muted)}.settings-portal-card .section-title{margin-bottom:6px}.settings-portal-card p{margin:0}.btn-small{padding:4px 10px;font-size:.8rem}.rule-editor{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.rule-list{list-style:none;margin:0 0 12px;padding:0}.rule-list li{display:flex;align-items:center;gap:10px;padding:6px 0}.rule-pattern{flex:1 1;font-size:.9rem}.rule-add-form{display:flex;gap:8px;margin-top:16px}.rule-add-form select{flex-shrink:0}.rule-add-form input,.rule-add-form select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-family:inherit}.rule-add-form input{flex:1 1}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--bg)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.8rem;font-weight:600}.badge+.badge{margin-left:6px}.badge-open{background:var(--success-bg);color:var(--success)}.badge-closed{background:var(--neutral-bg);color:var(--muted)}.badge-reconciled{background:var(--info-bg);color:var(--info);font-weight:700}.badge-hidden{background:var(--warning-bg);color:var(--warning);margin-left:6px}.badge-link{text-decoration:none;cursor:pointer;color:inherit}.badge-link:hover{color:var(--text)}.match-col{width:44px;text-align:center}.match-cell{text-align:center;padding:0}.match-mark{display:block;width:100%;height:100%;background:none;border:none;cursor:pointer;padding:10px 0;font-size:.9rem;font-weight:700;color:var(--success);opacity:0}.match-mark[aria-pressed=true]{opacity:1}.clickable-row:hover .match-mark[aria-pressed=false]{opacity:.25}.status-cell{cursor:default}.match-mark-all{display:block;width:100%;background:none;border:none;cursor:pointer;padding:0;font:inherit;color:inherit;opacity:.5}.match-mark-all[aria-pressed=true]{color:var(--success);opacity:1}.match-mark-all:disabled{cursor:default}.amount-cell.negative{color:var(--danger)}.accounts-page-row{cursor:pointer}.drag-handle-cell{width:24px;cursor:-webkit-grab;cursor:grab}.drag-handle{color:var(--muted);letter-spacing:-2px}.accounts-page-row-actions{display:flex;gap:8px;justify-content:flex-end}.accounts-page-row-actions .btn{min-width:5.5rem;text-align:center}.accounts-envelope-toggle{width:16px;padding:0;margin-right:6px;border:none;background:none;color:var(--muted);cursor:pointer;font-size:.7rem}.accounts-envelope-toggle:hover{color:var(--text)}.accounts-envelope-row{cursor:default;background:var(--row-alt)}.accounts-envelope-add-row td,.accounts-envelope-row td:nth-child(2){padding-left:40px}.holdings-asset-mix{display:flex;flex-wrap:wrap;gap:4px 20px;margin:0 0 10px;padding:0}.holdings-asset-mix-row{display:flex;gap:6px;font-size:.85rem}.holdings-asset-mix-row dt{color:var(--text)}.holdings-asset-mix-row dd{margin:0;color:var(--muted)}.holdings-asset-mix-empty{margin:0 0 10px}.accounts-envelope-add-row .rule-add-form{margin:0}.accounts-envelope-categories{color:var(--muted);font-size:.85rem;white-space:normal;word-break:break-word}.btn{padding:8px 14px;border-radius:6px;border:1px solid var(--border);background:var(--btn-bg);color:var(--text);font-size:.9rem;cursor:pointer}.btn:hover{background:var(--bg)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{border-color:var(--sidebar-active);color:var(--on-accent)}.btn-primary,.btn-primary:hover{background:var(--sidebar-active)}.btn-primary:hover{opacity:.9}.btn-danger{border-color:var(--danger);color:var(--danger);background:var(--btn-bg)}.btn-danger:hover{background:var(--danger-bg)}.modal-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--panel);border-radius:8px;padding:24px;width:380px;max-width:calc(100vw - 40px);max-height:calc(100vh - 80px);overflow-y:auto;box-shadow:0 10px 30px var(--modal-shadow)}.modal h2{margin-top:0;font-size:1.2rem}.field{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}.field label{font-size:.85rem;color:var(--muted)}.field input,.field select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.95rem;font-family:inherit}.form-error{color:var(--danger)}.form-error,.form-success{font-size:.85rem;margin:0 0 14px}.form-success{color:var(--success)}.form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.form-actions-right{display:flex;gap:8px;margin-left:auto}.modal-wide{width:640px}.modal-split{width:min(760px,calc(100vw - 40px));min-width:0}.modal-split table{table-layout:fixed;min-width:0}.modal-split input,.modal-split select{min-width:0}.modal-scroll-list{max-height:260px;overflow-y:auto;margin-bottom:4px}.register-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.register-toolbar input[type=search],.register-toolbar input[type=text]{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-family:inherit;width:280px}.register-toolbar-left,.register-toolbar-right{display:flex;align-items:center;gap:12px}.register-marked-total{font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.register-category-range{font-size:.8125rem}.register-account-select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-family:inherit}.register-filter-menu{position:relative}.register-filter-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:10;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px var(--modal-shadow);padding:12px;width:240px;max-height:320px;overflow-y:auto}.register-filter-popover.popover-left{right:auto;left:0}.payee-combobox{width:100%}.payee-combobox-list{position:fixed;z-index:300;margin:0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px var(--modal-shadow);overflow-y:auto}.payee-combobox-empty{padding:6px 8px;font-size:.85rem}.payee-combobox-option{display:flex;align-items:center;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:.9rem}.payee-combobox-option.is-active{background:var(--sidebar-active);color:var(--on-accent)}.payee-combobox-alias{margin-left:auto;padding-left:12px;color:var(--muted);font-size:.8rem}.mobile-shell .payee-combobox-option{display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:1rem}.register-filter-group{margin-bottom:10px}.register-filter-group:last-of-type{margin-bottom:12px}.register-filter-group-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:6px}.register-filter-option{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:.9rem;cursor:pointer}.register-filter-clear{width:100%}.category-filter-popover{width:280px}.register-filter-group-scroll{max-height:280px;overflow-y:auto}.register-page{display:flex;flex-direction:column;height:100%;min-height:0}.register-panel-wrap{flex:1 1;min-height:0;display:flex;flex-direction:column}.register-panel{flex:1 1;min-height:0;overflow:auto}.investment-activity-header{margin-bottom:12px}.holdings-header-actions{display:flex;gap:8px;margin-left:auto}.investment-activity-scroll{max-height:480px;overflow-y:auto}.investment-activity-scroll table{min-width:700px}.investment-activity-scroll thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--panel)}.register-panel>table{min-width:900px;border-collapse:separate;border-spacing:0}.register-panel>table>thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--panel);box-shadow:inset 0 -1px 0 var(--border)}.register-edit-row input,.register-edit-row select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:.9rem}.register-edit-row td{vertical-align:top}.register-edit-row .input-narrow{width:70px}.register-edit-row .amount-input{width:90px}.register-remember-payee{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:.75rem;color:var(--muted);font-weight:400;width:auto}.register-remember-payee input{width:auto}.register-edit-row .register-category-cell{display:flex;align-items:center;gap:6px;min-height:32px}.register-edit-row .register-category-cell select{flex:1 1 auto;min-width:120px}.register-edit-row .register-category-cell .btn{flex:0 0 auto;white-space:nowrap}.register-row-actions{display:flex;gap:6px;flex-wrap:nowrap}.register-edit-row .register-row-actions{align-items:center;min-height:32px}.amount-cell{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.split-editor-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:8px}.split-remainder{color:var(--danger);font-weight:600}.split-remainder-zero{color:var(--success);font-weight:600}.split-remainder-hint{flex-basis:100%;color:var(--muted);font-size:.85em}.networth-bar{display:flex;gap:32px;margin-bottom:20px}.networth-item{display:flex;flex-direction:column;gap:4px}.networth-label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.networth-value{font-size:1.3rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.networth-value.negative{color:var(--danger)}.networth-total{margin-left:auto;padding-left:32px;border-left:1px solid var(--border)}.plaid-mapping-list{display:flex;flex-direction:column;gap:16px;margin:16px 0 4px}.plaid-mapping-row{border:1px solid var(--border);border-radius:6px;padding:14px}.plaid-mapping-row-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.plaid-mapping-choice{display:flex;gap:16px;margin-bottom:10px;font-size:.9rem}.plaid-mapping-choice label{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--text)}.page-back{display:inline-block;margin-bottom:4px;font-size:.85rem;color:var(--muted);text-decoration:none}.page-back:hover{color:var(--text)}.page-back.disabled{pointer-events:none;opacity:.5}.detail-page{display:flex;flex-direction:column;height:100%;min-height:0}.detail-page-footer,.detail-page-header{flex-shrink:0}.detail-page-footer{padding-top:12px;border-top:1px solid var(--border)}.detail-page-footer,.reconcile-warning-banner{display:flex;justify-content:space-between;margin-top:12px}.reconcile-warning-banner{align-items:center;gap:12px;padding:10px 14px;border-radius:6px;color:var(--warning);background:var(--warning-bg);font-size:.9rem}.reconcile-panes{display:flex;gap:16px;margin-top:12px;flex:1 1;min-height:0}.reconcile-pane{flex:1 1;min-width:0;overflow-y:auto}.reconcile-pane h3{margin:0 0 6px;font-size:.95rem}.reconcile-pane table{width:100%}.scheduled-amount-fields,.scheduled-frequency-fields{display:flex;gap:12px}.scheduled-amount-fields .field,.scheduled-frequency-fields .field{flex:1 1}.scheduled-list-panel{overflow-x:auto}.scheduled-list-panel .section-title{margin-bottom:12px}.scheduled-list-panel+.scheduled-list-panel{margin-top:20px}.scheduled-subsection{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.scheduled-subsection .section-subtitle{margin:0 0 6px;font-size:.95rem}.scheduled-subsection-note{margin-top:0;margin-bottom:12px}.scheduled-row-actions{display:flex;gap:8px}.upcoming-strip{margin-bottom:20px}.upcoming-strip-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.upcoming-strip-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.upcoming-strip-row:last-child{border-bottom:none;padding-bottom:0}.upcoming-strip-info{display:flex;flex-direction:column;gap:2px}.upcoming-strip-actions{display:flex;gap:8px;flex-shrink:0}.upcoming-strip-entered{margin-top:10px;font-size:.9rem;color:var(--muted)}.upcoming-register-row{color:var(--muted);font-style:italic;opacity:.7}.budget-toolbar{display:flex;align-items:center;gap:10px}.budget-toolbar select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-family:inherit}.budgets-page{display:flex;flex-direction:column;height:100%;min-height:0}.budget-grid-panel-wrap{flex:1 1;min-height:0;display:flex;flex-direction:column}.budget-grid-panel{flex:1 1;min-height:0;overflow:auto}.budget-grid thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--panel);box-shadow:inset 0 -1px 0 var(--border)}.budget-grid{min-width:960px}.budget-grid td,.budget-grid th{white-space:nowrap}.budget-kind-header-row td{padding:10px 0;background:var(--neutral-bg);color:var(--text);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;border-top:1px solid var(--border)}.budget-section-toggle{gap:8px;padding:0 12px;background:none;border:none;color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.budget-section-header-row,.budget-section-toggle{display:flex;align-items:center;width:100%}.budget-section-header-row .budget-section-toggle{width:auto;flex:1 1}.budget-show-all-envelopes{display:flex;align-items:center;gap:6px;padding-right:12px;font-weight:400;text-transform:none;letter-spacing:normal;font-size:.8rem;color:var(--muted);cursor:pointer;white-space:nowrap}.budget-section-chevron{flex-shrink:0;transition:transform .15s}.budget-section-chevron-collapsed{transform:rotate(-90deg)}.budget-kind-total-row td{font-weight:600}.budget-kind-total-row td,.holdings-cash-row td{border-top:2px solid var(--border)}.holdings-total-row td{font-weight:600}.budget-grid th.budget-current-month{color:var(--sidebar-active);font-weight:700}.budget-grid td.budget-current-month{background:var(--neutral-bg)}.budget-grid td.budget-cell-good{background:var(--success-bg)}.budget-grid td.budget-cell-bad{background:var(--danger-bg)}.budget-grid td.budget-cell-good .budget-cell-input{background:var(--success-bg)}.budget-grid td.budget-cell-bad .budget-cell-input{background:var(--danger-bg)}.budget-month-status{position:absolute;left:0;right:0;bottom:0;height:3px}.budget-month-status.budget-status-good{background:var(--success)}.budget-month-status.budget-status-bad{background:var(--danger)}.budget-th-shortfall{display:block;margin-top:2px;font-size:.75rem;font-weight:600;color:var(--danger);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-shortfall-caption,.budget-th-shortfall-none{color:var(--muted);font-weight:400}.budget-shortfall-caption{display:block;margin-top:2px;font-size:.7rem;white-space:nowrap}.budget-section-status-row td{height:4px!important;padding:0!important;border:none}.budget-section-status-bar{display:block;height:100%}.budget-section-status-bar.budget-status-good{background:var(--success)}.budget-section-status-bar.budget-status-bad{background:var(--danger)}.budget-locked-cell{color:var(--muted);cursor:not-allowed}.budget-todate-cell{font-weight:600;border-left:2px solid var(--border)}.budget-cell-input{width:84px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:.9rem;text-align:right}.budget-total-cell{display:flex;align-items:center;justify-content:flex-end;gap:6px}.budget-tooltip{z-index:400;max-width:280px;padding:8px 10px;background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.18);font-size:.8rem;white-space:nowrap;pointer-events:none}.budget-tooltip-title{color:var(--muted);font-weight:600;margin-bottom:4px}.budget-tooltip-pair+.budget-tooltip-pair{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.budget-tooltip-pair-label{font-weight:600;margin-bottom:2px}.budget-tooltip-row{display:grid;grid-template-columns:auto auto;justify-content:space-between;grid-gap:12px;gap:12px}.budget-tooltip-verdict{margin-top:6px;padding-top:6px;border-top:1px solid var(--border);font-weight:600}.budget-tooltip-verdict.budget-status-good{color:var(--success)}.budget-tooltip-verdict.budget-status-bad{color:var(--danger)}.budget-tooltip-note{margin-top:6px;color:var(--muted);white-space:normal}.budget-fill-btn{padding:2px 6px;font-size:.7rem}.budget-view-toggle{display:flex;align-items:center;gap:8px;margin-bottom:16px}.budget-view-toggle select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-family:inherit}.budget-error-panel{margin-bottom:16px}.budget-progress-panel{display:flex;flex-direction:column;gap:18px;min-height:0;overflow-y:auto}.budget-progress-row{display:flex;flex-direction:column;gap:6px}.budget-progress-header{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-progress-bar{height:10px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden}.budget-progress-fill{height:100%;background:var(--sidebar-active);border-radius:999px}.budget-progress-fill.budget-progress-over{background:var(--danger)}.budget-progress-header .negative{color:var(--danger);font-weight:600}.budget-progress-header .budget-progress-ahead{color:var(--success);font-weight:600}.budget-progress-fill.budget-progress-ahead-fill{background-image:repeating-linear-gradient(45deg,hsla(0,0%,100%,.35) 0 6px,hsla(0,0%,100%,0) 6px 12px)}.budget-progress-section{display:flex;flex-direction:column;gap:14px}.budget-progress-section-toggle{padding:8px 0;background:var(--neutral-bg);color:var(--text);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:flex-start}.budget-progress-section-toggle.budget-status-good{border-bottom:2px solid var(--success)}.budget-progress-section-toggle.budget-status-bad{border-bottom:2px solid var(--danger)}.budget-progress-section-total{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:normal}.budget-progress-uncovered-list{display:flex;flex-direction:column;gap:4px}.budget-progress-uncovered-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-date-range{display:flex;align-items:center;gap:10px}.report-date-range select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-family:inherit}.report-date-range-custom{display:flex;align-items:center;gap:8px}.report-date-range-custom input{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-family:inherit}.report-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.report-chart-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}.report-granularity-toggle{display:flex;gap:6px}.account-filter-chips{display:flex;gap:8px;align-items:center}.report-table-panel{overflow-x:auto}.report-account-multiselect{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}.report-account-multiselect-actions{display:flex;gap:8px;margin-bottom:10px}.report-account-checkbox{display:flex;align-items:center;gap:6px;font-size:.9rem;cursor:pointer;color:var(--text)}.report-account-checkbox-disabled{color:var(--muted);cursor:default}.report-account-swatch{width:10px;height:10px;border-radius:999px;display:inline-block}.report-drilldown-hint{margin:0 0 8px;font-size:.85rem}.spending-charts-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}@media (max-width:1100px){.spending-charts-layout{grid-template-columns:minmax(0,1fr)}}.spending-pie-layout{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.spending-pie-chart{position:relative;flex:1 1 260px;min-width:220px}.spending-pie-total{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.spending-pie-total-amount{font-size:1.1rem;font-weight:600;color:var(--text)}.spending-pie-total-label{font-size:.75rem}.spending-pie-legend{flex:1 1 260px;display:flex;flex-direction:column;gap:6px;min-width:220px}.spending-pie-legend-row{display:flex;align-items:center;gap:8px;font-size:.875rem;padding:2px 0}.spending-pie-legend-row-clickable{cursor:pointer}.spending-pie-legend-row-clickable:hover{color:var(--accent)}.spending-pie-legend-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spending-pie-legend-amount,.spending-pie-legend-percent{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spending-pie-legend-percent{width:3.5ch;text-align:right}.sidebar-account-flag{display:inline-flex;flex-shrink:0;color:var(--danger)}.sidebar-account-flag.pending{color:var(--warning)}.scheduled-due-flag{color:var(--danger);margin-right:6px}.scheduled-due-flag,.tab-flag{display:inline-flex;flex-shrink:0}.tab-flag{color:#fca5a5;margin-left:6px;vertical-align:middle}.sidebar-account-link{display:inline-flex;flex-shrink:0}.sidebar-account-link.ok{color:var(--muted)}.sidebar-account-link.error{color:var(--danger)}.sync-dialog-actions{display:flex;gap:8px;margin-bottom:12px}.sync-dialog-list{display:flex;flex-direction:column;gap:16px}.sync-dialog-group-label{font-weight:600;font-size:.9rem;margin-bottom:6px}.sync-dialog-row{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;color:var(--text)}.sync-dialog-row-name{flex:1 1}.sync-status-pill{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px}.sync-status-syncing{color:var(--warning);background:var(--warning-bg)}.sync-status-done{color:var(--success);background:var(--success-bg)}.sync-status-error{color:var(--danger);background:var(--danger-bg)}.sync-status-skipped{color:var(--warning);background:var(--warning-bg)}.sync-row-counts{margin-left:auto;font-size:.8rem;color:var(--muted)}.sync-totals{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.sync-totals-symbols{font-size:.85rem;color:var(--muted);margin:0 0 4px}.sync-totals-line{font-weight:600;margin:0}.sync-status-message{font-size:.75rem;color:var(--danger);text-align:right;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.register-sync-btn{margin-left:auto}.downloaded-section{flex-shrink:0;display:flex;flex-direction:column;min-height:0}.downloaded-resizer{height:6px;cursor:row-resize;background:transparent}.downloaded-resizer:hover{background:var(--resizer-hover)}.downloaded-panel{flex:1 1;min-height:0;overflow-y:auto;border-top:1px solid var(--border)}.downloaded-panel-header{display:flex;align-items:center;gap:8px;padding:10px 4px;font-weight:600}.downloaded-accept-all-btn{margin-left:auto}.downloaded-item{border-bottom:1px solid var(--divider);padding:8px 4px}.downloaded-item-row{display:flex;align-items:center;gap:12px}.downloaded-item-date{width:90px;flex-shrink:0;color:var(--muted);font-size:.85rem}.downloaded-item-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.downloaded-item-amount{width:90px;flex-shrink:0;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.downloaded-item-amount.negative{color:var(--danger)}.downloaded-item-pending{color:var(--muted);opacity:.7}.downloaded-item-pending .btn-danger{opacity:1}.downloaded-item-actions{flex-shrink:0;display:flex;gap:6px}.downloaded-item-suggestion{margin-top:6px;padding-left:4px;font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;scroll-margin-block:8px}.downloaded-investment-panel-body{max-height:240px;overflow-y:auto}.mobile-shell{max-width:560px;margin:0 auto;padding:0 16px 32px;font-size:1rem;min-height:100vh}.mobile-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;gap:4px;height:52px;margin:0 -16px 16px;padding:0 8px;background:var(--bg);border-bottom:1px solid var(--border)}.mobile-back,.mobile-header{display:flex;align-items:center}.mobile-back{flex-shrink:0;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:6px;background:none;color:var(--text);cursor:pointer}.mobile-back:hover{background:var(--hover-tint)}.mobile-header h1{flex:1 1;min-width:0;margin:0;font-size:1.05rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-month-nav{display:flex;align-items:center;justify-content:space-between;margin:0 -16px 16px;padding:0 8px;border-bottom:1px solid var(--border)}.mobile-month-nav span{flex:1 1;text-align:center}.mobile-month-nav button{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:6px;background:none;color:var(--text);cursor:pointer}.mobile-month-nav button:hover{background:var(--hover-tint)}.mobile-month-label{margin:0 -16px 16px;padding:0 8px 12px;color:var(--muted);text-align:center;border-bottom:1px solid var(--border)}.mobile-section{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.mobile-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 0;background:none;border:none;border-bottom:1px solid var(--border);width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}.mobile-list-row:last-child{border-bottom:none}.mobile-amount{flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mobile-amount.negative{color:var(--danger)}.mobile-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 4px;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.mobile-envelope-row{padding-left:16px}.mobile-envelope-row .sidebar-envelope-icon{margin-right:6px;vertical-align:-2px}.mobile-add-btn{width:100%;min-height:44px;margin-bottom:20px;border:none;border-radius:8px;background:var(--sidebar-active);color:var(--on-accent);font-size:1rem;font-weight:600;cursor:pointer}.mobile-shell .field{margin-bottom:16px}.mobile-shell .field input,.mobile-shell .field select{min-height:44px;font-size:1rem}.mobile-shell .checkbox-row{min-height:44px}.mobile-shell .modal-overlay{align-items:stretch;justify-content:stretch;z-index:200}.mobile-shell .modal{width:100%;max-width:100%;height:100%;max-height:100vh;border-radius:0;overflow-y:auto}.category-coverage-overlay{z-index:300}.mobile-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.mobile-detail-row:last-child{border-bottom:none}.sidebar-popup-blocked{margin:0;padding:6px 16px;font-size:.8rem}.calculator-page{height:100vh;background:var(--bg);color:var(--text);display:flex;flex-direction:column;overflow:hidden}.calculator{min-height:0;padding:10px;gap:8px}.calculator,.calculator-tape{flex:1 1;display:flex;flex-direction:column}.calculator-tape{min-height:60px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 8px;gap:2px}.calculator-tape-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-bottom:4px}.calculator-tape-clear{border:none;background:none;color:var(--muted);cursor:pointer;font-size:.75rem;padding:0}.calculator-tape-clear:hover{color:var(--text)}.calculator-tape-empty{font-size:.8rem;margin:0}.calculator-tape-entry{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border:none;background:none;padding:2px 4px;border-radius:4px;cursor:pointer;color:var(--text);font-size:.85rem;text-align:left}.calculator-tape-entry:hover{background:var(--hover-tint)}.calculator-tape-expr{color:var(--muted)}.calculator-tape-result{font-weight:600}.calculator-display-wrap{flex-shrink:0;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:8px 10px}.calculator-pending{font-size:.8rem;color:var(--muted);min-height:1.1em;text-align:right}.calculator-display-row{display:flex;align-items:center;gap:8px}.calculator-display{flex:1 1;font-size:1.8rem;font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calculator-copy{flex-shrink:0;border:1px solid var(--border);background:var(--btn-bg);color:var(--muted);border-radius:4px;padding:3px 8px;font-size:.75rem;cursor:pointer}.calculator-copy:hover{background:var(--bg)}.calculator-keys{flex-shrink:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.calculator-key{border:1px solid var(--border);background:var(--btn-bg);color:var(--text);border-radius:6px;padding:10px 0;font-size:1.05rem;cursor:pointer}.calculator-key:hover{background:var(--hover-tint)}.calculator-key-op{color:var(--sidebar-active);font-weight:600}.calculator-key-fn{color:var(--muted)}.calculator-key-equals{background:var(--sidebar-active);border-color:var(--sidebar-active);color:var(--on-accent);font-weight:600}.calculator-key-equals:hover{background:var(--sidebar-active);opacity:.9}