/* Both workspaces use the available viewport; only the option panels scroll. */
.service-calculator { padding-block:24px; scroll-margin-top:108px; }
.calc-heading { margin-bottom:16px; }
.calc-heading h2 { font-size:1.75rem; margin:4px 0 6px; }
.calc-heading .calc-eyebrow { display:none; }
.calc-heading p { font-size:.82rem; }
.calc-layout { height:min(650px,calc(100dvh - 218px)); min-height:260px; align-items:stretch; gap:16px; }
.calc-controls { height:100%; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; padding:18px; border-radius:14px; }
.calc-services { margin-bottom:20px; }
.calc-services legend { font-size:.85rem; margin-bottom:10px; }
.calc-service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.calc-service { padding:9px 6px; min-height:58px; gap:5px; font-size:.69rem; flex-direction:column; text-align:center; }
.calc-service svg { width:22px; height:22px; }
.calc-step-heading { margin-bottom:14px; }
.calc-measure { padding:14px; margin-bottom:16px; }
.calc-toggles { gap:8px; margin-top:16px; }
.calc-detail-block { margin-top:20px; border-top:1px solid #d5e3eb; padding-top:16px; }
.calc-detail-block h3 { font-size:.95rem; }
.calc-detail-block .calc-breakdown { border-color:#d3e0e8; }
.calc-detail-block .calc-flags { color:#805317; }
.calc-detail-block .calc-method summary,.calc-detail-block .calc-method a { color:#17556d; }
.calc-result { position:static; height:100%; min-height:0; padding:22px; border-radius:14px; display:flex; flex-direction:column; justify-content:center; }
.calc-result .calc-disclaimer { margin:12px 0; }
.calc-result .calc-result-note { margin:8px 0; }
.calc-result .calc-copy-status:empty { display:none; }
.calc-result .calc-eyebrow { margin-bottom:4px; }
.calc-result .calc-total { font-size:clamp(1.6rem,2.7vw,2.4rem); }
.calc-result .calc-copy { margin-top:8px; }
.calc-controls:focus-visible,.ss__panels:focus-visible { outline:3px solid #14879d; outline-offset:2px; }

.studio-panel { scroll-margin-top:108px; }
.studio-panel .panel-intro .section-title { font-size:1.65rem; margin-bottom:6px; }
.studio-panel .panel-intro p { font-size:.8rem; margin-top:0; margin-bottom:0; }
.ss { height:min(700px,calc(100dvh - 210px)); min-height:280px; grid-template-columns:minmax(0,1fr) minmax(300px,360px); grid-template-rows:minmax(0,1fr); gap:12px; margin-top:12px; }
.ss__stage { height:100%; min-height:0; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto minmax(0,1fr) auto; padding:8px; gap:6px; border-radius:14px; }
.ss__hud--tl { grid-row:1; grid-column:1; }
.ss__hud--tr { grid-row:1; grid-column:2; flex-wrap:nowrap; gap:4px; }
.ss__viewport,.ss__photo { grid-row:2; grid-column:1 / -1; }
.ss__hud--bl { grid-row:3; grid-column:1 / -1; }
.ss__dock { height:100%; min-height:0; border-radius:14px; }
.ss__panels { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:12px; }
.ss__tabs { grid-template-columns:repeat(4,minmax(0,1fr)); padding:4px; }
.ss__tab,.ss__tab[data-tab="play"] { min-height:38px; font-size:.69rem; }
.ss__actions { margin-top:14px; padding:12px 0 0; }
.ss__actions-row { grid-template-columns:1fr 1fr; }
.ss__tray { margin-top:12px; padding:10px 0; }
.ss-view-tools { margin-bottom:12px; padding-bottom:8px; border-bottom:1px solid #d6e1e7; }
.ss-view-tools summary { cursor:pointer; font-weight:700; font-size:.8rem; min-height:40px; padding:8px 0; color:#12334d; }
.ss-view-tools .ss__group { width:100%; border-radius:10px; }
.ss-view-tools .ss__hud--br { display:block; margin-top:8px; }
.ss-view-tools .ss__group button { min-height:40px; padding:7px 9px; }
.ss__status,.ss__badge { top:64px; }
.ss__stage.is-full { height:100dvh; grid-template-rows:auto minmax(0,1fr) auto; }
@media(max-width:900px) {
  .service-calculator { padding-block:18px; scroll-margin-top:80px; }
  .calc-heading { margin-bottom:10px; }
  .calc-heading h2 { font-size:1.35rem; }
  .calc-layout { height:calc(100dvh - 216px); min-height:250px; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); gap:8px; }
  .calc-result { grid-row:1; height:auto; padding:12px 14px; display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,.8fr); gap:3px 12px; align-items:center; }
  .calc-result>.calc-eyebrow,.calc-result .calc-copy,.calc-result .calc-result-note,.calc-result .calc-copy-status { display:none; }
  .calc-result h3 { grid-column:1; margin:0; font-size:.7rem; }
  .calc-result .calc-total { grid-row:2; grid-column:1; font-size:1.55rem; line-height:1.15; }
  .calc-result>.btn { grid-row:1 / 3; grid-column:2; font-size:.7rem; padding:9px 10px; line-height:1.3; }
  .calc-result .calc-disclaimer { grid-column:1 / -1; font-size:.63rem; line-height:1.3; margin:6px 0 0; }
  .calc-controls { grid-row:2; padding:12px; }
  .calc-service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .calc-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .calc-field { font-size:.74rem; }
  .calc-help { font-size:.7rem; }
  .studio-panel { scroll-margin-top:80px; }
  .ss { height:calc(100dvh - 174px); min-height:320px; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(150px,.46fr) minmax(150px,.54fr); gap:8px; }
  .ss__stage { padding:5px; gap:4px; }
  .ss__hud--tr .ss__icon { width:40px; height:40px; flex-basis:40px; }
  .ss__mode { min-height:40px; padding:7px 8px; font-size:.62rem; }
  .ss__readout { padding:3px 8px; gap:6px; }
  .ss__readout strong { font-size:.8rem; }
  .ss__dot { width:20px; height:20px; }
  .ss__code { font-size:.6rem; }
  .ss__tabs { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .ss__tab,.ss__tab[data-tab="play"] { min-height:36px; font-size:.62rem; padding:5px 2px; }
  .ss__panels { padding:10px; }
}
@media(max-width:380px) {
  .calc-result .calc-total { font-size:1.2rem; }
  .calc-result { grid-template-columns:minmax(0,1fr) 108px; }
  .calc-service { font-size:.62rem; padding:8px 3px; }
  .ss__hud--tr { gap:2px; }
  .ss__hud--tr .ss__icon { width:36px; height:40px; flex-basis:36px; }
  .ss__modes { padding:2px; }
  .ss__mode { padding-inline:6px; }
}
@media(max-height:560px) and (min-width:600px) {
  .calc-layout { height:calc(100dvh - 172px); grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr); min-height:190px; }
  .calc-controls { grid-row:1; }.calc-result { grid-column:2; grid-row:1; display:flex; padding:12px; }
  .calc-result .calc-disclaimer { font-size:.6rem; }
  .ss { height:calc(100dvh - 160px); min-height:190px; grid-template-columns:minmax(0,1fr) minmax(270px,.9fr); grid-template-rows:minmax(0,1fr); }
}

.calc-detail-block .calc-copy { color:#18506a; border-color:#a7bdcc; margin:0 0 14px; }
