:root { color-scheme: dark; --bg:#061725; --panel:#0a2032; --panel2:#0d293f; --ink:#f1f6f8; --muted:#8fa7b7; --line:rgba(163,199,219,.17); --accent:#82c8f5; --signal:#69ddb1; --warn:#f1bd68; --danger:#ee827d; --sidebar:16rem; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { background:var(--bg); scroll-behavior:smooth; }
body { min-width:320px; margin:0; background:var(--bg); color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:72px 72px; opacity:.12; }
body.demo-recording::after { position:fixed; z-index:90; right:1rem; bottom:1rem; padding:.55rem .7rem; border:1px solid var(--line); background:rgba(6,23,37,.9); color:var(--warn); content:"MODELLED REFERENCE DATA"; font-size:.55rem; font-weight:900; letter-spacing:.08em; pointer-events:none; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
.skip-link { position:fixed; top:.5rem; left:.5rem; z-index:100; transform:translateY(-180%); padding:.75rem 1rem; background:var(--ink); color:var(--bg); }
.skip-link:focus { transform:translateY(0); }
:focus-visible { outline:3px solid rgba(130,200,245,.72); outline-offset:3px; }
.eyebrow { margin:0; color:var(--accent); font:900 .68rem "Arial Narrow",sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.login-view { position:relative; z-index:1; min-height:100svh; display:grid; grid-template-rows:auto 1fr; padding:clamp(1.3rem,3vw,2.5rem); background:radial-gradient(circle at 20% 75%,rgba(130,200,245,.14),transparent 32%),linear-gradient(115deg,#061725 0 62%,#0a2032 62%); }
.login-brand,.app-brand { display:flex; align-items:center; gap:.8rem; color:var(--ink); text-decoration:none; }
.login-brand img,.app-brand img { object-fit:contain; }
.login-brand span,.app-brand span { display:grid; gap:.18rem; }
.login-brand strong,.app-brand strong { font:900 .75rem "Arial Narrow",sans-serif; letter-spacing:.18em; }
.login-brand small,.app-brand small { color:var(--muted); font-size:.62rem; }
.login-grid { width:min(100%,76rem); margin:auto; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(3rem,9vw,10rem); align-items:center; }
.login-intro h1 { max-width:44rem; margin:1.2rem 0 0; font:900 clamp(3.7rem,7vw,7rem)/.93 "Arial Narrow",sans-serif; letter-spacing:-.045em; }
.login-intro > p:not(.eyebrow) { max-width:39rem; margin:1.6rem 0 0; color:var(--muted); font-size:1.05rem; line-height:1.75; }
.login-proof { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }
.login-proof span { padding:.6rem .8rem; border:1px solid var(--line); color:var(--muted); font-size:.67rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.login-card { padding:clamp(1.8rem,4vw,3rem); border:1px solid var(--line); background:rgba(10,32,50,.88); box-shadow:0 35px 100px rgba(0,0,0,.3); backdrop-filter:blur(18px); }
.login-card h2 { margin:.9rem 0 0; font:900 2.2rem "Arial Narrow",sans-serif; letter-spacing:-.03em; }
.login-card > p:not(.eyebrow) { margin:1rem 0 2rem; color:var(--muted); font-size:.85rem; line-height:1.6; }
.login-card label { display:block; margin-bottom:.55rem; color:var(--muted); font-size:.7rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.login-card input,.login-card select { width:100%; padding:1rem; border:1px solid var(--line); background:var(--bg); color:var(--ink); }
.login-card button,.primary-action { width:100%; display:flex; justify-content:space-between; margin-top:.8rem; padding:1rem 1.1rem; border:1px solid var(--accent); background:var(--accent); color:#061725; font:900 .72rem "Arial Narrow",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.login-card small { display:block; margin-top:.8rem; color:var(--muted); font-size:.65rem; line-height:1.5; }
.login-card a { display:inline-block; margin-top:2rem; color:var(--accent); font-size:.72rem; font-weight:800; text-decoration:none; }
.login-card .consent-row { display:grid; grid-template-columns:auto 1fr; gap:.65rem; align-items:start; margin:1rem 0 .35rem; color:var(--muted); font-size:.67rem; font-weight:500; letter-spacing:0; line-height:1.45; text-transform:none; }
.login-card .consent-row input { width:1rem; height:1rem; min-height:0; margin:.08rem 0 0; padding:0; accent-color:var(--accent); }
.login-card button:disabled { cursor:wait; opacity:.65; }
.login-card .secondary-login-action { border-color:var(--line); background:transparent; color:var(--accent); }
.corporate-purchase-card { max-height:calc(100svh - 8rem); overflow:auto; }
.corporate-seat-emails { display:grid; gap:.7rem; margin-top:1rem; }
.corporate-seat-emails label { margin:0; }
.corporate-price-summary { margin-top:1rem; padding:.8rem 1rem; border:1px solid rgba(105,221,177,.35); background:rgba(105,221,177,.08); color:var(--signal); font-size:.7rem; font-weight:800; line-height:1.5; }
.login-status { min-height:1.1rem; margin:.65rem 0 0!important; color:#f1bd68!important; font-size:.67rem!important; }
.app { position:relative; z-index:1; min-height:100svh; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:20; width:var(--sidebar); display:flex; flex-direction:column; padding:1.35rem; border-right:1px solid var(--line); background:rgba(6,23,37,.96); backdrop-filter:blur(20px); }
.app-brand { min-height:3.6rem; padding-bottom:1.3rem; border-bottom:1px solid var(--line); }
.sidebar nav { display:grid; gap:.35rem; margin-top:1.5rem; }
.nav-item { display:grid; grid-template-columns:1.3rem 1fr; gap:.7rem; padding:.85rem .8rem; border:1px solid transparent; background:transparent; color:var(--muted); font-size:.75rem; text-align:left; }
.nav-item:hover,.nav-item.active { border-color:var(--line); background:var(--panel); color:var(--ink); }
.nav-item.active span { color:var(--accent); }
.sidebar-meta { display:grid; gap:.35rem; margin-top:auto; padding:1rem; border:1px solid var(--line); }
.sidebar-meta span { color:var(--warn); font-size:.62rem; font-weight:900; letter-spacing:.1em; }
.sidebar-meta small { color:var(--muted); font-size:.64rem; }
.workspace { min-height:100svh; margin-left:var(--sidebar); }
.workspace-head { min-height:5.5rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem clamp(1.2rem,3vw,2.5rem); border-bottom:1px solid var(--line); background:rgba(6,23,37,.84); backdrop-filter:blur(16px); }
.workspace-head h1 { margin:.3rem 0 0; font:900 1.2rem "Arial Narrow",sans-serif; text-transform:uppercase; }
.breadcrumb { color:var(--muted); font-size:.58rem; letter-spacing:.1em; }
.breadcrumb b { color:var(--accent); }
.workspace-actions { display:flex; gap:.7rem; align-items:center; }
.presentation-export { position:relative; }
.presentation-export summary { min-height:2.5rem; display:flex; gap:.42rem; align-items:center; padding:.65rem .85rem; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); cursor:pointer; font-size:.69rem; font-weight:750; list-style:none; white-space:nowrap; }
.presentation-export summary::-webkit-details-marker { display:none; }
.presentation-export summary svg { width:.95rem; height:.95rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.presentation-export[open] summary { border-color:var(--accent); color:var(--accent); }
.presentation-menu { position:absolute; z-index:40; top:calc(100% + .55rem); right:0; width:20rem; display:grid; gap:.45rem; padding:.75rem; border:1px solid var(--line); border-radius:.6rem; background:var(--panel); box-shadow:0 18px 50px rgba(20,46,65,.18); }
.presentation-menu > strong { padding:.2rem .35rem 0; color:var(--ink); font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; }
.presentation-divider { height:1px; margin:.25rem 0; background:var(--line); }
.workspace-actions .presentation-menu button { width:100%; min-height:2.65rem; border-radius:.35rem; text-align:left; }
.workspace-actions .presentation-menu button:disabled { cursor:wait; opacity:.58; }
.workspace-actions .presentation-menu .presentation-download { border-color:var(--accent); background:var(--accent); color:#fff; }
.presentation-menu small { padding:.2rem .35rem; color:var(--muted); font-size:.6rem; line-height:1.45; }
.model-status { color:var(--muted); font-size:.66rem; }
.model-status i { display:inline-block; width:.45rem; height:.45rem; margin-right:.35rem; border-radius:50%; background:var(--signal); box-shadow:0 0 12px var(--signal); }
.workspace-actions button,.panel-head button { padding:.65rem .85rem; border:1px solid var(--line); background:var(--panel); color:var(--ink); font-size:.66rem; }
.mobile-menu { display:none; border:1px solid var(--line); background:var(--panel); color:var(--ink); }
.view { display:none; padding:clamp(1rem,2.5vw,2rem); }
.view.active { display:block; }
.analyse-layout { display:grid; grid-template-columns:minmax(22rem,.76fr) minmax(34rem,1.24fr); gap:1rem; align-items:start; }
.input-panel,.results-panel,.thesis-input,.challenge-result,.ledger-list article { border:1px solid var(--line); background:rgba(10,32,50,.78); }
.input-panel { padding:clamp(1.2rem,2.3vw,2rem); }
.panel-head,.results-summary,.distribution-head { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.panel-head h2,.results-summary h2,.view-intro h2,.thesis-grid h3 { margin:.55rem 0 0; font:900 clamp(1.5rem,3vw,2.25rem) "Arial Narrow",sans-serif; letter-spacing:-.025em; }
.demo-library { margin-top:1.1rem; padding:1rem; border:1px solid var(--line); background:rgba(6,23,37,.55); }
.demo-library p { display:flex; justify-content:flex-start; gap:.8rem; margin:0 0 .7rem; color:var(--muted); font-size:.67rem; font-weight:800; letter-spacing:.04em; }
.demo-library p span { color:var(--warn); font-size:.56rem; }
.demo-library > div { display:flex; flex-wrap:wrap; gap:.4rem; }
.demo-library button { min-height:1.85rem; padding:.4rem .55rem; border:1px solid var(--line); background:transparent; color:var(--muted); font-size:.58rem; }
.demo-library button:hover,.demo-library button.active { border-color:var(--accent); background:rgba(130,200,245,.11); color:var(--ink); }
.asset-engine { display:grid; gap:.7rem; margin-top:.75rem; padding:1rem; border:1px solid var(--line); background:rgba(13,41,63,.72); }
.asset-engine > div:first-child { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.asset-engine > div:first-child span { color:var(--accent); font-size:.56rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.asset-engine > div:first-child strong { font:900 .7rem "Arial Narrow",sans-serif; text-transform:uppercase; }
.asset-engine > p { margin:0; color:var(--muted); font-size:.61rem; line-height:1.5; }
.asset-engine-inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; }
.asset-engine-inputs label { position:relative; display:grid; gap:.3rem; min-width:0; color:var(--muted); font-size:.5rem; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.asset-engine-inputs input { width:100%; min-height:2.4rem; padding:.55rem .7rem; border:1px solid var(--line); background:var(--bg); color:var(--ink); font:700 .67rem inherit; }
.asset-engine-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); }
.asset-engine-metrics div { min-width:0; display:grid; gap:.3rem; padding:.65rem; background:var(--bg); }
.asset-engine-metrics span { overflow:hidden; color:var(--muted); font-size:.5rem; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.asset-engine-metrics strong { color:var(--ink); font-size:.68rem; }
.asset-engine-metrics small { color:var(--muted); font-size:.48rem; line-height:1.35; }
.asset-engine > small { color:var(--warn); font-size:.52rem; line-height:1.4; }
.category-demo-links { display:flex; flex-wrap:wrap; gap:.35rem .7rem; align-items:center; padding:.7rem 0 0; }
.category-demo-links span { color:var(--muted); font-size:.56rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.category-demo-links a { color:var(--accent); font-size:.58rem; font-weight:800; text-decoration:none; text-transform:uppercase; }
.category-demo-links a:hover { text-decoration:underline; }
.input-panel > label,.field-grid label { position:relative; display:grid; gap:.45rem; margin-top:1rem; color:var(--muted); font-size:.66rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.input-panel input,.input-panel select,.thesis-input textarea { width:100%; min-height:2.75rem; padding:.75rem; border:1px solid var(--line); border-radius:0; background:var(--bg); color:var(--ink); }
.input-panel input { color:var(--ink); -webkit-text-fill-color:var(--ink); font-size:.78rem; font-weight:750; opacity:1; }
.input-panel input[type="number"] { appearance:textfield; -moz-appearance:textfield; }
.input-panel input[type="number"]::-webkit-inner-spin-button,.input-panel input[type="number"]::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
.input-panel select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%); background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%; background-size:5px 5px; background-repeat:no-repeat; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 .75rem; }
.field-grid label span { position:absolute; right:.6rem; bottom:.78rem; color:var(--muted); font-size:.56rem; font-weight:500; letter-spacing:0; text-transform:none; pointer-events:none; }
.field-grid input { padding-right:6.4rem; }
.input-subhead { margin:1.6rem 0 .5rem; padding-top:1.2rem; border-top:1px solid var(--line); color:var(--ink); font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.info { display:inline-grid; width:1.15rem; height:1.15rem; place-items:center; margin-left:.3rem; padding:0; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--muted); font-size:.6rem; }
.slider-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem .9rem; }
.slider-grid label,.scenario-sliders label { display:grid; grid-template-columns:1fr auto; gap:.4rem; color:var(--muted); font-size:.66rem; }
.slider-grid input,.scenario-sliders input { grid-column:1 / 3; width:100%; height:3px; accent-color:var(--accent); }
.slider-grid output,.scenario-sliders output { color:var(--ink); font-weight:800; }
.results-panel { overflow:hidden; }
.results-summary { padding:1.5rem; border-bottom:1px solid var(--line); }
.results-summary > div > p:last-child { margin:.4rem 0 0; color:var(--muted); font-size:.62rem; letter-spacing:.08em; }
.metric-label { display:inline-flex; align-items:center; gap:.35rem; }
.metric-info { position:relative; width:1.05rem; height:1.05rem; display:inline-grid; flex:0 0 auto; place-items:center; padding:0; border:1px solid rgba(130,200,245,.38); border-radius:50%; background:transparent; color:var(--accent); font:800 .58rem/1 Inter,sans-serif; letter-spacing:0; text-transform:none; }
.metric-info::after { position:absolute; z-index:40; right:-.45rem; bottom:calc(100% + .65rem); width:min(18rem,70vw); padding:.8rem .9rem; border:1px solid rgba(130,200,245,.38); background:#102d43; color:#dceaf2; box-shadow:0 16px 38px rgba(0,0,0,.38); content:attr(data-tooltip); font:500 .69rem/1.55 Inter,sans-serif; letter-spacing:0; text-align:left; text-transform:none; opacity:0; visibility:hidden; transform:translateY(.25rem); transition:opacity .16s ease,transform .16s ease,visibility .16s ease; pointer-events:none; }
.metric-info::before { position:absolute; z-index:41; right:.14rem; bottom:calc(100% + .4rem); width:.5rem; height:.5rem; border-right:1px solid rgba(130,200,245,.38); border-bottom:1px solid rgba(130,200,245,.38); background:#102d43; content:""; opacity:0; visibility:hidden; transform:rotate(45deg); transition:opacity .16s ease,visibility .16s ease; }
.metric-info:hover::after,.metric-info:hover::before,.metric-info:focus::after,.metric-info:focus::before { opacity:1; visibility:visible; transform:translateY(0); }
.metric-info:hover::before,.metric-info:focus::before { transform:rotate(45deg); }
.dimension-grid { display:grid; grid-template-columns:repeat(5,1fr); border-bottom:1px solid var(--line); }
.dimension-grid article { display:grid; gap:.55rem; min-height:8.5rem; align-content:center; padding:1rem; border-right:1px solid var(--line); }
.dimension-grid article:last-child { border-right:0; }
.dimension-grid small,.dimension-grid span { color:var(--muted); font-size:.58rem; text-transform:uppercase; letter-spacing:.05em; }
.dimension-grid strong { font:900 1.65rem "Arial Narrow",sans-serif; }
.good { color:var(--signal)!important; }
.prima-score-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; border-bottom:1px solid var(--line); }
.prima-score-grid article { display:grid; gap:.5rem; min-height:9.5rem; align-content:center; padding:1.25rem; border-right:1px solid var(--line); }
.prima-score-grid article:last-child { border-right:0; }
.prima-score-grid span { color:var(--accent); font-size:.68rem; font-weight:900; letter-spacing:.12em; }
.prima-score-grid strong { font:900 2.5rem "Arial Narrow",sans-serif; }
.prima-score-grid small { color:var(--muted); font-size:.62rem; text-transform:uppercase; }
.score-bar { height:3px; margin-top:.45rem; background:var(--line); }
.score-bar i { display:block; width:71%; height:100%; background:var(--signal); }
.distribution { padding:1.5rem; border-bottom:1px solid var(--line); }
.distribution h3 { margin:.45rem 0 0; font:900 1.1rem "Arial Narrow",sans-serif; text-transform:uppercase; }
.distribution-head > span { color:var(--muted); font-size:.58rem; }
.range-plot { position:relative; height:7.5rem; margin-top:1.2rem; }
.range-plot > i { position:absolute; top:2.2rem; left:5%; right:5%; height:3px; background:linear-gradient(90deg,var(--danger),var(--warn),var(--signal)); }
.range-plot > span { position:absolute; top:1.65rem; display:grid; gap:.2rem; transform:translateX(-50%); text-align:center; }
.range-plot > span::before { content:""; width:.9rem; height:.9rem; margin:auto; border:3px solid var(--panel); border-radius:50%; background:var(--ink); }
.range-plot .bear { left:16%; }.range-plot .base { left:54%; }.range-plot .bull { left:86%; }
.range-plot b { margin-top:.35rem; font:900 1rem "Arial Narrow",sans-serif; }.range-plot small { color:var(--muted); font-size:.55rem; }
.interpretation { padding:1.5rem; background:var(--panel2); }
.interpretation > p:not(.eyebrow) { color:var(--muted); font-size:.82rem; line-height:1.7; }
.interpretation button { padding:0; border:0; background:transparent; color:var(--accent); font-size:.7rem; font-weight:800; }
.target-news { padding:1.5rem; border-top:1px solid var(--line); background:#fff; }
.target-news-head { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.target-news h3 { margin:.4rem 0 0; font:900 1.15rem "Arial Narrow",sans-serif; text-transform:uppercase; }
.target-news-head p:last-child { margin:.35rem 0 0; color:var(--muted); font-size:.62rem; line-height:1.5; }
.target-news-head button { padding:.55rem .7rem; border:1px solid var(--line); border-radius:.25rem; background:#f4f7f9; color:var(--accent); font-size:.6rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.target-news-head button:disabled { cursor:wait; opacity:.55; }
.target-news ol { display:grid; gap:0; margin:1rem 0 .8rem; padding:0; list-style:none; border-top:1px solid var(--line); }
.target-news li { display:grid; gap:.3rem; padding:.75rem 0; border-bottom:1px solid var(--line); }
.target-news li a { color:var(--ink); font-size:.72rem; font-weight:800; line-height:1.45; text-decoration:none; }
.target-news li a:hover { color:var(--accent); text-decoration:underline; }
.target-news li span,.target-news > small { color:var(--muted); font-size:.55rem; line-height:1.5; }
.target-news .target-news-empty { color:var(--muted); font-size:.68rem; line-height:1.5; }
.view-intro { display:grid; grid-template-columns:1fr 1fr; gap:.5rem 4rem; margin-bottom:2rem; }
.view-intro .eyebrow { grid-column:1 / 3; }
.view-intro p:last-child { margin:0; color:var(--muted); line-height:1.65; }
.comparison-table-wrap { overflow:auto; border:1px solid var(--line); }
.comparison-table { width:100%; min-width:64rem; border-collapse:collapse; background:rgba(10,32,50,.78); }
.comparison-table th,.comparison-table td { padding:1.2rem; border-bottom:1px solid var(--line); text-align:left; }
.comparison-table th { color:var(--muted); font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; }
.comparison-table td { color:var(--muted); font-size:.77rem; }.comparison-table td:first-child { color:var(--ink); }.comparison-table td strong { display:block; }.comparison-table td small { display:block; margin-top:.25rem; color:var(--muted); font-size:.58rem; }
.comparison-table td b { color:var(--ink); font-size:1rem; }
.compare-insight { display:grid; grid-template-columns:auto 1fr; gap:1.5rem; margin-top:1rem; padding:1.3rem; border:1px solid var(--line); background:var(--panel2); }
.compare-insight span { color:var(--signal); font-size:.62rem; font-weight:900; letter-spacing:.1em; }.compare-insight p { margin:0; color:var(--muted); font-size:.8rem; line-height:1.6; }
.saved-projects-toolbar { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:1rem; padding:1rem 1.2rem; border:1px solid var(--line); background:#fff; }
.saved-projects-toolbar span { color:var(--muted); font-size:.7rem; }
.saved-projects-toolbar button { padding:.7rem .85rem; border:1px solid #17699a; border-radius:.3rem; background:#17699a; color:#fff; font-size:.62rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.saved-projects-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.saved-projects-grid article { min-height:14rem; display:flex; flex-direction:column; padding:1.4rem; border:1px solid var(--line); border-top:3px solid #17699a; border-radius:.5rem; background:#fff; box-shadow:0 14px 38px rgba(29,64,87,.06); }
.saved-projects-grid article > span { color:#17699a; font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.saved-projects-grid h3 { margin:.8rem 0 0; color:#102337; font:900 1.35rem "Arial Narrow",sans-serif; }
.saved-projects-grid p { margin:.55rem 0 0; color:#647986; font-size:.65rem; }
.saved-projects-grid article > div { display:flex; gap:.5rem; margin-top:auto; padding-top:1.4rem; }
.saved-projects-grid button { padding:.65rem .75rem; border:1px solid rgba(23,105,154,.25); border-radius:.25rem; background:#edf5f9; color:#17699a; font-size:.6rem; font-weight:900; text-transform:uppercase; }
.saved-projects-grid .remove-project { border-color:rgba(180,65,60,.2); background:#fff4f3; color:#9c403c; }
.saved-projects-empty { grid-column:1 / -1; margin:0; padding:2rem; border:1px dashed var(--line); background:#fff; color:var(--muted); line-height:1.6; text-align:center; }
.notification-settings { max-width:52rem; display:grid; gap:1rem; padding:clamp(1.25rem,3vw,2rem); border:1px solid var(--line); border-top:3px solid #17699a; border-radius:.6rem; background:#fff; box-shadow:0 16px 45px rgba(29,64,87,.06); }
.notification-switch { display:flex; justify-content:space-between; gap:2rem; align-items:center; padding-bottom:1.25rem; border-bottom:1px solid var(--line); }
.notification-switch > div { display:grid; gap:.4rem; }
.notification-switch strong { color:#102337; font:900 1.15rem "Arial Narrow",sans-serif; text-transform:uppercase; }
.notification-switch > div span { color:#647986; font-size:.72rem; line-height:1.5; }
.switch { display:flex; gap:.55rem; align-items:center; color:#496472; font-size:.65rem; font-weight:900; text-transform:uppercase; }
.switch input { position:absolute; opacity:0; pointer-events:none; }
.switch > span { position:relative; width:2.8rem; height:1.5rem; border-radius:2rem; background:#cfdae0; transition:.18s ease; }
.switch > span::after { position:absolute; top:.2rem; left:.2rem; width:1.1rem; height:1.1rem; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.18); content:""; transition:.18s ease; }
.switch input:checked + span { background:#19765f; }
.switch input:checked + span::after { transform:translateX(1.3rem); }
.switch input:focus-visible + span { outline:3px solid rgba(23,105,154,.35); outline-offset:3px; }
.notification-frequency { display:grid; grid-template-columns:1fr minmax(11rem,15rem); gap:1rem; align-items:center; color:#405d6c; font-size:.7rem; font-weight:900; text-transform:uppercase; }
.notification-frequency select { min-height:2.8rem; padding:.65rem .8rem; border:1px solid rgba(29,64,87,.2); border-radius:.25rem; background:#f5f8fa; color:#102337; }
.notification-settings fieldset { margin:0; padding:1.2rem; border:1px solid rgba(29,64,87,.15); }
.notification-settings legend { padding:0 .4rem; color:#102337; font-size:.7rem; font-weight:900; text-transform:uppercase; }
.notification-settings fieldset > p { margin:.2rem 0 1rem; color:#647986; font-size:.65rem; line-height:1.5; }
.notification-projects { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.notification-projects label { display:flex; gap:.6rem; align-items:center; padding:.7rem; border:1px solid rgba(29,64,87,.12); background:#f7f9fa; color:#294657; font-size:.68rem; }
.notification-projects input { width:1rem; height:1rem; accent-color:#17699a; }
.notification-projects > span { grid-column:1 / -1; color:#647986; font-size:.68rem; }
.notification-actions { display:flex; gap:1rem; align-items:center; }
.notification-actions button { padding:.8rem 1rem; border:1px solid #17699a; border-radius:.3rem; background:#17699a; color:#fff; font-size:.62rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.notification-actions button:disabled { cursor:wait; opacity:.6; }
.notification-actions span,.notification-settings > small { color:#647986; font-size:.62rem; line-height:1.5; }
.notification-option { display:flex; gap:.75rem; align-items:flex-start; padding:1rem; border:1px solid rgba(29,64,87,.15); background:#f7f9fa; }
.notification-option input { width:1rem; height:1rem; margin-top:.15rem; accent-color:#17699a; }
.notification-option span { display:grid; gap:.3rem; color:#294657; font-size:.7rem; }
.notification-option small { color:#647986; line-height:1.5; }
.compare-picker,.briefing-toolbar { display:flex; gap:1rem; align-items:center; justify-content:space-between; margin-bottom:1rem; padding:1rem 1.2rem; border:1px solid var(--line); background:#fff; color:#536978; font-size:.7rem; }
.compare-picker > div { display:flex; flex-wrap:wrap; gap:.5rem; }
.compare-picker label { display:flex; gap:.35rem; align-items:center; padding:.45rem .6rem; border:1px solid rgba(23,105,154,.2); border-radius:2rem; color:#294657; }
.compare-picker input { accent-color:#17699a; }
.workspace-card { display:grid; gap:1rem; padding:clamp(1.2rem,3vw,2rem); border:1px solid var(--line); border-top:3px solid #17699a; border-radius:.6rem; background:#fff; box-shadow:0 16px 45px rgba(29,64,87,.06); }
.workspace-card h3 { margin:0; color:#102337; font:900 1.25rem "Arial Narrow",sans-serif; text-transform:uppercase; }
.workspace-card label { display:grid; gap:.4rem; color:#405d6c; font-size:.65rem; font-weight:800; text-transform:uppercase; }
.workspace-card input,.workspace-card select,.workspace-card textarea { width:100%; min-height:2.7rem; padding:.7rem; border:1px solid rgba(29,64,87,.2); border-radius:.25rem; background:#fff; color:#102337; font:inherit; text-transform:none; }
.team-layout { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:start; }
.inline-fields { display:grid; grid-template-columns:2fr 1fr; gap:.75rem; }
.workspace-actions-row { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; }
.workspace-actions-row button,.briefing-toolbar button { padding:.75rem .9rem; border:1px solid #17699a; border-radius:.3rem; background:#17699a; color:#fff; font-size:.6rem; font-weight:900; text-transform:uppercase; }
.notification-actions #send-insights-now { background:#fff; color:#17699a; }
.workspace-actions-row span { color:#647986; font-size:.62rem; }
.thesis-items,.team-members,.decision-records,.briefing-events { display:grid; gap:.7rem; }
.thesis-item { display:grid; grid-template-columns:2fr .8fr .8fr auto; gap:.55rem; padding:.8rem; border:1px solid rgba(29,64,87,.14); background:#f7f9fa; }
.thesis-item textarea { grid-column:1 / 4; }
.thesis-item .remove-thesis { grid-column:4; grid-row:1 / 3; padding:.5rem; border:1px solid rgba(180,65,60,.25); background:#fff4f3; color:#9c403c; }
.team-members > div { display:flex; justify-content:space-between; gap:1rem; padding:.7rem; border:1px solid rgba(29,64,87,.12); color:#294657; font-size:.68rem; }
.team-members button { border:0; background:transparent; color:#9c403c; font-size:.6rem; font-weight:900; text-transform:uppercase; }
.decision-records article,.briefing-events article { display:grid; gap:.4rem; padding:1rem; border:1px solid rgba(29,64,87,.13); background:#f8fafb; }
.decision-records strong,.briefing-events a { color:#102337; font-size:.78rem; font-weight:800; }
.decision-records p { margin:0; color:#536978; font-size:.68rem; line-height:1.55; }
.decision-records small,.briefing-events small { color:#718692; font-size:.58rem; line-height:1.45; }
.briefing-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-bottom:1rem; border:1px solid rgba(29,64,87,.13); background:rgba(29,64,87,.13); }
.briefing-summary article { min-width:0; display:grid; gap:.45rem; padding:1rem 1.2rem; background:#fff; }
.briefing-summary span { color:#718692; font-size:.55rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.briefing-summary strong { overflow:hidden; color:#102337; font:900 1.2rem "Arial Narrow",sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.briefing-events { grid-template-columns:repeat(2,minmax(0,1fr)); }
.briefing-events article > span { width:max-content; padding:.25rem .4rem; border-radius:2rem; background:#eaf4f4; color:#19765f; font-size:.5rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.briefing-events article p { margin:.25rem 0 0; color:#536978; font-size:.67rem; line-height:1.55; }
.briefing-events .briefing-watch { padding:.55rem .65rem; border-left:2px solid #17699a; background:#eef4f7; color:#405d6c; }
.thesis-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.thesis-input,.challenge-result { padding:clamp(1.3rem,3vw,2.2rem); }
.thesis-input > label { display:block; margin-bottom:.6rem; color:var(--muted); font-size:.68rem; font-weight:800; text-transform:uppercase; }
.thesis-input textarea { min-height:11rem; resize:vertical; line-height:1.55; }
.scenario-sliders { display:grid; gap:1.2rem; margin-top:1.5rem; }
.challenge-result h3 { max-width:33rem; }
.sensitivity { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2rem; }
.sensitivity div { padding:1.1rem; border:1px solid var(--line); }
.sensitivity span,.sensitivity small { display:block; color:var(--muted); font-size:.62rem; }.sensitivity strong { display:block; margin:.55rem 0; color:var(--danger); font:900 2rem "Arial Narrow",sans-serif; }
.challenge-result > p:not(.eyebrow) { color:var(--muted); line-height:1.7; }.challenge-result h4 { margin-top:2rem; font-size:.75rem; text-transform:uppercase; }.challenge-result ul { padding-left:1.1rem; color:var(--muted); font-size:.8rem; line-height:1.8; }
.ledger-list { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.ledger-list article { position:relative; min-height:14rem; padding:1.5rem; }.ledger-list span { color:var(--accent); font-size:.6rem; font-weight:900; letter-spacing:.1em; }.ledger-list h3 { margin:.7rem 0; font:900 1.2rem "Arial Narrow",sans-serif; text-transform:uppercase; }.ledger-list code { display:block; max-width:34rem; color:var(--muted); font-size:.72rem; line-height:1.6; }.ledger-list strong { position:absolute; right:1.5rem; bottom:1.3rem; font:900 2.8rem "Arial Narrow",sans-serif; }
.app-footer { display:flex; justify-content:space-between; gap:1rem; padding:1rem 2rem; border-top:1px solid var(--line); color:var(--muted); font-size:.58rem; }
@media(max-width:1100px){.analyse-layout{grid-template-columns:1fr}.dimension-grid{grid-template-columns:repeat(5,minmax(7rem,1fr));overflow:auto}}
@media(max-width:760px){.login-grid{grid-template-columns:1fr}.login-view{background:var(--bg)}.login-intro h1{font-size:clamp(3.3rem,15vw,5.5rem)}.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.mobile-menu{display:block}.model-status{display:none}.workspace-head{justify-content:flex-start}.workspace-actions{margin-left:auto}.field-grid,.slider-grid,.view-intro,.thesis-grid,.ledger-list{grid-template-columns:1fr}.view-intro .eyebrow{grid-column:auto}.prima-score-grid{grid-template-columns:1fr}.prima-score-grid article{border-right:0;border-bottom:1px solid var(--line)}.dimension-grid{grid-template-columns:repeat(5,8rem)}.sensitivity{grid-template-columns:1fr}.briefing-summary{grid-template-columns:1fr 1fr}.app-footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Prima day mode — bright institutional research workspace. */
:root { color-scheme:light; --bg:#ffffff; --panel:#ffffff; --panel2:#f4f7fa; --ink:#102337; --muted:#536578; --line:rgba(16,49,79,.14); --accent:#174f82; --signal:#19765f; --warn:#9a6814; --danger:#ad4f4c; --sidebar:14.5rem; }
html,body { background:var(--bg); }
body { background:#f6f8fa; }
body::before { display:none; }
:focus-visible { outline-color:#2897cf; }
.eyebrow { color:var(--accent); font-size:.73rem; }

.login-view { background:radial-gradient(circle at 15% 80%,rgba(23,79,130,.1),transparent 34%),linear-gradient(118deg,#fff 0 62%,#edf3f7 62%); color:var(--ink); }
.login-brand { color:var(--ink); }
.login-brand small { color:var(--muted); }
.login-intro > p:not(.eyebrow) { color:var(--muted); }
.login-proof span { border-color:var(--line); color:var(--muted); background:rgba(255,255,255,.66); }
.login-card { border-color:var(--line); border-radius:.75rem; background:rgba(255,255,255,.94); box-shadow:0 24px 70px rgba(25,53,78,.11); }
.login-card > p:not(.eyebrow),.login-card label,.login-card small { color:var(--muted); }
.login-card input,.login-card select { border-color:var(--line); border-radius:.35rem; background:#fff; color:var(--ink); }
.login-card button { border-color:var(--accent); border-radius:999px; background:var(--accent); color:#fff; }
.login-card .consent-row { color:var(--muted); }
.login-card a { color:var(--accent); }

.sidebar { background:rgba(255,255,255,.97); box-shadow:10px 0 32px rgba(25,53,78,.055); backdrop-filter:blur(20px); }
.app-brand { color:var(--ink); }
.app-brand img { filter:drop-shadow(0 0 10px rgba(23,79,130,.13)); }
.app-brand small { color:var(--muted); }
.nav-item { min-height:2.9rem; align-items:center; border-radius:.35rem; font-size:.8rem; }
.nav-item:hover { border-color:rgba(23,79,130,.12); background:#f5f8fa; color:var(--ink); }
.nav-item.active { border-color:rgba(23,79,130,.18); background:#eaf1f6; color:#123f63; }
.nav-item.active span { color:var(--accent); }
.sidebar-meta { border-radius:.45rem; background:#f6f8fa; }
.sidebar-meta span { color:var(--accent); }
.sidebar-meta small { color:var(--muted); }

.workspace { background:linear-gradient(180deg,#fbfcfd,#f3f6f8); }
.workspace-head { position:sticky; top:0; z-index:15; min-height:6.2rem; border-bottom:1px solid var(--line); background:rgba(255,255,255,.94); box-shadow:0 8px 28px rgba(25,57,76,.04); color:var(--ink); }
.workspace-head h1 { font-size:1.28rem; letter-spacing:-.01em; text-transform:none; }
.workspace-context { margin:.32rem 0 0; color:var(--muted); font-size:.72rem; }
.breadcrumb { font-size:.62rem; }
.model-status i { box-shadow:none; }
.workspace-actions button,.panel-head button { min-height:2.5rem; border-radius:999px; background:#fff; color:var(--ink); font-size:.69rem; font-weight:750; }
.workspace-actions button:last-child { border-color:var(--accent); background:var(--accent); color:#fff; }
.mobile-menu { background:#fff; color:var(--ink); }

.view { width:min(100%,104rem); margin-inline:auto; padding:clamp(1rem,2.5vw,2.25rem); }
.research-status { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem 1.3rem; margin-bottom:1rem; padding:.75rem 1rem; border:1px solid var(--line); border-radius:.6rem; background:rgba(255,255,255,.9); box-shadow:0 5px 20px rgba(29,64,87,.025); color:var(--muted); font-size:.68rem; }
.research-status span:first-child { color:#40586a; font-weight:800; }
.research-status i { display:inline-block; width:.45rem; height:.45rem; margin-right:.4rem; border-radius:50%; background:var(--warn); }
.research-status button { margin-left:auto; padding:0; border:0; background:transparent; color:var(--accent); font-size:.68rem; font-weight:800; }
.analyse-layout { grid-template-columns:minmax(24rem,.86fr) minmax(36rem,1.14fr); gap:1.25rem; }
.input-panel,.thesis-input,.challenge-result,.ledger-list article { border-radius:.75rem; background:#fff; box-shadow:0 14px 38px rgba(29,64,87,.05); }
.input-panel { padding:clamp(1.35rem,2.4vw,2.1rem); }
.panel-head h2,.view-intro h2,.thesis-grid h3 { color:var(--ink); }
.panel-head h2 { font-size:clamp(1.75rem,3vw,2.45rem); line-height:1.05; }
.workflow-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:1.35rem 0 0; padding:0; border:1px solid var(--line); border-radius:.5rem; background:#fbfcfd; list-style:none; overflow:hidden; }
.workflow-steps li { display:grid; gap:.25rem; min-width:0; padding:.72rem .8rem; border-right:1px solid var(--line); }
.workflow-steps li:last-child { border-right:0; }
.workflow-steps b { color:var(--accent); font-size:.55rem; letter-spacing:.08em; }
.workflow-steps span { color:#40586a; font-size:.61rem; font-weight:800; white-space:nowrap; }
.demo-library { border-radius:.4rem; background:#f6f8f9; }
.demo-library button { min-height:2.1rem; border-radius:2rem; background:#fff; font-size:.63rem; }
.demo-library button:hover,.demo-library button.active { border-color:#17699a; background:#e9f3f8; color:#124e72; }
.core-fields { grid-template-columns:1fr; margin-top:.1rem; }
.core-fields label { margin-top:.85rem; }
.asset-engine { display:block; gap:0; padding:0; border-radius:.55rem; background:#f3f7f9; overflow:hidden; }
.asset-engine > .asset-engine-body { display:block; }
.asset-engine summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4rem; padding:.8rem 1rem; color:var(--ink); cursor:pointer; list-style:none; }
.asset-engine summary::-webkit-details-marker { display:none; }
.asset-engine summary span { display:grid; gap:.22rem; }
.asset-engine summary small { color:var(--accent); font-size:.58rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.asset-engine summary strong { font-size:.78rem; text-transform:uppercase; }
.asset-engine summary > b { color:var(--accent); font-size:.64rem; text-transform:uppercase; }
.asset-engine summary > b::after { content:" +"; }
.asset-engine[open] summary > b::after { content:" −"; }
.asset-engine-body { padding:0 .85rem .85rem; border-top:1px solid var(--line); }
.asset-engine-body > p { margin:.75rem 0; color:var(--muted); font-size:.68rem; line-height:1.45; }
.asset-engine-body > small { display:none; }
.asset-engine-inputs label { font-size:.59rem; }
.asset-engine-metrics { background:rgba(29,64,87,.12); }
.asset-engine-metrics div { min-height:3.6rem; align-content:center; background:#fff; }
.asset-engine-inputs input { border-color:rgba(29,64,87,.21); border-radius:.3rem; background:#fff; }
.asset-engine-metrics span { font-size:.6rem; }
.asset-engine-metrics strong { font-size:.9rem; }
.asset-engine-metrics small { display:none; }
.core-fields label,.field-grid label { position:relative; display:grid; gap:.48rem; margin-top:1rem; color:#536978; font-size:.7rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.input-panel input,.input-panel select,.thesis-input textarea { min-height:3rem; border-color:rgba(29,64,87,.21); border-radius:.3rem; background:#fff; color:var(--ink); }
.input-panel input { color:var(--ink); -webkit-text-fill-color:var(--ink); font-size:.84rem; }
.input-panel select { background-color:#fff; }
.advanced-controls { margin-top:1.1rem; border:1px solid var(--line); border-radius:.4rem; background:#fafbfb; overflow:hidden; }
.advanced-controls summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:3.8rem; padding:.85rem 1rem; color:var(--ink); cursor:pointer; list-style:none; }
.advanced-controls summary::-webkit-details-marker { display:none; }
.advanced-controls summary span { display:grid; gap:.22rem; }
.advanced-controls summary strong { font-size:.78rem; letter-spacing:.035em; text-transform:uppercase; }
.advanced-controls summary small { color:var(--muted); font-size:.65rem; font-weight:500; }
.advanced-controls summary b { color:var(--accent); font-size:.64rem; text-transform:uppercase; }
.advanced-controls summary b::after { content:" +"; }
.advanced-controls[open] summary b::after { content:" −"; }
.advanced-body { padding:0 1rem 1.1rem; border-top:1px solid var(--line); }
.input-subhead { color:var(--ink); }
.slider-grid label,.scenario-sliders label { color:#526a79; font-size:.69rem; }
.primary-action { min-height:3.25rem; border-radius:999px; border-color:var(--accent); background:var(--accent); color:#fff; }

.evidence-workflow { margin-top:.85rem; padding:0; border:1px solid rgba(23,105,154,.24); border-radius:.5rem; background:#f7fafb; overflow:hidden; }
.evidence-workflow summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:3.8rem; padding:.85rem 1rem; color:var(--ink); cursor:pointer; list-style:none; }
.evidence-workflow summary::-webkit-details-marker { display:none; }
.evidence-workflow summary span { display:grid; gap:.2rem; }
.evidence-workflow summary strong { font-size:.76rem; text-transform:uppercase; }
.evidence-workflow summary small { color:var(--muted); font-size:.66rem; }
.evidence-workflow summary > b { color:var(--accent); font-size:.64rem; text-transform:uppercase; }
.evidence-workflow summary > b::after { content:" +"; }
.evidence-workflow[open] summary > b::after { content:" −"; }
.evidence-body { padding:0 1rem 1rem; border-top:1px solid var(--line); }
.evidence-body > p { margin:.8rem 0 0; color:#5b7180; font-size:.68rem; line-height:1.55; }
.evidence-heading { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.evidence-heading h3 { margin:.4rem 0 0; color:#10263a; font:900 1.05rem "Arial Narrow",sans-serif; text-transform:uppercase; }
.evidence-heading > span { padding:.35rem .5rem; border:1px solid rgba(37,144,117,.3); border-radius:2rem; background:#eaf7f2; color:#1b755f; font-size:.52rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.evidence-workflow > p { margin:.7rem 0 0; color:#5b7180; font-size:.65rem; line-height:1.55; }
.file-drop { display:grid; grid-template-columns:2rem 1fr; gap:.18rem .7rem; align-items:center; min-height:5.5rem; margin-top:.9rem; padding:1rem; border:1px dashed rgba(23,105,154,.48); border-radius:.4rem; background:#edf6fa; cursor:pointer; transition:border-color .15s ease,background .15s ease; }
.file-drop:hover,.file-drop.dragging { border-color:#17699a; background:#e1f0f7; }
.file-drop input { position:absolute; width:1px!important; height:1px!important; min-height:0!important; padding:0!important; opacity:0; overflow:hidden; }
.file-drop b { grid-row:1 / 3; display:grid; width:2rem; height:2rem; place-items:center; border:1px solid rgba(23,105,154,.28); border-radius:50%; color:#17699a; }
.file-drop strong { color:#10263a; font-size:.72rem; text-transform:uppercase; }
.file-drop small { color:#677c89; font-size:.57rem; line-height:1.4; }
.file-status { min-height:1.1rem; font-weight:700; }
.file-status[data-kind="success"] { color:#1b755f; }
.file-status[data-kind="warning"],.file-status[data-kind="working"] { color:#8c5a08; }
.file-status[data-kind="error"] { color:#a43f3b; }
.evidence-review,.dcf-output { margin-top:.8rem; border-top:1px solid rgba(29,64,87,.15); padding-top:.8rem; }
.review-head { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; }
.review-head strong { color:#10263a; font-size:.69rem; text-transform:uppercase; }
.review-head small { color:#677c89; font-size:.55rem; }
.evidence-table-wrap,.dcf-table-wrap { overflow:auto; margin-top:.65rem; border:1px solid rgba(29,64,87,.15); border-radius:.3rem; }
.evidence-table,.dcf-table { width:100%; min-width:32rem; border-collapse:collapse; background:#fff; }
.evidence-table th,.dcf-table th { padding:.55rem .6rem; background:#edf2f4; color:#607684; font-size:.5rem; letter-spacing:.06em; text-align:left; text-transform:uppercase; }
.evidence-table td,.dcf-table td { padding:.55rem .6rem; border-top:1px solid rgba(29,64,87,.12); color:#263f51; font-size:.61rem; vertical-align:top; }
.evidence-table td:first-child { width:27%; }
.evidence-table td:nth-child(2) { width:21%; }
.evidence-table td strong,.evidence-table td small { display:block; }
.evidence-table td small { margin-top:.2rem; color:#758793; font-size:.5rem; line-height:1.45; }
.evidence-table input { min-height:2.15rem; padding:.45rem!important; border-color:rgba(29,64,87,.2)!important; background:#fff!important; color:#10263a!important; -webkit-text-fill-color:#10263a!important; }
.assumption-row { background:#fff8ea; }
.source-badge { display:inline-block; padding:.2rem .35rem; border-radius:2rem; font-size:.48rem; font-weight:900; letter-spacing:.035em; text-transform:uppercase; }
.source-badge.extracted { background:#e8f6f0; color:#1b755f; }
.source-badge.assumption { background:#fff0d2; color:#895606; }
.dcf-actions { display:grid; grid-template-columns:auto 1fr; gap:.7rem; align-items:center; margin-top:.7rem; }
.dcf-actions button { display:flex; gap:1rem; justify-content:space-between; padding:.7rem .8rem; border:1px solid #17699a; border-radius:.3rem; background:#17699a; color:#fff; font-size:.58rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.dcf-actions small { color:#6d808d; font-size:.52rem; line-height:1.45; }
.dcf-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(29,64,87,.15); }
.dcf-summary div { display:grid; gap:.3rem; padding:.7rem; background:#f2f6f8; }
.dcf-summary small { color:#637784; font-size:.48rem; text-transform:uppercase; }
.dcf-summary strong { color:var(--ink); font:900 .92rem "Arial Narrow",sans-serif; }
.dcf-output > p { color:#6d808d; font-size:.52rem; line-height:1.45; }

.results-panel { --ink:#102337; --muted:#5d7180; --line:rgba(16,49,79,.14); --accent:#174f82; --signal:#19765f; --panel:#ffffff; --panel2:#f2f6f8; border-color:rgba(16,49,79,.16); border-top:3px solid var(--accent); border-radius:.75rem; background:#fff; box-shadow:0 18px 48px rgba(22,47,64,.075); color:var(--ink); }
.analyse-layout > .results-panel { position:sticky; top:7.2rem; max-height:calc(100svh - 8.3rem); overflow:auto; scrollbar-color:rgba(23,79,130,.28) transparent; scrollbar-width:thin; }
.analyse-layout > .results-panel::-webkit-scrollbar { width:.45rem; }
.analyse-layout > .results-panel::-webkit-scrollbar-thumb { border-radius:1rem; background:rgba(23,79,130,.24); }
.results-summary { min-height:8rem; align-items:center; padding:1.75rem; background:linear-gradient(120deg,#fff,#f1f6f9); }
.results-summary h2 { font-size:clamp(1.75rem,3vw,2.5rem); }
.result-badge { align-self:flex-start; padding:.45rem .65rem; border:1px solid rgba(154,104,20,.28); border-radius:2rem; background:#fff8ea; color:#81570f; font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.dimension-grid article { min-height:8.6rem; background:#fff; }
.dimension-grid small,.dimension-grid span { font-size:.62rem; }
.dimension-grid strong { font-size:1.82rem; }
.prima-score-grid article { min-height:9.5rem; background:#fff; }
.prima-score-grid small { font-size:.66rem; }
.score-bar { background:#dce5eb; }
.distribution { background:#fbfcfd; }
.interpretation { border-left:3px solid var(--accent); background:#eef4f7; }
.interpretation > p:not(.eyebrow) { font-size:.88rem; }
.metric-info { border-color:rgba(23,79,130,.3); color:var(--accent); }
.metric-info::after { border-color:rgba(23,79,130,.24); background:#fff; color:var(--ink); box-shadow:0 16px 38px rgba(16,49,79,.16); }
.metric-info::before { border-color:rgba(23,79,130,.24); background:#fff; }
.range-plot > span::before { border-color:#fff; background:var(--ink); box-shadow:0 0 0 1px rgba(16,49,79,.12); }

.comparison-table-wrap { border-radius:.5rem; box-shadow:0 16px 45px rgba(29,64,87,.05); }
.comparison-table { background:#fff; }
.comparison-table th { background:#f2f5f7; }
.comparison-table td { color:var(--muted); }
.compare-insight { border-radius:.4rem; background:#eaf4f4; }
.thesis-input textarea { background:#fff; }
.sensitivity div { border-radius:.35rem; background:#f7f9fa; }
.ledger-list article { min-height:15rem; }
.ledger-list code { padding:.75rem; border-radius:.3rem; background:#f2f5f7; color:#476070; }
.app-footer { background:#fff; }

@media(min-width:1101px) and (min-height:700px){
  .workspace-head { min-height:5.2rem; padding-block:.7rem; }
  #view-analyse.view.active { height:calc(100svh - 5.625rem); display:flex; flex-direction:column; padding:.75rem 1.25rem 1rem; overflow:hidden; }
  #view-analyse .research-status { flex:0 0 auto; margin-bottom:.65rem; padding:.55rem .85rem; }
  #view-analyse .analyse-layout { flex:1; min-height:0; align-items:stretch; }
  #view-analyse .input-panel { height:100%; padding:1.15rem 1.35rem; overflow:auto; scrollbar-color:rgba(23,79,130,.24) transparent; scrollbar-width:thin; }
  #view-analyse .panel-head h2 { margin-top:.3rem; font-size:2rem; }
  #view-analyse .demo-library { margin-top:.85rem; padding:.8rem; }
  #view-analyse .demo-library p { margin-bottom:.55rem; font-size:.72rem; }
  #view-analyse .demo-library button { min-height:2rem; padding:.38rem .62rem; font-size:.68rem; }
  #view-analyse .asset-engine { margin-top:.7rem; }
  #view-analyse .asset-engine summary { min-height:3.55rem; padding:.7rem .85rem; }
  #view-analyse .asset-engine-inputs { gap:.45rem; }
  #view-analyse .asset-engine-inputs input { min-height:2.35rem; }
  #view-analyse .asset-engine-metrics div { min-height:3.15rem; padding:.55rem .65rem; }
  #view-analyse .evidence-workflow,#view-analyse .advanced-controls { width:calc(50% - .25rem); margin-top:.75rem; }
  #view-analyse .evidence-workflow { float:left; }
  #view-analyse .advanced-controls { float:right; margin-left:0; }
  #view-analyse .evidence-workflow[hidden] + .advanced-controls { float:none; width:100%; }
  #view-analyse .evidence-workflow summary,#view-analyse .advanced-controls summary { min-height:3.55rem; padding:.7rem .8rem; }
  #view-analyse .evidence-workflow summary small,#view-analyse .advanced-controls summary small { display:none; }
  #view-analyse .evidence-workflow summary > b,#view-analyse .advanced-controls summary > b { font-size:0; }
  #view-analyse .evidence-workflow summary > b::after,#view-analyse .advanced-controls summary > b::after { font-size:.9rem; }
  #view-analyse .primary-action { clear:both; min-height:2.9rem; margin-top:.7rem; padding:.75rem 1rem; }
  #view-analyse .results-panel { position:relative; top:auto; height:100%; max-height:none; overflow:auto; }
  #view-analyse .results-summary { min-height:5.3rem; padding:.9rem 1.3rem; }
  #view-analyse .results-summary h2 { margin-top:.35rem; font-size:2.05rem; }
  #view-analyse .dimension-grid article { min-height:5.8rem; gap:.32rem; padding:.62rem .7rem; }
  #view-analyse .dimension-grid small,#view-analyse .dimension-grid span { font-size:.65rem; }
  #view-analyse .dimension-grid strong { font-size:1.9rem; }
  #view-analyse .prima-score-grid article { min-height:6.3rem; gap:.28rem; padding:.7rem 1rem; }
  #view-analyse .prima-score-grid span { font-size:.72rem; }
  #view-analyse .prima-score-grid strong { font-size:2.2rem; }
  #view-analyse .prima-score-grid small { font-size:.68rem; }
  #view-analyse .distribution { padding:.75rem 1.2rem; }
  #view-analyse .distribution h3 { font-size:1rem; }
  #view-analyse .range-plot { height:4.5rem; margin-top:.25rem; }
  #view-analyse .range-plot > i { top:1.45rem; }
  #view-analyse .range-plot > span { top:.9rem; }
  #view-analyse .range-plot b { font-size:.95rem; }
  #view-analyse .interpretation { padding:.9rem 1.2rem; }
  #view-analyse .interpretation { display:grid; grid-template-columns:1fr auto; align-items:center; gap:.3rem 1rem; }
  #view-analyse .interpretation .eyebrow { grid-column:1; }
  #view-analyse .interpretation > p:not(.eyebrow) { grid-column:1; display:-webkit-box; margin:.25rem 0 0; overflow:hidden; font-size:.82rem; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  #view-analyse .interpretation button { grid-column:2; grid-row:1 / 3; }
  .workspace > .app-footer { display:none; }
  body.demo-recording::after { top:5.8rem; bottom:auto; }
}

@media(max-width:760px){
  .workspace-head{min-height:5.5rem}.workspace-context{display:none}.workspace-actions button:first-of-type{display:none}.presentation-export summary span{display:none}.presentation-menu{position:fixed;top:5rem;right:.75rem;left:.75rem;width:auto}.research-status span:nth-child(2),.research-status span:nth-child(3){display:none}.core-fields,.asset-engine-inputs{grid-template-columns:1fr}.advanced-controls summary small{display:none}.dcf-summary{grid-template-columns:1fr 1fr}.review-head,.dcf-actions{display:grid;grid-template-columns:1fr}.evidence-heading>span{display:none}.workflow-steps{grid-template-columns:1fr}.workflow-steps li{grid-template-columns:2rem 1fr;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.workflow-steps li:last-child{border-bottom:0}.saved-projects-toolbar,.notification-switch,.notification-actions,.compare-picker{align-items:stretch;flex-direction:column}.saved-projects-grid,.notification-projects,.briefing-events,.team-layout{grid-template-columns:1fr}.notification-frequency,.inline-fields{grid-template-columns:1fr}.thesis-item{grid-template-columns:1fr}.thesis-item textarea,.thesis-item .remove-thesis{grid-column:1;grid-row:auto}
}

@media(max-width:1100px){
  .analyse-layout > .results-panel { position:relative; top:auto; max-height:none; overflow:visible; scroll-margin-top:6.5rem; }
}

@media print {
  @page { margin:14mm; }
  .sidebar,.workspace-head,.input-panel,.research-status,.app-footer,.interpretation button { display:none!important; }
  .workspace { margin:0; background:#fff; }
  .view { display:none!important; padding:0; }
  #view-analyse { display:block!important; }
  .analyse-layout { display:block; }
  .results-panel { box-shadow:none; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  body::after { display:block; margin-top:1rem; color:#536978; content:"Modelled research outputs · not investment advice"; font-size:10px; }
}
