/* Shares the existing Momentum palette, typography and chart language. */
.integrated-app .lab-shell {width:min(1320px,calc(100% - 40px));margin:24px auto 0;padding:0;min-width:0;}
.integrated-app h1 {font-size:30px;line-height:1.25;margin:2px 0 0;letter-spacing:-.03em;}
.integrated-app h2 {font-size:19px;line-height:1.4;margin:0;letter-spacing:-.02em;}
.integrated-app h3 {font-size:16px;line-height:1.4;margin:0 0 12px;}
.lab-heading,.lab-section-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;}
.lab-heading {margin-bottom:20px;}.lab-eyebrow {color:var(--accent-strong);font-size:12px;font-weight:700;margin:0;}
.lab-context,.lab-actions,.lab-chips {display:flex;align-items:center;flex-wrap:wrap;gap:10px;}.lab-context{font-size:13px;color:var(--muted-strong);}
.lab-badge {display:inline-flex;border-radius:5px;padding:3px 8px;background:var(--surface);color:var(--muted-strong);font-size:12px;line-height:1.5;white-space:nowrap;}.lab-badge.good{background:var(--good-soft);color:var(--good)}.lab-badge.warn{background:var(--warn-soft);color:var(--warn)}
.lab-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;}
.lab-tabs a{padding:10px 16px;color:var(--muted-strong);font-size:14px;font-weight:700;text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap;}.lab-tabs a[aria-current="page"]{color:var(--accent-strong);border-color:var(--accent);}.lab-tabs a:hover{background:var(--accent-soft);}.lab-tabs span{font-size:11px;margin-left:3px;}
.lab-message{font-size:14px;padding:12px 16px;border:1px solid var(--line);background:var(--panel);border-radius:8px;}.lab-message:empty{display:none}.lab-message.error{border-color:var(--danger);color:var(--danger)}
.lab-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px;margin:0 0 20px;min-width:0;box-shadow:none;}.lab-section-heading{margin-bottom:16px;}.lab-caption{font-size:13px;color:var(--muted-strong);margin:8px 0;}.lab-small{font-size:12px;color:var(--muted)}
.lab-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:16px;}.lab-toolbar label,.lab-form label{display:flex;flex-direction:column;gap:5px;min-width:120px;font-size:13px;font-weight:600;color:var(--muted-strong);}.lab-toolbar label:first-child{flex:1;min-width:180px;}.lab-toolbar input,.lab-toolbar select,.lab-form input,.lab-form select,.lab-form textarea,.lab-inline-control select,.lab-inline-control input{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:6px;background:var(--panel);color:var(--ink);font-size:14px;}.lab-form textarea{resize:vertical;}.lab-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0;}.lab-inline-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted-strong);}.lab-inline-control input,.lab-inline-control select{width:auto;max-width:100%;}
.lab-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--accent);border-radius:6px;padding:8px 14px;background:var(--accent);color:#fff;font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap;}.lab-button.secondary{background:var(--panel);border-color:var(--line-strong);color:var(--ink)}.lab-text-button{padding:3px 0;border:0;background:none;color:var(--accent-strong);font-size:inherit;text-align:left;}.lab-text-button:hover{text-decoration:underline}.lab-button:disabled{opacity:.55;cursor:not-allowed}.lab-button:focus-visible,.lab-tabs a:focus-visible,.lab-text-button:focus-visible,.lab-chart:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.lab-summary{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:12px;margin-bottom:20px;}.lab-stat{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;}.lab-stat.primary{background:var(--accent-soft);border-color:var(--accent-soft-strong)}.lab-stat dt{font-size:13px;color:var(--muted-strong);margin-bottom:6px;}.lab-stat dd{font-size:22px;line-height:1.35;font-weight:750;margin:0;font-variant-numeric:tabular-nums;}.lab-stat small{display:block;font-size:12px;color:var(--muted-strong);margin-top:7px}.lab-summary dl{margin:0;}.lab-metrics{display:flex;gap:24px;flex-wrap:wrap;margin:12px 0;font-size:13px;}.lab-metrics strong{font-variant-numeric:tabular-nums;display:block;color:var(--ink);font-size:17px;}.lab-metrics span{color:var(--muted-strong)}
.lab-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel);}.lab-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px;margin:0;}.lab-table th{font-weight:650;font-size:12px;color:var(--muted-strong);text-align:left;background:var(--surface);padding:11px 12px;}.lab-table td{padding:11px 12px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums;color:var(--ink)}.lab-table .numeric{text-align:right}.lab-table tr.selected td{background:var(--accent-soft)}.lab-table tbody tr:hover td{background:var(--surface)}.lab-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}.lab-table .name{white-space:normal;min-width:155px;max-width:250px;}.lab-table .name small{display:block;font-size:11px;color:var(--muted)}.lab-table .empty td{text-align:center;padding:32px;color:var(--muted)}.lab-table .reason{max-width:400px;white-space:normal;}
.lab-chart-wrap{min-width:0;position:relative;}.lab-chart{display:block;width:100%;height:300px;min-width:0;touch-action:pan-y;}.lab-chart.compact{height:150px;}.lab-chart text{font-family:inherit;font-size:12px;fill:var(--muted-strong)}.lab-chart .grid{stroke:var(--line);stroke-width:1}.lab-chart .trace{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.lab-chart .cursor{stroke:var(--muted);stroke-dasharray:4 4;stroke-width:1}.lab-chart .dot{stroke:var(--panel);stroke-width:2}.lab-chart .zero{stroke:var(--line-strong)}.lab-chart svg{width:100%;height:100%;}.lab-legend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px;}.lab-legend button{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;padding:6px 9px;background:var(--panel);font-size:12px;color:var(--ink)}.lab-legend button[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent-soft-strong)}.lab-swatch{width:19px;height:0;border-top:2px solid var(--series-color)}.lab-chart-values{display:flex;gap:16px;flex-wrap:wrap;min-height:25px;font-size:13px;font-variant-numeric:tabular-nums;}.lab-chart-values b{font-weight:650;margin-left:6px}.lab-empty{padding:24px;text-align:center;color:var(--muted);font-size:14px;}.lab-detail-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0;border-bottom:1px solid var(--line)}.lab-detail-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:9px 12px;color:var(--muted-strong);font-weight:600;font-size:13px}.lab-detail-tabs button[aria-selected="true"]{color:var(--accent-strong);border-color:var(--accent)}.lab-definition{display:grid;grid-template-columns:120px 1fr;gap:12px;font-size:14px;}.lab-definition dt{color:var(--muted-strong)}.lab-definition dd{margin:0;overflow-wrap:anywhere;}.lab-definition code{font-size:12px;white-space:pre-wrap;}.lab-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--panel)}.lab-chip button{border:0;background:none;color:var(--muted-strong);font-size:17px;padding:0 3px;}.lab-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;}.lab-columns .lab-panel{margin:0;}.lab-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 0 30px;color:var(--muted);font-size:12px;}.lab-chart-help{font-size:12px;color:var(--muted);margin:6px 0 0;}.lab-progress{width:100%;height:5px;accent-color:var(--accent)}.lab-data-query{margin:12px 0;max-width:300px}.lab-table caption{text-align:left;font-size:13px;color:var(--muted);padding:8px 12px}.lab-note{font-size:13px;color:var(--muted-strong);padding:12px 0;border-top:1px solid var(--line)}
@media(max-width:900px){.lab-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.lab-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.lab-columns{grid-template-columns:1fr}.lab-chart{height:260px;}.lab-heading{align-items:flex-start}.lab-context{justify-content:flex-end;}}
@media(max-width:600px){.integrated-app .lab-shell{width:calc(100% - 24px);margin-top:16px}.integrated-app h1{font-size:25px}.lab-heading{display:block;margin-bottom:14px}.lab-context{justify-content:flex-start;margin-top:8px}.lab-tabs{gap:0;justify-content:space-between}.lab-tabs a{padding:9px 5px;font-size:12px}.lab-tabs span{margin-left:1px}.lab-panel{padding:14px;margin-bottom:14px}.lab-summary{gap:8px;margin-bottom:14px}.lab-stat{padding:12px}.lab-stat dd{font-size:18px}.lab-stat.primary{grid-column:1 / -1}.lab-summary .lab-stat:last-child{grid-column:1 / -1}.lab-section-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}.lab-toolbar{gap:8px}.lab-toolbar label{flex:1;min-width:135px}.lab-toolbar label:first-child{min-width:100%;}.lab-chart{height:240px}.lab-chart.compact{height:130px}.lab-metrics{gap:16px}.lab-chart-values{gap:8px;font-size:12px}.lab-definition{grid-template-columns:1fr;gap:4px}.lab-definition dd{margin-bottom:12px}.lab-form-grid{gap:12px}.lab-legend button{font-size:11px;padding:5px 7px}.lab-table th,.lab-table td{padding:10px}.lab-chart text{font-size:11px}.lab-actions .lab-button{flex:1}.lab-form label{min-width:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Compact the overview so the first curve remains visible on laptop screens. */
.integrated-app .lab-shell{margin-top:16px}.lab-heading{margin-bottom:12px}.lab-tabs{margin-bottom:12px}.lab-tabs a{padding-top:8px;padding-bottom:8px}
#current-content>.lab-section-heading{margin-bottom:10px}.lab-summary{margin-bottom:14px}.lab-stat{padding:12px 16px}.lab-stat dt{margin-bottom:3px}.lab-stat small{margin-top:3px}
#current-content>.lab-panel:first-of-type{padding-top:16px}#current-content>.lab-panel:first-of-type>.lab-section-heading{margin-bottom:8px}.lab-metrics{margin:8px 0;gap:20px}
@media(min-width:901px){#current-content>.lab-panel:first-of-type .lab-metrics strong{display:inline;margin-left:7px;font-size:16px}.lab-summary .lab-stat dd{font-size:21px}}
@media(max-width:600px){.lab-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lab-summary .lab-stat.primary{grid-column:1/-1}.lab-summary .lab-stat:last-child{grid-column:auto}.lab-stat{padding:10px}.lab-stat dt{font-size:12px}.lab-stat dd{font-size:17px}.lab-stat.primary dd{font-size:20px}.lab-metrics{gap:10px 18px}.lab-metrics strong{font-size:15px}.lab-heading{margin-bottom:10px}.lab-context{margin-top:5px}.lab-section-heading{margin-bottom:10px}.lab-legend{margin:6px 0}}

/* Keep ETF/Fear & Greed's quiet axes, tabular numbers and readable hover rows. */
.lab-table th{position:sticky;top:0;z-index:1}.lab-table th.numeric{text-align:right}
.lab-table tbody tr.selected:hover td{background:var(--accent-soft)}
.lab-table .lab-rank{width:38px;color:var(--muted-strong);text-align:center;font-size:12px}
.lab-table .lab-symbol{font-weight:650;letter-spacing:.02em}
.lab-weight{position:relative;min-width:170px}.lab-weight>span:last-child{position:relative;z-index:1;display:inline-block;min-width:64px}
.lab-weight-track{display:inline-block;vertical-align:middle;width:92px;height:5px;margin-right:16px;border-radius:3px;background:var(--surface)}
.lab-weight-track i{display:block;height:100%;background:var(--accent);border-radius:3px;opacity:.68}
.lab-chart{cursor:crosshair}.lab-chart .grid{stroke-dasharray:3 5}.lab-chart .zero{stroke-dasharray:none}
.lab-chart .endpoint-label{font-weight:650;paint-order:stroke;stroke:var(--panel);stroke-width:3px;stroke-linejoin:round}
.lab-chart-values{padding:8px 0 12px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:10px}
.lab-chart-values>span{display:inline-flex;align-items:center;gap:5px}.lab-chart-values b{margin-left:2px}
.lab-value-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}
.lab-legend button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lab-legend button[aria-pressed="false"]{opacity:.45}
@media(max-width:600px){.lab-weight{min-width:130px}.lab-weight-track{width:54px;margin-right:10px}.lab-chart-values{gap:7px 14px}.lab-chart-values>strong{flex-basis:100%}.lab-chart text{font-size:10px}.lab-chart .endpoint-label{font-size:11px}.lab-table-scroll{scrollbar-width:thin}}
/* Override the legacy dashboard's 760px table floor for compact holdings. */
.lab-table{min-width:0}.lab-table th,.lab-table td{white-space:nowrap}.lab-table .name,.lab-table .reason{white-space:normal}

.lab-form>fieldset{min-width:0;margin:0;padding:0;border:0;display:grid;gap:16px}.lab-form>fieldset:disabled{opacity:.65}

.lab-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}

/* Holdings share the neutral ETF table surface; two short columns on desktop. */
.lab-holdings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lab-holdings-group{min-width:0}.lab-holdings-group:only-child{grid-column:1/-1}
.lab-holdings .lab-table th{padding:7px 10px;background:var(--surface);font-size:11px;line-height:1.5}.lab-holdings .lab-table td{padding:6px 10px;line-height:1.5;background:var(--panel);border-color:var(--line)}
.lab-holdings .lab-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--surface),transparent 60%)}.lab-holdings .lab-table tbody tr:hover td{background:var(--accent-soft)}
.lab-holdings .lab-rank{width:32px;font-weight:400}.lab-holdings .lab-symbol{font-weight:600;letter-spacing:0;white-space:nowrap}.lab-holdings .lab-weight{min-width:0;width:48%;white-space:nowrap;font-weight:550}.lab-holdings .lab-weight-track{width:clamp(38px,8vw,110px);height:4px;margin-right:12px;background:var(--line)}.lab-holdings .lab-weight-track i{opacity:.65}
.lab-holdings-pagination{display:none}.lab-fixed-controls select{max-width:100%;min-width:min(370px,100%)}.lab-fixed-controls{align-items:end}.lab-pending{margin-top:12px}.lab-pending summary{color:var(--muted-strong);font-size:13px;cursor:pointer;margin-bottom:8px}
@media(max-width:760px){.lab-holdings-grid{grid-template-columns:1fr}.lab-holdings-group[data-holdings-group]:not([data-holdings-group="0"]){display:none}.lab-holdings-group[data-mobile-hidden="false"]{display:block!important}.lab-holdings-group[data-mobile-hidden="true"]{display:none!important}.lab-holdings-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;color:var(--muted-strong);font-size:12px}.lab-holdings-pagination>div{display:flex;gap:6px}.lab-holdings-pagination .lab-button{min-height:32px;padding:4px 10px;font-size:12px}.lab-holdings .lab-weight-track{width:60px}.lab-fixed-controls>label{width:100%}.lab-fixed-controls select{min-width:0;width:100%;flex:1}.lab-fixed-controls>.lab-button{min-height:34px;padding:5px 10px;font-size:12px}.lab-tabs a{padding-left:5px;padding-right:5px}}

/* Preserve readable dates and horizontal table overflow on narrow screens. */
.lab-table [data-month]{display:inline-block;min-width:10ch;white-space:nowrap;overflow-wrap:normal;word-break:normal;line-height:1.5}
.lab-chart-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.lab-scale-control{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted-strong);white-space:nowrap}.lab-scale-control select{width:auto;min-height:32px;padding:4px 25px 4px 8px;font-size:12px}.lab-technical{margin:0 0 20px;border:1px solid var(--line);border-radius:8px;padding:14px}.lab-technical>summary{cursor:pointer;font-size:14px;font-weight:650}.lab-technical .lab-panel{margin-top:14px}.lab-technical pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;font-size:12px}.lab-data-counts{display:flex;gap:12px 24px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.lab-refresh-note{margin:0 0 14px;color:var(--muted-strong);font-size:13px}

/* Quant design engine 0.4.0 — existing renderer adapter. */
:root[data-qe-theme] { --bg:var(--qe-bg); --panel:var(--qe-surface); --page:var(--qe-surface); --surface:var(--qe-raised); --surface-soft:var(--qe-raised); --ink:var(--qe-text); --text:var(--qe-text); --muted:var(--qe-muted); --line:var(--qe-border); --border:var(--qe-border); --accent:var(--qe-accent); --accent-strong:var(--qe-accent); --good:var(--qe-positive); --bad:var(--qe-negative); --qr-bg:var(--qe-bg); --qr-page:var(--qe-surface); --qr-surface:var(--qe-surface); --qr-surface-soft:var(--qe-raised); --qr-text:var(--qe-text); --qr-text-strong:var(--qe-text); --qr-text-muted:var(--qe-muted); --qr-border:var(--qe-border); --qr-primary:var(--qe-accent); --qr-primary-strong:var(--qe-accent); --qr-chart-text:var(--qe-muted); --qr-chart-grid:var(--qe-border); }
html[data-qe-theme] body { background:var(--qe-bg); color:var(--qe-text); font-variant-numeric:tabular-nums; }
html[data-qe-theme] :is(.panel,.metric-card,.lab-panel,.lab-stat,.signal-card) { padding:var(--qe-card-inset); border-radius:var(--qe-card-radius); border-color:var(--qe-border); background:var(--qe-surface); min-width:0; }
html[data-qe-theme] :is(button,input,select,summary) { min-height:36px; }
html[data-qe-theme] :is(button,input,select,textarea):focus-visible { outline:2px solid var(--qe-accent); outline-offset:3px; }
html[data-qe-theme] :is(td,th) { padding:12px 14px; line-height:1.5; }
html[data-qe-theme] :is(.table-wrap,.lab-table-wrap) { overflow:auto; overscroll-behavior-x:contain; scrollbar-color:var(--qe-border) transparent; }
html[data-qe-theme] .leader-item { padding:16px 18px; gap:14px; min-height:72px; border-radius:var(--qe-card-radius); }
html[data-qe-theme] .leader-item :is(strong,span,small) { min-width:0; }
html[data-qe-theme] .lab-chart-controls { gap:12px; align-items:center; }
html[data-qe-theme] .lab-scale-control { margin-left:auto; }
@media(max-width:640px) { html[data-qe-theme] :is(.panel,.metric-card,.lab-panel,.lab-stat,.signal-card) { padding:var(--qe-card-inset-mobile); } html[data-qe-theme] :is(button,select,summary) { min-height:40px; } html[data-qe-theme] .leader-item { grid-template-columns:48px minmax(0,1fr) auto; gap:10px; padding:16px 18px; } html[data-qe-theme] :is(td,th) { padding:11px 12px; } }

/* Legacy range adapters keep their actions in one optional disclosure. */
html[data-qe-theme] .qr-visibility { opacity:0; }
html[data-qe-theme] .lab-legend:is(:hover,:focus-within) .qr-visibility { opacity:1; }
html[data-qe-theme] .qe-chart-options { margin:8px 0; }
html[data-qe-theme] .qe-chart-options > summary { width:40px; cursor:pointer; list-style:none; text-align:center; margin-left:auto; }
html[data-qe-theme] .qe-chart-options:not([open]) .qr-toolbar { display:none!important; }
html[data-qe-theme] .qr-readout.qe-idle { display:none!important; }

html[data-qe-theme] .lab-chart-wrap .qr-toolbar { opacity:0; transition:opacity .15s; }
html[data-qe-theme] .lab-chart-wrap:is(:hover,:focus-within) .qr-toolbar { opacity:1; }

/* Bridge the previous shared runtime's aliases to the engine tokens. */
html[data-qe-theme], html[data-qe-theme] body.qd-v04 { --qd-bg:var(--qe-bg)!important; --qd-surface:var(--qe-surface)!important; --qd-surface-2:var(--qe-raised)!important; --qd-text:var(--qe-text)!important; --qd-muted:var(--qe-muted)!important; --qd-border:var(--qe-border)!important; --qd-accent:var(--qe-accent)!important; --bg:var(--qe-bg)!important; --panel:var(--qe-surface)!important; --surface:var(--qe-raised)!important; --text:var(--qe-text)!important; --muted:var(--qe-muted)!important; --line:var(--qe-border)!important; --accent:var(--qe-accent)!important; }
html[data-qe-theme] .lab-scale-control { display:flex!important; align-items:center; gap:8px; width:auto!important; }
html[data-qe-theme] .lab-scale-control select { width:auto!important; min-width:84px; }

html[data-qe-theme] .qe-direct-chart .qr-visibility {display:none!important;}
html[data-qe-theme] .qe-direct-chart .lab-legend [aria-pressed="false"] {opacity:.45;text-decoration:line-through;}
html[data-qe-theme] .qe-direct-chart svg {touch-action:pan-y;}
html[data-qe-theme] [data-compare-series][hidden] {display:none!important;}
html[data-qe-theme] .qe-direct-chart button {min-height:44px;}

html[data-qe-theme] .qe-direct-chart .qe-chart-options {position:relative;margin:0 0 0 auto;}
html[data-qe-theme] .qe-direct-chart .qe-chart-options>summary {min-width:44px;min-height:44px;line-height:44px;cursor:pointer;list-style:none;text-align:center;}
html[data-qe-theme] .qe-direct-chart .qe-chart-options[open] {padding:8px;border:1px solid var(--qe-border);border-radius:8px;background:var(--qe-surface);}
html[data-qe-theme] .qe-direct-chart .qe-chart-options[open] .lab-scale-control {margin:0 0 8px;}
/* 0.4.1 direct charts: one legend, stable plotting space, contextual tools. */
.lab-chart-wrap.qe-direct-chart {position:relative;min-width:0;}
.lab-chart-wrap.qe-direct-chart .lab-chart {width:100%;min-width:0;height:320px;touch-action:pan-y;}
.lab-chart-wrap.qe-direct-chart .lab-chart.compact {height:200px;}
.lab-chart-wrap.qe-direct-chart .lab-chart-controls {align-items:flex-start;gap:8px;}
.lab-chart-wrap.qe-direct-chart .lab-legend {flex:1;display:flex;flex-wrap:wrap;gap:6px;}
.lab-chart-wrap.qe-direct-chart .lab-legend button {min-height:44px;padding:8px 12px;white-space:normal;text-align:left;}
.lab-chart-wrap.qe-direct-chart .lab-legend button[aria-pressed="false"] {opacity:.45;}
.lab-chart-wrap.qe-direct-chart .lab-chart-values {display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 0;border-top:1px solid var(--line);font-size:12px;}
.lab-chart-wrap.qe-direct-chart .lab-chart-values span {min-width:0;overflow-wrap:anywhere;}
@media(max-width:640px){.lab-chart-wrap.qe-direct-chart .lab-chart{height:280px}.lab-chart-wrap.qe-direct-chart .lab-chart.compact{height:180px}.lab-chart-wrap.qe-direct-chart .lab-chart-values{gap:8px 12px}.lab-chart-wrap.qe-direct-chart .lab-chart-values strong{flex-basis:100%}}
/* Chart-first order is explicit: shared shell styles must not promote readouts. */
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart {display:flex!important;flex-direction:column!important;gap:0!important;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart>.lab-chart-controls {order:0!important;margin:0 0 4px!important;align-items:center!important;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart>.lab-chart {order:1!important;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart>.lab-chart-values {order:2!important;margin:0!important;border-bottom:0!important;padding:10px 0 6px!important;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart>.lab-chart-help {order:3!important;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart .lab-legend {gap:0 12px!important;margin:0!important;align-items:center!important;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart .lab-legend button[aria-pressed] {color:var(--series-color)!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:3px!important;min-height:44px!important;min-width:44px!important;width:auto!important;padding:4px 0!important;font-size:12px!important;line-height:1.3!important;font-weight:500!important;gap:6px!important;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart .lab-legend .lab-swatch {width:18px!important;border-top-color:var(--series-color)!important;flex:none;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart .lab-legend [data-benchmark="true"] .lab-swatch {border-top-style:dashed!important;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart .lab-legend button[aria-pressed="false"] {opacity:.45!important;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart .trace,
html[data-qe-theme] body.integrated-app.qd-v04 .lab-chart-wrap.qe-direct-chart .lab-swatch {filter:none!important;}
.factor-range-output {order:3;display:block;padding:10px 0;color:var(--qe-text);font-size:12px;line-height:1.7;overflow-wrap:anywhere;}
.factor-range-output[hidden] {display:none;}

/* Pinned shared shell 0.4.2 SHA256 d3ef280dc5d36fad3b4e2b32d170e70fdc2b64fbde91e463e1c08bd11f3be485 */
/* Quant 0.4.2: shell roles only. Load explicitly after project styles. */
html[data-theme="dark"]{--qs-bg:#101416;--qs-surface:#171d20;--qs-raised:#20282c;--qs-text:#edf3f2;--qs-muted:#a6b4b6;--qs-border:#364247;--qs-accent:#69d3cf}
html[data-theme="light"]{--qs-bg:#f2f5f4;--qs-surface:#ffffff;--qs-raised:#e9efed;--qs-text:#172725;--qs-muted:#536762;--qs-border:#c6d3ce;--qs-accent:#007e79}
html:root[data-theme] body.qd-v04,html:root[data-theme][data-quant-silicon] body.qd-v04{--qd-bg:var(--qs-bg)!important;--qd-surface:var(--qs-surface)!important;--qd-raised:var(--qs-raised)!important;--qd-text:var(--qs-text)!important;--qd-muted:var(--qs-muted)!important;--qd-border:var(--qs-border)!important;--qd-accent:var(--qs-accent)!important;background:var(--qs-bg)!important;color:var(--qs-text)!important}
html[data-theme] body.qd-v04 :is(.qd-sidebar,.qd-shell){--qd-bg:var(--qs-bg)!important;--qd-surface:var(--qs-surface)!important;--qd-raised:var(--qs-raised)!important;--qd-text:var(--qs-text)!important;--qd-muted:var(--qs-muted)!important;--qd-border:var(--qs-border)!important;--qd-accent:var(--qs-accent)!important;--qd-soft:var(--qs-raised)!important;background:var(--qs-bg)!important;color:var(--qs-text)!important;border-color:var(--qs-border)!important}
/* Explicit neutral component roles; semantic series/topic colors are inherited. */
:root{--qs-card-padding:24px;--qs-card-gap:20px;--qs-section-gap:32px;--qs-card-radius:16px;--qs-line:color-mix(in srgb,var(--qs-text) 10%,transparent)}
html[data-theme] body [data-quant-card],html:root[data-theme] body.qd-v04 :is([data-quant-card],#quant-neutral-card-role){min-width:0;padding:var(--qs-card-padding)!important;border:1px solid var(--qs-line)!important;border-radius:var(--qs-card-radius)!important;background:var(--qs-surface)!important;box-shadow:none!important}
html[data-theme] body [data-quant-card] [data-quant-card],html:root[data-theme] body.qd-v04 :is([data-quant-card],#quant-neutral-card-role) [data-quant-card]{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
[data-quant-card]>:is(h2,h3,h4):first-child{margin-top:0}
[data-quant-section]{min-width:0;margin-block-start:var(--qs-section-gap)}
[data-quant-section]:first-child{margin-block-start:0}
[data-quant-card-grid]{display:grid;gap:var(--qs-card-gap)}
[data-quant-metrics]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:var(--qs-card-gap);font-variant-numeric:tabular-nums}
[data-quant-metrics] strong{font-size:clamp(20px,2vw,28px);line-height:1.25;letter-spacing:-.025em}
[data-quant-table-wrap]{max-width:100%;overflow:auto}
[data-quant-table]{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
[data-quant-table] :is(th,td){padding:12px 14px;border-bottom:1px solid var(--qs-line);line-height:1.6}
[data-quant-table] th{color:var(--qs-muted);font-size:12px;font-weight:600;text-align:left}
[data-quant-table] [data-numeric]{text-align:right}
@media(max-width:640px){:root{--qs-card-padding:20px;--qs-card-gap:16px;--qs-section-gap:24px}[data-quant-table] :is(th,td){padding:11px 12px}}

/* One summary surface, with quiet internal metrics. */
html[data-qe-theme] body.integrated-app.qd-v04 .lab-summary[data-quant-card] {gap:var(--qs-card-gap,20px)!important;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-summary[data-quant-card] .lab-stat {padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-width:0;}
html[data-qe-theme] body.integrated-app.qd-v04 .lab-panel[data-quant-card] {margin-bottom:var(--qs-card-gap,20px)!important;}
html[data-theme] body.integrated-app.qd-v04 .lab-panel[data-quant-card]::before {content:none!important;display:none!important;}

/* Plot gestures own zoom and range selection. */
html[data-theme] body :is(.qd-focus-button,.qd-focus-tools) {display:none!important}
[data-quant-touch-chart]:focus-visible {outline:2px solid var(--qs-focus);outline-offset:3px}
[data-quant-touch-chart][data-quant-gesture=compare] .qe-point-tooltip {visibility:hidden!important}

.lab-chart[data-quant-gesture=compare] .chart-observation {visibility:hidden}
.lab-scale-control select {color:var(--qs-muted);background:transparent}
@media(max-width:600px){
 html[data-qe-theme] .lab-scale-control {gap:4px}
 html[data-qe-theme] .lab-scale-control select {min-height:44px}
}

.lab-chart-wrap[data-range-comparing] .chart-observation,.lab-chart-values[hidden]{display:none}

.lab-chart[data-direct-input]:focus-visible{outline:none}
