#visualDialog{width:min(1480px,98vw);max-width:none;max-height:96dvh;padding:0;background:#121c26;border:1px solid #64788a;border-radius:8px;overflow:auto;overscroll-behavior:contain}
#visualDialog::backdrop{background:#050a11e8;backdrop-filter:blur(8px)}
.visual-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;gap:16px;background:#121d28;position:sticky;top:0;z-index:10;border-bottom:1px solid #3c5062}
.visual-header .eyebrow{font-size:12px;letter-spacing:.08em}.visual-header h2{font:600 29px/1.2 var(--font);letter-spacing:-.5px;margin:5px 0 0}.visual-header .button{min-height:44px}
.visual-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px}.visual-stage{min-width:0;background:#14222f}
.visual-layout .scene{position:relative;margin:0;height:clamp(400px,55vh,660px);overflow:hidden;background:radial-gradient(ellipse at 48% 75%,#5d6973 0,#3a4b5a 38%,#1b2b3a 75%,#142231 100%);isolation:isolate}
.visual-layout .scene[data-lighting="daylight"]{background:radial-gradient(ellipse at 50% 70%,#b4bab8 0,#909da4 40%,#5a748a 100%)}
.visual-layout .scene[data-lighting="dusk"]{background:radial-gradient(ellipse at 60% 70%,#5c514c 0,#2b374a 40%,#101c31 100%)}
#vehicleCanvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;touch-action:none;cursor:grab}
#vehicleCanvas:focus-visible{outline:2px solid #ffaf75;outline-offset:-5px}
.scene-top{position:absolute;inset:18px 20px auto;z-index:3;pointer-events:none;font:600 13px/1.5 var(--font);letter-spacing:.05em;gap:15px;color:#f1f5f8}.scene-top small{display:block;margin:5px 0 0;font:400 12px/1.6 var(--font);letter-spacing:.04em;color:#cbd7e0}.scene-top .scene-tag{font-size:11px;line-height:1.5;background:#12203080;border:1px solid #8095a855;padding:6px 9px;max-width:none;white-space:nowrap}.scene-top .live-dot{background:#ffab70;width:6px;height:6px}
.model-status{position:absolute;top:78px;left:20px;font:400 11px/1.6 var(--font);letter-spacing:.06em;color:#bdcddc;z-index:3;pointer-events:none}
.scene-caption{position:absolute;bottom:15px;left:20px;right:20px;z-index:3;pointer-events:none;display:flex;justify-content:space-between;gap:12px;font:400 11px/1.5 var(--font);letter-spacing:.03em;color:#d6e0e8}
#visualLoading{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;background:#182737ca;color:#e5edf5;font-size:15px;pointer-events:none}.loading-ring{width:35px;height:35px;border:2px solid #5b7184;border-top-color:#f68a45;border-radius:50%;animation:studio-spin 1s linear infinite}@keyframes studio-spin{to{transform:rotate(360deg)}}
.vehicle-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}
.studio-controls{background:#152330;border-top:1px solid #4a5c6c;padding:18px 22px 14px}.studio-camera-row,.studio-options,.studio-paint-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.studio-options{margin:16px 0;justify-content:flex-start;gap:10px}
.camera-presets,.zoom-controls{display:flex;gap:5px;flex-wrap:wrap}.camera-presets button,.zoom-controls button{border:1px solid #526879;min-height:40px;padding:8px 12px;border-radius:3px;background:#1c2d3c;color:#dbe5ed;font-size:14px}.camera-presets button.active,.camera-presets button:hover,.zoom-controls button:hover{border-color:#f68a45;background:#33404a;color:#fff}.camera-presets button.active{box-shadow:inset 0 -2px #f68a45}.zoom-controls button:first-child,.zoom-controls button:nth-child(2){font-size:20px;width:40px;padding:2px}
.studio-light-label{display:flex;gap:9px;align-items:center;color:#cbd7e0;font-size:14px}.studio-light-label select{width:136px;height:40px;min-height:40px;font-size:14px;padding-block:7px}.studio-options .button{font-size:14px;min-height:40px;padding:8px 12px;gap:8px}.studio-options button[aria-pressed="true"]{border-color:#f68a45;background:#493523;color:#ffb57e}
.studio-paint-row{align-items:center;padding-top:14px;border-top:1px solid #3c5060}.studio-paint-row .swatches{gap:10px;flex-wrap:wrap}.studio-paint-row .swatches button{width:23px;height:23px;border:2px solid #1d2e3b;box-shadow:0 0 0 1px #8b9ba8}.studio-paint-row .swatches button.selected{outline:2px solid #f68a45;outline-offset:3px}.studio-paint-row .swatches span{font-size:12px;letter-spacing:.04em;color:#d4dfe8;display:block;margin-left:5px}.studio-paint-row .text-link{font-size:13px;padding:6px 0}
#visualDimensions{font-size:12px;line-height:1.7;color:#b9cbd9;margin:13px 0 0}
#visualCoverage{padding:22px;background:#17232f;border-left:1px solid #4a5c6c;max-height:calc(96dvh - 91px);overflow:auto;scrollbar-width:thin;scrollbar-color:#70879b #17232f}.visual-coverage-head .eyebrow{font-size:12px;letter-spacing:.04em}.visual-coverage-head h3{font-size:19px;line-height:1.5;margin:12px 0}.visual-coverage-head p,.visual-empty p{font-size:14px;line-height:1.7;color:#c5d2df}.visual-accuracy{margin:16px 0 22px;border:1px solid #4a6073;padding:12px;border-radius:3px}.visual-accuracy summary{font-size:14px;cursor:pointer;color:#dae4ed}.visual-accuracy p{font-size:14px;line-height:1.7;margin-bottom:0}
.visual-product{display:grid;grid-template-columns:70px minmax(0,1fr);gap:13px;border-top:1px solid #42566a;padding:18px 0}.visual-product:not(:has(img)){grid-template-columns:1fr}.visual-product img{width:70px;height:80px;background:#f0f1eb;object-fit:contain;border-radius:3px}.visual-product strong{font-size:15px;line-height:1.5;margin-top:6px;color:#f2f5f8}.visual-product small{font-size:11px;letter-spacing:.03em;line-height:1.6;color:#f6b27f}.visual-product:not(.is-represented) small{color:#bacbda}.visual-product p{font-size:14px;line-height:1.7;color:#c5d2df;margin:9px 0 0}.visual-product .text-link{font-size:14px;padding:10px 0 0}.visual-empty h3{font-size:20px;line-height:1.5}.visual-empty .button{font-size:14px}
@media(max-width:1050px){.visual-layout{grid-template-columns:minmax(0,1fr) 280px}.studio-controls{padding-inline:16px}.camera-presets button,.zoom-controls button{padding-inline:10px}.visual-header{padding:14px 18px}.scene-caption{font-size:10px}.scene-caption span:last-child{max-width:170px;text-align:right}}
@media(max-width:800px){#visualDialog{width:98vw;max-height:96dvh;border-radius:6px}.visual-layout{grid-template-columns:minmax(0,1fr)}.visual-layout .scene{height:clamp(340px,49dvh,480px)}#visualCoverage{border-left:0;border-top:1px solid #526879;max-height:340px}.scene-top{inset:15px 16px auto}.scene-top .scene-tag{display:none}.model-status{top:73px;left:16px}.scene-caption{left:16px;right:16px;font-size:10px}.scene-caption span:last-child{max-width:155px}.studio-controls{padding:16px}.studio-camera-row{gap:12px;justify-content:flex-start}.studio-options{gap:10px}.visual-header{padding:12px 16px}.visual-header h2{font-size:25px}.visual-header .eyebrow{font-size:10px}.studio-paint-row{gap:13px}.camera-presets button{min-height:42px;font-size:13px}.visual-product{grid-template-columns:80px minmax(0,1fr)}.visual-product img{width:80px;height:90px}}
@media(max-width:420px){.visual-layout .scene{height:350px}.scene-top{font-size:12px}.scene-top small{font-size:11px}.studio-controls{padding:14px 12px}.studio-camera-row{gap:10px}.camera-presets{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.camera-presets button{padding:8px 6px}.zoom-controls{margin-left:auto}.studio-options .button{font-size:13px}.studio-light-label{width:100%;justify-content:space-between}.studio-light-label select{width:160px}.studio-paint-row .swatches{gap:9px}.studio-paint-row .swatches span{font-size:11px}.scene-caption span:last-child{display:none}#visualDimensions{font-size:12px}}
@media(prefers-reduced-motion:reduce){.loading-ring{animation:none}}
.studio-detail-label{display:flex;gap:9px;align-items:center;color:#cbd7e0;font-size:14px}.studio-detail-label select{width:175px;height:40px;min-height:40px;font-size:14px;padding-block:7px}.detail-explainer{font-size:12px;line-height:1.6;color:#c5d2df;margin:6px 0 0}@media(max-width:420px){.studio-detail-label{width:100%;justify-content:space-between}.studio-detail-label select{width:160px}}
