:root{color-scheme:light;--bg: #f5f6f1;--surface: #ffffff;--surface-2: #ecefea;--ink: #1e211d;--muted: #626960;--line: #d8ded4;--green: #23785b;--blue: #276caa;--amber: #b46c12;--red: #b94343;--nav: #17201b;--nav-soft: #26352d;--shadow: 0 18px 40px rgba(28, 33, 29, .08)}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(180deg,#ffffffa3,#fff0),var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.72}.login-shell{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr);min-height:100vh;background:var(--bg)}.login-visual{display:grid;align-content:space-between;gap:28px;padding:34px;color:#eef5ec;background:linear-gradient(145deg,#23785b57,#276caa2e),var(--nav)}.login-visual .brand{align-self:start}.login-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.login-signal-grid>div{display:grid;gap:8px;min-height:118px;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff12}.login-signal-grid span{color:#aebeb4;font-size:13px;font-weight:700}.login-signal-grid strong{align-self:end;color:#fff;font-size:32px;line-height:1}.login-panel{display:grid;align-content:center;gap:24px;width:min(100%,520px);padding:40px;justify-self:center}.login-panel h1{margin:4px 0 0;font-size:34px;line-height:1.1;letter-spacing:0}.login-form{display:grid;gap:14px}.auth-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.login-field{display:grid;gap:7px}.login-field span{color:var(--muted);font-size:13px;font-weight:700}.text-input{min-height:44px;width:100%;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface);outline:none}.text-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #23785b24}.login-submit{min-height:44px}.login-error{margin:0;padding:10px 12px;border-left:4px solid var(--red);color:#842626;background:#fbebeb;line-height:1.45}.login-hint{display:grid;gap:4px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.login-hint strong{color:var(--ink)}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:24px;height:100vh;padding:22px;color:#eef5ec;background:var(--nav)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#e6f1dc;color:var(--nav);font-weight:800}.brand strong,.brand span{display:block}.brand span{margin-top:2px;color:#aebeb4;font-size:13px}.primary-nav{display:grid;gap:6px}.nav-item{width:100%;min-height:42px;padding:0 12px;border:1px solid transparent;border-radius:8px;color:#d9e6dc;text-align:left;background:transparent}.nav-item:hover,.nav-item.active{border-color:#ffffff1f;background:var(--nav-soft)}.sidebar-block{display:grid;gap:5px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.sidebar-block strong{color:#fff;font-size:15px}.sidebar-block span{color:#aebeb4;font-size:13px}.sidebar-block.compact{gap:10px}.label,.eyebrow{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.quality-row{display:flex;justify-content:space-between;gap:12px;font-size:13px}.quality-row strong{color:#f5fff3;font-size:13px}.main{display:grid;gap:22px;align-content:start;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar h1{margin:2px 0 0;font-size:30px;line-height:1.1;letter-spacing:0}.eyebrow{margin:0}.topbar-actions,.control-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap}input[type=date]{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface)}.select-input{min-height:40px;max-width:260px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface)}.company-search{position:relative;width:min(360px,42vw);min-width:260px}.company-search-input{width:100%;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface)}.company-search-input:focus{outline:2px solid rgba(39,108,170,.18);border-color:var(--blue)}.company-search-results{position:absolute;z-index:20;top:calc(100% + 6px);right:0;display:grid;width:min(460px,92vw);max-height:390px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.company-search-result{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(96px,.45fr);gap:10px;align-items:center;min-height:42px;padding:8px 10px;border:0;border-radius:6px;color:var(--ink);background:transparent;text-align:left}.company-search-result:hover{background:#f5f8f3}.company-search-result span,.company-search-result small{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.company-search-result strong{font-size:13px}.company-search-empty{padding:12px;color:var(--muted);font-size:13px}.primary-action,.secondary-action,.icon-action,.segment,.tab{min-height:40px;padding:0 14px;border-radius:8px;border:1px solid var(--line);color:var(--ink);background:var(--surface)}.primary-action{border-color:var(--green);color:#fff;background:var(--green)}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:40px;padding:0;color:#6d3f00;font-size:20px;line-height:1}.icon-action.active{border-color:#d9b35b;background:#f7e7c5}.secondary-action{color:var(--ink);background:var(--surface)}.segment:hover,.tab:hover,.secondary-action:hover{border-color:#b9c5b6}.api-pill,.badge,.user-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;color:var(--muted);font-size:12px;font-weight:700;background:var(--surface-2);white-space:nowrap}.user-pill,.api-pill.api{color:#18573f;background:#dff0e8}.api-pill.fallback{color:#6d3f00;background:#f7e7c5}.control-strip{padding:12px;border:1px solid var(--line);background:#ffffffb3}.segmented,.tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.segment,.tab{min-height:34px;border-color:transparent;background:transparent}.segment.active,.tab.active{border-color:var(--line);background:var(--surface);box-shadow:0 4px 10px #1e211d0f}.toggle,.slider-field{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--muted);font-size:14px}.toggle input{width:18px;height:18px;accent-color:var(--green)}.slider-field input{width:120px;accent-color:var(--blue)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card,.surface,.tab-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.metric-card{display:grid;gap:6px;min-height:112px;padding:16px}.metric-card span,.metric-card small{color:var(--muted);font-size:13px}.metric-card strong{font-size:28px;line-height:1}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:14px}.two-column-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:14px}.surface{min-width:0;padding:18px}.brief-surface{grid-row:span 2}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-heading h2{margin:2px 0 0;font-size:20px;line-height:1.2;letter-spacing:0}.badge.warning{color:#6d3f00;background:#f7e7c5}.brief-list,.checklist{display:grid;gap:12px;margin:0;padding:0;list-style:none}.brief-list li,.checklist li{padding:12px;border-left:4px solid var(--green);background:#f5f8f3;line-height:1.5}.brief-list li.warn,.checklist li.warn{border-left-color:var(--amber);background:#fbf4e6}.brief-list li.danger,.checklist li.danger{border-left-color:var(--red);background:#fbebeb}.news-list{display:grid;gap:12px}.news-item{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.news-item.high{border-color:#edc8c8}.news-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.news-item h3{margin:4px 0 0;font-size:17px;line-height:1.35;letter-spacing:0}.news-item p{margin:0;color:var(--muted);line-height:1.55}.item-meta{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.ticker-row,.ticker-grid{display:flex;flex-wrap:wrap;gap:6px}.ticker-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;color:#18573f;background:#e3f2ec;font-size:12px;font-weight:700}.button-chip{border:0}.button-chip.active{color:#fff;background:var(--green)}.watchlist-strip{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8}.muted-inline{color:var(--muted);font-size:13px}.research-question{display:grid;gap:4px;padding:10px 12px;border-left:4px solid var(--blue);background:#eef5fb;line-height:1.45}.research-question strong,.stack-section h3,.research-block h3{margin:0;font-size:14px;letter-spacing:0}.research-question span{color:var(--muted)}.stack-section{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.company-hero{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:18px;align-items:stretch}.company-hero h2{margin:4px 0 10px;font-size:28px;line-height:1.1;letter-spacing:0}.company-hero p{margin:0;color:var(--muted);line-height:1.6}.company-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.company-metrics .metric-card{min-height:94px;box-shadow:none}.valuation-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(320px,1.05fr);gap:14px}.assumption-surface,.valuation-result-surface{align-self:start}.assumption-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.valuation-methods{flex-wrap:wrap}.compact-assumptions{margin-bottom:12px}.assumption-field{display:grid;gap:7px;min-width:0}.assumption-field>span{color:var(--muted);font-size:13px;font-weight:700}.assumption-field>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.assumption-field small{display:inline-grid;min-width:34px;place-items:center;color:var(--muted);font-size:12px;font-weight:700}.assumption-field input{width:100%;min-width:0;height:38px;border:0;color:var(--ink);background:transparent;font-variant-numeric:tabular-nums;outline:none}.valuation-warning{margin-top:12px;padding:12px;border-left:4px solid var(--red);background:#fbebeb;color:#842626;line-height:1.45}.valuation-result{display:grid;gap:12px}.valuation-result.spaced{margin-top:12px}.value-card{display:grid;gap:8px;min-height:154px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#f5f8f3}.value-card.warn{background:#fbf4e6}.value-card.danger{background:#fbebeb}.value-card span,.value-card small{color:var(--muted);font-size:13px;font-weight:700}.value-card strong{font-size:clamp(28px,4vw,44px);line-height:1;letter-spacing:0}.scenario-item{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.scenario-item h3{margin:4px 0 0;font-size:24px;line-height:1;letter-spacing:0}.scenario-item.bear{border-color:#edc8c8}.scenario-item.bull{border-color:#bbdcca}.score-stack{display:grid;gap:10px}.score-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.score-row span{color:var(--muted);font-size:13px}.score-row strong{font-variant-numeric:tabular-nums}.research-block{display:grid;gap:10px;margin-top:16px}.chart{display:block;width:100%;height:260px}.compact-chart{height:220px}.price-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.price-range{flex-wrap:wrap}.price-chart{height:280px;margin-top:8px}.price-history-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin-top:12px}.price-history-meta strong{font-size:18px}.price-history-source{margin-left:auto;color:var(--muted);font-size:13px}.price-history-empty{display:grid;gap:6px;margin-top:16px;padding:28px 16px;border:1px dashed var(--line);border-radius:10px;background:var(--surface-2);text-align:center;color:var(--muted)}.score-framing{margin:4px 0 0;font-size:12px;line-height:1.5}.screener-controls{display:flex;flex-wrap:wrap;gap:12px 16px;margin:12px 0 16px}.screener-controls label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.screener-controls select,.screener-controls input{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:14px;color:var(--ink)}.screener-controls input[type=number]{width:88px}.screener-table{width:100%}.screener-row{cursor:pointer}.screener-row:hover{background:var(--surface-2)}.screener-pager{display:flex;align-items:center;gap:12px;margin-top:12px}.screener-pager .muted-inline{margin-right:auto}.fair-value-cta{display:grid;gap:10px;margin-top:12px}.fair-value-run{justify-self:start}.fair-value-empty{display:grid;gap:8px;justify-items:center;margin-top:16px;padding:28px 16px;border:1px dashed var(--line);border-radius:10px;background:var(--surface-2);text-align:center;color:var(--muted)}.fv-band{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.fv-cell{display:grid;gap:4px;padding:14px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);text-align:center}.fv-cell-base{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--surface))}.fv-cell-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.fv-cell strong{font-size:20px}.fv-compare{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:14px}.fv-compare>div{display:grid;gap:2px}.fv-compare-label{font-size:12px;color:var(--muted)}.fv-delta-pos{color:var(--green)}.fv-delta-neg{color:var(--red)}.fv-rationale{display:grid;gap:6px;margin-top:14px;font-size:14px;color:var(--muted)}.fv-rationale strong{color:var(--ink)}.fv-reasoning{margin-top:14px}.fv-block-label{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.fair-value-disclaimer{margin-top:16px;padding:10px 12px;border-left:3px solid var(--amber);border-radius:4px;background:color-mix(in srgb,var(--amber) 8%,var(--surface));color:var(--ink);font-size:13px}.fair-value-source{margin-top:8px;font-size:13px}.tab-panel{display:grid;gap:16px;padding:16px}.panel{display:block}.table-wrap{overflow-x:auto}table{width:100%;min-width:680px;border-collapse:collapse}th,td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:12px;text-transform:uppercase}td.numeric{text-align:right;font-variant-numeric:tabular-nums}.status{display:inline-flex;min-height:26px;align-items:center;padding:0 8px;border-radius:999px;color:var(--green);background:#e3f2ec;font-size:12px;font-weight:700}.status.warn{color:#7b4300;background:#f8e6c1}.status.danger{color:#842626;background:#f7d9d9}.strategy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.strategy-item{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.strategy-item header{display:flex;justify-content:space-between;gap:10px}.strategy-item h3,.research-layout h3{margin:0;font-size:16px;letter-spacing:0}.bar-track{height:10px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.bar-fill{width:var(--value);height:100%;border-radius:inherit;background:var(--blue)}.bar-fill.negative{background:var(--red)}.allocation-list,.ops-card-list,.run-log{display:grid;gap:12px}.ops-card-list.compact{gap:10px}.allocation-row,.ops-card,.signal-item,.report-item{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.allocation-row>div:first-child,.ops-card header,.report-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.allocation-row span,.signal-item p{color:var(--muted)}.allocation-row strong{font-variant-numeric:tabular-nums}.ops-card h3,.signal-item h3,.report-item h3{margin:4px 0 0;font-size:17px;line-height:1.3;letter-spacing:0}.signal-item p{margin:0;line-height:1.5}.total-row{margin-top:14px}.strategy-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;color:var(--muted);font-size:13px}.strategy-meta strong{display:block;color:var(--ink)}.research-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);gap:16px}.research-layout h3{margin-bottom:12px}textarea{width:100%;min-height:360px;padding:14px;resize:vertical;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fbfcfa;line-height:1.5}@media(max-width:1080px){.login-shell{grid-template-columns:1fr}.login-visual{min-height:360px}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.primary-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-item{text-align:center}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.two-column-grid,.company-hero,.valuation-grid,.research-layout{grid-template-columns:1fr}.company-search{width:min(420px,52vw)}}@media(max-width:700px){.login-visual,.login-panel{padding:22px}.login-signal-grid{grid-template-columns:1fr}.main{padding:18px}.topbar{align-items:stretch;flex-direction:column}.topbar h1{font-size:25px}.topbar-actions,.control-strip{align-items:stretch;flex-direction:column}.topbar-actions>*,.control-strip>*{width:100%}.company-search{width:100%;min-width:0}.company-search-results{left:0;right:auto;width:100%}.company-search-result{grid-template-columns:64px minmax(0,1fr)}.company-search-result small{grid-column:2}.segmented,.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid,.company-metrics,.assumption-grid,.strategy-list,.strategy-meta,.primary-nav{grid-template-columns:1fr}.section-heading{flex-direction:column}.chart{height:220px}}.holding-form{margin-bottom:18px}.holding-form-fields{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.holding-form-fields .assumption-field{flex:1 1 160px}.holding-form-fields .primary-action{flex:0 0 auto}.form-message{margin:10px 0 0;font-size:13px;color:var(--muted)}.form-message.warning{color:var(--amber)}.empty-note,.coverage-note,.compliance-note{color:var(--muted);font-size:13px}.coverage-note,.compliance-note{margin:12px 0 0;font-size:12px}.stale-badge{margin-left:6px;font-size:11px;padding:1px 6px}.link-action{padding:0;border:none;background:none;font:inherit;color:var(--blue);cursor:pointer}.link-action.danger{color:var(--red)}.link-action:disabled{opacity:.5;cursor:default}.portfolio-data-state{margin-bottom:20px}.portfolio-data-state p{margin:8px 0}.portfolio-data-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
