/* BME Venue – admin editor styles (1.75) */
#eh_event_layout .inside { margin: 0; padding: 0; }
.eh-editor { display: grid; grid-template-columns: 236px minmax(0, 1fr) 390px; grid-template-rows: minmax(0, 1fr); height: calc(100vh - 150px); min-height: 420px; max-height: 1400px; background: var(--bv-bg, #0e0e10); color: var(--bv-text, #e8e8e8); border-radius: 0 0 4px 4px; overflow: hidden; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; position: relative; }
.eh-editor * { box-sizing: border-box; }
.eh-editor h3 { color: var(--bv-gold-text, #f5d77a); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 10px; }
.eh-muted { color: var(--bv-text-2, #bdbdbd); font-size: 12px; line-height: 1.5; }

.eh-toolbar { background: var(--bv-bg, #131316); border-right: 1px solid var(--bv-surface-3, #26262b); padding: 10px; overflow-y: auto; min-height: 0; height: 100%; }
.eh-tb-title { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--bv-gold-text, #f5d77a); margin: 6px 0 8px; }
/* Tool cards (1.43): ~1.6× larger – bigger icon, label and hit area – with an unmistakable gold hover */
.eh-tool { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; background: color-mix(in srgb, var(--bv-text, #fff) 5.0%, transparent); border: 1px solid color-mix(in srgb, var(--bv-text, #fff) 12.0%, transparent); color: var(--bv-text, #f4f4f4); padding: 12px 13px; min-height: 54px; border-radius: 11px; margin-bottom: 8px; cursor: grab; font-size: 15px; font-weight: 700; letter-spacing: .01em; line-height: 1.2; transition: background .15s, border-color .15s, box-shadow .15s, transform .15s, color .15s; position: relative; }
.eh-tool:hover, .eh-tool:focus-visible { background: linear-gradient(135deg, rgba(212,175,55,.28), rgba(212,175,55,.14)); border-color: var(--bv-gold, #d4af37); color: var(--bv-text, #fff); box-shadow: 0 0 0 1px rgba(245,215,122,.55), 0 6px 18px rgba(212,175,55,.28); transform: translateY(-1px) scale(1.025); outline: none; }
.eh-tool:hover .eh-tool-ico { transform: scale(1.12); }
.eh-tool:active { transform: translateY(0) scale(.99); background: rgba(212,175,55,.35); }
.eh-tool-ico { width: 34px; text-align: center; font-size: 26px; line-height: 1; transition: transform .15s; flex: none; }
.eh-tb-title { font-size: 12px; }
.eh-toolbar { padding: 12px 10px; }
.eh-tb-title { font-size: 11.5px; margin: 8px 0 10px; }
.eh-tpl { width: 100%; background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); border: 1px solid var(--bv-line, #333); border-radius: 6px; font-size: 12px; }

.eh-centre { display: flex; flex-direction: column; min-width: 0; min-height: 0; height: 100%; }
.eh-topbar { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; padding: 8px 10px; background: var(--bv-bg, #131316); border-bottom: 1px solid var(--bv-surface-3, #26262b); overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; min-height: 48px; flex: none; }
.eh-topbar .button, .eh-topbar .eh-status, .eh-topbar .eh-zoom { white-space: nowrap; flex: none; }
.eh-topbar .button { background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); border-color: var(--bv-line-2, #3a3a42); box-shadow: none; }
.eh-topbar .button:hover { border-color: var(--bv-gold, #d4af37); color: var(--bv-gold-text, #f5d77a); }
.eh-topbar .button.active { border-color: var(--bv-gold, #d4af37); color: var(--bv-gold-text, #f5d77a); background: rgba(212,175,55,.12); }
.eh-topbar .button-primary.eh-save { background: linear-gradient(135deg, #f5d77a, #b8891b); color: #111; border: none; font-weight: 600; }
.eh-topbar .button-primary.eh-save:hover { filter: brightness(1.08); }
.eh-sep { width: 1px; height: 22px; background: var(--bv-line, #333); margin: 0 4px; }
.eh-zoom { font-size: 12px; min-width: 42px; text-align: center; color: var(--bv-text-2, #bbb); }
.eh-status { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--bv-text, #f1f1f1); background: var(--bv-surface-2, #1c1c21); border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 999px; padding: 4px 11px; white-space: nowrap; line-height: 1.4; }
.eh-status.dirty { color: #111; background: linear-gradient(135deg, #f5d77a, #d4af37); border-color: var(--bv-gold-strong, #b8891b); }
.eh-editor .eh-status.dirty::before { content: '●'; margin-right: 5px; font-size: 9px; vertical-align: 1px; }

.eh-canvas-wrap { flex: 1 1 auto; overflow: hidden; padding: 10px 12px 8px; background: radial-gradient(1200px 600px at 50% 0%, #1b1b20, #0b0b0d); position: relative; min-height: 360px; display: flex; flex-direction: column; }
.eh-canvas-wrap .eh-svg { flex: none; margin: 0 auto; }
.eh-svg { display: block; touch-action: none; user-select: none; }
.eh-svg-admin .eh-obj { cursor: move; }
.eh-svg.eh-panning { cursor: grab; }
.eh-hint { position: sticky; bottom: 0; font-size: 11px; color: var(--bv-text-3, #777); padding: 6px 2px 0; }
/* Undo / Redo on the canvas (1.43) */
.eh-canvas-tools { position: absolute; top: 12px; right: 16px; display: flex; gap: 6px; z-index: 3; }
.eh-cv-btn { display: inline-flex; align-items: center; gap: 4px; background: var(--bv-surface, color-mix(in srgb, var(--bv-bg, rgb(28,28,33)) 92.0%, transparent)); color: var(--bv-text, #f1f1f1); border: 1px solid var(--bv-line-2, #4a4a54); border-radius: 8px; padding: 6px 12px 6px 9px; font-size: 12.5px; font-weight: 600; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.45); backdrop-filter: blur(4px); transition: background .12s, border-color .12s, color .12s, transform .12s; }
.eh-cv-btn .eh-cv-ico { font-size: 17px; line-height: 1; color: var(--bv-gold-text, #f5d77a); }
.eh-cv-btn:hover:not(:disabled), .eh-cv-btn:focus-visible { background: rgba(212,175,55,.22); border-color: var(--bv-gold, #d4af37); color: var(--bv-text, #fff); outline: none; }
.eh-cv-btn:active:not(:disabled) { transform: scale(.97); }
.eh-cv-btn:disabled { opacity: .45; cursor: not-allowed; }
.eh-cv-btn:disabled .eh-cv-ico { color: var(--bv-text-3, #999); }

.eh-side { background: var(--bv-bg, #131316); border-left: 1px solid var(--bv-surface-3, #26262b); overflow-y: auto; min-height: 0; height: 100%; overscroll-behavior: contain; }
.eh-panel { padding: 10px 12px 12px; border-bottom: 1px solid var(--bv-surface-3, #26262b); }
.eh-editor h3 { margin: 0 0 8px; display: flex; align-items: center; gap: 4px; }
.eh-h3-sub { color: var(--bv-text-2, #cfcfcf); font-weight: 400; letter-spacing: 0; text-transform: none; font-size: 11px; }
.eh-fgrid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.eh-fgrid.eh-compact { gap: 7px; }
/* Compact inspector (1.43): label ABOVE its control, several controls per row */
.eh-row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; align-items: end; }
.eh-row .eh-grow { grid-column: span 2; }
.eh-mini { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: 11.5px; color: var(--bv-text, #e2e2e2); }
.eh-mini-lbl { display: flex; align-items: center; gap: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: .01em; line-height: 1.2; }
.eh-mini-lbl:empty { display: none; }
.eh-mini input[type=text], .eh-mini input[type=number], .eh-mini select { width: 100%; min-height: 28px; background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 6px; font-size: 12px; padding: 0 6px; }
.eh-mini input[type=color] { width: 100%; height: 28px; padding: 1px 2px; border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 6px; background: var(--bv-surface-2, #1c1c21); cursor: pointer; }
.eh-mini.eh-col { min-width: 0; }
.eh-mini.eh-check { flex-direction: row; align-items: center; gap: 6px; min-height: 28px; white-space: nowrap; }
.eh-mini.eh-check .eh-mini-lbl { order: 2; overflow: visible; }
.eh-mini.eh-check input[type=checkbox] { margin: 0; width: 16px; height: 16px; flex: none; }
.eh-mini-note { font-size: 11px; color: var(--bv-text, #f0f0f0); min-height: 28px; display: inline-flex; align-items: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eh-mini .eh-rot { min-height: 28px; }
.eh-mini .eh-seatsize { gap: 4px; }
.eh-info { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--bv-text-3, #5c5c66); color: var(--bv-text-2, #bdbdbd); font-size: 9.5px; font-weight: 700; font-style: italic; font-family: Georgia, serif; line-height: 1; cursor: help; flex: none; margin-left: 2px; text-transform: none; letter-spacing: 0; }
.eh-info:hover { border-color: var(--bv-gold, #d4af37); color: var(--bv-gold-text, #f5d77a); }
.eh-editor h3 .eh-info { font-size: 9px; }
.eh-subhead { display: flex; align-items: center; justify-content: space-between; margin: 6px 0 0; padding-top: 8px; color: var(--bv-gold-text, #ffe08a); font-weight: 700; }
.eh-subhead > span { display: inline-flex; align-items: center; gap: 4px; }
.eh-subhead .button-link { text-transform: none; letter-spacing: 0; font-size: 11px; }
.eh-rot-reset { margin-left: auto; }
.eh-actions { margin-top: 10px; }
.eh-groupbar { margin: 6px 0; padding: 6px 8px; }
.eh-gridgen { margin: 8px 0 2px; }
.eh-gridgen-toggle { padding: 7px 10px; }
.eh-gridgen-body { padding: 0 10px 8px; }
.eh-gridgen.open .eh-gridgen-toggle { margin-bottom: 6px; }
.eh-legend { margin-top: 8px; }
.eh-secrow { margin-bottom: 5px; }
.eh-f { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 8px; font-size: 12px; color: var(--bv-text, #e2e2e2); }
.eh-f input[type=text], .eh-f input[type=number], .eh-f select { width: 100%; min-height: 28px; background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 6px; font-size: 12px; }
.eh-f input[type=color] { width: 40px; height: 28px; padding: 0; border: 1px solid var(--bv-line-2, #3a3a42); background: transparent; }
.eh-f input[type=range] { width: 100%; }
.eh-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.eh-actions .button { width: 100%; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 8px; min-height: 30px; line-height: 28px; }
.eh-actions-multi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.eh-actions .button { background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); border-color: var(--bv-line-2, #3a3a42); }
.eh-actions .button.eh-danger { color: var(--bv-red, #ff8a8a); border-color: var(--bv-red-tint, #5a2a2a); }
.eh-secrow { display: grid; grid-template-columns: 26px 1fr 66px 30px 16px; gap: 6px; align-items: center; margin-bottom: 6px; }
.eh-secrow input[type=text], .eh-secrow input[type=number] { min-height: 28px; background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 6px; font-size: 12px; width: 100%; padding: 0 6px; }
.eh-secrow input[type=color] { width: 30px; height: 28px; padding: 0; border: none; background: transparent; }
.eh-cur { font-size: 11px; color: var(--bv-text-3, #999); }
.eh-seccount { font-size: 11px; color: var(--bv-text-3, #999); }
.eh-del { color: var(--bv-red, #ff8a8a) !important; text-decoration: none !important; cursor: pointer; }
.eh-side .button { background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); border-color: var(--bv-line-2, #3a3a42); box-shadow: none; }
.eh-legend { display: flex; gap: 12px; margin-top: 12px; font-size: 11px; color: var(--bv-text-2, #bbb); }
.eh-lg::before { content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 5px; vertical-align: middle; }
.eh-lg-avail::before { background: var(--eh-st-available, var(--eh-lg-design, var(--bv-gold, #d4af37))); }
.eh-lg-held::before { background: var(--eh-st-held, var(--bv-orange, #f59e0b)); box-shadow: 0 0 0 2px #fff; }
.eh-lg-sold::before { background: var(--eh-st-sold, var(--bv-line-2, #444)); box-shadow: 0 0 0 2px #fff; }
.eh-lg-blocked::before { background: var(--eh-st-blocked, var(--bv-red-tint, #7f1d1d)); box-shadow: 0 0 0 2px #fff; }

.eh-toast { position: absolute; left: 50%; bottom: 20px; transform: translate(-50%, 20px); background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); padding: 10px 16px; border-radius: 999px; border: 1px solid var(--bv-line-2, #3a3a42); opacity: 0; transition: all .3s; font-size: 13px; z-index: 5; }
.eh-toast.show { opacity: 1; transform: translate(-50%, 0); }
.eh-toast.ok { border-color: var(--bv-gold, #d4af37); color: var(--bv-gold-text, #f5d77a); }
.eh-toast.err { border-color: var(--bv-red, #ff6b6b); color: var(--bv-red, #ff9b9b); }
.eh-toast.warn { border-color: var(--bv-orange, #fbbf24); color: var(--bv-orange, #fde68a); }

/* ---- Shared SVG object styling (admin) ---- */
.eh-svg text { font-family: inherit; pointer-events: none; }
.eh-svg .eh-floor { fill: var(--bv-bg, #101014); stroke: rgba(212,175,55,.25); stroke-width: 2; }
.eh-svg .eh-grid line { stroke: color-mix(in srgb, var(--bv-text, #fff) 4.0%, transparent); stroke-width: 1; }
.eh-svg .eh-table-body { fill: url(#ehTableGrad); stroke: rgba(212,175,55,.65); stroke-width: 1.5; }
.eh-svg .eh-table-label { fill: #fff; font-weight: 800; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; letter-spacing: .02em; paint-order: stroke fill; stroke: rgba(0,0,0,.85); stroke-width: 3px; stroke-linejoin: round; }
.eh-svg .eh-table-sub { fill: var(--bv-text-3, #999); font-size: 7px; text-transform: uppercase; letter-spacing: .05em; }
.eh-svg .eh-row-label { fill: var(--bv-gold-text, #f5d77a); font-weight: 800; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; paint-order: stroke fill; stroke: rgba(0,0,0,.85); stroke-width: 3px; stroke-linejoin: round; }
.eh-svg .eh-seat circle { fill: var(--eh-st-available, var(--eh-seat-color, var(--bv-gold, #d4af37))); stroke: rgba(0,0,0,.65); stroke-width: 1.4; transition: transform .12s; }
.eh-svg .eh-seat-num { fill: #fff; font-size: var(--eh-seat-fs, 11px); font-weight: 800; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; paint-order: stroke fill; stroke: rgba(0,0,0,.85); stroke-width: 2.4px; stroke-linejoin: round; pointer-events: none; }
.eh-svg .eh-seat-ring { fill: none !important; stroke: var(--eh-st-selected, #fff) !important; stroke-width: 2.5 !important; }
.eh-svg .eh-seat-sold circle { fill: var(--eh-st-sold, var(--bv-line-2, #3a3a3f)) !important; stroke: #fff; stroke-width: 3.6; }
.eh-svg .eh-seat-sold .eh-seat-num { opacity: 1; }
/* 2.06 deactivated table / row */
.eh-svg .eh-seat-blocked circle { fill: var(--eh-st-blocked, var(--bv-red-tint, #7f1d1d)) !important; stroke: #fff; stroke-width: 3.6; }
.eh-svg .eh-seat-blocked .eh-seat-num { opacity: 1; }
.eh-svg .eh-obj-disabled .eh-table-body { fill: var(--eh-st-blocked, var(--bv-red-tint, #7f1d1d)) !important; stroke: var(--eh-st-blocked, var(--bv-red-tint, #7f1d1d)) !important; }
.eh-avail-box { display: flex; flex-direction: column; gap: 8px; }
.eh-avail-state { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; }
.eh-avail-state i { width: 12px; height: 12px; border-radius: 50%; display: inline-block; border: 2px solid #fff; background: var(--eh-st-available-pick, var(--bv-gold, #d4af37)); }
.eh-avail-state.off i { background: var(--eh-st-blocked, var(--bv-red-tint, #7f1d1d)); }
.eh-avail-state.off { color: var(--bv-red, #fca5a5); }
/* 2.18.3 hidden-from-public-map state */
.eh-hidden-box { border: 1px dashed var(--bv-orange, #fcd34d); border-radius: 10px; padding: 10px; background: rgba(252,211,77,.07); margin-bottom: 8px; }
.eh-avail-state.hid { color: var(--bv-orange, #fcd34d); }
.eh-avail-state.hid i { background: transparent; border-style: dashed; border-color: var(--bv-orange, #fcd34d); }
.eh-avail-btn { width: 100%; justify-content: center; }
.eh-avail-btn.eh-avail-on { border-color: var(--bv-green, #22c55e) !important; color: var(--bv-green, #bbf7d0) !important; }
.eh-seat-subhead { margin: 10px 0 6px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--bv-text-2, #a9a9b4); }
.eh-seat-desc, .eh-seat-offlist { font-size: 12px; line-height: 1.4; }
.eh-seat-offlist b { color: var(--bv-red, #fca5a5); }
/* 2.07 seats selected in the editor */
.eh-svg-admin .eh-seat-selected circle:not(.eh-seat-ring):not(.eh-seat-halo) { stroke: #fff !important; stroke-width: 3.6 !important; filter: drop-shadow(0 0 4px #fff); }
.eh-svg-admin .eh-seat-selected .eh-seat-ring { stroke: var(--bv-gold-text, #f5d77a) !important; stroke-width: 3 !important; stroke-dasharray: 4 3; animation: eh-march 1.2s linear infinite; }
.eh-svg-admin .eh-seat { cursor: pointer; }
.eh-svg .eh-seat-held circle, .eh-svg .eh-seat-mine circle { fill: var(--eh-st-held, var(--bv-orange, #f59e0b)) !important; stroke: #fff; stroke-width: 3.6; }
.eh-svg .eh-shape { fill: color-mix(in srgb, var(--bv-text, #fff) 5.0%, transparent); stroke: color-mix(in srgb, var(--bv-text, #fff) 18.0%, transparent); stroke-width: 1.5; }
.eh-svg .eh-obj-stage .eh-shape { fill: url(#ehStageGrad); stroke: rgba(212,175,55,.7); }
.eh-svg .eh-stage-edge { fill: url(#ehGold); }
.eh-svg .eh-stage-light { fill: var(--bv-gold-text, #fff2b3); filter: url(#ehGlow); }
.eh-svg .eh-obj-dancefloor .eh-shape { fill: url(#ehFloorPat); stroke: color-mix(in srgb, var(--bv-text, #fff) 22.0%, transparent); stroke-dasharray: 6 4; }
.eh-svg .eh-obj-bar .eh-shape { fill: var(--bv-gold-tint, #2a1f12); stroke: rgba(212,175,55,.5); }
.eh-svg .eh-obj-dj .eh-shape { fill: var(--bv-surface-2, #1a1a2b); stroke: #8b5cf6; }
.eh-svg .eh-obj-entrance .eh-shape { fill: var(--bv-green-tint, #0f2a1a); stroke: var(--bv-green, #22c55e); }
.eh-svg .eh-entrance-arrow { fill: none; stroke: var(--bv-green, #22c55e); stroke-width: 2; }
.eh-svg .eh-obj-area .eh-shape { fill: color-mix(in srgb, var(--eh-shape-color, var(--bv-line-2, #4b5563)) 22%, transparent); stroke: var(--eh-shape-color, var(--bv-line-2, #4b5563)); stroke-dasharray: 8 5; }
.eh-svg .eh-obj-speaker .eh-shape { fill: var(--bv-bg, #1c1c1c); stroke: var(--bv-text-3, #666); }
.eh-svg .eh-speaker-cone { fill: var(--bv-bg, #0a0a0a); stroke: var(--bv-text-3, #888); }
.eh-svg .eh-obj-wall .eh-shape { fill: var(--eh-shape-color, var(--bv-text-3, #555)); stroke: none; }
.eh-svg .eh-shape-label { fill: color-mix(in srgb, var(--bv-text, #fff) 75.0%, transparent); font-size: 12px; font-weight: 700; letter-spacing: .18em; }
.eh-svg .eh-obj-stage .eh-shape-label { fill: var(--bv-gold-text, #f5d77a); font-size: 16px; }
.eh-svg .eh-text { fill: var(--bv-gold, #d4af37); font-weight: 600; }
.eh-svg .eh-text-hit { fill: transparent; }
.eh-svg .eh-hidden { opacity: .35; }
.eh-svg-admin .eh-obj-selected .eh-table-body, .eh-svg-admin .eh-obj-selected .eh-shape, .eh-svg-admin .eh-obj-selected .eh-text-hit { stroke: #fff !important; stroke-width: 2.5 !important; filter: url(#ehGlow); }
.eh-svg-admin .eh-obj-selected .eh-row-label { fill: #fff; }

@media (min-width: 1900px) { .eh-editor { grid-template-columns: 250px minmax(0, 1fr) 460px; } }
@media (max-width: 1400px) { .eh-editor { grid-template-columns: 210px minmax(0, 1fr) 340px; } .eh-tool { font-size: 14px; min-height: 48px; padding: 10px 11px; } .eh-tool-ico { font-size: 22px; width: 30px; } }
@media (max-width: 1100px) { .eh-editor { grid-template-columns: 170px 1fr 300px; } .eh-tool { padding: 9px 10px; font-size: 13px; } .eh-tool-ico { font-size: 20px; width: 26px; } }
@media (max-width: 850px) { .eh-editor { grid-template-columns: 1fr; grid-template-rows: auto minmax(360px, 1fr) auto; height: auto; max-height: none; } .eh-toolbar { display: flex; flex-wrap: wrap; gap: 4px; height: auto; } .eh-tool { width: auto; } .eh-side { height: auto; max-height: 60vh; } }

.eh-svg .eh-marquee { fill: rgba(212,175,55,.12); stroke: var(--bv-gold-text, #f5d77a); stroke-width: 1; stroke-dasharray: 5 4; pointer-events: none; }
.eh-rot { display: flex; align-items: center; gap: 8px; }
.eh-rot input[type=range] { flex: 1; min-width: 60px; }
.eh-rot-num { display: inline-flex; align-items: center; gap: 2px; font-size: 12px; color: var(--bv-text, #f0f0f0); }
.eh-rot-num input[type=number] { width: 58px; min-height: 26px; background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 6px; font-size: 12px; padding: 0 4px; }
.eh-rot-quick { display: flex; flex-wrap: wrap; gap: 4px; }
.eh-rot-btn { background: var(--bv-surface-2, #1c1c21); color: var(--bv-text-2, #ccc); border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 6px; font-size: 11px; padding: 3px 7px; cursor: pointer; }
.eh-rot-btn:hover, .eh-rot-btn.active { border-color: var(--bv-gold, #d4af37); color: var(--bv-gold-text, #f5d77a); }
.eh-subhead { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--bv-gold-text, #f5d77a); margin: 10px 0 2px; border-top: 1px solid var(--bv-surface-3, #26262b); padding-top: 10px; }
.eh-op-lbl { font-size: 12px; color: var(--bv-text, #f0f0f0); min-width: 36px; text-align: right; }
.eh-side .button-link { color: var(--bv-text-3, #9a9a9a); text-decoration: underline; cursor: pointer; font-size: 12px; background: none; border: none; padding: 0; }

.eh-svg .eh-guides { pointer-events: none; }
.eh-svg .eh-guide { stroke: #ff4fd8; stroke-width: 1; stroke-dasharray: 6 3; }
.eh-svg .eh-guide-canvas { stroke: #4fd8ff; }
.eh-svg .eh-guide-gap { stroke: #ff4fd8; stroke-width: 1; }
.eh-svg .eh-guide-label { fill: #ff4fd8; font-size: 10px; font-weight: 700; }

/* Selection overlay */
.eh-svg .eh-selection { pointer-events: none; }
.eh-svg-admin .eh-obj-selected { cursor: move; }
.eh-svg.eh-dragging, .eh-svg.eh-dragging * { cursor: grabbing !important; }
.eh-svg .eh-sel-box { fill: none; stroke: var(--bv-gold-text, #f5d77a); stroke-width: 1.5; stroke-dasharray: 5 3; }
/* 2.08: the outer multi-selection frame is only the HANDLE frame (faint, thin) – the selected objects themselves carry the
 * highlight: a gold frame per object (.eh-sel-item) plus the white glow on the object. Objects inside the frame that are
 * not selected therefore look exactly like every other unselected object. */
.eh-svg .eh-sel-group { fill: none; stroke: color-mix(in srgb, var(--bv-text, #fff) 35.0%, transparent); stroke-width: 1; stroke-dasharray: 3 5; }
.eh-svg .eh-sel-item { fill: rgba(245,215,122,.10); stroke: var(--bv-gold-text, #f5d77a); stroke-width: 2.2; stroke-dasharray: 6 3; filter: drop-shadow(0 0 4px rgba(245,215,122,.85)); animation: eh-march 1.2s linear infinite; }
@keyframes eh-march { to { stroke-dashoffset: -24; } }
.eh-svg .eh-sel-handle, .eh-svg .eh-gz-handle { fill: #fff; stroke: var(--bv-gold-strong, #b8891b); stroke-width: 2; pointer-events: all; filter: drop-shadow(0 1px 2px rgba(0,0,0,.7)); }
.eh-svg .eh-gz-handle:hover { fill: var(--bv-gold-text, #f5d77a); }
.eh-svg .eh-sel-label { fill: var(--bv-gold-text, #f5d77a); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
/* Resize handles */
.eh-svg .eh-selection .eh-rz { pointer-events: none; }
.eh-svg .eh-rz-frame { fill: none; stroke: var(--bv-gold-text, #f5d77a); stroke-width: 1.5; stroke-dasharray: 6 3; opacity: .95; }
.eh-svg .eh-rz-handle { fill: #fff; stroke: var(--bv-gold-strong, #b8891b); stroke-width: 2; pointer-events: all; filter: drop-shadow(0 1px 2px rgba(0,0,0,.7)); transition: fill .1s; }
.eh-svg .eh-rz-handle:hover { fill: var(--bv-gold-text, #f5d77a); }
.eh-svg .eh-rz-tip { fill: var(--bv-gold-text, #f5d77a); font-size: 11px; font-weight: 700; paint-order: stroke; stroke: rgba(0,0,0,.8); stroke-width: 3px; }
.eh-save-error { background: var(--bv-red-tint, #fef2f2); border: 1px solid var(--bv-red, #fca5a5); color: var(--bv-text, #7f1d1d); border-radius: 8px; padding: 10px 14px; margin: 0 0 10px; font-size: 13px; line-height: 1.6; }
.eh-save-error.eh-restore { background: #fffbeb; border-color: var(--bv-orange, #fcd34d); color: var(--bv-orange, #78350f); }
.eh-save-error .button { vertical-align: baseline; margin-left: 4px; }
.eh-save-error-note { color: #991b1b; opacity: .8; }
/* Grid generator */
.eh-gridgen { margin: 12px 0 4px; border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 8px; background: var(--bv-surface, #17171b); }
.eh-gridgen-toggle { width: 100%; text-align: left; background: none; border: none; color: var(--bv-gold-text, #f5d77a); font-weight: 700; font-size: 12px; padding: 8px 10px; cursor: pointer; letter-spacing: .04em; }
.eh-gridgen-toggle small { color: var(--bv-text-3, #999); font-weight: 400; letter-spacing: 0; }
.eh-gridgen-body { display: none; padding: 0 10px 10px; }
.eh-gridgen.open .eh-gridgen-body { display: block; }
.eh-gridgen.open .eh-gridgen-toggle { border-bottom: 1px solid var(--bv-surface-3, #2a2a30); margin-bottom: 8px; }
.eh-gridgen-info { color: var(--bv-gold-text, #f5d77a) !important; font-weight: 600; margin: 8px 0 4px; }
.eh-gridgen .button-primary { width: 100%; text-align: center; margin-top: 4px; }
.eh-svg .eh-gz-handle { pointer-events: all; }
.eh-svg .eh-gz-handle:hover { fill: var(--bv-gold-text, #f5d77a); }
.eh-groupbar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 8px 0; padding: 8px 10px; background: rgba(212,175,55,.08); border: 1px dashed rgba(212,175,55,.5); border-radius: 8px; font-size: 12px; }
.eh-gridgen-lbl { color: var(--bv-text, #ddd) !important; margin: 6px 0 0; }
.eh-warn { color: var(--bv-orange, #fbbf24); font-size: 12px; margin: 8px 0 4px; }
.eh-bulk .eh-gridgen-toggle { color: var(--bv-blue, #9ad4ff); }
/* Seat size handle (1.41): round gold handle just outside seat 1 of every selected table / row */
.eh-svg .eh-sz-ring { fill: none; stroke: var(--bv-gold-text, #f5d77a); stroke-width: 1.4; stroke-dasharray: 3 3; opacity: .85; pointer-events: none; }
.eh-svg .eh-sz-stem { stroke: var(--bv-gold-text, #f5d77a); stroke-width: 1.4; opacity: .85; pointer-events: none; }
.eh-svg .eh-sz-handle { fill: var(--bv-gold, #d4af37); stroke: #fff; stroke-width: 2; pointer-events: all; filter: drop-shadow(0 1px 2px rgba(0,0,0,.7)); transition: fill .1s, transform .1s; }
.eh-svg .eh-sz-handle:hover { fill: var(--bv-gold-text, #f5d77a); }
.eh-seatsize { display: flex; flex-direction: column; gap: 6px; }
.eh-seatsize .eh-rot { flex-wrap: wrap; }
.eh-seatsize .eh-op-lbl { min-width: 0; }
.eh-seatsize-pre { margin: 0; }
.eh-seatsize-hint { display: block; font-size: 11px; line-height: 1.4; }
.eh-seatsize-hint .button-link { font-size: 11px; }

/* ---- Hover / focus / active contrast (1.43): WordPress admin styles turn hovered buttons and selects blue, which
   vanishes on the dark inspector – every state inside the editor is pinned to readable colours ---- */
.eh-editor.eh-editor .button, .eh-editor.eh-editor .button:hover, .eh-editor.eh-editor .button:focus, .eh-editor.eh-editor .button:active { color: var(--bv-text, #eee); background: var(--bv-surface-2, #1c1c21); border-color: var(--bv-line-2, #3a3a42); box-shadow: none; text-shadow: none; }
.eh-editor.eh-editor .button:hover, .eh-editor.eh-editor .button:focus-visible { color: var(--bv-gold-text, #f5d77a); border-color: var(--bv-gold, #d4af37); background: var(--bv-surface-3, #26262c); }
.eh-editor.eh-editor .button:active { background: rgba(212,175,55,.2); color: var(--bv-text, #fff); }
.eh-editor.eh-editor .button.active, .eh-editor.eh-editor .button.active:hover { border-color: var(--bv-gold, #d4af37); color: var(--bv-gold-text, #f5d77a); background: rgba(212,175,55,.14); }
.eh-editor.eh-editor .button:disabled, .eh-editor.eh-editor .button:disabled:hover { color: var(--bv-text-3, #777) !important; background: var(--bv-surface-2, #1c1c21) !important; border-color: var(--bv-surface-3, #2c2c33) !important; cursor: not-allowed; }
.eh-editor.eh-editor .button-primary, .eh-editor.eh-editor .button-primary:hover, .eh-editor.eh-editor .button-primary:focus, .eh-editor.eh-editor .button-primary:active { background: linear-gradient(135deg, #f5d77a, #b8891b); color: #111; border-color: transparent; }
.eh-editor.eh-editor .button-primary:hover { filter: brightness(1.08); color: #000; }
.eh-editor.eh-editor .button-primary:disabled { filter: grayscale(.6); opacity: .6; color: var(--bv-surface-2, #222) !important; background: linear-gradient(135deg, #f5d77a, #b8891b) !important; }
.eh-editor.eh-editor .button.eh-danger, .eh-editor.eh-editor .button.eh-danger:hover { color: var(--bv-red, #ff8a8a); border-color: var(--bv-red-tint, #5a2a2a); }
.eh-editor.eh-editor .button.eh-danger:hover { background: rgba(255,80,80,.12); color: var(--bv-red, #ffb0b0); border-color: var(--bv-red, #ff6b6b); }
.eh-editor select, .eh-editor select:hover, .eh-editor select:focus, .eh-editor select:active { color: var(--bv-text, #eee); background-color: var(--bv-surface-2, #1c1c21); border-color: var(--bv-line-2, #3a3a42); box-shadow: none; }
.eh-editor select:hover { border-color: var(--bv-gold, #d4af37); color: var(--bv-text, #fff); }
.eh-editor select:focus { border-color: var(--bv-gold, #d4af37); color: var(--bv-text, #fff); box-shadow: 0 0 0 1px rgba(212,175,55,.5); outline: none; }
.eh-editor select option { background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); }
.eh-editor select option:checked { background: var(--bv-gold, #d4af37); color: #111; }
.eh-editor input[type=text], .eh-editor input[type=number], .eh-editor input[type=text]:hover, .eh-editor input[type=number]:hover { color: var(--bv-text, #eee); background: var(--bv-surface-2, #1c1c21); border-color: var(--bv-line-2, #3a3a42); box-shadow: none; }
.eh-editor input[type=text]:hover, .eh-editor input[type=number]:hover { border-color: var(--bv-text-3, #6a6a74); }
.eh-editor input[type=text]:focus, .eh-editor input[type=number]:focus { color: var(--bv-text, #fff); border-color: var(--bv-gold, #d4af37); box-shadow: 0 0 0 1px rgba(212,175,55,.5); outline: none; }
.eh-editor input::placeholder { color: var(--bv-text-2, #a9a9b2); opacity: 1; }
/* Checkboxes (1.44): bigger, and a real ✓ tick on a gold box – obvious at a glance */
.eh-editor input[type=checkbox] { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; min-width: 22px; margin: 0; background: var(--bv-surface-2, #1c1c21); border: 2px solid var(--bv-text-3, #6a6a74); border-radius: 5px; position: relative; cursor: pointer; vertical-align: middle; transition: background .12s, border-color .12s, box-shadow .12s; }
.eh-editor input[type=checkbox]:hover { border-color: var(--bv-gold, #d4af37); box-shadow: 0 0 0 2px rgba(212,175,55,.25); }
.eh-editor input[type=checkbox]:checked { background: var(--bv-gold, #d4af37); border-color: var(--bv-gold-text, #f5d77a); }
.eh-editor input[type=checkbox]::before { content: ''; display: block; position: absolute; left: 6px; top: 1.5px; width: 6px; height: 12px; border: solid var(--bv-bg, #111); border-width: 0 3px 3px 0; transform: rotate(45deg) scale(0); transition: transform .12s; margin: 0; background: none; -webkit-mask: none; mask: none; }
.eh-editor input[type=checkbox]:checked::before { transform: rotate(45deg) scale(1); }
.eh-editor input[type=checkbox]:focus, .eh-editor input[type=checkbox]:focus-visible { box-shadow: 0 0 0 2px rgba(212,175,55,.5); outline: none; }
.eh-mini.eh-check input[type=checkbox] { width: 22px; height: 22px; }
.eh-mini.eh-check { cursor: pointer; padding: 2px 6px 2px 2px; border-radius: 6px; }
.eh-mini.eh-check:hover { background: rgba(212,175,55,.1); }
.eh-mini.eh-check:has(input:checked) .eh-mini-lbl { color: var(--bv-text, #fff); font-weight: 600; }
.eh-editor input[type=checkbox]:indeterminate { background: var(--bv-line-2, #3a3a42); border-color: var(--bv-gold, #d4af37); }
.eh-editor input[type=checkbox]:indeterminate::before { transform: none; border: none; width: 10px; height: 3px; background: var(--bv-gold-text, #f5d77a); left: 4px; top: 7.5px; }
.eh-mini.eh-check .eh-mini-lbl { color: var(--bv-text, #e6e6e6); font-size: 12px; }
.eh-secrow input[type=checkbox] { width: 18px; height: 18px; }
.eh-editor .eh-rot-btn, .eh-editor .eh-rot-btn:focus { color: var(--bv-text-2, #d6d6d6); background: var(--bv-surface-2, #1c1c21); border-color: var(--bv-line-2, #3a3a42); outline: none; }
.eh-editor .eh-rot-btn:hover { color: var(--bv-text, #fff); background: rgba(212,175,55,.18); border-color: var(--bv-gold, #d4af37); }
.eh-editor .eh-rot-btn.active, .eh-editor .eh-rot-btn.active:hover { color: #111; background: var(--bv-gold, #d4af37); border-color: var(--bv-gold, #d4af37); font-weight: 700; }
.eh-editor .eh-rot-btn:active { background: var(--bv-gold-text, #f5d77a); color: #111; }
.eh-editor.eh-editor .button-link, .eh-editor.eh-editor .button-link:focus { color: var(--bv-text-2, #b9b9b9); }
.eh-editor.eh-editor .button-link:hover { color: var(--bv-gold-text, #f5d77a); }
.eh-editor .eh-gridgen-toggle:hover { color: var(--bv-text, #fff); background: rgba(212,175,55,.08); }
.eh-editor .eh-bulk .eh-gridgen-toggle:hover { color: var(--bv-blue, #cfe8ff); }
.eh-editor .eh-tpl, .eh-editor .eh-tpl:hover, .eh-editor .eh-tpl:focus { color: var(--bv-text, #eee); background-color: var(--bv-surface-2, #1c1c21); }
.eh-editor .eh-tpl:hover { border-color: var(--bv-gold, #d4af37); }
.eh-editor input[type=range] { accent-color: var(--bv-gold, #d4af37); }

/* ---- Workspace (1.47): fixed-height editor, side panels scroll on their own, canvas fills the centre ---- */
.eh-editor.eh-full { position: fixed; inset: 0; z-index: 99999; height: 100vh; max-height: none; border-radius: 0; }
body.eh-editor-full { overflow: hidden; }
#eh_event_layout.postbox { overflow: visible; }
.eh-editor .eh-canvas-tools { top: 12px; right: 16px; }
/* Selection bar under the canvas – group actions in the free workspace */
.eh-selbar { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 10px 0 0; padding: 8px 12px; background: var(--bv-surface, color-mix(in srgb, var(--bv-bg, rgb(28,28,33)) 92.0%, transparent)); border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 10px; }
.eh-sb-count { font-size: 12px; font-weight: 700; color: var(--bv-gold-text, #f5d77a); letter-spacing: .06em; text-transform: uppercase; margin-right: 4px; }
.eh-sb-group { display: inline-flex; align-items: center; gap: 4px; }
.eh-sb-lbl { font-size: 11px; color: var(--bv-text-2, #bdbdbd); margin-right: 2px; text-transform: uppercase; letter-spacing: .06em; }
.eh-sb-btn { background: var(--bv-surface-3, #24242a); color: var(--bv-text, #eee); border: 1px solid var(--bv-line-2, #44444e); border-radius: 6px; padding: 5px 9px; font-size: 12px; cursor: pointer; white-space: nowrap; transition: background .12s, border-color .12s, color .12s; }
.eh-sb-btn:hover { background: rgba(212,175,55,.2); border-color: var(--bv-gold, #d4af37); color: var(--bv-text, #fff); }
.eh-sb-btn:active { background: var(--bv-gold, #d4af37); color: #111; }
.eh-sb-btn.danger { color: var(--bv-red, #ff9b9b); border-color: var(--bv-red-tint, #5a2a2a); }
.eh-sb-btn.danger:hover { background: rgba(255,80,80,.14); border-color: var(--bv-red, #ff6b6b); color: var(--bv-red, #ffc0c0); }
/* Collapsible sections in the inspector */
.eh-sec { border-top: 1px solid var(--bv-surface-3, #26262b); margin-top: 4px; }
.eh-sec-head { cursor: pointer; user-select: none; padding: 8px 0 6px; margin: 0; }
.eh-sec-head:hover > span { color: var(--bv-gold-text, #fff2b0); }
.eh-sec-caret { display: inline-block; width: 12px; font-size: 11px; color: var(--bv-text-2, #bdbdbd); transition: transform .15s; margin-right: 2px; }
.eh-sec.open .eh-sec-caret, .eh-canvas-props:not(.eh-folded) .eh-sec-caret { transform: rotate(90deg); }
.eh-sec-body { display: none; flex-direction: column; gap: 7px; padding-bottom: 6px; }
.eh-sec.open .eh-sec-body { display: flex; }
.eh-panel-h { cursor: default; }
.eh-canvas-props.eh-folded .eh-panel-body, .eh-canvas-props.eh-folded .eh-actions, .eh-canvas-props.eh-folded .eh-legend, .eh-canvas-props.eh-folded .eh-warn { display: none; }
.eh-canvas-props .eh-panel-h:has(.eh-sec-caret) { cursor: pointer; }
/* Align / space buttons in the inspector actions */
.eh-alignbar { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 4px; }
.eh-al-btn { padding: 4px 0; font-size: 14px; text-align: center; }
.eh-actions .eh-span2 { grid-column: 1 / -1; }
/* Number + slider controls (1.48) */
.eh-livenum { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.eh-livenum input[type=number] { width: 100%; }
.eh-livenum input[type=range] { width: 100%; margin: 0; height: 18px; }
.eh-sb-hint { font-size: 11px; color: var(--bv-gold-text, #f5d77a); background: rgba(212,175,55,.12); border: 1px dashed rgba(212,175,55,.5); border-radius: 999px; padding: 3px 9px; margin-left: auto; cursor: help; }
.eh-svg .eh-rz-handle { stroke-width: 2.2; }
/* Full-screen exit (1.49): always visible, fixed top-right, dark card with gold border */
.eh-editor.eh-full { z-index: 100000; }
.eh-exit-full { position: fixed; top: 10px; right: 14px; z-index: 100001; display: inline-flex; align-items: center; gap: 7px; background: var(--bv-surface, #15151a); color: var(--bv-text, #fff); border: 2px solid var(--bv-gold, #d4af37); border-radius: 999px; padding: 8px 14px 8px 11px; font-size: 13px; font-weight: 700; cursor: pointer; box-shadow: 0 6px 22px rgba(0,0,0,.65), 0 0 0 3px rgba(212,175,55,.25); letter-spacing: .01em; }
.eh-exit-full:hover { background: var(--bv-gold, #d4af37); color: #111; box-shadow: 0 6px 22px rgba(0,0,0,.65), 0 0 0 4px rgba(245,215,122,.4); }
.eh-exit-full .eh-exit-full-ico { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--bv-gold, #d4af37); color: #111; font-size: 12px; font-weight: 900; }
.eh-exit-full:hover .eh-exit-full-ico { background: var(--bv-bg, #111); color: var(--bv-gold-text, #f5d77a); }
.eh-exit-full kbd { font: 10px/1 monospace; background: color-mix(in srgb, var(--bv-text, #fff) 12.0%, transparent); border: 1px solid color-mix(in srgb, var(--bv-text, #fff) 25.0%, transparent); border-radius: 4px; padding: 2px 5px; }
.eh-exit-full:hover kbd { background: rgba(0,0,0,.15); border-color: rgba(0,0,0,.35); }
.eh-editor.eh-full .eh-topbar { padding-right: 190px; }
/* Selection bar groups as labelled cards (1.49) */
.eh-selbar { gap: 8px 10px; padding: 8px 10px; }
.eh-sb-group { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 5px 8px 6px; border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 8px; background: color-mix(in srgb, var(--bv-text, #fff) 3.0%, transparent); }
.eh-sb-lbl { font-size: 10px; color: var(--bv-gold-text, #f5d77a); letter-spacing: .1em; text-transform: uppercase; font-weight: 700; margin: 0; }
.eh-sb-btns { display: flex; flex-wrap: wrap; gap: 4px; }
.eh-sb-space { border-color: rgba(120,170,255,.45); background: rgba(120,170,255,.06); }
.eh-sb-space .eh-sb-lbl { color: var(--bv-blue, #9ad4ff); }
.eh-sb-edit .eh-sb-lbl { color: var(--bv-text-2, #cfcfcf); }
/* Inspector: ALIGN and SPACE / DISTRIBUTE as two labelled groups */
.eh-algroup { grid-column: 1 / -1; border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 8px; padding: 6px 8px 8px; background: color-mix(in srgb, var(--bv-text, #fff) 3.0%, transparent); }
.eh-algroup .eh-mini-lbl { color: var(--bv-gold-text, #f5d77a); font-weight: 700; letter-spacing: .1em; font-size: 10.5px; }
.eh-algroup-space { border-color: rgba(120,170,255,.45); background: rgba(120,170,255,.06); }
.eh-algroup-space .eh-mini-lbl { color: var(--bv-blue, #9ad4ff); }
.eh-alignbar.eh-al-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.eh-alignbar.eh-al-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.eh-al-btn { font-size: 15px; padding: 5px 0; }
.eh-editor.eh-full .eh-side { padding-top: 46px; }
.eh-editor.eh-full .eh-topbar { padding-right: 10px; }

/* 1.50 – stable workspace */
.eh-editor { contain: layout; }
.eh-editor.eh-full .eh-side { padding-top: 46px; }
.eh-exit-full { top: 8px; right: 12px; }
.eh-editor.eh-full .eh-canvas-tools { top: 10px; }
.eh-hint { flex: none; }
.eh-selbar { flex: none; }
.eh-sb-smart { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; font-size: 12px; color: var(--bv-text, #e0e0e0); cursor: pointer; padding: 4px 10px; border: 1px dashed var(--bv-line-2, #4a4a54); border-radius: 999px; }
.eh-sb-smart.on { border-color: var(--bv-gold, #d4af37); color: var(--bv-gold-text, #f5d77a); background: rgba(212,175,55,.1); }
.eh-sb-smart input[type=checkbox] { width: 18px; height: 18px; min-width: 18px; }

/* ---- 1.74: topbar = scrolling tool strip + pinned right part (status · Full Screen) ---- */
.eh-topbar { overflow: hidden; gap: 8px; padding: 8px 10px; }
.eh-topbar-scroll { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; gap: 6px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; padding-bottom: 2px; }
.eh-topbar-scroll::-webkit-scrollbar { height: 5px; } .eh-topbar-scroll::-webkit-scrollbar-thumb { background: var(--bv-line-2, #3a3a42); border-radius: 3px; }
/* 1.76: no visible status / Full Screen in the strip – .eh-status is a hidden state mirror; Full Screen lives in the workspace header */
.eh-topbar .eh-status[hidden] { display: none !important; }
.eh-topbar .eh-save { position: sticky; left: 0; z-index: 2; box-shadow: 4px 0 10px rgba(14,14,16,.9); }
/* status pill states: saved (default) · unsaved (gold) · saving (blue-ish, pulsing) · save failed (red) */
.eh-status.saving { color: var(--bv-blue, #cfe8ff); background: var(--bv-blue-tint, #1c2a3a); border-color: #4a6a8a; animation: eh-status-pulse 1s ease-in-out infinite; }
.eh-status.error { color: var(--bv-text, #fff); background: var(--bv-red-tint, #7f1d1d); border-color: var(--bv-red, #ef4444); }
.eh-editor .eh-status.error::before { content: '⚠'; margin-right: 5px; font-size: 11px; }
@keyframes eh-status-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
.eh-side { scroll-behavior: auto; overscroll-behavior: contain; }
/* full screen: use the whole viewport, keep every region usable, and stay usable on small laptops */
.eh-editor.eh-full { height: 100vh; height: 100dvh; width: 100vw; max-height: none; min-height: 0; grid-template-rows: minmax(0, 1fr); }
.eh-editor.eh-full .eh-topbar { padding-right: 10px; }                /* the fixed Exit pill sits over the inspector column, not the topbar */
.eh-editor.eh-full .eh-side { padding-top: 46px; }                     /* room for the Exit pill above the inspector content */
.eh-editor.eh-full .eh-exit-full { top: 8px; right: 12px; }
@media (max-width: 1400px) { .eh-editor.eh-full { grid-template-columns: 210px minmax(0, 1fr) 340px; } }
@media (max-width: 1100px) { .eh-editor.eh-full { grid-template-columns: 170px minmax(0, 1fr) 300px; } .eh-editor.eh-full .eh-exit-full .eh-exit-full-txt, .eh-editor.eh-full .eh-exit-full kbd { display: none; } }
@media (max-height: 760px) { .eh-editor.eh-full .eh-toolbar { padding: 8px; } .eh-editor.eh-full .eh-tool { min-height: 40px; padding: 7px 10px; font-size: 13px; margin-bottom: 5px; } .eh-editor.eh-full .eh-tool-ico { font-size: 19px; width: 26px; } .eh-editor.eh-full .eh-topbar { min-height: 42px; padding-top: 5px; padding-bottom: 5px; } .eh-editor.eh-full .eh-panel { padding: 8px 10px 10px; } .eh-editor.eh-full .eh-hint { display: none; } }
@media (max-width: 850px) { .eh-editor.eh-full { grid-template-columns: 1fr; grid-template-rows: auto minmax(240px, 1fr) minmax(0, 40vh); overflow: auto; } .eh-editor.eh-full .eh-side { max-height: none; height: 100%; } }
/* 1.75: full screen – the editor node is moved to <body> while full (see toggleFull), so nothing above it can clip it */
html.eh-editor-full, body.eh-editor-full { overflow: hidden !important; }
body > .eh-editor.eh-full { position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100dvh; margin: 0; z-index: 100000; }
.eh-editor.eh-full .eh-side { height: 100%; max-height: 100%; min-height: 0; overflow-y: auto; }
.eh-editor.eh-full .eh-toolbar { height: 100%; min-height: 0; overflow-y: auto; }
.eh-editor.eh-full .eh-exit-full { position: fixed; }
/* 1.78: the inspector / toolbar are always real scroll boxes (heights are also pinned by editor.js syncPanels) */
.eh-editor > .eh-toolbar, .eh-editor > .eh-centre, .eh-editor > .eh-side { min-height: 0; min-width: 0; }
.eh-editor > .eh-side { overflow-y: auto !important; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--bv-line-2, #4a4a54) var(--bv-bg, #131316); }
.eh-editor > .eh-side::-webkit-scrollbar { width: 10px; }
.eh-editor > .eh-side::-webkit-scrollbar-thumb { background: var(--bv-line-2, #4a4a54); border-radius: 5px; border: 2px solid var(--bv-bg, #131316); }
.eh-editor > .eh-side::-webkit-scrollbar-thumb:hover { background: var(--bv-gold, #d4af37); }
/* 1.79: stacked full screen (narrow windows) – the canvas column must not spill over the inspector row */
@media (max-width: 850px) { .eh-editor.eh-full .eh-centre { overflow: hidden; min-height: 0; } .eh-editor.eh-full .eh-canvas-wrap { min-height: 0; } .eh-editor.eh-full .eh-side { padding-top: 10px; } }

/* 1.80: the inspector is a real scroll container – definite heights from the editor, never from its content */
.eh-editor { min-height: 0; overflow: hidden; }
.eh-editor > .eh-side { min-height: 0; height: 100%; max-height: 100%; overflow-y: auto !important; overflow-x: hidden; overscroll-behavior: contain; }
.eh-editor > .eh-toolbar { min-height: 0; height: 100%; max-height: 100%; overflow-y: auto; }
@media (max-width: 850px) { .eh-editor:not(.eh-full) > .eh-side { height: 60vh; max-height: 60vh; overflow-y: auto !important; } }
/* 1.86: breathing room after the last inspector section (the JS may add more when the editor hangs below the visible area) */
.eh-editor > .eh-side { padding-bottom: 40px; scroll-padding-bottom: 40px; }
.eh-editor > .eh-side > .eh-panel:last-child { border-bottom: 0; }

/* 2.10 price categories offered on a table / row (inspector) */
.eh-catlist { display: flex; flex-direction: column; gap: 4px; }
.eh-catopt { display: flex; align-items: center; gap: 7px; font-size: 12.5px; cursor: pointer; }
.eh-catopt .eh-ws-sw, .eh-catopt i { width: 12px; height: 12px; border-radius: 50%; display: inline-block; border: 1px solid color-mix(in srgb, var(--bv-text, #fff) 25.0%, transparent); }
.eh-catopt small { color: var(--bv-text-2, #a9a9b4); }
.eh-catnote { font-size: 11.5px; margin-top: 2px; }

/* ===== 2.13 deactivation categories / hidden objects ===== */
.eh-secrow.eh-offcat-row { grid-template-columns: 26px 1fr 30px 16px; }
.eh-offcat-list { margin-top: 6px; }
.eh-offcolors { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 6px 0 4px; }
.eh-offcolor { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.eh-offcolor .eh-oc-reset { font-size: 11px; color: var(--bv-gold-text, #f5d77a); text-decoration: none; }
.eh-offcolor .eh-oc-reset[hidden] { display: none; }
.eh-offcat-sel { min-height: 28px; background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); border: 1px solid var(--bv-line-2, #3a3a42); border-radius: 6px; font-size: 12px; width: 100%; }
.eh-offcat-sel:focus { border-color: var(--bv-gold, #d4af37); box-shadow: 0 0 0 2px rgba(212,175,55,.3); outline: none; }
.eh-offcat-row { margin-top: 8px; }
.eh-legend { flex-wrap: wrap; }
.eh-lg-offcat::before { background: var(--eh-lg-cat, var(--bv-red-tint, #7f1d1d)); box-shadow: 0 0 0 2px #fff; }
.eh-lg-hiddenobj::before { background: repeating-linear-gradient(45deg, #777 0 2px, #222 2px 4px); border: 1px dashed var(--bv-text-2, #bbb); }
/* not only colour: a categorised seat gets a dashed ring, a hidden table / row a dashed dimmed outline */
.eh-svg .eh-seat-offcat > circle:not(.eh-seat-ring):not(.eh-seat-halo) { stroke-dasharray: 4 3; }
.eh-svg .eh-hidden .eh-table-body, .eh-svg .eh-hidden .eh-seat circle { stroke-dasharray: 6 4; }

/* ===== 2.13.1 single seats hidden from the public map (admin only – customers never get them drawn) ===== */
.eh-svg .eh-seat-hiddenseat { opacity: .4; }
.eh-svg .eh-seat-hiddenseat circle { stroke-dasharray: 5 3; stroke: var(--bv-text-2, #bbb); }
.eh-svg .eh-seat-hiddenseat.eh-seat-selected { opacity: .75; }
.eh-seat-hidlist b { color: var(--bv-text-2, #cfcfcf); }
.eh-seat-hiderow { display: flex; flex-wrap: wrap; gap: 6px; }
.eh-seat-hide { border-color: rgba(200,200,200,.4) !important; }

/* =====================================================================================================================
   2.13.1 – layout follows the REAL width of the editor, not the browser window.
   In the normal (non full-screen) view the editor sits inside the workspace next to the WordPress admin menu and the
   Event-Setup step rail, so the space it really has is often 400–700px less than the viewport. Container queries size the
   three columns from #eh-editor-root's own width; the Properties inspector reflows its field rows from its own width.
   Full screen (.eh-full) is moved to <body>, is as wide as the window and keeps the viewport rules above.
   ===================================================================================================================== */
#eh-editor-root { container-type: inline-size; container-name: eheditor; }
.eh-editor .eh-side { container-type: inline-size; container-name: ehside; }
.eh-mini input, .eh-mini select, .eh-f input, .eh-f select { min-width: 0; box-sizing: border-box; }
.eh-mini input[type=time], .eh-f input[type=time] { min-width: 122px; }                   /* "2:00 PM" + AM/PM never squashed */
.eh-mini input[type=number], .eh-f input[type=number] { min-width: 58px; }
@container eheditor (max-width: 1180px) {
  .eh-editor:not(.eh-full) { grid-template-columns: 200px minmax(0, 1fr) 330px; }
  .eh-editor:not(.eh-full) .eh-tool { font-size: 13.5px; min-height: 46px; padding: 9px 10px; }
  .eh-editor:not(.eh-full) .eh-tool-ico { font-size: 21px; width: 28px; }
}
@container eheditor (max-width: 980px) {
  /* 780–980px: the "Add to floor" column collapses to an icon rail (tooltips keep the names) so the floor keeps ≥ 400px
     next to a full-width Properties inspector – nothing is hidden, the labels come back as soon as there is room */
  .eh-editor:not(.eh-full) { grid-template-columns: 66px minmax(0, 1fr) 300px; }
  .eh-editor:not(.eh-full) .eh-toolbar { padding: 10px 6px; }
  .eh-editor:not(.eh-full) .eh-tb-title { font-size: 0; margin: 4px 0 6px; border-top: 1px solid var(--bv-surface-3, #26262b); }
  .eh-editor:not(.eh-full) .eh-tb-title:first-child { border-top: none; }
  .eh-editor:not(.eh-full) .eh-tool { position: relative; padding: 8px 0; min-height: 46px; justify-content: center; gap: 0; }
  .eh-editor:not(.eh-full) .eh-tool > span:not(.eh-tool-ico) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .eh-editor:not(.eh-full) .eh-tool-ico { font-size: 24px; width: 30px; }
  .eh-editor:not(.eh-full) .eh-tpl { width: 100%; min-height: 34px; padding: 0 2px; }
}
@container eheditor (max-width: 740px) {
  /* too narrow for three columns: tools on top (wrapping), floor in the middle, the Properties inspector full width below */
  .eh-editor:not(.eh-full) { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(380px, 1fr) auto; height: auto; max-height: none; }
  .eh-editor:not(.eh-full) .eh-toolbar { display: flex; flex-wrap: wrap; gap: 4px; height: auto; overflow: visible; }
  .eh-editor:not(.eh-full) .eh-tool { width: auto; min-height: 40px; }
  .eh-editor:not(.eh-full) .eh-side { height: 60vh; max-height: 60vh; overflow-y: auto !important; border-left: none; border-top: 1px solid var(--bv-surface-3, #26262b); }
}
/* Properties inspector: field rows reflow by the inspector's own width so labels, numbers and inputs never overlap or get cut */
.eh-rot-quick, .eh-seatsize-pre { flex-wrap: wrap; max-width: 100%; }
.eh-rot { flex-wrap: wrap; }
.eh-rot input[type=range] { flex: 1 1 120px; min-width: 0; }
@container ehside (max-width: 350px) {
  .eh-row { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eh-row .eh-grow { grid-column: 1 / -1; }
  .eh-f { grid-template-columns: 96px minmax(0, 1fr); }
  .eh-secrow { grid-template-columns: 26px minmax(0, 1fr) 60px 30px 16px; }
  .eh-alignbar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .eh-offcolors { grid-template-columns: 1fr; }
}
@container ehside (max-width: 290px) {
  .eh-row { grid-template-columns: minmax(0, 1fr); }
  .eh-f { grid-template-columns: minmax(0, 1fr); }
  .eh-actions, .eh-actions-multi { grid-template-columns: minmax(0, 1fr); }
  .eh-secrow { grid-template-columns: 26px minmax(0, 1fr) 30px 16px; }
  .eh-secrow input[type=number] { grid-column: 2; }
}
/* labels wrap onto a second line instead of being cut with "…" when the inspector is narrow (2.13.1) */
.eh-mini-lbl { white-space: normal; overflow: visible; text-overflow: clip; display: flex; flex-wrap: wrap; align-items: center; row-gap: 0; }

/* ===== 2.13.2 Select seats mode, selection chip, seat vs whole-table boxes ===== */
.eh-cv-btn.eh-cv-seatmode.active { background: rgba(212,175,55,.28); border-color: var(--bv-gold-text, #f5d77a); color: var(--bv-text, #fff); box-shadow: 0 0 0 2px rgba(212,175,55,.25), 0 0 14px rgba(212,175,55,.35); }
.eh-svg.eh-seatmode .eh-seat { cursor: pointer; }
.eh-svg.eh-seatmode .eh-table-body, .eh-svg.eh-seatmode .eh-shape, .eh-svg.eh-seatmode .eh-row-label, .eh-svg.eh-seatmode .eh-text-hit { cursor: default; }
.eh-svg.eh-seatmode .eh-seat circle { transition: stroke-width .1s; }
.eh-svg.eh-seatmode .eh-seat:hover circle:not(.eh-seat-ring):not(.eh-seat-halo) { stroke: #fff; stroke-width: 2.5; }
.eh-seatsel-chip { position: absolute; left: 14px; top: 12px; z-index: 3; display: flex; align-items: center; gap: 10px; max-width: calc(100% - 360px); background: var(--bv-surface, color-mix(in srgb, var(--bv-bg, rgb(28,28,33)) 94.0%, transparent)); color: var(--bv-text, #f1f1f1); border: 1px solid var(--bv-gold, #d4af37); border-radius: 999px; padding: 6px 8px 6px 14px; font-size: 12.5px; box-shadow: 0 2px 10px rgba(0,0,0,.45); backdrop-filter: blur(4px); }
.eh-seatsel-chip b { color: var(--bv-gold-text, #f5d77a); white-space: nowrap; }
.eh-seatsel-list { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.eh-seatsel-hint { color: var(--bv-text-2, #d7d7d7); }
.eh-seatsel-clear { background: var(--bv-surface-2, #1c1c21); color: var(--bv-text, #eee); border: 1px solid var(--bv-line-2, #4a4a54); border-radius: 999px; padding: 3px 10px; font-size: 12px; cursor: pointer; }
.eh-seatsel-clear:hover { border-color: var(--bv-gold, #d4af37); color: var(--bv-text, #fff); }
.eh-seatsel-box.has-sel { border: 1px solid rgba(212,175,55,.55); border-radius: 10px; padding: 10px; background: rgba(212,175,55,.06); }
.eh-seatmode-btn.active { border-color: var(--bv-gold, #d4af37) !important; color: var(--bv-gold-text, #f5d77a) !important; }
.eh-whole-wrap { margin-top: 10px; }
.eh-whole-toggle { width: 100%; text-align: left; background: var(--bv-surface-2, #1c1c21) !important; color: var(--bv-text-2, #cfcfcf) !important; border-color: var(--bv-line-2, #3a3a42) !important; font-size: 12px; }
.eh-whole-wrap .eh-whole-box { display: none; margin-top: 8px; padding: 10px; border: 1px dashed var(--bv-line-2, #4a4a54); border-radius: 10px; }
.eh-whole-wrap.open .eh-whole-box { display: flex; }
@media (max-width: 850px) { .eh-seatsel-chip { max-width: calc(100% - 24px); top: 52px; } }
.eh-svg.eh-seatmode .eh-rz-handle, .eh-svg.eh-seatmode .eh-sz-handle, .eh-svg.eh-seatmode .eh-gz-handle, .eh-svg.eh-seatmode .eh-rot-handle { display: none; }

/* ===== 2.14 Compact overview in the Event Setup workspace: the editor itself lives in Full Screen only ===== */
#eh-editor-root.eh-compact > .eh-editor:not(.eh-full) { display: none; }
.eh-overview { background: var(--bv-bg, #0e0e10); color: var(--bv-text, #e8e8e8); border: 1px solid var(--bv-surface-3, #26262b); border-radius: 12px; overflow: hidden; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.eh-overview-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 12px 14px; border-bottom: 1px solid var(--bv-surface-3, #26262b); background: var(--bv-bg, #131316); }
.eh-overview-title { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.eh-overview-title b { color: var(--bv-gold-text, #f5d77a); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.eh-mini-stats { font-size: 12px; color: var(--bv-text-2, #a9a9b4); }
.eh-overview-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.eh-mini-status { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; padding: 5px 11px; border-radius: 999px; border: 1px solid var(--bv-line-2, #3a3a42); background: var(--bv-surface-2, #1c1c21); color: var(--bv-text-2, #cfcfcf); }
.eh-mini-status::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--bv-text-3, #777); }
.eh-mini-status.ok { border-color: rgba(34,197,94,.5); color: var(--bv-green, #bbf7d0); } .eh-mini-status.ok::before { background: var(--bv-green, #22c55e); }
.eh-mini-status.dirty { border-color: rgba(245,215,122,.7); color: var(--bv-gold-text, #f5d77a); } .eh-mini-status.dirty::before { background: var(--bv-gold-text, #f5d77a); }
.eh-mini-status.error { border-color: rgba(248,113,113,.7); color: var(--bv-red, #fca5a5); } .eh-mini-status.error::before { background: var(--bv-red, #f87171); }
.eh-mini-status.saving::before { background: var(--bv-gold-text, #f5d77a); animation: eh-blink 1s infinite; }
@keyframes eh-blink { 50% { opacity: .3; } }
.eh-overview .button.eh-mini-edit { background: linear-gradient(135deg, #f5d77a, #d4af37 60%, #b8891b); color: #111 !important; border: 1px solid var(--bv-gold, #d4af37); font-weight: 800; border-radius: 10px; padding: 0 14px; min-height: 36px; line-height: 34px; box-shadow: 0 0 0 1px rgba(212,175,55,.2), 0 6px 18px rgba(212,175,55,.18); }
.eh-overview .button.eh-mini-edit:hover, .eh-overview .button.eh-mini-edit:focus-visible { filter: brightness(1.08); box-shadow: 0 0 0 2px rgba(212,175,55,.35), 0 8px 22px rgba(212,175,55,.3); outline: none; }
.eh-mini-edit-ico { font-size: 15px; }
.eh-overview .button.eh-mini-save { background: var(--bv-surface-2, #1c1c21); color: var(--bv-gold-text, #f5d77a) !important; border: 1px solid var(--bv-gold, #d4af37); border-radius: 10px; min-height: 36px; line-height: 34px; padding: 0 12px; font-weight: 700; }
.eh-overview-stage { position: relative; padding: 14px; cursor: pointer; background: radial-gradient(ellipse at center, #15151a, #0e0e10 70%); }
.eh-overview-stage:hover .eh-mini-svg { outline-color: var(--bv-gold, #d4af37); }
.eh-mini-svg { display: block; width: 100%; height: auto; max-height: 460px; min-height: 180px; outline: 1px solid var(--bv-surface-3, #26262b); outline-offset: 0; border-radius: 8px; background: var(--bv-bg, #0b0b0d); pointer-events: none; }
.eh-mini-svg .eh-seat, .eh-mini-svg .eh-obj { cursor: default; }
.eh-overview-foot { padding: 8px 14px 12px; font-size: 11.5px; color: var(--bv-text-3, #8f8f9a); border-top: 1px solid var(--bv-surface-3, #26262b); }

/* ===== 2.27.0 Floor Plan vs Tickets & Pricing (same editor, two modes) ===== */
.eh-price-legend { display: none; }
.eh-mode-pricing .eh-price-legend { display: block; padding: 0 2px; }
.eh-mode-pricing .eh-toolbar > :not(.eh-price-legend) { display: none !important; }
.eh-legend-unpriced { display: inline-block; width: 14px; height: 14px; border-radius: 50%; border: 2px dashed var(--bv-red, #ef4444); flex: none; }
.eh-legend-tip { font-size: 12px; line-height: 1.5; color: var(--bv-text-2, #a9a9b4); margin: 4px 0 0; }
.eh-mode-pricing .eh-canvas-props { display: none !important; }
.eh-mode-pricing .eh-obj { cursor: pointer; }
.eh-mode-pricing .eh-rz-handle, .eh-mode-pricing .eh-gz-handle, .eh-mode-pricing .eh-sz-handle { display: none !important; }
.eh-mode-pricing .eh-hint { visibility: hidden; }
.eh-seat-unpriced > circle:not(.eh-seat-ring):not(.eh-seat-halo) { stroke: var(--bv-red, #ef4444) !important; stroke-width: 3px !important; stroke-dasharray: 3 2; }
.eh-price-warn { margin: 8px 0; padding: 8px 10px; border-radius: 8px; background: rgba(239, 68, 68, .14); border: 1px solid rgba(239, 68, 68, .5); color: var(--bv-red, #fecaca); font-size: 12.5px; font-weight: 600; }
.eh-price-ok { margin: 8px 0; padding: 8px 10px; border-radius: 8px; background: rgba(34, 197, 94, .12); border: 1px solid rgba(34, 197, 94, .45); color: var(--bv-green, #bbf7d0); font-size: 12.5px; font-weight: 600; }
.eh-secsum { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 13px; }
.eh-secsum b { margin-left: auto; }
.eh-price-sum { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.eh-goto-pricing { margin-top: 6px !important; }
.eh-free { display: inline-flex; align-items: center; gap: 3px; font-size: 12px; white-space: nowrap; }
.eh-secrow-bad input[name="price"] { border-color: var(--bv-red, #ef4444) !important; }
.eh-tag-unpriced { font-size: 11px; font-weight: 800; color: var(--bv-red, #fca5a5); white-space: nowrap; }
.eh-tag-free { font-size: 11px; font-weight: 800; color: var(--bv-green, #86efac); white-space: nowrap; }
.eh-sections .eh-secrow { grid-template-columns: 26px minmax(0,1fr) 66px auto 26px 16px; }
.eh-sections .eh-secrow .eh-tag-unpriced, .eh-sections .eh-secrow .eh-tag-free { grid-column: 2 / -1; margin-top: -3px; }
.eh-mode-pricing .eh-geo-only { display: none !important; }
/* 2.29.0 price highlight: a halo around each seat in its price group's colour – the seat keeps the floor plan's colour */
.eh-svg .eh-seat circle.eh-seat-halo { display: none; fill: none !important; stroke: var(--eh-pg-color, transparent) !important; stroke-width: 6 !important; stroke-dasharray: none !important; filter: none !important; transform: none !important; }
.eh-svg.eh-price-overlay .eh-seat[data-pg] circle.eh-seat-halo { display: inline; }
.eh-price-groups .eh-pg-row { display: flex; align-items: center; gap: 6px; margin: 3px 0; font-size: 12px; }
.eh-price-groups .eh-pg-row b { margin-left: auto; }
.eh-pg-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--eh-pg-color, var(--bv-text-3, #888)); border: 1px solid color-mix(in srgb, var(--bv-text, #000) 22%, transparent); flex: 0 0 auto; box-sizing: border-box; }   /* 2.33.0: solid, no white centre */
.eh-pg-dot.eh-pg-bad { background: transparent; border: 2px dashed var(--bv-red, #ef4444); }   /* Not priced stays an empty dashed ring on purpose */
.eh-apply-box { border: 1px solid rgba(212,175,55,.35); border-radius: 10px; padding: 10px; margin: 8px 0; background: rgba(212,175,55,.05); }
.eh-apply-box .eh-quick { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.eh-apply-box .eh-quick button { border: 1px solid color-mix(in srgb, var(--bv-text, #fff) 25.0%, transparent); background: transparent; color: inherit; border-radius: 999px; padding: 3px 10px; cursor: pointer; font-size: 12px; display: inline-flex; align-items: center; gap: 5px; }
.eh-apply-box .eh-quick button[aria-pressed="true"] { border-color: var(--bv-gold, #d4af37); background: rgba(212,175,55,.18); }
.eh-apply-box .eh-unit { display: flex; gap: 12px; margin: 6px 0; flex-wrap: wrap; font-size: 12px; }
.eh-apply-box .eh-newprice { display: grid; grid-template-columns: 1fr 1.4fr; gap: 6px; }
.eh-apply-box input[type=number], .eh-apply-box input[type=text] { width: 100%; }
.eh-apply-box .eh-apply-btn { margin-top: 8px; width: 100%; }
.eh-adv-cats > summary { cursor: pointer; margin-top: 8px; font-size: 12px; }
.eh-apply-box .eh-mini-label { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; opacity: .75; margin-top: 4px; }
.eh-steps-help { margin: 6px 0 0 18px; font-size: 12px; }
/* 2.29.1 beginner workflow */
.eh-seatsel-chip[hidden] { display: none !important; }
.eh-editor .eh-hide-in-studio { display: none !important; }
.eh-editor .eh-studio-save.is-dirty { box-shadow: 0 0 0 2px #fff inset; }
.eh-apply-box .eh-apply-btn { font-size: 14px; min-height: 40px; white-space: normal; line-height: 1.25; }
.eh-apply-box .eh-apply-btn.eh-apply-wait { opacity: .75; }
.eh-adv-manage { margin-top: 10px; border-top: 1px solid color-mix(in srgb, var(--bv-text, #fff) 10.0%, transparent); padding-top: 8px; }
.eh-adv-manage > summary { font-size: 12.5px; opacity: .85; }
.eh-mini-edit, .eh-editor .eh-mini-edit { background: linear-gradient(180deg,#f5d77a,#d4af37) !important; color: var(--bv-bg, #1a1a1a) !important; border-color: var(--bv-gold, #d4af37) !important; font-weight: 700; opacity: 1 !important; }
.eh-mode-pricing .eh-gz-handle, .eh-mode-pricing .eh-sel-handle { display: none; }   /* nothing is resized while pricing */
/* 2.29.1: tables and seats on the overview are clickable – the click selects them in the full-screen editor */
.eh-mini-svg .eh-seat, .eh-mini-svg .eh-obj-table, .eh-mini-svg .eh-obj-row { pointer-events: auto; cursor: pointer; }
.eh-mini-svg .eh-seat:hover circle { stroke: #fff; stroke-width: 2; }
/* 2.29.2 */
.eh-apply-box .eh-whole-note { border: 1px solid rgba(96,165,250,.45); background: rgba(96,165,250,.08); border-radius: 8px; padding: 8px 10px; margin-bottom: 8px; font-size: 12.5px; }
.eh-apply-box .eh-whole-note p { margin: 0 0 6px; }
.eh-apply-box .eh-apply-err { margin: 6px 0 0; color: var(--bv-red, #fca5a5); font-weight: 600; font-size: 12.5px; }
.eh-apply-box .eh-apply-err[hidden] { display: none; }
/* 2.31.0 Your prices (edit an existing price) */


/* 2.31.1 price selector: choose (chip) + change amount (✎) in one place */
.eh-price-selector { margin: 4px 0 8px; }
.eh-price-selector .eh-quick { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.eh-chipwrap { display: inline-flex; align-items: stretch; border: 1px solid color-mix(in srgb, var(--bv-text, #fff) 25.0%, transparent); border-radius: 999px; overflow: hidden; }
.eh-chipwrap:has(.eh-chip-pick[aria-pressed="true"]) { border-color: var(--bv-gold, #d4af37); }
.eh-chipwrap.is-editing { border-color: var(--bv-gold-text, #f5d77a); box-shadow: 0 0 0 2px rgba(245,215,122,.25); }
.eh-price-selector .eh-quick .eh-chip-pick, .eh-apply-box .eh-quick .eh-chip-pick { border: 0; border-radius: 0; background: transparent; color: inherit; padding: 4px 8px 4px 10px; cursor: pointer; font-size: 12px; display: inline-flex; align-items: center; gap: 5px; }
.eh-price-selector .eh-quick .eh-chip-pick[aria-pressed="true"] { background: rgba(212,175,55,.18); }
.eh-price-selector .eh-quick .eh-chip-edit, .eh-apply-box .eh-quick .eh-chip-edit { border: 0; border-left: 1px solid color-mix(in srgb, var(--bv-text, #fff) 18.0%, transparent); border-radius: 0; background: transparent; color: var(--bv-gold-text, #f5d77a); padding: 2px 9px; cursor: pointer; font-size: 13px; line-height: 1; }
.eh-price-selector .eh-quick .eh-chip-edit:hover, .eh-chipwrap.is-editing .eh-chip-edit { background: rgba(212,175,55,.22); }
.eh-pe-form { border: 1px solid rgba(212,175,55,.55); background: rgba(212,175,55,.07); border-radius: 8px; padding: 8px 10px; margin: 4px 0 8px; font-size: 12.5px; }
.eh-pe-title { display: flex; gap: 6px; align-items: center; font-weight: 600; margin-bottom: 2px; }
.eh-pe-affects { margin: 2px 0 6px; }
.eh-pe-form .eh-yp-amt input { width: 96px; }
.eh-pe-form .eh-pe-save { margin-top: 6px; white-space: normal; height: auto; }
.eh-sec-amount { font-size: 12px; opacity: .85; white-space: nowrap; }
.eh-newprice-label { margin-top: 8px; }

/* 2.33.0 – price rings: thicker (6 instead of 3.2) so the price colour reads at normal zoom. With the price
   highlight on, the SELECTED seat's dashed marker moves just outside the price ring so both stay visible;
   sold / reserved / unavailable keep their own seat fill underneath (the ring never changes the seat colour). */
.eh-svg.eh-price-overlay .eh-seat-selected .eh-seat-ring { transform: scale(1.34) !important; stroke-width: 3 !important; }
/* 2.33.0 – selection must read in Light mode too (white glow disappeared on the light canvas) */
.eh-editor:is(.bv-light, .bv-auto, .bv-dark, .bv-light *, .bv-auto *, .bv-dark *) .eh-svg-admin .eh-obj-selected .eh-table-body,
.eh-editor:is(.bv-light, .bv-auto, .bv-dark, .bv-light *, .bv-auto *, .bv-dark *) .eh-svg-admin .eh-obj-selected .eh-shape { stroke: var(--bv-gold, #d4af37) !important; stroke-width: 4 !important; stroke-dasharray: 7 4; }
.eh-editor:is(.bv-light, .bv-auto, .bv-light *, .bv-auto *) .eh-svg-admin .eh-seat-selected circle:not(.eh-seat-ring):not(.eh-seat-halo) { stroke: #1d1d1f !important; filter: none; }
@media (prefers-color-scheme: dark) { .eh-editor:is(.bv-auto, .bv-auto *) .eh-svg-admin .eh-seat-selected circle:not(.eh-seat-ring):not(.eh-seat-halo) { stroke: #fff !important; } }
