:root{color:var(--text,#241b17);background:var(--bg,#f7f1e8);font-family:var(--font-body,Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}#root{min-height:100vh}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8fafc;--surface:#fff;--surface-soft:#f3f6fb;--surface-strong:#e5e7eb;--panel-bg:#fffffff5;--sidebar-bg:#fffffff0;--table-bg:#fff;--input-bg:#fff;--active-bg:#eef6ff;--brand-bg:#111827;--text:#111827;--muted:#64748b;--faint:#94a3b8;--label:#475569;--border:#e5e7eb;--grid-line:#0f172a0f;--grid-line-soft:#0f172a0a;--blue:#2563eb;--primary-bg:#2563eb;--primary-text:#fff;--accent-contrast:#fff;--danger-contrast:#fff;--teal:#0f766e;--green:#16a34a;--orange:#f59e0b;--red:#e11d48;--violet:#7c3aed;--accent-soft:#eff6ff;--hover-soft:#f1f5f9;--chip-bg:#eef2ff;--chip-text:#334155;--progress-bg:#e5e7eb;--success-soft:#dcfce7;--danger-soft:#ffe4e6;--danger-bg:#fff1f2;--danger-border:#fecdd3;--warning-soft:#fef3c7;--shadow:0 22px 60px #0f172a14;--font-body:Inter, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius:8px;color:var(--text);background:var(--bg)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050505;--surface:#111;--surface-soft:#18181b;--surface-strong:#27272a;--panel-bg:#121212f5;--sidebar-bg:#0a0a0af0;--table-bg:#111;--input-bg:#0f0f0f;--active-bg:#1f2937;--brand-bg:#f9fafb;--text:#f9fafb;--muted:#d4d4d8;--faint:#a1a1aa;--label:#a1a1aa;--border:#27272a;--grid-line:#ffffff0f;--grid-line-soft:#ffffff09;--blue:#7dd3fc;--primary-bg:#2563eb;--primary-text:#fff;--accent-contrast:#041016;--danger-contrast:#24030a;--teal:#5eead4;--green:#86efac;--orange:#facc6b;--red:#fb7185;--violet:#c4b5fd;--accent-soft:#7dd3fc21;--hover-soft:#ffffff0f;--chip-bg:#1f2937;--chip-text:#e5e7eb;--progress-bg:#27272a;--success-soft:#86efac21;--danger-soft:#fb718526;--danger-bg:#fb71851a;--danger-border:#fb718552;--warning-soft:#facc6b24;--shadow:0 24px 60px #00000070}.app-shell{min-height:100vh;font-family:var(--font-body);background:linear-gradient(135deg, #7dd3fc0e, transparent 36%), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), linear-gradient(0deg, var(--grid-line-soft) 1px, transparent 1px), var(--bg);background-size:auto,42px 42px,42px 42px,auto;grid-template-columns:280px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--border);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;gap:28px;height:100vh;padding:24px;display:flex;position:sticky;top:0}.brand,.auth-brand,.user-card,.metric-top,.panel-heading,.account-row,.budget-row,.goal-top,.goal-meta,.auth-heading-row,.topbar,.topbar-actions,.market-actions,.holding-form{align-items:center;display:flex}.brand,.auth-brand{gap:12px}.brand-mark,.avatar,.metric-icon,.goal-icon,.account-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-mark{border-radius:var(--radius);width:44px;height:44px;color:var(--text)}.brand-logo-image{width:100%;height:100%;display:block}.brand strong,.user-card strong,.account-row strong,.budget-row strong,.signal strong,.goal-card h3,.metric-card strong{color:var(--text)}.brand span,.user-card span,.account-row span,td span,.timestamp,.metric-card span,.metric-card em,.goal-meta{color:var(--muted)}.side-nav{gap:8px;display:grid}.side-nav button{border-radius:var(--radius);width:100%;min-height:42px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;display:flex}.side-nav button:hover,.side-nav button:focus-visible,.side-nav button.active{color:var(--blue);background:var(--hover-soft);outline:none}.user-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:10px;min-width:0;margin-top:auto;padding:12px}.avatar{width:36px;height:36px;color:var(--accent-contrast);background:var(--blue);border-radius:50%}.user-card div:last-child,.brand div:last-child{min-width:0;display:grid}.user-card span,.brand span{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.save-status,.account-balance-control,.editable-number,.table-number-input,.positive,.negative,.donut-center strong,.legend-list em,.budget-row span,.goal-card>strong,.cashflow-sankey strong,.conversion-preview,td:nth-child(n+4){font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dashboard{grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;gap:22px;width:100%;min-width:0;padding:28px;display:grid}.demo-banner{background:color-mix(in srgb, var(--blue) 12%, transparent);border:1px solid color-mix(in srgb, var(--blue) 28%, transparent);color:var(--blue);border-radius:999px;justify-self:start;align-items:center;gap:8px;width:max-content;max-width:100%;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.demo-banner svg{flex:none}.topbar{justify-content:space-between;gap:20px}.topbar h1,.auth-brand h1{font-family:var(--font-display);color:var(--text);letter-spacing:0;margin:2px 0 8px;font-size:clamp(1.7rem,3vw,2.65rem);font-weight:900;line-height:1.08}.eyebrow{color:var(--blue);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:800}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.save-status{border:1px solid var(--border);border-radius:var(--radius);min-height:40px;color:var(--muted);background:var(--surface);align-items:center;padding:0 10px;font-size:.82rem;font-weight:750;display:inline-flex}.save-status.error{color:var(--red);background:var(--danger-bg);border-color:var(--danger-border)}.sync-conflict-banner,.info-note{border:1px solid var(--danger-border);border-radius:var(--radius);background:var(--danger-bg);justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.sync-conflict-banner div{gap:3px;display:grid}.sync-conflict-banner strong{color:var(--text)}.sync-conflict-banner span,.info-note{color:var(--muted);line-height:1.5}.info-note{border-color:var(--border);background:var(--surface-soft);justify-content:flex-start;margin-bottom:14px;font-size:.9rem}.primary-button,.secondary-button,.icon-button,.auth-tabs button,.segmented button{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;min-height:40px;font-weight:750;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.primary-button{color:var(--primary-text);background:var(--primary-bg);gap:8px;padding:0 15px}.primary-button:hover:not(:disabled),.primary-button:focus-visible:not(:disabled){background:color-mix(in srgb, var(--primary-bg) 85%, white)}.danger-button{color:var(--danger-contrast);background:var(--red)}.secondary-button{color:var(--text);background:var(--surface);border-color:var(--border);gap:8px;padding:0 14px}.compact-command{gap:6px}.currency-toggle,.toolbar-select select{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.toolbar-select{border:1px solid var(--border);border-radius:var(--radius);min-height:40px;color:var(--muted);background:var(--surface);grid-template-columns:auto minmax(130px,170px);align-items:center;gap:8px;padding:0 10px;font-size:.82rem;font-weight:750;display:inline-grid}.toolbar-select select{min-height:30px;color:var(--text);background-color:var(--surface);border:0;padding:0 28px 0 8px}.icon-button{width:40px;color:var(--text);background:var(--surface);border-color:var(--border)}.icon-button.active{color:var(--blue);background:var(--accent-soft);border-color:var(--blue)}.danger-icon{color:var(--faint)}.danger-icon:hover:not(:disabled),.danger-icon:focus-visible:not(:disabled){color:var(--red);background:var(--danger-soft);border-color:var(--danger-border)}.primary-button:hover,.secondary-button:hover,.icon-button:hover,.auth-tabs button:hover,.segmented button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.icon-button:disabled,.auth-tabs button:disabled,.segmented button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.62}.primary-button:disabled:hover,.secondary-button:disabled:hover,.icon-button:disabled:hover,.auth-tabs button:disabled:hover,.segmented button:disabled:hover{transform:none}.primary-button:focus-visible,.secondary-button:focus-visible,.icon-button:focus-visible,.auth-tabs button:focus-visible,.segmented button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--blue) 55%, transparent);outline-offset:1px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.insight-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:14px 16px;display:grid}.insight-icon{border-radius:var(--radius);width:42px;height:42px;color:var(--blue);background:var(--accent-soft);justify-content:center;align-items:center;display:inline-flex}.insight-card.good .insight-icon{color:var(--green);background:var(--success-soft)}.insight-card.watch .insight-icon{color:var(--orange);background:var(--warning-soft)}.insight-card div:last-child{gap:3px;display:grid}.insight-card strong{color:var(--text)}.insight-card span{color:var(--muted)}.metric-card,.panel,.auth-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow)}.metric-card{gap:10px;min-width:0;padding:18px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.panel,.insight-card,.auth-panel{transition:border-color .18s,box-shadow .18s,transform .18s}@media (hover:hover){.metric-card:hover,.panel:hover,.insight-card:hover{border-color:var(--surface-strong);transform:translateY(-2px);box-shadow:0 28px 70px #0f172a1f}:root[data-theme=dark] .metric-card:hover,:root[data-theme=dark] .panel:hover,:root[data-theme=dark] .insight-card:hover{box-shadow:0 28px 70px #0000006b}}.metric-top{justify-content:space-between}.metric-icon{border-radius:var(--radius);width:38px;height:38px;color:var(--blue);background:var(--accent-soft)}.trend{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.trend.up{color:var(--green);background:var(--success-soft)}.trend.down{color:var(--red);background:var(--danger-soft)}.metric-card strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.08}.metric-card em{font-style:normal;line-height:1.35}.mini-sparkline{width:100%;height:32px;color:var(--green);opacity:.88}.mini-sparkline.down{color:var(--red)}.mini-sparkline.empty{border-radius:var(--radius);background:linear-gradient(90deg, transparent 0 10%, var(--border) 10% 11%, transparent 11% 30%, var(--border) 30% 31%, transparent 31%), var(--surface-soft);opacity:.6;height:32px}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:22px;display:grid}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.34fr);gap:22px;display:grid}.hero-panel{min-height:430px;padding:24px;position:relative;overflow:hidden}.hero-panel:before{content:"";pointer-events:none;background:linear-gradient(#fffffff0,#ffffff94 42%,#0000),repeating-linear-gradient(90deg,#0000 0 19px,#0f172a0f 20px);position:absolute;inset:0}:root[data-theme=dark] .hero-panel:before{background:linear-gradient(#111111eb,#1111118f 42%,#0000),repeating-linear-gradient(90deg,#0000 0 19px,#ffffff0e 20px)}.hero-copy{z-index:1;gap:8px;max-width:620px;display:grid;position:relative}.hero-copy h2{font-family:var(--font-display);margin:2px 0 0;font-size:clamp(1.55rem,3vw,2.5rem);line-height:1.05}.hero-copy strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,6vw,5rem);line-height:1}.hero-copy strong.hero-net-worth.negative{color:var(--red)}.hero-net-worth-warning{background:var(--danger-soft);width:fit-content;color:var(--red);font-family:var(--font-body);border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:6px 12px;font-size:.84rem;font-weight:800;display:inline-flex}.hero-copy>span:not(.pill){color:var(--muted);font-weight:750}.hero-copy .pill{justify-self:start}.hero-chart{z-index:0;min-height:330px;margin-top:48px;position:relative}.bento-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}.bento-grid>.panel{grid-column:span 5}.bento-grid>.panel.wide{grid-column:span 7}.panel{min-width:0;padding:20px}.panel.wide{min-width:0}.panel-heading{justify-content:space-between;gap:14px;margin-bottom:18px}.panel-heading h2{font-family:var(--font-display);color:var(--text);letter-spacing:0;margin:2px 0 0;font-size:1.28rem;font-weight:850;line-height:1.18}.pill{min-height:30px;color:var(--chip-text);background:var(--chip-bg);font-size:.84rem;font-weight:750;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.pill.warning{color:var(--orange);background:var(--warning-soft)}.chart-wrap{min-height:280px}.donut-wrap{min-height:240px;position:relative}.donut-center{text-align:center;pointer-events:none;gap:3px;width:128px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-center span{color:var(--muted);font-size:.78rem;font-weight:750}.donut-center strong{overflow-wrap:anywhere;color:var(--text);font-size:1.14rem;line-height:1.05}.privacy-on .chart-wrap,.privacy-on .donut-wrap{filter:saturate(.75)}.legend-list,.account-list,.budget-list,.signal-list{gap:12px;display:grid}.legend-list div{grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.legend-list span{border-radius:3px;width:12px;height:12px}.legend-list em{color:var(--muted);font-style:normal}.account-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);cursor:grab;grid-template-columns:18px 42px minmax(0,1fr) minmax(230px,auto);gap:12px;padding:12px;transition:border-color .18s,box-shadow .18s,transform .18s,opacity .18s;display:grid}.account-row:active{cursor:grabbing}.account-row.dragging{opacity:.45;border-color:var(--blue)}.account-name-link{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.account-name-link strong{transition:color .15s}.account-name-link svg{opacity:0;color:var(--blue);transition:opacity .15s,transform .15s}.account-name-link:hover strong,.account-name-link:focus-visible strong{color:var(--blue)}.account-name-link:hover svg,.account-name-link:focus-visible svg{opacity:1;transform:translate(2px)}.account-row.drop-target{border-color:var(--blue);box-shadow:inset 0 3px 0 0 var(--blue);transform:translateY(1px)}.account-drag-handle{width:28px;height:28px;color:var(--faint);opacity:.65;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:center;align-items:center;margin-right:-4px;transition:opacity .18s,color .18s;display:inline-flex}.account-drag-handle:hover,.account-drag-handle:focus-visible{color:var(--muted);opacity:1}.account-drag-handle:active{cursor:grabbing}.account-row:hover .account-drag-handle{color:var(--muted);opacity:1}.account-row>div:not(.account-balance-control){min-width:0;display:grid}.account-row span,.account-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-card-cycle{background:var(--accent-soft);width:fit-content;max-width:100%;color:var(--blue);border-radius:999px;margin-top:4px;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.account-multi-currency{vertical-align:middle;flex-wrap:wrap;gap:4px;margin-left:8px;display:inline-flex}.account-multi-currency-pill{background:color-mix(in srgb, var(--blue) 14%, transparent);color:var(--blue);font-size:.74rem;font-weight:700;font-family:var(--mono-font);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;display:inline-flex}.multi-currency-section{border:1px dashed var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface-soft) 60%, transparent);gap:8px;margin-top:4px;padding:12px;display:grid}.multi-currency-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;font-weight:700;display:flex}.multi-currency-heading .secondary-button{min-height:28px;padding:0 10px;font-size:.78rem}.account-style-controls{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.account-style-controls select{border:1px solid var(--border);border-radius:var(--radius);max-width:120px;min-height:30px;color:var(--text);background:var(--input-bg);padding:0 28px 0 8px;font-size:.78rem}.account-icon{border-radius:var(--radius);width:42px;height:42px;color:var(--accent-contrast);background:var(--blue);box-shadow:inset 0 0 0 1px #ffffff38}.account-icon-button{cursor:pointer;border:0}.account-icon-button:hover,.account-icon-button:focus-visible{outline:3px solid var(--accent-soft);transform:translateY(-1px)}.account-style-popover,.new-account-style{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:8px;margin-top:10px;padding:10px;display:grid}.new-account-style{margin-top:0}.new-account-style>span{color:var(--label);font-size:.82rem;font-weight:750}.icon-choice-grid,.color-choice-grid{flex-wrap:wrap;gap:8px;display:flex}.icon-choice-grid button,.color-choice-grid button{border:1px solid var(--border);border-radius:var(--radius);width:34px;height:34px;color:var(--text);background:var(--input-bg);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.color-choice-grid button{border-color:#ffffff52}.icon-choice-grid button.active,.color-choice-grid button.active{border-color:var(--blue);box-shadow:0 0 0 3px var(--accent-soft)}.account-icon.cash{background:var(--teal)}.account-icon.bank{background:var(--blue)}.account-icon.brokerage{background:var(--violet)}.account-icon.crypto{background:var(--orange)}.account-icon.liability{background:var(--red)}.account-balance-control{grid-template-columns:140px auto 1fr 40px 40px 40px;justify-content:end;align-items:center;gap:8px;display:grid}.account-balance-control span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.editable-number,.table-number-input{text-align:right;min-width:0}.table-number-input{width:112px;min-height:34px;padding:0 8px}.table-text-input{width:100%;min-width:0;min-height:34px;font:inherit;padding:0 8px}.table-date-input{width:144px;min-width:0;min-height:34px;font:inherit;padding:0 8px}.balance-display{border-radius:var(--radius);width:140px;min-height:34px;color:var(--text);font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums;cursor:text;background:0 0;border:1px solid #0000;padding:0 10px;font-size:.9rem;font-weight:600;transition:background .12s,border-color .12s}.balance-display:hover{background:var(--surface-soft);border-color:var(--border)}.balance-display:focus-visible{outline:2px solid color-mix(in srgb, var(--blue) 55%, transparent);outline-offset:1px}.balance-display.negative{color:var(--red)}.account-currency-display{min-height:26px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;padding:1px 6px;transition:background .12s,border-color .12s;display:inline-flex}.account-currency-display:hover{background:var(--surface-soft);border-color:var(--border)}.account-currency-display:focus-visible{outline:2px solid color-mix(in srgb, var(--blue) 55%, transparent);outline-offset:1px}.account-currency-select{width:112px;min-height:30px;font:inherit;padding:0 8px}.inline-edit-display{width:100%;min-height:28px;color:inherit;font:inherit;text-align:right;font-variant-numeric:tabular-nums;cursor:text;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:flex-end;align-items:center;gap:6px;padding:2px 8px;transition:background .12s,border-color .12s;display:inline-flex}.inline-edit-display:hover{background:var(--surface-soft);border-color:var(--border)}.inline-edit-display:focus-visible{outline:2px solid color-mix(in srgb, var(--blue) 55%, transparent);outline-offset:1px}.inline-edit-display.empty{color:var(--faint)}.inline-edit-display.text-left{text-align:left;justify-content:flex-start}.inline-edit-display.stacked{flex-direction:column;align-items:flex-end;gap:2px}.inline-edit-display.text-left.stacked{align-items:flex-start}.inline-edit-display strong,.inline-edit-display span,.inline-edit-display .price-source{margin-top:0}.transaction-note-display{margin-top:4px;padding-left:0}.row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.select-col{text-align:center;width:40px;padding-left:12px!important;padding-right:0!important}.select-col input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--blue);margin:0}.action-col{text-align:right;width:144px}table th.num,table td.num{text-align:right;font-variant-numeric:tabular-nums}.symbol-code{color:var(--muted);font-size:.74rem;font-family:var(--mono-font);letter-spacing:.02em;margin-top:2px;display:block}.account-holdings-hint{background:color-mix(in srgb, var(--blue) 14%, transparent);color:var(--blue);white-space:nowrap;border-radius:999px;align-items:center;margin-left:6px;padding:1px 8px;font-size:.72rem;font-weight:700;display:inline-flex}tr.row-selected td{background:color-mix(in srgb, var(--blue) 10%, transparent)}.secondary-button.danger-button{color:var(--red);border-color:color-mix(in srgb, var(--red) 35%, transparent)}.secondary-button.danger-button:hover{background:color-mix(in srgb, var(--red) 12%, transparent)}.compact-form,.auth-form{gap:13px;display:grid}.panel-form{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.empty-state{border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-soft);min-height:118px;color:var(--muted);text-align:center;place-items:center;gap:6px;padding:22px;display:grid}.empty-state-icon{background:color-mix(in srgb, var(--blue) 16%, transparent);width:64px;height:64px;color:var(--blue);border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.empty-state strong{color:var(--text)}.empty-state span{max-width:360px;line-height:1.5}label{color:var(--label);gap:6px;font-size:.86rem;font-weight:750;display:grid}.conversion-preview{color:var(--muted);font-size:.78rem;font-weight:750}.field-label-with-help{align-items:center;gap:6px;min-width:0;display:inline-flex}.field-help{border:1px solid var(--border);width:18px;height:18px;color:var(--muted);background:var(--surface);cursor:help;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:relative}.field-help-popover{z-index:50;border:1px solid var(--border);border-radius:var(--radius);width:min(280px,100vw - 48px);color:var(--text);background:var(--surface);box-shadow:var(--shadow);white-space:normal;opacity:0;pointer-events:none;padding:10px 12px;font-size:.78rem;font-weight:650;line-height:1.5;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.field-help:hover,.field-help:focus-visible{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 42%, var(--border));outline:none}.field-help:hover .field-help-popover,.field-help:focus-visible .field-help-popover{opacity:1;transform:translate(-50%)}input,select{border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:40px;color:var(--text);background:var(--input-bg);padding:0 11px}select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}select option,select optgroup{color:var(--text);background:var(--surface)}:root[data-theme=dark] select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] select option,:root[data-theme=dark] select optgroup{color:#f9fafb;background:#111}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.form-row>label{align-self:start}.transaction-form{grid-template-columns:minmax(120px,.75fr) minmax(110px,.65fr) repeat(2,minmax(140px,1fr)) minmax(120px,.75fr) minmax(130px,.8fr) minmax(140px,1fr);align-items:end;gap:10px;display:grid}.transaction-form label:last-of-type{grid-column:span 2}.transaction-form .primary-button{min-width:126px}.transaction-table{margin-top:16px}.transaction-type{width:fit-content;min-width:70px;color:var(--text);background:var(--surface-soft);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:5px 9px;font-size:.75rem;font-weight:850;line-height:1;margin:0!important;display:inline-flex!important}.transaction-type svg{flex:none}.transaction-type.income,.transaction-type.dividend{color:var(--green);background:var(--success-soft)}.transaction-type.expense,.transaction-type.fee{color:var(--red);background:var(--danger-soft)}.transaction-type.investment{color:var(--orange);background:var(--warning-soft)}.transaction-type.transfer{color:var(--blue);background:var(--accent-soft)}.inline-empty{color:var(--muted);text-align:center;gap:4px;padding:24px;display:grid}.inline-empty strong{color:var(--text)}.segmented{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:4px;padding:4px;display:inline-flex}.segmented button,.auth-tabs button{min-height:34px;color:var(--muted);background:0 0;padding:0 12px}.feedback-kind-toggle{margin-bottom:14px}.feedback-kind-toggle button{align-items:center;gap:6px;display:inline-flex}.segmented button.active,.auth-tabs button.active{color:var(--text);background:var(--active-bg);box-shadow:0 6px 18px #0f172a14}.inline-alert{border:1px solid var(--danger-border);border-radius:var(--radius);color:var(--red);background:var(--danger-bg);align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex}.settings-layout{grid-template-columns:minmax(240px,.36fr) minmax(0,1fr);gap:22px;display:grid}.settings-menu{align-content:start;gap:20px}.settings-back,.settings-group button,.settings-signout{border-radius:var(--radius);width:100%;min-height:42px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;font-weight:800;display:flex}.settings-back{border:1px solid var(--border);justify-content:flex-start;gap:10px;padding:0 12px}.settings-group{border-top:1px solid var(--border);gap:6px;padding-top:18px;display:grid}.settings-group span{color:var(--faint);font-size:.86rem;font-weight:850}.settings-group button{color:var(--text);padding:0 12px}.settings-group button.active,.settings-group button:hover,.settings-group button:focus-visible{background:var(--hover-soft);outline:none}.settings-signout{color:var(--red);border-top:1px solid var(--border);border-radius:0;margin-top:4px;padding:0 12px}.settings-content{gap:22px;width:100%;min-width:0;max-width:880px;display:grid}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-grid label span{color:var(--muted);font-size:.78rem;font-weight:650;line-height:1.45}.settings-card-list,.settings-guide{gap:12px;display:grid}.settings-card,.settings-guide div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.settings-card.with-action{grid-template-columns:40px minmax(0,1fr) auto}.settings-guide div{grid-template-columns:minmax(0,1fr)}.settings-card-icon{border-radius:var(--radius);width:40px;height:40px;color:var(--blue);background:var(--accent-soft);justify-content:center;align-items:center;display:inline-flex}.settings-card strong,.settings-guide strong{color:var(--text)}.settings-card span,.settings-guide span{color:var(--muted);margin-top:3px;line-height:1.5;display:block}.equity-award-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:minmax(0,1fr) minmax(180px,auto) auto;align-items:center;gap:14px;padding:12px;display:grid}.equity-award-main{min-width:0}.equity-award-heading{gap:3px;display:grid}.equity-award-title{color:var(--text);font-size:1.08rem;font-weight:850;line-height:1.2}.equity-award-company{color:var(--muted);font-size:.84rem;line-height:1.35}.equity-award-schedule{color:var(--label);font-size:.84rem;font-weight:650}.equity-award-row strong,.equity-award-row span{display:block}.equity-award-row span{color:var(--muted);margin-top:3px;font-size:.84rem;line-height:1.45}.equity-award-value{text-align:right;justify-self:end}.equity-award-value strong{font-size:1.1rem;line-height:1.2}.settings-accordion{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-soft) 60%, transparent);border-radius:12px;margin:0;overflow:hidden}.settings-accordion.inline{background:0 0;border:0;margin-left:auto;display:inline-block}.settings-accordion summary{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:12px 14px;font-size:.86rem;font-weight:700;list-style:none;display:inline-flex}.settings-accordion.inline summary{color:var(--muted);padding:4px 8px;font-size:.78rem;font-weight:600}.settings-accordion summary::-webkit-details-marker{display:none}.settings-accordion summary svg:first-child{color:var(--blue)}.settings-accordion summary .accordion-chevron{color:var(--muted);margin-left:auto;transition:transform .18s}.settings-accordion[open] summary .accordion-chevron{transform:rotate(180deg)}.settings-accordion[open] summary{border-bottom:1px solid var(--border)}.settings-accordion .settings-guide{padding:12px 14px}.settings-accordion.inline .settings-meta{color:var(--muted);padding:8px 8px 0;font-size:.78rem;line-height:1.5;display:block}.settings-section-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-section-heading>strong{color:var(--text);font-size:.95rem}.espp-detail{background:color-mix(in srgb, var(--surface-soft) 70%, transparent);border:1px solid var(--border);border-radius:12px;gap:8px;width:min(100%,920px);margin-top:10px;padding:10px 12px;display:grid}.espp-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.espp-detail-cell{border:1px solid color-mix(in srgb, var(--border) 78%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 72%, transparent);min-width:0;padding:9px 10px}.espp-detail-row{grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.86rem;display:grid}.espp-detail-row.highlight{background:color-mix(in srgb, var(--green,#10b981) 12%, transparent);border-radius:8px;padding:8px 10px}.espp-detail-row.highlight .espp-detail-value{color:var(--green,#10b981)}.espp-detail-label{color:var(--muted);font-size:.78rem;font-weight:600}.espp-detail-value{color:var(--text);font-weight:700;font-family:var(--font-mono)}.espp-detail-meta{color:var(--muted);white-space:nowrap;font-size:.76rem}.espp-salary-list{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface-soft) 70%, transparent);gap:10px;padding:10px;display:grid}.espp-salary-list-header{color:var(--label);justify-content:space-between;align-items:center;gap:10px;font-size:.82rem;display:flex}.espp-salary-list-header strong{color:var(--text)}.espp-salary-list-header span{color:var(--muted);font-family:var(--font-mono);font-size:.78rem;font-weight:750}.espp-salary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.espp-salary-month{font-family:var(--font-mono);gap:5px;font-size:.78rem}.equity-vest-progress{gap:6px;margin-top:8px;display:grid}.equity-vest-bar{background:var(--surface-soft);border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.equity-vest-bar-vested{background:color-mix(in srgb, var(--blue) 55%, transparent);border-radius:999px;position:absolute;inset:0}.equity-vest-bar-transitioned{background:var(--green,#10b981);border-radius:999px;position:absolute;inset:0}.equity-vest-stats{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.equity-vest-stats-total{color:var(--label);font-weight:700}.equity-tranche-list{overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap;gap:4px;max-width:100%;margin-top:8px;padding-bottom:4px;display:flex;overflow-x:auto}.equity-tranche{border:1px solid var(--border);background:var(--surface);color:var(--label);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;align-items:center;padding:2px 8px;font-size:.74rem;font-weight:750;display:inline-flex}.equity-tranche.unvested{color:var(--blue);background:color-mix(in srgb, var(--blue) 7%, var(--surface));border-color:color-mix(in srgb, var(--blue) 42%, var(--border))}.equity-tranche.vested{color:var(--accent-contrast);background:var(--blue);border-color:var(--blue)}.equity-tranche.transitioned{color:var(--accent-contrast);background:var(--green,#10b981);border-color:var(--green,#10b981)}.equity-tranche.actionable{cursor:pointer;font:inherit}.equity-tranche.actionable:hover,.equity-tranche.actionable:focus-visible{background:color-mix(in srgb, var(--blue) 78%, var(--surface));outline:none;transform:translateY(-1px)}.equity-award-menu{justify-self:end;position:relative}.equity-award-menu>summary{list-style:none}.equity-award-menu>summary::-webkit-details-marker{display:none}.equity-award-menu[open]>summary{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 42%, var(--border));background:var(--accent-soft)}.equity-award-menu-panel{z-index:20;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:132px;box-shadow:var(--shadow);gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.equity-award-menu-panel button{width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 9px;font-size:.84rem;font-weight:700;display:inline-flex}.equity-award-menu-panel button:hover,.equity-award-menu-panel button:focus-visible{background:var(--hover-soft);outline:none}.equity-award-menu-panel button.danger{color:var(--red)}.equity-award-menu-panel button.danger:hover,.equity-award-menu-panel button.danger:focus-visible{background:var(--danger-soft)}.forwarding-box{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;display:grid}.forwarding-box>span{color:var(--muted);grid-column:1/-1;font-size:.78rem;font-weight:850}.forwarding-box strong{overflow-wrap:anywhere;min-width:0;color:var(--text);font-family:var(--mono-font);font-size:1.02rem}.settings-meta{color:var(--muted);margin:0;font-size:.84rem;font-weight:700}.password-rule-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:12px;padding:14px;display:grid}.password-rule-form>div:first-child strong,.password-rule-form>div:first-child span{display:block}.password-rule-form>div:first-child span{color:var(--muted);margin-top:4px;line-height:1.5}.password-rule-form .secondary-button{justify-content:center;align-self:end;min-height:44px}.password-rule-list{gap:8px;display:grid}.password-rule-list>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:10px;padding:10px;display:grid}.password-rule-list strong,.password-rule-list em{display:block}.password-rule-list em{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:.78rem;font-style:normal}.settings-alert{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));border-radius:var(--radius);color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--surface));align-items:center;gap:8px;padding:10px 12px;font-size:.86rem;font-weight:750;display:flex}.forwarding-message-list{gap:10px;display:grid}.forwarding-message-list>strong{color:var(--text)}.forwarding-message-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.forwarding-message-toolbar>strong{color:var(--text)}.forwarding-message-list article{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:8px;min-width:0;padding:12px;display:grid}.forwarding-message-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.forwarding-message-list article strong,.forwarding-message-list article span{display:block}.forwarding-message-list article span{color:var(--muted);margin-top:3px;font-size:.82rem}.forwarding-message-list article p{min-width:0;color:var(--label);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.86rem;line-height:1.55}.parse-error{color:var(--danger)!important}.status-pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;min-width:72px;padding:4px 8px;font-weight:850;color:var(--label)!important;font-size:.74rem!important;display:inline-flex!important}.status-pill.parsed{border-color:color-mix(in srgb, var(--success) 40%, var(--border));background:color-mix(in srgb, var(--success) 12%, var(--surface));color:var(--success)!important}.status-pill.needs_password,.status-pill.failed{border-color:color-mix(in srgb, var(--danger) 40%, var(--border));background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger)!important}.import-suggestion-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:8px;min-width:0;padding:10px;display:grid}.import-suggestion-list>strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:.86rem;line-height:1.45}.import-suggestion{border-radius:calc(var(--radius) - 2px);background:var(--surface-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;min-width:0;padding:10px;display:grid}.import-suggestion>span{background:var(--accent-soft);width:fit-content;max-width:100%;font-family:var(--mono-font);text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;border-radius:999px;grid-column:1;padding:3px 7px;font-weight:850;color:var(--blue)!important;margin:0!important;font-size:.68rem!important}.import-suggestion>div{grid-column:1;min-width:0}.import-suggestion strong{overflow-wrap:anywhere;min-width:0;line-height:1.3}.import-suggestion p{min-width:0;color:var(--muted);overflow-wrap:anywhere;margin:2px 0 0;font-size:.8rem;line-height:1.45}.import-suggestion em{color:var(--muted);font-style:normal;font-family:var(--mono-font);text-align:right;grid-area:1/2/span 2;align-self:center;font-size:.78rem}.import-suggestion-meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.import-suggestion-meta .meta-pill{background:var(--surface-soft);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:.74rem;font-weight:600;display:inline-flex}.import-suggestion-meta .meta-pill.amount{background:color-mix(in srgb, var(--blue) 16%, transparent);color:var(--blue);font-family:var(--mono-font)}.import-suggestion-meta .meta-pill.type{background:color-mix(in srgb, var(--teal) 16%, transparent);color:var(--teal)}.import-suggestion-meta .meta-pill.account{background:color-mix(in srgb, var(--purple,#a78bfa) 16%, transparent);color:var(--purple,#a78bfa)}.forwarding-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.primary-button.compact,.forwarding-actions .secondary-button{min-height:38px;padding:8px 12px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;background:var(--table-bg);width:100%;min-width:980px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:13px 14px}th{color:var(--label);background:var(--surface-soft);text-transform:uppercase;font-size:.78rem}td strong,td span{display:block}td span{margin-top:3px;font-size:.82rem}tbody tr:last-child td{border-bottom:0}.quote-row{animation-duration:.36s;animation-timing-function:ease}.quote-row.quote-up{animation-name:quoteFlashUp}.quote-row.quote-down{animation-name:quoteFlashDown}.positive{color:var(--green)}.negative{color:var(--red)}.market-actions{gap:16px;margin-top:18px;display:grid}.quote-source-form{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:16px;display:grid}.holding-form{grid-template-columns:repeat(7,minmax(100px,1fr)) auto;align-items:end;gap:10px;width:100%;display:grid}.holding-form .primary-button{min-width:124px}.formula-list{gap:12px;display:grid}.formula-list div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:6px;padding:13px;display:grid}.formula-list strong{color:var(--text)}.formula-list span{color:var(--muted)}.budget-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:10px;padding:12px;display:grid}.budget-row{justify-content:space-between;gap:12px}.budget-row strong{align-items:center;gap:6px;display:inline-flex}.budget-item.over-budget{border-color:var(--danger-border);background:var(--danger-bg)}.budget-item.over-budget .budget-row strong{color:var(--red)}.budget-row span{color:var(--muted);white-space:nowrap}.progress{background:var(--progress-bg);border-radius:999px;height:9px;position:relative;overflow:hidden}.progress:after{background:var(--text);content:"";opacity:.42;border-radius:999px;width:2px;height:13px;position:absolute;top:-2px;left:calc(100% - 2px)}.progress span{border-radius:inherit;background:var(--blue);height:100%;display:block}.budget-item.over-budget .progress span{background:linear-gradient(90deg, var(--blue) 0 72%, var(--red) 72% 100%)}.budget-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.signal{border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:24px minmax(0,1fr);gap:10px;padding:12px;display:grid}.signal.good{color:var(--green)}.signal.watch{color:var(--orange)}.signal.danger{color:var(--red)}.signal div{display:grid}.signal span{color:var(--muted)}.signal small{color:var(--label);white-space:normal;margin-top:4px;font-size:.78rem;line-height:1.45;display:block}.toast{z-index:80;background:var(--panel-bg);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:10px;max-width:min(420px,100vw - 36px);padding:12px 14px;font-size:.86rem;font-weight:600;animation:.22s cubic-bezier(.2,.8,.2,1) toastSlide;display:inline-flex;position:fixed;top:18px;right:18px}.toast.toast-success>svg:first-child{color:var(--green,#10b981)}.toast.toast-error>svg:first-child{color:var(--red,#ef4444)}.toast.toast-info>svg:first-child{color:var(--blue)}.toast button{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.toast button:hover{background:var(--surface-soft);color:var(--text)}@keyframes toastSlide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.cashflow-sankey{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:minmax(120px,.25fr) minmax(0,1fr);align-items:stretch;gap:14px;margin-top:16px;padding:14px;display:grid}.cashflow-breakdown{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:10px;margin-top:16px;padding:14px 16px;display:grid}.cashflow-breakdown.empty{place-items:center;min-height:80px}.cashflow-breakdown-head{align-items:baseline;gap:10px;display:flex}.cashflow-breakdown-head span{color:var(--label);text-transform:uppercase;letter-spacing:.04em;font-size:.84rem;font-weight:800}.cashflow-breakdown-head strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.05}.cashflow-breakdown-bar{background:var(--progress-bg);border-radius:999px;height:18px;display:flex;overflow:hidden}.cashflow-breakdown-bar>span{flex-grow:0;flex-shrink:0;height:100%;transition:flex-basis .18s;display:block}.cashflow-breakdown-bar>span:not(:last-child){border-right:1px solid var(--surface)}.cashflow-breakdown-legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:.82rem;display:flex}.cashflow-breakdown-item{align-items:center;gap:6px;display:inline-flex}.cashflow-breakdown-item i{border-radius:3px;width:10px;height:10px;display:inline-block}.cashflow-breakdown-item em{color:var(--label);font-style:normal;font-weight:800}.cashflow-breakdown-item strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:850}.cashflow-breakdown-item small{color:var(--muted);font-size:.74rem}.sankey-source,.sankey-flow{align-content:center;gap:5px;display:grid}.sankey-source{border-radius:var(--radius);color:var(--accent-contrast);background:var(--teal);padding:12px}.sankey-source span,.sankey-flow em{font-size:.78rem;font-style:normal;font-weight:850}.sankey-flows{gap:8px;display:grid}.sankey-flow{border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(80px,1fr) auto;min-height:44px;padding:8px 10px;position:relative;overflow:hidden}.sankey-flow>span{opacity:.22;position:absolute;inset:0 auto 0 0}.sankey-flow em,.sankey-flow strong{z-index:1;position:relative}.sankey-flow strong{justify-self:end}.sankey-empty{min-height:90px;color:var(--muted);place-items:center;display:grid}.dividend-cashflow-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:12px;min-width:0;margin-bottom:16px;padding:14px;display:grid}.dividend-cashflow-topline{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.dividend-cashflow-stats{flex:1;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;min-width:0;display:grid}.dividend-cashflow-stats span{border-radius:var(--radius);background:var(--surface);gap:4px;min-width:0;padding:8px 10px;display:grid}.dividend-cashflow-stats em{color:var(--muted);font-size:.74rem;font-style:normal;font-weight:800}.dividend-cashflow-stats strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:.94rem}.dividend-mode-toggle{flex:none}.dividend-cashflow-chart{min-width:0;min-height:260px}.dividend-chart-tooltip{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);min-width:220px;max-width:min(320px,82vw);box-shadow:var(--shadow);gap:6px;padding:10px 12px;display:grid}.dividend-chart-tooltip strong{color:var(--text)}.dividend-chart-tooltip>span{color:var(--muted);font-size:.82rem}.dividend-tooltip-list{border-top:1px solid var(--border);gap:4px;padding-top:4px;display:grid}.dividend-tooltip-list span{color:var(--muted);justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.dividend-tooltip-list em{color:var(--text);font-style:normal;font-weight:750}.dividend-tooltip-list strong{font-family:var(--font-mono);font-size:.82rem}.dividend-cashflow-caption{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.78rem;display:flex}.dividend-fee-alert{color:var(--orange);align-items:center;gap:4px;display:inline-flex}.goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.goal-grid .empty-state{grid-column:1/-1}.goal-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:12px;padding:16px;display:grid;position:relative;overflow:hidden}.goal-card.completed{border-color:var(--green);background:linear-gradient(135deg, var(--success-soft), transparent 62%), var(--surface-soft)}.goal-card.completed:after{border-radius:var(--radius);content:"";pointer-events:none;border:1px solid #2f7d4c3d;animation:1.8s ease-in-out infinite goalPulse;position:absolute;inset:10px}.goal-top,.goal-meta{justify-content:space-between;gap:10px}.goal-icon{border-radius:var(--radius);width:34px;height:34px;color:var(--accent-contrast);background:var(--teal)}.goal-card h3{margin:0;font-size:1.04rem;line-height:1.25}.goal-card>strong{color:var(--text);font-size:1.35rem}.goal-runway{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;display:grid;position:relative}.runway-line,.goal-runway-track{background:var(--progress-bg);border-radius:999px;height:8px;position:relative}.goal-runway-track:before{width:var(--goal-progress,0%);border-radius:inherit;background:linear-gradient(90deg, var(--teal), var(--orange));content:"";height:100%;display:block}.goal-runway .runway-marker{z-index:1;border:3px solid var(--surface);width:26px;height:26px;color:var(--accent-contrast);background:var(--blue);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 8px 16px #0f172a2e}.runway-start,.runway-end{color:var(--muted);font-size:.74rem;font-weight:850}.runway-labels{color:var(--muted);justify-content:space-between;font-size:.78rem;font-weight:750;display:flex}.auth-shell{min-height:100vh;font-family:var(--font-body);background:linear-gradient(135deg, #7dd3fc1f, transparent 38%), linear-gradient(315deg, #86efac1a, transparent 42%), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), linear-gradient(0deg, var(--grid-line-soft) 1px, transparent 1px), var(--bg);background-size:auto,auto,42px 42px,42px 42px,auto;grid-template-columns:minmax(320px,460px);justify-content:center;align-items:center;padding:28px;display:grid}.legal-shell{min-height:100vh;font-family:var(--font-body);background:linear-gradient(135deg, #0f3a2e1f, transparent 38%), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), linear-gradient(0deg, var(--grid-line-soft) 1px, transparent 1px), var(--bg);background-size:auto,42px 42px,42px 42px,auto;padding:28px;display:grid}.legal-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);width:min(100%,920px);box-shadow:var(--shadow);align-self:start;gap:20px;margin:0 auto;padding:28px;display:grid}.legal-content{gap:28px;display:grid}.legal-timestamp{color:var(--faint);margin:0;font-size:.78rem}.legal-content section{border-top:1px solid var(--border);gap:8px;padding-top:18px;display:grid}.legal-content h2{font-family:var(--font-display);margin:0;font-size:1.08rem}.legal-content p{max-width:74ch;color:var(--faint);margin:0;line-height:1.7}.legal-cta-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;display:flex}.legal-cta-hint{color:var(--muted);font-size:.86rem;font-family:var(--font-mono)}.auth-panel{gap:22px;padding:28px;display:grid}.auth-panel.compact-auth{gap:14px}.auth-heading-row{justify-content:space-between;gap:14px}.auth-tabs{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.auth-tabs button{width:100%}.backend-status{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.backend-status span{color:var(--chip-text);background:var(--chip-bg);text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:850}.backend-status.supabase span{color:var(--green);background:var(--success-soft)}.backend-status strong{min-width:0;color:var(--muted);font-size:.86rem}.form-error{color:var(--red);margin:0;font-weight:750}.form-notice{color:var(--green);margin:0;font-weight:750}.legal-disclaimer{color:var(--muted);margin:0;font-size:.82rem;line-height:1.6}.signup-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.turnstile-field{gap:8px;min-height:80px;display:grid}.turnstile-field>span{color:var(--label);font-size:.86rem;font-weight:750}.turnstile-field>div{min-height:65px}.legal-links{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:.82rem;display:flex}.legal-links button,.legal-disclaimer button{color:var(--blue);font:inherit;background:0 0;border:0;padding:0;font-weight:800}.legal-switch{justify-content:flex-end}.sidebar-legal{margin-top:-18px;padding:0 12px}.modal-backdrop{z-index:50;background:#0f172a6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);width:min(100%,440px);box-shadow:var(--shadow);gap:18px;padding:22px;display:grid}.confirm-modal h2{color:var(--text);margin:3px 0 8px;font-size:1.25rem;line-height:1.25}.confirm-modal span{color:var(--muted);line-height:1.5}.release-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000006b}.release-modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);width:min(100%,520px);box-shadow:var(--shadow);gap:18px;padding:20px;display:grid}.release-hero{align-items:flex-start;gap:14px;display:flex}.release-icon{border-radius:var(--radius);width:48px;height:48px;color:var(--accent-contrast);background:linear-gradient(135deg, var(--blue), var(--orange));justify-content:center;align-items:center;display:inline-flex}.release-modal h2{color:var(--text);font-family:var(--font-display);margin:2px 0 6px;font-size:1.55rem}.release-modal span{color:var(--muted);line-height:1.5}.release-list{gap:10px;display:grid}.release-list div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:4px;padding:12px;display:grid}.release-list strong{color:var(--text)}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.command-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000061}.command-palette{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);width:min(100%,560px);max-height:min(680px,86vh);box-shadow:var(--shadow);grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px;display:grid;overflow:hidden}.command-list{min-height:0}.command-header{gap:4px;padding:10px 10px 4px;display:grid}.command-header strong{font-family:var(--font-display);font-size:1.35rem}.command-list{gap:6px;display:grid;overflow-y:auto}.command-list button{border-radius:var(--radius);color:var(--text);text-align:left;background:0 0;border:1px solid #0000;gap:4px;padding:12px;display:grid}.command-list button:hover,.command-list button:focus-visible{border-color:var(--border);background:var(--hover-soft);outline:none}.command-list span{font-weight:850}.command-list em{color:var(--muted);font-size:.82rem;font-style:normal}.mobile-tabbar{display:none}.privacy-on .hero-copy strong,.privacy-on .hero-copy>span:not(.pill),.privacy-on .metric-card strong,.privacy-on .metric-card em,.privacy-on .account-balance-control input,.privacy-on .account-balance-control span,.privacy-on .donut-center strong,.privacy-on .legend-list em,.privacy-on .budget-row span,.privacy-on .goal-card>strong,.privacy-on .goal-meta span,.privacy-on .cashflow-sankey strong,.privacy-on .conversion-preview,.privacy-on td:nth-child(n+4){-webkit-text-security:disc;text-security:disc;transition:-webkit-text-security .18s}.privacy-on .hero-copy:hover strong,.privacy-on .hero-copy:hover>span:not(.pill),.privacy-on .metric-card:hover strong,.privacy-on .metric-card:hover em,.privacy-on .account-balance-control:hover input,.privacy-on .account-balance-control:hover span,.privacy-on .donut-wrap:hover .donut-center strong,.privacy-on .legend-list div:hover em,.privacy-on .budget-row:hover span,.privacy-on .goal-card:hover>strong,.privacy-on .goal-card:hover .goal-meta span,.privacy-on .cashflow-sankey:hover strong,.privacy-on label:hover .conversion-preview,.privacy-on tr:hover td:nth-child(n+4){-webkit-text-security:none;text-security:none}::view-transition-old(root){animation-duration:.46s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-new(root){animation-duration:.46s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-new(root){animation-name:themeReveal}.spin{animation:.9s linear infinite spin}@keyframes themeReveal{0%{clip-path:circle(0% at 94% 14%)}to{clip-path:circle(150% at 94% 14%)}}@keyframes quoteFlashUp{0%{background:#2f7d4c2e}to{background:0 0}}@keyframes quoteFlashDown{0%{background:#fb71852e}to{background:0 0}}@keyframes goalPulse{0%,to{opacity:.28;transform:scale(.98)}50%{opacity:.72;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.topbar-headline{gap:6px;min-width:0;display:grid}.meta-chip-row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.meta-chip{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);font-size:.84rem;line-height:1;font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.meta-chip em{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;font-style:normal;font-weight:800}.meta-chip strong{color:var(--text);font-weight:850}.meta-chip small{color:var(--muted);align-items:center;gap:4px;font-size:.72rem;font-weight:750;display:inline-flex}.meta-chip.clickable{cursor:pointer;transition:background .18s,border-color .18s}.meta-chip.clickable:hover:not(:disabled),.meta-chip.clickable:focus-visible{background:var(--hover-soft);border-color:var(--blue);outline:none}.meta-chip.clickable:disabled{cursor:not-allowed;opacity:.65}.user-menu{position:relative}.user-menu-trigger{border:1px solid var(--border);min-height:40px;color:var(--text);background:var(--surface);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 6px;font-weight:750;transition:border-color .18s,background .18s;display:inline-flex}.user-menu-trigger:hover,.user-menu-trigger:focus-visible,.user-menu-trigger.active{border-color:var(--blue);background:var(--accent-soft);outline:none}.user-menu-avatar{background:var(--blue);width:28px;height:28px;color:var(--accent-contrast);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.86rem;overflow:hidden}.user-menu-overlay{z-index:39;cursor:default;background:0 0;border:0;position:fixed;inset:0}.user-menu-panel{z-index:40;border:1px solid var(--border);background:var(--panel-bg);width:min(320px,92vw);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px;gap:0;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.user-menu-head{border-bottom:1px solid var(--border);gap:2px;padding:12px 12px 14px;display:grid}.user-menu-head strong{color:var(--text);font-size:.96rem;font-weight:850}.user-menu-head span{color:var(--muted);font-size:.78rem}.user-menu-section{border-bottom:1px solid var(--border);gap:2px;padding:8px 0;display:grid}.user-menu-section:last-child{border-bottom:0}.user-menu-row{width:100%;min-height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;font-weight:700;display:flex}.user-menu-row:hover,.user-menu-row:focus-visible,.user-menu-row.active{background:var(--hover-soft);outline:none}.user-menu-row.danger{color:var(--red)}.user-menu-row.danger:hover,.user-menu-row.danger:focus-visible{background:var(--danger-soft)}.user-menu-row.select-row{flex-wrap:wrap;gap:6px}.user-menu-row.select-row>span{color:var(--label);flex:none;font-size:.86rem}.user-menu-row.select-row select{min-width:0;min-height:32px;font-family:var(--font-mono);flex:1;padding:0 8px}.metric-card.interactive{cursor:pointer}.metric-card.interactive:hover,.metric-card.interactive:focus-visible{border-color:var(--blue);outline:none;box-shadow:0 24px 60px #2563eb1f}.trend.status.good{color:var(--green);background:var(--success-soft)}.trend.status.watch{color:var(--orange);background:var(--warning-soft)}.metric-distribution{gap:6px;display:grid}.metric-distribution-bar{background:var(--progress-bg);border-radius:999px;height:8px;display:flex;overflow:hidden}.metric-distribution-bar>span{height:100%;display:block}.metric-distribution-legend{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.72rem;font-weight:750;display:flex}.metric-distribution-legend i{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.insight-card .insight-body{align-items:start;gap:6px;display:grid}.insight-cta{border:1px solid var(--border);background:var(--surface);color:var(--blue);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;width:fit-content;margin-top:4px;padding:7px 12px;font-size:.82rem;font-weight:800;transition:background .18s,border-color .18s;display:inline-flex}.insight-cta:hover,.insight-cta:focus-visible{border-color:var(--blue);background:var(--accent-soft);outline:none}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.summary-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow);gap:6px;padding:16px 18px;display:grid}.summary-tile span{color:var(--label);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:800}.summary-tile strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-size:clamp(1.4rem,2vw,1.85rem);line-height:1.05}.summary-tile em{color:var(--muted);font-size:.82rem;font-style:normal}.summary-tile.primary{border-color:var(--blue);background:linear-gradient(135deg, var(--accent-soft), var(--panel-bg))}.summary-tile.primary strong{color:var(--blue)}.summary-tile.good{border-color:color-mix(in srgb, var(--green) 30%, var(--border))}.summary-tile.good strong{color:var(--green)}.summary-tile.watch{border-color:color-mix(in srgb, var(--orange) 30%, var(--border))}.summary-tile.watch strong{color:var(--orange)}.summary-tile.debt{border-color:color-mix(in srgb, var(--red) 28%, var(--border))}.summary-tile.debt strong{color:var(--red)}.summary-tile.muted strong{color:var(--muted)}.accounts-view,.markets-view,.dividends-view,.goals-view{gap:22px;min-width:0;display:grid}.panel-heading-actions{align-items:center;gap:10px;display:inline-flex}.account-group{gap:10px;margin-top:18px;display:grid}.account-group:first-of-type{margin-top:0}.account-group-heading{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding-bottom:6px;display:flex}.account-group-heading .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.account-group-heading strong{color:var(--text);flex:1;font-size:.95rem;font-weight:850}.account-group-heading em{color:var(--muted);font-style:normal;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.84rem}.editable-number.draft,.table-number-input.draft{border-color:var(--blue);background:var(--accent-soft);box-shadow:0 0 0 2px color-mix(in srgb, var(--blue) 18%, transparent)}.goal-style-section{border:1px dashed var(--border);background:color-mix(in srgb, var(--surface-soft) 70%, transparent);border-radius:14px;gap:10px;padding:12px;display:grid}.goal-style-preview{align-items:center;gap:10px;font-weight:700;display:inline-flex}.goal-style-preview-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.empty-state.with-cta{gap:10px;padding-top:28px;padding-bottom:28px}.empty-state.with-cta .primary-button{margin-top:6px}.modal-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);width:min(100%,520px);max-height:min(90vh,760px);box-shadow:var(--shadow);gap:16px;padding:22px;display:grid;overflow-y:auto}.modal-panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal-panel-heading h2{font-family:var(--font-display);margin:4px 0 0;font-size:1.4rem;line-height:1.2}.markets-toolbar{align-items:center;gap:12px;margin-bottom:14px;display:flex}.markets-search{border-radius:var(--radius);flex:1;align-items:center;max-width:320px;padding:0;display:inline-flex;position:relative}.markets-search svg{color:var(--muted);position:absolute;left:12px}.markets-search input{padding-left:36px}.markets-meta{color:var(--muted);font-size:.84rem;font-weight:750}.pledge-panel{gap:16px;display:grid}.pledge-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);align-items:start;gap:16px;display:grid}.pledge-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.pledge-metrics>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:5px;min-width:0;padding:12px;display:grid}.pledge-metrics span,.pledge-controls label{color:var(--label);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:850}.pledge-metrics strong{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:1.18rem;line-height:1.1}.pledge-metrics em{color:var(--muted);font-size:.8rem;font-style:normal}.pledge-controls{gap:10px;display:grid}.pledge-controls label{gap:6px;display:grid}.pledge-status,.pledge-tag,.pledge-value,.holding-weight{border-radius:999px;align-items:center;width:fit-content;max-width:100%;font-size:.7rem;font-weight:850;line-height:1.2;display:inline-flex}.pledge-status{background:var(--surface-soft);color:var(--muted);padding:5px 9px}.pledge-status.good{background:var(--success-soft);color:var(--green)}.pledge-status.watch{background:var(--warning-soft);color:var(--orange)}.pledge-status.danger{background:var(--danger-soft);color:var(--red)}.pledge-tag{background:var(--warning-soft);color:var(--orange);margin-top:5px;padding:3px 7px}.pledge-value,.holding-weight{color:var(--muted);font-family:var(--font-body);white-space:normal;margin-top:4px}.pledge-value.empty{color:var(--label)}.table-primary-number{font-family:var(--font-mono);font-variant-numeric:tabular-nums;display:block}.transaction-filter-select{width:auto;min-width:120px;min-height:36px;padding:0 28px 0 10px;font-size:.86rem}.recurring-toggle-block{border:1px dashed var(--border);background:color-mix(in srgb, var(--surface-soft) 70%, transparent);border-radius:14px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.recurring-toggle-label{color:var(--text);cursor:pointer;align-items:center;gap:10px;margin:0;font-weight:700;display:inline-flex}.recurring-toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.recurring-toggle-hint{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.recurring-table table{min-width:720px}.recurring-row-inactive td,.recurring-row-inactive strong{color:var(--muted)}.recurring-status-pill{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;font-weight:700;transition:filter .15s;display:inline-flex}.recurring-status-pill.active{background:color-mix(in srgb, var(--green) 18%, transparent);color:var(--green);border-color:color-mix(in srgb, var(--green) 35%, transparent)}.recurring-status-pill.paused{background:color-mix(in srgb, var(--muted) 18%, transparent);color:var(--muted);border-color:color-mix(in srgb, var(--muted) 35%, transparent)}.recurring-status-pill:hover{filter:brightness(1.08)}.recurring-account-hint{color:var(--muted);margin-top:4px;font-size:.76rem;display:block}.account-group.archived{opacity:.78}.account-row.archived-row{background:color-mix(in srgb, var(--surface-soft) 85%, transparent);border-style:dashed}.account-row.archived-row strong{color:var(--muted)}.sort-header{color:inherit;font:inherit;font-size:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-header.active{color:var(--blue)}.sort-header:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.column-header{align-items:center;gap:4px;display:inline-flex}.column-filter{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex;position:relative}.column-filter:hover,.column-filter.open{background:color-mix(in srgb, var(--blue) 14%, transparent);color:var(--blue)}.column-filter.active{color:var(--blue)}.column-filter-dot{background:var(--blue);border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px}.popover-panel.column-filter-panel{text-transform:none;letter-spacing:normal;width:min(300px,90vw);padding:6px;left:0;right:auto}th:last-child .popover-panel.column-filter-panel,th:nth-last-child(2) .popover-panel.column-filter-panel,th:nth-last-child(3) .popover-panel.column-filter-panel{left:auto;right:0}.popover-panel.column-filter-panel .column-filter-list{text-transform:none;letter-spacing:normal;gap:2px;max-height:280px;display:grid;overflow-y:auto}.popover-panel.column-filter-panel .column-filter-list button{width:100%;min-height:32px;color:var(--text);text-align:left;text-transform:none;letter-spacing:normal;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:.88rem;font-weight:500;line-height:1.35;transition:background .15s;display:block}.popover-panel.column-filter-panel .column-filter-list button:hover{background:var(--surface-soft)}.popover-panel.column-filter-panel .column-filter-list button.active{background:color-mix(in srgb, var(--blue) 18%, transparent);color:var(--blue);font-weight:700}.price-cell{align-items:center;gap:6px;display:inline-flex}.price-source{text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:850;font-family:var(--font-body);vertical-align:middle;border-radius:999px;align-items:center;margin-left:8px;padding:2px 6px;display:inline-flex}.price-source.auto{color:var(--blue);background:var(--accent-soft)}.price-source.manual{color:var(--orange);background:var(--warning-soft)}.price-source.none{color:var(--muted);background:var(--surface-soft)}.form-section-heading{color:var(--label);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:.86rem;font-weight:850}.holding-form{grid-template-columns:none;width:100%;display:block}.holding-form-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:10px;display:grid}.legal-content.release-notes{gap:24px}.legal-content.release-notes section{border:0;padding:0 0 0 96px;position:relative}.legal-content.release-notes section:not(:last-child):before{content:"";background:color-mix(in srgb, var(--text) 14%, transparent);pointer-events:none;width:1px;position:absolute;top:30px;bottom:-24px;left:42px}.legal-content.release-notes .release-date{background:color-mix(in srgb, var(--blue) 18%, transparent);min-width:84px;color:var(--blue);font-family:var(--mono-font);letter-spacing:.02em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex;position:absolute;top:2px;left:0}.legal-content.release-notes h2{margin:0 0 6px;font-size:1.05rem}.legal-content.release-notes p{color:var(--faint);margin:0;line-height:1.6}@media (width<=600px){.legal-content.release-notes section{padding:28px 0 0}.legal-content.release-notes section:before{display:none}.legal-content.release-notes .release-date{top:0}}.info-hint{color:var(--muted);align-items:flex-start;gap:8px;margin:0 0 14px;padding:8px 0;font-size:.82rem;line-height:1.5;display:flex}.info-hint>svg{color:var(--faint);opacity:.7;flex-shrink:0;margin-top:2px}.popover-anchor{display:inline-block;position:relative}.popover-panel{z-index:30;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);width:min(360px,90vw);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:12px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.popover-panel header{color:var(--text);align-items:center;gap:8px;font-weight:850;display:inline-flex}.popover-list{gap:10px;display:grid}.popover-list div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:4px;padding:10px;display:grid}.popover-list strong{color:var(--text);font-size:.9rem}.popover-list span{color:var(--muted);font-size:.82rem;line-height:1.5}.dashboard-grid.cashflow-bottom{grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr)}.cashflow-section{grid-template-columns:minmax(0,1fr);gap:22px;display:grid}@media (width>=1100px){.dashboard-grid>article.panel:nth-child(2):has(.compact-form){align-self:start;position:sticky;top:16px}}.modal-panel.transaction-modal,.modal-panel.holding-modal{width:min(100%,600px)}.sankey-source{color:var(--text);background:var(--surface);border:1px solid color-mix(in srgb, var(--green) 30%, var(--border));box-shadow:inset 4px 0 0 var(--green)}.sankey-source span{color:var(--muted)}.sankey-source strong{color:var(--green)}.goal-icon-button{cursor:pointer;border:0;transition:transform .18s}.goal-icon-button:hover,.goal-icon-button:focus-visible{outline:3px solid var(--accent-soft);transform:translateY(-1px)}.goal-warning{border:1px solid var(--danger-border);border-radius:var(--radius);background:var(--danger-bg);color:var(--red);align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:750;line-height:1.4;display:inline-flex}.runway-start,.runway-end{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;font-size:.74rem}.settings-alert.info{color:var(--blue);background:var(--accent-soft);border-color:color-mix(in srgb, var(--blue) 30%, var(--border))}.settings-card-input{gap:6px;width:100%;min-width:0;margin:0;display:grid}.settings-card-input strong{color:var(--text);font-size:.9rem}.settings-card-input span{color:var(--muted);font-size:.78rem;line-height:1.5}.settings-card.interactive{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;transition:border-color .18s,background .18s;display:grid}.settings-card.interactive:hover,.settings-card.interactive:focus-visible{border-color:var(--blue);background:var(--accent-soft);outline:none}.settings-card.interactive:disabled{cursor:not-allowed;opacity:.7}.settings-card.interactive strong{color:var(--text);font-size:.9rem}.settings-card.interactive span{color:var(--muted);font-size:.82rem}.settings-card-action{background:var(--surface);color:var(--blue);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.82rem;font-weight:750;display:inline-flex}.billing-summary{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:10px;padding:14px;display:grid}.billing-summary>div:first-child{gap:2px;display:grid}.billing-summary span{color:var(--muted);font-size:.78rem;font-weight:800}.billing-summary strong{color:var(--text);font-size:1.35rem}.billing-summary em{color:var(--muted);font-size:.86rem;font-style:normal;font-weight:700}.billing-usage{background:var(--progress-bg);border-radius:999px;height:8px;overflow:hidden}.billing-usage span{border-radius:inherit;background:var(--blue);height:100%;display:block}.billing-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.billing-plan-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-content:start;gap:10px;padding:14px;display:grid}.billing-plan-card.active{border-color:color-mix(in srgb, var(--blue) 48%, var(--border));background:var(--accent-soft)}.billing-plan-head,.billing-price-row,.billing-plan-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.billing-plan-head{justify-content:space-between}.billing-plan-head span,.billing-plan-head em,.billing-price-row em{color:var(--muted);font-size:.76rem;font-style:normal;font-weight:800}.billing-plan-card>strong{color:var(--text);font-size:1.12rem}.billing-price-row span{color:var(--text);font-weight:900}.billing-plan-summary{color:var(--blue);margin:0;font-size:.86rem;font-weight:850}.billing-plan-quota{border:1px solid color-mix(in srgb, var(--blue) 28%, var(--border));background:color-mix(in srgb, var(--blue) 9%, transparent);width:fit-content;color:var(--blue);border-radius:999px;align-items:center;padding:4px 8px;font-size:.76rem;font-weight:850;display:inline-flex}.billing-plan-card ul{min-height:116px;color:var(--muted);gap:6px;margin:0;padding-left:18px;font-size:.82rem;line-height:1.45;display:grid}.billing-plan-actions .primary-button,.billing-plan-actions .secondary-button{flex:88px;justify-content:center}.admin-view{gap:22px;min-width:0;display:grid}.admin-standalone-shell{background:var(--bg);min-height:100vh;color:var(--text);padding:24px}.admin-standalone-topbar{justify-content:space-between;align-items:center;gap:16px;width:min(100%,1480px);margin:0 auto 22px;display:flex}.admin-standalone-shell .admin-view{width:min(100%,1480px);margin:0 auto}.admin-local-banner{justify-content:space-between;align-items:center;gap:18px;display:flex}.admin-local-banner h2{font-family:var(--font-display);margin:2px 0 4px;font-size:1.35rem}.admin-local-banner span{color:var(--muted)}.admin-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.admin-toolbar .markets-search{flex:280px}.admin-toolbar .toolbar-select{width:min(100%,220px)}.admin-user-table table{min-width:1160px}.admin-user-table tr{cursor:pointer}.admin-user-table .row-selected td{background:var(--accent-soft)}.admin-badge{width:fit-content;color:var(--blue);background:var(--accent-soft);text-transform:uppercase;border-radius:999px;padding:2px 7px;font-weight:850;margin-top:6px!important;font-size:.68rem!important;display:inline-flex!important}.admin-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px;display:grid}.admin-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.admin-kpi-grid div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);gap:4px;min-width:0;padding:12px;display:grid}.admin-kpi-grid span{color:var(--muted);font-size:.76rem;font-weight:800}.admin-kpi-grid strong{color:var(--text);font-family:var(--font-mono);font-size:1.05rem}.admin-subscription-form{margin-top:16px}.admin-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-actions button{flex:160px}@media (width<=760px){.admin-standalone-shell{padding:14px}.admin-standalone-topbar,.admin-local-banner{flex-direction:column;align-items:stretch}.billing-plan-grid{grid-template-columns:1fr}.billing-plan-card ul{min-height:0}}.feedback-toggle-label{align-self:stretch}.feedback-toggle-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:12px;padding:10px 12px;display:flex}.feedback-toggle-row>div{flex:1;gap:2px;display:grid}.feedback-toggle-row strong{color:var(--text);font-size:.92rem}.feedback-toggle-row span{color:var(--muted);font-size:.78rem}.toggle-switch{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;border-radius:999px;align-items:center;width:42px;height:24px;padding:2px;transition:background .18s,border-color .18s;display:inline-flex;position:relative}.toggle-switch span{background:var(--muted);border-radius:50%;width:18px;height:18px;transition:transform .18s,background .18s;display:block;transform:translate(0)}.toggle-switch.on{background:var(--accent-soft);border-color:var(--blue)}.toggle-switch.on span{background:var(--blue);transform:translate(18px)}.feedback-list{gap:10px;margin-top:14px;display:grid}.feedback-post{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);transition:border-color .18s;overflow:hidden}.feedback-post.expanded{border-color:var(--blue)}.feedback-post.pinned{border-left:3px solid var(--orange)}.feedback-post-head{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:6px;padding:14px 16px;display:grid}.feedback-post-head:hover,.feedback-post-head:focus-visible{background:var(--hover-soft);outline:none}.feedback-post-head strong{color:var(--text);font-size:1rem}.feedback-post-tags{flex-wrap:wrap;gap:6px;display:flex}.feedback-tag{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.feedback-tag.kind-bug{color:var(--red);background:var(--danger-soft);border-color:var(--danger-border)}.feedback-tag.kind-feature{color:var(--blue);background:var(--accent-soft);border-color:color-mix(in srgb, var(--blue) 30%, var(--border))}.feedback-tag.kind-question{color:var(--violet);background:color-mix(in srgb, var(--violet) 18%, var(--surface));border-color:color-mix(in srgb, var(--violet) 30%, var(--border))}.feedback-tag.status-shipped{color:var(--green);background:var(--success-soft);border-color:color-mix(in srgb, var(--green) 30%, var(--border))}.feedback-tag.status-planned,.feedback-tag.status-in_progress{color:var(--orange);background:var(--warning-soft);border-color:color-mix(in srgb, var(--orange) 30%, var(--border))}.feedback-tag.status-wont_do{color:var(--muted);background:var(--surface-strong)}.feedback-tag.private,.feedback-tag.self{color:var(--muted);background:var(--surface)}.feedback-post-meta{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:.78rem;display:flex}.feedback-post-body{border-top:1px solid var(--border);gap:12px;padding:0 16px 16px;display:grid}.feedback-prose{color:var(--label);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.6}.feedback-section{border-radius:var(--radius);background:var(--surface);gap:4px;padding:10px 12px;display:grid}.feedback-section strong{color:var(--text);font-size:.82rem}.feedback-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.feedback-status-control{color:var(--label);align-items:center;gap:8px;font-size:.82rem;display:inline-flex}.feedback-status-control select{width:auto;min-height:32px;padding:0 28px 0 10px}.feedback-replies{gap:8px;display:grid}.feedback-reply{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:10px 12px}.feedback-reply.admin{border-color:color-mix(in srgb, var(--blue) 35%, var(--border));background:var(--accent-soft)}.feedback-reply-head{align-items:center;gap:8px;margin-bottom:4px;font-size:.78rem;display:flex}.feedback-reply-head strong{color:var(--text)}.feedback-reply.admin .feedback-reply-head strong{color:var(--blue)}.feedback-reply-head span{color:var(--muted);flex:1}.feedback-reply-form{border-top:1px solid var(--border);gap:8px;padding-top:10px;display:grid}.feedback-reply-form textarea{resize:vertical;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--input-bg);color:var(--text);padding:8px 10px}.feedback-reply-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.feedback-admin-toggle{color:var(--label);align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.feedback-admin-toggle input[type=checkbox]{width:auto;min-height:auto}textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--input-bg);width:100%;min-height:80px;color:var(--text);font:inherit;resize:vertical;padding:8px 11px}@media (width<=1220px){.app-shell,.hero-grid{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;height:auto;position:static;overflow-x:auto}.side-nav{flex:1;min-width:max-content;display:flex}.user-card{min-width:220px;margin-top:0}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.dashboard-grid,.hero-grid,.bento-grid,.goal-grid,.auth-shell{grid-template-columns:1fr}.dashboard-grid.cashflow-bottom{grid-template-columns:minmax(0,1fr)}.bento-grid>.panel,.bento-grid>.panel.wide{grid-column:auto}.cashflow-sankey,.admin-summary,.admin-detail-grid{grid-template-columns:1fr}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-actions{display:grid}.pledge-grid,.pledge-metrics{grid-template-columns:1fr}.holding-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.dashboard,.auth-shell,.legal-shell{padding:16px}.legal-panel{padding:18px}.sidebar{padding:14px}.app-shell{display:block}.sidebar{display:none}.dashboard{padding-bottom:96px}.mobile-tabbar{z-index:40;border:1px solid var(--border);background:var(--panel-bg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:6px;display:grid;position:fixed;bottom:12px;left:12px;right:12px}.mobile-tabbar button{min-height:50px;color:var(--muted);background:0 0;border:0;border-radius:14px;place-items:center;display:grid}.mobile-tabbar button span{font-size:.72rem}.mobile-tabbar button.active{color:var(--blue);background:var(--hover-soft)}.topbar,.panel-heading,.budget-row{flex-direction:column;align-items:flex-start}.panel-heading-actions{flex-wrap:wrap;width:100%;display:flex}.panel-heading-actions .primary-button,.panel-heading-actions .secondary-button,.panel-heading-actions .pill{flex:auto;justify-content:center}.topbar-actions,.segmented{width:100%}.topbar-actions{justify-content:flex-start}.toolbar-select{grid-template-columns:auto minmax(0,1fr);width:100%}.markets-toolbar,.admin-local-banner,.admin-toolbar{flex-direction:column;align-items:stretch}.admin-toolbar .toolbar-select{width:100%}.markets-search{width:100%;max-width:none}.markets-meta{align-self:flex-start}.holdings-table,.dividend-table,.transaction-table,.recurring-table{background:0 0;border:0;border-radius:0;overflow-x:visible}.holdings-table table,.dividend-table table,.transaction-table table,.recurring-table table{background:0 0;min-width:0;display:block}.holdings-table thead,.dividend-table thead,.transaction-table thead,.recurring-table thead{display:none}.holdings-table tbody,.dividend-table tbody,.transaction-table tbody,.recurring-table tbody{gap:12px;display:grid}.holdings-table tr,.dividend-table tr,.transaction-table tr,.recurring-table tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--table-bg);display:grid;overflow:hidden}.holdings-table td,.dividend-table td,.transaction-table td,.recurring-table td{border-bottom:1px solid var(--border);text-align:right;overflow-wrap:anywhere;grid-template-columns:92px minmax(0,1fr);gap:6px 10px;min-width:0;padding:10px 12px;display:grid}.holdings-table td:last-child,.dividend-table td:last-child,.transaction-table td:last-child,.recurring-table td:last-child{border-bottom:0}.holdings-table td:before,.dividend-table td:before,.transaction-table td:before,.recurring-table td:before{color:var(--label);text-align:left;text-transform:uppercase;letter-spacing:.04em;grid-area:1/1/span 6;font-size:.72rem;font-weight:850}.holdings-table td>*,.dividend-table td>*,.transaction-table td>*,.recurring-table td>*{grid-column:2;justify-self:end;min-width:0}.holdings-table td strong,.holdings-table td span,.dividend-table td strong,.dividend-table td span,.transaction-table td strong,.transaction-table td span,.recurring-table td strong,.recurring-table td span{white-space:normal;overflow-wrap:anywhere}.holdings-table .inline-edit-display,.dividend-table .inline-edit-display,.transaction-table .inline-edit-display,.recurring-table .inline-edit-display{text-align:right;justify-self:end;max-width:100%}.transaction-table .inline-edit-display.text-left,.recurring-table .inline-edit-display.text-left{text-align:right}.holdings-table .action-col .row-actions,.transaction-table .action-col .row-actions,.recurring-table .row-actions{justify-content:flex-end;width:auto}.transaction-table .select-col input{justify-self:end}.holdings-table td[colspan],.dividend-table td[colspan],.transaction-table td[colspan],.recurring-table td[colspan]{text-align:left;display:block}.holdings-table td[colspan]:before,.dividend-table td[colspan]:before,.transaction-table td[colspan]:before,.recurring-table td[colspan]:before{display:none}.holdings-table td:first-child:before{content:"標的"}.holdings-table td:nth-child(2):before{content:"市場"}.holdings-table td:nth-child(3):before{content:"帳戶"}.holdings-table td:nth-child(4):before{content:"數量"}.holdings-table td:nth-child(5):before{content:"質押"}.holdings-table td:nth-child(6):before{content:"均價"}.holdings-table td:nth-child(7):before{content:"現價"}.holdings-table td:nth-child(8):before{content:"漲跌"}.holdings-table td:nth-child(9):before{content:"市值"}.holdings-table td:nth-child(10):before{content:"損益"}.holdings-table td:nth-child(11):before{content:"操作"}.dividend-table td:first-child:before{content:"標的"}.dividend-table td:nth-child(2):before{content:"現價"}.dividend-table td:nth-child(3):before{content:"現金股利"}.dividend-table td:nth-child(4):before{content:"股票股利"}.dividend-table td:nth-child(5):before{content:"實領現金"}.dividend-table td:nth-child(6):before{content:"殖利率"}.dividend-table td:nth-child(7):before{content:"時程"}.transaction-table td:first-child:before{content:"選取"}.transaction-table td:nth-child(2):before{content:"日期"}.transaction-table td:nth-child(3):before{content:"類型"}.transaction-table td:nth-child(4):before{content:"分類"}.transaction-table td:nth-child(5):before{content:"說明"}.transaction-table td:nth-child(6):before{content:"金額"}.transaction-table td:nth-child(7):before{content:"帳戶"}.transaction-table td:nth-child(8):before{content:"來源"}.transaction-table td:nth-child(9):before{content:"操作"}.recurring-table td:first-child:before{content:"狀態"}.recurring-table td:nth-child(2):before{content:"名稱"}.recurring-table td:nth-child(3):before{content:"類型"}.recurring-table td:nth-child(4):before{content:"金額"}.recurring-table td:nth-child(5):before{content:"頻率"}.recurring-table td:nth-child(6):before{content:"下次"}.recurring-table td:nth-child(7):before{content:"結束"}.recurring-table td:nth-child(8):before{content:"操作"}.settings-layout,.settings-grid,.settings-card.with-action,.forwarding-box,.equity-award-row{grid-template-columns:1fr}.equity-award-value,.equity-award-menu{justify-self:end}.espp-detail{width:100%;padding:8px}.espp-detail-grid{gap:6px}.espp-detail-cell{padding:8px}.espp-detail-row.highlight{grid-template-columns:minmax(0,1fr) auto}.espp-detail-row.highlight .espp-detail-meta{white-space:normal;text-align:right;grid-column:1/-1;justify-self:end}.espp-salary-grid{grid-template-columns:1fr}.settings-card.with-action .settings-card-icon{display:none}.form-row,.budget-inputs,.quote-source-form,.holding-form,.transaction-form{grid-template-columns:1fr}.transaction-form label:last-of-type{grid-column:auto}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{gap:8px;padding:12px}.metric-icon{width:32px;height:32px}.trend{width:24px;height:24px}.metric-card strong{font-size:1.05rem}.mini-sparkline{height:24px}.hero-panel{min-height:380px;padding:18px}.hero-copy strong{font-size:clamp(2rem,13vw,3.2rem)}.hero-chart{margin-top:32px}.dividend-cashflow-topline,.dividend-cashflow-caption{flex-direction:column;align-items:stretch}.dividend-cashflow-panel{padding:12px}.dividend-cashflow-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.segmented{overflow-x:auto}.segmented button{flex:1 0 auto}.account-row{grid-template-columns:18px 42px minmax(0,1fr)}.budget-row .row-actions{justify-content:space-between;width:100%}.budget-row span,.signal span{white-space:normal;overflow-wrap:anywhere}.account-balance-control{grid-column:2/-1;grid-template-columns:minmax(0,1fr) minmax(0,auto) repeat(3,36px);justify-content:stretch;column-gap:6px}.account-balance-control .icon-button{width:36px;min-width:36px;height:36px}}@media (width<=480px){.account-balance-control{grid-template-columns:minmax(0,1fr) repeat(3,32px);grid-auto-rows:auto;row-gap:6px}.account-balance-control>span{text-align:right;grid-column:1/-1}.account-balance-control .icon-button{width:32px;min-width:32px;height:32px}}
