/* W3C — the Mac research desk, adapted for a horizontal browser workspace.
   Palette and geometry: CommonInvestor/Views/Components.swift. */
:root {
  color-scheme:dark;
  --bg:#050709; --panel:#0b0d11; --panel-raised:#10141c; --text:#edf0f5;
  --muted:#a8b0be; --primary:#fdb931; --primary-600:#edaa25; --blue:#72a6ff;
  --rule:#4b4027; --border:#383426; --field-bg:#192b4b; --field-bg-focus:#1e3457;
  --field-border:#78623b; --control:#20232b; --control-hover:#2a2e37;
  --chip:#181a20; --danger:#ff5c64; --warning:#ffbd6a; --success:#78c7a2;
  --soft-rule:#242830; --gold-wash:#fdb9310d; --blue-wash:#72a6ff0c;
  --shadow:0 20px 70px #0008; --radius:12px; --control-height:38px;
  --space-1:6px; --space-2:10px; --space-3:14px; --space-4:18px; --space-5:22px; --space-6:28px;
  --motion-fast:130ms; --motion:180ms; --header-height:112px;
  --suffix-width:108px; --field-stack-gap:0px;
  --serif:Georgia,'Times New Roman',serif; --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
}
#workspace-root { display:contents; }
.auth-gate { --text:#edf0f5; --muted:#a8b0be; --panel:#0b0d11; --border:#383426; --field-border:#78623b; --primary:#fdb931; --primary-600:#edaa25; --rule:#4b4027; --control:#20232b; --danger:#ff5c64; --gold-wash:#fdb9310d; --motion-fast:130ms; --serif:Georgia,'Times New Roman',serif; --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color-scheme:dark; min-height:100svh; display:grid; place-items:center; padding:clamp(22px,6vw,72px); background:radial-gradient(ellipse at 50% 38%,#18243a 0,#0b0d11 43%,#050709 78%); color:var(--text); }
.auth-card { width:min(100%,440px); display:flex; flex-direction:column; align-items:flex-start; padding:clamp(28px,6vw,48px); border:1px solid var(--border); border-top:2px solid var(--primary); border-radius:16px; background:color-mix(in srgb,var(--panel) 94%,transparent); box-shadow:0 28px 100px #0008; }
.auth-brand { display:flex; align-items:center; gap:12px; color:var(--text); text-decoration:none; font:700 12px/1.4 var(--sans); letter-spacing:2.3px; margin-bottom:44px; }
.auth-brand b { color:var(--primary); font-size:10px; font-weight:600; letter-spacing:2.7px; }
.auth-brand .brand-mark { width:48px; height:52px; font-size:34px; }
.auth-card>.eyebrow { color:var(--primary); font-size:10px; letter-spacing:2px; }
.auth-card h1 { margin:14px 0 12px; color:var(--text); font:400 clamp(30px,7vw,40px)/1.12 var(--serif); letter-spacing:-.6px; }
.auth-gate-status { min-height:44px; margin:0 0 22px; color:var(--muted); font-size:14px; line-height:1.65; }
.auth-gate-status[data-error=true] { color:var(--danger); }
.auth-gate[data-state=checking] .auth-gate-status::before,.auth-gate[data-state=mounting] .auth-gate-status::before { content:""; display:inline-block; width:10px; height:10px; margin-right:10px; border:1.5px solid var(--rule); border-top-color:var(--primary); border-radius:50%; vertical-align:0; animation:auth-spin .8s linear infinite; }
@keyframes auth-spin { to { transform:rotate(360deg); } }
.auth-gate-actions { width:100%; }
.auth-google-button,.auth-retry-button { width:100%; min-height:48px; display:flex; justify-content:center; align-items:center; gap:11px; border:1px solid var(--field-border); border-radius:8px; padding:12px 18px; background:var(--primary); color:#17120a; font:650 14px var(--sans); cursor:pointer; transition:filter var(--motion-fast),transform var(--motion-fast); }
.auth-google-button:hover,.auth-retry-button:hover { filter:brightness(1.07); transform:translateY(-1px); }
.auth-google-button:disabled { cursor:wait; }
.auth-google-button>span { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#fff; color:#4285f4; font-weight:750; }
.auth-retry-button { background:var(--control); color:var(--text); }
.auth-policy-links { display:flex; gap:10px; margin:34px 0 0; color:var(--muted); font-size:12px; }
.auth-policy-links a { color:var(--muted); text-underline-offset:3px; }
.auth-policy-links a:hover { color:var(--primary); }
@media(max-width:420px) { .auth-gate { padding:16px; }.auth-card { padding:30px 24px; }.auth-brand { margin-bottom:36px; } }
@media(prefers-reduced-motion:reduce) { .auth-gate[data-state=checking] .auth-gate-status::before,.auth-gate[data-state=mounting] .auth-gate-status::before { animation:none; } .auth-google-button,.auth-retry-button { transition:none; } }
:root[data-theme=dark] { color-scheme:dark; --bg:#050709; --panel:#0b0d11; --panel-raised:#10141c; --text:#edf0f5; --muted:#a8b0be; --primary:#fdb931; --primary-600:#edaa25; --blue:#72a6ff; --rule:#4b4027; --border:#383426; --field-bg:#192b4b; --field-bg-focus:#1e3457; --field-border:#78623b; --control:#20232b; --control-hover:#2a2e37; --chip:#181a20; --danger:#ff5c64; --warning:#ffbd6a; --success:#78c7a2; --soft-rule:#242830; --gold-wash:#fdb9310d; --blue-wash:#72a6ff0c; --shadow:0 20px 70px #0008; }
:root[data-theme=light] { color-scheme:light; --bg:#f4f2ed; --panel:#fff; --panel-raised:#faf9f5; --text:#171a20; --muted:#596170; --primary:#8c5c08; --primary-600:#754a00; --blue:#245cc0; --rule:#ded7c5; --border:#ded7c5; --field-bg:#ecf1fc; --field-bg-focus:#e3ebfb; --field-border:#c1b087; --control:#eeefef; --control-hover:#e3e5e8; --chip:#eeefef; --danger:#ba1021; --warning:#945000; --success:#1c7152; --soft-rule:#e4e5e8; --gold-wash:#8c5c080a; --blue-wash:#245cc00b; --shadow:0 20px 70px #26365322; }
@media(prefers-color-scheme:light) { :root:not([data-theme]) { color-scheme:light; --bg:#f4f2ed; --panel:#fff; --panel-raised:#faf9f5; --text:#171a20; --muted:#596170; --primary:#8c5c08; --primary-600:#754a00; --blue:#245cc0; --rule:#ded7c5; --border:#ded7c5; --field-bg:#ecf1fc; --field-bg-focus:#e3ebfb; --field-border:#c1b087; --control:#eeefef; --control-hover:#e3e5e8; --chip:#eeefef; --danger:#ba1021; --warning:#945000; --success:#1c7152; --soft-rule:#e4e5e8; --gold-wash:#8c5c080a; --blue-wash:#245cc00b; --shadow:0 20px 70px #26365322; } }
* { box-sizing:border-box; }
html { font-size:14px; scroll-behavior:auto; scroll-padding-top:calc(var(--header-height) + 72px); }
body { margin:0; background:var(--bg); color:var(--text); font:13px/1.5 var(--sans); }
body,header,main,.workspace-main { min-width:0; }
[hidden] { display:none!important; }
button,input,select,textarea { font-family:inherit; }
button { touch-action:manipulation; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:where(button,a,input,select,textarea,[tabindex]):focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--primary); outline-offset:2px; box-shadow:none; }
input:focus,select:focus,textarea:focus { box-shadow:none; border-color:var(--primary); }
button:disabled { opacity:.42; cursor:not-allowed; filter:none; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:3000; top:8px; left:14px; transform:translateY(-150%); padding:10px 16px; border-radius:7px; background:var(--primary); color:var(--bg); }
.skip-link:focus { transform:none; }
header { position:sticky; top:0; z-index:100; background:var(--panel); border-bottom:1px solid var(--border); box-shadow:none; backdrop-filter:none; }
.wrap { max-width:1440px; width:100%; min-height:66px; padding:12px 28px; margin:auto; display:flex; align-items:center; gap:14px; }
.brand-wordmark { display:flex; align-items:center; flex-shrink:0; gap:10px; text-decoration:none; color:var(--text); font:700 10px/1.4 var(--sans); letter-spacing:2px; }
.brand-wordmark b { color:var(--primary); font-size:9px; font-weight:600; letter-spacing:2.4px; }
.brand-mark { display:grid; place-items:center; width:36px; height:40px; border:1px solid var(--field-border); border-radius:9px; background:var(--gold-wash); color:var(--primary); font:26px var(--serif); letter-spacing:-2px; }
.header-context { font-size:9px; font-weight:650; letter-spacing:1.8px; color:var(--muted); padding-left:20px; border-left:1px solid var(--soft-rule); }
.spacer { flex:1; }
.wrap .btn { font-size:11px; min-height:34px; padding:7px 12px; white-space:nowrap; }
#premiumBtn { margin:0; background:var(--control); color:var(--text); border:1px solid var(--rule); }
#premiumBtn::before { content:'G'; font-weight:700; color:var(--primary); margin-right:7px; }
#shareBtn { background:transparent; }
.user-profile { display:flex; align-items:flex-end; flex-direction:column; gap:3px; margin-left:0!important; min-width:0; }
.account-email { font-size:11px; color:var(--muted); max-width:210px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.premium-chip { font-size:8px; letter-spacing:1.2px; padding:0; border:0; background:transparent; color:var(--primary); }
.workspace-nav { display:flex; gap:4px; position:relative; overflow-x:auto; overflow-y:hidden; width:100%; padding:0 max(20px,calc((100% - 1384px)/2)); border-top:1px solid var(--soft-rule); scrollbar-width:thin; scrollbar-color:var(--rule) transparent; overscroll-behavior-x:contain; scroll-padding-inline:12px; }
.workspace-nav::-webkit-scrollbar { height:3px; }.workspace-nav::-webkit-scrollbar-thumb { background:var(--rule); border-radius:4px; }
.workspace-link { position:relative; display:flex; flex:0 0 auto; align-items:center; gap:8px; min-height:44px; padding:0 16px; border:0; border-radius:0; font:500 12px var(--sans); color:var(--muted); background:transparent; cursor:pointer; white-space:nowrap; transition:color var(--motion-fast),background var(--motion-fast); }
.workspace-link:hover { color:var(--text); background:var(--gold-wash); }
.workspace-link.is-active { color:var(--text); background:var(--gold-wash); box-shadow:inset 0 -2px var(--primary); }
.workspace-link:focus-visible { outline-offset:-4px; border-radius:6px; }
.nav-icon { width:16px; height:16px; color:var(--muted); display:inline-flex; }
.nav-icon svg,[data-icon] svg,.placeholder-icon svg { width:100%; height:100%; stroke:currentColor; stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.is-active .nav-icon { color:var(--primary); }
main { display:block; min-height:calc(100vh - var(--header-height)); padding:0; }
.workspace-main { max-width:1336px; padding:32px 28px 56px; width:100%; margin:0 auto; }
/* Keep the worksheet on the normal paint path in Safari, including after scrolling. */
.workspace-page,#projectionsTab { animation:none; }
.page-heading,.studio-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; margin:0 0 26px; }
.eyebrow,.card-overline { font-size:9px; line-height:1.5; font-weight:700; letter-spacing:1.8px; color:var(--primary); }
h1,h2,h3,h4,p { margin-top:0; }
.page-heading h1,.studio-heading h1 { margin:8px 0 8px; font:400 clamp(28px,2.5vw,36px)/1.15 var(--serif); letter-spacing:-.7px; color:var(--text); }
.page-heading p,.studio-heading p { margin:0; max-width:650px; color:var(--muted); font-size:12px; }
.page-heading em,.welcome-panel em { font-style:normal; }
.desk-date { color:var(--muted); font:11px var(--mono); padding-top:5px; white-space:nowrap; }
.local-badge { display:inline-flex; width:fit-content; align-items:center; align-self:center; padding:5px 8px; border:1px solid var(--rule); border-radius:5px; color:var(--primary); background:var(--gold-wash); font:650 8px/1.4 var(--sans); letter-spacing:1px; white-space:normal; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:36px; padding:8px 14px; border:.7px solid var(--rule); border-radius:8px; background:color-mix(in srgb,var(--text) 5%,var(--panel)); color:var(--text); font:600 12px/1.35 var(--sans); cursor:pointer; box-shadow:none; transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast); text-decoration:none; }
.btn:hover:not(:disabled) { background:var(--control-hover); border-color:var(--field-border); box-shadow:none; filter:none; }
.btn.primary,.btn.primary.special-btn { background:#fdb931; border-color:#ffc955; color:#0a101a; font-weight:650; text-shadow:none; }
.btn.primary:hover:not(:disabled) { background:#ffca59; border-color:#ffd783; color:#0a101a; }
.btn.ghost { background:transparent; }
.btn.sm { font-size:11px; min-height:32px; padding:6px 11px; }
.btn:active:not(:disabled),.research-shortcuts button:active { transform:scale(.98); }
.text-button { background:transparent; border:0; color:var(--primary); font:500 12px var(--sans); padding:6px 0; cursor:pointer; text-align:left; }
.text-button:hover { color:var(--text); }
.dashboard-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 30px; }
.desk-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:0 0 14px; }
.desk-section-heading h2 { font:400 25px var(--serif); letter-spacing:-.3px; margin:6px 0 0; }
.desk-section-heading>span { color:var(--muted); font-size:10px; }
.dashboard-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:18px; margin-bottom:22px; }
.workspace-card { min-width:0; display:flex; flex-direction:column; gap:10px; padding:22px; border:.7px solid var(--border); border-radius:var(--radius); background:var(--panel); transition:border-color var(--motion); }
.workspace-card:hover { border-color:var(--field-border); }
.workspace-card>strong { font:400 23px/1.3 var(--serif); color:var(--text); overflow-wrap:anywhere; }
.workspace-card>span:not(.card-overline) { color:var(--muted); font-size:11px; }
.metric-card>strong { font-size:32px; font-variant-numeric:tabular-nums; }
.metric-card:last-child>strong { color:var(--primary); }
.company-card .text-button { margin-top:auto; }
.welcome-panel { position:relative; display:grid; grid-template-columns:1.1fr 1fr; gap:54px; padding:30px; border:1px solid var(--rule); border-radius:14px; background:linear-gradient(120deg,var(--panel),var(--panel-raised)); overflow:hidden; margin-bottom:22px; }
.welcome-panel>div:not(.brand-orbit) { position:relative; z-index:1; }
.welcome-panel h2 { font:400 39px/1.12 var(--serif); letter-spacing:-1px; margin:14px 0; }
.welcome-panel p { font-size:12px; color:var(--muted); line-height:1.7; margin:0 0 20px; }
.research-method { display:flex; flex-direction:column; justify-content:center; gap:18px; }
.research-method>div { display:flex; align-items:flex-start; gap:14px; }
.research-method>div>span { color:var(--primary); font:11px var(--mono); padding-top:3px; }
.research-method p { display:grid; gap:4px; margin:0; }
.research-method strong { font-size:13px; color:var(--text); font-weight:600; }
.research-method small { font-size:11px; color:var(--muted); }
.brand-orbit { position:absolute; right:-150px; top:-40px; width:400px; height:400px; opacity:.35; pointer-events:none; transform:rotate(-25deg); }
.brand-orbit i { position:absolute; inset:0; border:1px solid var(--rule); border-radius:50%; }.brand-orbit i:nth-child(2){inset:35px 0}.brand-orbit i:nth-child(3){inset:70px 0}.brand-orbit i:nth-child(4){inset:105px 0}
.foundation-note { display:flex; align-items:center; gap:14px; padding:18px 0; border-top:1px solid var(--soft-rule); }.foundation-note strong {font:400 18px var(--serif)}.foundation-note p{font-size:11px;color:var(--muted);margin:5px 0 0}.foundation-note>.text-button{margin-left:auto;white-space:nowrap}.note-spark{font-size:24px;color:var(--primary)}
/* Studio: Facts → Scenarios → Outcomes, with the native compact ribbon. */
body:not([data-page=studio]) #projectionsTab,body:not([data-page=studio]) .tab-nav { display:none!important; }
.tab-nav,#insightsTab,#hubTab,.ad-slot,#ad-banner,#communityProjectionsContainer,#tickerContainer,.ticker-container,.ticker-wrap,#ticker-bar,.mobile-bottom-bar { display:none!important; }
.studio-ribbon { position:sticky; z-index:60; top:var(--header-height); display:flex; align-items:center; justify-content:space-between; gap:14px; padding:8px 12px; margin:0 0 24px; border:1px solid var(--soft-rule); border-radius:8px; background:var(--panel); }
.studio-ribbon>div {display:flex;gap:5px}.studio-ribbon a {padding:5px 10px;color:var(--muted);text-decoration:none;font-size:11px;border-radius:5px}.studio-ribbon a:hover{background:var(--control);color:var(--text)}.studio-ribbon>span{font-size:10px;color:var(--muted);display:flex;gap:10px;align-items:center}.studio-ribbon strong {font:400 18px var(--serif);color:var(--primary)}
.workspace-main .grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.workspace-main .card { min-width:0; border:.7px solid var(--border); border-radius:var(--radius); background:var(--panel); box-shadow:none; overflow:visible; }
.workspace-main .card-h { display:flex; align-items:center; gap:12px; padding:20px 22px; border-bottom:1px solid var(--soft-rule); background:transparent; border-radius:0; min-height:0; }
.workspace-main .card-h h2 { font:600 16px/1.3 var(--sans); color:var(--text); margin:0; }
.section-number { display:grid; place-items:center; width:32px; height:34px; flex:0 0 auto; border-radius:6px; color:var(--primary); background:var(--gold-wash); font:11px var(--mono); }
.section-detail { font-size:11px; color:var(--muted); margin:4px 0 0; }
.workspace-main .card-b { padding:22px; min-width:0; }
.workspace-main label,.group-label {display:block;margin:0 0 7px;font:500 11px/1.4 var(--sans);color:var(--muted);letter-spacing:0;text-transform:none;white-space:normal;}
.workspace-main .two-col {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 18px;align-items:start}.workspace-main .two-col>div {min-width:0;margin:0;}
.field,.control-row { display:flex; gap:8px; align-items:center; min-width:0; margin:0; width:100%; }
.field>input,.control-row>input { flex:1 1 0; width:0; min-width:0; }
.field>select,.control-row>select { flex:0 0 auto; width:108px; max-width:45%; min-width:0; }
input[type=text],input[type=number],input[type=search],textarea { width:100%; max-width:100%; height:var(--control-height); min-height:var(--control-height); margin:0; padding:9px 11px; border:.7px solid var(--field-border); border-radius:7px; color:var(--text); background:var(--field-bg); box-shadow:none; font:400 13px/1.4 var(--mono); transition:background var(--motion-fast),border-color var(--motion-fast); }
input[type=search],input#stock {font-family:var(--sans)}
input::placeholder,textarea::placeholder {color:color-mix(in srgb,var(--muted) 75%,transparent);opacity:1}
input:focus,textarea:focus {background:var(--field-bg-focus)}
input:disabled {background:var(--control);opacity:.6;cursor:default}
input[type=number] {appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button {appearance:none;margin:0}
select { appearance:none; -webkit-appearance:none; display:block; width:100%; max-width:100%; min-width:0; height:32px; min-height:32px; padding:6px 30px 6px 11px; margin:0; border:1px solid transparent; border-radius:6px; color:var(--text); background-color:var(--control); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'%3E%3Cpath d='m2 4 3-3 3 3M2 8l3 3 3-3' fill='none' stroke='%239ca3af' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position:right 10px center; background-repeat:no-repeat; background-size:9px 12px; box-shadow:none; font:500 12px/1.35 var(--sans); cursor:pointer; text-overflow:ellipsis; }
select:hover {background-color:var(--control-hover)}select:focus{background-color:var(--control);border-color:transparent}select option{background:var(--control);color:var(--text);font:13px var(--sans)}
.chip {display:inline;padding:2px 5px;background:var(--gold-wash);border:0;border-radius:4px;font-size:9px;color:var(--muted);white-space:normal}.help{font:400 10px/1.55 var(--sans);color:var(--muted);margin:7px 0 0}
#studio-facts .card-b {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}#studio-facts .card-b>.two-col{display:contents}#studio-facts .card-b>.two-col:first-child{display:grid;grid-column:1/-1;grid-template-columns:2fr 1fr;padding-bottom:18px;border-bottom:1px solid var(--soft-rule);margin:0}
#studio-facts .inline-actions{grid-column:1/-1;margin:0!important;padding:0}.fact-derived{grid-column:1/-1;display:flex;gap:30px;padding-top:16px;border-top:1px solid var(--soft-rule)}.fact-derived .kpi-item{display:flex;flex-direction:column;gap:4px;padding:0;background:none;border:0}.fact-derived .label{font-size:10px;color:var(--muted)}.fact-derived .value{font:400 22px var(--serif);color:var(--text)}
.workspace-main .pill {display:flex;align-items:center;min-height:38px;height:auto;padding:7px 11px;background:var(--panel-raised);border:1px solid var(--soft-rule);border-radius:7px;gap:5px;max-width:100%;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.val-abbr{font:400 19px var(--serif);color:var(--text)}.val-full{font:400 9px var(--mono);color:var(--muted)}
#studio-scenarios {border:0;background:transparent}#studio-scenarios>.card-h{border:0;padding:0 0 18px}#studio-scenarios>.card-b{padding:0}#studio-scenarios>.card-h>div:last-child{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}#autoCalcBtn{min-width:0!important;font-size:10px}#caseModeBtn{font-size:10px;color:var(--primary)}
/* One four-track form grid: number spans two tracks, unit and method one each.
   Margin and P/E each span two, matching the numeric input widths above. */
.scenario-driver {
  display:grid; grid-column:1/-1; grid-template-columns:subgrid;
  align-items:end; column-gap:12px; min-width:0;
}
.scenario-driver>.scenario-value {
  display:grid; grid-column:1/4; grid-row:1; grid-template-columns:subgrid;
  align-items:end; row-gap:7px; min-width:0;
}
.scenario-value>label {grid-column:1/-1; margin:0; min-height:2.8em; align-content:end;}
.scenario-driver>.scenario-method {
  display:flex; flex-direction:column; grid-column:4; grid-row:1;
  gap:7px; min-width:0; margin:0;
}
.scenario-method>span:first-child {min-height:2.8em; align-content:end;}
.scenario-method select {height:var(--control-height);min-height:var(--control-height);}
.scenario-method-note {font-size:10px;line-height:1.5;color:var(--muted);margin:-8px 0 -6px;}
.scenario-value>.case-col,
#futureRevenueControls,#futureSharesControls,
#futureRevenueControls>div,#futureSharesControls>div {
  grid-column:1/-1; display:grid; grid-template-columns:subgrid;
  width:100%; min-width:0; gap:0 12px; align-items:end;
}
.scenario-value .control-row {
  display:grid; grid-column:1/-1; grid-template-columns:subgrid;
  align-items:stretch; width:100%; gap:12px; margin:0;
}
.scenario-value .control-row>input {grid-column:1/3;width:100%;height:var(--control-height);}
.scenario-value .control-row>select,
.scenario-value .control-row>.select-display {grid-column:3;width:100%;min-width:0;max-width:none;height:var(--control-height);}

.scenario-deck{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.scenario-card{--case-color:var(--primary);position:relative;min-width:0;display:flex;flex-direction:column;gap:20px;padding:22px;border:.7px solid var(--rule);border-radius:12px;background:var(--panel);border-top:2px solid var(--case-color)}.scenario-card.bull-case{--case-color:var(--blue);border-color:color-mix(in srgb,var(--blue) 28%,var(--panel));border-top-color:var(--blue)}.scenario-card.single-scenario{grid-column:1/-1;width:100%}.scenario-card.single-scenario .scenario-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 12px}.scenario-card.single-scenario .scenario-financials{grid-column:1/-1}.scenario-card>div{min-width:0}.scenario-heading{position:relative;padding-bottom:18px;border-bottom:1px solid var(--soft-rule)}.scenario-heading .eyebrow{color:var(--case-color)}.scenario-heading h3{font:400 28px var(--serif);letter-spacing:-.5px;margin:6px 0}.scenario-heading p{font-size:11px;color:var(--muted);margin:0}.scenario-emblem{position:absolute;right:0;top:0;display:grid;place-items:center;width:36px;height:38px;color:var(--case-color);background:color-mix(in srgb,var(--case-color) 8%,transparent);border-radius:8px;font:26px var(--serif)}
.scenario-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 12px}.scenario-fields .group-label {display:none}.scenario-fields .case-label{display:none}.scenario-financials{display:grid;grid-column:1/-1;grid-template-columns:subgrid;column-gap:12px;padding-top:18px;border-top:1px solid var(--soft-rule)}.scenario-financials>div{grid-column:span 2;min-width:0}.scenario-financials label{margin-bottom:7px;min-height:2.8em;align-content:end}.scenario-card .case-col{padding:0;background:none;border:0}.scenario-card .control-row{margin:0}.scenario-metric{margin-top:auto;padding-top:18px;border-top:1px solid var(--soft-rule);display:flex;justify-content:space-between;align-items:end;gap:10px}.scenario-metric span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.scenario-metric strong{font:400 30px var(--serif);color:var(--case-color)}
.legacy-control-mount{display:none!important}.scenario-card[style*="display: none"]{display:none!important}.single-scenario[hidden]{display:none!important}.dual-case-block.case-panel[style=""]{display:flex}
.scenario-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.calculation-feedback{flex:1 1 250px;font-size:11px;color:var(--muted);margin:0}.scenario-actions .btn{font-size:11px}#saveToHubBtn{background:var(--control);border-color:var(--rule);color:var(--text)}
.projection-results>.card-b{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:22px;align-items:start}.projection-results>.card-b>.two-col{grid-template-columns:1fr;gap:18px;margin:0!important}.results-chart-wrapper{display:block;min-width:0;margin:0}.results-col{min-width:0;width:100%;flex:auto}.chart-col{min-width:0;width:100%;max-width:100%;height:260px;margin-top:20px}.chart-col canvas{max-width:100%}.table{width:100%;table-layout:fixed;border:0;border-collapse:collapse;background:none;border-radius:0;overflow:visible;margin:0!important}.table th,.table td{padding:11px 10px;border-bottom:1px solid var(--soft-rule);background:transparent;text-align:right;vertical-align:middle;overflow-wrap:anywhere}.table th{text-align:left;font-size:11px;color:var(--muted);font-weight:500}.table td{font-size:12px}.table tr:last-child th,.table tr:last-child td{border-bottom:0}.table .kpi{font:400 31px var(--serif);color:var(--primary)}.table tr:first-child{background:var(--gold-wash)}.table td .val-abbr{font-size:17px}.table th{width:44%}.table.dual-case-results th{width:36%}.table.dual-case-results td:nth-child(2),.table.dual-case-results th:nth-child(2){color:var(--primary)}.table.dual-case-results td:nth-child(3),.table.dual-case-results th:nth-child(3){color:var(--blue)}
#dualOutcomeGrid{grid-column:1/-1;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}#dualOutcomeGrid .dual-outcome-col{padding:18px;border:1px solid var(--rule);border-top:2px solid var(--primary);border-radius:9px;background:var(--panel-raised);min-width:0}#dualOutcomeGrid .dual-outcome-col:last-child{border-top-color:var(--blue)}#dualOutcomeGrid h4{font:400 23px var(--serif);margin:0 0 10px;color:var(--primary)}#dualOutcomeGrid .dual-outcome-col:last-child h4{color:var(--blue)}#dualOutcomeGrid table{width:100%;font-size:11px}#dualOutcomeGrid td{padding:6px 0;overflow-wrap:anywhere}#dualOutcomeGrid td:first-child{color:var(--muted)}#dualOutcomeGrid td:not(:first-child){text-align:right}
#outcomeFlags{display:flex;flex-direction:column;gap:8px}.flag{font:400 11px/1.6 var(--sans)!important;border:1px solid var(--rule)!important;border-radius:7px!important;color:var(--muted)!important;background:var(--gold-wash)!important;padding:12px!important;overflow-wrap:anywhere}#spComparison{font-size:13px;color:var(--blue)}
/* Library and account share the Mac panel, company mark and deliberate empty states. */
.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:16px}.library-tabs{display:flex;gap:3px;padding:3px;background:var(--control);border-radius:7px}.library-tabs .btn{font-size:11px;min-height:30px;padding:6px 12px;border:0;background:transparent;color:var(--muted)}.library-tabs .btn.is-selected{background:var(--control-hover);color:var(--text)}.library-tabs span{font:10px var(--mono);color:var(--primary)}.library-search{margin:0!important;flex:1;max-width:350px}.library-search input{font:12px var(--sans);height:36px;min-height:36px}.library-guidance{color:var(--muted);font-size:11px;margin:18px 0}.research-list{display:flex;flex-direction:column;gap:12px}.saved-research-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px}.company-mark{display:grid;place-items:center;align-self:start;width:42px;height:44px;background:var(--gold-wash);border:1px solid var(--rule);border-radius:9px;color:var(--primary);font:400 18px var(--serif)}.research-summary{min-width:0;display:flex;flex-direction:column;gap:5px}.research-summary strong{font:400 21px/1.3 var(--serif);overflow-wrap:anywhere}.research-summary>span{font-size:10px;color:var(--muted)}.research-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:9px;color:var(--muted)}.research-meta .local-badge{font-size:7px;padding:3px 5px}.research-result{font:400 21px var(--serif);color:var(--primary)}.research-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;max-width:310px}.research-actions .danger-action{color:var(--muted);background:transparent;font-size:10px}.research-actions .danger-action:hover{color:var(--danger);border-color:var(--danger)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 24px;border:.7px solid var(--border);border-radius:12px;background:var(--panel);gap:12px}.empty-state .placeholder-icon{margin:0}.empty-state h2{font:400 24px var(--serif);margin:0}.empty-state p{max-width:420px;color:var(--muted);font-size:12px;margin:0}.empty-state .btn{margin-top:5px}
.unavailable-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:22px;align-items:start}.placeholder-panel{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-height:0;padding:30px;border:.7px solid var(--border);border-radius:12px;background:var(--panel);text-align:left;box-shadow:none}.placeholder-icon{display:grid;place-items:center;color:var(--primary);width:50px;height:52px;padding:13px;background:var(--gold-wash);border:1px solid var(--rule);border-radius:12px}.placeholder-panel .local-badge{align-self:flex-start}.placeholder-panel h2{font:400 28px/1.15 var(--serif);margin:0}.placeholder-panel p{max-width:500px;font-size:12px;line-height:1.7;color:var(--muted);margin:0}.placeholder-panel .btn{margin-top:4px}.capability-note{padding:24px;border-top:1px solid var(--rule)}.capability-note h3{font:400 23px var(--serif);margin:0 0 12px}.capability-note p{font-size:12px;color:var(--muted);line-height:1.7}
.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-card{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:24px;border:.7px solid var(--border);border-radius:12px;background:var(--panel);min-width:0}.settings-card h2{font:600 15px var(--sans);margin:0 0 6px}.settings-card p{color:var(--muted);font-size:12px;margin:0;line-height:1.7}.settings-wide{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.settings-wide .eyebrow{margin-bottom:10px}.account-details{display:grid;grid-template-columns:auto 1fr;gap:12px 22px;width:100%;padding-block:16px;border-block:1px solid var(--soft-rule);font-size:11px}.account-details span{color:var(--muted)}.account-details strong{font-weight:500;color:var(--primary);text-align:right;overflow-wrap:anywhere}#themeControlMount{width:100%}#themeControlMount>.field{min-width:0!important;display:grid!important;grid-template-columns:1fr!important;gap:8px}#themeControlMount label{display:none}.theme-segments{display:flex;gap:3px;padding:3px;border-radius:7px;background:var(--control);width:fit-content}.theme-segments button{border:0;border-radius:5px;color:var(--muted);background:transparent;padding:7px 16px;font-size:11px;cursor:pointer}.theme-segments button[aria-pressed=true]{color:var(--text);background:var(--control-hover)}.theme-swatches{display:flex;gap:10px;align-items:center;padding-top:5px}.swatch{width:32px;height:40px;border-radius:7px;border:1px solid var(--rule)}.swatch-dark{background:linear-gradient(#0b0d11 35%,#192b4b 35%,#192b4b 65%,#0b0d11 65%)}.swatch-light{background:linear-gradient(#fff 35%,#ecf1fc 35%,#ecf1fc 65%,#fff 65%)}.theme-swatches p{font-size:10px!important;margin-left:8px}
/* Dialogs stay in the top layer with native focus trapping and Escape support. */
dialog {max-height:calc(100dvh - 32px);max-width:calc(100vw - 32px);overflow:auto;color:var(--text);background:var(--panel);border:1px solid var(--rule);border-radius:12px;box-shadow:var(--shadow);padding:24px;}
dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}dialog h2{font:400 26px/1.2 var(--serif);margin:8px 0 12px}dialog p{color:var(--muted);font-size:12px;line-height:1.65}dialog .card{border:0;box-shadow:none;background:transparent}dialog .card-h{padding:20px 22px;border-bottom:1px solid var(--soft-rule)}dialog .card-b{padding:22px}dialog .field{display:flex;flex-direction:column;align-items:stretch;gap:8px}dialog label{font-size:11px;color:var(--muted);display:block;margin-bottom:7px}dialog .field input{width:100%}dialog .modal-content,dialog .modal-box{padding:0;background:transparent;border:0;box-shadow:none;max-width:100%;width:100%;margin:0}#loginModal {width:410px;text-align:left;padding:28px!important}#loginModal[open]{display:block!important}#loginModal:not([open]){display:none!important}#loginModal .modal-header{text-align:left;margin:0 0 20px}#loginModal h2{font:400 28px var(--serif)}#loginModalGoogle{width:100%;min-height:40px}#authModalMessage:empty{display:none}#loginModalClose{margin-top:10px}.research-dialog{width:430px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}#researchDialogError{color:var(--danger);margin:8px 0 0;min-height:0}#validationDialog{padding:0!important;border:1px solid var(--rule)!important;border-radius:12px!important}#validationDialogBody>div{margin-top:16px}#validationDialog select{margin-top:7px}#premiumLockModal{padding:28px!important;text-align:left!important}#premiumLockModal>div:first-child{font-size:26px!important}#premiumLockModal .full-width{width:100%}#saveOptionsDialog{min-width:0!important;width:390px!important}#saveOptionsDialog .modal-header{text-align:left}.inline-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}#accountMessage:empty{display:none}#accountMessage{padding:12px 14px;background:var(--gold-wash);border:1px solid var(--rule);border-radius:7px;font-size:12px;margin:0 0 16px}#accountMessage[data-error=true],#authModalMessage[data-error=true]{color:var(--danger);border-color:var(--danger)}
.workspace-notice{position:fixed;z-index:200;right:24px;bottom:24px;max-width:min(400px,calc(100vw - 32px));padding:14px 18px;color:var(--text);background:var(--panel-raised);border:1px solid var(--field-border);border-radius:10px;box-shadow:var(--shadow);font-size:12px;animation:page-enter var(--motion) ease-out}.workspace-notice[data-error=true]{border-color:var(--danger);color:var(--danger)}.toast{background:var(--panel-raised);border:1px solid var(--rule);color:var(--text);font-size:12px;max-width:calc(100vw - 32px)}
.ac{position:relative}.ac-list{z-index:80;background:var(--panel-raised);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:8px;max-height:260px}.ac-item{font-size:12px;padding:10px 12px}.ac-item:hover,.ac-item.active{background:var(--control-hover)}
.metric-updated{animation:metric-update 420ms ease-out}.btn[data-busy=true]{cursor:progress}.btn[data-busy=true]::after{content:'';width:11px;height:11px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@keyframes page-enter{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes metric-update{from{opacity:.5}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1550px){.workspace-main{padding-top:36px}.dashboard-grid{gap:20px}.welcome-panel{padding:34px}}
@media(max-width:1100px){.header-context{display:none}.workspace-main{padding:26px 24px 44px}.wrap{padding-inline:24px}.workspace-nav{padding-inline:16px}.workspace-link{padding-inline:13px}.scenario-deck{gap:14px}.scenario-card{padding:20px}.dashboard-grid{gap:14px}.workspace-card{padding:20px}.welcome-panel{gap:32px}.library-toolbar{flex-wrap:wrap}.library-search{max-width:none}.research-actions{max-width:240px}}
@media(max-width:800px){#studio-facts .card-b{grid-template-columns:repeat(2,minmax(0,1fr))}.projection-results>.card-b{grid-template-columns:minmax(0,1fr)}.projection-results>.card-b>.two-col{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr 1fr}.company-card{grid-column:1/-1}.welcome-panel{gap:28px;padding:26px}.welcome-panel h2{font-size:34px}.unavailable-layout{grid-template-columns:1fr}.capability-note{padding:20px 4px}.account-email{max-width:160px}.saved-research-card{grid-template-columns:42px minmax(0,1fr)}.research-actions{grid-column:2;justify-content:flex-start;max-width:none}.settings-wide{align-items:flex-start;flex-direction:column}.header-context{display:none}}
@media(max-width:600px){.wrap{gap:8px;padding:10px 14px;min-height:62px;flex-wrap:wrap}.brand-wordmark{font-size:9px;letter-spacing:1.6px}.brand-wordmark b{font-size:8px}.brand-mark{width:32px;height:36px;font-size:24px}.wrap .spacer{min-width:0}.wrap .btn{min-height:34px;padding:7px 9px;font-size:10px}#shareBtn{display:none}.account-email{max-width:125px;font-size:10px}.premium-chip{font-size:6px;letter-spacing:.7px}.user-profile{margin-left:auto!important}.wrap:has(#userProfile:not([style*="display: none"])) .spacer{display:none}.workspace-nav{padding-inline:8px;gap:2px}.workspace-link{min-height:44px;padding-inline:12px;font-size:11px;gap:7px}.nav-icon{width:14px;height:14px}.workspace-main{padding:24px 16px 36px}.page-heading,.studio-heading{gap:12px;margin-bottom:22px;flex-wrap:wrap}.page-heading h1,.studio-heading h1{font-size:29px;line-height:1.15}.page-heading p,.studio-heading p{font-size:12px}.desk-date{display:none}.studio-heading>.local-badge{display:none}.dashboard-actions{margin-bottom:26px}.dashboard-actions .btn{font-size:11px}.desk-section-heading{align-items:flex-start;flex-direction:column;gap:7px}.desk-section-heading h2{font-size:24px}.dashboard-grid{gap:12px}.workspace-card{padding:18px;gap:8px}.metric-card>strong{font-size:27px}.workspace-card>.card-overline{font-size:8px;letter-spacing:1px}.workspace-card>span:not(.card-overline){font-size:10px}.welcome-panel{grid-template-columns:1fr;gap:24px;padding:24px}.research-method{padding-top:22px;border-top:1px solid var(--soft-rule);gap:16px}.welcome-panel h2{font-size:34px}.foundation-note{align-items:flex-start;flex-wrap:wrap}.foundation-note>div{flex:1}.foundation-note>.text-button{margin-left:38px}.foundation-note strong{font-size:17px}.studio-ribbon{padding:7px 6px;margin-bottom:20px}.studio-ribbon a{padding:6px 8px;font-size:10px}.studio-ribbon strong{font-size:17px}.workspace-main .card-h{padding:18px;align-items:flex-start;gap:10px}.workspace-main .card-h h2{font-size:14px}.section-detail{font-size:10px}.section-number{width:28px;height:30px}.workspace-main .card-b{padding:18px}#studio-facts .card-b{gap:16px}#studio-facts .card-b>.two-col:first-child{grid-template-columns:minmax(0,1fr)}#studio-facts .card-b>.two-col:first-child>div:last-child{display:none}.workspace-main label{font-size:10px}.field,.control-row{gap:6px}.field>select,.control-row>select{width:100px;max-width:46%;font-size:11px;padding-left:8px;padding-right:24px;background-position:right 8px center}.workspace-main input{font-size:16px;height:40px;min-height:40px;padding:9px}.scenario-deck{grid-template-columns:minmax(0,1fr)}.scenario-card{padding:20px}.scenario-heading h3{font-size:27px}.scenario-heading p{font-size:11px}.scenario-actions{padding:16px;gap:8px}.calculation-feedback{flex-basis:100%;font-size:11px}.scenario-actions .btn{flex:1 1 auto;min-height:38px}.scenario-actions #clearAllBtn2{flex:0 1 auto}#studio-scenarios>.card-h{flex-wrap:wrap}#studio-scenarios>.card-h>div:last-child{margin-left:40px;justify-content:flex-start}.projection-results>.card-b>.two-col{grid-template-columns:1fr}.projection-results .table .kpi{font-size:26px}.projection-results .table th{font-size:10px}.projection-results .table th,.projection-results .table td{padding:11px 6px}.table td .val-abbr{font-size:15px}#dualOutcomeGrid{grid-template-columns:1fr}.library-toolbar{padding:12px;gap:12px}.library-tabs{width:100%}.library-tabs .btn{flex:1;white-space:normal;padding:7px 6px;font-size:10px}.library-search{width:100%;flex-basis:100%}.library-search input{font-size:14px}.saved-research-card{gap:12px;padding:18px;grid-template-columns:36px minmax(0,1fr)}.company-mark{width:36px;height:40px;font-size:16px}.research-summary strong{font-size:21px}.research-actions{grid-column:1/-1;gap:8px;margin-top:4px}.research-actions .btn{min-height:36px;flex:1 1 auto}.research-actions .danger-action{flex-basis:100%;padding-left:0;justify-content:flex-start}.empty-state{padding:30px 20px}.empty-state h2{font-size:24px}.settings-layout{grid-template-columns:minmax(0,1fr);gap:16px}.settings-card{padding:22px}.settings-wide{grid-column:auto}.unavailable-layout{gap:14px}.placeholder-panel{padding:24px;gap:16px}.placeholder-panel h2{font-size:27px}.placeholder-panel p{font-size:12px}.workspace-notice{right:16px;bottom:16px}.table.dual-case-results th{width:38%}.table.dual-case-results .kpi{font-size:22px}.fact-derived{gap:24px}}
@media(max-width:360px){.workspace-main{padding-inline:12px}.wrap{padding-inline:12px}.brand-wordmark{gap:8px}#premiumBtn{font-size:9px;letter-spacing:0;padding:7px 8px}.account-email{max-width:104px}.user-profile .premium-chip{font-size:5px}.wrap #logoutBtn{padding-inline:7px;margin-left:0!important}.dashboard-grid{grid-template-columns:1fr}.metric-card>strong{font-size:30px}#studio-facts .card-b{grid-template-columns:minmax(0,1fr)}.field>select,.control-row>select{max-width:44%}.studio-ribbon>span{gap:5px;font-size:9px}.scenario-card{padding:18px}.scenario-heading h3{font-size:26px}.table.dual-case-results .kpi{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.btn:active:not(:disabled){transform:none}.btn[data-busy=true]::after{border-style:dotted}}
/* Containment follows the workspace, never the viewport-sized legacy worksheet. */
.workspace-main .grid{width:100%;max-width:100%;margin:0;min-width:0}
.workspace-main .card{height:auto}
.workspace-main .card>.card-b{overflow:visible}
#studio-scenarios .scenario-fields .group-label{display:none}
.fact-derived .kpi-item{flex:0 1 160px;min-width:0}
#caseModeBtn{display:inline-flex!important}
#closeModalBtn{position:absolute;right:12px;top:12px;width:30px;height:30px;border:0;border-radius:6px;background:var(--control);color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
#loginModal .modal-box{position:static}
#researchDialogConfirm.danger-action{background:var(--danger);border-color:var(--danger);color:#fff}
.research-summary .research-result{font:400 20px var(--serif);color:var(--primary);margin-top:3px}
.field,.control-row{flex-direction:row}
.field>.unit-select,.control-row>.unit-select{width:100px;min-width:100px;max-width:none;flex:0 0 100px;height:38px;min-height:38px}
#futureRevenueControls,#futureSharesControls{min-width:0}
.scenario-fields .control-row>input{width:100%;min-width:0}
@media(max-width:600px){.field>.unit-select,.control-row>.unit-select{width:88px;min-width:88px;flex-basis:88px}.scenario-card .control-row{flex-direction:row}.scenario-card .control-row>select{height:var(--control-height);min-height:var(--control-height)}.scenario-method select{height:var(--control-height);min-height:var(--control-height)}}
.chart-col{height:auto;min-height:280px;position:relative}
.chart-col canvas{height:250px!important;max-height:250px}
.chart-caption{font-size:10px;line-height:1.6;color:var(--muted);margin:12px 0 0;padding-top:10px;border-top:1px solid var(--soft-rule)}
input[aria-invalid=true],input:user-invalid{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--field-bg))}
.flag.good{border-left:2px solid var(--success)!important}.flag.bad{border-left:2px solid var(--danger)!important}.flag.warn{border-left:2px solid var(--warning)!important}
dialog[open]{position:fixed;inset:0;margin:auto}
dialog .card,dialog .card-b{height:auto;overflow:visible}
.workspace-main :is(input,select,button,a){scroll-margin-top:calc(var(--header-height) + 64px);scroll-margin-bottom:20px}

/* Descriptive native menu options, abbreviated closed values. The transparent
   select remains the focusable hit target; its options retain normal text color. */
.select-display {display:block;position:relative;min-width:0;container-type:inline-size;height:var(--control-height);}
.select-display>select {overflow:hidden;width:100%;height:var(--control-height);min-height:var(--control-height);color:transparent;-webkit-text-fill-color:transparent;}
.select-display>select option {color:var(--text);-webkit-text-fill-color:var(--text);}
.select-value,.select-value-compact {
  position:absolute;inset:0 30px 0 11px;display:flex;align-items:center;
  pointer-events:none;color:var(--text);font:500 12px/1.35 var(--sans);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.select-value-compact{display:none;inset-inline:8px 24px;font-size:11px;}
@container(max-width:149px){.method-picker>.select-value{display:none}.method-picker>.select-value-compact{display:flex}}
.field>.unit-picker,.control-row>.unit-picker{flex:0 0 112px;width:112px;min-width:112px;max-width:none;}
.scenario-value .control-row>.select-display{width:100%;min-width:0;max-width:none;}

/* Shared rhythm across the workspace, including segmented controls and search. */
:root{--control-height:40px;--control-radius:7px;}
.workspace-main input[type=text],.workspace-main input[type=number],.workspace-main input[type=search],
.workspace-main select,dialog input,dialog select{height:var(--control-height);min-height:var(--control-height);border-radius:var(--control-radius);}
.btn{min-height:var(--control-height);border-radius:var(--control-radius);}
.workspace-nav>.workspace-link{flex:1 0 156px;min-width:156px;justify-content:center;}
.studio-ribbon>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;}
.studio-ribbon a{display:flex;align-items:center;justify-content:center;min-width:84px;min-height:34px;text-align:center;}
.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
.workspace-card{min-height:174px;}
.library-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;gap:4px;}
.library-tabs .btn{min-height:32px;height:32px;}
.library-search input{height:var(--control-height);min-height:var(--control-height);}
.theme-segments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;gap:4px;width:100%;}
.theme-segments button{height:32px;min-width:0;padding:6px 12px;}
.settings-card>.btn{margin-top:auto;}
.research-actions>.btn:not(.danger-action){flex:1 0 110px;}
@media(max-width:859px){.scenario-deck{grid-template-columns:minmax(0,1fr);}}
@media(max-width:800px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){
  :root{--control-height:42px;}
  .studio-ribbon a{min-width:58px;min-height:34px;padding-inline:5px;}
  .workspace-nav>.workspace-link{flex-basis:144px;min-width:144px;}
  .field>.unit-picker{flex-basis:100px;width:100px;min-width:100px;}
  .library-tabs .btn{height:34px;min-height:34px;}
  .theme-segments button{height:34px;}
}
@media(max-width:480px){
  .scenario-driver{display:flex;flex-direction:column;align-items:stretch;gap:14px;}
  .scenario-driver>.scenario-method{order:-1;}
  .scenario-driver>.scenario-value{grid-template-columns:repeat(3,minmax(0,1fr));}
  .scenario-value>label,.scenario-method>span:first-child{min-height:0;}
  .scenario-financials label{min-height:1.4em;}
  .dashboard-grid{grid-template-columns:minmax(0,1fr);}
}

/* Read-only financials occupy the same row height as editable fields. */
.workspace-main .pill{height:var(--control-height);min-height:var(--control-height);padding:4px 10px;}
.pill #marketValue,.pill #futureMarketValue{display:flex;flex-direction:column;gap:1px;min-width:0;}
.pill .val-abbr{font-size:18px;line-height:1.1;}
.pill .val-full{font-size:8px;line-height:1.1;margin:0;}
@media(max-width:600px){
  #studio-facts .card-b>.two-col>div:has(#revenue),
  #studio-facts .card-b>.two-col>div:has(#shares){grid-column:1/-1;}
}

@container(min-width:125px){
  .method-picker[data-value=absolute]>.select-value{display:flex;}
  .method-picker[data-value=absolute]>.select-value-compact{display:none;}
}

/* SEC financial history: retain the existing horizontal workspace shell. */
.history-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:20px;border:1px solid var(--border,#292d34);border-radius:12px;background:#0c1015}.history-toolbar label{display:flex;flex-direction:column;gap:8px;flex:1;min-width:160px}.history-toolbar input,.history-toolbar select{min-height:44px}.history-status{margin:18px 0;color:#a7aeba;line-height:1.6}.history-warning{color:#e6b36e}.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.history-card{padding:22px;background:#0c1015;border:1px solid #292d34;border-radius:12px;min-width:0}.history-card-heading,.history-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-card h2{font:24px Georgia,serif;margin:0}.history-card svg{width:100%;display:block;margin-top:18px}.history-style{display:flex;gap:4px}.history-style .btn{padding:8px 12px;min-height:36px}.history-style [aria-pressed=true]{border-color:#ed9b22;color:#ed9b22}.history-card-footer{border-top:1px solid #292d34;padding-top:14px;font-size:12px;color:#a7aeba}.history-card-footer .btn{min-height:36px;padding:8px 12px}.history-empty{height:235px;display:flex;align-items:center;justify-content:center;text-align:center;color:#a7aeba;line-height:1.6;padding:20px}.history-disclosure{font-size:13px;color:#a7aeba;line-height:1.7;margin:16px 0}.history-dialog{background:#10151c;color:#e6e8ed;border:1px solid #555c66;border-radius:12px;max-width:760px;width:90vw;max-height:85vh;padding:24px}.history-dialog::backdrop{background:#000b}.history-dialog section{border-top:1px solid #313640;padding:12px 0;overflow-wrap:anywhere}.history-dialog a{color:#edb05a;line-height:1.6}.history-dialog>button{float:right}.history-dialog p{line-height:1.6}@media(max-width:800px){.history-grid{grid-template-columns:1fr}.history-card{padding:16px}.history-card h2{font-size:21px}.history-toolbar{padding:14px}}
