:root{--bvm-primary-color: #0073aa;--bvm-secondary-color: #005177;--bvm-hover-color: #00a0d2;--bvm-text-color: #333333;--bvm-background-color: #ffffff;--bvm-border-color: #dddddd;--bvm-success-color: #46b450;--bvm-warning-color: #ffb900;--bvm-error-color: #dc3232;--bvm-accent-light: #ccf5eb;--bvm-accent-dark: #000;--bvm-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);--bvm-border-radius: 4px;--bvm-transition: all 0.3s ease;--bvm-z-index-base: 1000;--bvm-z-index-overlay: 1010;--bvm-z-index-popup: 1020;--bvm-z-index-tooltip: 1030;--bvm-poi-label-bg: rgba(255, 255, 255, 0.95);--bvm-poi-label-text-color: var(--bvm-text-color);--bvm-poi-label-border-color: var(--bvm-border-color);--bvm-poi-label-border-radius: 8px;--bvm-poi-label-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);--bvm-poi-label-padding: 6px 8px;--bvm-poi-label-font-size: 14px;--bvm-poi-label-font-weight: 700;--bvm-popup-bg: var(--bvm-background-color);--bvm-popup-bg-opacity: 0.97;--bvm-popup-border-radius: 16px;--bvm-popup-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);--bvm-popup-padding: 24px;--bvm-popup-max-width: 200px;--bvm-popup-title-color: var(--bvm-poi-label-text-color);--bvm-popup-text-color: var(--bvm-poi-label-text-color);--bvm-popup-title-font-size: 18px;--bvm-popup-title-font-weight: 600;--bvm-poi-capacity-bg: var(--bvm-primary-color);--bvm-poi-capacity-color: #fff;--bvm-poi-capacity-font-size: 10px;--bvm-poi-capacity-border-radius: 2px;--bvm-poi-capacity-padding: 2px 4px}.bvm-container{position:relative;width:100%;margin:0 auto}.bvm-container.bvm-transitioning .bvm-map-wrapper{opacity:.7;pointer-events:none}.bvm-container .leaflet-control-zoom{border:2px solid rgba(0,0,0,0) !important}.bvm-container .leaflet-control-zoom a{background-color:var(--bvm-warning-color) !important;border-radius:var(--bvm-border-radius) !important;margin:8px;display:flex;justify-content:center;align-items:center}.bvm-container .leaflet-control-zoom a span{margin-top:-5px;color:var(--bvm-poi-label-bg)}.bvm-container .bvm-custom-control{display:none}.bvm-container .bvm-reset-view{display:none}.bvm-map-title{margin:0 0 16px 0;font-size:24px;font-weight:600;color:var(--bvm-text-color);line-height:1.3}.bvm-map-description{margin:0 0 20px 0;color:#666;line-height:1.5}.bvm-map-description p{margin:0 0 12px 0}.bvm-map-description p:last-child{margin-bottom:0}.bvm-floor-nav{display:flex;gap:8px;margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:var(--bvm-border-radius);border:1px solid var(--bvm-border-color);flex-wrap:wrap}.bvm-floor-nav .bvm-floor-btn{background-color:#fff;color:var(--bvm-text-color);border:none;padding:8px 16px;border-radius:var(--bvm-border-radius);cursor:pointer;transition:var(--bvm-transition);font-size:14px;line-height:1.4;border:1px solid var(--bvm-border-color);min-width:60px;position:relative}.bvm-floor-nav .bvm-floor-btn:hover{background-color:var(--bvm-hover-color);transform:translateY(-1px)}.bvm-floor-nav .bvm-floor-btn:active{transform:translateY(0)}.bvm-floor-nav .bvm-floor-btn:focus{outline:2px solid var(--bvm-hover-color);outline-offset:2px}.bvm-floor-nav .bvm-floor-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bvm-floor-nav .bvm-floor-btn:hover{background-color:#f0f0f0;border-color:var(--bvm-primary-color)}.bvm-floor-nav .bvm-floor-btn.bvm-active{background-color:var(--bvm-primary-color);color:#fff;border-color:var(--bvm-primary-color)}.bvm-floor-nav .bvm-floor-btn.bvm-active:hover{background-color:var(--bvm-secondary-color)}.bvm-floor-nav .bvm-floor-btn:focus{outline:2px solid var(--bvm-hover-color);outline-offset:2px;z-index:1}.bvm-floor-nav .bvm-floor-loader{display:none;align-items:center;gap:8px;padding:8px 12px;color:#666;font-size:14px}.bvm-floor-nav .bvm-floor-loader .bvm-spinner{width:16px;height:16px;border:2px solid #ddd;border-top:2px solid var(--bvm-primary-color);border-radius:50%;animation:bvm-spin 1s linear infinite}.bvm-map-wrapper{position:relative;background:#fff;border:1px solid var(--bvm-border-color);border-radius:var(--bvm-border-radius);overflow:hidden;transition:var(--bvm-transition)}.bvm-map-wrapper .bvm-map{width:100%;height:100%;background:var(--bvm-accent-light)}.bvm-loading{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;background:hsla(0,0%,100%,.95);border-radius:var(--bvm-border-radius);box-shadow:var(--bvm-shadow);z-index:var(--bvm-z-index-overlay)}.bvm-loading .bvm-loading-spinner{width:32px;height:32px;border:3px solid #ddd;border-top:3px solid var(--bvm-primary-color);border-radius:50%;animation:bvm-spin 1s linear infinite}.bvm-loading span{font-size:14px;color:#666}.bvm-error{padding:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--bvm-border-radius);color:#dc2626;font-size:14px;text-align:center}.bvm-svg-layer{pointer-events:auto !important}.bvm-svg-layer *{pointer-events:none}.bvm-svg-layer .bvm-interactive{pointer-events:auto !important;cursor:pointer;transition:var(--bvm-transition)}.bvm-svg-layer .bvm-interactive:hover{opacity:.9;filter:brightness(1.05)}.bvm-svg-layer .bvm-interactive.bvm-hover{stroke:var(--bvm-primary-color);stroke-width:2px;filter:drop-shadow(0 2px 4px rgba(0, 115, 170, 0.3))}.bvm-svg-layer .bvm-poi-element{pointer-events:auto !important;cursor:pointer;stroke-width:1px;transition:opacity .2s ease,filter .2s ease,stroke .2s ease,stroke-width .2s ease;transform-box:fill-box;transform-origin:center center}.bvm-svg-layer .bvm-poi-element:hover,.bvm-svg-layer .bvm-poi-element.bvm-poi-group-hover{opacity:.85;filter:brightness(1.1);stroke:var(--bvm-accent-dark);stroke-width:2px;transform:scale(1.4);transition:all .5s ease;transform-origin:center}.bvm-svg-layer .bvm-poi-element.bvm-poi-highlight{stroke:var(--bvm-accent-dark);stroke-width:1px}.bvm-svg-layer .bvm-poi-element.bvm-poi-highlighted{stroke:#ffb900;stroke-width:3px;animation:bvm-highlight-pulse 2s ease-in-out infinite}.bvm-svg-layer .bvm-poi-element.bvm-poi-group-hover{stroke:var(--bvm-hover-color);stroke-width:2px;filter:brightness(1.2) drop-shadow(0 0 5px rgba(0, 160, 210, 0.5))}.bvm-svg-layer .bvm-poi-element path,.bvm-svg-layer .bvm-poi-element g{pointer-events:auto !important}.bvm-poi-label-marker{z-index:var(--bvm-z-index-overlay)}.bvm-poi-label{position:relative;display:inline-flex;align-items:center;gap:6px;padding:var(--bvm-poi-label-padding);background:var(--bvm-poi-label-bg);border:1px solid var(--bvm-poi-label-border-color);border-radius:var(--bvm-poi-label-border-radius);font-size:var(--bvm-poi-label-font-size);font-style:normal;font-weight:var(--bvm-poi-label-font-weight);font-family:"AvantGardePro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:120%;color:var(--bvm-poi-label-text-color);white-space:nowrap;box-shadow:var(--bvm-poi-label-shadow);transition:var(--bvm-transition);pointer-events:none}.bvm-poi-label.bvm-highlight{background:#fff3cd;border-color:gold;color:#856404}.bvm-poi-label.bvm-highlighted{background:var(--bvm-warning-color);color:#fff;border-color:var(--bvm-warning-color);animation:bvm-label-pulse 2s ease-in-out infinite}.bvm-poi-label .bvm-poi-icon{display:flex;align-items:center;font-size:14px}.bvm-poi-label .bvm-poi-label-text{font-weight:500}.bvm-poi-label .bvm-poi-capacity{font-size:var(--bvm-poi-capacity-font-size);background:var(--bvm-poi-capacity-bg);color:var(--bvm-poi-capacity-color);padding:var(--bvm-poi-capacity-padding);border-radius:var(--bvm-poi-capacity-border-radius);margin-left:4px}.bvm-poi-label.bvm-poi-room{border-color:#10b981}.bvm-poi-label.bvm-poi-room .bvm-poi-capacity{background:#10b981}.bvm-poi-label.bvm-poi-facility{border-color:#8b5cf6}.bvm-poi-label.bvm-poi-facility .bvm-poi-capacity{background:#8b5cf6}.bvm-poi-label.bvm-poi-service{border-color:#f59e0b}.bvm-poi-label.bvm-poi-service .bvm-poi-capacity{background:#f59e0b}.bvm-poi-popup .leaflet-popup-content-wrapper{border-radius:var(--bvm-popup-border-radius);box-shadow:var(--bvm-popup-shadow);background:var(--bvm-popup-bg);background:rgba(255, 255, 255, var(--bvm-popup-bg-opacity));max-width:var(--bvm-popup-max-width)}.bvm-poi-popup .leaflet-popup-tip{background:rgba(255, 255, 255, var(--bvm-popup-bg-opacity))}.bvm-poi-popup .leaflet-popup-content{max-width:var(--bvm-popup-max-width);margin:0;font-family:inherit}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content{padding:var(--bvm-popup-padding)}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-title{margin:0 0 12px 0;font-size:var(--bvm-popup-title-font-size);font-weight:var(--bvm-popup-title-font-weight);color:var(--bvm-popup-title-color);line-height:1.3}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-meta{display:flex;align-items:center;gap:12px;margin-bottom:12px;color:var(--bvm-popup-text-color)}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-meta .bvm-popup-icon{font-size:16px;color:var(--bvm-primary-color)}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-meta .bvm-popup-capacity{font-size:12px;background:#e5f3ff;color:var(--bvm-primary-color);padding:4px 8px;border-radius:var(--bvm-border-radius);font-weight:500}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-description{color:var(--bvm-popup-text-color);font-size:14px;line-height:1.5;margin-bottom:12px}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-description p{margin:0 0 8px 0}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-description p:last-child{margin-bottom:0}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-description a{color:var(--bvm-primary-color);text-decoration:none}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-description a:hover{text-decoration:underline}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-button-container{margin-top:16px;text-align:center}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-button-container .bvm-popup-button{display:inline-block;padding:10px 20px;background:var(--bvm-primary-color);color:#fff;text-decoration:none;border-radius:var(--bvm-border-radius);font-weight:500;font-size:14px;transition:var(--bvm-transition)}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-button-container .bvm-popup-button:hover{background:var(--bvm-hover-color);transform:translateY(-1px);text-decoration:none}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-button-container .bvm-popup-button:active{transform:translateY(0)}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-custom-data{border-top:1px solid #eee;padding-top:12px}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-custom-data .bvm-popup-data-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-custom-data .bvm-popup-data-item:last-child{margin-bottom:0}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-custom-data .bvm-popup-data-item .bvm-popup-data-label{font-weight:500;color:var(--bvm-popup-text-color);opacity:.7}.bvm-poi-popup .leaflet-popup-content .bvm-popup-content .bvm-popup-custom-data .bvm-popup-data-item .bvm-popup-data-value{color:var(--bvm-popup-text-color)}.bvm-poi-popup .leaflet-popup-close-button{color:var(--bvm-text-color) !important;font-size:18px}.bvm-poi-popup .leaflet-popup-close-button:hover{opacity:.7;color:var(--bvm-text-color)}.bvm-tooltip{position:fixed;padding:6px 10px;background:rgba(0,0,0,.8);color:#fff;font-size:12px;border-radius:var(--bvm-border-radius);pointer-events:none;z-index:var(--bvm-z-index-tooltip);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.bvm-custom-control a{background:#fff;color:var(--bvm-text-color);text-decoration:none;font-size:16px;font-weight:bold;line-height:26px;text-align:center;border-radius:2px}.bvm-custom-control a:hover{background:#f0f0f0;color:var(--bvm-primary-color)}.bvm-custom-control a:focus{outline:2px solid var(--bvm-hover-color);outline-offset:2px}.bvm-custom-control.bvm-interaction-control .bvm-mode-btn{display:block;width:34px;height:34px;line-height:34px;font-size:16px;border-bottom:1px solid #ccc;position:relative;transition:var(--bvm-transition)}.bvm-custom-control.bvm-interaction-control .bvm-mode-btn:last-child{border-bottom:none}.bvm-custom-control.bvm-interaction-control .bvm-mode-btn.active{background:var(--bvm-primary-color);color:#fff}.bvm-custom-control.bvm-interaction-control .bvm-mode-btn.active:hover{background:var(--bvm-secondary-color);color:#fff}.bvm-custom-control.bvm-interaction-control .bvm-mode-btn:hover{background:#f0f0f0}.bvm-custom-control.bvm-interaction-control .bvm-mode-btn .bvm-icon{display:inline-block;width:16px;height:16px;line-height:1;vertical-align:middle}.bvm-custom-control.bvm-interaction-control .bvm-mode-btn .bvm-icon.bvm-icon-click::before{content:"●";font-size:14px;font-weight:bold}.bvm-custom-control.bvm-interaction-control .bvm-mode-btn .bvm-icon.bvm-icon-pan::before{content:"✚";font-size:12px;font-weight:bold}.bvm-sr-only{position:absolute !important;clip:rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height:1px !important;width:1px !important;overflow:hidden}@keyframes bvm-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes bvm-highlight-pulse{0%,100%{stroke-width:3px;opacity:1}50%{stroke-width:4px;opacity:.7}}@keyframes bvm-label-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@media(max-width: 768px){.bvm-container .bvm-map-title{font-size:20px}.bvm-container .bvm-floor-nav{gap:6px;padding:8px}.bvm-container .bvm-floor-nav .bvm-floor-btn{min-width:50px;padding:6px 12px;font-size:13px}.bvm-container .bvm-poi-label{font-size:11px;padding:3px 6px}.bvm-container .bvm-poi-label .bvm-poi-capacity{font-size:9px;padding:1px 3px}.bvm-poi-popup .bvm-popup-content{padding:12px}.bvm-poi-popup .bvm-popup-content .bvm-popup-title{font-size:16px}}@media(max-width: 480px){.bvm-container .bvm-floor-nav .bvm-floor-btn{flex:1;min-width:auto}.bvm-poi-popup .leaflet-popup-content-wrapper{max-width:calc(100vw - 40px)}}@media(prefers-contrast: high){.bvm-container{--bvm-border-color: #000}.bvm-container .bvm-poi-label{border-width:2px}.bvm-container .bvm-svg-layer .bvm-interactive{stroke-width:2px}}@media(prefers-reduced-motion: reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}@media(prefers-color-scheme: dark){.bvm-container{--bvm-background-color: #1a1a1a;--bvm-text-color: #e5e5e5;--bvm-border-color: #404040}.bvm-container .bvm-map-wrapper{background:#f5f5f5;border-radius:2.4rem;margin-block:5rem}.bvm-container .bvm-floor-nav{background:#2a2a2a}.bvm-container .bvm-poi-label{background:rgba(26,26,26,.95);color:#e5e5e5}.bvm-container .bvm-loading{background:rgba(26,26,26,.95)}}
