.sp-app-stage .sp-roomplan{display:flex;flex-direction:column;gap:16px;min-width:0;width:100%}.sp-app-stage .sp-roomplan-featurebar{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--sp-line);border-radius:16px;background:linear-gradient(180deg,rgb(255 255 255/.16),rgb(255 255 255/.06));box-shadow:inset 0 1px 0 rgb(255 255 255/.22);min-width:0}.sp-app-stage .sp-roomplan-feature-chips{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.sp-app-stage .sp-feature-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:4px 12px 4px 6px;border:1px solid var(--sp-line);border-radius:999px;background:rgb(255 255 255/.5);color:var(--sp-text-secondary);cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.sp-app-stage .sp-feature-chip:hover{background:rgb(255 255 255/.82);transform:translateY(-1px)}.sp-app-stage .sp-feature-chip.is-active{background:var(--sp-score-surface);color:var(--sp-text-inverse);border-color:transparent;box-shadow:0 6px 18px rgb(20 30 38/.22)}.sp-app-stage .sp-feature-chip.is-structural.is-active{background:linear-gradient(180deg,#3c78a8,#285a86)}.sp-app-stage .sp-feature-chip-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgb(255 255 255/.55);color:var(--sp-text-secondary)}.sp-app-stage .sp-feature-chip.is-active .sp-feature-chip-mark{background:rgb(255 255 255/.18);color:var(--sp-text-inverse)}.sp-app-stage .sp-feature-chip-mark .sp-icon{width:15px;height:15px}.sp-app-stage .sp-feature-glyph{font-size:11px;font-weight:var(--sp-weight-semibold);line-height:1}.sp-app-stage .sp-feature-chip-mark.is-gold{background:linear-gradient(180deg,#f4d67a,#c99b34);color:#4a3708}.sp-app-stage .sp-feature-chip-mark.is-silver{background:linear-gradient(180deg,#eef2f5,#b9c4cc);color:#3c464d}.sp-app-stage .sp-feature-chip-label{font-size:var(--sp-type-ui)}.sp-app-stage .sp-roomplan-feature-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.sp-app-stage .sp-roomplan-search input{min-width:220px;min-height:40px;padding:8px 12px;border:1px solid var(--sp-line);border-radius:12px;background:rgb(255 255 255/.6);color:var(--sp-text-primary)}.sp-app-stage .sp-roomplan-matches{color:var(--sp-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sp-app-stage .sp-roomplan-floors{display:flex;flex-direction:column;gap:18px;min-width:0}.sp-app-stage .sp-roomplan-floor{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--sp-line);border-radius:18px;background:rgb(255 255 255/.1);min-width:0}.sp-app-stage .sp-roomplan-floor-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sp-app-stage .sp-roomplan-floor-head h3{margin:0}.sp-app-stage .sp-roomplan-floor-head span{color:var(--sp-text-muted)}.sp-app-stage .sp-roomplan-corridor{display:flex;align-items:stretch;gap:8px;padding-bottom:4px}.sp-app-stage .sp-roomplan-endcap{flex:0 0 auto;display:grid;place-items:center;width:40px;align-self:stretch;border-radius:12px;border:1px solid var(--sp-line);background:linear-gradient(180deg,rgb(255 255 255/.34),rgb(255 255 255/.14));color:var(--sp-text-secondary)}.sp-app-stage .sp-roomplan-endcap.is-water{color:#2d6f8f;border-color:rgb(60 120 168/.4)}.sp-app-stage .sp-roomplan-endcap.is-street{color:#7a6a52;border-color:rgb(150 122 74/.4)}.sp-app-stage .sp-roomplan-endcap .sp-icon{width:22px;height:22px}.sp-app-stage .sp-roomplan-rows{flex:1 1 auto;display:flex;flex-direction:column;gap:6px}.sp-app-stage .sp-roomplan-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:5px}.sp-app-stage .sp-roomplan-cell{flex:0 0 64px;width:64px;display:flex}.sp-app-stage .sp-roomplan-cell.is-structural{align-items:stretch;justify-content:center;border-radius:12px;background:repeating-linear-gradient(45deg,rgb(70 84 96/.06),rgb(70 84 96/.06) 5px,transparent 0,transparent 10px)}.sp-app-stage .sp-core-mark{display:grid;place-items:center;width:100%;min-height:100%;border-radius:10px;background:rgb(255 255 255/.6);color:var(--sp-text-secondary);transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.sp-app-stage .sp-core-mark .sp-icon{width:20px;height:20px}.sp-app-stage .sp-core-mark.is-elevator{color:var(--sp-status-critical,#b23b3b);border:1px solid rgb(178 59 59/.35);background:rgb(178 59 59/.08)}.sp-app-stage .sp-core-mark.is-hit{background:linear-gradient(180deg,#3c78a8,#285a86);color:#fff;box-shadow:0 0 0 3px rgb(60 120 168/.28);transform:scale(1.04)}.sp-app-stage .sp-core-mark.is-elevator.is-hit{background:linear-gradient(180deg,#c15656,#9c3838);box-shadow:0 0 0 3px rgb(178 59 59/.3)}.sp-app-stage .sp-room.is-placeholder{cursor:default;border-style:dashed;background:rgb(255 255 255/.2);color:var(--sp-text-muted);opacity:.55}.sp-app-stage .sp-room{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:68px;padding:6px 5px;border:1px solid var(--sp-line-dark);border-radius:12px;background:rgb(255 255 255/.55);cursor:pointer;transition:background .14s ease,border-color .14s ease,opacity .18s ease,filter .18s ease,transform .18s ease}.sp-app-stage .sp-room:hover{background:rgb(255 255 255/.95);border-color:var(--sp-text-tertiary);transform:translateY(-1px)}.sp-app-stage .sp-room:focus-visible{outline:2px solid var(--sp-focus-ring);outline-offset:2px}.sp-app-stage .sp-room.is-occupied{border-color:rgb(var(--sp-status-success-rgb)/.55);background:rgb(var(--sp-status-success-rgb)/.12)}.sp-app-stage .sp-room.is-arrival{border-color:rgb(var(--sp-status-warning-rgb)/.6);background:rgb(var(--sp-status-warning-rgb)/.14)}.sp-app-stage .sp-room.is-departure{border-color:rgb(var(--sp-status-info-rgb)/.5);background:rgb(var(--sp-status-info-rgb)/.1)}.sp-app-stage .sp-room.is-free{background:rgb(255 255 255/.4)}.sp-app-stage .sp-room.is-oos{border-color:rgb(var(--sp-status-warning-rgb)/.7);background:rgb(var(--sp-status-warning-rgb)/.16)}.sp-app-stage .sp-room.is-ooo{border-color:rgb(var(--sp-status-critical-rgb)/.6);background:rgb(var(--sp-status-critical-rgb)/.14)}.sp-app-stage .sp-room.has-hqtopper{box-shadow:inset 3px 0 0 rgb(201 155 52/.85)}.sp-app-stage .sp-room.has-topper{box-shadow:inset 3px 0 0 rgb(150 164 174/.85)}.sp-app-stage .sp-room.is-dimmed{opacity:.14;filter:grayscale(.7);transform:scale(.94)}.sp-app-stage .sp-room.is-dimmed:hover{opacity:.5;filter:none}.sp-app-stage .sp-room-top{display:flex;align-items:center;gap:4px;height:10px}.sp-app-stage .sp-room-state{font-size:9px;line-height:1;color:var(--sp-text-secondary)}.sp-app-stage .sp-room-topper{display:inline-block;width:14px;height:4px;border-radius:2px}.sp-app-stage .sp-room-topper.is-gold{background:linear-gradient(90deg,#f4d67a,#c99b34)}.sp-app-stage .sp-room-topper.is-silver{background:linear-gradient(90deg,#eef2f5,#b9c4cc)}.sp-app-stage .sp-room-number{font-family:var(--sp-font-display);font-size:16px;line-height:1.05;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--sp-text-primary)}.sp-app-stage .sp-room-marks{display:flex;align-items:center;gap:3px;font-size:10px;line-height:1;color:var(--sp-text-muted);min-height:14px}.sp-app-stage .sp-room-mark{display:inline-grid;place-items:center}.sp-app-stage .sp-room-mark .sp-icon{width:13px;height:13px}.sp-app-stage .sp-room-vip{letter-spacing:.02em;color:var(--sp-op-vip)}.sp-app-stage .sp-room-service,.sp-app-stage .sp-room-vip{position:absolute;top:2px;right:3px;font-size:8px;font-weight:var(--sp-weight-semibold)}.sp-app-stage .sp-room-service{letter-spacing:.04em;color:var(--sp-status-warning)}.sp-app-stage .sp-roomplan-legend{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--sp-line);border-radius:16px;background:rgb(255 255 255/.08)}.sp-app-stage .sp-roomplan-legend h3{margin:0;text-transform:uppercase;letter-spacing:var(--sp-tracking-label);color:var(--sp-text-muted)}.sp-app-stage .sp-roomplan-legend-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:8px 22px;gap:8px 22px}.sp-app-stage .sp-roomplan-legend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;color:var(--sp-text-muted)}.sp-app-stage .sp-roomplan-legend-list li{display:flex;align-items:center;gap:8px}.sp-app-stage .sp-legend-ico{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:rgb(255 255 255/.5);color:var(--sp-text-secondary)}.sp-app-stage .sp-legend-ico .sp-icon{width:14px;height:14px}.sp-app-stage .sp-legend-topper{width:20px;height:6px;border-radius:3px}.sp-app-stage .sp-legend-oos{font-size:9px;font-weight:var(--sp-weight-semibold);color:var(--sp-status-warning)}.sp-room-detail{display:flex;flex-direction:column;gap:16px}.sp-room-detail-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin:0}.sp-room-detail-facts dt{font-size:var(--sp-type-meta);color:var(--sp-text-muted)}.sp-room-detail-facts dd{margin:2px 0 0;color:var(--sp-text-primary)}.sp-room-detail-facts dd.is-yes{color:var(--sp-status-success)}.sp-room-detail-facts dd.is-no{color:var(--sp-status-warning)}.sp-room-detail h3{margin:0 0 6px}.sp-room-detail p{margin:0 0 4px}.sp-room-detail-list{margin:0;padding-left:18px;color:var(--sp-text-secondary)}@media (max-width:767px){.sp-app-stage .sp-roomplan-search input{min-width:0;width:100%}.sp-app-stage .sp-roomplan-search{flex:1 1 100%}}.sp-app-stage .sp-roomplan{--sp-room-cell:64px;--sp-room-gap:5px}.sp-app-stage .sp-roomplan-floor{container-type:inline-size;--sp-room-cell:clamp(52px,calc((100cqw - 230px) / 20),96px);--sp-room-gap:clamp(4px,0.32cqw,7px)}.sp-app-stage .sp-roomplan-cell{flex:0 0 var(--sp-room-cell);width:var(--sp-room-cell)}.sp-app-stage .sp-roomplan-row{gap:var(--sp-room-gap)}.sp-app-stage .sp-roomplan-rows{gap:var(--sp-room-gap);min-width:max-content}.sp-app-stage .sp-room-number{font-size:clamp(.66rem,calc(var(--sp-room-cell) * .19),.94rem)}.sp-app-stage .sp-roomplan-corridor{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.sp-app-stage .sp-roomplan-floors{width:100%;max-width:none;margin-inline:0}