:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#101718;--base-gradient:linear-gradient(140deg, #162021 0%, #101718 48%, #12201c 100%);--ambient-teal:#5078691c;--ambient-warm:#9b94710b;--market-color:#80ae98;--market-opacity:.3;--market-blur:8px;--glass-bg:#202c2ad9;--glass-strong:#25332ff5;--data-surface:#182120;--surface-hover:#202e29;--surface-success:#1b3129;--surface-success-hover:#20392f;--surface-recessed:#15201de0;--surface-selected:#2a3e34;--surface-subtle:#9cc6ad0a;--table-header:#202e2a;--table-header-glass:#202e2af5;--border:#c5ddce17;--border-strong:#bbd4c336;--inner-highlight:#d0e5d81c;--text-primary:#edf3ee;--text-secondary:#b0bfb8;--text-muted:#96aaa0;--accent:#a0c3af;--accent-hover:#bed8c7;--success:#9bc7ac;--success-soft:#264136;--success-border:#94c4a530;--success-edge:#7caa8e;--success-glow:#82c49b14;--warning:#d4b782;--warning-soft:#352e22;--warning-border:#d4b7822e;--danger:#dfa398;--danger-soft:#3b2827;--danger-border:#dfa39838;--danger-button:#734741;--button-bg:#a9c7b5;--button-text:#15271e;--control-bg:#1b2925e6;--control-hover:#293d32;--control-focus:#23392e;--control-success:#213e2d;--sidebar-bg:#182322e8;--sidebar-glow:#789b891f;--sidebar-text:#edf3ee;--sidebar-muted:#a8beb1;--sidebar-highlight:#ffffff0b;--nav-active:linear-gradient(115deg, #99bba221, #729b8912);--topbar-bg:#192522c9;--brand-bg:#30493c;--brand-ink:#c5dcca;--icon-bg:#94bfa410;--icon-color:#a1beaa;--featured-bg:linear-gradient(135deg, #2a4037e0, #20342edb);--featured-border:#97c3a82a;--goal-bg:radial-gradient(ellipse at right top, #8195671a, transparent 70%), #26392ff0;--calendar-bg:linear-gradient(140deg, #2a3831db, #1d2c28dc);--story-bg:radial-gradient(ellipse at 90% 75%, #759c8021, transparent 60%), radial-gradient(ellipse at 0 0, #6a8b7920, transparent 65%), #1a2c25d9;--chart-declared:#a0c3ad;--chart-estimated:#678778;--chart-estimated-top:#789986;--chart-baseline:#415b4d;--progress-track:#506a583f;--progress-fill:#86ad96;--scrollbar:#536d5d;--overlay-bg:#050b0a8c;--toast-bg:#2a493bee;--focus-ring:#a6cbb6;--focus-halo:#93cbb41a;--shadow-color:#00000025;--shadow-soft:0 4px 18px #00000014, 0 1px 3px #00000010;--shadow-raised:0 12px 35px #0000001f, inset 0 1px 0 var(--inner-highlight);--shadow-hover:0 14px 32px #00000024, inset 0 1px 0 #cee8d72e;--shadow-dialog:0 32px 100px #0006, 0 5px 20px #00000025, inset 0 1px 0 var(--inner-highlight);--blur-soft:12px;--blur-glass:22px;--blur-overlay:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:26px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--sidebar-width:232px;--page-gutter:32px;--motion-fast:.16s;--motion-base:.22s;--motion-slow:.32s;--motion-value:.26s;--ease-out:cubic-bezier(.2, .7, .2, 1);--bg:var(--page-bg);--surface:var(--data-surface);--ink:var(--text-primary);--muted:var(--text-muted);--green:var(--accent);--green-dark:var(--accent-hover);--line:var(--border);--soft:var(--success-soft);--amber:var(--warning)}
.ambient-background{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;contain:strict;position:fixed;inset:0;overflow:hidden}.ambient-base,.ambient-lights{position:absolute;inset:0}.ambient-base{background:var(--base-gradient)}.market-atmosphere{width:100%;height:100%;color:var(--market-color);opacity:var(--market-opacity);filter:blur(var(--market-blur));position:absolute;inset:0}.market-curves{stroke-width:7px;stroke-linecap:round}.market-area{fill:url(#market-area)}.market-candles{opacity:.24}.ambient-lights{background:radial-gradient(ellipse at 76% 10%, var(--ambient-teal), transparent 55%), radial-gradient(ellipse at 28% 82%, var(--ambient-warm), transparent 50%)}.app-stage{z-index:1;min-height:100dvh;position:relative}@media (max-width:760px){.market-atmosphere{width:170%;opacity:calc(var(--market-opacity) * .65);left:-60%}}@media (prefers-contrast:more){.market-atmosphere,.ambient-lights{display:none}:root{--glass-bg:var(--data-surface);--glass-strong:var(--table-header);--text-muted:#bccac3;--border:#b9d3c345}}@media (forced-colors:active){.ambient-background{display:none}}.custom-background{background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.has-custom-background .market-atmosphere,.has-custom-background .ambient-lights{display:none}@media (prefers-contrast:more){.custom-background{display:none}}
*{box-sizing:border-box}html{scroll-padding-top:96px}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.55}button,input,select{font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);color:inherit;transition:background var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);background:0 0;border:0;display:inline-flex}button:disabled{opacity:.55;cursor:wait}button:active:not(:disabled){transform:translateY(1px)}:where(button,a,input,select,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.15px;margin-bottom:var(--space-3);font-size:clamp(27px,2.2vw,36px);font-weight:620;line-height:1.2}h2{letter-spacing:-.4px;margin-bottom:6px;font-size:17px;font-weight:620}h3{margin-bottom:var(--space-2);font-size:15px}p{margin-bottom:var(--space-4)}.muted,small{color:var(--muted)}small{font-size:12px;display:block}.eyebrow{letter-spacing:1.8px;color:var(--green);margin-bottom:var(--space-3);font-size:11px;font-weight:650;display:block}.eyebrow.light{color:var(--sidebar-muted)}.financial-value,.stat strong,.goal-amount,td,.month-heading>strong,.payment-row>strong,.calendar-payment strong{font-variant-numeric:tabular-nums}.financial-value{display:inline-block}.primary,.secondary,.danger-button{border-radius:var(--radius-md);white-space:nowrap;min-height:44px;padding:11px 18px;font-size:13px;font-weight:600}.primary{background:var(--button-bg);color:var(--button-text);box-shadow:inset 0 1px 0 var(--inner-highlight), 0 3px 8px var(--shadow-color)}.primary:hover{background:var(--accent-hover);box-shadow:0 4px 12px var(--shadow-color)}.secondary{border:1px solid var(--border-strong);background:var(--glass-strong)}.secondary:hover{background:var(--surface-hover)}.danger-button{color:var(--text-primary);background:var(--danger-button)}.danger-button:hover{filter:brightness(.94)}.wide{width:100%}.text-button{color:var(--green);min-height:36px;padding:8px 0;font-size:12px;font-weight:600}.icon-button{border-radius:var(--radius-md);flex-shrink:0;width:40px;height:40px}.icon-button:hover{background:var(--surface-hover)}.brand{letter-spacing:-1.3px;white-space:nowrap;align-items:center;gap:9px;font-size:27px;font-weight:630;display:flex}.brand-icon{border-radius:var(--radius-md);background:var(--brand-bg);width:37px;height:37px;color:var(--brand-ink);box-shadow:inset 0 1px 0 var(--inner-highlight);place-items:center;display:grid}.brand-dot{color:var(--accent)}.sidebar{width:var(--sidebar-width);background:radial-gradient(ellipse at 0 0, var(--sidebar-glow), transparent 70%), var(--sidebar-bg);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));color:var(--sidebar-text);inset:var(--space-4) auto var(--space-4) var(--space-4);padding:29px var(--space-4) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-xl);z-index:40;box-shadow:0 12px 30px var(--shadow-color), inset 0 1px 0 var(--inner-highlight);flex-direction:column;display:flex;position:fixed}.sidebar-brand{justify-content:space-between;align-items:center;display:flex}.sidebar .brand{padding-left:5px}.sidebar-close{display:none}.workspace-label{color:var(--sidebar-muted);letter-spacing:1.65px;margin:43px 13px var(--space-4);font-size:11px;font-weight:500}nav{flex-direction:column;gap:6px;display:flex}nav button{border-radius:var(--radius-md);min-height:46px;color:var(--sidebar-muted);text-align:left;border:1px solid #0000;justify-content:flex-start;padding:12px 14px;font-size:13px;position:relative}nav button svg{opacity:.85}nav button:hover{background:var(--sidebar-highlight);color:var(--text-primary)}nav button.active{background:var(--nav-active);border-color:var(--border-strong);color:var(--text-primary);box-shadow:inset 0 1px 0 var(--inner-highlight), 0 3px 10px var(--shadow-color)}nav button.active svg{opacity:1;color:var(--brand-ink)}nav button:nth-child(5){margin-top:var(--space-6)}.nav-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto}.sidebar-tip{border-top:1px solid var(--border);gap:var(--space-3);color:var(--sidebar-muted);margin:28px 7px 22px;padding:21px 0 0;display:flex}.sidebar-tip svg{flex-shrink:0}.sidebar-tip p{color:var(--sidebar-muted);margin:0;font-size:12px;line-height:1.8}.sidebar-tip strong{color:var(--sidebar-text);font-weight:500}.account{border:1px solid var(--inner-highlight);background:var(--surface-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-2);align-items:center;gap:var(--space-2);display:flex}.avatar{background:var(--brand-bg);width:32px;height:32px;color:var(--brand-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:650;display:grid}.account>div{flex:1;min-width:0}.account strong{text-overflow:ellipsis;font-size:12px;font-weight:500;display:block;overflow:hidden}.account span:not(.avatar){color:var(--sidebar-muted);font-size:12px;display:block}.account .icon-button{width:32px}.account .icon-button:hover,.sidebar-close:hover{background:var(--sidebar-highlight)}.main{margin-left:calc(var(--sidebar-width) + 32px);min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--border);background:var(--topbar-bg);height:82px;-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));padding:0 var(--page-gutter);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex;position:sticky;top:0}.breadcrumb{align-items:center;gap:var(--space-3);color:var(--muted);white-space:nowrap;font-size:12px;display:flex}.breadcrumb strong{color:var(--ink);font-weight:500}.top-actions{align-items:center;gap:var(--space-2);min-width:0;display:flex}.top-actions select{border:1px solid var(--border);background:var(--glass-bg);border-radius:var(--radius-pill);width:auto;max-width:220px;min-height:40px;color:var(--ink);box-shadow:inset 0 1px 0 var(--inner-highlight);text-overflow:ellipsis;margin:0;padding:8px 30px 8px 16px;font-size:12px}.currency-badge{letter-spacing:.7px;color:var(--text-secondary);padding:5px 9px;font-size:11px;font-weight:600}.mobile-menu{display:none}main{max-width:1880px;padding:var(--space-8) var(--page-gutter);margin:auto}main:focus{outline:none}.page-heading{justify-content:space-between;align-items:center;gap:var(--space-5);margin-bottom:25px;display:flex}.page-heading p{margin-bottom:0;font-size:13px}.page-heading .primary{margin-top:var(--space-5)}.banner{border:1px solid var(--warning-border);background:var(--warning-soft);align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);margin-bottom:var(--space-6);color:var(--warning);display:flex}.banner>svg{flex-shrink:0}.banner>div{flex:1}.banner strong{font-size:13px;font-weight:600;display:block}.banner span{font-size:12px;display:block}.banner button{white-space:nowrap;font-size:12px}.subtle-warning{align-items:center;gap:var(--space-2);color:var(--warning);margin:var(--space-4) 0;font-size:12px;display:flex}.provider-note{margin:-3px 0 var(--space-6);color:var(--text-secondary);font-size:12px}.provider-note-toggle{min-height:32px;color:var(--text-secondary);justify-content:flex-start;padding:4px 0}.provider-note-toggle>svg:first-child{color:var(--muted)}.provider-note-toggle>svg:last-child{transition:transform var(--motion-base) var(--ease-out)}.provider-note-toggle .rotated{transform:rotate(180deg)}.provider-note-hint{color:var(--muted);margin-left:var(--space-2)}.provider-note p{max-width:950px;margin:0;padding:10px 0 0 24px;line-height:1.8}.stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.glass-panel,.panel,.goal-card{background:var(--glass-bg);border:1px solid var(--border);border-top-color:var(--inner-highlight);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised)}.stat{-webkit-backdrop-filter:blur(var(--blur-soft));backdrop-filter:blur(var(--blur-soft));min-width:0;padding:21px 22px 22px}.stat-label{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--text-secondary);min-height:30px;margin-bottom:16px;font-size:12px;display:flex}.stat-icon{background:var(--icon-bg);width:29px;height:29px;color:var(--icon-color);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.stat>strong{letter-spacing:-1.4px;margin-bottom:var(--space-3);white-space:nowrap;font-size:clamp(26px,2.25vw,36px);font-weight:620;line-height:1.2;display:block}.stat-note{color:var(--muted);font-size:12px}.stat.featured{background:var(--featured-bg);border-color:var(--featured-border);border-top-color:var(--inner-highlight)}.stat.featured>strong{color:var(--green)}.stat.featured .stat-icon{background:var(--surface-subtle);color:var(--green)}.panel{min-width:0;overflow:hidden}.section-heading{padding:var(--space-6) var(--space-6) var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.section-heading h2{margin-bottom:4px}.section-heading p{color:var(--muted);max-width:850px;margin:0;font-size:12px}.dashboard-grid,.dashboard-grid.lower{gap:var(--space-6);margin-bottom:var(--space-6);grid-template-columns:minmax(0,1.9fr) minmax(275px,1fr);display:grid}.pill,.status-badge{background:var(--success-soft);border:1px solid var(--success-border);border-radius:var(--radius-pill);color:var(--success);white-space:nowrap;padding:4px 9px;font-size:12px}.pill.neutral,.status-badge.neutral{background:var(--surface-recessed);color:var(--text-secondary);border-color:var(--border)}.pill.warning,.status-badge.warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}.status-badge.danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.status-badge{vertical-align:middle;align-items:center;gap:5px;line-height:1.4;display:inline-flex}.status-badge svg{flex-shrink:0}.chart-key{gap:var(--space-4);color:var(--muted);padding:0 var(--space-6);font-size:12px;display:flex}.chart-key span{align-items:center;gap:6px;display:flex}.chart-key i{border-radius:2px;width:7px;height:7px;display:inline-block}.declared-dot{background:var(--chart-declared)}.estimated-dot{background:var(--chart-estimated)}.chart{height:205px;margin:var(--space-4) 0 var(--space-6);background:repeating-linear-gradient(to top, transparent, transparent 48px, var(--border) 49px, transparent 50px);background-clip:content-box;align-items:stretch;gap:10px;padding:17px 25px 0;display:flex}.chart-column{text-align:center;flex-direction:column;flex:1;justify-content:flex-end;min-width:0;display:flex;position:relative}.bar-space{flex-direction:column;justify-content:flex-end;align-items:center;height:154px;display:flex}.bar{width:75%;max-width:30px;min-height:0;transition:height var(--motion-slow) var(--ease-out)}.bar.estimated{background:linear-gradient(0deg, var(--chart-estimated), var(--chart-estimated-top));border-radius:5px 5px 0 0}.bar.declared{background:var(--chart-declared);border-radius:3px 3px 0 0}.zero-bar{background:var(--chart-baseline);border-radius:3px;width:75%;height:3px}.chart-value{color:var(--text-secondary);font-variant-numeric:tabular-nums;width:100%;font-size:11px;position:absolute;top:-8px}.chart-month{color:var(--muted);padding-top:var(--space-3);font-size:11px}.panel-footer{border-top:1px solid var(--line);padding:14px var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--muted);font-size:12px;display:flex}.goal-card{background:var(--goal-bg);padding:26px 27px;position:relative;overflow:hidden}.goal-card .eyebrow{color:var(--text-secondary);letter-spacing:1.4px;margin-bottom:13px;font-size:11px}.goal-card h2{letter-spacing:-.7px;margin-bottom:var(--space-5);font-size:24px;font-weight:570;line-height:1.3}.goal-amount{letter-spacing:-.8px;font-size:27px;font-weight:590}.goal-amount span{color:var(--text-secondary);letter-spacing:0;font-size:13px;font-weight:400}.progress-track{background:var(--progress-track);border-radius:var(--radius-pill);height:5px;margin:var(--space-3) 0}.progress-track div{background:var(--success);border-radius:inherit;height:100%;transition:width var(--motion-slow) var(--ease-out)}.goal-caption{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.goal-caption strong{font-weight:600}.goal-card p{color:var(--text-secondary);margin:17px 0 var(--space-3);font-size:12px;line-height:1.7}.goal-card>button{border-top:1px solid var(--border-strong);width:100%;padding:var(--space-4) 0 0;justify-content:space-between;font-size:12px;font-weight:600}.empty{text-align:center;color:var(--muted);padding:46px 25px}.empty-icon{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-lg);width:57px;height:57px;color:var(--icon-color);margin:0 auto var(--space-5);place-items:center;display:grid}.empty h3{color:var(--text-primary);margin-bottom:var(--space-2);font-size:16px;font-weight:570}.empty p{max-width:350px;margin:0 auto var(--space-5);font-size:13px}.empty button{margin:auto}.table-wrap{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;overflow:auto}table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:13px}th{color:var(--text-secondary);background:var(--table-header);padding:13px var(--space-5);white-space:nowrap;border-bottom:1px solid var(--border-strong);font-size:12px;font-weight:500}td{padding:16px var(--space-5);border-bottom:1px solid var(--border);white-space:nowrap;transition:background var(--motion-fast) var(--ease-out)}tr:last-child td{border-bottom:none}.company{align-items:center;gap:11px;min-width:160px;display:flex}.ticker-icon{background:var(--surface-recessed);border:1px solid var(--border);width:35px;height:35px;color:var(--icon-color);border-radius:10px;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.company strong{white-space:normal;max-width:185px;font-size:13px;font-weight:570;line-height:1.4;display:block}.company small{color:var(--muted);margin-top:3px;font-size:12px}.income-cell{color:var(--green);font-weight:600}.compact-table{background:var(--data-surface)}.compact-table th:not(:first-child),.compact-table td:not(:first-child){text-align:right}.compact-table tbody tr:hover td{background:var(--surface-hover)}.upcoming{padding:0 var(--space-6) var(--space-3)}.payment-row{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border);display:flex}.payment-row:last-child{border-bottom:0}.date-square{text-transform:uppercase;text-align:center;border:1px solid var(--border);background:var(--glass-bg);border-radius:var(--radius-sm);min-width:40px;color:var(--text-secondary);padding:5px;font-size:11px;line-height:1.3}.date-square b{color:var(--green);font-size:15px;font-weight:600;display:block}.payment-row>div{flex:1}.payment-row strong{font-size:13px;font-weight:600}.payment-row small{font-size:12px}.declared-label{color:var(--success)}.table-hint{color:var(--muted);margin:0 var(--space-6) var(--space-4);font-size:12px}.data-panel{background:var(--data-surface);box-shadow:var(--shadow-soft);border-color:var(--border)}.portfolio-toolbar{padding:0 var(--space-6) var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.portfolio-filters{background:var(--surface-recessed);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:3px;padding:4px;display:flex}.portfolio-filters button{min-height:34px;color:var(--text-secondary);white-space:nowrap;border-radius:8px;padding:7px 11px;font-size:12px}.portfolio-filters button:hover{background:var(--surface-hover)}.portfolio-filters button[aria-pressed=true]{color:var(--ink);background:var(--surface-selected);box-shadow:0 1px 4px var(--shadow-color), inset 0 1px 0 var(--inner-highlight)}.filter-count{background:var(--icon-bg);font-variant-numeric:tabular-nums;border-radius:5px;min-width:19px;padding:0 5px;font-size:11px}.filter-context{color:var(--muted);font-size:12px}.filter-empty{padding:var(--space-8);text-align:center;color:var(--muted)}.portfolio-table-scroll{min-height:160px;max-height:min(690px,72vh)}.holdings-table{min-width:2740px}.holdings-table th,.holdings-table td{padding-left:17px;padding-right:17px}.holdings-table th{z-index:3;background:var(--table-header-glass);-webkit-backdrop-filter:blur(var(--blur-soft));backdrop-filter:blur(var(--blur-soft));position:sticky;top:0}.holdings-table td:first-child,.holdings-table th:first-child{background:var(--data-surface);z-index:2;box-shadow:1px 0 0 var(--border);width:228px;min-width:228px;max-width:228px;position:sticky;left:0}.holdings-table th:first-child{z-index:4;background:var(--table-header)}.holdings-table .numeric{text-align:right}.holdings-table tbody tr:hover td,.holdings-table tbody tr:focus-within td{background:var(--surface-hover)}.holdings-table .metadata-cell{color:var(--muted);font-size:12px}.holdings-table .metadata-cell small{white-space:normal;max-width:260px}.holdings-table .planning-cell{font-weight:560}.holdings-table .income-cell{font-size:14px}.holdings-table .position-completed td{background:var(--surface-success)}.holdings-table .position-completed td:first-child{box-shadow:inset 3px 0 0 var(--success-edge), 1px 0 0 var(--border)}.holdings-table .position-completed:hover td,.holdings-table .position-completed:focus-within td{background:var(--surface-success-hover)}.target-reached{color:var(--success);align-items:center;gap:4px;margin:6px 0 0 46px;font-size:11px;font-weight:500;display:inline-flex}.fulfilled{color:var(--success);margin-top:4px;font-size:11px;font-weight:500;display:block}.position-progress{width:95px;margin-left:auto}.position-progress-label{color:var(--text-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;font-size:12px;display:flex}.position-progress-track{background:var(--progress-track);border-radius:var(--radius-pill);height:4px;overflow:hidden}.position-progress-track>span{background:var(--progress-fill);border-radius:inherit;height:100%;transition:width var(--motion-slow) var(--ease-out);display:block}.position-progress.complete .position-progress-label{color:var(--success);font-weight:600}.position-progress.complete .position-progress-track>span{background:var(--success)}.progress-empty{color:var(--muted);font-size:12px}.inline-control{vertical-align:middle;align-items:center;display:inline-flex;position:relative}input.inline-number{text-align:right;font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--control-bg);width:100px;min-height:36px;box-shadow:none;transition:border-color var(--motion-base), background var(--motion-base), box-shadow var(--motion-base);appearance:textfield;margin:0;padding:6px 24px 6px 8px;font-size:13px}.inline-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inline-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input.inline-number:hover{border-color:var(--border-strong);background:var(--control-hover)}input.inline-number:focus{background:var(--control-focus);border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-halo);outline:none}.inline-feedback{width:13px;color:var(--success);pointer-events:none;place-items:center;display:grid;position:absolute;right:7px}.inline-control[data-state=saved] input{border-color:var(--success-border);background:var(--control-success)}.inline-control[data-state=error] input{border-color:var(--danger)}.inline-control[data-state=error] .inline-feedback{color:var(--danger)}.warning-text{color:var(--warning);white-space:normal;max-width:300px;font-size:12px}.danger{color:var(--danger)}.row-actions .icon-button:hover{background:var(--danger-soft)}.just-completed .income-cell{animation:completed-reveal var(--motion-slow) var(--ease-out)}.calendar-heading{padding:8px 0 var(--space-4)}.calendar-note{margin-bottom:var(--space-6);max-width:850px;font-size:12px}.calendar-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.month-card{background:var(--calendar-bg);min-height:190px;padding:22px}.month-heading{border-bottom:1px solid var(--line);padding-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.month-heading h3{margin:0;font-size:13px;font-weight:560}.month-heading>strong{letter-spacing:-.5px;color:var(--green);font-size:20px;font-weight:600}.calendar-payment{justify-content:space-between;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border);display:flex}.calendar-payment:last-child{border-bottom:0}.calendar-payment strong{font-size:13px;font-weight:600}.calendar-payment small{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:12px;overflow:hidden}.calendar-payment>div:last-child{text-align:right}.payment-badge{border:1px dashed var(--border-strong);background:var(--surface-recessed);color:var(--text-secondary);border-radius:5px;width:max-content;margin:4px 0 0 auto;padding:2px 6px;font-size:11px;display:block}.payment-badge.declared{color:var(--success);background:var(--success-soft);border:1px solid var(--success-border)}.no-payments{color:var(--muted);text-align:center;margin:38px 0 var(--space-4);font-size:12px}.undated{padding:var(--space-6);margin-top:var(--space-6)}.settings-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.settings-card{padding:28px}.settings-card>p{overflow-wrap:anywhere;margin-bottom:26px;font-size:13px}.settings-card form{max-width:480px}.delete-portfolio{margin-top:var(--space-6)}.status-grid{gap:var(--space-5);margin-bottom:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.status-card{padding:26px}.status-card>svg{color:var(--icon-color);margin-bottom:var(--space-5)}.status-card .eyebrow{margin-bottom:6px;font-size:11px}.status-card h2{margin-bottom:var(--space-3);font-size:23px}.status-card p{color:var(--muted);margin:0;font-size:12px}.status-card .status-badge{margin-bottom:var(--space-2)}.setup-card{margin-bottom:var(--space-6);padding:26px}.setup-card p{max-width:790px;color:var(--text-secondary);font-size:13px}.setup-card p:last-child{margin:0}.failed-panel{margin-top:var(--space-6)}.all-clear{gap:var(--space-2);color:var(--success);padding:0 var(--space-6) var(--space-6);align-items:center;font-size:13px;display:flex}.job-row{gap:var(--space-3);margin:0 var(--space-6) var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--line);color:var(--warning);overflow-wrap:anywhere;display:flex}.job-row>div{min-width:0}.job-row strong,.job-row small{font-size:12px}.job-row p{margin:4px 0;font-size:12px}.watchlist-grid{padding:0 var(--space-6) var(--space-5)}.watch-item{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);padding:19px 0;display:flex}.watch-item:last-child{border-bottom:0}.watch-item>div{flex:1;min-width:0}.watch-item strong{font-size:14px;font-weight:550}.watch-item small{font-size:12px}.watch-item .ticker-icon{background:var(--surface-recessed);color:var(--text-secondary)}.app-footer{justify-content:space-between;gap:var(--space-5);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border);color:var(--muted);font-size:12px;display:flex}.auth{min-height:100dvh;padding:var(--space-4);gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.auth-story{border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--story-bg);color:var(--sidebar-text);box-shadow:var(--shadow-soft);flex-direction:column;padding:42px 10%;display:flex;position:relative;overflow:hidden}.story-copy{max-width:500px;margin:auto 0;padding:65px 0}.story-copy h1{letter-spacing:-1.8px;margin:var(--space-6) 0;font-size:clamp(32px,3.4vw,53px);font-weight:500;line-height:1.17}.story-copy>p{color:var(--sidebar-muted);max-width:370px;font-size:14px;line-height:1.9}.story-visual{max-width:380px;margin-top:45px}.story-bars{border-bottom:1px solid var(--border-strong);align-items:flex-end;gap:12px;height:170px;padding:0 10px;display:flex}.story-bars>span{background:linear-gradient(to top, var(--surface-subtle), var(--chart-estimated-top));border:1px solid var(--border);border-radius:7px 7px 0 0;flex:1}.story-visual>span{color:var(--sidebar-muted);margin-top:var(--space-4);font-size:12px;display:block}.story-footer{color:var(--sidebar-muted);margin:0;font-size:12px}.auth-form{justify-content:center;align-items:center;padding:50px;display:flex}.auth-form>div{width:100%;max-width:385px}.auth-form h2{letter-spacing:-1.15px;margin-bottom:var(--space-2);font-size:34px;font-weight:600}.auth-form .muted{font-size:14px}.auth-tabs{background:var(--surface-recessed);border:1px solid var(--border);border-radius:var(--radius-md);margin:32px 0 28px;padding:4px;display:flex}.auth-tabs button{color:var(--text-secondary);border-radius:9px;flex:1;padding:10px 12px;font-size:13px}.auth-tabs button.active{color:var(--green);background:var(--glass-strong);box-shadow:var(--shadow-soft);font-weight:600}label{margin-bottom:var(--space-5);color:var(--text-secondary);font-size:13px;font-weight:500;display:block}input,select{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--glass-strong);width:100%;min-height:46px;color:var(--ink);margin-top:var(--space-2);box-shadow:inset 0 1px 0 var(--inner-highlight);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);padding:11px 13px;font-size:14px;display:block}input::placeholder{color:var(--muted)}label small{margin-top:7px;font-size:12px;font-weight:400;line-height:1.6}.auth-form .primary{margin-top:var(--space-2)}.auth-note{color:var(--muted);border-top:1px solid var(--line);padding-top:var(--space-6);margin-top:28px;font-size:12px;line-height:1.8}.error{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);border-radius:var(--radius-md);margin:var(--space-4) 0;padding:12px 15px;font-size:13px}.global-error{justify-content:space-between;align-items:center;display:flex}.toast{bottom:var(--space-6);right:var(--space-6);padding:13px var(--space-5);align-items:center;gap:var(--space-2);background:var(--toast-bg);-webkit-backdrop-filter:blur(var(--blur-soft));backdrop-filter:blur(var(--blur-soft));color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-dialog);z-index:80;animation:surface-enter var(--motion-base) var(--ease-out);font-size:13px;display:flex;position:fixed}.loading{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.loading p{color:var(--muted);margin-top:var(--space-5);font-size:13px}.loading-panel{padding:var(--space-8);text-align:center;color:var(--muted)}body.overlay-open{overflow:hidden}dialog{border:1px solid var(--inner-highlight);border-radius:var(--radius-xl);width:calc(100vw - 32px);max-width:600px;color:var(--ink);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));box-shadow:var(--shadow-dialog);max-height:calc(100dvh - 40px);padding:0}dialog[open]{animation:surface-enter var(--motion-base) var(--ease-out)}dialog::backdrop{background:var(--overlay-bg);-webkit-backdrop-filter:blur(var(--blur-overlay));backdrop-filter:blur(var(--blur-overlay));animation:backdrop-enter var(--motion-base) var(--ease-out)}dialog.is-closing{animation:surface-leave .2s var(--ease-out) forwards}dialog.is-closing::backdrop{animation:backdrop-leave .2s var(--ease-out) forwards}.modal{max-height:min(86vh,100dvh - 40px);padding:28px;overflow:auto}.modal>.section-heading{padding:0 0 var(--space-5)}.modal>.section-heading h2{letter-spacing:-.7px;font-size:23px;font-weight:580}.modal-close{background:var(--surface-subtle);border-radius:50%;width:32px;height:32px}.modal-intro{margin-bottom:var(--space-6);color:var(--text-secondary);font-size:13px}.form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.search-form{gap:var(--space-3);align-items:stretch;display:flex}.search-input{flex:1;min-width:0;position:relative}.search-input>svg{color:var(--muted);position:absolute;top:15px;left:14px}.search-input input{background:var(--control-bg);border-radius:var(--radius-md);min-height:50px;margin:0;padding-left:42px}.search-results{max-height:285px;margin:var(--space-5) 0;padding:2px;overflow:auto}.search-result{border:1px solid var(--border);border-radius:var(--radius-md);justify-content:flex-start;gap:var(--space-3);text-align:left;width:100%;margin-bottom:var(--space-2);background:var(--surface-subtle);padding:13px;display:flex}.search-result:hover{background:var(--glass-strong);border-color:var(--border-strong)}.search-result>div{flex:1;min-width:0}.search-result strong{font-size:13px;font-weight:570}.search-result small{font-size:12px}.search-result.selected{border-color:var(--success-border);background:var(--success-soft)}.no-results{color:var(--muted);padding:var(--space-5) 0;text-align:center;font-size:13px}.add-form{border-top:1px solid var(--line);padding-top:var(--space-5);margin-top:var(--space-5)}.reveal{opacity:0;transition:grid-template-rows var(--motion-slow) var(--ease-out), opacity var(--motion-base) var(--ease-out);grid-template-rows:0fr;display:grid}.reveal.is-open{opacity:1;grid-template-rows:1fr}.reveal-inner{min-height:0;overflow:hidden}.reveal.is-open .reveal-inner{margin:-3px;padding:3px}.dialog-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);display:flex}.confirmation-icon{color:var(--warning);background:var(--warning-soft);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:12px;display:inline-flex}.confirmation-copy{color:var(--text-secondary);font-size:14px}.loading-spinner{animation:.9s linear infinite spin}.skip-link{z-index:100;background:var(--control-hover);color:var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-dialog);padding:12px 20px;position:fixed;top:8px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes surface-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}@keyframes surface-leave{to{opacity:0;transform:translateY(5px)scale(.988)}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes backdrop-leave{to{opacity:0}}@keyframes completed-reveal{0%{box-shadow:inset 0 0 28px var(--success-glow)}to{box-shadow:inset 0 0 28px #0000}}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1700px){:root{--page-gutter:42px}main{padding-top:46px}.chart{height:225px}.bar-space{height:174px}}@media (max-width:1250px){:root{--sidebar-width:211px;--page-gutter:24px}.sidebar{padding-left:12px;padding-right:12px}.sidebar .brand{font-size:25px}.stat{padding:18px 16px}.stat>strong{font-size:28px}.stat-label{min-height:38px}.dashboard-grid,.dashboard-grid.lower{gap:var(--space-5);grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr)}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-context{display:none}.compact-table th,.compact-table td{padding:14px}.company{min-width:140px}.company strong{max-width:155px}.chart{gap:7px}.goal-card{padding:24px}}@media (max-width:1050px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-label{min-height:29px}.dashboard-grid,.dashboard-grid.lower,.settings-grid{grid-template-columns:1fr}.goal-card h2 br{display:none}.goal-card p{max-width:650px}.status-grid{gap:var(--space-3)}.status-card{padding:20px 16px}.status-card h2{font-size:20px}.breadcrumb{gap:6px}.top-actions select{max-width:180px}.banner{align-items:flex-start}.banner button{display:none}.auth-form{padding:35px}.auth-story{padding:40px 9%}}@media (max-width:760px){:root{--page-gutter:18px}html{scroll-padding-top:80px}.sidebar{width:min(285px,100vw - 30px);transition:transform var(--motion-slow) var(--ease-out), visibility var(--motion-slow);visibility:hidden;z-index:60;padding:22px 16px 16px;inset:10px auto 10px 10px;overflow-y:auto;transform:translate(calc(-100% - 20px))}.sidebar.open{visibility:visible;transform:none}.sidebar-close{display:inline-flex}.sidebar .brand{font-size:26px}.navigation-backdrop{background:var(--overlay-bg);width:100%;-webkit-backdrop-filter:blur(var(--blur-overlay));backdrop-filter:blur(var(--blur-overlay));z-index:50;animation:backdrop-enter var(--motion-base) var(--ease-out);position:fixed;inset:0}.navigation-open{height:100dvh;overflow:hidden}.main{margin-left:0}.mobile-menu{margin-left:-8px;display:inline-flex}.topbar{gap:4px;height:70px}.breadcrumb{margin-right:auto;font-size:12px}.breadcrumb>strong,.breadcrumb>svg{display:none}.top-actions{gap:2px}.top-actions select{max-width:165px;padding-left:12px;padding-right:20px}.currency-badge{padding:5px}main{padding-top:28px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:20px}.page-heading h1{font-size:27px}.page-heading .eyebrow{letter-spacing:1.3px;font-size:11px}.page-heading p{max-width:310px;font-size:13px}.page-heading .primary{min-height:44px;padding:10px 12px;font-size:12px}.page-heading .primary svg{width:16px}.stats{gap:12px}.stat{border-radius:16px;padding:16px}.stat>strong{letter-spacing:-1px;font-size:28px}.stat-label{gap:5px;min-height:38px;margin-bottom:14px;font-size:12px}.stat-icon{background:0 0;width:24px;height:24px}.stat-icon svg{width:17px}.stat-note{font-size:12px}.provider-note-hint{display:none}.provider-note{margin-bottom:20px}.banner{gap:10px;padding:14px}.dashboard-grid{gap:18px}.section-heading{padding:20px}.panel-footer{align-items:flex-start;padding:14px 20px}.panel-footer>span{max-width:65%}.panel-footer button{padding:0}.portfolio-toolbar{padding:0 16px 16px}.portfolio-filters{justify-content:space-between;width:100%}.portfolio-filters button{gap:5px;min-height:40px;padding:8px}.portfolio-filters button svg{display:none}.table-hint{margin-left:20px;margin-right:20px}.holdings-table td:first-child,.holdings-table th:first-child{width:160px;min-width:160px;max-width:160px;padding-left:12px;padding-right:12px}.holdings-table .company{gap:8px;min-width:130px}.holdings-table .company strong{max-width:130px;font-size:12px}.holdings-table .ticker-icon{display:none}.target-reached{margin-left:0}.portfolio-table-scroll{max-height:65vh}input.inline-number{width:108px;min-height:44px;font-size:16px}.calendar-grid{gap:14px}.month-card{padding:18px}.month-heading{flex-direction:column;align-items:flex-start;gap:5px}.calendar-payment{gap:8px}.calendar-payment small{max-width:145px}.calendar-heading{flex-direction:column;align-items:flex-start}.calendar-heading .chart-key{padding:0}.status-grid{grid-template-columns:1fr}.status-card{padding:22px}.status-card>svg{margin-bottom:12px}.settings-card{padding:22px}.app-footer{flex-direction:column;gap:5px;margin-top:30px}.auth{grid-template-columns:1fr;gap:0;padding:10px}.auth-story{border-radius:20px;padding:20px 22px}.story-copy,.story-footer{display:none}.auth-story .brand{font-size:25px}.auth-form{padding:42px 20px}.auth-form>div{max-width:420px}.auth-form h2{font-size:30px}.auth-tabs{margin-top:27px}.form-row{grid-template-columns:1fr;gap:0}.form-row label{margin-bottom:18px}.modal{padding:22px}.modal-close{width:40px;height:40px}dialog{border-radius:22px}.toast{font-size:13px;bottom:15px;left:15px;right:15px}.goal-card h2{font-size:23px}.chart{gap:4px;padding-left:18px;padding-right:18px}.chart-value,.chart-month{font-size:11px}.chart-key{padding:0 20px}input,select{font-size:16px}.watchlist-grid{padding:0 20px 20px}}@media (max-width:540px){.calendar-grid{grid-template-columns:1fr}.month-heading{flex-direction:row}.month-card{min-height:160px}.calendar-payment small{max-width:210px}.page-heading{flex-direction:column;gap:16px}.page-heading .primary{margin-top:0}.chart{overflow-x:auto}.chart-column{min-width:26px}.chart-value,.currency-badge{display:none}.search-form{gap:8px}.search-form .primary{padding:10px 13px}.search-input input{font-size:16px}}@media (max-width:370px){:root{--page-gutter:14px}.breadcrumb{display:none}.mobile-menu{margin-right:auto}.stats{gap:8px}.stat{padding:14px 12px}.stat>strong{font-size:24px}.stat-icon{display:none}.portfolio-toolbar{padding-left:10px;padding-right:10px}.portfolio-filters button{gap:4px;padding:7px 5px}.portfolio-filters{gap:0}.modal{padding:18px}.calendar-payment small{max-width:150px}.dialog-actions{gap:8px}.dialog-actions button{padding:10px 13px}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s;--motion-slow:0s;--motion-value:0s}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.table-hint{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.fulfilled svg{vertical-align:-2px;margin-right:3px}.status-grid+.panel td .status-badge,td .status-badge{width:max-content;margin-top:6px;display:flex}.sidebar.open{transition-property:transform}.sidebar :focus-visible,.auth-story :focus-visible{outline-color:var(--focus-ring)}@media (max-width:760px){.table-hint{gap:4px;font-size:12px}}.stat{container-type:inline-size}.stat>strong{font-size:clamp(19px,14.5cqw,36px)}.position-note{margin:5px 0 0 46px}@media (max-width:760px){.position-note{margin-left:0}}::selection{background:var(--success-soft);color:var(--text-primary)}select option{background:var(--data-surface);color:var(--text-primary)}input{caret-color:var(--accent)}input:autofill{-webkit-text-fill-color:var(--text-primary);box-shadow:inset 0 0 0 100px var(--control-focus)}.stat{transition:border-color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out)}.stat.featured{box-shadow:var(--shadow-raised), inset 0 0 50px var(--surface-subtle)}.forecast-panel,.goal-card{-webkit-backdrop-filter:blur(var(--blur-soft));backdrop-filter:blur(var(--blur-soft))}.goal-card{border-color:var(--featured-border);border-top-color:var(--inner-highlight)}.goal-card .goal-amount{color:var(--text-primary)}.goal-card .progress-track{height:6px}.goal-card .progress-track div{background:linear-gradient(90deg, var(--progress-fill), var(--accent));box-shadow:0 0 12px var(--focus-halo)}.data-panel,.compact-table{background:var(--data-surface)}.holdings-table .planning-cell{color:var(--text-primary)}.holdings-table .position-completed .income-cell{color:var(--success)}.settings-card,.month-card{box-shadow:var(--shadow-raised)}.auth-tabs button.active{background:var(--surface-selected);color:var(--text-primary)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.stat:hover{border-color:var(--border-strong);box-shadow:var(--shadow-hover)}}.admin-settings{grid-column:1/-1}.admin-settings h2{align-items:center;gap:10px;display:flex}.admin-control{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.admin-control h3{margin:0 0 8px}.admin-control form{max-width:620px}.admin-actions{flex-wrap:wrap;gap:12px;display:flex}.background-preview{object-fit:cover;border-radius:12px;width:100%;max-width:420px;height:180px;margin:16px 0;display:block}
