.floor-mode-switch{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.floor-mode-switch button{min-height:40px;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:rgba(255,255,255,.045);color:var(--muted);font-weight:900;cursor:pointer}
.floor-mode-switch button[aria-selected="true"]{border-color:rgba(255,215,0,.38);background:rgba(255,215,0,.11);color:var(--yellow)}
#venueFloorPlanStudio[hidden],#venueLiveFloor[hidden]{display:none!important}
.vlf-shell{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#080812}
.vlf-toolbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.025)}
.vlf-toolbar>div:last-child{display:flex;gap:7px}
.vlf-toolbar button,.vlf-error button{min-height:36px;border:1px solid var(--line);border-radius:9px;padding:0 11px;background:rgba(255,255,255,.055);color:#fff;font-weight:900;cursor:pointer}
.vlf-summary{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:11px;font-weight:800}
.vlf-summary b{color:#fff;font-size:15px}
.vlf-floor-tabs{display:flex;gap:7px;padding:10px 12px;overflow:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.vlf-floor-tabs::-webkit-scrollbar{display:none}
.vlf-floor-tabs button{flex:0 0 auto;min-height:35px;border:1px solid var(--line);border-radius:999px;padding:0 12px;background:rgba(255,255,255,.04);color:var(--muted);font-weight:900;cursor:pointer}
.vlf-floor-tabs button[aria-selected="true"]{border-color:rgba(255,215,0,.35);background:rgba(255,215,0,.11);color:var(--yellow)}
.vlf-stage{height:clamp(480px,65vh,700px);overflow:hidden;display:grid;place-items:center;padding:14px;background:radial-gradient(circle at 50% 35%,rgba(25,201,221,.07),transparent 42%),#05050d}
.vlf-canvas-wrap{position:relative;flex:none;min-width:0;min-height:0}
.vlf-canvas{position:absolute;inset:0;width:1000px;height:620px;transform-origin:top left;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:24px 24px}
.vlf-fixture{position:absolute;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.035);color:var(--dim);font-size:10px;font-weight:950;letter-spacing:.8px;text-transform:uppercase}
.vlf-active-empty{position:absolute;inset:0;z-index:5;display:grid;place-items:center;align-content:center;gap:6px;padding:24px;pointer-events:none;text-align:center}.vlf-active-empty strong{color:#fff;font-size:16px}.vlf-active-empty span{color:var(--muted);font-size:11px}
.vlf-table-unit{position:absolute;overflow:visible;border:0;background:transparent;color:#fff;cursor:pointer;transform-origin:center;isolation:isolate}
.vlf-table-shape{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:2px;border:2px solid rgba(255,255,255,.24);border-radius:10px;background:#151521;box-shadow:0 8px 20px rgba(0,0,0,.35);transition:.18s ease}
.vlf-table-shape.round{border-radius:50%}.vlf-table-shape.rectangle,.vlf-table-shape.long{border-radius:8px}.vlf-table-shape.bar-seat{border-radius:50%}
.vlf-table-shape strong{font-size:15px;line-height:1}.vlf-table-shape small{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.45px}
.vlf-seat{position:absolute;z-index:-1;width:13px;height:9px;border:1px solid rgba(255,255,255,.24);border-radius:4px;background:#292938;box-shadow:0 3px 7px rgba(0,0,0,.38)}
.vlf-table-unit:hover .vlf-table-shape,.vlf-table-unit:focus-visible .vlf-table-shape,.vlf-table-unit.is-selected .vlf-table-shape{transform:translateY(-2px);outline:2px solid rgba(255,255,255,.72);outline-offset:3px}
.vlf-table-unit.is-available .vlf-table-shape{border-color:rgba(109,255,139,.32)}
.vlf-table-unit.is-held .vlf-table-shape{border-color:#ffb84d;background:#2b1d0b}.vlf-table-unit.is-held .vlf-seat{background:#6b4614}
.vlf-table-unit.is-reserved .vlf-table-shape,.vlf-table-unit.is-due .vlf-table-shape{border-color:#4da3ff;background:#0c2441}.vlf-table-unit.is-reserved .vlf-seat,.vlf-table-unit.is-due .vlf-seat{background:#174b83}
.vlf-table-unit.is-due .vlf-table-shape{animation:vlfBluePulse 1.8s ease-in-out infinite}
.vlf-table-unit.is-live .vlf-table-shape{border-color:#19c9dd;background:#08313a}.vlf-table-unit.is-live .vlf-seat{background:#0b6572}
.vlf-table-unit.is-assistance .vlf-table-shape{border-color:#ff6b7a;background:#42131a;animation:vlfRequestPulse 1.25s ease-in-out infinite}.vlf-table-unit.is-assistance .vlf-seat{background:#7b202d}.vlf-table-unit.is-out_of_service .vlf-table-shape{border-color:#646474;background:repeating-linear-gradient(135deg,#20202a 0 7px,#15151d 7px 14px);color:#999}.vlf-table-unit.is-out_of_service .vlf-seat{background:#393945}
.vlf-request-badge{position:absolute;z-index:3;top:-15px;right:-15px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ff5265;color:#fff;font-size:11px;font-weight:950;box-shadow:0 0 0 4px rgba(255,82,101,.16)}
.vlf-upcoming{position:absolute;z-index:3;top:-10px;right:-10px;color:#4da3ff;font-size:30px;line-height:.4;text-shadow:0 0 12px #4da3ff}
.vlf-legend{display:flex;gap:13px;flex-wrap:wrap;padding:11px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:850}
.vlf-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#6dff8b}.vlf-legend .held:before{background:#ffb84d}.vlf-legend .reserved:before{background:#4da3ff}.vlf-legend .live:before{background:#19c9dd}.vlf-legend .assistance:before{background:#ff5265}.vlf-legend .out:before{background:#646474}
.vlf-drawer{position:absolute;top:0;right:0;z-index:8;width:min(390px,100%);height:100%;overflow:auto;padding:17px;border-left:1px solid var(--line);background:rgba(9,9,18,.97);box-shadow:-20px 0 55px rgba(0,0,0,.48);backdrop-filter:blur(18px)}
.vlf-drawer header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.vlf-drawer header small,.vlf-drawer-section>small{color:var(--yellow);font-size:9px;font-weight:950;letter-spacing:.8px;text-transform:uppercase}.vlf-drawer h3{margin:2px 0 0;font-size:30px}.vlf-drawer header button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.055);color:#fff;font-size:22px;cursor:pointer}
.vlf-state-pill{display:inline-flex;border-radius:999px;padding:6px 9px;background:rgba(255,255,255,.08);font-size:9px;font-weight:950;text-transform:uppercase}.vlf-state-pill.is-live{color:#19c9dd}.vlf-state-pill.is-assistance{color:#ff7f8c}.vlf-state-pill.is-reserved,.vlf-state-pill.is-due{color:#72b7ff}.vlf-state-pill.is-held{color:#ffbd61}.vlf-state-pill.is-available{color:#6dff8b}.vlf-state-pill.is-out_of_service{color:#aaa}
.vlf-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.vlf-detail-grid div{padding:11px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.035)}.vlf-detail-grid span,.vlf-detail-grid strong{display:block}.vlf-detail-grid span{color:var(--muted);font-size:9px;text-transform:uppercase}.vlf-detail-grid strong{margin-top:4px;font-size:15px}
.vlf-drawer-section{padding:14px 0;border-top:1px solid var(--line)}.vlf-drawer-section h4{margin:7px 0 4px;font-size:16px}.vlf-drawer-section p{margin:5px 0;color:var(--muted);font-size:11px;line-height:1.45}
.vlf-request{display:grid;gap:9px;margin-top:9px;padding:11px;border:1px solid rgba(255,107,122,.24);border-radius:11px;background:rgba(255,107,122,.06)}.vlf-request strong,.vlf-request span,.vlf-request em{display:block}.vlf-request strong{font-size:12px;text-transform:capitalize}.vlf-request span{margin-top:4px;color:var(--muted);font-size:10px}.vlf-request em{margin-top:6px;color:#ffbd61;font-size:9px;font-style:normal;font-weight:900}.vlf-request-actions{display:flex;gap:7px}.vlf-order{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin-top:9px;padding:11px;border:1px solid rgba(25,201,221,.2);border-radius:11px;background:rgba(25,201,221,.055)}.vlf-order strong,.vlf-order span{display:block}.vlf-order strong{font-size:11px;text-transform:capitalize}.vlf-order span{grid-column:1/2;color:var(--muted);font-size:10px;line-height:1.4}.vlf-order b{grid-column:2;grid-row:1/3;align-self:center;color:#6dff8b;font-size:12px}.vlf-request-actions button,.vlf-close-table,.vlf-service-toggle{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:rgba(255,255,255,.055);color:#fff;font-size:10px;font-weight:950;cursor:pointer}.vlf-close-table,.vlf-service-toggle{width:100%;min-height:44px}.vlf-close-table{border-color:rgba(255,107,122,.34);background:rgba(255,107,122,.08);color:#ff8c98}.vlf-service-toggle{margin-bottom:8px;color:#bbb}
.vlf-loading,.vlf-error{min-height:300px;display:grid;place-items:center;align-content:center;gap:8px;border:1px solid var(--line);border-radius:16px;color:var(--muted);text-align:center}.vlf-error strong,.vlf-error span{display:block}.vlf-error strong{color:#fff;font-size:16px}.vlf-error span{font-size:11px;max-width:420px}
.vlf-shell.is-expanded{position:fixed;inset:12px;z-index:1600;border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.75)}.vlf-shell.is-expanded .vlf-stage{height:calc(100dvh - 170px)}
@keyframes vlfRequestPulse{50%{box-shadow:0 0 25px rgba(255,82,101,.55)}}@keyframes vlfBluePulse{50%{box-shadow:0 0 22px rgba(77,163,255,.45)}}
@media(max-width:720px){.vlf-toolbar{align-items:flex-start;flex-direction:column}.vlf-toolbar>div:last-child{width:100%;overflow-x:auto}.vlf-stage{height:540px;padding:10px}.vlf-drawer{width:100%}.vlf-summary{gap:9px}.vlf-shell.is-expanded{inset:0;border-radius:0}.vlf-shell.is-expanded .vlf-stage{height:calc(100dvh - 190px)}}
.vlf-detail-grid strong small{color:#6dff8b;font-size:10px}.vlf-seat-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.vlf-seat-actions button,.vlf-merge-control button,.vlf-merge-control select{min-height:38px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.055);color:#fff;padding:0 10px;font-size:10px;font-weight:850}.vlf-seat-actions button{cursor:pointer}.vlf-merge-control{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}.vlf-merge-control select{width:100%;color-scheme:dark}.vlf-merge-control button{border-color:rgba(25,201,221,.32);color:#71eaf7;cursor:pointer}
@media(prefers-reduced-motion:reduce){.vlf-table-shape{animation:none!important}}
