.InteractiveStallBooking-module__6RJ-cG__page{--vinyas-purple:#642842;--vinyas-orange:#834b25;--vinyas-blue:#46677a;--vinyas-green:#8a9056;--vinyas-teal:#2f757f;--vinyas-gray:#7a7468;--bg:#f5f2ec;--panel:#fff;--panel-strong:#fff;--ink:#2f2d29;--muted:#6f6a61;--line:#2f2d2924;--available:var(--vinyas-teal);--available-soft:#2f757f24;--booked:var(--vinyas-orange);--booked-soft:#834b2524;--premium:var(--vinyas-purple);--premium-soft:#64284224;--shadow:0 16px 46px #413a3121;--radius:22px;width:100%;color:var(--ink);background:0 0;padding:16px 0}.InteractiveStallBooking-module__6RJ-cG__bookingShell{flex-direction:column;align-items:stretch;gap:18px;width:100%;display:flex}.InteractiveStallBooking-module__6RJ-cG__layoutCard,.InteractiveStallBooking-module__6RJ-cG__sidePanel{border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc2;border:1px solid #2f2d291a}.InteractiveStallBooking-module__6RJ-cG__layoutCard{padding:14px;overflow:hidden}.InteractiveStallBooking-module__6RJ-cG__toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:0 0 14px;display:flex}.InteractiveStallBooking-module__6RJ-cG__searchWrap{position:relative}.InteractiveStallBooking-module__6RJ-cG__searchWrap input{width:100%;height:48px;color:var(--ink);letter-spacing:.01em;background:#ffffffdb;border:1px solid #2f2d2929;border-radius:999px;outline:none;padding:0 18px 0 46px;font-size:15px}.InteractiveStallBooking-module__6RJ-cG__searchWrap input::placeholder{color:#6f6a61c7}.InteractiveStallBooking-module__6RJ-cG__searchWrap svg{color:#6f6a61cc;pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:17px;transform:translateY(-50%)}.InteractiveStallBooking-module__6RJ-cG__filterButtons{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.InteractiveStallBooking-module__6RJ-cG__filterBtn{color:#4a463f;cursor:pointer;background:#ffffffc7;border:1px solid #2f2d2924;border-radius:999px;padding:11px 14px;font-size:13px;font-weight:600;transition:transform .18s,background .18s,border-color .18s}.InteractiveStallBooking-module__6RJ-cG__filterBtn:hover{transform:translateY(-1px)}.InteractiveStallBooking-module__6RJ-cG__filterBtn.InteractiveStallBooking-module__6RJ-cG__active,.InteractiveStallBooking-module__6RJ-cG__active{color:#fff;background:var(--vinyas-purple);border-color:#64284266;box-shadow:0 8px 18px #64284224}.InteractiveStallBooking-module__6RJ-cG__mapFrame{aspect-ratio:1;background:#fff;border:1px solid #2f2d291f;border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #2f2d290f}.InteractiveStallBooking-module__6RJ-cG__mapCanvas{aspect-ratio:1;transform-origin:0 0;background:#fff;width:100%;min-width:0;max-width:100%;position:relative}.InteractiveStallBooking-module__6RJ-cG__layoutImage{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;display:block;position:absolute;inset:0}.InteractiveStallBooking-module__6RJ-cG__hotspotLayer{z-index:2;position:absolute;inset:0}.InteractiveStallBooking-module__6RJ-cG__hotspot{cursor:pointer;opacity:1;background:0 0;border:2px solid #0000;border-radius:3px;transition:opacity .16s,background .16s,border-color .16s,box-shadow .16s,transform .16s;position:absolute}.InteractiveStallBooking-module__6RJ-cG__hotspot:after{content:attr(data-stall);color:#0f172a;letter-spacing:-.02em;opacity:0;pointer-events:none;background:#ffffffd1;border:1px solid #0f172a1f;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:clamp(8px,.9vw,11px);font-weight:600;transition:opacity .16s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.InteractiveStallBooking-module__6RJ-cG__hotspot:hover,.InteractiveStallBooking-module__6RJ-cG__activeHotspot,.InteractiveStallBooking-module__6RJ-cG__searchHit{z-index:5;border-color:var(--vinyas-green);background:#8a905629;transform:scale(1.015);box-shadow:0 0 0 3px #8a905624,0 12px 24px #413a311f}.InteractiveStallBooking-module__6RJ-cG__hotspot:hover:after,.InteractiveStallBooking-module__6RJ-cG__activeHotspot:after,.InteractiveStallBooking-module__6RJ-cG__searchHit:after{opacity:1}.InteractiveStallBooking-module__6RJ-cG__booked{background:#ef444438!important;border:2px solid #ef4444!important}.InteractiveStallBooking-module__6RJ-cG__booked:after{opacity:.95!important;color:#991b1b!important;background:#fee2e2!important;border-color:#fca5a5!important}.InteractiveStallBooking-module__6RJ-cG__booked:hover,.InteractiveStallBooking-module__6RJ-cG__booked.InteractiveStallBooking-module__6RJ-cG__activeHotspot,.InteractiveStallBooking-module__6RJ-cG__booked.InteractiveStallBooking-module__6RJ-cG__searchHit{border-color:var(--vinyas-orange);background:#834b2524}.InteractiveStallBooking-module__6RJ-cG__premium:not(.InteractiveStallBooking-module__6RJ-cG__booked):hover,.InteractiveStallBooking-module__6RJ-cG__premium.InteractiveStallBooking-module__6RJ-cG__activeHotspot,.InteractiveStallBooking-module__6RJ-cG__premium.InteractiveStallBooking-module__6RJ-cG__searchHit{border-color:var(--vinyas-purple);background:#64284224}.InteractiveStallBooking-module__6RJ-cG__dimmed{opacity:.12;pointer-events:none;filter:grayscale()}.InteractiveStallBooking-module__6RJ-cG__filterHighlight{z-index:4!important;background:#2563eb1a!important;border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb66,0 0 10px #2563eb99!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight:after{opacity:1!important;color:#fff!important;background:#2563eb!important;border-color:#1d4ed8!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellCornerSpine{background:#8b5cf6!important;border-color:#7c3aed!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellCornerSpine:after{opacity:1!important;color:#5b21b6!important;background:#fff!important;border-color:#7c3aed!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellCorner{background:#eab308!important;border-color:#ca8a04!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellCorner:after{opacity:1!important;color:#854d0e!important;background:#fff!important;border-color:#ca8a04!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellPremium{background:#3b82f6!important;border-color:#2563eb!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellPremium:after{opacity:1!important;color:#1e40af!important;background:#fff!important;border-color:#2563eb!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellBooked{background:#ef4444!important;border-color:#dc2626!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellBooked:after{opacity:1!important;color:#991b1b!important;background:#fff!important;border-color:#dc2626!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellReserved{background:#f97316!important;border-color:#ea580c!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellReserved:after{opacity:1!important;color:#9a3412!important;background:#fff!important;border-color:#ea580c!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellAvailable{background:#10b981!important;border-color:#059669!important}.InteractiveStallBooking-module__6RJ-cG__filterHighlight.InteractiveStallBooking-module__6RJ-cG__cellAvailable:after{opacity:1!important;color:#065f46!important;background:#fff!important;border-color:#059669!important}.InteractiveStallBooking-module__6RJ-cG__sidePanel{background:#fff;flex-direction:column;gap:14px;min-height:640px;padding:18px;display:flex;position:sticky;top:20px}.InteractiveStallBooking-module__6RJ-cG__panelEyebrow,.InteractiveStallBooking-module__6RJ-cG__modalEyebrow{width:fit-content;color:var(--vinyas-purple);letter-spacing:.08em;text-transform:uppercase;background:#8a905624;border:1px solid #6428422e;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:600;display:inline-flex}.InteractiveStallBooking-module__6RJ-cG__sidePanel h1{letter-spacing:-.05em;color:#2f2d29;margin:0;font-size:clamp(28px,2.3vw,40px);font-weight:600;line-height:.98}.InteractiveStallBooking-module__6RJ-cG__sidePanel p,.InteractiveStallBooking-module__6RJ-cG__selectedCaption{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.InteractiveStallBooking-module__6RJ-cG__selectedCard{border:1px solid var(--line);background:var(--panel-strong);border-radius:18px;margin-top:4px;padding:16px;box-shadow:0 14px 30px #2f2d2912}.InteractiveStallBooking-module__6RJ-cG__selectedTop{justify-content:space-between;align-items:start;gap:14px;margin-bottom:12px;display:flex}.InteractiveStallBooking-module__6RJ-cG__selectedNumber{letter-spacing:-.06em;font-size:42px;font-weight:600;line-height:1}.InteractiveStallBooking-module__6RJ-cG__badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:600;display:inline-flex}.InteractiveStallBooking-module__6RJ-cG__badgeAvailable{color:#1f6670;background:var(--available-soft)}.InteractiveStallBooking-module__6RJ-cG__badgeBooked{color:var(--vinyas-orange);background:var(--booked-soft)}.InteractiveStallBooking-module__6RJ-cG__detailGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.InteractiveStallBooking-module__6RJ-cG__detailItem{border:1px solid var(--line);background:#f8f6f1;border-radius:14px;padding:11px}.InteractiveStallBooking-module__6RJ-cG__detailItem small{color:#7a7468;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.InteractiveStallBooking-module__6RJ-cG__detailItem strong{color:#2f2d29;font-size:14px;font-weight:600;line-height:1.2;display:block}.InteractiveStallBooking-module__6RJ-cG__panelActions{grid-template-columns:1fr;gap:9px;display:grid}.InteractiveStallBooking-module__6RJ-cG__primaryBtn,.InteractiveStallBooking-module__6RJ-cG__secondaryBtn{cursor:pointer;border:none;border-radius:14px;width:100%;min-height:48px;padding:13px 16px;font-weight:600;transition:transform .18s,box-shadow .18s,opacity .18s}.InteractiveStallBooking-module__6RJ-cG__primaryBtn{color:#fff;background:var(--vinyas-teal);box-shadow:0 10px 22px #2f757f2e}.InteractiveStallBooking-module__6RJ-cG__secondaryBtn{color:var(--vinyas-blue);border:1px solid var(--line);background:#f0eee8}.InteractiveStallBooking-module__6RJ-cG__primaryBtn:hover:not(:disabled),.InteractiveStallBooking-module__6RJ-cG__secondaryBtn:hover{transform:translateY(-1px)}.InteractiveStallBooking-module__6RJ-cG__primaryBtn:disabled{opacity:.5;cursor:not-allowed;transform:none}.InteractiveStallBooking-module__6RJ-cG__stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;display:grid}.InteractiveStallBooking-module__6RJ-cG__stats div{border:1px solid var(--line);background:#f8f6f1;border-radius:15px;padding:12px 10px}.InteractiveStallBooking-module__6RJ-cG__stats strong{color:var(--vinyas-purple);font-size:22px;font-weight:600;line-height:1;display:block}.InteractiveStallBooking-module__6RJ-cG__stats span{color:var(--muted);margin-top:5px;font-size:12px;display:block}.InteractiveStallBooking-module__6RJ-cG__tooltip{z-index:80;color:#fff;opacity:0;pointer-events:none;background:#331640;border:1px solid #ffffff26;border-radius:14px;width:max-content;max-width:280px;padding:12px 13px;transition:opacity .12s,transform .12s;position:fixed;top:0;left:0;transform:translate(0,0)scale(.98);box-shadow:0 18px 42px #33164059}.InteractiveStallBooking-module__6RJ-cG__tooltipVisible{opacity:1;transform:translate(0,0)scale(1)}.InteractiveStallBooking-module__6RJ-cG__tooltip strong,.InteractiveStallBooking-module__6RJ-cG__tooltip span{display:block}.InteractiveStallBooking-module__6RJ-cG__tooltip strong{margin-bottom:4px;font-size:13px;font-weight:600}.InteractiveStallBooking-module__6RJ-cG__tooltip span{color:#ffffffbd;font-size:12px;line-height:1.45}.InteractiveStallBooking-module__6RJ-cG__modalBackdrop{z-index:90;opacity:0;pointer-events:none;background:#2f2d2994;place-items:center;padding:20px;transition:opacity .18s;display:grid;position:fixed;inset:0}.InteractiveStallBooking-module__6RJ-cG__modalOpen{opacity:1;pointer-events:auto}.InteractiveStallBooking-module__6RJ-cG__modal{background:#fff;border-radius:24px;width:min(620px,100%);max-height:min(780px,100vh - 40px);padding:24px;position:relative;overflow-y:auto;box-shadow:0 28px 80px #2f2d2947}.InteractiveStallBooking-module__6RJ-cG__modalClose{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#f8f6f1;border-radius:999px;font-size:24px;line-height:1;position:absolute;top:14px;right:16px}.InteractiveStallBooking-module__6RJ-cG__modal h2{color:#2f2d29;letter-spacing:-.05em;margin:12px 44px 8px 0;font-size:clamp(28px,4vw,42px);font-weight:600;line-height:1}.InteractiveStallBooking-module__6RJ-cG__modal p{color:var(--muted);margin:0 0 16px}.InteractiveStallBooking-module__6RJ-cG__bookingForm{gap:12px;display:grid}.InteractiveStallBooking-module__6RJ-cG__formGrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.InteractiveStallBooking-module__6RJ-cG__bookingForm label{color:var(--muted);gap:7px;font-size:13px;font-weight:600;display:grid}.InteractiveStallBooking-module__6RJ-cG__bookingForm input,.InteractiveStallBooking-module__6RJ-cG__bookingForm textarea{width:100%;color:var(--ink);resize:vertical;background:#f8f6f1;border:1px solid #2f2d2929;border-radius:13px;outline:none;padding:12px 13px}.InteractiveStallBooking-module__6RJ-cG__bookingForm input:focus,.InteractiveStallBooking-module__6RJ-cG__bookingForm textarea:focus{border-color:var(--vinyas-teal);box-shadow:0 0 0 3px #2f757f1f}.InteractiveStallBooking-module__6RJ-cG__toast{z-index:100;opacity:0;color:#fff;background:#2f2d29;border:1px solid #ffffff29;border-radius:16px;width:min(520px,100% - 32px);padding:14px 16px;font-size:14px;line-height:1.5;transition:transform .22s,opacity .22s;position:fixed;bottom:22px;left:50%;transform:translate(-50%,130%);box-shadow:0 18px 44px #2f2d294d}.InteractiveStallBooking-module__6RJ-cG__toastShow{opacity:1;transform:translate(-50%)}@media (max-width:1180px){.InteractiveStallBooking-module__6RJ-cG__bookingShell{grid-template-columns:1fr}.InteractiveStallBooking-module__6RJ-cG__sidePanel{min-height:auto;position:relative;top:auto}}@media (max-width:760px){.InteractiveStallBooking-module__6RJ-cG__page{padding:14px 10px}.InteractiveStallBooking-module__6RJ-cG__layoutCard{padding:10px}.InteractiveStallBooking-module__6RJ-cG__toolbar{grid-template-columns:1fr}.InteractiveStallBooking-module__6RJ-cG__filterButtons{justify-content:flex-start}.InteractiveStallBooking-module__6RJ-cG__filterBtn{white-space:nowrap}.InteractiveStallBooking-module__6RJ-cG__mapFrame{border-radius:14px}.InteractiveStallBooking-module__6RJ-cG__mapCanvas{width:100%;min-width:0;max-width:100%}.InteractiveStallBooking-module__6RJ-cG__sidePanel{padding:14px}.InteractiveStallBooking-module__6RJ-cG__detailGrid,.InteractiveStallBooking-module__6RJ-cG__formGrid,.InteractiveStallBooking-module__6RJ-cG__stats{grid-template-columns:1fr}}.InteractiveStallBooking-module__6RJ-cG__cellAvailable{background:#10b9810f!important;border:1.5px solid #10b981!important}.InteractiveStallBooking-module__6RJ-cG__cellAvailable:after{opacity:.95!important;color:#065f46!important;background:#ecfdf5!important;border-color:#a7f3d0!important}.InteractiveStallBooking-module__6RJ-cG__cellBooked{background:#ef444426!important;border:1.5px solid #ef4444!important}.InteractiveStallBooking-module__6RJ-cG__cellBooked:after{opacity:.95!important;color:#991b1b!important;background:#fee2e2!important;border-color:#fca5a5!important}.InteractiveStallBooking-module__6RJ-cG__cellReserved{background:#f9731626!important;border:1.5px solid #f97316!important}.InteractiveStallBooking-module__6RJ-cG__cellReserved:after{opacity:.95!important;color:#9a3412!important;background:#ffedd5!important;border-color:#fed7aa!important}.InteractiveStallBooking-module__6RJ-cG__cellPremium{background:#3b82f614!important;border:1.5px solid #3b82f6!important}.InteractiveStallBooking-module__6RJ-cG__cellPremium:after{opacity:.95!important;color:#1e40af!important;background:#eff6ff!important;border-color:#bfdbfe!important}.InteractiveStallBooking-module__6RJ-cG__cellCorner{background:#eab30814!important;border:1.5px solid #eab308!important}.InteractiveStallBooking-module__6RJ-cG__cellCorner:after{opacity:.95!important;color:#854d0e!important;background:#fef9c3!important;border-color:#fef08a!important}.InteractiveStallBooking-module__6RJ-cG__cellCornerSpine{background:#8b5cf614!important;border:1.5px solid #8b5cf6!important}.InteractiveStallBooking-module__6RJ-cG__cellCornerSpine:after{opacity:.95!important;color:#5b21b6!important;background:#f5f3ff!important;border-color:#ddd6fe!important}.InteractiveStallBooking-module__6RJ-cG__cellAvailable:hover,.InteractiveStallBooking-module__6RJ-cG__cellAvailable.InteractiveStallBooking-module__6RJ-cG__activeHotspot,.InteractiveStallBooking-module__6RJ-cG__cellBooked:hover,.InteractiveStallBooking-module__6RJ-cG__cellBooked.InteractiveStallBooking-module__6RJ-cG__activeHotspot,.InteractiveStallBooking-module__6RJ-cG__cellReserved:hover,.InteractiveStallBooking-module__6RJ-cG__cellReserved.InteractiveStallBooking-module__6RJ-cG__activeHotspot,.InteractiveStallBooking-module__6RJ-cG__cellPremium:hover,.InteractiveStallBooking-module__6RJ-cG__cellPremium.InteractiveStallBooking-module__6RJ-cG__activeHotspot,.InteractiveStallBooking-module__6RJ-cG__cellCorner:hover,.InteractiveStallBooking-module__6RJ-cG__cellCorner.InteractiveStallBooking-module__6RJ-cG__activeHotspot,.InteractiveStallBooking-module__6RJ-cG__cellCornerSpine:hover,.InteractiveStallBooking-module__6RJ-cG__cellCornerSpine.InteractiveStallBooking-module__6RJ-cG__activeHotspot{z-index:5;transform:scale(1.03);box-shadow:0 0 0 3px #2f2d2933,0 12px 24px #413a3126!important}.InteractiveStallBooking-module__6RJ-cG__btnAll.InteractiveStallBooking-module__6RJ-cG__active{background:var(--vinyas-purple)!important;border-color:#64284266!important;box-shadow:0 8px 18px #64284224!important}.InteractiveStallBooking-module__6RJ-cG__btnCorner{color:#854d0e!important;border-color:#eab30866!important}.InteractiveStallBooking-module__6RJ-cG__btnCorner:hover{background:#eab30814!important}.InteractiveStallBooking-module__6RJ-cG__btnCorner.InteractiveStallBooking-module__6RJ-cG__active{color:#fff!important;background:#eab308!important;border-color:#ca8a04!important;box-shadow:0 8px 18px #eab30833!important}.InteractiveStallBooking-module__6RJ-cG__btnCornerSpine{color:#5b21b6!important;border-color:#8b5cf666!important}.InteractiveStallBooking-module__6RJ-cG__btnCornerSpine:hover{background:#8b5cf614!important}.InteractiveStallBooking-module__6RJ-cG__btnCornerSpine.InteractiveStallBooking-module__6RJ-cG__active{color:#fff!important;background:#8b5cf6!important;border-color:#7c3aed!important;box-shadow:0 8px 18px #8b5cf633!important}.InteractiveStallBooking-module__6RJ-cG__btnPremium{color:#1e40af!important;border-color:#3b82f666!important}.InteractiveStallBooking-module__6RJ-cG__btnPremium:hover{background:#3b82f614!important}.InteractiveStallBooking-module__6RJ-cG__btnPremium.InteractiveStallBooking-module__6RJ-cG__active{color:#fff!important;background:#3b82f6!important;border-color:#2563eb!important;box-shadow:0 8px 18px #3b82f633!important}.InteractiveStallBooking-module__6RJ-cG__btnBooked{color:#991b1b!important;border-color:#ef444466!important}.InteractiveStallBooking-module__6RJ-cG__btnBooked:hover{background:#ef444414!important}.InteractiveStallBooking-module__6RJ-cG__btnBooked.InteractiveStallBooking-module__6RJ-cG__active{color:#fff!important;background:#ef4444!important;border-color:#dc2626!important;box-shadow:0 8px 18px #ef444433!important}.InteractiveStallBooking-module__6RJ-cG__btnAvailable{color:#065f46!important;border-color:#10b98166!important}.InteractiveStallBooking-module__6RJ-cG__btnAvailable:hover{background:#10b98114!important}.InteractiveStallBooking-module__6RJ-cG__btnAvailable.InteractiveStallBooking-module__6RJ-cG__active{color:#fff!important;background:#10b981!important;border-color:#059669!important;box-shadow:0 8px 18px #10b98133!important}.InteractiveStallBooking-module__6RJ-cG__btnReserved{color:#9a3412!important;border-color:#f9731666!important}.InteractiveStallBooking-module__6RJ-cG__btnReserved:hover{background:#f9731614!important}.InteractiveStallBooking-module__6RJ-cG__btnReserved.InteractiveStallBooking-module__6RJ-cG__active{color:#fff!important;background:#f97316!important;border-color:#ea580c!important;box-shadow:0 8px 18px #f9731633!important}
.map-page{width:100%;font-family:var(--font-poppins), sans-serif;background:0 0;padding:16px 0 32px}.map-wrapper{flex-direction:column;align-items:center;width:100%;max-width:900px;margin:0 auto;padding:0 12px;display:flex}.map-title{color:#1a1a2e;letter-spacing:-.3px;margin-bottom:4px;font-size:20px;font-weight:700}.map-subtitle{color:#6b7280;margin-bottom:16px;font-size:13px}.legend{flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:16px;display:flex}.legend-item{color:#374151;align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}.legend-dot{border:1.5px solid #aaa;border-radius:3px;flex-shrink:0;width:18px;height:14px}.l-available{background:#d1fae5;border-color:#10b981}.l-booked{background:#fee2e2;border-color:#ef4444}.l-reserved{background:#ffedd5;border-color:#f97316}.l-premium{background:#eff6ff;border-color:#3b82f6}.l-corner{background:#fef9c3;border-color:#eab308}.l-corner-spine{background:#f5f3ff;border-color:#8b5cf6}.l-special{background:#fef3c7;border-color:#f59e0b}.hall-outer{box-sizing:border-box;background:#b8ccec;border:2.5px solid #374151;border-radius:4px;width:100%;padding:10px 10px 0;position:relative}.north-road{text-align:center;color:#374151;letter-spacing:2px;margin-bottom:6px;font-size:10px;font-weight:700}.stall-block{flex-direction:column;gap:0;display:flex}.stall-row{gap:0;display:flex}.h-aisle{flex-shrink:0;width:100%;height:28px}.block-indent{width:calc(85.7143% + 2.85714px);margin-left:calc(14.2857% - 2.85714px);margin-right:0}.stall{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;box-sizing:border-box;background:#d1fae5;border:1.5px solid #374151;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:52px;padding:4px 2px;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;position:relative}.stall+.stall{border-left:none}.stall-row+.stall-row .stall{border-top:none}.stall:hover{z-index:20;transform:scale(1.06);box-shadow:0 4px 14px #0000002e;border-width:1.5px!important;border-color:#2563eb!important}.stall.available{background:#d1fae5;border-color:#10b981!important}.stall.booked{cursor:not-allowed;background:#fee2e2;border-color:#ef4444!important}.stall.booked:hover{box-shadow:0 4px 14px #ef444433;border-color:#ef4444!important}.stall.reserved{background:#ffedd5;border-color:#f97316!important}.stall.premium{background:#eff6ff;border-color:#3b82f6!important}.stall.corner{background:#fef9c3;border-color:#eab308!important}.stall.corner-spine{background:#f5f3ff;border-color:#8b5cf6!important}.stall.special{background:#fef3c7}.stall.special:hover{box-shadow:none;transform:none;border-color:#374151!important}.stall.registration{background:#f3f4f6}.stall.registration:hover{box-shadow:none;transform:none;border-color:#374151!important}.stall.highlighted{z-index:10;box-shadow:0 0 0 3px #2563eb66,0 0 10px #2563eb99!important}.stall.highlighted.corner-spine{background:#8b5cf6!important;border-color:#7c3aed!important}.stall.highlighted.corner-spine .stall-num{color:#fff!important}.stall.highlighted.corner{background:#eab308!important;border-color:#ca8a04!important}.stall.highlighted.corner .stall-num{color:#111827!important}.stall.highlighted.premium{background:#3b82f6!important;border-color:#2563eb!important}.stall.highlighted.premium .stall-num{color:#fff!important}.stall.highlighted.booked{background:#ef4444!important;border-color:#dc2626!important}.stall.highlighted.booked .stall-num{color:#fff!important}.stall.highlighted.booked .stall-booked-tag{color:#fee2e2!important}.stall.highlighted.reserved{background:#f97316!important;border-color:#ea580c!important}.stall.highlighted.reserved .stall-num{color:#fff!important}.stall.highlighted.reserved .stall-booked-tag{color:#ffedd5!important}.stall.highlighted.available{background:#10b981!important;border-color:#059669!important}.stall.highlighted.available .stall-num{color:#fff!important}.stall-num{color:#111827;pointer-events:none;font-size:13px;font-weight:700;line-height:1}.stall.booked .stall-num{color:#374151;font-size:12px}.stall-booked-tag{color:#dc2626;pointer-events:none;margin-top:2px;font-size:10px;font-weight:800;line-height:1}.stall-text{color:#92400e;pointer-events:none;text-align:center;font-size:11px;font-weight:600;line-height:1.3}.stall.special .stall-text{color:#92400e}.stall.wide-2{flex:2}.stall.wide-3{flex:3}.stall.tall-2{min-height:104px}.stall.reg-stall{flex:0 0 52px;min-height:52px}.stock-yard{text-align:center;color:#6b7280;letter-spacing:.5px;background:#e2e8f0;border:1px dashed #94a3b8;margin-top:10px;padding:8px;font-size:11px;font-weight:600}.side-label{color:#374151;white-space:nowrap;font-size:10px;font-weight:700;position:absolute}.panel-overlay{z-index:99999;pointer-events:none;background:0 0;justify-content:center;align-items:center;padding:20px;transition:background .25s;display:flex;position:fixed;inset:0}.panel-overlay.open{pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006}.panel-drawer{opacity:0;z-index:100000;background:#fff;border-radius:20px;flex-direction:column;width:540px;max-width:100%;max-height:90vh;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow-y:auto;transform:scale(.95)translateY(10px);box-shadow:0 25px 50px -12px #00000040}.panel-overlay.open .panel-drawer{opacity:1;transform:scale(1)translateY(0)}.panel-header{background:#f9fafb;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:flex-start;padding:24px 20px 16px;display:flex}.panel-stall-id{color:#111827;margin-bottom:6px;font-size:20px;font-weight:700}.panel-badge{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.panel-badge.available{color:#065f46;background:#d1fae5}.panel-badge.booked{color:#991b1b;background:#fee2e2}.panel-badge.special{color:#92400e;background:#fef3c7}.panel-close{cursor:pointer;color:#6b7280;background:#f3f4f6;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:background .15s;display:flex}.panel-close:hover{color:#111827;background:#e5e7eb}.panel-details{border-bottom:1px solid #f3f4f6;padding:16px 20px}.panel-row{border-bottom:1px solid #f9fafb;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}.panel-row:last-child{border-bottom:none}.panel-row span:first-child{color:#6b7280}.panel-row span:last-child,.panel-row strong{color:#111827;font-weight:500}.panel-row strong{color:#2563eb;font-size:16px}.panel-form{flex-direction:column;flex:1;padding:20px;display:flex}.panel-form-title{color:#111827;margin-bottom:16px;font-size:15px;font-weight:700}.panel-form label{color:#6b7280;margin-top:12px;margin-bottom:5px;font-size:12px;font-weight:500;display:block}.panel-form label:first-of-type{margin-top:0}.panel-form input{color:#111827;box-sizing:border-box;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-size:14px;transition:border-color .15s}.panel-form input:focus{border-color:#2563eb}.panel-btns{gap:10px;margin-top:20px;display:flex}.btn-cancel{color:#6b7280;cursor:pointer;background:0 0;border:1.5px solid #d1d5db;border-radius:8px;flex:1;padding:10px;font-size:14px;transition:background .15s}.btn-cancel:hover{background:#f3f4f6}.btn-confirm{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;flex:2;padding:10px;font-size:14px;font-weight:600;transition:background .15s}.btn-confirm:hover{background:#1d4ed8}.panel-booked-msg,.panel-special-msg{border-radius:10px;align-items:flex-start;gap:12px;margin:20px;padding:16px;font-size:14px;line-height:1.5;display:flex}.panel-booked-msg{color:#991b1b;background:#fef2f2}.panel-special-msg{color:#92400e;background:#fffbeb}.panel-booked-msg svg,.panel-special-msg svg{flex-shrink:0}.success-toast{color:#fff;z-index:9000;white-space:nowrap;background:#065f46;border-radius:10px;padding:13px 24px;font-size:14px;font-weight:500;transition:bottom .35s cubic-bezier(.175,.885,.32,1.275);position:fixed;bottom:-70px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0003}.success-toast.show{bottom:28px}.btn-blueprint{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000000d}.btn-blueprint:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 6px #00000014}.blueprint-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.blueprint-modal{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:90vw;height:90vh;padding:8px;display:flex;position:relative;box-shadow:0 20px 40px #0000004d}.blueprint-iframe{border:none;border-radius:8px;width:100%;height:100%;transition:opacity .3s}.pdf-loader{color:#6b7280;flex-direction:column;align-items:center;gap:12px;font-size:14px;font-weight:500;display:flex;position:absolute}.spinner{border:4px solid #f3f4f6;border-top-color:#2563eb;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.blueprint-close{color:#fff;cursor:pointer;background:#111827;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:transform .2s;display:flex;position:absolute;top:-16px;right:-16px;box-shadow:0 4px 12px #0003}.blueprint-close:hover{transform:scale(1.1)}.error-text{color:#dc2626;margin-top:4px;font-size:11px;font-weight:500;line-height:1.4}input.input-error{background-color:#fef2f2!important;border-color:#ef4444!important}.submit-error{color:#991b1b;background-color:#fef2f2;border:1.5px solid #fecaca;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px;font-size:13px;font-weight:500;line-height:1.4;display:flex}.submit-error svg{color:#ef4444;flex-shrink:0}.spinner-btn{width:16px;height:16px;animation:1s linear infinite spin}.panel-name-row{gap:12px;width:100%;margin-top:12px;display:flex}.panel-name-col{flex:1;min-width:0}@media (max-width:600px){.panel-overlay{align-items:center;padding:12px}.panel-drawer{border-radius:16px;width:100%;max-width:100%;max-height:88vh}.panel-header{padding:18px 16px 14px}.panel-stall-id{font-size:18px}.panel-details{padding:12px 16px}.panel-row{padding:7px 0;font-size:13px}.panel-form{padding:14px 16px 16px}.panel-form-title{margin-bottom:12px;font-size:14px}.panel-form label{margin-top:10px;font-size:11px}.panel-form input{padding:10px 12px;font-size:16px}.panel-name-row{flex-direction:row;gap:8px}.panel-btns{gap:8px;margin-top:14px}.btn-cancel,.btn-confirm{padding:11px 8px;font-size:14px}}
