:root{--font-sans:"Manrope","Segoe UI",sans-serif;--font-display:"Sora","Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SFMono-Regular",monospace;--background:#f6f4ef;--background-elevated:rgba(255,255,255,0.9);--surface:rgba(255,255,255,0.74);--surface-strong:rgba(255,255,255,0.9);--surface-raised:#fffdf8;--surface-muted:rgba(246,241,234,0.92);--foreground:#171717;--muted-foreground:#5c5b57;--subtle-foreground:#7b7770;--border:rgba(55,53,47,0.12);--border-strong:rgba(55,53,47,0.2);--accent:#dd6b20;--accent-strong:#b45309;--accent-soft:rgba(221,107,32,0.1);--brand:#0f766e;--brand-strong:#115e59;--brand-soft:rgba(15,118,110,0.1);--warm:#c2410c;--success:#166534;--danger:#b42318;--warning:#b45309;--ring:rgba(221,107,32,0.28);--shadow-sm:0 10px 30px rgba(24,21,17,0.06);--shadow:0 24px 60px rgba(24,21,17,0.12);--shadow-lg:0 32px 90px rgba(24,21,17,0.18);--radius-sm:14px;--radius-md:20px;--radius-lg:28px;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--bg:var(--background);--panel:var(--surface);--panel-strong:var(--surface-strong);--ink:var(--foreground);--muted:var(--muted-foreground)}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%;scroll-behavior:smooth}body{color:var(--foreground);font-family:var(--font-sans);line-height:1.5;background:radial-gradient(circle at top left,rgba(15,118,110,.12),transparent 28rem),radial-gradient(circle at top center,rgba(221,107,32,.12),transparent 32rem),linear-gradient(180deg,#fbfaf6,#f1ede4 52%,#ece7de);font-synthesis-weight:none;text-rendering:optimizeLegibility}a{color:inherit;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}button,input,select,textarea{font:inherit}a,button,input,select,textarea{transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring)}::selection{background:rgba(221,107,32,.18)}.app-shell{width:min(1540px,calc(100vw - 32px));margin:0 auto;padding:18px 0 40px;display:grid;grid-gap:20px;gap:20px}.app-shell-wide{width:min(1960px,calc(100vw - 24px))}.app-shell-fluid{width:min(100vw - 24px,1960px)}.app-header,.hero,.surface{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,252,245,.72));box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-width:0}.app-header{padding:18px 20px;position:-webkit-sticky;position:sticky;top:14px;z-index:20;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(252,249,242,.82));border-color:rgba(55,53,47,.1);box-shadow:var(--shadow-lg)}.app-header-top,.hero-head,.nav-row,.pill-row,.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.brand{gap:14px;text-decoration:none}.brand,.brand-mark{display:inline-flex;align-items:center}.brand-mark{width:48px;height:48px;border-radius:16px;justify-content:center;background:linear-gradient(135deg,var(--accent) 0,var(--brand-strong) 100%);color:#fff;font-weight:800;letter-spacing:.1em;box-shadow:inset 0 1px 1px rgba(255,255,255,.22)}.brand-copy{display:grid;grid-gap:3px;gap:3px}.brand-copy strong{font-family:var(--font-display);font-size:1.02rem;letter-spacing:-.01em}.brand-copy span,.muted,.subtle{color:var(--muted-foreground)}.nav-row{margin-top:16px;padding-top:16px;border-top:1px solid rgba(55,53,47,.08)}.nav-scroller{width:100%;overflow-x:auto;padding-bottom:2px}.nav-pill-row{width:max-content;min-width:100%}.chip,.link-chip,.nav-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.72);text-decoration:none;font-weight:700;box-shadow:0 1px 0 rgba(255,255,255,.5)}.chip--warn{border-color:#d97706;background:rgba(251,191,36,.15);color:#92400e}.chip--warn .muted{color:#b45309}.nav-link.active{background:linear-gradient(135deg,var(--foreground),#2d2a26);color:#fff;border-color:transparent;box-shadow:0 12px 26px rgba(23,23,23,.18)}.chip:hover,.link-chip:hover,.nav-link:hover{border-color:var(--border-strong);background:rgba(255,255,255,.88);transform:translateY(-1px)}.hero,.surface{padding:22px}.hero h1,.surface h2,.surface h3{margin:0;font-family:var(--font-display);letter-spacing:-.03em}.hero h1{font-size:clamp(2.2rem,4vw,4rem);line-height:.98;max-width:14ch}.hero-copy{display:grid;grid-gap:.3rem;gap:.3rem}.hero p{max-width:68ch;margin:10px 0 0;font-size:1rem}.surface-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.dashboard-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(3,1fr)}.surface-span-full{grid-column:1/-1}.surface-span-2{grid-column:span 2}@media (max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.dashboard-grid{grid-template-columns:1fr}}.data-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat{border:1px solid var(--border);border-radius:18px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,248,243,.84));box-shadow:var(--shadow-sm)}.stat strong{display:block;margin-top:6px;font-size:1.4rem;letter-spacing:-.02em}.list{display:grid;grid-gap:10px;gap:10px}.list-card{display:grid;grid-gap:4px;gap:4px;padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--panel-strong);text-decoration:none;box-shadow:var(--shadow-sm)}.list-card:hover{transform:translateY(-1px);border-color:var(--border-strong)}.table-wrap{overflow-x:auto;max-width:100%;border-radius:20px;border:1px solid rgba(55,53,47,.08);background:rgba(255,255,255,.55)}.rank-table-body-wrap{border-top-left-radius:0;border-top-right-radius:0;border-top:0}.rank-table-head-shell{position:-webkit-sticky;position:sticky;top:188px;z-index:18;margin-top:8px}.rank-table-head-viewport{overflow:hidden;border:1px solid rgba(55,53,47,.08);border-bottom:0;border-radius:20px 20px 0 0;background:rgba(251,248,241,.98);box-shadow:var(--shadow)}.rank-table thead th{background:rgba(251,248,241,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 -1px 0 rgba(64,49,37,.08)}.rank-table-sticky-clone{min-width:900px;background:transparent}.rank-table-body{margin-top:0}.surface-loading-shell,.table-loading-shell{position:relative}.surface-loading-shell.is-loading,.table-loading-shell.is-loading .table-wrap{pointer-events:none}.table-loading-shell.is-loading .table-wrap{filter:saturate(.88) blur(.6px)}.loading-scrim{position:absolute;inset:0;display:grid;place-items:center;padding:18px;background:rgba(246,244,239,.66);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:4}.loading-scrim.loading-scrim-floating{position:fixed;inset:auto;top:92px;left:50%;transform:translateX(-50%);padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:40;pointer-events:none}.loading-scrim.loading-scrim-floating .loading-scrim-card{min-width:min(100vw - 32px,320px);border-radius:999px;padding:12px 16px}.loading-scrim-card{min-width:min(100%,240px);display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:16px 18px;border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,.96);box-shadow:var(--shadow);text-align:center}.loading-scrim-spinner{width:26px;height:26px;border-radius:999px;border:3px solid rgba(15,118,110,.16);border-top:3px solid var(--accent);animation:loading-scrim-spin .9s linear infinite}@keyframes loading-scrim-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}table{width:100%;min-width:900px;border-collapse:collapse;background:transparent}td,th{padding:12px 10px;border-bottom:1px solid rgba(64,49,37,.08);text-align:left;vertical-align:top}tbody tr:hover td{background:rgba(255,255,255,.24)}.drawdown-alert-cell{background:rgba(190,24,93,.12);color:#8f1239;font-weight:700}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:800}.code,code,pre{font-family:var(--font-mono)}pre{margin:0}.rank-controls-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.portfolio-hero{display:grid;grid-gap:16px;gap:16px}.portfolio-manager-topbar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between}.portfolio-manager-picker{display:grid;grid-gap:6px;gap:6px;min-width:min(100%,320px);font-size:.92rem;font-weight:600}.portfolio-manager-picker select{width:100%;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.96);color:var(--ink);font:inherit;padding:11px 12px}.badge-row,.button-row,.chart-legend,.portfolio-button-row,.portfolio-chart-header,.portfolio-chart-toolbar,.portfolio-manager-layout,.range-row,.tooltip-label,.tooltip-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.drift-grid,.portfolio-controls,.portfolio-detail-grid,.portfolio-form-grid,.portfolio-inline-panel,.portfolio-manager-actions,.portfolio-manager-sections,.portfolio-manager-stack,.portfolio-metric-grid,.section-grid{display:grid;grid-gap:16px;gap:16px}.portfolio-manager-actions{grid-template-columns:repeat(auto-fit,minmax(160px,max-content));justify-content:start}.portfolio-detail-label{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portfolio-description-block{display:grid;grid-gap:8px;gap:8px;padding:14px 16px;border-radius:18px;border:1px solid rgba(31,26,23,.08);background:rgba(255,255,255,.4)}.portfolio-description-block p{margin:0;font-size:1rem;font-weight:500}.portfolio-inline-panel{padding:18px;border-radius:20px;border:1px solid rgba(15,118,110,.14);background:rgba(255,255,255,.55)}.portfolio-controls,.portfolio-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.portfolio-button-row{align-items:end}.portfolio-control-stack{display:grid;grid-gap:10px;gap:10px;align-self:end}.portfolio-manage-link{justify-self:start;color:var(--accent);background:rgba(15,118,110,.08)}.portfolio-back-link{justify-self:start;width:-moz-fit-content;width:fit-content}.portfolio-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.portfolio-toolbar-button{border:0;border-radius:999px;padding:11px 16px;background:var(--accent);color:#fff;cursor:pointer;font:inherit;font-weight:700}.portfolio-toolbar-button.secondary{background:rgba(31,26,23,.12);color:var(--ink)}.portfolio-toolbar-button:disabled{opacity:.6;cursor:not-allowed}.portfolio-manage-link svg{flex:0 0 auto}.portfolio-collapsible summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-family:var(--font-display);font-size:1.5rem;font-weight:700;list-style:none}.portfolio-collapsible summary::-webkit-details-marker{display:none}.portfolio-span-full{grid-column:1/-1}.portfolio-manager-layout{align-items:flex-start}.portfolio-manager-layout>*{flex:1 1 480px}.portfolio-manager-sections,.portfolio-transactions-surface{margin-top:16px}.portfolio-manager-stack{min-width:0}.portfolio-controls label,.portfolio-form-grid label{display:grid;grid-gap:6px;gap:6px;font-size:.92rem;font-weight:600}.portfolio-controls input,.portfolio-controls select,.portfolio-form-grid input,.portfolio-form-grid select,.portfolio-form-grid textarea{width:100%;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.96);color:var(--ink);font:inherit;padding:11px 12px}.portfolio-form-grid textarea{min-height:90px;resize:vertical}.portfolio-inline-input{width:100%;min-width:110px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.98);color:var(--ink);font:inherit;padding:8px 10px}.exit-policy-scope-note{margin:10px 0 0}.exit-presets-panel{margin-top:14px;padding:16px 18px 18px;border:1px solid rgba(15,118,110,.12);border-radius:22px;background:radial-gradient(circle at top left,rgba(15,118,110,.08),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,248,243,.88))}.exit-presets-summary{cursor:pointer;font-weight:800;font-family:var(--font-display);letter-spacing:-.02em}.exit-presets-copy{margin:10px 0 0;max-width:90ch}.exit-preset-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-gap:12px;gap:12px}.exit-preset-card{display:grid;grid-gap:10px;gap:10px;padding:14px 16px;border-radius:18px;border:1px solid rgba(55,53,47,.08);background:rgba(255,255,255,.7);box-shadow:var(--shadow-sm)}.exit-policy-editor-actions,.exit-preset-actions,.exit-preset-card-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.exit-preset-card-copy{display:grid;grid-gap:2px;gap:2px}.exit-preset-actions{justify-content:flex-end}.exit-policy-editor-actions{justify-content:flex-start}.exit-preset-trigger-summary{margin:0;font-size:.92rem}.exit-policy-editor{display:grid;grid-gap:14px;gap:14px;margin-top:16px}.exit-threshold-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.exit-threshold-grid-compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end}.exit-threshold-field{display:grid;grid-gap:6px;gap:6px;font-size:.76rem}.exit-threshold-field-name{max-width:260px}.exit-threshold-field input{width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.98);color:var(--ink);font:inherit;padding:9px 10px}.exit-threshold-field.is-readonly input{background:var(--surface-muted);cursor:not-allowed}.exit-policy-mini-button{border:1px solid rgba(55,53,47,.12);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.96);color:var(--ink);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;box-shadow:var(--shadow-sm)}.exit-policy-mini-button:hover{transform:translateY(-1px);border-color:var(--border-strong)}.exit-policy-mini-button.danger{color:var(--danger);border-color:rgba(180,35,24,.18);background:rgba(180,35,24,.06)}.exit-policy-table th:first-child{width:12%}.exit-policy-table th:nth-child(2){width:22%}.exit-policy-symbol-cell strong{letter-spacing:.01em}.button-row button,.portfolio-button-row button,.range-row .chip,.th-button{font:inherit}.button-row button,.portfolio-button-row button{border:0;border-radius:999px;padding:11px 16px;background:var(--accent);color:#fff;cursor:pointer;font-weight:700}.button-row button.secondary,.portfolio-button-row button.secondary{background:rgba(31,26,23,.12);color:var(--ink)}.button-row button.danger,.portfolio-button-row button.danger{background:#b42318;color:#fff}.button-row button:disabled,.portfolio-button-row button:disabled{cursor:wait;opacity:.72}.badge{border-radius:999px;padding:6px 12px;background:rgba(15,118,110,.1);color:var(--accent);font-size:.82rem;font-weight:700}.warning{border-left:4px solid #c96b17;border-radius:14px;padding:10px 12px;background:rgba(201,107,23,.1)}.status-banner{display:none;border-radius:14px;padding:11px 13px;border:1px solid transparent;font-weight:600}.status-banner.is-visible{display:block}.status-banner.info{background:rgba(15,118,110,.1);border-color:rgba(15,118,110,.18);color:var(--accent)}.status-banner.success{background:rgba(22,101,52,.1)}.status-banner.error{background:rgba(180,35,24,.1);border-color:rgba(180,35,24,.18);color:#b42318}.status-toast{position:fixed;right:18px;bottom:18px;z-index:60;max-width:min(420px,calc(100vw - 32px));padding:12px 14px;border-radius:16px;border:1px solid rgba(55,53,47,.14);background:rgba(32,29,24,.94);color:#fff;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.status-toast.is-visible{opacity:1;transform:translateY(0)}.status-toast.success{background:rgba(22,101,52,.96)}.status-toast.error{background:rgba(180,35,24,.96)}.status-toast.info{background:rgba(15,118,110,.96)}.portfolio-metric-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.portfolio-metric-card{background:var(--panel-strong);border:1px solid rgba(64,49,37,.08);border-radius:20px;padding:18px}.portfolio-metric-card .label{color:var(--muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.portfolio-metric-card .value{margin-top:8px;font-size:1.8rem;font-weight:700}.portfolio-metric-card .meta{margin-top:8px;color:var(--muted);font-size:.9rem}.chart-shell{display:grid;grid-gap:14px;gap:14px}.portfolio-chart-header{justify-content:space-between}.portfolio-chart-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:flex-end}.range-row .chip{cursor:pointer}.range-row .chip.is-active{background:var(--ink);color:#fff}.chart-box{position:relative;border-radius:24px;border:1px solid rgba(64,49,37,.08);background:rgba(255,255,255,.78);padding:16px}.chart-box svg{display:block;width:100%;height:360px}.legend-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.88);font-size:.9rem}.legend-swatch{width:10px;height:10px;border-radius:999px;display:inline-block}.chart-note{margin:12px 0 0;color:var(--muted)}.chart-tooltip{display:none;position:absolute;left:16px;top:16px;width:min(280px,calc(100% - 32px));border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,.96);box-shadow:var(--shadow);padding:14px;pointer-events:none;z-index:2}.chart-tooltip.is-visible{display:block}.holdings-pie-panel{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);grid-gap:22px;gap:22px;align-items:center;margin-top:16px;padding:18px;border:1px solid rgba(64,49,37,.08);border-radius:24px;background:radial-gradient(circle at top left,rgba(15,118,110,.08),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,248,244,.9))}.holdings-pie-chart-wrap{display:grid;place-items:center}.holdings-pie-chart{width:min(100%,280px);height:auto;display:block}.holdings-pie-center-label{fill:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.holdings-pie-center-value{fill:var(--ink);font-size:1.55rem;font-weight:800}.holdings-pie-legend{display:grid;grid-gap:10px;gap:10px}.holdings-pie-legend-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(64,49,37,.06)}.holdings-pie-legend-label,.holdings-pie-legend-values{display:flex;align-items:center;gap:10px}.holdings-pie-legend-label{font-weight:700}.holdings-pie-legend-values{flex-wrap:wrap;justify-content:flex-end;color:var(--muted);font-size:.92rem}.holdings-pie-swatch{width:12px;height:12px}.tooltip-date,.tooltip-section-title{font-weight:700}.tooltip-copy,.tooltip-event,.tooltip-note{margin-top:8px;color:var(--muted);font-size:.9rem}.tooltip-row{margin-top:10px}.tooltip-value{font-weight:700}.portfolio-table .th-button{border:0;background:transparent;color:inherit;cursor:pointer;font-weight:700;letter-spacing:inherit;padding:0;text-transform:inherit}.watchlist-shell{width:min(100%,calc(100vw - 24px))}.watchlist-table-wrap{width:100%;overflow:visible}.watchlist-table{width:100%;min-width:0;table-layout:fixed;font-size:clamp(.68rem,.58rem + .22vw,.82rem)}.watchlist-table .th-button{border:0;background:transparent;color:inherit;cursor:pointer;font-weight:700;letter-spacing:inherit;padding:0;text-transform:inherit}.watchlist-table td,.watchlist-table th{min-width:0;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.watchlist-controls{align-items:end}.watchlist-memberships{display:flex;flex-wrap:wrap;gap:6px}.watchlist-empty-state{display:grid;grid-gap:12px;gap:12px}.watchlist-inline-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.watchlist-symbol-entry{position:relative;min-width:min(360px,100%);flex:1 1 320px}.watchlist-create-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.watchlist-inline-actions .rank-column-config{margin-right:4px}.watchlist-inline-input{width:min(180px,100%);border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--panel-strong);color:var(--ink);font:inherit}.watchlist-symbol-entry .watchlist-inline-input{width:100%}.watchlist-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;display:grid;grid-gap:6px;gap:6px;padding:8px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,white 6%);box-shadow:0 14px 30px rgba(15,23,42,.14)}.watchlist-search-result{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font:inherit}.watchlist-search-result:hover{background:color-mix(in srgb,var(--panel-strong) 72%,white 28%)}.watchlist-inline-button{border:0;border-radius:999px;padding:12px 18px;background:var(--ink);color:#fff;cursor:pointer;font:inherit;font-weight:700}.watchlist-inline-button:disabled{opacity:.6;cursor:wait}.watchlist-inline-button-destructive{background:#b42318}.watchlist-inline-button-destructive:hover:not(:disabled){background:#991b1b}.watchlist-action-cell{width:1%;white-space:nowrap;text-align:right}.watchlist-delete-button{width:32px;height:32px;border:1px solid rgba(154,52,18,.18);border-radius:999px;background:rgba(154,52,18,.08);color:#9a3412;cursor:pointer;font-size:1.1rem;font-weight:700;line-height:1}.watchlist-delete-button:disabled{opacity:.55;cursor:wait}.watchlist-loading-metric{display:inline-flex;align-items:center;gap:8px;min-height:1.2em;color:var(--muted);font-size:.82em}.watchlist-loading-spinner{width:.85em;height:.85em;border-radius:999px;border:2px solid rgba(15,118,110,.18);border-top:2px solid var(--accent);animation:loading-scrim-spin .9s linear infinite;flex:0 0 auto}.watchlist-loading-label{line-height:1}.symbol-link{color:var(--accent);font-weight:700;text-decoration:none}.tv-hover-trigger{display:inline-flex;align-items:center;min-width:0}.tv-mini-chart-tooltip{position:fixed;width:332px;min-height:236px;border:1px solid rgba(31,26,23,.12);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 20px 44px rgba(31,26,23,.18);padding:12px;z-index:50}.tv-mini-chart-tooltip__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:.86rem}.tv-mini-chart-tooltip__header span{color:var(--muted);font-weight:700;letter-spacing:.06em}.tv-mini-chart-tooltip__body,.tv-mini-chart-tooltip__widget{width:100%;height:190px}.tv-mini-chart-tooltip__widget{overflow:hidden;border-radius:12px;background:linear-gradient(180deg,rgba(248,246,241,.9),rgba(255,255,255,.98))}.tv-mini-chart-tooltip__status{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:18px;font-size:.88rem}.comparison-chip{display:inline-flex;border-radius:999px;padding:4px 10px;background:rgba(15,118,110,.1);color:var(--accent);font-size:.82rem;font-weight:700}.comparison-chip.missing{background:rgba(201,107,23,.12);color:#9a4d0f}.section-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.drift-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.portfolio-list{margin:10px 0 0;padding-left:18px}.portfolio-list li+li{margin-top:6px}.clickable-row{cursor:pointer}.clickable-row.is-selected{background:rgba(15,118,110,.08)}.portfolio-actions-col{min-width:170px}.portfolio-row-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.portfolio-row-actions button{border:0;border-radius:999px;padding:8px 12px;background:var(--accent);color:#fff;cursor:pointer;font:inherit;font-weight:700}.portfolio-row-actions button.secondary{background:rgba(31,26,23,.12);color:var(--ink)}.portfolio-row-actions button.danger{background:#b42318;color:#fff}.portfolio-row-actions button:disabled{opacity:.6;cursor:not-allowed}.portfolio-edit-row{background:rgba(15,118,110,.06)}.portfolio-edit-details-row td{background:rgba(15,118,110,.04);border-top:0}.portfolio-inline-editor-details{display:grid;grid-gap:14px;gap:14px;padding:6px 0 2px}.portfolio-transactions-table td{vertical-align:top}@media (max-width:960px){.portfolio-chart-header,.portfolio-chart-toolbar,.portfolio-manager-layout{display:grid}.holdings-pie-panel,.portfolio-manager-actions{grid-template-columns:1fr}}.rank-field,.rank-inline-field{display:grid;grid-gap:6px;gap:6px;font-weight:600}.rank-field input,.rank-field select,.rank-inline-field select{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;font:inherit;background:rgba(255,255,255,.96);color:var(--ink)}.rank-inline-field{min-width:120px}.rank-watchlist-panel{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:16px}.rank-watchlist-meta{margin-top:10px}.rank-warning-list{margin:10px 0 0;color:#9a3412}.rank-strategy-grid{display:grid;grid-gap:16px;gap:16px}.rank-regime-panel,.rank-strategy-card{display:grid;grid-gap:10px;gap:10px;padding:16px;border:1px solid var(--border);border-radius:20px;background:rgba(255,255,255,.94);margin-bottom:16px}.rank-strategy-card{background:radial-gradient(circle at top right,rgba(15,118,110,.12),transparent 16rem),linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,241,234,.9))}.rank-strategy-card.is-fallback{background:rgba(107,114,128,.08)}.rank-regime-panel.is-collapsed,.rank-strategy-card.is-collapsed{gap:8px}.rank-regime-panel.green{background:rgba(22,101,52,.08)}.rank-regime-panel.yellow{background:rgba(194,65,12,.08)}.rank-regime-panel.red{background:rgba(185,28,28,.08)}.rank-regime-panel__head,.rank-strategy-card__head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}.rank-strategy-facts{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.rank-strategy-copy{display:grid;grid-gap:8px;gap:8px}.rank-strategy-copy p{margin:0}.rank-support-overlay-panel{display:grid;grid-gap:10px;gap:10px;padding:12px 14px;border:1px solid rgba(15,118,110,.16);border-radius:16px;background:rgba(15,118,110,.05)}.rank-support-overlay-panel__head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}.rank-panel-label{color:var(--subtle-foreground);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rank-panel-heading{margin-top:6px}.rank-panel-copy{margin-top:10px}.rank-panel-actions{margin-top:12px}.rank-toolbar{margin-bottom:12px}.rank-overlay-explainer,.rank-regime-help{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.rank-overlay-explainer p,.rank-regime-help p{margin:0}.rank-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.82);color:var(--ink);text-decoration:none;font-weight:700;cursor:pointer}@media (min-width:1100px){.rank-strategy-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}}.active-chip,.rank-chip.active{background:var(--ink);color:#fff}.rank-table{min-width:1540px;width:100%;font-size:.83rem}.rank-table th{cursor:pointer}.rank-table th.sort-active{color:var(--accent-strong)}.dashboard-sortable-th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.dashboard-sortable-th:hover{color:var(--ink)}.dashboard-sortable-th.sort-active{color:var(--accent-strong)}.dashboard-sort-icon{margin-left:4px;font-size:.7em;opacity:.5}.dashboard-sortable-th.sort-active .dashboard-sort-icon{opacity:1}.rank-table tbody tr.rank-divider-top5 td{border-bottom:3px solid rgba(22,101,52,.55)}.rank-table tbody tr.rank-divider-top10 td{border-bottom:3px solid rgba(185,28,28,.45)}.rank-table tbody tr.rank-row-support-match td{background:rgba(15,118,110,.05)}.rank-hint,.rank-macd,.rank-pill,.rank-rsi,.rank-trend{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rank-pill.BUY{background:rgba(22,101,52,.14);color:#166534}.rank-pill.SELL{background:rgba(185,28,28,.12);color:#b91c1c}.rank-pill.HOLD{background:rgba(15,118,110,.12);color:#0f766e}.rank-pill.TARGET{background:rgba(154,52,18,.12);color:#9a3412}.rank-pill.WATCH{background:rgba(124,45,18,.12);color:#7c2d12}.rank-pill.BLOCKED,.rank-pill.OUT{background:rgba(107,114,128,.14);color:#6b7280}.rank-trend.Bullish{background:rgba(15,118,110,.14);color:#0f766e}.rank-trend.Neutral{background:rgba(107,114,128,.14);color:#6b7280}.rank-trend.Bearish{background:rgba(185,28,28,.12);color:#b91c1c}.rank-hint{background:rgba(154,52,18,.12);color:#9a3412}.rank-hot-marker{justify-content:center;width:1rem;height:1rem;border-radius:999px;font-size:.72rem;font-weight:800;background:rgba(15,118,110,.12);color:var(--accent)}.rank-hot-marker,.rank-symbol-cell{display:inline-flex;align-items:center}.rank-symbol-cell{gap:8px}.rank-symbol-main{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.rank-watchlist-state{min-height:1.35rem;padding:0 .45rem;border-radius:999px;background:rgba(15,118,110,.08);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.rank-watchlist-state,.rank-watchlist-toggle{display:inline-flex;align-items:center;color:#0f766e}.rank-watchlist-toggle{justify-content:center;width:1.75rem;height:1.75rem;border:1px solid rgba(15,118,110,.16);border-radius:999px;background:rgba(255,255,255,.96);font:inherit;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(15,118,110,.08);transition:transform .12s ease,background-color .12s ease,border-color .12s ease,box-shadow .12s ease,color .12s ease}.rank-watchlist-toggle:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(15,118,110,.32);box-shadow:0 8px 16px rgba(15,118,110,.12)}.rank-watchlist-toggle.is-active{background:rgba(15,118,110,.1);border-color:rgba(15,118,110,.28);color:#0b5f58}.rank-watchlist-toggle__glyph{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:1.05rem}.rank-watchlist-toggle:disabled{opacity:.55;cursor:wait}.rank-balanced-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rank-balanced-chip.entry,.rank-balanced-chip.green{background:rgba(22,101,52,.14);color:#166534}.rank-balanced-chip.hold,.rank-balanced-chip.yellow{background:rgba(194,65,12,.12);color:#c2410c}.rank-balanced-chip.below_exit,.rank-balanced-chip.red{background:rgba(185,28,28,.12);color:#b91c1c}.rank-balanced-chip.missing{background:rgba(107,114,128,.14);color:#6b7280}.conviction-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.06em;cursor:default;white-space:nowrap}.conviction-badge.strong{background:rgba(22,101,52,.14);color:#166534}.conviction-badge.good{background:rgba(15,118,110,.13);color:#0f766e}.conviction-badge.moderate{background:rgba(194,65,12,.12);color:#c2410c}.conviction-badge.missing,.conviction-badge.weak{background:rgba(107,114,128,.13);color:#6b7280}.conviction-label{font-size:.65rem;font-weight:600;letter-spacing:.07em;opacity:.8}.conviction-tooltip{background:var(--surface-raised,#fffdf8);border:1px solid var(--border,rgba(51,41,32,.14));border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.14);padding:12px 14px;pointer-events:auto;overflow:hidden}.conviction-tooltip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.conviction-tooltip-title{font-size:.68rem;font-weight:600;color:var(--muted,#6f665d);letter-spacing:.06em;text-transform:uppercase}.conviction-breakdown{display:flex;flex-direction:column;font-size:.76rem}.conviction-breakdown-header,.conviction-breakdown-row,.conviction-breakdown-total{display:flex;align-items:baseline;gap:6px}.conviction-breakdown-header{padding-bottom:5px;border-bottom:1px solid var(--border,rgba(51,41,32,.12));margin-bottom:1px;font-size:.64rem;font-weight:700;color:var(--muted,#6f665d);text-transform:uppercase;letter-spacing:.07em}.conviction-breakdown-row{padding:4px 0;border-bottom:1px solid var(--border,rgba(51,41,32,.06));color:var(--ink,#1f1a17)}.conviction-breakdown-total{padding-top:6px}.cbh-factor,.cbr-factor{flex:1 1;min-width:0}.cbh-value,.cbr-value{flex:0 0 68px;text-align:right;color:var(--muted,#6f665d);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cbh-score,.cbr-score,.cbr-score-total{flex:0 0 48px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cbr-score-total{font-size:.76rem}.conviction-total-label{font-weight:600;font-size:.72rem;color:var(--muted,#6f665d)}.conviction-factor-score{font-weight:700;font-size:.72rem}.conviction-factor-score.high{color:#166534}.conviction-factor-score.mid{color:#c2410c}.conviction-factor-score.low{color:#b91c1c}.rank-rsi.weak{background:rgba(185,28,28,.12);color:#b91c1c}.rank-rsi.caution{background:rgba(194,65,12,.12);color:#c2410c}.rank-rsi.healthy{background:rgba(15,118,110,.14);color:#0f766e}.rank-rsi.extended{background:rgba(146,64,14,.12);color:#92400e}.rank-rsi.unknown{background:rgba(107,114,128,.14);color:var(--muted)}.rank-macd.bullish{background:rgba(15,118,110,.14);color:#0f766e}.rank-macd.bearish{background:rgba(185,28,28,.12);color:#b91c1c}.rank-macd.neutral,.rank-macd.unknown{background:rgba(107,114,128,.14);color:#6b7280}.positive{color:#166534;font-weight:700}.negative{color:#b91c1c;font-weight:700}.subtle.success{color:#166534}.subtle.error{color:#b91c1c}.error-panel{display:grid;grid-gap:12px;gap:12px}.error-eyebrow{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:6px 10px;border-radius:999px;background:rgba(185,28,28,.1);color:#b91c1c;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.action-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.action-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid transparent;text-decoration:none}.action-button.secondary{border-color:var(--border);background:rgba(255,255,255,.88);color:var(--ink)}.action-button.danger{background:linear-gradient(135deg,#b42318,#9f1239)}.input-readonly{opacity:.64}.rank-column-config{position:relative}.rank-column-menu{position:absolute;top:calc(100% + 8px);right:0;width:min(340px,calc(100vw - 40px));max-height:360px;overflow:auto;padding:12px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.98);box-shadow:0 18px 40px rgba(31,26,23,.14);z-index:12}.rank-column-options{display:grid;grid-gap:6px;gap:6px}.rank-column-option{display:flex;align-items:center;gap:8px;font-size:.92rem;cursor:pointer}.rank-column-option input{margin:0}.history-control-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.history-field{display:grid;grid-gap:4px;gap:4px}.history-field span,.history-section-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.history-field input,.history-field select,.history-save-list-form input,.history-symbol-sort select,.history-ticker-paste textarea,.history-toolbar input{width:100%;border:1px solid var(--border);border-radius:14px;padding:10px 12px;font:inherit;background:var(--panel-strong);color:var(--ink)}.history-field input[type=checkbox],.history-symbol-option input[type=checkbox]{width:auto}.history-benchmark-select{min-height:132px}.history-field-help{font-size:.82rem;color:var(--muted);line-height:1.4}.history-benchmark-actions{display:flex;gap:8px;flex-wrap:wrap}.history-benchmark-actions button{border:1px solid var(--border);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.92);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.history-metric-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:12px 16px;gap:12px 16px;margin-top:8px}.history-metric-group{display:grid;grid-gap:8px;gap:8px;align-content:start}.history-metric-group-label{font-size:.98rem;font-weight:700;color:var(--ink)}.history-metric-button-row{gap:8px}.history-metric-button-row .history-pill{min-width:52px;justify-content:center;text-align:center}.button-row{gap:7px}.history-direction-toggle button,.history-pill,.history-save-list-actions button,.history-saved-list-actions button,.history-saved-lists-toggle,.history-symbol-actions button,.history-ticker-actions button{border:1px solid var(--border);background:var(--panel-strong);color:var(--ink);border-radius:999px;padding:7px 12px;cursor:pointer;font:inherit;font-weight:700}.history-direction-toggle button.active,.history-pill.active{border-color:var(--accent);background:rgba(15,118,110,.1);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent-strong)}.history-layout{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(300px,.78fr);grid-gap:16px;gap:16px;align-items:flex-start}.history-layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.history-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.history-chart-panel{position:relative;z-index:3;transition:box-shadow .16s ease,transform .16s ease}.history-chart-panel.is-expanded{position:fixed;inset:16px;z-index:40;margin:0;padding:24px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;overflow:hidden;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 28px 80px rgba(34,27,20,.28)}.history-chart-panel.is-expanded:before{content:"";position:fixed;inset:0;background:rgba(31,26,23,.34);z-index:-1}.history-chart-panel-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}.history-chart-toolbar-controls{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.history-chart-control-row{display:inline-flex;flex-wrap:wrap;gap:7px;align-items:center}.history-chart-control-label{margin-right:2px}.history-chart-control-label,.history-inline-action-label{color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.history-inline-action-label{align-self:center}.history-chart-toolbar-separator{width:1px;height:22px;background:rgba(64,49,37,.14);border-radius:999px}.history-chart-toolbar-actions{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;margin-left:auto}.history-chart-expand-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--border);background:rgba(255,255,255,.92);color:var(--ink);border-radius:999px;padding:0;cursor:pointer;font:inherit;font-weight:700;box-shadow:0 1px 2px rgba(31,26,23,.06);transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}.history-chart-expand-button svg{width:18px;height:18px;display:block}.history-chart-expand-button:hover{border-color:rgba(15,118,110,.34);background:rgba(15,118,110,.08);box-shadow:0 4px 12px rgba(15,118,110,.14)}.history-chart-expand-button.is-active{border-color:rgba(15,118,110,.52);background:linear-gradient(180deg,rgba(15,118,110,.24),rgba(15,118,110,.14));color:#0f766e;box-shadow:inset 0 1px 2px rgba(15,118,110,.18),0 0 0 3px rgba(15,118,110,.1)}.history-chart-expand-button.is-active:hover{border-color:rgba(15,118,110,.62);background:linear-gradient(180deg,rgba(15,118,110,.28),rgba(15,118,110,.18))}.history-chart-expand-button:active{transform:translateY(1px)}.history-card{background:rgba(255,255,255,.72);border:1px solid rgba(51,41,32,.08);border-radius:18px;padding:12px}.history-card .label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.history-card .value{font-size:1rem;font-weight:700}.history-chart-wrap{position:relative;overflow:visible;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.7));border:1px solid rgba(51,41,32,.08);margin-top:8px}.history-chart-wrap svg{width:100%;height:auto;display:block}.history-chart-panel.is-expanded .history-chart-wrap{min-height:0;height:100%;display:flex;align-items:stretch}.history-chart-panel.is-expanded .history-chart-wrap svg{height:100%;min-height:0}.history-chart-panel.is-expanded .history-summary{display:none}.history-chart-empty{min-height:280px;display:grid;place-items:center;padding:24px;color:var(--muted);text-align:center;line-height:1.4}.history-chart-note{margin-top:10px;color:var(--muted);font-size:.84rem;line-height:1.4}.history-tooltip{position:absolute;min-width:220px;max-width:360px;padding:10px 12px;border-radius:16px;border:1px solid rgba(51,41,32,.12);background:rgba(255,253,248,.96);box-shadow:0 18px 40px rgba(49,39,28,.16);pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .12s ease,transform .12s ease;z-index:2}.history-tooltip.visible{opacity:1;transform:translateY(0)}.tooltip-date{font-size:.82rem;font-weight:700;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em}.tooltip-row{display:flex;justify-content:space-between;gap:10px;font-size:.9rem;margin-top:6px;flex-wrap:nowrap}.tooltip-row,.tooltip-symbol{align-items:center;min-width:0}.tooltip-symbol{display:inline-flex;gap:8px;font-weight:700;flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tooltip-row>span:last-child{flex:0 0 auto;white-space:nowrap}.history-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.history-legend-item{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid rgba(51,41,32,.08);background:rgba(255,255,255,.74);font-size:.88rem;transition:opacity .12s ease,transform .12s ease,border-color .12s ease}.history-legend-item.hidden{opacity:.45;border-style:dashed}.history-legend-chip{display:inline-flex;align-items:center;gap:8px;padding:0;color:inherit}.history-legend-chip,.history-legend-remove{border:0;background:transparent;cursor:pointer;font:inherit}.history-legend-remove{color:var(--muted);font-size:1rem;line-height:1;padding:0 2px;border-radius:999px}.history-legend-remove:hover{color:#b91c1c}.swatch{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.history-save-list-form,.history-saved-lists,.history-saved-lists-body,.history-sidebar,.history-symbol-sort,.history-ticker-paste,.history-toolbar,.history-toolbar-block{display:grid;grid-gap:8px;gap:8px}.history-sidebar{gap:16px;position:relative;z-index:1;min-width:0}.history-saved-lists-shell,.history-toolbar-block-secondary{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:18px;border:1px solid rgba(51,41,32,.08)}.history-toolbar-block-secondary{background:rgba(255,255,255,.48)}.history-saved-lists-shell{background:rgba(255,255,255,.56)}.history-save-list-actions,.history-saved-list-actions,.history-saved-list-header,.history-saved-lists-header,.history-symbol-actions,.history-symbol-line,.history-ticker-actions{display:flex;flex-wrap:wrap;gap:8px}.history-saved-list-header,.history-saved-lists-header{justify-content:space-between;align-items:flex-start}.history-save-list-help,.history-saved-list-count,.history-saved-list-meta,.history-saved-lists-summary,.history-section-subtitle,.history-sidebar-note,.meta-note{color:var(--muted);font-size:.8rem;line-height:1.35}.history-saved-lists-shell.is-collapsed .history-saved-lists-body{display:none}.history-saved-list-card,.history-saved-list-empty,.history-symbol-option{border-radius:18px;border:1px solid rgba(51,41,32,.08)}.history-saved-list-empty{padding:12px;border-style:dashed;font-size:.83rem;background:rgba(255,255,255,.5)}.history-saved-list-card{display:grid;grid-gap:8px;gap:8px;padding:12px;background:rgba(255,255,255,.72)}.history-saved-list-name{font-size:.95rem;font-weight:700;line-height:1.2}.history-saved-list-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.79rem}.history-saved-list-badge,.trend-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-weight:700}.history-saved-list-badge{background:rgba(15,118,110,.1);color:var(--accent-strong)}.history-saved-list-preview{font-size:.83rem;line-height:1.35;word-break:break-word}.history-saved-list-actions button[data-list-action=delete]{color:#9a3412}.history-symbol-sort label{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.history-symbol-sort-controls{display:grid;grid-gap:6px;gap:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.history-direction-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;background:var(--panel-strong);overflow:hidden}.history-direction-toggle button{border:0;background:transparent;padding:9px 12px}.history-symbol-list{max-height:680px;overflow:auto;display:grid;grid-gap:7px;gap:7px;padding-right:4px}.history-symbol-option{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;background:rgba(255,255,255,.72);cursor:pointer;min-width:0}.history-symbol-option input{margin-top:2px}.history-symbol-meta{display:grid;grid-gap:2px;gap:2px;min-width:0}.history-symbol-line{align-items:center;gap:6px}.history-symbol-line strong{font-size:.95rem;flex:0 0 auto}.history-symbol-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}.trend-pill{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.trend-pill.up{background:rgba(22,101,52,.12);color:#166534}.trend-pill.down{background:rgba(185,28,28,.12);color:#b91c1c}.trend-pill.flat{background:rgba(107,114,128,.12);color:#6b7280}.markets-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.markets-symbol-option{align-items:flex-start}.markets-symbol-line{display:flex;justify-content:space-between;gap:12px}.markets-growth-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:.76rem;font-weight:700;letter-spacing:.02em}.markets-growth-pill.up{background:rgba(22,101,52,.12);color:#166534}.markets-growth-pill.down{background:rgba(185,28,28,.12);color:#b91c1c}.markets-growth-pill.flat{background:rgba(107,114,128,.12);color:#6b7280}button:disabled,input:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}.research-grid,.research-results-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.research-form{display:grid;grid-gap:18px;gap:18px}.research-form-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.maintenance-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.field{display:grid;grid-gap:6px;gap:6px;font-weight:600}.field-span-2{grid-column:span 2}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;font:inherit;color:var(--ink);background:rgba(255,255,255,.96);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}.field input:hover,.field select:hover,.field textarea:hover,.history-field input:hover,.history-field select:hover,.history-save-list-form input:hover,.history-ticker-paste textarea:hover,.history-toolbar input:hover,.portfolio-controls input:hover,.portfolio-controls select:hover,.portfolio-form-grid input:hover,.portfolio-form-grid select:hover,.portfolio-form-grid textarea:hover,.rank-field input:hover,.rank-field select:hover,.rank-inline-field select:hover,.watchlist-inline-input:hover{border-color:var(--border-strong)}.field textarea{min-height:120px;resize:vertical}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.history-field input:focus-visible,.history-field select:focus-visible,.history-save-list-form input:focus-visible,.history-ticker-paste textarea:focus-visible,.history-toolbar input:focus-visible,.portfolio-controls input:focus-visible,.portfolio-controls select:focus-visible,.portfolio-form-grid input:focus-visible,.portfolio-form-grid select:focus-visible,.portfolio-form-grid textarea:focus-visible,.rank-field input:focus-visible,.rank-field select:focus-visible,.rank-inline-field select:focus-visible,.watchlist-inline-input:focus-visible{border-color:rgba(221,107,32,.34)}.field-compact{gap:4px}.field-description{margin:2px 0 6px;font-size:.8rem;color:var(--muted);line-height:1.4}.maintenance-health-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.maintenance-quick-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.maintenance-quick-card{border:1px solid var(--border);background:var(--panel-strong);text-align:left;cursor:pointer}.maintenance-toggle-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.maintenance-command{margin:0;font-size:.78rem}.maintenance-log-header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.maintenance-log{height:420px;margin:0;overflow:auto;overflow-x:hidden;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overscroll-behavior:contain}.toggle-field{margin-bottom:.8rem}.toggle-field .toggle-row{margin-bottom:0}.field-spaced{margin-bottom:1rem}.field-spaced-lg{margin-bottom:1.5rem}.number-field{max-width:140px}.surface-form{display:grid;grid-gap:1.25rem;gap:1.25rem}.surface-narrow{width:min(100%,620px)}.stack-lg,.stack-md,.stack-sm,.stack-xl{display:grid}.stack-sm{gap:.5rem}.stack-md{gap:.75rem}.stack-lg{gap:1rem}.stack-xl{gap:1.5rem}.mb-sm{margin-bottom:.75rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.25rem}.mt-sm{margin-top:.75rem}.eyebrow{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.36rem .72rem;border-radius:999px;background:rgba(221,107,32,.1);color:var(--accent-strong);font-size:.74rem;letter-spacing:.08em}.eyebrow,.section-kicker{font-weight:800;text-transform:uppercase}.section-kicker{margin:0;color:var(--subtle-foreground);font-size:.78rem;letter-spacing:.1em}.section-heading{margin:0;font-family:var(--font-display);font-size:1.04rem;letter-spacing:-.02em}.section-heading.danger{color:var(--warm)}.section-copy{margin:0;color:var(--muted-foreground);font-size:.92rem}.surface-divider{width:100%;height:1px;border:0;background:rgba(55,53,47,.1)}.surface-note{font-size:.82rem;line-height:1.5}.surface-note,.surface-note-tight{margin:0;color:var(--muted-foreground)}.surface-note-tight{font-size:.8rem}.surface-note-top{margin-top:8px}.surface-note-block{margin-top:4px;margin-bottom:16px}.surface-note-block-sm{margin-top:4px;margin-bottom:12px}.text-success{color:var(--brand)}.text-danger{color:var(--warm)}.button-row{flex-wrap:wrap}.button-row,.toggle-row{display:flex;gap:.75rem;align-items:center}.toggle-row{margin-bottom:.8rem;cursor:pointer;font-weight:500}.toggle-row input{width:1rem;height:1rem;margin:0}.settings-layout{width:min(100%,640px)}.settings-group{display:grid;grid-gap:.85rem;gap:.85rem;margin-bottom:1.5rem}.danger-surface{border-color:color-mix(in srgb,var(--warm) 28%,var(--border));background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,246,241,.88))}.guide-section-body{display:grid;grid-gap:14px;gap:14px}.guide-section-body p{margin:0}.guide-list-block{display:grid;grid-gap:8px;gap:8px}.guide-list{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px}.guide-section-label{margin:0;color:var(--subtle-foreground);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.guide-heading-row{padding:6px 8px 0}.research-copy{margin:0 0 1.5rem}.research-form-block{margin-bottom:1.5rem}.research-toolbar{margin-bottom:.75rem}.research-family{margin-bottom:1.25rem}.research-family-toolbar{margin-bottom:.4rem}.research-family-title{font-size:.86rem}.research-family-count,.research-inline-text{font-size:.8rem}.form-top-gap{margin-top:16px}.link-chip.link-chip-small{min-height:34px;padding:6px 12px;font-size:.78rem}.code-block,.preset-card-copy{font-size:.8rem}.code-block{overflow-x:auto;padding:1rem;border-radius:18px;border:1px solid rgba(55,53,47,.12);background:#1f1d1a;color:#f6f3ee;line-height:1.55;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.bundle-picker{display:grid;grid-gap:12px;gap:12px}.bundle-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.bundle-card{flex:0 0 auto;min-width:180px;max-width:240px;padding:12px 14px;border-radius:16px;border:1.5px solid var(--border);background:var(--panel-strong);cursor:pointer;text-align:left;font:inherit;transition:border-color .15s,background .15s}.bundle-card.selected,.bundle-card:hover{border-color:var(--ink)}.bundle-card.selected{background:var(--ink);color:#fff}.bundle-card-name{font-weight:700;font-size:.85rem;line-height:1.3;margin-bottom:6px}.bundle-card-meta{display:flex;flex-wrap:wrap;gap:5px}.bundle-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25)}.bundle-card:not(.selected) .bundle-badge{background:var(--panel);border-color:var(--border);color:var(--muted)}.research-preset-block{display:grid;grid-gap:12px;gap:12px}.preset-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.preset-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:18px;border:1px solid var(--border);background:var(--panel-strong);font-weight:600}.preset-card input{width:auto;margin:0}.actions-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.action-button{border:0;border-radius:999px;padding:12px 18px;font:inherit;font-weight:700;background:var(--ink);color:#fff;cursor:pointer}.action-button:disabled{opacity:.65;cursor:wait}.status-banner{min-height:48px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.7);color:var(--muted)}.status-banner.success{border-color:rgba(22,101,52,.18);background:rgba(22,101,52,.08);color:#166534}.status-banner.error{border-color:rgba(185,28,28,.18);background:rgba(185,28,28,.08);color:#b91c1c}.signals-strategy-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px}.signals-summary-card{padding:14px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(50,41,34,.08)}.signals-summary-label{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.signals-summary-value{font-size:1.2rem;font-weight:700}.signals-preview-stack{display:grid;grid-gap:16px;gap:16px}.signals-preview-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-start}.signals-preview-badges,.signals-preview-card-meta,.signals-preview-meta,.signals-preview-strip{display:flex;flex-wrap:wrap;gap:8px}.signals-preview-badge,.signals-preview-pill,.signals-preview-status{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:6px 10px;border-radius:999px;font-size:.76rem;font-weight:700}.signals-preview-badge{background:rgba(15,118,110,.1);color:#115e59}.signals-preview-badge-strong{background:rgba(221,107,32,.12);color:#9a3412}.signals-preview-meta{color:var(--muted);font-size:.8rem}.signals-preview-pill{border:1px solid rgba(55,53,47,.12);background:var(--panel-strong);color:var(--ink)}.signals-preview-pill-held{border-color:rgba(22,101,52,.18);background:rgba(22,163,74,.12);color:#166534}.signals-preview-pill-not-held{border-color:rgba(180,83,9,.18);background:rgba(245,158,11,.14);color:#9a3412}.signals-preview-blocked{padding:14px 16px;border-radius:18px;border:1px solid rgba(180,83,9,.2);background:rgba(255,247,237,.9);color:#9a3412;font-size:.92rem}.signals-preview-section{display:grid;grid-gap:10px;gap:10px}.signals-preview-section-head h3{margin:0;font-size:.95rem}.signals-preview-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.signals-settings-grid{display:grid;margin-top:12px;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.signals-settings-disclosure{margin-top:14px;padding-top:14px;border-top:1px solid rgba(55,53,47,.1)}.signals-settings-toggle{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;cursor:pointer;list-style:none;font-size:.92rem;font-weight:700;color:var(--ink)}.signals-settings-toggle::-webkit-details-marker{display:none}.signals-settings-toggle:after{content:"+";flex:0 0 auto;font-size:1rem;line-height:1}.signals-settings-disclosure[open] .signals-settings-toggle:after{content:"-"}.signals-settings-toggle-meta{color:var(--muted);font-size:.78rem;font-weight:500}.signals-settings-card{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:18px;border:1px solid rgba(55,53,47,.12);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,241,233,.92))}.signals-settings-card h4{margin:0;font-size:.95rem}.signals-settings-list{display:grid;grid-gap:8px;gap:8px}.signals-settings-row{display:grid;grid-gap:4px 12px;gap:4px 12px;grid-template-columns:minmax(0,1fr) auto;align-items:start}.signals-settings-label{color:var(--muted);font-size:.8rem}.signals-settings-value{font-size:.84rem;text-align:right;color:var(--ink)}.signals-preview-card{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:18px;border:1px solid rgba(55,53,47,.12);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,245,240,.94))}.signals-preview-card-head{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}.signals-preview-card-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.signals-preview-card-copy,.signals-preview-note{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}.signals-preview-status{background:rgba(55,53,47,.08);color:var(--ink)}.signals-preview-status-keep{background:rgba(21,128,61,.12);color:#166534}.signals-preview-status-exit_if_rebalanced{background:rgba(185,28,28,.1);color:#b91c1c}.signals-preview-status-action,.signals-preview-status-overweight,.signals-preview-status-underweight{background:rgba(217,119,6,.12);color:#92400e}.signals-strategy-chips{display:flex;flex-wrap:wrap;gap:10px}.signals-strategy-chip{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:12px;border:1px solid rgba(50,41,34,.12);background:white;text-align:left;cursor:pointer;transition:border-color .15s,background .15s;min-width:200px}.signals-strategy-chip:hover{border-color:rgba(50,41,34,.3);background:rgba(250,248,246,.9)}.signals-strategy-chip.is-selected{border-color:#1c1917;background:#fafaf9}.signals-strategy-chip-name{font-size:.8125rem;font-weight:600;color:#1c1917;line-height:1.3}.signals-strategy-chip-meta{color:#78716c}.signals-strategy-chip-meta,.signals-strategy-chip-status{font-size:.72rem;line-height:1.3}.signals-strategy-chip-status.is-current{color:#78716c}.signals-strategy-chip-status.is-stale{color:#b45309}.signals-launcher-progress{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.signals-activity-controls{display:grid;grid-gap:12px;gap:12px;padding:16px;border-radius:20px;border:1px solid rgba(50,41,34,.08);background:rgba(255,255,255,.56)}.signals-control-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.signals-control-group{display:grid;grid-gap:6px;gap:6px;min-width:150px;flex:1 1 180px}.signals-control-group-grow{flex:1 1 100%}.signals-control-group label,.signals-switch-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.signals-control-group input,.signals-control-group select{border:1px solid var(--border);background:var(--panel-strong);color:var(--ink);border-radius:14px;padding:10px 12px;font:inherit}.signals-chip-row{display:flex;flex-wrap:wrap;gap:8px}.signals-chip-button{border:1px solid var(--border);background:var(--panel-strong);color:var(--ink);border-radius:999px;padding:8px 12px;cursor:pointer;font:inherit}.signals-chip-button.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:rgba(11,114,133,.08)}.signals-chip-button-danger{border-color:rgba(161,29,29,.18);color:#a11d1d}.signals-control-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.signals-switch-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.signals-switch-control{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.signals-strategy-timeline-shell{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:6px 0 10px;scrollbar-gutter:stable}.signals-strategy-timeline-stack{display:grid;grid-gap:8px;gap:8px;width:max-content;min-width:100%}.signals-strategy-timeline{display:flex;align-items:end;gap:4px;min-width:100%}.signals-strategy-timeline-years{position:relative;min-height:18px;min-width:100%;color:var(--muted)}.signals-timeline-year-label{position:absolute;top:0;transform:translateX(-50%);font-size:.72rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.signals-timeline-marker{border:0;border-radius:999px 999px 8px 8px;min-width:10px;width:10px;background:var(--marker-color,var(--accent));opacity:.85;cursor:pointer;flex:0 0 auto}.signals-timeline-marker.is-selected{outline:2px solid rgba(30,27,24,.72);outline-offset:2px;opacity:1}.signals-timeline-marker-trade{background:#3d7f8f}.signals-timeline-marker-defer{background:#d7ba93}.signals-timeline-marker-cash{background:#94a3b8}.signals-timeline-marker-review{background:#6b7280}.signals-daily-groups{display:grid;grid-gap:14px;gap:14px;max-height:min(62vh,760px);overflow:auto;padding-right:4px}.signals-daily-group{border:1px solid rgba(50,41,34,.08);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,248,243,.86));border-radius:20px;padding:16px;scroll-margin-top:20px;box-shadow:0 10px 24px rgba(32,26,20,.05)}.signals-daily-group.is-selected{border-color:rgba(29,143,90,.55);box-shadow:inset 0 0 0 1px rgba(29,143,90,.24),0 14px 34px rgba(29,143,90,.08)}.signals-daily-group-head{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:start;margin-bottom:10px}.signals-daily-group-date{font-size:1rem;font-weight:700}.signals-daily-group-headline{color:var(--muted);line-height:1.45;max-width:72ch;overflow-wrap:anywhere}.signals-count-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:end}.signals-count-pill{border-radius:999px;padding:5px 10px;font-size:.76rem;background:rgba(50,41,34,.1);color:#312922;font-weight:600;border:1px solid rgba(50,41,34,.08)}.signals-holdings-strip{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.signals-holding-chip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;border-radius:999px;padding:7px 11px;background:rgba(11,114,133,.08);border:1px solid rgba(11,114,133,.14);color:var(--ink);font-size:.84rem}.signals-holding-chip strong{font-size:.9rem}.signals-event-card{padding:14px;border-radius:18px;background:rgba(255,255,255,.88);border:1px solid rgba(50,41,34,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}.signals-event-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.signals-event-pill,.signals-strategy-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.signals-strategy-pill{background:#4d7b47}.signals-event-pill,.signals-strategy-pill{color:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.14)}.signals-event-pill{background:#6b7280}.signals-event-pill-buy{background:#1d8f5a;color:#fff}.signals-event-pill-sell{background:#c53030;color:#fff}.signals-event-pill-hold{background:#a16207;color:#fff}.signals-event-pill-rebalance{background:#6b7280;color:#fff}.signals-event-symbol{font-size:1.05rem;font-weight:700;color:var(--ink)}.signals-event-symbol-muted{font-size:.9rem;color:var(--muted)}.signals-event-details{margin-top:12px;color:#5f564d;line-height:1.5}.signals-event-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:.82rem;color:#6b6259}.progress-track{width:100%;height:12px;margin:16px 0 12px;border-radius:999px;overflow:hidden;background:rgba(31,26,23,.1)}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent) 0,var(--warm) 100%);transition:width .2s ease}.research-result-stack{display:grid;grid-gap:14px;gap:14px}.research-result-frame{width:100%;min-height:920px;border:1px solid var(--border);border-radius:18px;background:#fff}.empty-state-panel{border:1px dashed var(--border);border-radius:18px;padding:20px;background:rgba(255,255,255,.5)}.warning-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.warning-text{margin:0;padding:10px 12px;border-radius:14px;background:rgba(194,65,12,.08);color:#9a3412}@media (max-width:720px){.app-shell{padding:14px 10px 28px}.app-shell-wide{max-width:calc(100vw - 8px)}.app-header,.hero,.surface{border-radius:20px;padding:16px}.history-chart-panel.is-expanded{inset:10px;padding:16px}.research-result-frame{min-height:540px}}@media (max-width:1080px){.history-layout,.maintenance-grid{grid-template-columns:1fr}.history-symbol-list{max-height:360px}.research-grid,.research-results-grid{grid-template-columns:1fr}.field-span-2{grid-column:span 1}}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(circle at top left,rgba(15,118,110,.12),transparent 24rem),radial-gradient(circle at bottom right,rgba(221,107,32,.12),transparent 24rem)}.auth-card{width:100%;max-width:420px;border:1px solid var(--border);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,252,246,.9));box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:40px 36px}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px;font-size:1rem;font-weight:700;letter-spacing:-.01em}.auth-brand .brand-mark{width:36px;height:36px;border-radius:10px;font-size:.85rem}.auth-title{font-family:var(--font-display);font-size:1.7rem;font-weight:700;margin:0 0 20px;letter-spacing:-.03em}.auth-form{display:grid;grid-gap:14px;gap:14px}.auth-btn{display:block;width:100%;padding:13px 18px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--foreground),var(--brand-strong));color:#fff;font:inherit;font-size:1rem;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;transition:background .15s;margin-top:4px}.auth-btn:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(17,94,89,.2)}.auth-btn:disabled{opacity:.65;cursor:not-allowed}.auth-error{color:var(--warm)}.auth-error,.auth-success{font-size:.9rem;margin:0 0 12px}.auth-success{color:var(--accent)}.auth-muted{color:var(--muted);font-size:.9rem;margin:0 0 12px}.auth-links{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.88rem;color:var(--muted)}.auth-links a{color:var(--accent);text-decoration:none;font-weight:600}.auth-links a:hover{text-decoration:underline}.auth-links-spacious{margin-top:1.5rem}.auth-btn-inline{display:inline-flex;width:auto}.user-menu{position:relative}.user-menu,.user-menu-trigger{display:inline-flex;align-items:center}.user-menu-trigger{gap:8px;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.82);font:inherit;font-weight:700;cursor:pointer}.user-menu-trigger:hover{transform:translateY(-1px);background:rgba(255,255,255,.88);border-color:var(--border-strong)}.user-menu-avatar{width:26px;height:26px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--brand-strong));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;flex-shrink:0}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;border:1px solid var(--border);border-radius:18px;background:var(--panel-strong);box-shadow:0 12px 30px rgba(56,42,29,.16);padding:8px;z-index:20;display:grid;grid-gap:2px;gap:2px}.user-menu-divider{margin:4px 0;border:0;border-top:1px solid var(--border)}.user-menu-item{display:block;padding:9px 12px;border-radius:12px;text-decoration:none;font-size:.92rem;color:var(--ink);background:transparent;border:none;cursor:pointer;font:inherit;font-weight:600;text-align:left;width:100%}.user-menu-item:hover{background:rgba(15,118,110,.08);color:var(--accent)}.user-menu-item.danger:hover{background:rgba(180,35,24,.08);color:#b42318}.dashboard-alert-banner{padding:12px 20px;font-size:.9rem;border-radius:8px;margin-bottom:16px}.dashboard-alert-red{background:rgba(185,28,28,.1);border:1px solid rgba(185,28,28,.25);color:#b91c1c}.dashboard-alert-orange{background:rgba(194,65,12,.1);border:1px solid rgba(194,65,12,.25);color:#c2410c}.dashboard-alert-link{font-weight:700;text-decoration:underline;color:inherit}.dashboard-ranking-status{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;border:1px solid #e5e7eb}.dashboard-ranking-status--embedded{margin-bottom:0;margin-top:16px;padding:14px 16px;border-radius:10px}.dashboard-ranking-status h2{margin:0 0 8px;font-size:1.1rem}.dashboard-ranking-status p{margin:0}.dashboard-ranking-status__copy{display:grid;grid-gap:8px;gap:8px}.dashboard-ranking-status__eyebrow{color:#6b7280;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-ranking-status__actions{display:grid;grid-gap:8px;gap:8px;justify-items:end}.dashboard-ranking-status__busy{color:#6b7280;font-size:.9rem;font-weight:600}.dashboard-ranking-status--cached{border-color:#bbf7d0;background:#f0fdf4}.dashboard-ranking-status--missing,.dashboard-ranking-status--stale{border-color:#fde68a;background:#fffbeb}.dashboard-ranking-status--refreshing{border-color:#bfdbfe;background:#eff6ff}.dashboard-ranking-status--error{border-color:#fecaca;background:#fef2f2}@media (max-width:760px){.dashboard-ranking-status{flex-direction:column}.dashboard-ranking-status__actions{justify-items:start}}.dashboard-kpi-section{display:flex;flex-direction:column;gap:12px}.dashboard-period-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.dashboard-kpi-delta{display:block;font-size:.8rem;margin-top:4px;font-weight:600}.dashboard-regime-badge{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700}.dashboard-regime-ok{background:rgba(22,101,52,.12);color:#166534}.dashboard-regime-blocked{background:rgba(185,28,28,.1);color:#b91c1c}.dashboard-portfolio-rows{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.dashboard-portfolio-row{display:flex;align-items:center;gap:12px;font-size:.88rem;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-strong)}.dashboard-portfolio-grid{margin-top:16px;display:grid;grid-gap:2px;gap:2px}.dashboard-portfolio-grid-row{display:grid;grid-template-columns:14px 1fr 36px 80px repeat(7,82px);align-items:center;grid-gap:0 12px;gap:0 12px;font-size:.85rem;padding:7px 12px;border-radius:8px}.dashboard-portfolio-grid-row:not(.dashboard-portfolio-grid-header){border:1px solid var(--border);background:var(--panel-strong)}.dashboard-portfolio-grid-header{padding-bottom:4px;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.dashboard-portfolio-grid-row>span:nth-child(n+4){text-align:right}.dashboard-alert-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dashboard-alert-dot-red{background:#b91c1c}.dashboard-alert-dot-orange{background:#c2410c}.dashboard-alert-dot-none{background:#166534}.dashboard-exit-row-red{background:rgba(185,28,28,.05)}.dashboard-exit-row-red td:first-child strong{color:#b91c1c}.dashboard-exit-row-orange{background:rgba(194,65,12,.05)}.dashboard-exit-row-orange td:first-child strong{color:#c2410c}.dashboard-watchlist-tags{display:flex;flex-wrap:wrap;gap:4px}.dashboard-watchlist-tag{padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:rgba(15,118,110,.1);color:#0f766e;white-space:nowrap}.dashboard-compact-table-wrap table{min-width:560px}.dashboard-movers-table-wrap table{min-width:580px}.dashboard-movers-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.dashboard-movers-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,.82);border:1px solid var(--border);border-radius:8px;color:var(--ink);font-size:.85em;font-weight:600;padding:5px 28px 5px 10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23555'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer}.dashboard-movers-select:hover{border-color:var(--border-strong);background:rgba(255,255,255,.95)}.dashboard-movers-select:disabled{opacity:.5}.dashboard-movers-rank-chips{display:flex;gap:4px;flex-wrap:wrap}.dashboard-movers-rank-chip{background:rgba(255,255,255,.72);border:1px solid var(--border);border-radius:999px;color:var(--ink);cursor:pointer;font-size:.8em;font-weight:700;padding:4px 12px;transition:background .1s,border-color .1s}.dashboard-movers-rank-chip:hover:not(:disabled){background:rgba(255,255,255,.9);border-color:var(--border-strong)}.dashboard-movers-rank-chip.active{background:var(--ink);border-color:transparent;color:#fff}.dashboard-movers-rank-chip:disabled{opacity:.5;cursor:default}.dashboard-universe-switcher{display:flex;gap:8px;flex-wrap:wrap}.dashboard-universe-chip{background:rgba(255,255,255,.72);border:1px solid var(--border);border-radius:999px;color:var(--ink);cursor:pointer;font-size:.82em;font-weight:700;padding:6px 12px;text-decoration:none;transition:background .1s,border-color .1s,color .1s}.dashboard-universe-chip:hover{background:rgba(255,255,255,.92);border-color:var(--border-strong)}.dashboard-universe-chip.active{background:var(--ink);border-color:transparent;color:#fff}.dashboard-movers{display:grid;grid-gap:20px;gap:20px;grid-template-columns:1fr 1fr}.dashboard-movers h3{margin:0 0 4px;font-family:var(--font-display)}@media (max-width:900px){.dashboard-movers{grid-template-columns:1fr}}@media (max-width:500px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-risk-signals{display:flex;flex-direction:column;gap:8px}.dashboard-risk-warning-badge{background:rgba(234,88,12,.15);color:#ea580c}.dashboard-risk-ok-badge,.dashboard-risk-warning-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.78em;font-weight:600;width:-moz-fit-content;width:fit-content}.dashboard-risk-ok-badge{background:rgba(22,163,74,.12);color:#16a34a}.dashboard-risk-rows{display:flex;flex-direction:column;gap:4px;margin-top:4px}.dashboard-risk-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid var(--border,rgba(255,255,255,.06));font-size:.875em}.dashboard-risk-row:last-child{border-bottom:none}.dashboard-risk-row.warn .dashboard-risk-value{color:#ea580c;font-weight:600}.dashboard-risk-label{color:var(--muted,#888)}.dashboard-risk-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.composition-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}@media (max-width:700px){.composition-grid{grid-template-columns:1fr}}.composition-panel h3{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px}.composition-chart-row{display:flex;align-items:flex-start;gap:16px}.composition-legend{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1 1}.composition-legend-row{display:flex;align-items:center;gap:6px;font-size:.78rem;min-width:0}.composition-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.composition-legend-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.composition-legend-pct{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted);flex-shrink:0}.risk-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px}.risk-metric-card{display:flex;flex-direction:column;gap:4px}.risk-metric-label{font-size:.75em;color:var(--muted,#888);text-transform:uppercase;letter-spacing:.04em}.risk-metric-value{font-size:1.15em;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.risk-metric-value.warn{color:#ea580c}.risk-metric-value.danger{color:#dc2626}.risk-flags-table{width:100%;border-collapse:collapse;font-size:.875em}.risk-flags-table th{text-align:left;padding:4px 8px;font-weight:600;color:var(--muted,#888);font-size:.8em;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border,rgba(255,255,255,.08))}.risk-flags-table td{padding:6px 8px;border-bottom:1px solid var(--border,rgba(255,255,255,.04));vertical-align:top}.risk-flags-table tr:last-child td{border-bottom:none}.risk-flag-reasons{display:flex;flex-wrap:wrap;gap:4px}.risk-flag-tag{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.8em;background:rgba(234,88,12,.12);color:#ea580c}