.explorer-page { max-width:1760px; }
.explorer-workspace { display:grid; grid-template-columns:330px minmax(0,1fr); gap:24px; align-items:start; }
.explorer-controls, .plot-panel { background:var(--panel); border:1px solid var(--line); padding:22px; border-radius:5px; }
.explorer-controls { position:sticky; top:calc(var(--topbar-height) + 18px); max-height:calc(100vh - var(--topbar-height) - 36px); overflow:auto; scrollbar-width:thin; }
.explorer-controls > fieldset { margin-bottom:0; min-width:0; }
.explorer-field { margin-bottom:18px; }
.explorer-controls label, .plot-labels label { display:block; font-size:.8rem; line-height:1.4; margin-bottom:7px; }
.explorer-controls .services label { display:flex; margin:0; }
.explorer-controls select, .explorer-controls input:not([type=checkbox]) { width:100%; font-size:.85rem; }
.range-card { border-top:1px solid var(--line); padding-top:18px; margin-top:18px; }
.range-title { color:var(--aqua); font-size:.75rem; font-weight:500; margin:0 0 12px; }
.range-values { display:grid; grid-template-columns:1fr 1fr 75px; gap:8px; }
.range-values input { padding:9px 7px; }
.range-values label { font-size:.7rem; }
.base-assumptions { margin:22px 0; }
.base-assumptions summary, .base-group summary, .explorer-notes summary { cursor:pointer; font-size:.85rem; }
.base-group { padding:14px 0 0; border-top:1px solid var(--line); margin-top:14px; }
.base-group summary { color:var(--aqua); margin-bottom:15px; }
.base-input-wrap { position:relative; }
.base-input-wrap span { display:block; color:var(--muted); margin:5px 0 12px; font-size:.7rem; }
.plot-workspace { min-width:0; }
.plot-panel { margin-bottom:24px; }
.plot-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.plot-toolbar h2 { font-size:1.2rem; }
.plot-toolbar .eyebrow { margin-bottom:8px !important; }
.export-actions { display:flex; gap:8px; flex-wrap:wrap; }
.export-actions button { font-size:.75rem; padding:10px 12px; }
.provider-controls { display:flex; gap:12px; flex-wrap:wrap; padding:20px 0 12px; }
.provider-control { display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--line); border-radius:4px; }
.provider-control label { display:flex; align-items:center; gap:8px; font-size:.8rem; cursor:pointer; }
.provider-control input[type=checkbox] { width:16px; height:16px; min-height:16px; margin:0; accent-color:var(--aqua); }
.provider-control input[type=color] { width:30px; height:28px; min-height:28px; padding:2px; border-color:var(--line); cursor:pointer; }
.provider-control:has(input[type=checkbox]:not(:checked)) { opacity:.55; }
#scenario-plot { width:100%; height:550px; min-width:0; }
.plot-empty { min-height:380px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.plot-empty > span { color:var(--aqua); font-size:3rem; margin-bottom:20px; }
.plot-empty p { margin-top:12px; font-size:.9rem; }
.plot-labels { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.plot-labels input { width:100%; font-size:.85rem; }
.slice-controls { margin:12px 0; padding:16px; background:var(--field); border:1px solid var(--line); border-radius:4px; }
.slice-controls label { font-size:.85rem; color:var(--ink); }
.slice-controls > div { display:flex; align-items:center; gap:18px; }
.slice-controls input { padding:0; accent-color:var(--aqua); flex:1; }
.slice-controls output { min-width:85px; color:var(--aqua); text-align:right; font-size:.85rem; }
.plot-notice { padding:12px 16px; background:#332b17; color:#f3d9a6; border-radius:4px; font-size:.8rem; }
#plot-warning, #explorer-status.is-error, #export-status.is-error { color:#ffbda3; }
.explorer-notes p { font-size:.8rem; margin:15px 0 0; }
@media(max-width:1100px) { .explorer-workspace { grid-template-columns:290px minmax(0,1fr); gap:18px; }.plot-panel { padding:18px; } }
@media(max-width:850px) { .explorer-workspace { grid-template-columns:1fr; }.explorer-controls { position:static; max-height:none; }.range-values { grid-template-columns:1fr 1fr 1fr; } }
@media(max-width:600px) { .plot-labels { grid-template-columns:1fr; }#scenario-plot { height:430px; }.plot-panel,.explorer-controls { padding:16px; }.provider-controls { gap:7px; }.provider-control { padding:7px; gap:6px; }.plot-empty { min-height:270px; } }
