.public-map-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px;font-size:14px}
.public-map-controls button,.public-map-controls input{font:inherit;color:var(--text-main,#17212b);background:#fff;border:1px solid var(--border,#ddd);border-radius:8px;min-height:40px;padding:7px 12px}
.public-map-controls button{cursor:pointer}.public-map-controls button:hover{background:#f3f4f6}.public-map-controls button:disabled{opacity:.4;cursor:default}
.public-map-controls input{width:80px;text-align:center;padding:7px 4px}.public-map-hint{font-size:13px;color:var(--text-secondary,#666);margin:0 0 12px}
.floor-plan-svg-container.public-map{height:clamp(360px,65vh,680px);overflow:hidden;touch-action:none;user-select:none;border:1px solid var(--border,#ddd);border-radius:8px;background:#fff;cursor:grab}
.floor-plan-svg-container.public-map:focus-visible{outline:3px solid #e30613;outline-offset:2px}.floor-plan-svg-container.public-map.map-dragging{cursor:grabbing}
.floor-plan-svg-container.public-map>svg{display:block;width:100%!important;height:100%!important;max-width:none;touch-action:none}
.floor-plan-svg-container.public-map svg rect[data-unit-id],.floor-plan-svg-container.public-map svg rect[data-unit-id]+g{transform:none!important;transition:fill .15s,stroke .15s}
.floor-plan-svg-container.public-map svg rect[data-unit-id]:hover{filter:brightness(1.1);transform:none!important}
.floor-plan-wrapper:fullscreen,.floor-plan-wrapper.public-map-fullscreen{display:flex;flex-direction:column;box-sizing:border-box;width:100%;height:100dvh;background:#fff;padding:16px;border-radius:0;overflow:hidden}
.floor-plan-wrapper.public-map-fullscreen{position:fixed;inset:0;z-index:9990}
.floor-plan-wrapper:fullscreen .public-map,.floor-plan-wrapper.public-map-fullscreen .public-map{flex:1;min-height:0;height:auto}
@media(max-width:480px){.public-map-controls{gap:6px}.public-map-controls button{padding:7px 9px}.public-map-controls input{width:66px}.floor-plan-wrapper{padding:12px}.floor-plan-legend{flex-wrap:wrap;gap:8px}}
