/* Vistas de volumen sobre la misma geometría, con controles independientes del dibujo. */
.platform .floor-spatial{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);box-shadow:var(--ui-shadow)}
.platform .spatial-toolbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 15px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface)}
.platform .spatial-view-title{display:grid;gap:4px;min-width:0}.platform .spatial-view-title>strong{font-size:14px;color:var(--ui-text)}.platform .spatial-view-title>span{font-size:11px;color:var(--ui-muted)}
.platform .spatial-controls{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.platform .spatial-controls>button{display:inline-flex;align-items:center;justify-content:center;min-width:35px;min-height:35px;padding:7px 9px;border:1px solid var(--ui-border);border-radius:5px;background:var(--ui-surface);color:var(--ui-text);font-size:14px;line-height:1;cursor:pointer}
.platform .spatial-controls>button[data-spatial-control=reset]{font-size:12px;min-width:0;margin-left:4px}
.platform .spatial-controls>button:hover{background:var(--ui-primary-soft);color:var(--ui-link);border-color:var(--ui-link)}
.platform .spatial-controls>button:focus-visible,.platform .spatial-object-select>select:focus-visible,.platform .spatial-help>summary:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}
.platform .spatial-controls>output{min-width:45px;text-align:center;color:var(--ui-muted);font-size:11px;font-variant-numeric:tabular-nums}
.platform .spatial-stage{position:relative;flex:1 1 0;width:100%;height:0;min-height:0;overflow:hidden;background:#e9ece2;isolation:isolate}
.platform .spatial-stage>canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline:none}
.platform .spatial-stage>.spatial-surface{position:absolute;inset:0;z-index:0;pointer-events:none}
.platform .spatial-stage>.spatial-interaction{position:absolute;inset:0;z-index:1;background:transparent}
.platform .spatial-surface[hidden],.platform .spatial-render-notice[hidden]{display:none!important}
.platform .spatial-render-notice{position:absolute;left:10px;right:10px;top:10px;z-index:3;padding:8px 10px;border:1px solid var(--ui-border);border-radius:5px;background:var(--ui-surface);color:var(--ui-muted);font-size:12px}
.platform .spatial-axis{z-index:2}
.platform .spatial-stage>canvas:focus-visible{outline:3px solid var(--ui-focus);outline-offset:-4px}
.platform .spatial-stage.is-orbiting>canvas{cursor:grabbing!important}
.platform .spatial-axis{position:absolute;left:15px;bottom:13px;display:grid;gap:3px;pointer-events:none;padding:7px 9px;border:1px solid #bcc6b766;border-radius:5px;background:#f9fbf0d9;color:#607058;line-height:1.4}
.platform .spatial-axis>span{font-size:11px;font-weight:700}.platform .spatial-axis>small{font-size:10px}
.platform .spatial-tooltip{position:absolute;z-index:3;display:grid;gap:3px;width:max-content;max-width:220px;pointer-events:none;padding:9px 11px;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface);box-shadow:var(--ui-shadow);color:var(--ui-text);font-size:12px;line-height:1.4}
.platform .spatial-tooltip[hidden]{display:none}.platform .spatial-tooltip>strong{font-size:12px;overflow-wrap:anywhere}.platform .spatial-tooltip>span{font-size:11px;color:var(--ui-muted)}
.platform .spatial-footer{flex:0 0 auto;max-height:40%;overflow:auto;display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;padding:12px 15px;border-top:1px solid var(--ui-border);background:var(--ui-surface-alt)}
.platform .spatial-legend{display:flex;flex-wrap:wrap;gap:9px 13px;color:var(--ui-muted);font-size:11px}.platform .spatial-legend>span{display:flex;align-items:center;gap:5px}.platform .spatial-legend i{display:inline-block;width:10px;height:10px;flex:none;border:1px solid #8f998155;border-radius:2px}.platform .spatial-color-interior{background:#e5e0d4}.platform .spatial-color-exterior{background:#ccd5b5}.platform .spatial-color-wood{background:#bca27c}
.platform .spatial-object-select{display:flex;align-items:center;gap:7px;color:var(--ui-muted);font-size:12px;min-width:0}.platform .spatial-object-select>select{min-height:36px;max-width:300px;width:100%;padding:7px 9px;border:1px solid var(--ui-border);border-radius:5px;background:var(--ui-surface);color:var(--ui-text);font-size:12px}
.platform .spatial-help{flex:1 0 100%;font-size:12px;color:var(--ui-muted);border-top:1px solid var(--ui-border);padding-top:9px}.platform .spatial-help>summary{display:inline-block;cursor:pointer;color:var(--ui-link);font-weight:600;padding:3px 0}.platform .spatial-help>summary::after{content:' ⌄';padding-left:5px}.platform .spatial-help[open]>summary::after{content:' ⌃'}.platform .spatial-help>p{font-size:13px;line-height:1.65;max-width:1050px;margin:9px 0 0}
.platform .spatial-unavailable{padding:25px;color:var(--ui-text);font-size:14px;line-height:1.7}.platform .spatial-unavailable p{color:var(--ui-muted);font-size:13px}
@media(max-width:860px){.platform .spatial-controls>button{min-height:40px;min-width:40px}.platform .spatial-controls>button[data-spatial-control=reset]{min-height:40px}.platform .spatial-toolbar{padding:10px 12px}.platform .spatial-stage{min-height:0}.platform .spatial-object-select>select{font-size:16px;min-height:40px;max-width:100%}.platform .spatial-object-select{flex:1 0 100%;width:100%}.platform .spatial-help>summary{min-height:40px;display:inline-flex;align-items:center}.platform .spatial-axis{left:10px;bottom:9px}}
@media(max-width:480px){.platform .spatial-stage{min-height:0}.platform .spatial-controls{gap:4px}.platform .spatial-controls>button[data-spatial-control=reset]{font-size:11px;padding:7px}.platform .spatial-controls>output{min-width:40px}.platform .spatial-footer{padding:10px 12px}.platform .spatial-axis>small{display:none}}
@media print{.platform .spatial-controls,.platform .spatial-object-select,.platform .spatial-help,.platform .spatial-tooltip,.platform .spatial-axis{display:none!important}.platform .floor-spatial{height:570px;box-shadow:none;break-inside:avoid}.platform .spatial-stage{min-height:0}}
