.sync-details-trigger{display:flex;align-items:center;gap:6px;padding:5px 6px;min-height:44px;border:1px solid transparent;border-radius:8px;background:transparent;color:#64748b;text-align:left;cursor:pointer;font:inherit}.sync-details-trigger:hover,.sync-details-trigger[aria-expanded=true]{background:#f1f5f9;border-color:#cbd5e1}.sync-details-chevron{font-size:14px}.sync-details-dropdown{position:absolute;top:calc(100% + 6px);right:12px;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 90px);display:flex;flex-direction:column;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 12px 32px #0f172a26;color:#334155;white-space:normal;overflow:hidden}.sync-details-dropdown>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.sync-details-dropdown h2{font-size:1rem;color:#0f172a}.sync-details-dropdown header p{margin-top:4px;font-size:.75rem;color:#64748b}.sync-details-dropdown header button{min-width:44px;min-height:44px;justify-content:center;font-size:1.2rem}.sync-details-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 16px 16px;overflow-wrap:anywhere}.sync-details-dropdown .sync-provider{padding:14px 0}.sync-details-dropdown .sync-provider:first-child{border-top:0}.sync-details-dropdown .sync-provider p{margin:8px 0;line-height:1.55;font-size:.875rem}.sync-details-dropdown .settings-note{font-size:.72rem;color:#64748b;line-height:1.5}.sync-cadence{margin-top:12px}.sync-cadence summary{cursor:pointer;font-size:.75rem;font-weight:600;color:#475569}@media (max-width:900px){.sync-details-trigger{padding:2px;gap:3px}.sync-details-dropdown{right:max(12px,env(safe-area-inset-right));max-height:calc(100dvh - 155px - env(safe-area-inset-top))}}.sync-live-progress{margin:12px 0;padding:16px;background:#eff6ff;border:1px solid #93c5fd;border-radius:12px;color:#1e40af;font-size:.875rem}.sync-live-progress>strong{display:flex;align-items:center;gap:10px}.sync-live-progress p{margin:8px 0;line-height:1.5}.sync-live-label{color:#1d4ed8;font-weight:700}.sync-spinner{width:18px;height:18px;flex:0 0 18px;border:2px solid #bfdbfe;border-top-color:#1d4ed8;border-radius:50%;animation:sync-turn 1s linear infinite}.sync-result-list{list-style:none;padding:0;margin:12px 0;display:grid;grid-gap:10px;gap:10px}.sync-result-list li{min-width:0;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow-wrap:anywhere;line-height:1.5;color:#334155}.sync-result-list p{margin:8px 0 0}.sync-details .sync-attempt-output{padding:0;border:0;background:transparent}.sync-attempt-output .sync-result-list{padding:0;font-size:.875rem}@keyframes sync-turn{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.sync-spinner{animation:none}}@media(max-width:900px){.mobile-compact{padding:12px 12px 100px!important;min-width:0}.mobile-compact .overview-stat-grid,.mobile-compact .stats-bar,.mobile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:16px!important}.mobile-compact .stat-card,.mobile-compact.overview-layout .overview-stat-grid>.stat-card,.mobile-summary-grid>.stat-card{padding:10px!important;min-width:0}.mobile-compact .stat-card-label,.mobile-compact.overview-layout .overview-summary-panel .stat-card-label{font-size:.55rem!important;line-height:1.4;letter-spacing:.04em;margin-bottom:4px}.mobile-compact .stat-card-value,.mobile-compact.overview-layout .overview-summary-panel .stat-card-value{font-size:1rem!important;line-height:1.3;overflow-wrap:anywhere;margin-bottom:4px}.mobile-compact .stat-badge{font-size:.6rem;line-height:1.4;white-space:normal;padding:2px 6px;margin-top:4px}.mobile-compact .page-toolbar{flex-direction:row!important;align-items:center!important;gap:8px!important;padding:10px!important;margin-bottom:16px!important;min-width:0}.mobile-compact .page-toolbar .ledger-toolbar-left,.mobile-compact .page-toolbar .ledger-toolbar-right{gap:8px;min-width:0;flex-wrap:wrap}.mobile-compact .page-toolbar .btn{min-height:38px;height:auto;padding:6px 10px!important;font-size:.75rem;line-height:1.4}.mobile-compact .page-toolbar .page-settings{margin-left:auto}.mobile-compact .page-toolbar input:not([type=checkbox]):not([type=radio]),.mobile-compact .page-toolbar select{min-width:0;max-width:100%;min-height:32px;font-size:.75rem}.mobile-overview .stat-card>strong{font-size:1.1rem!important}.mobile-overview .stat-card small{font-size:.6rem}.shell-mobile-nav>.shell-more>summary,.shell-mobile-nav>.shell-nav-link{align-items:center;line-height:1.2}.shell-mobile-nav>.shell-more>summary>svg,.shell-mobile-nav>.shell-nav-link>svg{width:20px;height:20px;flex-shrink:0}}:root{--font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--accent:221,83%,53%;--accent-hover:221,83%,46%;--accent-green:152,68%,36%;--accent-red:4,74%,54%;--accent-amber:38,92%,50%;--bg-app:220,16%,96%;--bg-surface:0,0%,100%;--bg-surface-2:220,14%,98%;--border:220,13%,90%;--border-strong:220,13%,82%;--text-primary:222,47%,11%;--text-secondary:220,14%,40%;--text-muted:220,9%,60%;--shadow-sm:0 1px 2px rgba(15,23,42,.03);--shadow-md:0 3px 10px rgba(15,23,42,.06);--shadow-lg:0 12px 32px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.06);--r-sm:6px;--r-md:10px;--r-lg:12px;--r-full:999px;--header-h:60px}*{margin:0;padding:0;box-sizing:border-box}html{zoom:.8;scrollbar-gutter:stable}body,html{overflow-x:hidden;overflow-x:clip;position:relative;width:100%;background:hsl(var(--bg-app))}body{color:hsl(var(--text-primary));font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,h1,h2,h3,h4{font-family:var(--font-ui)}h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em}button,input,select,textarea{font-family:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:3px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsl(var(--border-strong));border-radius:99px}.top-bar{height:var(--header-h);background:hsl(var(--bg-surface));border-bottom:1px solid hsl(var(--border));justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:200;box-shadow:var(--shadow-sm)}.brand,.top-bar{display:flex;align-items:center}.brand{gap:10px;flex-shrink:1;min-width:0}.brand-text{display:flex;flex-direction:column;justify-content:center;min-width:0}.brand-text h1{font-size:1.15rem;color:hsl(var(--text-primary));line-height:1.1;margin-bottom:1px;white-space:nowrap}.brand-tagline{margin:0;font-size:.65rem;font-weight:600;color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.05em;line-height:1}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.user-pill{font-size:.75rem;font-weight:500;color:hsl(var(--text-secondary));background:hsl(var(--bg-app));border:1px solid hsl(var(--border));padding:4px 10px;border-radius:var(--r-full)}.btn{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;font-size:.8125rem;font-weight:600;cursor:pointer;border-radius:var(--r-sm);border:none;transition:opacity .12s ease,transform .12s ease;white-space:nowrap;text-decoration:none;font-family:inherit}.btn-primary{background:hsl(var(--accent));color:#fff;box-shadow:0 1px 3px hsla(var(--accent),.35)}.btn-primary:hover{background:hsl(var(--accent-hover))}.btn-ghost{background:hsl(var(--bg-surface));color:hsl(var(--text-secondary));border:1px solid hsl(var(--border))}.btn-ghost:hover{background:hsl(var(--bg-app));color:hsl(var(--text-primary));border-color:hsl(var(--border-strong))}.btn-danger{background:hsl(var(--accent-red));color:#fff}.btn-sm{padding:4px 10px;font-size:.75rem}.dashboard{max-width:1500px;margin:0 auto;padding:24px}.dashboard-aligned{padding:32px!important;max-width:1400px}.dashboard-aligned>.stats-bar{gap:16px;margin-bottom:24px}.period-filter{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:hsl(var(--bg-surface-2));border:1px solid hsl(var(--border));border-radius:var(--r-sm)}.period-filter select{font-size:.75rem;font-weight:600;color:hsl(var(--accent));border:0;background:transparent;cursor:pointer}.period-filter-divider{width:1px;height:14px;background:hsl(var(--border))}.spending-filters{margin-bottom:24px}.spending-budget-table{min-width:650px}.spending-budget-wrap{overflow-x:auto}.spending-budget-note{margin:0;padding:12px 16px;font-size:.8rem;color:hsl(var(--text-secondary));line-height:1.5}.spending-budget-table{width:100%;border-collapse:collapse;text-align:left}.spending-budget-table th{font-size:.72rem;color:hsl(var(--text-secondary))}.spending-budget-table td,.spending-budget-table th{padding:12px 14px}.budget-card{border-top:1px solid hsl(var(--border));cursor:pointer}.budget-card:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:-2px}.budget-inline-editor{cursor:default}.budget-card-selected{background:#eff6ff}.budget-category-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.budget-mobile-label{display:none}.budget-value-action{display:flex;align-items:center;gap:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-inline-editor{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.budget-inline-editor input{width:110px;max-width:100%;min-width:0;border:1px solid hsl(var(--accent));border-radius:8px;padding:8px;min-height:44px;font:inherit;font-size:16px;background:#fff}.budget-edit-actions{display:flex;gap:4px}.budget-remaining{min-width:150px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-remaining small{display:block;font-size:.72rem;color:hsl(var(--text-secondary))}.budget-progress{height:5px;background:hsl(var(--border));border-radius:8px;overflow:hidden;margin:8px 0 6px}.budget-progress span{display:block;height:100%;background:var(--money-positive);border-radius:inherit}.budget-progress-over span{background:var(--money-negative)}@media (max-width:900px){.spending-budget-wrap{overflow:visible}.spending-budget-table{display:block;min-width:0}.spending-budget-table thead{display:none}.spending-budget-table tbody{display:grid;grid-gap:10px;gap:10px;padding:0 12px 12px}.spending-budget-table .budget-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"category category" "spent allocation" "remaining remaining" "share share";grid-gap:10px 16px;gap:10px 16px;padding:12px;border:1px solid hsl(var(--border));border-radius:12px}.spending-budget-table .budget-card-selected{border-color:hsl(var(--accent))}.spending-budget-table .budget-card>td{display:block;padding:0;border:0;min-width:0;overflow-wrap:anywhere;background:transparent}.budget-category{grid-area:category}.budget-category-heading{justify-content:space-between}.budget-category-heading .cat-tag{white-space:normal!important}.budget-allocation{grid-area:allocation}.budget-spent{grid-area:spent}.budget-spent>strong{display:flex;align-items:center;min-height:44px;font-size:1.05rem}.budget-remaining{grid-area:remaining}.budget-share{grid-area:share}.budget-mobile-label,.budget-share{font-size:.72rem;color:hsl(var(--text-secondary))}.budget-mobile-label{display:block}.budget-share .budget-mobile-label{display:inline}.budget-value-action{justify-content:space-between;min-height:44px}.budget-value-action strong{font-size:1.05rem}.spending-budget-table .row-action-button{min-width:44px;min-height:44px;flex-shrink:0}.spending-budget-table .budget-card-editing{grid-template-areas:"category category" "spent spent" "allocation allocation" "remaining remaining" "share share"}.budget-inline-editor{margin-top:6px}.budget-inline-editor input{flex:1 1;width:100px}}.spending-account-filter{padding:6px 12px;border-radius:8px;border:1px solid hsl(var(--border));font-size:.82rem;font-weight:600;color:#334155;background:#fff;max-width:280px}.spending-account-note{color:hsl(var(--text-secondary));font-size:.8rem;margin:-8px 0 18px}.panel-header>.insights-disclosure-pill{display:inline-flex;flex:0 0 auto;width:auto;align-self:center;gap:2px;padding:3px;background:#f1f5f9;border-radius:99px}.insights-disclosure-pill button{border:0;background:transparent;color:#64748b;border-radius:99px;padding:4px 10px;cursor:pointer;font-weight:600;font-size:.62rem;text-transform:uppercase;letter-spacing:.5px}.insights-disclosure-pill button[aria-pressed=true]{background:#fff;color:#1e293b;box-shadow:0 1px 3px rgba(0,0,0,.08)}@media (max-width:900px){.dashboard-aligned{padding:12px!important}}.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:20px}@media (max-width:900px){.stats-bar{grid-template-columns:repeat(2,1fr);gap:10px}}@media (max-width:500px){.stats-bar{grid-template-columns:1fr}}.stat-card{background:hsl(var(--bg-surface));border:1px solid hsl(var(--border));border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-sm);transition:opacity .12s ease,transform .12s ease}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card-label{font-size:.7rem;font-weight:700;color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.stat-card-value{font-size:1.6rem;font-weight:600;font-family:var(--font-ui);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15;margin-bottom:6px}.stat-badge{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:99px}.badge-green{background:rgba(29,154,96,.1);color:hsl(var(--accent-green))}.badge-red{background:rgba(225,62,51,.1);color:hsl(var(--accent-red))}.badge-blue{background:rgba(36,99,235,.1);color:hsl(var(--accent))}.badge-gray{background:hsl(var(--bg-app));color:hsl(var(--text-secondary))}.panel{background:hsl(var(--bg-surface));border:1px solid hsl(var(--border));border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:18px}.panel>:last-child{border-radius:0 0 var(--r-lg) var(--r-lg)}.panel-scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.panel-header{justify-content:space-between;padding:14px 20px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--bg-surface-2))}.panel-header,.panel-title{display:flex;align-items:center}.panel-title{font-size:.875rem;font-weight:700;color:hsl(var(--text-primary));gap:8px}.panel-body{padding:16px 20px}.time-gate-bar{display:flex;gap:4px}.time-gate-btn{padding:4px 12px;font-size:.75rem;font-weight:700;border:1px solid hsl(var(--border));border-radius:var(--r-full);background:transparent;color:hsl(var(--text-secondary));cursor:pointer;transition:opacity .12s ease,transform .12s ease;font-family:inherit}.time-gate-btn.active{background:hsl(var(--accent));color:#fff;border-color:hsl(var(--accent))}.time-gate-btn:hover:not(.active){background:hsl(var(--bg-app));color:hsl(var(--text-primary))}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}@media (max-width:900px){.category-grid{grid-template-columns:1fr 1fr}}@media (max-width:500px){.category-grid{grid-template-columns:1fr}}.cat-stat-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);border:1px solid hsl(var(--border));background:hsl(var(--bg-surface));transition:opacity .12s ease,transform .12s ease}.cat-stat-card:hover{box-shadow:var(--shadow-md)}.cat-stat-emoji{font-size:1.4rem;flex-shrink:0}.cat-stat-info{flex:1 1;min-width:0}.cat-stat-name{font-size:.78rem;font-weight:700;color:hsl(var(--text-primary))}.cat-stat-amount{font-size:1rem;font-weight:600;font-family:var(--font-ui)}.cat-stat-count{font-size:.7rem;color:hsl(var(--text-muted))}.ledger-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.ledger-toolbar-left,.ledger-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width:900px){.ledger-toolbar-left,.ledger-toolbar-right{width:100%;justify-content:space-between}.search-box{width:100%!important}}.search-box{display:flex;align-items:center;gap:8px;background:hsl(var(--bg-surface));border:1px solid hsl(var(--border));padding:7px 12px;border-radius:var(--r-md);width:220px;transition:opacity .12s ease,transform .12s ease}.search-box:focus-within{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsla(var(--accent),.12)}.search-box input{background:none;border:none;outline:none;font:inherit;width:100%;font-size:.85rem}.search-box svg{color:#9096a2;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cash-filter-bar{justify-content:space-between;gap:12px;margin-bottom:16px}.cash-filter-bar,.cash-filter-group{display:flex;align-items:center;flex-wrap:wrap}.cash-filter-group{gap:8px}.cash-filter-label{font-size:.6rem;font-weight:600;color:#828997;text-transform:uppercase;min-width:28px}.cash-filter-label-next{color:#2463eb}.cash-filter-field{display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;background:hsl(var(--bg-surface-2));border:1px solid hsl(var(--border));border-radius:10px}.cash-filter-field select{font-size:.75rem;font-weight:600;background:transparent;border:none;color:hsl(var(--text-primary));cursor:pointer;outline:none}.cash-filter-clear{border:none;background:#2463eb;color:#fff;border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.55rem}.sort-segment{display:flex;gap:2px;padding:2px;background:hsl(var(--bg-surface-2));border:1px solid hsl(var(--border));border-radius:8px}.sort-segment button{padding:4px 8px;border:none;border-radius:6px;font-size:.72rem;font-weight:700;cursor:pointer;background:transparent;color:#64748b;font-family:inherit}.sort-segment button[aria-pressed=true]{background:#0f172a;color:#fff}.cash-filter-windows{display:flex;flex-direction:column;gap:2px;padding:3px 6px;background:hsl(var(--bg-surface-2));border:1px solid hsl(var(--border));border-radius:8px}.cash-filter-window-row{display:flex;align-items:center;gap:2px}.cash-filter-group>.time-gate-btn,.cash-filter-window-row .time-gate-btn{font-size:.7rem;padding:1px 6px;min-width:32px}.filter-status{flex-basis:100%;display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:hsl(var(--text-secondary))}@media (max-width:900px){.cash-filter-bar{flex-direction:column;align-items:stretch;margin-bottom:0}.cash-filter-group{width:100%}.cash-filter-group .search-box{flex:1 1 100%}.cash-filter-field{flex:1 1}.cash-filter-windows{width:100%}.cash-filter-window-row{flex-wrap:wrap;gap:4px}.cash-filter-window-row .time-gate-btn{padding:2px 8px}}.toggle-pill{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.78rem;font-weight:600;color:hsl(var(--text-secondary));-webkit-user-select:none;-moz-user-select:none;user-select:none}.pill-switch{width:30px;height:17px;background:hsl(var(--border-strong));border-radius:99px;position:relative;flex-shrink:0}.pill-switch,.pill-switch:after{transition:opacity .12s ease,transform .12s ease}.pill-switch:after{content:"";position:absolute;width:13px;height:13px;left:2px;top:2px;background:#fff;border-radius:50%}.toggle-pill input:checked+.pill-switch{background:hsl(var(--accent))}.toggle-pill input:checked+.pill-switch:after{transform:translateX(13px)}.toggle-pill input{display:none}.ledger-table{table-layout:fixed}.ledger-table,.standard-table{width:100%;border-collapse:collapse;font-family:var(--font-ui);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:is(.ledger-table,.standard-table) .text-right{text-align:right}:is(.ledger-table,.standard-table) thead th{background:rgba(248,250,252,.95);padding:11px 14px;font-size:.75rem;font-weight:600;color:#475569;text-transform:none;letter-spacing:.01em;border-bottom:1px solid #e2e8f0;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left}:is(.ledger-table,.standard-table) tbody td{padding:9.5px 14px;border-bottom:1px solid #f1f5f9;font-size:.855rem;vertical-align:middle;transition:opacity .12s ease,transform .12s ease}:is(.ledger-table,.standard-table) tbody tr:last-child td{border-bottom:none}:is(.ledger-table,.standard-table) tbody tr:hover td{background:#f9fbfd}.plaid-matched-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:2px 5px;border-radius:6px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:.78rem;cursor:pointer;transition:opacity .12s ease,transform .12s ease;line-height:1;vertical-align:middle}.plaid-matched-badge:hover{background:#dbeafe;border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 2px 5px rgba(37,99,235,.18)}.plaid-matched-badge:active{transform:translateY(0)}.col-drag{width:36px;text-align:center;color:hsl(var(--text-muted));cursor:-webkit-grab;cursor:grab;font-size:1rem}.col-date{width:140px;font-weight:500;color:hsl(var(--text-secondary))}.col-cat{width:155px}.col-desc{min-width:0}.col-change{width:130px;text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.col-balance{width:150px;text-align:right;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-left:1px solid hsl(var(--border));background:#fcfcfd}.col-actions{width:90px;text-align:center;vertical-align:middle}.amount-pos{color:hsl(var(--accent-green))}.amount-neg{color:hsl(var(--accent-red))}tr.is-forecast .col-balance,tr.is-forecast td{color:hsl(var(--text-muted))}tr.editing td{background:rgba(36,99,235,.04)!important}tr.selected td{background:hsla(var(--accent),.08)!important;border-bottom-color:hsla(var(--accent),.2)}tr.selected:hover td{background:hsla(var(--accent),.12)!important}tr.negative-balance td{background:hsla(var(--accent-red),.08)!important;border-bottom-color:hsla(var(--accent-red),.2)}tr.reconciled td{background:hsla(var(--accent-green),.06)!important;border-bottom-color:hsla(var(--accent-green),.15)}.col-sel{width:44px;text-align:center}.sel-check{width:16px;height:16px;cursor:pointer;accent-color:hsl(var(--accent))}tr.dragging{opacity:.3}tr.drop-indicator-before td:first-child{box-shadow:inset 0 3px 0 0 hsl(var(--accent))}tr.drop-indicator-after td:first-child{box-shadow:inset 0 -3px 0 0 hsl(var(--accent))}tr.is-beginning-balance td{background:#fffcf0!important;border-bottom:2px dashed #faeaa8}tr.is-beginning-balance:hover td{background:#fffae6!important}.label-beginning{display:inline-block;font-size:.62rem;font-weight:800;color:#a16c12;background:#fff0c2;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-right:6px}.recur-badge{display:inline-flex;align-items:center;gap:3px;font-size:.65rem;font-weight:700;color:hsl(var(--accent));background:rgba(36,99,235,.1);padding:2px 7px;border-radius:99px}.inline-edit-input{width:100%;padding:4px 6px;border:1.5px solid hsl(var(--accent));border-radius:var(--r-sm);font:inherit;background:#fff;outline:none;box-shadow:0 0 0 3px hsla(var(--accent),.12)}.inline-date-button,.inline-edit-button{padding:2px 4px;margin:-2px -4px;border:0;border-radius:var(--r-sm);background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}.inline-edit-button{text-align:inherit}.inline-date-button:hover,.inline-edit-button:hover{text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:3px}.inline-date-button:focus-visible,.inline-edit-button:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:1px}.cat-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:.75rem;font-weight:600;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default;border:1px solid transparent;transition:opacity .12s ease,transform .12s ease}.cat-tag[data-clickable]:hover{filter:brightness(.95);cursor:pointer}.cat-picker-popover{position:fixed;width:340px;padding:15px;background:#fff;border:1px solid hsl(var(--border));border-radius:var(--r-lg);box-shadow:0 15px 40px rgba(0,0,0,.15);z-index:20000;visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity .12s ease,transform .12s ease}.cat-picker-popover.active{visibility:visible;opacity:1;transform:translateY(0);z-index:20000}.picker-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;max-height:260px;overflow-y:auto;margin-bottom:8px}.picker-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:.8rem;font-weight:600;border:1px solid transparent;transition:opacity .12s ease,transform .12s ease}.picker-item:hover{filter:brightness(.93)}.picker-divider{height:1px;background:hsl(var(--border));margin:4px 0}.picker-add{display:flex;gap:4px;padding:2px}.picker-add input{flex:1 1;padding:6px 8px;border:1px solid hsl(var(--border));border-radius:var(--r-sm);font:inherit;font-size:.78rem;outline:none}.picker-add input:focus{border-color:hsl(var(--accent))}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;width:100%;max-width:480px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);animation:modalIn .2s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.modal-header{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid hsl(var(--border));background:hsl(var(--bg-surface-2))}.modal-header h3{font-size:1rem}.modal-close{background:none;border:none;cursor:pointer;font-size:1.25rem;color:hsl(var(--text-muted));line-height:1;padding:2px 6px;border-radius:var(--r-sm)}.modal-close:hover{background:hsl(var(--bg-app));color:hsl(var(--text-primary))}.tx-form{padding:20px;gap:14px}.form-field,.tx-form{display:flex;flex-direction:column}.form-field{gap:5px}.form-field label{font-size:.7rem;font-weight:700;color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.5px}.form-field input,.form-field select{padding:8px 10px;border:1px solid hsl(var(--border));border-radius:var(--r-sm);font:inherit;font-size:.875rem;outline:none;background:hsl(var(--bg-surface));transition:opacity .12s ease,transform .12s ease}.form-field input:focus,.form-field select:focus{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsla(var(--accent),.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.seg{display:flex;background:hsl(var(--bg-app));padding:3px;border-radius:var(--r-md);border:1px solid hsl(var(--border))}.seg-item{flex:1 1;text-align:center;cursor:pointer;position:relative}.seg-item input{position:absolute;opacity:0;width:0;height:0}.seg-item span{display:block;padding:7px 10px;font-size:.775rem;font-weight:700;border-radius:7px;color:hsl(var(--text-muted));transition:opacity .12s ease,transform .12s ease}.seg-item input:checked+span{background:#fff;box-shadow:var(--shadow-sm)}.seg-item input[value=expense]:checked+span{color:hsl(var(--accent-red))}.seg-item input[value=income]:checked+span{color:hsl(var(--accent-green))}.seg-item:hover span{color:hsl(var(--text-primary))}.recur-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.82rem;font-weight:600;color:hsl(var(--text-secondary));-webkit-user-select:none;-moz-user-select:none;user-select:none}.recur-toggle input{position:absolute;opacity:0;pointer-events:none}.recur-knob{width:32px;height:18px;background:hsl(var(--border-strong));border-radius:99px;position:relative;flex-shrink:0}.recur-knob,.recur-knob:after{transition:opacity .12s ease,transform .12s ease}.recur-knob:after{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;background:#fff;border-radius:50%}.recur-toggle input:checked+.recur-knob{background:hsl(var(--accent))}.recur-toggle input:checked+.recur-knob:after{transform:translateX(14px)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid hsl(var(--border));background:hsl(var(--bg-surface-2))}.empty-state{text-align:center;padding:60px 20px;color:hsl(var(--text-muted))}.empty-state-icon{font-size:2.5rem;margin-bottom:12px}.empty-state h3{font-size:1.1rem;color:hsl(var(--text-secondary));margin-bottom:8px}.empty-state p,.toast{font-size:.875rem}.toast{position:fixed;bottom:24px;right:24px;z-index:9999;background:hsl(var(--text-primary));color:#fff;padding:12px 20px;border-radius:var(--r-md);font-weight:600;box-shadow:var(--shadow-lg);animation:toastIn .25s ease-out}@keyframes toastIn{0%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}.feedback-toasts{position:fixed;bottom:24px;right:24px;z-index:10001;display:flex;flex-direction:column;gap:8px;align-items:flex-end;max-width:min(420px,calc(100vw - 32px))}.feedback-toasts .feedback-toast{position:static;display:flex;align-items:flex-start;gap:12px;white-space:pre-line}.feedback-success{background:#1c693c}.feedback-error{background:#cc2a1e}.feedback-dismiss{border:none;background:transparent;color:inherit;opacity:.75;cursor:pointer;font-size:.75rem;padding:2px;line-height:1}.feedback-dismiss:hover{opacity:1}.feedback-confirm-overlay{z-index:10002}.feedback-confirm{max-width:440px;padding:20px}.feedback-confirm-message{margin:0 0 20px;white-space:pre-line;font-size:.92rem;line-height:1.5;color:hsl(var(--text-primary))}.feedback-confirm-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width:900px){.feedback-toasts{left:16px;right:16px;bottom:calc(var(--mobile-nav-height, 0px) + 24px);align-items:stretch;max-width:none}.feedback-confirm-overlay{align-items:center;padding:16px;background:rgba(15,23,42,.45)}.feedback-confirm{border-radius:var(--r-md)}}.drag-tooltip{position:fixed;pointer-events:none;z-index:10000;background:hsl(var(--text-primary));color:#fff;padding:6px 14px;border-radius:var(--r-md);font-size:.8rem;font-weight:700;white-space:nowrap;box-shadow:var(--shadow-lg);display:none;border:1.5px solid hsl(var(--accent))}.table-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:0 0 var(--r-lg) var(--r-lg)}@media (max-width:900px){:root{--header-h:54px}body,html{overflow-x:hidden;overflow-x:clip;width:100%;position:relative}.top-bar{padding:0 8px;gap:4px;border-radius:0;width:100%;box-sizing:border-box}.brand{gap:6px;min-width:0;flex:1 1}.brand-text h1{font-size:1.05rem}.brand-tagline{display:none!important}.header-actions{gap:4px;flex-shrink:0}.user-pill{display:none!important}.header-actions .btn{padding:5px 8px;font-size:.7rem}.dashboard{padding:12px 8px;width:100%;box-sizing:border-box;overflow:hidden}.stats-bar{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.stat-card{padding:10px;border-radius:var(--r-md)}.stat-card-value{font-size:1.15rem}.stat-card-label{font-size:.58rem}.panel-header{flex-direction:column;align-items:stretch;gap:12px;padding:14px 12px}.panel-header>h3{width:100%;text-align:center;border-bottom:1px solid hsl(var(--border));padding-bottom:8px;margin-bottom:4px}.panel-header>div{width:100%;display:flex;flex-direction:row;justify-content:space-between;gap:8px;flex-wrap:wrap}.time-gate-bar{flex:1 1;justify-content:center}.panel-title{font-size:.8rem}.panel>.table-scroll-wrap{margin:0;padding:0;overflow-x:visible}.ledger-table{min-width:0!important;width:100%!important;border-collapse:separate;table-layout:auto}.ledger-table thead{display:none}.ledger-table,.ledger-table tbody,.ledger-table tr{display:block;width:100%}.ledger-table tr{display:grid;grid-template-areas:"sel date amt" "sel desc amt" "sel cat bal";grid-template-columns:44px 1fr auto;padding:12px 14px;border-bottom:1px solid hsl(var(--border));background:#fff;align-items:center;grid-gap:2px 12px;gap:2px 12px;min-height:72px}.ledger-table tr:last-child{border-bottom:none}.ledger-table td{display:block!important;border:none!important;padding:0!important;background:none!important;width:auto!important}.col-sel{grid-area:sel;display:flex!important;align-items:center;justify-self:center}.col-date{grid-area:date;font-size:.65rem!important;font-weight:700;color:hsl(var(--text-muted));text-transform:uppercase;margin-bottom:-2px}.col-desc{grid-area:desc;font-size:.9rem!important;font-weight:600;line-height:1.2!important;margin:2px 0}.col-cat{grid-area:cat;margin-top:2px}.col-change{grid-area:amt;text-align:right;font-size:1.1rem!important;display:flex!important;flex-direction:column;justify-content:flex-start;align-items:flex-end}.col-balance{grid-area:bal;text-align:right;font-size:.75rem!important;font-weight:600;color:hsl(var(--text-muted));margin-top:2px}.col-actions,.col-drag{display:none!important}tr.is-beginning-balance{grid-template-areas:"icon date dash" "icon label bal";grid-template-columns:44px 1fr auto}tr.is-beginning-balance .col-sel{display:none!important}tr.is-beginning-balance .col-drag{grid-area:icon;display:flex!important;font-size:1.2rem;color:#d97706}tr.is-beginning-balance .col-drag:after{content:"🏦"}tr.is-beginning-balance .col-drag svg{display:none}tr.is-beginning-balance .col-desc{grid-area:label;font-size:.75rem;font-weight:800}tr.is-beginning-balance .col-balance{grid-area:bal;font-size:1.1rem!important;color:hsl(var(--text-primary))!important;font-weight:700}.ledger-toolbar{padding:12px;gap:14px;background:transparent;border:none;box-shadow:none}.ledger-toolbar-left{grid-template-columns:1fr;gap:10px}.search-box{width:100%;height:42px}.ledger-toolbar-right .btn{height:44px}.modal-overlay{align-items:stretch;padding:0;background:#fff;z-index:10000}.modal{position:fixed;inset:0;max-width:100%!important;height:100%!important;max-height:100vh!important;border-radius:0!important;animation:modalPageIn .35s cubic-bezier(.16,1,.3,1)!important}@keyframes modalPageIn{0%{transform:translateX(30%);opacity:0}to{transform:none;opacity:1}}.modal-header{padding:12px 16px;min-height:56px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;justify-items:center;background:#fff;border-bottom:1.5px solid hsl(var(--border))}.modal-header h3{font-size:1rem;font-weight:700;grid-column:2}.modal-close{grid-column:1;grid-row:1;font-size:1.5rem;width:32px;height:32px;display:grid;place-items:center}.modal-close:before{content:"←"}.modal-close{color:hsl(var(--accent))}.tx-form{padding:20px 16px;gap:16px;width:100%}.form-field label{font-size:.65rem}.form-row{grid-template-columns:1fr;gap:12px}.modal-footer{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:0 -4px 12px rgba(0,0,0,.05)}.cat-picker-popover{left:8px!important;right:8px!important;top:10%!important;width:auto!important;max-height:80vh;overflow-y:auto}.picker-grid{grid-template-columns:1fr}}@media (max-width:420px){.stats-bar{grid-template-columns:1fr;gap:10px}}@media (max-width:900px){.desktop-only{display:none!important}.mobile-only{display:block!important}.top-bar{padding:12px 16px}.brand-text h1{font-size:1.1rem}.header-actions{gap:8px}.user-pill{display:none}}@media (min-width:901px){.mobile-only{display:none!important}}.mobile-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#2463eb;color:#fff;border:none;font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.3);z-index:50;cursor:pointer}.mobile-tx-list{display:flex;flex-direction:column;gap:12px;padding:16px 16px 90px}.mobile-tx-card{background:#fff;border:1px solid hsl(var(--border));border-radius:12px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.mobile-tx-card.negative-balance{background:hsla(var(--accent-red),.08)!important;border-color:hsla(var(--accent-red),.2)!important}.mobile-tx-card.reconciled{background:hsla(var(--accent-green),.06)!important;border-color:hsla(var(--accent-green),.15)!important}.mobile-tx-left{display:flex;align-items:center;gap:12px;flex:1 1;min-width:0}.mobile-tx-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.mobile-tx-details{display:flex;flex-direction:column;gap:4px;min-width:0}.mobile-tx-desc{font-weight:600;font-size:.95rem;color:hsl(var(--text-primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-tx-meta{font-size:.8rem;color:hsl(var(--text-secondary));display:flex;gap:8px;align-items:center}.mobile-tx-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.mobile-tx-amount{font-weight:700;font-size:1rem}.mobile-tx-balance{font-size:.75rem;color:hsl(var(--text-tertiary))}.landing-page{min-height:100vh;display:flex;flex-direction:row;background-color:#fff;color:#0f172a;overflow:auto}.landing-content{padding:80px 60px;background:#fff;border-right:1px solid #e2e8f0}.landing-auth,.landing-content{flex:1 1;display:flex;flex-direction:column;justify-content:center;position:relative}.landing-auth{padding:80px 40px;align-items:center;background:linear-gradient(145deg,#0d1321,#151a2e 60%,#131525)}.landing-grid{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,hsla(0,0%,100%,.05) 1px,transparent 0);background-size:32px 32px;pointer-events:none}.landing-h1{font-size:3.5rem;font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-bottom:24px}.landing-p{font-size:1.15rem;color:hsla(0,0%,100%,.7);line-height:1.6;margin-bottom:48px;max-width:540px}.value-props{display:flex;flex-direction:column;gap:28px}.value-prop{display:flex;align-items:flex-start;gap:16px;max-width:480px}.vp-icon{padding:10px;border-radius:12px;margin-top:2px;display:flex;justify-content:center;align-items:center}.vp-blue{background:rgba(36,99,235,.15);color:#447aee}.vp-green{background:rgba(29,154,96,.15);color:#29d685}.vp-yellow{background:rgba(242,185,13,.15);color:#f5c73d}.vp-title{font-size:1.1rem;font-weight:600;margin-bottom:6px}.vp-desc{font-size:.95rem;color:hsla(0,0%,100%,.5);line-height:1.5}.desktop-only{display:block}.mobile-only{display:none}@media (max-width:900px){.desktop-only{display:none!important}.mobile-only{display:block!important}.landing-page{flex-direction:column}.landing-content{border-right:none;border-bottom:1px solid hsla(0,0%,100%,.1)}.landing-auth,.landing-content{padding:40px 24px}.landing-h1{font-size:2.2rem}}.income-deductions{margin-bottom:24px}.income-editor-body{padding:16px 24px}.income-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px}.income-help{font-size:.78rem;color:hsl(var(--text-secondary));line-height:1.5;margin:6px 0}.income-deduction-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin:12px 0}.income-qbi{border-top:1px solid hsl(var(--border));margin-top:16px;padding-top:16px}.income-qbi fieldset{border:1px solid hsl(var(--border));border-radius:6px;padding:12px;margin:12px 0;min-width:0}.income-qbi legend{font-weight:600;padding:0 6px}.income-save-status{font-size:.78rem;color:hsl(var(--text-secondary));padding:8px 16px;display:flex;justify-content:space-between}.income-grid-actions{display:flex;gap:6px;flex-wrap:wrap}.income-paycheck-editor{scroll-margin-top:90px}.income-paycheck-grid{width:100%;table-layout:fixed}.income-paycheck-grid tbody td,.income-paycheck-grid thead th{padding:7px 3px;font-size:.75rem}.income-paycheck-grid .income-select{width:26px}.income-paycheck-grid th:nth-child(2){width:112px}.income-paycheck-grid .income-row-actions{width:70px}.income-paycheck-grid input:not([type=checkbox]){width:100%;min-width:0;height:32px;padding:4px;font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:1px solid hsl(var(--border));border-radius:4px;background:#fff}.income-paycheck-grid input[type=number]{text-align:right;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.income-paycheck-grid input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.income-paycheck-grid input:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}.income-paycheck-grid .income-gross{color:#0f172a;font-weight:700}.income-paycheck-grid .income-tax{color:#b91c1c}.income-paycheck-grid .income-deduction{color:#64748b}.income-paycheck-grid .income-net{color:#166534}.income-paycheck-grid input:not([type=checkbox]){color:inherit;font-weight:inherit}.income-paycheck-grid tfoot td,.income-paycheck-grid tfoot th{padding:10px 3px;border-top:2px solid hsl(var(--border));background:#f8fafc;font-size:.7rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.income-paycheck-grid tfoot td{text-align:right;overflow-wrap:anywhere}.income-paycheck-grid tfoot .income-net{white-space:normal}.income-paycheck-grid .income-total-count{color:#64748b}.income-row-actions button{background:transparent;border:0;padding:4px;cursor:pointer}.income-row-actions button:disabled{opacity:.3;cursor:default}.income-dirty-row{background:#eff6ff}.income-paycheck-grid tbody tr.income-week-past{background:#f1f5f9}.income-paycheck-grid tbody tr.income-week-current{background:#fef9c3}.income-paycheck-grid tbody tr.income-week-future{background:#e0f2fe}.income-paycheck-grid tbody tr.income-dirty-row{box-shadow:inset 3px 0 #3b82f6}.income-paycheck-grid tbody input:not([type=checkbox]){background:hsla(0,0%,100%,.65)}.income-net{font-weight:600;text-align:right;white-space:nowrap}.income-tax-breakdown summary h3{display:inline}.income-settings-modal{max-width:900px;max-height:90dvh;overflow-y:auto}.income-settings-modal>.panel{margin:0!important;border:0!important;box-shadow:none}.income-modal-note,.income-settings-modal>.income-help{margin:16px 24px}.income-analysis-tax{border-top:1px solid hsl(var(--border))}.income-insights-note{padding:12px 20px;margin:0}.income-source-insights tfoot td,.income-source-insights tfoot th{padding:12px 14px;font-weight:700;background:#f8fafc;border-top:2px solid hsl(var(--border));white-space:nowrap}.income-federal-comparison{padding:20px;border-top:1px solid hsl(var(--border))}.income-federal-comparison th{padding:10px 14px;text-align:left;font-size:.85rem;font-weight:600}.income-federal-comparison td{font-weight:600}.income-federal-comparison .income-balance-due{background:#fef2f2;color:#b91c1c}.income-federal-comparison .income-balance-refund{background:#f0fdf4;color:#166534}.income-analysis-tax>h4{padding:16px 20px}.income-toolbar-filter{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#64748b}.income-toolbar-filter select{padding:8px 10px;border:1px solid hsl(var(--border));border-radius:var(--r-sm);background:#fff;font:inherit;color:#0f172a}.income-tax-table td:nth-child(3),.income-tax-table th:nth-child(3){border-left:1px solid hsl(var(--border))}@media (max-width:640px){.income-tax-table thead{display:none}.income-tax-table tr{display:grid;grid-template-columns:1fr auto}.income-tax-table td:nth-child(3){border-left:0}}@media (max-width:1000px){.income-paycheck-grid,.income-paycheck-grid tbody,.income-paycheck-grid tfoot{display:block}.income-paycheck-grid thead{display:none}.income-paycheck-grid tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;padding:12px;border-top:1px solid hsl(var(--border))}.income-paycheck-grid tbody td{padding:0;min-width:0}.income-paycheck-grid td[data-label]:before{content:attr(data-label);display:block;color:hsl(var(--text-secondary));margin-bottom:4px}.income-paycheck-grid .income-select{grid-column:1/-1}.income-paycheck-grid .income-row-actions{width:auto;grid-column:1/-1;text-align:right}.income-paycheck-grid td:nth-child(2){grid-column:span 2}.income-paycheck-grid tfoot tr{background:#f8fafc}.income-paycheck-grid tfoot th{grid-column:1/-1;width:auto}.income-paycheck-grid tfoot td,.income-paycheck-grid tfoot th{border:0;padding:0;min-width:0}.income-paycheck-grid tfoot td:nth-child(2){grid-column:auto}.income-paycheck-grid tfoot .income-total-count{grid-column:1/-1}}@media (max-width:540px){.income-paycheck-grid tr{grid-template-columns:repeat(2,minmax(0,1fr))}}.debt-accounts-table{min-width:1080px}.debt-accounts-table tbody td{padding:16px 14px}.debt-accounts-table strong{font-weight:600}.debt-secondary{font-size:.78rem;line-height:1.5;color:hsl(var(--text-secondary));font-weight:400}.debt-row-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.debt-empty,.debt-table-note{padding:16px 20px;color:hsl(var(--text-secondary));font-size:.8rem}.debt-table-note{border-top:1px solid hsl(var(--border))}.debt-account-forecast,.debt-account-settings{scroll-margin-top:90px}.debt-settings-layout{display:grid;grid-template-columns:minmax(220px,300px) 1fr;grid-gap:32px;gap:32px}.debt-forecast-table{min-width:800px}@media (max-width:900px){.debt-settings-layout{grid-template-columns:1fr;gap:20px}.debt-accounts-table,.debt-accounts-table tbody{display:block;min-width:0}.debt-accounts-table thead{display:none}.debt-accounts-table tr{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;padding:16px;border-bottom:1px solid hsl(var(--border))}.debt-accounts-table tbody td{padding:0;border:0;text-align:left;min-width:0}.debt-accounts-table td:first-child,.debt-accounts-table td:last-child{grid-column:1/-1}.debt-accounts-table td[data-label]:before{content:attr(data-label);display:block;margin-bottom:4px;font-size:.72rem;color:hsl(var(--text-secondary))}.debt-row-actions{justify-content:flex-start}}.projection-account-heading,.projection-page-heading,.projection-schedule-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.top-bar nav button{border:0}.projection-page-heading{margin-bottom:24px}.projection-page-heading h1{font-size:1.8rem}.projection-schedule-heading{margin:28px 0 18px}.projection-account-heading h2,.projection-schedule-heading h2{font-size:1.1rem;font-weight:600}.projection-secondary{font-size:.8rem;color:hsl(var(--text-secondary));font-weight:400;line-height:1.5}.projection-account-heading{padding:20px;background:hsl(var(--bg-surface))}.projection-annual-total{display:flex;flex-direction:column;text-align:right}.projection-annual-total strong{font-size:1.4rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.projection-account-table{table-layout:auto;min-width:960px}.projection-schedule-table{min-width:720px;table-layout:fixed}.projection-account-table tbody td{padding:18px 14px}.projection-account-table td:first-child{min-width:190px}.projection-account-table strong{font-weight:600}.contribution-form{min-width:230px}.contribution-controls{display:flex;align-items:center;gap:6px;margin-bottom:4px}.contribution-controls input{width:120px;padding:8px 10px;border:1px solid hsl(var(--border-strong));border-radius:var(--r-sm);background:#fff;color:hsl(var(--text-primary));font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.contribution-controls input:focus{outline:2px solid hsla(var(--accent),.25);border-color:hsl(var(--accent))}.contribution-controls button:disabled{opacity:.45;cursor:default}.projection-empty,.projection-table-note{padding:14px 20px;color:hsl(var(--text-secondary));font-size:.8rem}.projection-table-note{border-top:1px solid hsl(var(--border))}.projection-assumptions>summary{padding:16px 20px;cursor:pointer;font-weight:600}.projection-assumptions>summary span{margin-left:12px}@media (max-width:900px){.projection-page-heading h1{font-size:1.5rem}.projection-annual-total{text-align:left}.projection-assumptions>summary span{display:block;margin:4px 0 0}.projection-account-table{min-width:0}.projection-account-table thead{display:none}.projection-account-table,.projection-account-table tbody{display:block}.projection-account-table tbody tr{display:grid;grid-template-columns:1fr 1fr;padding:16px;grid-gap:14px;gap:14px;border-bottom:1px solid hsl(var(--border))}.projection-account-table tbody td{padding:0;border:0;text-align:left;min-width:0}.projection-account-table td:first-child{grid-column:1/-1;min-width:0}.projection-account-table td:nth-child(4){grid-column:1/-1;grid-row:2}.projection-account-table td[data-label]:before{content:attr(data-label);display:block;font-size:.75rem;color:hsl(var(--text-secondary));margin-bottom:5px}.projection-account-table td:last-child{align-self:end}.contribution-form{min-width:0}.contribution-controls input{flex:1 1;min-width:0}.projection-account-heading>div{flex-direction:column}.projection-account-heading .projection-annual-total{flex-direction:row;align-items:baseline}}@media (prefers-reduced-motion:reduce){.btn{transition:opacity .12s ease,transform .12s ease}}.cash-inbox-button{height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;font-size:.75rem;font-weight:600;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px}.undo-redo{display:inline-flex;gap:4px}.undo-redo-button{width:36px;height:36px;min-width:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#334155}.undo-redo-button:focus-visible,.undo-redo-button:hover:not(:disabled){color:#1d4ed8;border-color:#93b4ed}.undo-redo-button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:900px){.undo-redo-button{width:44px;height:44px;min-width:44px}}.cash-inbox-count{background:#3b82f6;color:#fff;border-radius:10px;padding:1px 6px;font-size:.7rem;font-weight:700}.col-drag{position:relative}.col-drag .row-insert-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;min-width:24px;min-height:24px;border-radius:6px;color:#2563eb}@media (min-width:901px){.col-drag .row-insert-btn,.ledger-table tbody tr:hover .col-drag .drag-handle{display:none!important}.ledger-table tbody tr:hover .col-drag .row-insert-btn{display:flex!important}}:root{--money-positive:#047857;--money-negative:#be123c;--money-neutral:#475569;--money-total:#0f172a;--money-positive-surface:#ecfdf5;--money-negative-surface:#fff1f2}.page-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 20px;padding:12px 16px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important}.page-actions .btn,.page-toolbar .btn{min-height:38px;border-radius:8px;font-size:.82rem;display:inline-flex;align-items:center;justify-content:center;gap:7px}.page-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.btn.page-settings{display:inline-flex;align-items:center;gap:7px;background:#f8fafc;color:#475569;border:1px solid #cbd5e1;min-height:38px;border-radius:8px}.page-settings-menu{position:relative;margin-left:auto}.page-settings-menu summary{list-style:none;cursor:pointer}.page-settings-menu summary::-webkit-details-marker{display:none}.page-settings-menu summary[aria-disabled=true]{opacity:.5;cursor:not-allowed}.page-settings-options{position:absolute;right:0;top:calc(100% + 6px);z-index:100;min-width:220px;padding:8px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0f172a18;display:flex;flex-direction:column;align-items:stretch;gap:4px}.btn.ai-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 14px;border:1px solid #c4b5fd;border-radius:8px;background:#f5f3ff;color:#6d28d9;font-size:.82rem;font-weight:700}.btn.ai-button:hover{background:#ede9fe;border-color:#a78bfa}.panel:has(>.shared-insights-header){margin-bottom:24px!important;border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden}.panel-header.shared-insights-header{padding:10px 16px;min-height:52px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;gap:12px}.insights-context{display:flex;gap:8px;align-items:center}.panel:has(>.shared-insights-header) table{font-size:.82rem}.stat-card{border-top:3px solid #bfdbfe}.stat-card-value{font-weight:700}.money-positive{color:var(--money-positive)}.money-negative{color:var(--money-negative)}.money-neutral{color:var(--money-neutral)}.ledger-table tfoot td,.money-total,.standard-table tfoot td{font-weight:700}.money-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.global-sync-button{display:inline-flex;gap:7px;align-items:center;white-space:nowrap;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;font-size:.8rem}@media (max-width:1100px){.global-sync-button span{display:none}}@media (max-width:640px){.page-toolbar{padding:10px!important;gap:10px}.page-toolbar .ledger-toolbar-right{width:100%;flex-wrap:wrap}.page-toolbar .page-settings,.page-toolbar .page-settings-menu{margin-left:auto}}.quote-status{margin:0 0 14px;color:#64748b;font-size:.76rem;line-height:1.5}.row-action-button{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;background:hsla(0,0%,100%,.72);border-color:rgba(100,116,139,.22);color:#475569;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:opacity .12s ease,transform .12s ease}.row-action-button svg{flex-shrink:0}.row-action-button:focus-visible,.row-action-button:hover:not(:disabled){color:#1d4ed8;background:#fff;border-color:#93b4ed}.row-action-button[data-action=delete]:hover:not(:disabled){color:#b91c1c;border-color:#fca5a5;background:#fff1f2}.row-action-button[data-action=save]{color:#15803d}.row-action-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}@media (prefers-reduced-motion:reduce){.row-action-button{transition:opacity .12s ease,transform .12s ease}}.insights-filter-row:focus-visible,.row-action-button:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:-2px}.date-row-future{--date-row-bg:#e0f2fe;--date-row-active-bg:#cfe9fa}.date-row-today{--date-row-bg:#fef3c7;--date-row-active-bg:#fdebb0}.date-row-future,.date-row-today,.ledger-table tbody tr:is(.date-row-future,.date-row-today),.ledger-table tbody tr:is(.date-row-future,.date-row-today)>td{background:var(--date-row-bg)}.ledger-table tbody tr:is(.date-row-future,.date-row-today):is(:hover,:focus-within),.ledger-table tbody tr:is(.date-row-future,.date-row-today):is(:hover,:focus-within)>td{background:var(--date-row-active-bg)}.spending-ledger tbody tr{--spending-row-bg:var(--date-row-bg,#fff);background:var(--spending-row-bg)}.spending-ledger tbody tr:is(:hover,:focus-within){--spending-row-bg:var(--date-row-active-bg,#f1f5f9);background:var(--spending-row-bg)}.spending-ledger tbody tr.editing{--spending-row-bg:var(--date-row-active-bg,#eff6ff);box-shadow:inset 3px 0 #2563eb}.ledger-table.spending-ledger tbody tr>td{background:var(--spending-row-bg)!important}@media (max-width:900px){.ledger-table.spending-ledger tbody tr>td{background:transparent!important}}.insights-filter-row{cursor:pointer;border-bottom:1px solid #f1f2f4}.insights-filter-row:hover{background:#f1f5f9}.insights-filter-row.is-active{background:#dbeafe;box-shadow:inset 3px 0 #2563eb}.settings-page{max-width:1100px;margin:0 auto;padding:32px 24px 60px;width:100%;box-sizing:border-box}.settings-page-heading,.settings-section-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}.settings-page-heading h1{margin:0;font-size:1.75rem;font-weight:700;color:#0f172a}.settings-page p{color:#64748b;line-height:1.6;margin:6px 0 12px;font-size:.875rem}.settings-heading-icon,.settings-section-icon{display:inline-flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb;border-radius:12px;width:44px;height:44px;flex-shrink:0}.settings-heading-icon svg{width:22px;height:22px}.settings-section{padding:24px;margin-bottom:24px}.settings-section h2{margin:0;font-size:1.05rem;color:#0f172a}.settings-section-heading p{margin-bottom:0}.settings-account-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;grid-gap:24px;gap:24px;padding:20px 0;border-top:1px solid #e2e8f0}.settings-account-row strong{font-size:.9rem;color:#0f172a}.settings-account-row .form-field{margin:0;min-width:0}.settings-save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px;font-size:.8rem;color:#64748b}.settings-save-bar>div{display:flex;gap:8px}.settings-message{padding:14px 18px;margin-bottom:18px;border-radius:10px;background:#f0fdf4;color:#166534}.settings-error{color:#b91c1c}.settings-message.settings-error{background:#fef2f2}.nav-sync-status{display:flex;flex-direction:column;gap:3px;font-size:.65rem;color:#64748b;white-space:nowrap;line-height:1.4}.nav-sync-status strong{font-weight:600;color:#334155}.sync-incomplete{color:#b45309}.sync-provider{padding:18px 0;border-top:1px solid #e2e8f0;font-size:.85rem}.sync-provider h3{font-size:.95rem;color:#0f172a;margin:0 0 6px}@media (max-width:900px){.settings-page{padding:24px 14px}.settings-section{padding:18px}.settings-account-row{grid-template-columns:1fr;gap:12px}.settings-save-bar{align-items:flex-start;flex-direction:column}.nav-sync-status{font-size:.6rem}}.global-sync-button[aria-busy=true] svg{animation:connection-spin 1s linear infinite}@keyframes connection-spin{to{transform:rotate(1turn)}}.sync-notice{position:fixed;top:80px;right:16px;z-index:2100;width:min(420px,calc(100vw - 32px));max-height:60vh;overflow-y:auto;padding:16px 42px 16px 16px;background:#fff;color:#166534;border:1px solid #bbf7d0;border-radius:12px;box-shadow:0 8px 24px #0f172a20;font-size:.85rem;line-height:1.5}.sync-notice-error{color:#991b1b;border-color:#fecaca}.sync-notice p,.sync-notice ul{margin:8px 0 0}.sync-notice ul{padding-left:18px}.sync-notice-dismiss{position:absolute;top:6px;right:6px;padding:4px 8px}.cash-bank-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.cash-bank-context{display:flex;flex-direction:column;min-width:0;max-width:280px;margin-right:4px;font-size:.72rem;line-height:1.5}.cash-bank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-weight:600;text-decoration:none}.cash-bank-name:hover{text-decoration:underline}.cash-bank-balance{color:#64748b}.cash-bank-balance strong{color:#0f172a}.cash-bank-reconciled{color:#166534;margin-left:4px}.cash-bank-variance{color:#991b1b}@media (prefers-reduced-motion:reduce){.global-sync-button[aria-busy=true] svg{animation:none}}@media (max-width:600px){.cash-bank-context{max-width:calc(100vw - 64px)}}.bank-inbox-dock{position:fixed;inset:68px 0 0;z-index:1500;display:flex;justify-content:flex-end;pointer-events:none}.bank-inbox-panel{max-width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#f8fafc;border-left:1px solid #e2e8f0;box-shadow:-8px 0 32px #0f172a12;pointer-events:auto}.bank-inbox-header{padding:20px 24px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}.bank-inbox-header h2{margin:0;font-size:1.15rem;color:#0f172a}.bank-inbox-header p{margin:6px 0 0;font-size:.8rem;color:#64748b}.bank-inbox-tabs{display:flex;gap:6px;padding:0 24px 16px;background:#fff}.bank-inbox-tabs button{flex:1 1;border:1px solid transparent;border-radius:8px;padding:10px 12px;background:#f8fafc;color:#64748b;font-size:.82rem;font-weight:600}.bank-inbox-tabs button[aria-selected=true]{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.bank-inbox-tabs span{margin-left:8px;font-size:.72rem}.bank-inbox-account{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 24px;border-block:1px solid #e2e8f0;font-size:.75rem;background:#fff}.bank-inbox-account>div{flex:1 1;min-width:160px;display:flex;flex-direction:column;gap:4px;color:#334155}.bank-inbox-account span{color:#64748b}.bank-inbox-content{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow:auto}@media(max-width:900px){.bank-inbox-dock{top:116px}.bank-inbox-account,.bank-inbox-header{padding:12px 16px}.bank-inbox-tabs{padding:0 16px 12px}}.bank-inbox-dock.is-workspace{justify-content:stretch}.is-workspace .bank-inbox-panel{width:100%;border-left:0;box-shadow:none}.is-workspace .bank-inbox-header{padding:12px 24px;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.is-workspace .bank-inbox-header p{margin-top:2px}.is-workspace .bank-inbox-tabs{padding:0;background:none}.is-workspace .bank-inbox-tabs button{flex:none;padding:8px 14px}.is-workspace .bank-inbox-account{flex:1 1;padding:0;border:0;justify-content:flex-end}.is-workspace .bank-inbox-account>div{flex:none;text-align:right}.bank-matcher{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(340px,5fr) minmax(460px,7fr);grid-gap:16px;gap:16px;padding:16px 24px 20px}.bank-matcher-detail,.bank-matcher-list{min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.bank-matcher-list-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #e2e8f0}.bank-matcher-search{flex:1 1;min-width:180px;padding:7px 10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;font-size:.82rem}.bank-matcher-chips{display:inline-flex;gap:4px}.bank-matcher-chips button{padding:5px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:.74rem;font-weight:600;cursor:pointer}.bank-matcher-chips button[aria-pressed=true]{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.bank-matcher-count{width:100%;font-size:.72rem;color:#64748b;font-weight:600}.bank-matcher-rows{list-style:none;margin:0;padding:0;flex:1 1;overflow:auto}.bank-matcher-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:10px 14px;border-bottom:1px solid #f1f5f9;border-left:3px solid transparent;cursor:pointer;font-size:.84rem}.bank-matcher-row:hover{background:#f8fafc}.bank-matcher-row[aria-selected=true]{background:#eff6ff;border-left-color:#2563eb}.bank-matcher-candidate:focus-visible,.bank-matcher-row:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.bank-matcher-date{color:#64748b;font-weight:600;font-size:.78rem;white-space:nowrap}.bank-matcher-desc{min-width:0;color:#0f172a;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-matcher-desc em,.bank-matcher-desc small{margin-left:8px;font-style:normal;font-size:.68rem;font-weight:600}.bank-matcher-desc em{padding:1px 6px;border-radius:99px;background:#dcfce7;color:#166534}.bank-matcher-desc small{color:#64748b}.bank-matcher-amount{font-weight:700;white-space:nowrap;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-matcher-detail{padding:18px 20px;gap:14px;overflow:auto}.bank-matcher-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid #f1f5f9}.bank-matcher-item h3{margin:0;font-size:1.05rem;color:#0f172a}.bank-matcher-item>strong{font-size:1.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-matcher-item-meta{display:flex;align-items:center;gap:14px;margin-top:6px;font-size:.78rem;color:#64748b}.bank-matcher-item-meta label{display:inline-flex;align-items:center;gap:6px}.bank-matcher-item-meta select{padding:3px 6px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;font-size:.76rem;background:#fff}.bank-matcher-candidates-head{display:flex;align-items:center;gap:12px}.bank-matcher-candidates-head h4{margin:0;font-size:.86rem;color:#334155;white-space:nowrap}.bank-matcher-candidates{display:flex;flex-direction:column;gap:6px}.bank-matcher-candidate{display:grid;grid-template-columns:92px minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;text-align:left;font:inherit;font-size:.84rem;cursor:pointer}.bank-matcher-candidate:hover{border-color:#93b4ed}.bank-matcher-candidate[aria-checked=true]{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb}.bank-matcher-badges{display:inline-flex;gap:4px}.bank-matcher-badges span{padding:1px 7px;border-radius:99px;background:#f1f5f9;color:#475569;font-size:.68rem;font-weight:600;white-space:nowrap}.bank-matcher-badges .is-good{background:#dcfce7;color:#166534}.bank-matcher-options{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:.8rem;color:#334155}.bank-matcher-options legend{padding:0 4px;font-size:.72rem;font-weight:600;color:#64748b}.bank-matcher-options label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.bank-matcher-preview{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:10px;background:#f8fafc;font-size:.8rem}.bank-matcher-preview div{display:grid;grid-template-columns:90px auto 1fr;grid-gap:10px;gap:10px;align-items:baseline}.bank-matcher-preview span{color:#64748b;font-weight:600}.bank-matcher-preview s{color:#94a3b8}.bank-matcher-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:6px}.bank-matcher-add{display:flex;flex-direction:column;gap:6px;padding:14px;border:1.5px solid #3b82f6;border-radius:10px;background:#f0f6ff}.bank-matcher-add-title{font-weight:700;font-size:.84rem;color:#1e3a8a;margin-bottom:4px}.bank-matcher-add label{font-size:.72rem;font-weight:700;color:#475569}.bank-matcher-add input{padding:7px 10px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;font-size:.84rem;background:#fff}.bank-matcher-hint{margin:0;font-size:.8rem;color:#64748b}.bank-matcher-empty{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px 24px;text-align:center;color:#64748b;font-size:.84rem}.bank-matcher-empty strong{color:#0f172a;font-size:1rem}.settings-institution{border-top:1px solid #e2e8f0;padding:16px 0}.settings-institution h3{font-size:.95rem;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.connection-controls{margin:12px 0;font-size:.8rem}.account-freshness{margin:8px 0;font-size:.75rem;color:#64748b}.account-freshness summary{cursor:pointer}.account-freshness p{max-width:420px}.tax-return{margin:24px 0 8px;border:1px solid #cbd5e1;border-radius:12px;overflow:hidden;background:#fff;color:#0f172a}.tax-return-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:12px 16px;background:#fff}.tax-return-heading h3{font-size:1rem;margin:0;font-weight:700}.tax-return-heading p{font-size:.72rem;color:#64748b;margin:0}.tax-return-section h4{margin:0;padding:7px 16px;background:#f8fafc;border-block:1px solid #e2e8f0;font-size:.75rem;color:#64748b;font-weight:600}.tax-return-section table{border-collapse:collapse;width:100%;table-layout:fixed}.tax-return-section th{text-align:left;font-weight:400}.tax-return-section td,.tax-return-section th{padding:7px 16px;font-size:.8rem;border-bottom:1px solid #edf1f5}.tax-return-section td{width:290px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tax-return-section small{display:block;margin-top:5px;font-size:.74rem;color:#64748b;font-weight:400;line-height:1.5}.tax-return-section .tax-return-total{background:#f8fafc}.tax-return-section .tax-return-total td,.tax-return-section .tax-return-total th{font-weight:700}.tax-return-deduction{color:var(--money-positive)}.tax-return-notes{padding:10px 16px;font-size:.74rem;line-height:1.5;color:#64748b}.tax-return-notes summary{cursor:pointer;font-weight:600}.tax-deduction-input{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.tax-deduction-input input{width:112px;min-width:0;border:1px solid #cbd5e1;border-radius:6px;background:#fff;text-align:right;padding:5px 7px;font:inherit;color:var(--money-positive);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tax-deduction-input input:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}.tax-deduction-input .tax-max{padding:5px 7px;font-size:.7rem;color:#2563eb;font-weight:700}.tax-return-qbi>.income-editor-body{padding:6px 16px}@media(max-width:600px){.tax-return-section th{padding:7px 10px}.tax-return-section td{width:185px;padding:7px 10px}.tax-deduction-input input{width:94px}}.category-manager{width:min(1060px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #cbd5e1;border-radius:16px;background:#f8fafc;color:#0f172a;box-shadow:0 24px 70px #0f172a30}.category-manager::-webkit-backdrop{background:#0f172a66}.category-manager::backdrop{background:#0f172a66}.category-manager-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:#fff;border-bottom:1px solid #e2e8f0}.category-manager-header h2{margin:0;font-size:1.2rem}.category-manager-header p{color:#64748b;font-size:.82rem;margin:6px 0 0}.category-manager-body{padding:20px 24px}.category-manager-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.category-manager-toolbar{display:flex;gap:8px;flex-wrap:wrap}.category-manager-toolbar input{min-width:140px;flex:1 1}.category-manager-list{padding:0;margin:0;list-style:none;max-height:56vh;overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.category-manager-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #f1f5f9}.category-preview{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;font-size:.8rem;font-weight:650;overflow-wrap:anywhere}.category-manager-editor{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px}.category-manager-editor h3{margin:0 0 16px;font-size:1rem}.category-manager-editor fieldset{border:0;padding:0;margin:18px 0}.category-manager-editor legend{font-size:.8rem;font-weight:650;margin-bottom:8px}.category-preset-grid{display:flex;flex-wrap:wrap;gap:6px}.category-preset-grid button{border:2px solid transparent;border-radius:8px;padding:6px 9px;font-size:.75rem;min-height:36px}.category-preset-grid button[aria-pressed=true]{border-color:#0f172a;box-shadow:inset 0 0 0 2px #fff}.category-emoji-grid button{font-size:1.1rem;background:#f8fafc;min-width:38px}.category-manager button:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}@media(max-width:700px){.category-manager{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.category-manager-columns{grid-template-columns:1fr}.category-manager-body,.category-manager-header{padding:16px}.category-manager-list{max-height:28vh}}.portfolio-movers{overflow:hidden;background:#fff;min-width:0}.movers-header{padding:16px 24px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.movers-header h3{margin:0;font-weight:700}.movers-header p,.movers-note{font-size:.72rem;color:#64748b;margin:6px 0 0}.movers-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 24px;font-size:.75rem}.movers-toolbar select{max-width:210px;padding:6px;border:1px solid #cbd5e1;border-radius:6px;margin-left:8px;background:#fff;color:#0f172a}.movers-legend{display:flex;align-items:center;gap:8px}.movers-legend i{width:8px;height:8px;border-radius:2px}.movers-canvas{height:420px;width:100%;background:radial-gradient(ellipse at center,#f8fafc,#eef2f6);overflow:hidden}.movers-canvas canvas{display:block;max-width:100%;touch-action:pan-y}.movers-details{min-height:62px;display:flex;gap:10px 24px;align-items:center;flex-wrap:wrap;padding:14px 24px;border-top:1px solid #e2e8f0;font-size:.8rem;color:#475569}.movers-details strong{color:#0f172a;font-size:1rem}.movers-details b{margin-left:5px;color:#0f172a}.movers-note{padding:0 24px 18px;line-height:1.6}.movers-empty{padding:36px 24px;color:#64748b;text-align:center}.movers-fallback{padding:12px 24px}.movers-flat{height:360px;position:relative}.movers-flat button{position:absolute;color:#fff;border:1px solid #fff;overflow:hidden;font-weight:700}.movers-flat small{display:block;font-weight:500}@media(max-width:640px){.movers-details,.movers-header,.movers-toolbar{padding:12px 16px}.movers-canvas{height:340px}.movers-note{padding:0 16px 16px}.movers-details{min-height:96px}}.movers-board{position:relative;margin:0 12px}.movers-groups{position:absolute;inset:0;pointer-events:none}.movers-group{position:absolute;border:1px solid #cbd5e1;box-sizing:border-box;transition:opacity .12s ease,transform .12s ease}.movers-group>span{display:block;background:#eef2f6;color:#475569;padding:2px 5px;font-size:10px;line-height:16px;font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;box-sizing:border-box}.movers-details strong small{display:block;font-size:.65rem;font-weight:500;color:#64748b}.movers-canvas{background:#e2e8f0}.movers-board .movers-canvas{height:440px}@media(max-width:640px){.movers-board{margin:0 8px}.movers-board .movers-canvas{height:420px}}@media(prefers-reduced-motion:reduce){.movers-group{transition:none}}.wealth-trajectory{background:#fff;overflow:hidden}.wealth-header{padding:16px 24px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.wealth-header h3{margin:0;font-weight:700}.wealth-header p{font-size:.7rem;color:#64748b;margin:4px 0 0}.wealth-scroll{overflow-x:auto;padding:24px 0}.wealth-plot{position:relative}.wealth-ribbon-canvas{position:-webkit-sticky;position:sticky;left:0;pointer-events:none}.wealth-ribbon-canvas canvas{display:block}.wealth-overlay{position:absolute;inset:0;pointer-events:none}.wealth-value{font-size:10px;font-weight:700;fill:#1e3a8a}.wealth-date{font-size:10px;fill:#64748b}.wealth-point{position:absolute;width:24px;height:24px;border:0;border-radius:50%;background:transparent;cursor:pointer}.wealth-point:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.wealth-details{padding:12px 24px;border-top:1px solid #f1f5f9;display:flex;gap:8px 20px;flex-wrap:wrap;align-items:center;min-height:62px;font-size:.78rem;color:#64748b}.wealth-details strong{color:#1e3a8a}.wealth-empty{padding:48px;text-align:center;color:#94a3b8}@media(max-width:640px){.wealth-details,.wealth-header{padding:12px 16px}.wealth-details{min-height:86px}}.wealth-tooltip{position:absolute;z-index:2;width:230px;padding:10px 12px;border:1px solid #bfdbfe;background:hsla(0,0%,100%,.97);border-radius:9px;box-shadow:0 4px 16px #1e3a8a15;display:flex;flex-direction:column;gap:5px;font-size:.72rem;pointer-events:none;color:#475569}.wealth-tooltip strong{color:#1e3a8a}.wealth-tooltip small{font-size:.65rem}.asset-breakdown summary{cursor:pointer;font-size:.65rem}.asset-breakdown dl{margin:12px 0 8px;font-size:.75rem}.asset-breakdown dl>div{display:flex;justify-content:space-between;gap:10px;margin:6px 0}.asset-breakdown dd{margin:0;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.asset-breakdown p{font-size:.7rem;color:#64748b;line-height:1.5;margin:8px 0 0}.asset-breakdown summary:focus-visible{outline:2px solid #2563eb;outline-offset:3px}.category-manager{position:fixed;inset:0;margin:auto;box-sizing:border-box;max-height:min(860px,calc(100dvh - 48px));font-family:inherit;font-size:.85rem;line-height:1.5;overflow:hidden}.category-manager[open]{display:flex;flex-direction:column}.category-manager-header{flex-shrink:0}.category-manager-body{overflow:auto;min-height:0}.category-manager-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:start}.category-manager .settings-note{font-size:.75rem;line-height:1.55;color:#64748b;margin:8px 0}.category-manager label{font-size:.8rem;font-weight:600;color:#334155}.category-manager input:not([type=checkbox]),.category-manager select{width:100%;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;color:#0f172a;font:inherit;min-height:40px}.category-manager input:focus,.category-manager select:focus{outline:2px solid #93c5fd;outline-offset:1px}.category-manager input::placeholder{color:#94a3b8}.category-manager input[type=checkbox]{accent-color:#2563eb;vertical-align:middle;margin-right:5px}.category-manager-toolbar{flex-wrap:nowrap}.category-manager-toolbar input{width:0!important;min-width:80px}.category-manager-toolbar .btn{flex-shrink:0}.category-list-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:6px 0}.category-list-meta label{font-size:.72rem;font-weight:500;white-space:nowrap}.category-row-actions{display:flex;gap:4px;flex-shrink:0}.category-manager-list li .category-preview{min-width:0;overflow-wrap:anywhere}.category-manager-list{max-height:48vh}.category-manager .page-actions{margin-top:18px;gap:8px}.category-manager .settings-error{padding:10px 12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;font-size:.8rem}.category-delete-confirm p{color:#64748b;font-size:.8rem;line-height:1.6}.category-delete-button{background:#dc2626;color:#fff;border:1px solid #dc2626}.category-delete-button:hover{background:#b91c1c}@media(max-width:700px){.category-manager{max-height:calc(100dvh - 24px);width:calc(100vw - 24px)}.category-manager-columns{grid-template-columns:minmax(0,1fr)}.category-manager-list{max-height:26vh}}.cash-flow-graph{background:#fff;overflow:hidden}.cash-flow-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 24px;background:#fff;gap:12px}.cash-flow-header h3{margin:0;font-weight:700}.cash-flow-header p,.cash-flow-note{font-size:.72rem;color:#64748b;line-height:1.6}.cash-flow-header p{margin:4px 0 0}.cash-flow-key{display:flex;align-items:center;gap:7px;font-size:.72rem;color:#475569}.cash-flow-key i{width:14px;height:3px;background:#0f766e}.cash-flow-key i:nth-of-type(2){background:repeating-linear-gradient(90deg,#6366f1 0 3px,transparent 3px 5px)}.cash-flow-canvas{position:relative;height:300px;margin:12px 0;overflow:hidden}.cash-flow-overlay{position:absolute;inset:0;pointer-events:none}.cash-flow-date{font-size:10px;fill:#64748b}.cash-flow-details{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;padding:14px 24px;border-top:1px solid #e2e8f0}.cash-flow-details label,.cash-flow-details small{display:block;color:#64748b;font-size:.7rem}.cash-flow-details strong{display:block;color:#0f766e;margin-top:5px;font-size:.95rem}.cash-flow-details input{display:block;border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;margin-top:4px;background:#fff;color:#334155}.cash-flow-note{padding:0 24px 16px;margin:0}.cash-flow-empty{padding:60px 24px;text-align:center;color:#64748b;font-size:.85rem}@media(max-width:640px){.cash-flow-details,.cash-flow-header{padding:12px 16px}.cash-flow-note{padding:0 16px 16px}.cash-flow-details{gap:12px 20px}}.period-three{position:absolute;inset:0;pointer-events:none}.period-legend{display:flex;gap:14px;font-size:.75rem}.period-legend span:first-child{color:#0f766e}.period-legend span:last-child{color:#c24130}.period-readout{display:flex;flex-wrap:wrap;gap:16px 28px}.cash-flow-details select{display:block;margin-top:4px;border:1px solid #cbd5e1;border-radius:6px;padding:7px 10px;background:#fff;color:#334155;font:inherit}.cash-flow-canvas:focus-visible{outline:2px solid #6366f1;outline-offset:-2px}.cash-flow-header>div{display:block;min-width:0}.cash-flow-header h3{font-size:.95rem}.chart-point-value{font-size:10px;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.chart-hover-value{position:absolute;z-index:3;pointer-events:none;box-sizing:border-box;padding:10px 12px;border:1px solid #cbd5e1;border-radius:9px;background:hsla(0,0%,100%,.97);box-shadow:0 4px 16px #0f172a18}.chart-hover-value small{display:block;color:#475569;font-size:.7rem;line-height:1.5}.chart-hover-value strong{display:block;font-size:1rem;margin-top:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.period-month-status{flex-basis:100%;font-size:.7rem;color:#64748b}.debt-mosaic{background:#fff;overflow:hidden;margin-bottom:24px}.debt-mosaic-summary{padding:0 24px 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.debt-mosaic-summary small{font-size:.65rem;letter-spacing:.08em;color:#64748b}.debt-mosaic-summary strong{display:block;font-size:2rem;color:var(--money-negative)}.debt-mosaic-summary>span{font-size:.75rem;color:#64748b}.debt-mosaic-board{margin:0 20px 20px;height:300px;position:relative;background:#f8fafc;border-radius:12px;overflow:hidden}.debt-mosaic-tile{position:absolute;border:1px solid #ffffffaa;border-radius:7px;background:transparent;padding:14px;text-align:left;color:#4c1630;cursor:pointer;overflow:hidden;box-shadow:inset 0 1px 0 #ffffffbb}.debt-mosaic-tile[aria-pressed=true]{outline:2px solid #9f1239;outline-offset:-3px}.debt-mosaic-tile:focus-visible{outline:3px solid #2563eb}.debt-mosaic-tile small{display:block;font-size:.6rem;letter-spacing:.08em;opacity:.7}.debt-mosaic-tile span{display:block;font-size:.82rem;font-weight:650;margin:8px 0}.debt-mosaic-tile strong{font-size:clamp(.9rem,2vw,1.6rem);display:block}.debt-mosaic-tile em{display:block;margin-top:12px;font-size:.7rem;font-style:normal}.debt-mosaic-detail{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin:0 24px 18px}.debt-mosaic-basis,.debt-mosaic-detail label{font-size:.7rem;color:#64748b}.debt-mosaic select{display:block;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;margin-top:5px;max-width:230px}.debt-mosaic-detail strong{display:block;font-size:1.2rem;color:var(--money-negative)}.debt-mosaic-detail span{font-size:.75rem;color:#64748b}@media(max-width:640px){.debt-mosaic-board{margin:0 8px 16px}.debt-mosaic-tile{padding:8px}.debt-mosaic-summary{padding:0 16px 16px}.debt-mosaic-summary strong{font-size:1.6rem}}.debt-bubble-board{height:420px;background:radial-gradient(ellipse at 50% 35%,#fff 0,#faf5ff 55%,#fff1f2 100%);border:1px solid #f1e8f0}.debt-bubble-canvas{position:relative;height:420px}.debt-bubble-canvas canvas{display:block}.debt-bubble-label{position:absolute;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;box-sizing:border-box;text-align:center;color:#fff;text-shadow:0 1px 5px #4c051966;line-height:1.3}.debt-bubble-label span{max-width:100%;font-weight:600;overflow-wrap:anywhere}.debt-bubble-label strong{display:block;font-size:1.35em;margin-top:7px}.debt-bubble-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;align-items:center;padding:0 24px 12px;font-size:.72rem;color:#64748b}.debt-bubble-toolbar>div{display:flex;gap:8px}.debt-bubble-fallback{display:flex;flex-wrap:wrap;gap:10px;padding:24px}.income-composition{margin-bottom:24px;overflow:hidden}.income-composition-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.1fr);grid-gap:24px;gap:24px;padding:0 24px 20px}.income-tower-stage{background:radial-gradient(ellipse at center,#eff6ff,#fff);border-radius:12px;min-width:0}.income-tower-caption{display:flex;flex-direction:column;text-align:center;gap:5px;padding:0 12px 18px;font-size:.85rem}.income-tower-caption span{color:#475569}.income-source-list{align-self:center;max-height:420px;overflow:auto}.income-source-row{display:flex;width:100%;gap:12px;align-items:center;text-align:left;border:1px solid transparent;border-bottom-color:#e2e8f0;background:#fff;padding:14px 10px;border-radius:8px;color:#0f172a;cursor:pointer}.income-source-row[aria-pressed=true]{background:#eff6ff;border-color:#bfdbfe}.income-source-row:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.income-source-row span:last-child{margin-left:auto;text-align:right;white-space:nowrap}.income-source-row strong{font-size:.85rem}.income-source-row small{display:block;color:#64748b;margin-top:5px;font-size:.7rem}.income-source-swatch{width:10px;height:24px;border-radius:3px;flex-shrink:0}.income-source-total{display:flex;justify-content:space-between;padding:18px 10px;font-size:.95rem;font-weight:700}@media(max-width:700px){.income-composition-layout{grid-template-columns:1fr;padding:0 12px 16px;gap:12px}}.debt-card-grid{list-style:none;display:flex;gap:12px;margin:0;padding:4px 20px 12px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:20px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.debt-card-grid:focus-visible{outline:2px solid #2563eb;outline-offset:-2px;border-radius:8px}.debt-static-card{display:flex;flex-direction:column;gap:6px;flex:0 0 214px;min-width:0;min-height:142px;box-sizing:border-box;padding:14px 16px;border:1px solid #ffffff24;border-radius:14px;background:linear-gradient(125deg,var(--debt-card-color),#14213a);color:#fff;box-shadow:0 2px 5px #0f172a14;scroll-snap-align:start}.debt-static-bank{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;font-weight:750;letter-spacing:.04em}.debt-static-bank:after{content:"";display:block;width:19px;height:14px;flex-shrink:0;border-radius:3px;border:1px solid #e6d4a5;background:linear-gradient(120deg,#d4b779,#efdfb9)}.debt-static-name{font-size:.68rem;line-height:1.35;overflow-wrap:anywhere}.debt-static-amount{font-size:1.2rem;line-height:1.25;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:auto;letter-spacing:-.02em}.debt-static-share{font-size:.62rem;line-height:1.4}.debt-static-track{display:block;height:3px;margin-top:5px;background:#ffffff40;border-radius:4px;overflow:hidden}.debt-static-track>span{display:block;height:100%;background:#fff}.debt-mosaic .cash-flow-header{padding:14px 20px 10px}.debt-mosaic .cash-flow-note{margin-top:0;padding:4px 20px 12px}.debt-mosaic .debt-mosaic-basis select{padding:5px 8px;margin-top:3px}@media(max-width:540px){.debt-card-grid{padding-inline:14px;scroll-padding-inline:14px}.debt-static-card{flex-basis:204px}.debt-mosaic .cash-flow-header,.debt-mosaic .cash-flow-note{padding-inline:14px}}.wealth-alpine .wealth-scroll{background:linear-gradient(180deg,#edf4f8,#fbfaf6 72%,#f1f5f2)}.wealth-alpine .wealth-value{fill:#314b5a}.wealth-alpine .wealth-date{fill:#526875}.cash-flow-context{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding:12px 24px 0;color:#64748b;font-size:.74rem}.cash-flow-context strong{margin-left:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cash-flow-enhanced .cash-flow-canvas{background:linear-gradient(180deg,#f8fafc80,#fff);margin-bottom:0}.cash-flow-enhanced .cash-flow-inspector{background:#f8fafc;gap:14px 28px}.cash-flow-today{margin-left:auto;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;padding:8px 12px;font-size:.74rem;cursor:pointer}.cash-flow-milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;padding:16px 24px}.cash-flow-milestone{text-align:left;display:flex;flex-direction:column;gap:7px;min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;cursor:pointer;font:inherit;box-shadow:0 2px 4px #0f172a04}.cash-flow-milestone small{font-size:.7rem;color:#475569}.cash-flow-milestone strong{font-size:1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cash-flow-milestone span{font-size:.68rem;color:#64748b}.cash-flow-milestone:hover,.cash-flow-milestone[aria-pressed=true]{border-color:#818cf8;background:#f5f6ff}.cash-flow-milestone:focus-visible,.cash-flow-today:focus-visible{outline:2px solid #6366f1;outline-offset:3px}.cash-flow-enhanced .money-positive{color:var(--money-positive)}.cash-flow-enhanced .money-negative{color:var(--money-negative)}@media(max-width:640px){.cash-flow-context{padding:12px 16px 0}.cash-flow-milestones{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 16px;gap:8px}.cash-flow-today{margin-left:0}.cash-flow-milestone{padding:10px}.cash-flow-enhanced .cash-flow-date{font-size:9px}}.sync-attempt-output{margin-top:14px;padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;overflow-wrap:anywhere}.sync-attempt-output h4{margin:12px 0 6px;font-size:.8rem;color:#334155}.sync-attempt-output ul{margin:6px 0;padding-left:20px;font-size:.78rem;line-height:1.6;color:#475569}.sync-attempt-output li+li{margin-top:4px}.sync-notice a{color:inherit;text-decoration:underline}.transaction-sync-choice{display:flex!important;align-items:center;gap:9px;cursor:pointer}.transaction-sync-choice input[type=checkbox]{width:17px!important;height:17px;margin:0;flex:0 0 17px;accent-color:#2563eb}.transaction-connection-policy{margin:12px 0;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.transaction-connection-policy select{max-width:380px}.settings-hierarchy-guide{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:4px 0 14px;padding:0 4px;color:#64748b;font-size:.75rem}.settings-hierarchy-guide>span:nth-child(odd){font-weight:600;color:#475569}.settings-environment.settings-section{padding:0 20px 20px;background:#f1f5fb;border:1px solid #cad8eb;border-top:3px solid #8bb4ed;border-radius:14px;overflow:hidden}.settings-environment-header{display:flex;align-items:center;gap:14px;padding:20px 2px 14px}.settings-environment-number{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:10px;background:#dfeafa;color:#35649e;font-size:1.15rem;font-weight:750}.settings-level-label{display:block;color:#64748b;font-size:.62rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.settings-environment-header h2{margin:4px 0!important}.settings-environment-header p{margin:0;color:#64748b;font-size:.75rem}.settings-environment-count{margin-left:auto;flex-shrink:0;font-size:.72rem;color:#476183;background:#e4edf9;border:1px solid #d4e1f2;border-radius:20px;padding:6px 10px}.settings-environment-note{margin:0 2px 16px;font-size:.74rem;color:#64748b}.settings-environment .settings-institution{padding:0;margin:0 0 18px;border:1px solid #d9e2ef;border-radius:12px;background:#fff;box-shadow:0 2px 5px #0f172a04;overflow:hidden}.settings-environment .settings-institution:last-child{margin-bottom:0}.settings-connection-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #e7edf5}.settings-connection-header h3{margin:5px 0 0;font-size:1rem;color:#19385a}.settings-connection-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:.7rem;color:#64748b}.settings-connection-config{padding:16px 18px;border-bottom:1px solid #e7edf5}.settings-connection-config .transaction-connection-policy{margin:10px 0 12px;padding:0;background:transparent;border:0}.settings-connection-config .settings-note{margin-bottom:0}.settings-connection-config .connection-controls .page-actions{justify-content:flex-start}.settings-accounts-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:16px 18px 10px;background:#f8fafc}.settings-accounts-heading>span:last-child{font-size:.68rem;color:#64748b}.settings-environment .settings-account-list{padding:0 16px 16px 26px;background:#f8fafc;border-left:3px solid #dce7f5;margin:0 0 0 18px}.settings-environment .settings-account-row{padding:16px;margin-bottom:10px;border:1px solid #e0e7f0;border-radius:9px;background:#fff;gap:20px;align-items:start}.settings-environment .settings-account-row:last-child{margin-bottom:0}.settings-account-identity h4{font-size:.9rem;margin:5px 0 9px;color:#172f4d;line-height:1.4;overflow-wrap:anywhere}.settings-account-identity p{font-size:.75rem;color:#64748b}.settings-account-identity .account-freshness{margin:10px 0}.settings-account-config{border-left:1px solid #e7edf5;padding-left:20px}.settings-account-config>.settings-level-label{margin-bottom:12px}.settings-account-config .settings-note{font-size:.7rem}.settings-hierarchy-help{border:1px solid #e2e8f0;background:#fff;border-radius:9px;padding:12px 16px;margin:0 0 20px}.settings-hierarchy-help summary{cursor:pointer;color:#475569;font-size:.78rem;font-weight:600}.settings-hierarchy-help p{margin:10px 0 0}@media(max-width:640px){.settings-environment.settings-section{padding:0 10px 10px}.settings-environment-header{gap:10px;flex-wrap:wrap;padding:15px 2px 12px}.settings-environment-count{margin-left:54px}.settings-connection-header{padding:14px 12px;align-items:flex-start;flex-wrap:wrap}.settings-connection-config{padding:14px 12px}.settings-accounts-heading{padding:14px 12px 10px}.settings-environment .settings-account-list{margin-left:10px;padding:0 8px 10px 10px}.settings-environment .settings-account-row{padding:12px;grid-template-columns:1fr;gap:14px}.settings-account-config{padding:14px 0 0;border-left:0;border-top:1px solid #e7edf5}.settings-hierarchy-guide{font-size:.69rem;gap:7px}}.account-picker-trigger{display:flex;align-items:center;gap:6px;width:100%;min-width:0;padding:6px 9px;border:1px solid;border-radius:6px;font:inherit;font-size:.78rem;font-weight:600;text-align:left;cursor:pointer}.account-picker-trigger:disabled{opacity:.6;cursor:not-allowed}.account-picker-compact{width:-moz-fit-content;width:fit-content;max-width:190px;padding:2px 8px;font-size:.74rem;font-weight:700}.account-picker-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-picker-heading{margin-bottom:10px;font-size:.82rem;font-weight:700;color:#334155}.account-picker-panel{max-width:calc(100vw - 24px)}.account-picker-choice{text-align:left;overflow-wrap:anywhere}.account-picker-choice[aria-checked=true]{border-color:currentColor}.account-picker-choice:focus-visible,.account-picker-trigger:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px}@media (max-width:768px){.account-picker-panel{transform:none!important}}.tab-visualization-card{margin-bottom:20px;min-width:0;overflow:hidden;border:1px solid #dbe3ef;border-radius:12px;background:#fff}.tab-visualization-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;border:0;color:#0f172a;background:linear-gradient(110deg,#f8faff,#fff);text-align:left;cursor:pointer;font:inherit}.tab-visualization-toggle:hover{background:#f1f5fc}.tab-visualization-toggle:focus-visible{outline:2px solid #2563eb;outline-offset:-3px;border-radius:11px}.tab-visualization-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:1px solid #dbeafe;border-radius:10px;color:#2563eb;background:#eff6ff}.tab-visualization-labels{display:grid;grid-gap:3px;gap:3px;min-width:0}.tab-visualization-labels strong{font-size:.85rem}.tab-visualization-eyebrow{color:#64748b;font-size:.65rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.tab-visualization-action{display:flex;align-items:center;gap:12px;margin-left:auto;color:#2563eb;font-size:.75rem;font-weight:600}.tab-visualization-action>span{font-size:1.2rem}.tab-visualization-content:not([hidden]){border-top:1px solid #e2e8f0}.tab-visualization-content>.panel{margin:0;border:0;border-radius:0;box-shadow:none}.tab-visualization-loading{padding:24px;color:#64748b;font-size:.8rem}@media (max-width:600px){.tab-visualization-toggle{padding:12px;gap:10px}.tab-visualization-action{gap:8px}}.projection-growth{background:linear-gradient(135deg,#faf8ff,#fff 45%)}.projection-growth-tag{color:#6d28d9;font-size:.65rem;font-weight:800;letter-spacing:.12em}.projection-growth-summary{display:flex;align-items:center;gap:18px;padding:18px 24px;border-bottom:1px solid #ede9fe;flex-wrap:wrap}.projection-growth-summary div{flex:1 1;min-width:120px}.projection-growth-summary small{display:block;color:#64748b;font-size:.72rem;margin-bottom:5px}.projection-growth-summary strong{font-size:1.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.projection-growth-summary>span{color:#94a3b8}.projection-growth-total{color:#7c3aed}.projection-growth-legend{display:flex;flex-wrap:wrap;gap:10px 22px;padding:12px 24px;font-size:.73rem;color:#475569}.projection-growth-legend span{display:flex;align-items:center;gap:7px}.projection-growth-legend i{display:inline-block;width:16px;height:7px;border-radius:2px}.projection-key-total{background:#8b5cf6}.projection-key-capital{border-top:2px dashed #64748b;height:0!important}.projection-key-contributions{background:#0d9488}.projection-growth-canvas{height:450px}.projection-annual-title{font-size:10px;font-weight:800;fill:#475569;letter-spacing:.07em}@media(max-width:600px){.projection-growth-summary{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;padding:16px}.projection-growth-summary>span{display:none}.projection-growth-summary strong{font-size:1.1rem}.projection-growth-legend{padding:10px 16px;gap:10px}}.wealth-informative .wealth-scroll{padding:8px 0;background:linear-gradient(180deg,#f8fbff,#fff)}.wealth-informative .wealth-range{font-size:.95rem}.wealth-net-key{background:#2563eb}.wealth-flow-value{font-size:10px;font-weight:700}.wealth-informative .projection-growth-summary{border-color:#dbeafe}.wealth-flow-heading{position:-webkit-sticky;position:sticky;left:0;height:0;transform:translateY(301px);z-index:1;padding:0 20px;color:#475569;font-size:.65rem;font-weight:700;pointer-events:none}.brokerage-snapshot-history{margin-top:24px}.brokerage-snapshot-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.brokerage-snapshot-heading h3{margin:0}.brokerage-snapshot-heading p,.brokerage-snapshot-note{color:#64748b;font-size:.78rem;line-height:1.6}.brokerage-snapshot-heading p{margin:5px 0 0}.brokerage-snapshot-note{padding:12px 20px;margin:0}.brokerage-snapshot-table{width:max-content;min-width:100%;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.brokerage-snapshot-table td,.brokerage-snapshot-table th{padding:12px 16px;white-space:nowrap;text-align:right}.brokerage-snapshot-table th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:#f8fafc;text-align:left;min-width:130px;border-right:1px solid #e2e8f0}.brokerage-snapshot-table th small{display:block;font-size:.66rem;color:#64748b;font-weight:400;white-space:normal;max-width:155px}.brokerage-snapshot-table td:nth-child(2){background:#f8faff;font-weight:700}@media(max-width:640px){.brokerage-snapshot-note{padding:12px}.brokerage-snapshot-table td,.brokerage-snapshot-table th{padding:10px 12px}}.wealth-informative .wealth-header{padding:12px 18px}.wealth-informative .wealth-header p{margin:4px 0 0}.wealth-informative .projection-growth-summary{padding:10px 18px;gap:14px}.wealth-informative .projection-growth-summary strong{font-size:1.08rem}.wealth-informative .projection-growth-summary small{margin-bottom:3px;font-size:.66rem}.wealth-informative .cash-flow-details{padding:10px 18px;gap:16px}.wealth-informative .cash-flow-note{padding:8px 18px 12px}.wealth-investments{padding:10px 18px;border-top:1px solid #e2e8f0}.wealth-investments-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:8px;font-size:.78rem}.wealth-investments p,.wealth-investments-heading small{color:#64748b;font-size:.68rem;margin:0}.wealth-investment-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));grid-gap:6px 16px;gap:6px 16px;max-height:112px;overflow-y:auto;margin:0;padding:0;list-style:none}.wealth-investment-days li{display:grid;grid-template-columns:1fr auto;grid-gap:3px 8px;gap:3px 8px;padding:5px 0;border-bottom:1px solid #f1f5f9;font-size:.74rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wealth-investment-days small{grid-column:1/-1;font-size:.62rem;color:#64748b}@media(max-width:600px){.wealth-informative .projection-growth-summary{gap:8px}.wealth-informative .projection-growth-summary div:last-child{grid-column:1/-1}.wealth-investment-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}}.wealth-investment-legend{display:flex;align-items:center;gap:8px;padding:8px 18px 0;font-size:.68rem;color:#475569}.wealth-investment-legend>span{color:var(--money-positive);font-weight:800}.wealth-investment-value{fill:var(--money-positive);font-size:10px;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.wealth-investment-point{z-index:3}.wealth-investment-point:focus-visible{outline:2px solid var(--money-positive);outline-offset:3px}.wealth-investment-tooltip{border-color:var(--money-positive)}.mortgage-horizon{margin-bottom:20px;min-width:0;overflow:hidden}.mortgage-account{display:grid;grid-gap:4px;gap:4px;font-size:.7rem;color:#64748b}.mortgage-horizon select{border:1px solid #cbd5e1;border-radius:6px;padding:6px 9px;background:#fff;color:#0f172a;font:inherit;max-width:100%}.mortgage-payment-values,.mortgage-summary,.mortgage-year{display:flex;flex-wrap:wrap;gap:12px 22px;padding:14px 20px}.mortgage-summary{background:#f8fafc;border-block:1px solid #e2e8f0}.mortgage-payment-values>div,.mortgage-summary>div{flex:1 1;min-width:115px}.mortgage-horizon small{display:block;font-size:.67rem;color:#64748b;margin-bottom:4px}.mortgage-summary strong{font-size:1.05rem}.mortgage-horizon strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mortgage-legend{display:flex;gap:12px;flex-wrap:wrap;padding:12px 20px 0;font-size:.67rem;color:#475569}.mortgage-legend span{display:flex;gap:5px;align-items:center}.mortgage-legend i{width:8px;height:8px;border-radius:2px}.mortgage-stage{position:relative;background:linear-gradient(#fff,#eff6ff);min-height:330px}.mortgage-stage:focus-visible{outline:2px solid #2563eb;outline-offset:-3px}.mortgage-canvas{height:330px;width:100%}.mortgage-canvas canvas{display:block}.mortgage-stage-caption{position:absolute;bottom:5px;left:20px;right:20px;font-size:.64rem;color:#64748b;pointer-events:none}.mortgage-year{border-block:1px solid #e2e8f0;align-items:center;font-size:.82rem}.mortgage-year label{display:grid;grid-gap:4px;gap:4px;font-size:.68rem}.mortgage-payment{padding:14px 20px}.mortgage-payment-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;align-items:center;font-size:.8rem}.mortgage-payment-heading label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.7rem}.mortgage-payment input[type=range]{width:100%;margin:16px 0 8px;accent-color:#0d9488}.mortgage-payment-values{padding:4px 0 12px;font-size:.84rem}.mortgage-progress{height:5px;border-radius:4px;background:#e2e8f0;overflow:hidden}.mortgage-progress span{display:block;height:100%;background:#0d9488}.mortgage-payment p{font-size:.68rem;color:#64748b;margin:8px 0 0}.mortgage-fallback{max-height:310px;overflow:auto;padding:16px 20px 28px;font-size:.75rem}.mortgage-fallback button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;border-bottom:1px solid #e2e8f0;background:#fff;cursor:pointer;color:#0f172a;font:inherit}.mortgage-fallback button[aria-pressed=true]{background:#eff6ff}.mortgage-fallback-stack{display:flex;flex:1 1;height:15px}.mortgage-fallback-stack i{display:block}@media(max-width:600px){.mortgage-summary,.mortgage-year{padding:12px;gap:10px 16px}.mortgage-summary>div{min-width:125px}.mortgage-payment{padding:12px}.mortgage-canvas{height:285px}.mortgage-stage{min-height:285px}.mortgage-payment-values>div{min-width:100px}.mortgage-legend{padding:12px 12px 0}}.shell-header{height:auto;min-height:68px;gap:16px;z-index:2000}.shell-brand{display:flex;align-items:center;gap:8px;flex-shrink:0;text-decoration:none;color:#0f172a;font-size:1.4rem;font-weight:700}.shell-desktop-nav{display:flex;gap:4px;overflow-x:auto;min-width:0}.shell-nav-link{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;text-decoration:none;color:#64748b;font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer}.shell-more[open]>summary,.shell-nav-link[aria-current=page],.shell-nav-link[data-active=true]{color:#2563eb;background:#eff6ff}.shell-pro{background:#2563eb;color:#fff;padding:1px 5px;border-radius:4px;font-size:.6rem}.shell-utilities{display:flex;align-items:center;gap:10px;margin-left:auto}.shell-settings{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#334155}.shell-mobile-nav{display:none}.spending-transaction-detail{max-height:calc(100dvh - 32px);overflow-y:auto;overflow-wrap:anywhere}@media (min-width:901px){.shell-header{display:grid;grid-template-columns:minmax(420px,1fr) minmax(0,max-content) minmax(420px,1fr)}.shell-brand{justify-self:start}.shell-utilities{justify-self:end}}@media (max-width:900px){:root{--mobile-nav-height:calc(69px + env(safe-area-inset-bottom))}html{zoom:1;scrollbar-gutter:auto;scroll-padding-top:88px;scroll-padding-bottom:calc(var(--mobile-nav-height) + 12px)}body,html{overflow-x:clip}body:has(.shell-header){padding-bottom:calc(var(--mobile-nav-height) + 12px)}.shell-header{padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));gap:8px;flex-wrap:wrap}.shell-brand span,.shell-desktop-logout,.shell-desktop-nav{display:none}.shell-brand svg{width:28px;height:28px}.shell-utilities{gap:8px;min-width:0}.shell-settings,.shell-utilities .global-sync-button{width:44px;height:44px;padding:0;justify-content:center}.shell-utilities .nav-sync-status{font-size:.6rem;white-space:normal}.shell-mobile-nav{position:fixed;inset:auto 0 0;z-index:2000;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;grid-gap:4px;gap:4px;padding:6px max(12px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#fff;border-top:1px solid hsl(var(--border));box-shadow:0 -2px 12px rgba(15,23,42,.06)}.shell-mobile-nav>.shell-nav-link,.shell-more>summary{flex-direction:column;justify-content:center;gap:3px;padding:7px 2px;min-height:56px;font-size:.72rem}.shell-more>summary{list-style:none}.shell-more>summary::-webkit-details-marker{display:none}.shell-more-panel{position:absolute;bottom:calc(100% + 8px);right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));padding:12px;background:#fff;border:1px solid hsl(var(--border));border-radius:12px;box-shadow:var(--shadow-lg);max-height:calc(100dvh - var(--mobile-nav-height) - 96px - env(safe-area-inset-top));overflow-y:auto}.mobile-fab,.toast{bottom:calc(var(--mobile-nav-height) + 24px)}.shell-more-panel p{padding:4px 10px 8px;font-size:.72rem;font-weight:700;color:#64748b}.shell-more-panel .shell-nav-link{min-height:48px}.shell-more-panel>button{min-height:44px;margin:8px 10px}.spending-ledger colgroup{display:none}.spending-ledger tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"desc amt" "date bal" "account account" "cat actions";gap:3px 12px;padding:12px 14px;align-items:center}.spending-ledger td{min-width:0;margin:0}.spending-ledger .col-date{font-size:.75rem!important;text-transform:none}.spending-ledger .col-desc{line-height:1.35!important;overflow-wrap:anywhere}.spending-ledger .col-desc>span{font-size:.88rem!important}.spending-ledger .col-change{font-size:.95rem!important;align-self:start;white-space:nowrap}.spending-ledger .col-balance{grid-area:bal;text-align:right;font-size:.7rem!important;font-weight:500}.spending-ledger .col-balance:before{content:"Balance ";font-size:.65rem;color:hsl(var(--text-secondary))}.spending-ledger .col-account{grid-area:account}.spending-ledger .col-account>span{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere;background:transparent!important;border:0!important;padding:2px 0!important;font-size:.7rem!important;font-weight:500!important}.spending-ledger .col-actions{grid-area:actions;display:block!important}.spending-ledger .row-action-button{min-width:44px;min-height:44px;box-shadow:none;background:transparent;border-color:transparent}.spending-ledger .cat-tag{min-height:44px;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;font-size:.72rem!important;padding:2px 8px!important}.spending-ledger .account-picker-compact{max-width:100%;min-height:36px}.spending-ledger .account-picker-name{white-space:normal;overflow-wrap:anywhere}.spending-ledger input{width:100%;max-width:100%;min-width:0!important;min-height:44px;font-size:16px!important}.spending-ledger tr.editing{grid-template-areas:"amt bal" "date date" "desc desc" "cat cat" "account account" "actions actions"}.spending-filters{padding:0}.spending-filters select{max-width:100%;min-height:44px}.spending-filters input{font-size:16px;min-width:0}.spending-filters .spending-account-filter{width:100%;max-width:none}.spending-transaction-detail{padding:16px!important}.spending-transaction-detail button{min-width:44px;min-height:44px;flex-shrink:0}.cat-picker-popover{transform:none!important;margin-top:0!important}}.mortgage-chart-scroll,.projection-growth-scroll{overflow-x:auto}.mortgage-block-value,.projection-bar-value{font-size:11px;font-weight:700;fill:#1e293b;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.mortgage-chart-plot{position:relative}.mortgage-value-overlay{position:absolute;inset:0;pointer-events:none}.mortgage-fallback button{flex-wrap:wrap}.mortgage-fallback-values{display:flex;flex-wrap:wrap;gap:8px 14px;width:100%;text-align:left}.mortgage-fallback-values>span{display:inline-flex;align-items:center;gap:5px}.mortgage-fallback-values i{width:8px;height:8px;border-radius:2px}.cash-flow-inspector select{max-width:100%}.cash-activity-strips{background:#f8fafc;border-top:1px solid #e2e8f0;padding:12px 0 8px}.cash-activity-lane+.cash-activity-lane{margin-top:6px}.cash-activity-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:0 24px;font-size:.75rem;color:#334155}.cash-activity-heading>span{display:inline-flex;align-items:center;gap:7px;font-weight:650;min-width:0;overflow-wrap:anywhere}.cash-activity-heading i{display:inline-block;flex-shrink:0;width:8px;height:8px;border-radius:2px}.cash-activity-heading small{color:#64748b;font-size:.65rem}.cash-activity-plot{height:112px;cursor:crosshair;touch-action:pan-y}.cash-activity-direction{font-size:9px;font-weight:650;fill:#475569}.cash-category-control label{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1}.cash-category-control select{min-width:0;width:100%;max-width:280px;min-height:44px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font:inherit}.cash-activity-plot svg{display:block;pointer-events:none}.cash-activity-plot:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.cash-activity-value{font-size:10px;font-weight:650;fill:#475569;paint-order:stroke;stroke:#f8fafc;stroke-width:3px}.cash-activity-key{display:flex;justify-content:flex-end;gap:14px;padding:0 24px;font-size:.65rem;color:#64748b}.cash-activity-key span{display:inline-flex;align-items:center;gap:5px}.cash-activity-key i{display:inline-block;width:7px;height:10px;background:#64748b}.cash-activity-key span+span i{background:#fff;border:1px dashed #64748b}.cash-activity-category{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:6px 9px;font:inherit;font-weight:650;text-align:left;color:#334155;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer;overflow-wrap:anywhere}.cash-activity-category[aria-pressed=true]{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.cash-activity-lane.is-plotted{background:#f8fafc}.cash-category-point-label{font-size:11px;font-weight:700;fill:#334155;stroke:#fff;stroke-width:3px;paint-order:stroke}@media(min-width:901px){.shell-header{grid-template-columns:auto minmax(0,1fr) auto;gap:18px}.shell-desktop-nav{position:relative;overflow:visible;min-width:0;align-items:center;justify-content:center}.shell-desktop-nav>.shell-nav-link{flex-shrink:0}.shell-utilities{margin-left:0}.shell-desktop-more{position:relative;flex-shrink:0}.shell-desktop-more>summary{list-style:none}.shell-desktop-more>summary::-webkit-details-marker{display:none}.shell-desktop-more-panel{position:absolute;top:calc(100% + 10px);right:0;min-width:190px;padding:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 14px 38px #0f172a20;max-height:70vh;overflow-y:auto;z-index:2100}.shell-desktop-more-panel .shell-nav-link{min-height:42px}}.overview-layout .overview-summary-panel{border-radius:12px;overflow:hidden;scroll-margin-top:90px}.overview-layout .overview-summary-panel>.panel-header{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;text-align:left!important;padding:12px 16px!important;gap:12px}.overview-layout .overview-stat-body{padding:0!important}.overview-layout .overview-stat-grid{gap:0!important}.overview-layout .overview-stat-grid>.stat-card{border:0!important;border-radius:0;box-shadow:none;padding:16px!important;min-width:0;border-top:1px solid #e8edf4!important}.overview-layout .overview-stat-grid>.stat-card+.stat-card{border-left:1px solid #e8edf4!important}.overview-layout .overview-summary-panel .stat-card-value{line-height:1.25;margin:5px 0;overflow-wrap:anywhere}.overview-layout .overview-summary-panel .stat-badge{max-width:100%;line-height:1.45}@media(max-width:900px){.overview-layout.dashboard{padding:12px!important}.overview-layout .overview-summary-panel>.panel-header{padding:12px!important;gap:8px!important}.overview-layout .overview-summary-panel>.panel-header>span{font-size:12px!important}.overview-layout .overview-summary-panel>.panel-header a,.overview-layout .overview-summary-panel>.panel-header a span{font-size:10px!important}.overview-layout .overview-summary-panel>.panel-header a{flex-shrink:0;white-space:nowrap}.overview-layout .overview-stat-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.overview-layout .overview-stat-grid>.stat-card{padding:13px 12px!important}.overview-layout .overview-stat-grid>.stat-card:nth-child(odd){border-left:0!important}.overview-layout .overview-summary-panel .stat-card-label{font-size:9px!important;line-height:1.4;letter-spacing:.04em;min-height:13px}.overview-layout .overview-summary-panel .stat-card-value{font-size:21px!important}.overview-layout .overview-summary-panel .stat-badge{font-size:9px!important;padding:3px 6px}.overview-layout .tab-visualization-toggle{padding:11px 12px;min-height:52px}.overview-layout .tab-visualization-labels strong{font-size:11px}}.sync-details-dropdown[hidden]{display:none!important}.sync-dropdown-actions{padding:0 0 14px}.shell-utilities .sync-dropdown-actions .global-sync-button{width:100%;min-height:44px;height:auto;padding:10px 14px;justify-content:center}.sync-dropdown-actions .global-sync-button span{display:inline}.sync-dropdown-actions .sync-notice{position:relative;top:auto;right:auto;width:100%;margin-top:10px;max-height:none;box-shadow:none}.spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:global-spin .8s linear infinite;display:inline-block;vertical-align:middle}.spinner-sm{width:16px;height:16px;border-width:2px}@keyframes global-spin{to{transform:rotate(1turn)}}.page-loading{min-height:60vh}.loading-block,.page-loading{display:flex;align-items:center;justify-content:center}.loading-block{padding:24px 0}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.bank-unlink-button{font-size:.7rem;font-weight:600;padding:2px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569}.bank-unlink-button:hover:not(:disabled){color:#b91c1c;border-color:#fca5a5}.bank-unlink-button:disabled{opacity:.45;cursor:not-allowed}.budget-review-row{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-bottom:1px solid #f1f5f9;border-left:3px solid transparent;cursor:pointer;font-size:.84rem}.budget-review-row:hover{background:#f8fafc}.budget-review-row[aria-selected=true]{background:#eff6ff;border-left-color:#2563eb}.budget-review-row:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.budget-review-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.budget-review-row-head strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.budget-review-row-head small{color:#64748b;font-weight:500}.budget-review-name{font-weight:600;color:#0f172a}.budget-review-row-foot{font-size:.74rem;font-weight:600}.budget-review-muted{color:#64748b;font-weight:500}.budget-review-table{width:100%;font-size:.82rem}.budget-review-table td,.budget-review-table th{padding:8px 10px;text-align:left;border-bottom:1px solid #f1f5f9}.budget-review-amount{text-align:right!important;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.budget-review-badge{margin-left:8px;padding:1px 6px;border-radius:99px;background:#f1f5f9;color:#475569;font-size:.68rem;font-weight:600}@media (max-width:900px){.bank-matcher{grid-template-columns:1fr;overflow:auto}}.allocation-target-bar{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:10px 24px;border-bottom:1px solid #f1f5f9;font-size:.78rem;color:#475569}.allocation-target-warning{color:#b45309;font-weight:600}.allocation-category{border:0;background:transparent;padding:0;margin:0;font:inherit;font-weight:700;color:#0f172a;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.allocation-category[aria-pressed=true]{color:#1d4ed8}.allocation-row-targeted td{background:#f8fbff}.allocation-row-unheld td{color:#64748b}.allocation-target-editor,.allocation-target-value{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.allocation-target-editor input{width:72px;padding:4px 6px;border:1.5px solid hsl(var(--accent));border-radius:6px;font:inherit;text-align:right}.allocation-target-error{flex-basis:100%;color:#be123c;font-size:.72rem;text-align:right}.allocation-muted{color:#94a3b8}.allocation-variance{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.25;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.allocation-variance span{font-size:.72rem;font-weight:600}.allocation-variance.is-over{color:#b45309}.allocation-variance.is-under{color:#1d4ed8}.allocation-on-target{color:var(--money-positive);font-weight:700}.allocation-basis-note{flex-basis:100%;color:#64748b}.brokerage-account-settings{padding:14px;margin-bottom:16px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}.brokerage-account-settings-toggle{border:0;background:transparent;color:#0f172a;font-size:.9rem;font-weight:600;padding:0;cursor:pointer}.brokerage-account-settings-note{margin:8px 0 10px;font-size:.78rem;color:#475569}.brokerage-account-settings-table{width:100%;margin-top:10px;background:#fff;font-size:.8rem}.brokerage-account-settings-table td,.brokerage-account-settings-table th{padding:8px 10px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:middle}.brokerage-account-settings-table select{padding:4px 6px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;background:#fff}.brokerage-account-settings-table tr.is-hidden td{color:#94a3b8}.brokerage-account-settings-meta{color:#64748b;font-size:.72rem}.brokerage-account-settings-switch{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.btn.btn-budget-review{display:inline-flex;align-items:center;gap:6px;background:#0f766e;color:#fff;border:1px solid #0f766e}.btn.btn-budget-review:hover{background:#115e59;border-color:#115e59}.budget-review-header{gap:16px}.budget-review-months{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.budget-review-month-step{width:32px;height:32px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font-size:1.1rem;line-height:1;cursor:pointer}.budget-review-month-step:hover{background:#f1f5f9;border-color:#94a3b8}.budget-review-month-step:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:1px}.budget-review-month-label{min-width:150px;text-align:center;font-size:.95rem;color:#0f172a}.budget-review-detail{gap:12px}.tx-list-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.tx-list-search{flex:1 1 240px;min-width:200px;padding:8px 10px;font:inherit;font-size:.84rem}.tx-list-search,.tx-list-toolbar select{border:1px solid #cbd5e1;border-radius:8px;background:#fff}.tx-list-toolbar select{padding:7px 8px;font:inherit;font-size:.8rem;color:#0f172a}.tx-list-chips{display:inline-flex;gap:4px;flex-wrap:wrap}.tx-list-chips button{padding:5px 10px;border:1px solid #e2e8f0;border-radius:99px;background:#fff;color:#475569;font-size:.74rem;font-weight:600;cursor:pointer}.tx-list-chips button[aria-pressed=true]{border-color:#0f766e;background:#f0fdfa;color:#0f766e}.tx-list-summary{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;color:#475569}.tx-list-scroll{flex:1 1;min-height:0;overflow:auto;border:1px solid #e2e8f0;border-radius:10px}.tx-list-scroll .budget-review-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#f8fafc;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:#64748b}.tx-list-scroll .budget-review-table tbody tr:hover td{background:#f8fafc}.budget-review-date{white-space:nowrap;color:#475569;font-weight:600}.budget-review-desc{font-weight:600;color:#0f172a}.budget-review-badge.is-pending{background:#fef3c7;color:#92400e}.budget-review-badge.is-projected{background:#e0e7ff;color:#3730a3}.budget-review-badge.is-manual{background:#f1f5f9;color:#475569}@media (max-width:900px){.budget-review-months{margin-left:0;width:100%}.budget-review-month-label{min-width:0;flex:1 1}}.spending-filters .ledger-toolbar-right{margin-left:auto}.spending-ledger-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));background:#f8fafc}.spending-ledger-filters .search-box{flex:1 1 220px}@media (max-width:900px){.spending-ledger-filters{padding:10px 12px}.spending-ledger-filters select{flex:1 1 140px}}.budget-review-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.budget-review-title h2{margin:0}.budget-review-income{display:inline-flex;align-items:baseline;gap:8px;padding:6px 12px;border:1px solid #a7f3d0;border-radius:10px;background:#ecfdf5;color:#065f46;font-size:.78rem;font-weight:600;cursor:pointer}.budget-review-income strong{font-size:.98rem;color:var(--money-positive);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-review-income:hover{border-color:#34d399}.budget-review-income[aria-pressed=true]{border-color:var(--money-positive);box-shadow:0 0 0 2px rgba(4,120,87,.15);background:#d1fae5}.budget-review-income:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px}.budget-review-side-head{padding:18px 20px 14px;margin:0;flex:0 0 auto}.spending-workspace{display:grid;grid-template-columns:minmax(270px,310px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.spending-workspace>.panel{margin:0;min-width:0}.spending-budget-list{overflow:visible}.spending-budget-list .bank-matcher-rows{overflow:visible;flex:none}.spending-budget-list .bank-matcher-rows li{position:relative;list-style:none}.budget-review-row[aria-pressed=true]{background:#eff6ff;border-left-color:#2563eb}.budget-review-row.is-income .budget-review-name{color:#065f46}.budget-review-row.is-income[aria-pressed=true]{background:#ecfdf5;border-left-color:var(--money-positive)}.spending-budget-list li:not(.is-editing) .budget-review-row-foot{padding-right:34px;min-height:22px;display:flex;align-items:center}.budget-list-edit{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;gap:4px}.spending-budget-list li.is-editing .budget-list-edit{position:static;padding:0 14px 12px;border-bottom:1px solid #f1f5f9}.spending-budget-list li.is-editing .budget-review-row{border-bottom:0}.budget-list-edit input{width:110px;padding:5px 8px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;font-size:.82rem}.budget-review-empty{padding:16px 14px;color:#64748b;font-size:.82rem}.spending-ledger-head{padding:16px 18px 12px;margin:0}.spending-ledger-filters.tx-list-toolbar{margin:0 16px}.spending-ledger-summary{padding:8px 18px}.tx-list-chip-sub{font-weight:500;font-size:.68rem;margin-left:3px;opacity:.7}.spending-month-nav{display:inline-flex;align-items:center;gap:6px}@media (max-width:900px){.spending-ledger-filters.tx-list-toolbar{margin:0 12px}.spending-ledger-head{padding:12px}}.debt-unlinked-badge{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:99px;background:#fef3c7;color:#92400e;font-size:.7rem;font-weight:700}.spending-budget-list .budget-review-side-head{flex-wrap:wrap;gap:6px 12px}.spending-budget-list .budget-review-side-head>strong{font-size:1.15rem}.spending-budget-list .budget-review-side-head .bank-matcher-item-meta{flex-wrap:wrap;gap:4px 10px}.spending-budget-list .budget-review-row-head{flex-wrap:nowrap}.spending-budget-list .budget-review-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spending-budget-list .budget-review-row-head strong{flex:0 0 auto}.spending-workspace .spending-ledger{table-layout:auto}.spending-workspace .spending-ledger col,.spending-workspace .spending-ledger th{width:auto!important}.spending-workspace .spending-ledger .col-desc{min-width:200px}.spending-workspace .spending-ledger .col-balance,.spending-workspace .spending-ledger .col-change,.spending-workspace .spending-ledger .col-date{white-space:nowrap}.spending-workspace .spending-ledger .col-account button,.spending-workspace .spending-ledger .col-account>span{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spending-workspace .spending-ledger td,.spending-workspace .spending-ledger th{padding-left:8px!important;padding-right:8px!important}.spending-workspace .spending-ledger .col-actions{white-space:nowrap}.spending-workspace .spending-ledger .col-actions>div{flex-wrap:nowrap!important}.budget-summary{padding:16px 18px 14px;border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:12px}.budget-summary-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.budget-summary-title h3{margin:0;font-size:1.05rem;color:#0f172a}.budget-summary-title span{font-size:.78rem;color:#64748b}.budget-summary-main{display:flex;align-items:center;gap:14px}.budget-ring{flex:0 0 auto}.budget-ring-pct{font-size:15px;font-weight:800;fill:#0f172a}.budget-ring-sub{font-size:9px;fill:#64748b}.budget-summary-left{font-size:1.45rem;font-weight:800;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-summary-caption{font-size:.76rem;color:#64748b;margin-top:2px}.budget-summary-caption strong{color:#0f172a}.budget-summary-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.budget-stat{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;text-align:left;font:inherit}.budget-stat span{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#64748b}.budget-stat strong{font-size:.95rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#0f172a}.budget-stat small{font-size:.7rem;color:#64748b}button.budget-stat{cursor:pointer}button.budget-stat:hover:not(:disabled){border-color:#fca5a5;background:#fff1f2}button.budget-stat:disabled{cursor:default}.budget-summary-empty{margin:0;font-size:.8rem;color:#475569}.spending-workspace>.panel.spending-ledger-panel{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + 40px);display:flex;flex-direction:column;max-height:calc(100vh / .8 - var(--header-h) - 56px)}.spending-workspace .spending-ledger-panel>.table-scroll-wrap{flex:1 1 auto;min-height:0;overflow:auto}.spending-workspace .spending-ledger thead th{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:#f8fafc;box-shadow:0 1px 0 hsl(var(--border))}@media (min-width:901px) and (max-width:1160px){.spending-workspace .spending-ledger{min-width:760px}}.shell-focus{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#334155;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;flex-shrink:0}.shell-focus:hover{background:#eef2f7}.shell-focus.is-on{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}html[data-focus-mode=on] main .page-toolbar,html[data-focus-mode=on] main .spending-filters,html[data-focus-mode=on] main .stats-bar,html[data-focus-mode=on] main .tab-visualization-card{display:none!important}@media (max-width:900px){.shell-focus{width:44px;height:44px;padding:0;justify-content:center}.shell-focus span{display:none}}@media (min-width:901px){html[data-focus-mode=on] main.dashboard:not(.overview-layout){max-width:none!important;padding-left:24px!important;padding-right:24px!important}html[data-focus-mode=on] .spending-workspace{grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:20px}}.bank-matcher-working{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:.82rem;font-weight:700}.bank-matcher-row[aria-disabled=true]{pointer-events:none}.busy-overlay{position:fixed;inset:0;z-index:10000;background:rgba(248,250,252,.45);cursor:wait;display:flex;align-items:flex-start;justify-content:center;padding-top:calc(var(--header-h) + 24px)}.busy-overlay-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:99px;background:#0f172a;color:#fff;font-size:.85rem;font-weight:700;box-shadow:0 8px 24px rgba(15,23,42,.25)}.busy-overlay-pill .spinner{border-color:#fff hsla(0,0%,100%,.35) hsla(0,0%,100%,.35)}.csv-import-modes{display:flex;gap:6px;padding:10px 24px 0;border-bottom:1px solid #e2e8f0;background:#f8fafc}.csv-import-modes button{border:1px solid transparent;border-bottom:0;background:none;padding:8px 14px;border-radius:8px 8px 0 0;font:inherit;font-size:.84rem;font-weight:700;color:#64748b;cursor:pointer}.csv-import-modes button[aria-selected=true]{background:#fff;border-color:#e2e8f0;color:#0f172a;margin-bottom:-1px}.csv-import{display:flex;flex-direction:column;gap:16px}.csv-import-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;color:#991b1b;font-size:.86rem;font-weight:600}.csv-import-source label{display:block;font-size:.84rem;font-weight:700;color:#334155;margin-bottom:6px}.csv-import-source textarea{width:100%;font:.78rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;padding:10px;border:1px solid #cbd5e1;border-radius:8px;resize:vertical}.csv-import-file{display:flex;align-items:center;gap:12px;margin-top:8px;font-size:.8rem;color:#475569;flex-wrap:wrap}.csv-import-section h4{margin:0 0 8px;font-size:.9rem;color:#0f172a}.csv-import-section h4 span{font-weight:500;color:#64748b;font-size:.8rem;margin-left:6px}.csv-import-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:10px;gap:10px}.csv-import-grid label,.csv-import-map label{display:flex;flex-direction:column;gap:4px;font-size:.76rem;font-weight:700;color:#475569}.csv-import-grid select,.csv-import-map select,.csv-import-options input[type=date]{padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;font-weight:500;font-size:.82rem;background:#fff}.csv-import-options{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;font-size:.82rem;color:#334155}.csv-import-options label{display:inline-flex;align-items:center;gap:6px}.csv-import-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:10px;gap:10px;max-height:260px;overflow:auto;padding:2px}.csv-import-map label span{color:#0f172a}.csv-import-map small{color:#64748b;font-weight:500}.csv-import-preview{border:1px solid #e2e8f0;border-radius:8px;overflow:auto;max-height:320px}.csv-import-preview table{width:100%;border-collapse:collapse;font-size:.78rem}.csv-import-preview th{position:-webkit-sticky;position:sticky;top:0;background:#f8fafc;text-align:left;padding:6px 8px;color:#64748b;font-weight:700;border-bottom:1px solid #e2e8f0}.csv-import-preview td{padding:5px 8px;border-bottom:1px solid #f1f5f9;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.csv-import-preview .num{text-align:right}.csv-import-preview p{margin:0;padding:6px 8px;font-size:.76rem;color:#64748b}.csv-import-skipped td{color:#94a3b8}.csv-import-note{font-size:.78rem;color:#b45309;margin:6px 0 0}.csv-import-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;font-size:.82rem;color:#475569}.csv-import-grid label:last-child{grid-column:span 2}body{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shell-focus-slot{display:inline-flex;width:86px;flex-shrink:0}@media (min-width:901px){.shell-header{height:68px;min-height:68px;gap:10px}.shell-desktop-nav>.shell-nav-link{padding-inline:7px;gap:5px}}@media (max-width:900px){.shell-header{height:68px;min-height:68px;flex-wrap:nowrap}.shell-focus-slot{width:44px}}.virtual-ledger-scroll{max-height:75vh;overflow:auto;overflow-anchor:none}.virtual-ledger-scroll thead{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#fff}.virtual-ledger-spacer,.virtual-ledger-spacer td{padding:0!important;border:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important}.mobile-tx-list.virtual-ledger-scroll{display:block}@media (max-width:900px){.virtual-ledger-spacer{display:table-row!important}.virtual-ledger-spacer td{display:table-cell!important}}.tab-visualization-content{content-visibility:auto;contain-intrinsic-size:auto 360px}