.bp-map-drawings-panel { padding: 15px; color: #174d40; background: #f8fbf8; border: 1px solid #cbded3; border-radius: 12px; font-size: 13px; overflow-y: auto; max-height: 78vh; }
.bp-map-drawings-panel[hidden] { display: none !important; }
.is-drawing-panel-open .bp-hosted-solid-tree-shell, .is-drawing-panel-open .bp-hosted-geo-context-panel { display: none !important; }
.bp-map-drawings-panel header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bp-map-drawings-panel h3 { margin: 3px 0; font-size: 21px; }
.bp-map-drawings-panel header small { font-size: 9px; letter-spacing: 1.4px; }
.bp-map-drawings-panel p { font-size: 12px; line-height: 1.5; margin: 10px 0; }
.bp-map-drawings-panel button { cursor: pointer; border: 1px solid #c4d8cc; border-radius: 7px; background: white; color: #174d40; padding: 8px; font: inherit; }
.bp-map-drawings-panel button:disabled { cursor: default; opacity: .45; }
.bp-map-drawing-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin: 12px 0; }
.bp-map-drawing-tools button { display: grid; justify-items: center; gap: 3px; font-size: 10px; }
.bp-map-drawing-tools b { font-size: 23px; line-height: 26px; }
.bp-map-drawings-panel button[aria-pressed=true] { background: #174d40; color: white; border-color: #174d40; }
.bp-map-artwork-upload { display: grid; gap: 5px; padding: 12px; border: 1px dashed #a5bfb1; border-radius: 8px; cursor: pointer; font-weight: 600; }
.bp-map-artwork-upload input { max-width: 100%; font-size: 11px; }
.bp-map-artwork-upload small { font-size: 10px; font-weight: 400; color: #65786d; }
.bp-map-drawing-fields { display: grid; gap: 9px; margin-top: 13px; }
.bp-map-drawing-fields label { display: grid; gap: 5px; font-size: 11px; font-weight: 600; }
.bp-map-drawing-fields input, .bp-map-drawing-fields select { min-width: 0; width: 100%; box-sizing: border-box; padding: 7px; border: 1px solid #c4d8cc; border-radius: 6px; background: white; color: #174d40; font: inherit; }
.bp-map-drawing-fields input[type=color] { height: 34px; padding: 3px; }
.bp-map-drawing-fields input[type=range] { padding: 0; accent-color: #174d40; }
.bp-map-drawing-fields > div { display: grid; grid-template-columns: 64px 1fr; gap: 10px; }
.bp-map-drawing-help { background: #e7f1e9; padding: 9px; border-radius: 7px; }
.bp-map-drawing-actions { display: flex; gap: 6px; margin: 7px 0; }
.bp-map-drawing-actions button { flex: 1; font-size: 11px; }
.bp-map-drawings-panel h4 { font-size: 12px; margin: 17px 0 8px; display: flex; justify-content: space-between; }
.bp-map-drawing-list { display: grid; gap: 5px; max-height: 230px; overflow-y: auto; }
.bp-map-drawing-list button { display: flex; text-align: left; gap: 8px; align-items: center; min-width: 0; }
.bp-map-drawing-list i { height: 10px; width: 10px; flex: 0 0 auto; border-radius: 50%; border: 1px solid #ffffff70; }
.bp-map-drawing-list span { display: grid; gap: 3px; min-width: 0; }
.bp-map-drawing-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.bp-map-drawing-list small { font-size: 10px; opacity: .75; text-transform: capitalize; }
.bp-map-drawings-panel .bp-map-export-primary { background: #174d40; color: white; margin-top: 15px; width: 100%; }
.bp-map-drawing-text { width: max-content !important; max-width: 320px; white-space: normal; overflow-wrap: anywhere; font-weight: 700; text-shadow: 0 1px 3px white, 0 -1px 3px white, 1px 0 3px white, -1px 0 3px white; }
.bp-map-drawing-text span { display: block; line-height: 1.15; }
.bp-map-drawing-image { object-fit: contain; }
.bp-map-drawing-handle { border: 2px solid white; background: #174d40; color: white; border-radius: 7px; display: grid; place-items: center; box-shadow: 0 2px 5px #0003; font: 700 11px Arial; }
.is-artwork-drawing, .is-artwork-drawing .leaflet-interactive { cursor: crosshair !important; }
.bp-hosted-layout-layer-toggle i.is-drawings { background: #b57942; }
.bp-event-map-export { width: min(1540px, 96vw); max-width: 96vw; height: min(960px, 94vh); max-height: 94vh; padding: 0; border: 1px solid #cddbd1; border-radius: 18px; background: #fafbf7; color: #174d40; box-shadow: 0 25px 100px #0b281e45; font-family: Arial, sans-serif; }
.bp-event-map-export::backdrop { background: #0c211bbd; backdrop-filter: blur(4px); }
.bp-event-map-export[open] { display: flex; flex-direction: column; }
.bp-event-map-export > header { flex-shrink: 0; }
.bp-event-map-export .bp-map-studio-body { flex: 1; overflow: hidden; }
.bp-event-map-export .bp-map-studio-body > aside { overflow-y: auto; }
.bp-event-map-export .bp-map-studio-preview { display: flex; flex-direction: column; overflow: hidden; }
.bp-event-map-export .bp-map-studio-preview [data-export-artwork] { flex: 1; min-height: 0; background: transparent; box-shadow: none; }
.bp-event-map-export .bp-map-studio-preview svg { width: 100%; height: 100%; filter: drop-shadow(0 6px 12px #18362716); }
.bp-event-map-export > header { padding: 24px 30px; border-bottom: 1px solid #d8e3d8; display: flex; align-items: flex-start; justify-content: space-between; background: #f5f6ee; }
.bp-event-map-export header small { font-size: 10px; font-weight: 700; letter-spacing: 2px; color: #7e6746; }
.bp-event-map-export h2 { font-size: 30px; margin: 6px 0; letter-spacing: -.8px; }
.bp-event-map-export header p { font-size: 13px; color: #62776b; margin: 0; }
.bp-event-map-export button { padding: 10px 13px; border: 1px solid #cbd9cc; border-radius: 8px; color: #174d40; background: white; cursor: pointer; font: 600 12px Arial; }
.bp-event-map-export button:disabled { opacity: .45; cursor: default; }
.bp-event-map-export button:focus-visible, .bp-map-drawings-panel button:focus-visible { outline: 3px solid #c39247; outline-offset: 2px; }
.bp-map-studio-body { display: grid; grid-template-columns: 270px minmax(0, 1fr); min-height: 0; }
.bp-map-studio-body > aside { padding: 23px; display: grid; align-content: start; gap: 16px; border-right: 1px solid #d8e3d8; }
.bp-map-studio-body label { display: grid; gap: 7px; font-size: 12px; font-weight: 600; }
.bp-map-studio-body input, .bp-map-studio-body textarea, .bp-map-studio-body select { width: 100%; min-width: 0; padding: 9px; box-sizing: border-box; font: 13px Arial; color: #174d40; border: 1px solid #bdcebf; border-radius: 7px; background: white; }
.bp-map-studio-body input[type=color] { padding: 3px; width: 64px; height: 34px; }
.bp-map-studio-body textarea { resize: vertical; }
.bp-map-studio-body p, .bp-map-studio-body small { font-size: 11px; line-height: 1.5; margin: 0; color: #62776b; }
.bp-map-studio-actions { display: grid; gap: 8px; }
.bp-map-studio-actions button:first-child { background: #174d40; border-color: #174d40; color: white; }
.bp-map-studio-preview { padding: 24px; background: #e9ede6; min-width: 0; }
.bp-map-studio-preview nav { display: flex; align-items: center; justify-content: center; gap: 15px; font-size: 12px; margin-bottom: 24px; }
.bp-map-studio-preview [data-export-artwork] { box-shadow: 0 10px 40px #18362716; background: #fcfaf4; }
.bp-map-studio-preview svg { display: block; width: 100%; height: auto; }
.bp-map-studio-empty { padding: 80px 40px; line-height: 1.7; }
.bp-plan-sheet-options { display: grid; gap: 13px; padding-bottom: 14px; border-bottom: 1px solid #ccd6cb; }
.bp-plan-sheet-options[hidden] { display:none; }
.bp-event-map-export.is-host-sheet .bp-map-studio-body { grid-template-columns:340px minmax(0,1fr); }
.bp-map-studio-body label[hidden] { display:none; }
.bp-plan-layer-table[hidden] { display:none; }
.bp-plan-layer-table { border-block:1px solid #ccd6cb; padding:12px 0; }
.bp-plan-layer-table summary { font-size:13px; font-weight:700; cursor:pointer; }
.bp-plan-layer-table table { border-collapse:collapse; width:100%; font-size:11px; margin-top:8px; }
.bp-plan-layer-table th, .bp-plan-layer-table td { text-align:left; padding:6px 3px; border-bottom:1px solid #dde4df; }
.bp-plan-layer-table td:last-child { width:120px; }
.bp-plan-layer-table select { font-size:11px; padding:5px 2px; }
@media(max-width:760px) { .bp-event-map-export.is-host-sheet .bp-map-studio-body { grid-template-columns:1fr; } }
.bp-event-map-export > header .bp-map-studio-actions { display:flex; gap:8px; margin-left:auto; margin-right:12px; align-self:center; }
@media(max-width:760px) { .bp-event-map-export > header { flex-wrap:wrap; gap:8px; } .bp-event-map-export > header .bp-map-studio-actions { order:3; width:100%; margin:0; } }
.bp-hosted-section-map-underlay { display:none; position:absolute; overflow:hidden; border-radius:9px; pointer-events:none; z-index:0; }
.has-section-map > .bp-hosted-section-map-underlay { display:block; }
.bp-hosted-section-map-background { inset:50% auto auto 50% !important; transform:translate(-50%,-50%) scale(1,var(--section-map-scale-y,1)) rotate(var(--section-map-bearing,0deg)); }
.bp-hosted-layout-map-column.has-section-map > .bp-hosted-layout-viewport { position:relative; z-index:1; background-color:transparent !important; }
.has-section-map .bp-hosted-layout-canvas.has-street-map-background { background-color:transparent !important; }
.bp-hosted-layout-canvas.has-street-map-background > [data-hosted-layout-item] { z-index:2; }
.bp-section-drawing-dimension { display:none; position:absolute; z-index:4; pointer-events:none; color:#1f2528; background:white; padding:2px 6px; font:12px Consolas,monospace; border:1px solid #5a6268; }
.bp-section-drawing-dimension.is-width { left:50%; top:2px; transform:translateX(-50%); }
.bp-section-drawing-dimension.is-depth { top:50%; left:2px; writing-mode:vertical-rl; }
.is-technical-drawing .bp-section-drawing-dimension { display:block; }
.is-technical-drawing .bp-hosted-layout-viewport { background-color:#fff !important; }
.is-technical-drawing .bp-hosted-layout-canvas { background-color:#fff !important; outline:1px solid #1f2528; box-shadow:none !important; background-image:linear-gradient(to right,#e3e7e9 1px,transparent 1px),linear-gradient(to bottom,#e3e7e9 1px,transparent 1px); background-size:var(--layout-grid-x,5%) var(--layout-grid-y,5%); }
.is-technical-drawing [data-hosted-layout-item] { color:#182125 !important; background:#fff !important; border-color:#252b30 !important; border-radius:0 !important; box-shadow:none !important; font-family:Consolas,monospace; }
.is-technical-drawing [data-hosted-layout-type="aisle"] { background:repeating-linear-gradient(135deg,#fff 0 6px,#e4e7e9 6px 7px) !important; border-style:dashed !important; }
.is-technical-drawing [data-hosted-layout-item].is-selected { outline:2px solid #277eab !important; }
.is-technical-drawing [data-hosted-layout-type="curved-aisle"] { background:transparent !important; }
@media (max-width: 760px) { .bp-map-studio-body { grid-template-columns: 1fr; } .bp-event-map-export .bp-map-studio-body { overflow: auto; } .bp-map-studio-body > aside { grid-template-columns: 1fr 1fr; } .bp-event-map-export .bp-map-studio-preview { padding: 12px; min-height: 350px; overflow: visible; } .bp-event-map-export > header { padding: 18px; } }
