/* Mapa de lugares (casas com features.placeMap). Desenho em floor-map.js. */
.floor-map{width:100%;max-width:440px;margin:8px auto 0}
.floor-svg{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 18px 42px rgba(0,0,0,.45)}
.floor-svg text{fill:#fff;font:800 17px Manrope,Arial,sans-serif;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:rgba(0,0,0,.45);stroke-width:3px}
.fm-place{transition:opacity .15s,filter .15s}
.fm-place.is-enabled{cursor:pointer}
.fm-place.is-enabled:hover,.fm-place.is-enabled:focus-visible{filter:brightness(1.25) drop-shadow(0 0 8px rgba(255,255,255,.35))}
.fm-place:focus{outline:none}
.fm-place:focus-visible .fm-shape{stroke:#fff;stroke-width:4}
.fm-place.is-unavailable{opacity:.25}
.fm-place.is-selected{filter:drop-shadow(0 0 14px #fff)}
.fm-place.is-selected .fm-shape{stroke:#fff;stroke-width:5}
.floor-legend{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none}
.floor-legend li{display:grid;grid-template-columns:12px 1fr auto;column-gap:8px;align-items:center;font-size:12px}
.floor-legend li i{width:12px;height:12px;border-radius:4px;background:var(--place-color)}
.floor-legend li span{grid-column:2;color:rgba(255,255,255,.6);font-size:11px}
.floor-legend li em{grid-row:1;grid-column:3;font-style:normal;color:rgba(255,255,255,.7)}
/* Command Center: estado da noite em cada lugar. */
.floor-layout{display:grid;grid-template-columns:minmax(0,460px) minmax(260px,1fr);gap:18px;align-items:start}
@media (max-width:900px){.floor-layout{grid-template-columns:1fr}}
.floor-canvas-card,.floor-detail{padding:16px;border-radius:20px}
.floor-date{display:flex;align-items:center;gap:8px}
.floor-counts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;font-size:12px;color:rgba(255,255,255,.7)}
.floor-count-held{color:#fbbf24}.floor-count-reserved{color:#4ade80}
.fm-place.is-held .fm-shape{stroke:#fbbf24;stroke-width:5;stroke-dasharray:9 6}
.fm-place.is-reserved .fm-shape{stroke:#4ade80;stroke-width:5}
.fm-place.is-blocked{opacity:.3}
.floor-reservation{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:12px 0}
.floor-reservation dt{color:rgba(255,255,255,.55)}
.floor-reservation dd{margin:0}
.floor-actions{display:grid;gap:10px}
.floor-actions select{width:100%}
