/* P01 actual iframe consumer. Loaded after R07; does not re-theme product colors. */
.photo-capture-guide{color:var(--vts-text);line-height:1.6}
.photo-capture-guide ol{display:grid;gap:16px;padding-inline-start:24px;margin:20px 0}
.photo-capture-guide li p{margin:4px 0 0}
.photo-capture-guide .photo-capture-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 12px}
.photo-capture-guide .photo-capture-actions button{flex:1 1 180px;min-height:48px;white-space:normal}
.photo-capture-guide>button{min-height:44px}
body[data-workspace="realtime"] [hidden]{display:none!important}
body.embedded-v2[data-workspace="realtime"] .visual-toolbar .segmented:has([data-face]){display:flex}
body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .visual-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px;
}
body[data-workspace="realtime"] .visual-toolbar .segmented{display:flex;gap:8px;flex:0 1 auto;min-width:0}
body[data-workspace="realtime"] .visual-toolbar .segmented button{
  min-width:44px;min-height:44px;padding:8px;font-size:14px;line-height:24px;border-radius:4px;
}
body[data-workspace="realtime"] :is(.visual-toolbar,.inspector-tabs,.param-tabs) button{
  transition:color var(--vts-motion-control),background-color var(--vts-motion-control),border-color var(--vts-motion-control);
}
body[data-workspace="realtime"] :is(.visual-toolbar,.inspector-tabs,.param-tabs) button:focus-visible{outline-offset:-3px}
body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .panel{
  display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;overflow:hidden;padding:0 0 0 16px;scroll-padding:0;
}
body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .panel>.panel-toggle{
  position:static;min-height:44px;margin:0;padding:8px 12px;align-self:start;
}
body[data-workspace="realtime"] .inspector-tabs{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:4px 4px 8px;border-bottom:1px solid var(--vts-divider);background:var(--vts-surface);
}
body[data-workspace="realtime"] .inspector-tabs button{
  min-width:44px;min-height:44px;padding:8px 4px;border:1px solid var(--vts-control-border);border-radius:4px;font-size:14px;line-height:24px;background:var(--vts-surface);color:var(--vts-text);
}
body[data-workspace="realtime"] .inspector-tabs button[aria-selected="true"]{
  background:var(--vts-brand);border-color:var(--vts-brand);color:white;font-weight:600;
}
body[data-workspace="realtime"] .inspector-tabs button[aria-selected="true"]:focus-visible{outline-color:white;box-shadow:none}
body[data-workspace="realtime"] .inspector-panel{
  min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:64px 24px;
  padding:4px 8px calc(24px + env(safe-area-inset-bottom));animation:workspace-panel-appear var(--vts-motion-panel) ease-out;
}
body[data-workspace="realtime"] .inspector-panel :is(.panel-top,.photo-transform,.render-card,.price-bar,.current-scene){margin-top:0}
body[data-workspace="realtime"] .inspector-panel .panel-top{padding:0 0 16px}
body[data-workspace="realtime"] .inspector-panel .panel-top h2{font-size:20px;line-height:28px}
body[data-workspace="realtime"] .inspector-panel .studio-heading{display:block;margin:0 0 16px;padding:0}
body[data-workspace="realtime"] .inspector-panel .studio-heading>div:first-child{display:none}
body[data-workspace="realtime"] .inspector-panel .studio-heading>.row{display:flex;gap:8px;flex-wrap:wrap}
body[data-workspace="realtime"] .inspector-panel #door-select{flex:1;min-width:120px;max-width:none;min-height:48px}
body[data-workspace="realtime"] .inspector-panel .journey-context{display:flex;margin:0 0 16px;gap:8px;padding:8px 0;justify-content:flex-start}
body[data-workspace="realtime"] .inspector-panel .journey-context :is(a,button){min-height:44px;padding:8px}
body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .param-tabs{
  position:sticky;top:-4px;display:flex;gap:8px;flex:none;margin:0 -4px;padding:4px;background:var(--vts-surface);z-index:5;
}
body[data-workspace="realtime"] .param-tabs button{min-width:44px;min-height:48px;padding:8px 4px;font-size:14px;line-height:24px}
body[data-workspace="realtime"] .parameter-area{padding:16px 0}
body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .image-tools{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px;padding-top:0;border-top:0;
}
body[data-workspace="realtime"] .inspector-panel :is(.field,.consent){font-size:16px;line-height:24px}
body[data-workspace="realtime"] .inspector-panel :is(.field input,.field select,.field textarea){min-width:0;font-size:16px}
body[data-workspace="realtime"] .inspector-panel .inline-fields{gap:16px 8px}
body[data-workspace="realtime"] .inspector-panel .render-access-summary{gap:12px}
body[data-workspace="realtime"] .inspector-panel .render-access-summary dd{overflow-wrap:anywhere}
body[data-workspace="realtime"] .inspector-panel .current-scene canvas{display:block;max-width:100%;height:auto}
body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .panel.collapsed{display:block;padding:0 8px}
body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .float-tools{gap:8px;overflow-x:auto;justify-content:flex-end}
body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .float-tools button{width:44px;min-width:44px;min-height:44px;flex:none}
body[data-workspace="realtime"] :is(button,input,select,textarea,summary){scroll-margin-block:64px 24px}
@keyframes workspace-panel-appear{from{opacity:.72}to{opacity:1}}
@media(max-width:899px){
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"]>.studio{grid-template-rows:minmax(0,.48fr) minmax(0,.52fr)}
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .panel{padding:0;border-left:0;border-top:1px solid var(--vts-divider);gap:4px}
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .panel>.panel-toggle{min-height:44px;padding:8px}
  body[data-workspace="realtime"] .inspector-tabs{gap:8px;padding:0 4px 4px}
  body[data-workspace="realtime"] .inspector-panel{padding-inline:8px}
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .preview-footer{gap:4px 8px;padding:4px 8px;font-size:12px;line-height:18px}
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .preview-footer span{font-size:12px;line-height:18px}
}
@media(min-width:600px) and (max-width:899px) and (max-height:520px){
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"]>.studio{grid-template-columns:minmax(0,1fr) minmax(268px,.9fr);grid-template-rows:minmax(0,1fr)}
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .panel{grid-column:2;grid-row:1;border-top:0;border-left:1px solid var(--vts-divider);padding-left:8px}
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .visual-toolbar{display:flex}
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"]>.studio.panel-collapsed{grid-template-columns:minmax(0,1fr) 96px}
}
@media(max-width:599px) and (max-height:360px){
  /* Keyboard/zoom: retain independent scroll areas instead of shrinking targets or trapping the last field. */
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"]>.studio{grid-template-rows:minmax(0,.4fr) minmax(0,.6fr)}
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"]>.studio .visual{overflow:auto;overscroll-behavior:contain}
  body.embedded-v2[data-workspace="realtime"] #app[data-page="custom"] .preview-shell{min-height:240px}
}
body[data-reduced-motion="true"]{--vts-motion-control:0ms;--vts-motion-panel:0ms}
body[data-reduced-motion="true"] *,body[data-reduced-motion="true"] *::before,body[data-reduced-motion="true"] *::after{
  animation:none!important;transition:none!important;scroll-behavior:auto!important;
}
@media(prefers-reduced-motion:reduce){
  body[data-workspace="realtime"] *,body[data-workspace="realtime"] *::before,body[data-workspace="realtime"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* F01: parameter tasks occupy the existing inspector; the preview never sits
   behind a modal or backdrop. All sizing is responsive, not whole-page zoom. */
body[data-workspace="realtime"] .studio[data-workspace-tool] .panel > :not(.workspace-tool){display:none!important}
body[data-workspace="realtime"] .studio[data-workspace-tool] .panel{display:block!important;overflow:hidden!important}
body[data-workspace="realtime"] .workspace-tool{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:24px;padding:0 12px 24px}
body[data-workspace="realtime"] .workspace-tool-heading{padding:16px 0;border-bottom:1px solid var(--vts-divider);margin-bottom:16px}
body[data-workspace="realtime"] .workspace-tool-heading h2{font-size:22px;line-height:30px;margin:0 0 8px}
body[data-workspace="realtime"] .workspace-tool-body p{margin:12px 0;font-size:14px;line-height:22px}
body[data-workspace="realtime"] .workspace-tool :is(input,button){min-height:44px;font-size:16px;max-width:100%}
body[data-workspace="realtime"] .workspace-tool-actions{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0 calc(16px + env(safe-area-inset-bottom));background:var(--vts-surface)}
body[data-workspace="realtime"] .workspace-tool-actions .primary{flex:1 1 100%}
body[data-workspace="realtime"] [data-workspace-exit]{padding:16px;background:var(--vts-surface-secondary);border:1px solid var(--vts-control-border)}
body[data-workspace="realtime"] .workspace-measure-readout{flex:none;font-size:13px;line-height:20px;margin:0;padding:8px 12px;background:var(--vts-surface);border-top:1px solid var(--vts-divider)}
body[data-workspace="realtime"] .studio[data-workspace-tool="calibration"] .preview-shell > :is(.canvas-wrap,.float-tools,.preview-footer){display:none!important}
body[data-workspace="realtime"] .opening-photo-stage{display:flex;flex:1;min-height:0;min-width:0;align-items:center;justify-content:center;padding:22px;overflow:hidden}
body[data-workspace="realtime"] .opening-photo-surface{position:relative;max-width:100%;max-height:100%;height:100%;width:auto;min-height:0}
body[data-workspace="realtime"] .opening-photo-surface canvas{width:100%;height:100%;display:block;object-fit:contain;touch-action:manipulation}
body[data-workspace="realtime"] .opening-marker-layer{position:absolute;inset:0;pointer-events:none}
body[data-workspace="realtime"] .opening-marker{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:2px solid white;border-radius:50%;background:var(--vts-brand);color:white;font-weight:700;pointer-events:auto;touch-action:none;box-shadow:0 0 0 2px var(--vts-brand)}
body[data-workspace="realtime"] .opening-marker[aria-pressed="true"]{background:var(--vts-surface);color:var(--vts-brand);outline:3px solid var(--vts-brand);outline-offset:3px}
body[data-workspace="realtime"] .opening-point-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}
body[data-workspace="realtime"] .opening-point-grid fieldset{min-width:0;border:1px solid var(--vts-divider);border-radius:4px;padding:8px;margin:0}
body[data-workspace="realtime"] .opening-point-grid fieldset.selected{border-color:var(--vts-brand);outline:1px solid var(--vts-brand)}
body[data-workspace="realtime"] .opening-point-grid legend{padding:0 4px}
body[data-workspace="realtime"] .opening-point-grid legend button{padding:0 4px;font-size:14px}
body[data-workspace="realtime"] .opening-point-grid label{display:block;margin-bottom:8px;font-size:14px}
body[data-workspace="realtime"] .opening-point-grid input{display:block;width:100%;box-sizing:border-box}
@media(max-width:899px){
 body[data-workspace="realtime"] .workspace-tool{padding:0 12px calc(24px + env(safe-area-inset-bottom))}
 body[data-workspace="realtime"] .workspace-tool-heading{padding:8px 0;margin-bottom:8px}
 body[data-workspace="realtime"] .workspace-tool-heading h2{font-size:20px;line-height:28px}
 body[data-workspace="realtime"] .opening-photo-stage{padding:22px}
}
@media(max-height:520px){
 body.embedded-v2[data-workspace="realtime"] .studio[data-workspace-tool] .preview-shell{min-height:0!important}
 body[data-workspace="realtime"] .studio[data-workspace-tool="calibration"] .visual-toolbar{flex:none}
 body[data-workspace="realtime"] .workspace-tool-heading h2{font-size:18px;line-height:24px}
}
body[data-workspace="realtime"] .render-readiness{padding:12px;border:1px solid var(--vts-divider);margin:16px 0}
body[data-workspace="realtime"] .render-readiness h4{margin:0 0 8px;font-size:16px;line-height:24px}
body[data-workspace="realtime"] .render-readiness ul{list-style:none;padding:0;margin:0}
body[data-workspace="realtime"] .render-readiness li{border-top:1px solid var(--vts-divider);padding:8px 0;font-size:14px;line-height:22px}
body[data-workspace="realtime"] .render-readiness li p{margin:4px 0;font-size:14px;line-height:22px}
body[data-workspace="realtime"] .render-readiness li[data-ready="false"] strong{color:var(--vts-warning)}
body[data-workspace="realtime"] .render-readiness button{min-height:44px;padding:8px 0;font-size:14px;text-align:left}

/* Continuous, door-bound task summary. */
.door-task-card{padding:20px 0;border-bottom:1px solid var(--vts-divider,#ddd)}
.door-task-card h3{margin:8px 0 16px}.door-task-card dl{margin:0 0 20px}.door-task-card dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;margin:12px 0;font-size:14px;line-height:1.6}.door-task-card dt{color:var(--vts-text-secondary,#666)}.door-task-card dd{margin:0;overflow-wrap:anywhere}.door-task-card [data-task-material]{display:block}.door-task-card .row{flex-wrap:wrap;margin:8px 0}.door-task-card a{min-height:44px;display:inline-flex;align-items:center}.door-task-card .small{margin-top:12px}
.photo-review img{display:block;width:100%;max-height:52dvh;object-fit:contain;background:#f5f5f4;margin:16px 0}.photo-review .row{flex-wrap:wrap;gap:12px}.photo-primary-guidance{font-size:18px;line-height:1.7;margin:24px 0}
