:root{color-scheme:dark;font-family:Bahnschrift,Segoe UI Variable Text,Trebuchet MS,sans-serif;line-height:1.5;font-weight:400;color:#f4f5f7;background:radial-gradient(circle at top left,rgba(198,255,41,.18),transparent 28%),radial-gradient(circle at top right,rgba(208,80,255,.22),transparent 30%),linear-gradient(180deg,#080a10,#10131c);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-soft: rgba(19, 22, 31, .86);--bg-card: rgba(24, 27, 38, .9);--line: rgba(255, 255, 255, .08);--text-muted: #9ea7b8;--lime: #b7ff27;--lime-soft: rgba(183, 255, 39, .18);--magenta: #d84dff;--magenta-soft: rgba(216, 77, 255, .18);--cyan: #49f3ff;--cyan-soft: rgba(73, 243, 255, .18);--danger: #ff4f79;--shadow-neon: 0 0 36px rgba(183, 255, 39, .18)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,select,textarea{font:inherit}button{border:none;cursor:pointer}.app-shell{min-height:100vh;padding:24px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 28px;margin-bottom:24px;border:1px solid var(--line);border-radius:28px;background:#0a0c12e0;box-shadow:var(--shadow-neon)}.topbar h1,.hero-copy h2,.section-heading h2,.section-heading h3,.admin-intro h2,.booking-modal-header h3{margin:0;font-family:Arial Black,Bahnschrift,sans-serif;letter-spacing:.04em;text-transform:uppercase}.topbar-nav{display:flex;gap:12px;flex-wrap:wrap}.topbar-link{padding:12px 18px;border-radius:999px;color:#f3f6fb;text-decoration:none;background:#ffffff0d;border:1px solid transparent;transition:.2s ease}.topbar-link:hover,.topbar-link.is-active{color:#05070c;background:linear-gradient(135deg,var(--lime),#fff886);box-shadow:0 0 28px #b7ff2759}.eyebrow{margin:0 0 8px;color:var(--lime);font-size:.78rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.page{display:flex;flex-direction:column;gap:24px}.hero-panel,.admin-intro,.seat-map-panel,.admin-card,.loading-panel{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,#0f121bf0,#0c0f16e6)}.hero-panel:before,.admin-card:before,.seat-map-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(183,255,39,.08),transparent 35%,rgba(216,77,255,.1));pointer-events:none}.hero-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:24px;padding:32px}.hero-copy{max-width:780px}.hero-copy p{color:var(--text-muted);max-width:620px}.hero-highlights,.admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.metric-card{padding:20px;border-radius:22px;background:#ffffff0a;border:1px solid rgba(183,255,39,.14)}.metric-card strong{display:block;margin-bottom:4px;font-size:2rem;color:#fff}.metric-card span{color:var(--text-muted)}.rules-panel{position:relative;padding:28px;border-radius:24px;background:linear-gradient(160deg,#b7ff2726,#141824eb 44%),linear-gradient(140deg,#d84dff2e,#0d0f16f2);border:1px solid rgba(216,77,255,.18)}.rules-panel ul{margin:0;padding-left:20px;color:#f0f2f8}.rules-panel li+li{margin-top:14px}.success-banner,.error-banner{padding:16px 20px;border-radius:18px;border:1px solid var(--line)}.success-banner{background:#b7ff271f;color:#f4ffd0}.error-banner,.form-error{color:#ffd7e4;background:#ff4f791f}.seat-map-panel,.admin-card,.admin-intro{padding:28px}.availability-panel{padding:24px;border:1px solid var(--line);border-radius:24px;background:#0c1018db}.availability-panel .section-heading{margin-bottom:16px}.availability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.availability-panel .field-group{padding:12px 14px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.availability-panel .field-group span{color:#9fa8ba}.availability-panel .field-group input{color:#f4f7ff}.availability-panel .error-banner{margin-top:12px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.section-heading p:last-child,.map-room-header p,.booking-seat-subtitle,.admin-intro p,.booking-main p,.admin-seat span{color:var(--text-muted)}.legend{display:flex;gap:14px;flex-wrap:wrap}.legend-item{display:inline-flex;gap:8px;align-items:center;padding:10px 12px;border-radius:999px;background:#ffffff0a;color:var(--text-muted)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.available{background:var(--lime)}.legend-dot.booked{background:var(--danger)}.legend-dot.maintenance{background:#8b92a4}.legend-dot.upcoming{background:var(--cyan)}.club-map{overflow-x:auto;padding-bottom:8px}.desktop-map-layout{display:block}.club-map.fit-map{overflow-x:hidden}.plan-map-scroll{border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#2c2c2c}.arena-image-map{position:relative;min-width:1180px;aspect-ratio:1886 / 834}.arena-image-map.fit-map{min-width:0;width:100%}.arena-image-map.mobile-zoom-map{transform-origin:top left;will-change:transform}.arena-map-image{display:block;width:100%;height:100%;object-fit:contain}.image-seat{position:absolute;display:block;padding:0;margin:0;background:transparent;border:none;transform:translate(-50%,-50%);transition:transform .14s ease,filter .14s ease}.image-seat:hover:not(:disabled){transform:translate(-50%,-50%) scale(1.06);filter:brightness(1.08)}.image-seat.is-disabled,.image-seat:disabled{cursor:not-allowed}.image-seat-panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(150,255,139,.9);box-shadow:inset 0 0 0 1px #ffffff14}.image-seat-bar{position:absolute;left:18%;top:18%;bottom:18%;width:4%;background:#f1fff080}.image-seat-number{position:relative;z-index:1;font-size:clamp(.44rem,.48vw,.72rem);font-weight:700;color:#f3fff1;line-height:1}.image-seat-chair{position:absolute;top:50%;width:18%;aspect-ratio:1;border-radius:50%;transform:translateY(-50%)}.image-seat-chair:before,.image-seat-chair:after{content:"";position:absolute;top:50%;border-radius:50%;transform:translateY(-50%)}.image-seat-chair:before{width:55%;height:55%;left:28%}.image-seat-chair:after{width:75%;height:20%;left:-8%;border-radius:999px}.image-seat.dir-right .image-seat-chair{right:-22%}.image-seat.dir-left .image-seat-chair{left:-22%}.image-seat.dir-left .image-seat-chair:after{left:34%}.image-seat.dir-top .image-seat-chair{left:50%;top:-18%;transform:translate(-50%)}.image-seat.dir-top .image-seat-chair:before,.image-seat.dir-top .image-seat-chair:after{top:auto;left:50%;transform:translate(-50%)}.image-seat.dir-top .image-seat-chair:before{top:24%}.image-seat.dir-top .image-seat-chair:after{top:58%;width:20%;height:75%}.image-seat.status-available .image-seat-panel{background:#24d133}.image-seat.status-booked .image-seat-panel{background:#d92f67;border-color:#ff7aa6}.image-seat.status-maintenance .image-seat-panel{background:#5a5a5a;border-color:#8f8f8f}.image-seat.status-upcoming .image-seat-panel{background:#0fb8c8;border-color:#8af6ff}.image-seat.status-available .image-seat-chair,.image-seat.status-available .image-seat-chair:before,.image-seat.status-available .image-seat-chair:after{background:#42cb5d}.image-seat.status-booked .image-seat-chair,.image-seat.status-booked .image-seat-chair:before,.image-seat.status-booked .image-seat-chair:after{background:#f0488b}.image-seat.status-maintenance .image-seat-chair,.image-seat.status-maintenance .image-seat-chair:before,.image-seat.status-maintenance .image-seat-chair:after{background:#848484}.image-seat.status-upcoming .image-seat-chair,.image-seat.status-upcoming .image-seat-chair:before,.image-seat.status-upcoming .image-seat-chair:after{background:#69eaff}.image-seat.is-selected .image-seat-panel{box-shadow:inset 0 0 0 1px #ffffff14,0 0 0 2px #ffffff59,0 0 22px #ffffff38}.seat-button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:68px;padding:14px 12px;border-radius:18px;color:#fff;border:1px solid rgba(255,255,255,.05);background:#ffffff0d;transition:transform .16s ease,box-shadow .16s ease}.seat-button:hover:not(:disabled){transform:translateY(-2px)}.seat-button.status-available{background:linear-gradient(180deg,#b7ff2742,#375f086b);box-shadow:0 0 24px #b7ff2729}.seat-button.status-booked{background:linear-gradient(180deg,#d84dff47,#59146d73);box-shadow:0 0 24px #d84dff33}.seat-button.status-maintenance{background:linear-gradient(180deg,#777e9259,#3c425480);box-shadow:none;opacity:.7}.seat-button:disabled,.arena-seat:disabled{cursor:not-allowed}.seat-id{font-size:1.1rem;font-weight:800}.seat-meta{font-size:.85rem;color:#ffffffd1}.loading-panel{padding:48px 28px;text-align:center;color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:#04060ac2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.booking-modal{position:relative;width:min(100%,520px);max-height:min(92vh,720px);overflow:hidden;padding:16px;border-radius:24px;border:1px solid rgba(183,255,39,.16);background:linear-gradient(180deg,#7affa5eb,#54d4c4eb),linear-gradient(135deg,rgba(255,255,255,.2),transparent 40%);color:#10131a;box-shadow:0 28px 80px #00000073}.booking-modal,.booking-modal label,.booking-modal p,.booking-modal span,.booking-modal input,.booking-modal textarea,.booking-modal button{color:#081018}.booking-modal .eyebrow{color:#1d2b16!important}.booking-modal .booking-seat-subtitle{color:#263325!important;font-weight:700}.booking-modal .selected-range-note{color:#081018!important;font-weight:700}.booking-modal .field-group span{color:#0d1510!important;font-weight:700}.booking-modal .field-group input,.booking-modal .field-group textarea{color:#05070c!important}.booking-modal .field-group input::placeholder,.booking-modal .field-group textarea::placeholder{color:#05070c94!important}.modal-close{position:absolute;top:16px;right:18px;width:40px;height:40px;border-radius:50%;background:#10131a24;color:#10131aeb;font-size:1.8rem}.booking-modal-header{margin-bottom:6px;padding-right:48px}.booking-modal-header .eyebrow{color:#1d2b16}.booking-modal-header h3{color:#020305}.booking-modal .booking-seat-subtitle{color:#263325;font-weight:600}.active-booking-note{margin-top:16px;padding:14px 16px;border-radius:18px;background:#10131a29;color:#10131af5}.selected-range-note{margin-top:10px;padding:9px 11px;border-radius:12px;background:#10131a29;color:#091018;font-weight:600;font-size:.94rem}.booking-form{display:flex;flex-direction:column;gap:10px;margin-top:12px}.booking-form .split-grid{gap:10px}.booking-time-grid,.split-grid,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-group{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:20px;background:#10131a1f}.field-group span{color:#16231c;font-weight:600}.field-group input,.field-group select,.field-group textarea{border:none;background:transparent;color:#05070c;outline:none;font-size:.96rem}.field-group input::placeholder,.field-group textarea::placeholder{color:#0810189e}.booking-modal .primary-action{color:#05070c;background:linear-gradient(135deg,#fff,#f1f4f8)}.field-time{justify-content:center;min-height:92px}.field-time input{font-size:1.2rem;font-weight:700}.checkbox-row{display:flex;gap:12px;align-items:flex-start;color:#10131ad1}.checkbox-row input{margin-top:4px}.primary-action,.secondary-action{padding:12px 16px;border-radius:18px;transition:.16s ease}.primary-action{margin-top:4px;background:linear-gradient(135deg,#fff,#f6ead8);color:#10131a;font-weight:700}.field-error-inline{color:#940f2eeb;font-size:.82rem;line-height:1.25}.primary-action:hover{transform:translateY(-1px)}.secondary-action{background:#ffffff0f;color:#f5f7fb;border:1px solid rgba(255,255,255,.08)}.secondary-action.active,.secondary-action:hover{background:#b7ff2729;border-color:#b7ff2742}.secondary-action.danger:hover,.secondary-action.danger.active{background:#ff4f792e;border-color:#ff4f794d}.admin-metrics{margin-top:0}.metric-card.admin{border-color:#ffffff14}.admin-grid{align-items:start}.admin-stack{display:flex;flex-direction:column;gap:24px}.admin-access-page{align-items:center;justify-content:center;min-height:calc(100vh - 180px)}.admin-login-card{width:min(100%,460px);padding:28px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,#0f121bf0,#0c0f16e6);box-shadow:var(--shadow-neon)}.admin-login-card h2,.admin-login-card p:last-child{margin-top:0}.admin-login-form{display:flex;flex-direction:column;gap:12px;margin-top:20px}.admin-login-user-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.admin-login-card .field-group{background:#ffffff0d}.admin-login-card .field-group span{color:var(--text-muted)}.admin-login-card .field-group input{color:#f5f7fb}.admin-seat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-map-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.admin-booking-form{margin-top:18px;padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.07);background:#ffffff05}.admin-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-booking-form .field-group{background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.admin-booking-form .field-group span{color:#f4f7ffb8}.admin-booking-form .field-group input,.admin-booking-form .field-group textarea{color:#f5f7fb}.admin-booking-form .field-group input::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.2)}.admin-seat-grid-compact{margin-top:18px}.admin-seat-groups{display:flex;flex-direction:column;gap:18px;margin-top:18px}.admin-seat-group{padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.07);background:#ffffff05}.admin-seat-group-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.admin-seat-group-header span{color:var(--text-muted)}.admin-seat-list{display:flex;flex-direction:column;gap:10px}.admin-seat{display:flex;justify-content:space-between;gap:12px;padding:16px;border-radius:20px;border:1px solid var(--line);background:#ffffff08}.admin-seat-copy{display:flex;flex-direction:column;gap:4px}.admin-seat.status-booked{border-color:#d84dff33}.admin-seat.status-maintenance{border-color:#ff4f7933}.admin-seat.is-selected{border-color:#49f3ff73;box-shadow:0 0 0 1px #49f3ff2e}.admin-seat-actions,.booking-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-date-filter{display:flex;flex-direction:column;gap:6px;min-width:210px;padding:12px 14px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.admin-date-filter span,.admin-seat-focus span{color:var(--text-muted)}.admin-date-filter input{border:none;background:transparent;color:#f5f7fb;outline:none}.admin-seat-focus{margin-top:18px;padding:14px 16px;border-radius:18px;border:1px solid rgba(73,243,255,.14);background:#49f3ff14}.admin-page>*:not(.modal-backdrop),.user-page>*:not(.modal-backdrop){transition:filter .2s ease}.admin-page.has-modal>*:not(.modal-backdrop),.user-page.has-modal>*:not(.modal-backdrop){filter:blur(6px) saturate(.9);pointer-events:none}.booking-table{display:flex;flex-direction:column;gap:14px}.empty-state{padding:24px;border-radius:20px;border:1px dashed rgba(255,255,255,.12);color:var(--text-muted);background:#ffffff05}.booking-row{padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:#070a10b8;box-shadow:inset 0 1px #ffffff08}.booking-main{display:flex;justify-content:space-between;gap:12px;align-items:center}.booking-main strong{color:#f7f9ff}.booking-main p{color:#c8d0de}.status-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:.84rem;font-weight:700}.status-chip.pending{background:#ffce5429;color:#ffd66c}.status-chip.confirmed{background:#b7ff2729;color:#dbff8a}.status-chip.cancelled{background:#ff4f7929;color:#ffafc3}.status-chip.completed{background:#49f3ff29;color:#aef7ff}.booking-meta{display:flex;flex-wrap:wrap;gap:10px 16px;margin:14px 0;color:#d7deeb}.booking-meta span{color:inherit}@media (max-width: 1100px){.hero-panel,.admin-grid{grid-template-columns:1fr}.hero-highlights,.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 780px){.app-shell{padding:16px}.topbar,.hero-panel,.admin-intro,.admin-card{padding:20px}.seat-map-panel{margin-left:-16px;margin-right:-16px;padding:20px 20px 24px;border-left:none;border-right:none;border-radius:0}.booking-modal{padding:14px}.topbar{align-items:flex-start;flex-direction:column}.hero-highlights,.admin-metrics,.availability-grid,.booking-time-grid,.split-grid,.admin-seat-grid,.admin-booking-grid{grid-template-columns:1fr}.section-heading,.booking-main,.admin-seat,.admin-seat-group-header{flex-direction:column;align-items:flex-start}.club-map{margin:0 -20px;overflow:hidden;touch-action:none}.club-map.mobile-zoom-shell{padding-bottom:0;overscroll-behavior:contain}.arena-image-map.mobile-zoom-map{min-width:0;width:100%;margin-left:0}}
