@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),url(/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-500-normal-T0SG181k.woff2) format("woff2"),url(/assets/montserrat-cyrillic-500-normal-CyGtXmN9.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-600-normal-CQEPC0hM.woff2) format("woff2"),url(/assets/montserrat-cyrillic-600-normal-DUglwBrH.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2) format("woff2"),url(/assets/montserrat-cyrillic-700-normal-BvLYcGP1.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-800-normal-DDmpGQGC.woff2) format("woff2"),url(/assets/montserrat-cyrillic-800-normal-B_mUCQ9O.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2) format("woff2"),url(/assets/montserrat-latin-800-normal-C3dfDxXV.woff) format("woff")}.venue-plan.map-shell{background:#1a2428;border:1px solid #3b4a4c;border-radius:9px;margin:0 18px 18px;padding:18px}.venue-plan .map-scroll{width:100%;aspect-ratio:1080 / 486;max-height:none;scrollbar-color:#617a74 #1a2428;scrollbar-width:thin;overflow:auto;cursor:grab;touch-action:none;border-radius:5px}.venue-plan .map-scroll.is-portrait{aspect-ratio:450 / 1080}.venue-plan .map-scroll.is-dragging{cursor:grabbing}.venue-plan .venue-map{display:block;height:auto;max-width:none}.venue-plan .venue-deck{fill:url(#venue-deck)}.venue-plan .plan-pool-coping{fill:#526867;stroke:#8ba19a;stroke-width:1}.venue-plan .plan-pool-water{fill:url(#venue-water);stroke:#7caaa1;stroke-width:.7}.venue-plan .plan-water-edge{fill:none;stroke:#77b5af;stroke-width:.8;opacity:.25}.venue-plan .plan-water-ripple{fill:none;stroke:#a0c7c5;stroke-width:1.1;opacity:.29;stroke-linecap:round}.venue-plan .plan-pool-title text{fill:#a6c3c0;font-size:12px;font-weight:500;letter-spacing:3px}.venue-plan .plan-pool-title path{fill:none;stroke:#8eb7b4;stroke-width:1.3;opacity:.65}.venue-plan .plan-water-caption{fill:#a2bdb8;font-size:9px;letter-spacing:.4px}.venue-plan .plan-water-arrow{fill:none;stroke:#a2bdb8;stroke-width:1;opacity:.75}.venue-plan .plan-wall-shadow{fill:none;stroke:#0c171b;stroke-width:10;stroke-linejoin:round;opacity:.5;transform:translateY(2px)}.venue-plan .plan-wall{fill:none;stroke:#9aa9a4;stroke-width:5.5;stroke-linecap:square;stroke-linejoin:round}.venue-plan .plan-bay-wall{fill:none;stroke:#83958e;stroke-width:3.2}.venue-plan .plan-railing{fill:none;stroke:#5d716c;stroke-width:1.6}.venue-plan .plan-rail-post{fill:none;stroke:#72857d;stroke-width:4}.venue-plan .plan-door-leaf{fill:none;stroke:#879d94;stroke-width:1.5;stroke-linecap:round}.venue-plan .plan-door-swing{fill:none;stroke:#59716a;stroke-width:1;stroke-dasharray:2 3;opacity:.7}.venue-plan .plan-lounge-floor{fill:#344441;opacity:.7}.venue-plan .plan-lounge-wall{fill:none;stroke:#9aa9a4;stroke-width:5;stroke-linejoin:round}.venue-plan .plan-lounge-threshold{fill:none;stroke:#59776b;stroke-width:1.5}.venue-plan .plan-wayfinding{fill:#a0b1a9}.venue-plan .plan-wayfinding path{fill:none;stroke:#a0b1a9;stroke-width:1.3}.venue-plan .plan-wayfinding text{font-size:9px;font-weight:500;letter-spacing:1.4px}.venue-plan .map-spot{--seat-cushion: #65bf8d;--seat-pillow: #9bdab3;--seat-frame: #2e5542;--seat-border: #a0d6b7;--seat-seam: #2f7650;--seat-number: #102e20;cursor:pointer;outline:none}.venue-plan .map-spot.busy{--seat-cushion: #c68a77;--seat-pillow: #e0b29d;--seat-frame: #704a40;--seat-border: #e0b39f;--seat-seam: #91634f;--seat-number: #42291e}.venue-plan .map-spot.blocked,.venue-plan .map-spot.inactive{--seat-cushion: #758883;--seat-pillow: #9fac9f;--seat-frame: #4a5a53;--seat-border: #a3b4a6;--seat-seam: #52675c;--seat-number: #13251d}.venue-plan .map-spot.selected{--seat-cushion: #20e95e;--seat-pillow: #a6ffc0;--seat-frame: #107d37;--seat-border: #7cff9b;--seat-seam: #087c31}.venue-plan .seat-hit-target{fill:transparent;stroke:none;pointer-events:all}.venue-plan .seat-drawing{filter:url(#venue-seat-shadow)}.venue-plan .map-spot.selected .seat-drawing,.venue-plan .map-spot:focus-visible .seat-drawing{filter:drop-shadow(0 0 3px #70ff86) drop-shadow(0 0 7px #20df52)}.venue-plan .seat-shadow{fill:#0b1718;opacity:.55;transform:translateY(1px)}.venue-plan .seat-frame{fill:var(--seat-frame);stroke:var(--seat-border);stroke-width:1}.venue-plan .seat-cushion{fill:var(--seat-cushion);stroke:none}.venue-plan .seat-headrest{fill:var(--seat-pillow);stroke:var(--seat-border);stroke-width:.5}.venue-plan .seat-seam{fill:none;stroke:var(--seat-seam);stroke-width:.75;stroke-linecap:round;opacity:.8}.venue-plan .lounger-feet{fill:none;stroke:#acc7b3;stroke-width:1.4;stroke-linecap:round}.venue-plan .recliner-arm{fill:none;stroke:var(--seat-border);stroke-width:3;stroke-linecap:round}.venue-plan .seat-back-outline{fill:none;stroke:var(--seat-border);stroke-width:2.7;stroke-linecap:round}.venue-plan .lounge-table{fill:#21382d;stroke:#74987d;stroke-width:.8}.venue-plan .lounge-table-edge{fill:none;stroke:#aac5ac;stroke-width:.5;opacity:.45}.venue-plan .map-spot .seat-number-badge{fill:#fff;stroke:#d9e5dd;stroke-width:.8;pointer-events:none}.venue-plan .map-spot .seat-number{fill:#16482c;font-size:10px;font-weight:800;letter-spacing:-.3px;pointer-events:none}.venue-plan .map-spot.lounge .seat-number{fill:#f8fff9;stroke:#1c3026;stroke-width:1.8;paint-order:stroke fill;font-size:8.5px;font-weight:800;letter-spacing:.1px}.venue-plan .map-controls{background:#253637ec;border-color:#657d73;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.venue-plan .map-controls button{color:#dce9df}.venue-plan .map-controls button:hover{background:#46604f}.venue-plan .map-touch-hint{display:none}@media(pointer:coarse){.venue-plan .map-scroll{overflow:hidden;touch-action:pan-y;cursor:auto}.venue-plan.map-shell{padding-bottom:72px}.venue-plan .map-controls{bottom:8px}.venue-plan .map-touch-hint{position:absolute;left:8px;right:8px;bottom:49px;display:block;margin:0;color:#a9bbb1;text-align:center;font-size:9px;line-height:1.4;pointer-events:none}}@media(max-width:570px){.venue-plan.map-shell{margin:0 3px 12px;padding:8px 5px 50px}.venue-plan .map-controls{bottom:9px}.venue-plan .venue-map{min-width:0}.venue-plan .mobile-map-labels{fill:#b6c9bf;pointer-events:none}.venue-plan .mobile-entrance-label{fill:#c3d5ca;font-size:10px;font-weight:700;letter-spacing:2px}.venue-plan .mobile-pool-label{fill:#a6c3c0;font-size:12px;font-weight:600;letter-spacing:2px}.venue-plan .mobile-water-label{fill:#a2bdb8;font-size:9px}.venue-plan .mobile-outdoor-label{font-size:8.5px;font-weight:600;letter-spacing:.8px}.venue-plan .mobile-restaurant-label{font-size:9px;font-weight:600;letter-spacing:1.3px}}@media(max-width:570px)and (pointer:coarse){.venue-plan.map-shell{padding-bottom:72px}}:root{font-family:Montserrat,Arial,sans-serif;color:#e9f4f5;background:#071820;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea,dialog{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{min-height:100vh;background:radial-gradient(circle at 82% 0%,#174450 0,#0b2833 33%,#071820 75%)}.topbar{height:78px;padding:0 clamp(20px,4.5vw,72px);border-bottom:1px solid #ffffff15;background:#071a22b8;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#24c8c430;color:#55e2d5}.brand strong{display:block;font-size:22px;font-weight:700;letter-spacing:-1.4px;line-height:1}.brand small{display:block;font-size:8px;letter-spacing:2.4px;color:#8ca8af;margin-top:6px}.topbar nav{height:100%;display:flex;gap:26px;align-items:center}.topbar nav a{font-size:13px;color:#94aeb5;height:100%;display:grid;place-items:center;border-bottom:2px solid transparent;white-space:nowrap}.topbar nav a:hover,.topbar nav a.nav-active{color:#eafafb;border-color:#56d7ca}.page{max-width:1520px;margin:auto;padding:35px clamp(20px,4.5vw,72px) 20px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{display:block;color:#53d9ce;font-weight:800;letter-spacing:2.3px;font-size:10px}.page-heading h1{font-size:clamp(30px,3.6vw,48px);font-weight:700;letter-spacing:-2.6px;margin:8px 0}.page-heading p{color:#9eb5ba;margin:0;font-size:14px}.live-tag{border:1px solid #5ed9bd46;background:#143d4299;border-radius:100px;color:#a7e7d7;padding:9px 14px;font-size:11px;white-space:nowrap}.live-tag span{display:inline-block;width:7px;height:7px;background:#5ff2b1;border-radius:50%;margin-right:8px;box-shadow:0 0 10px #63f3ad}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px;align-items:start}.main-column,.panel{border:1px solid #ffffff18;background:#102832b3;border-radius:18px;box-shadow:0 18px 60px #00121b40}.toolbar{min-height:94px;display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid #ffffff18;background:#17343f88}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:11px;font-weight:700;color:#9eb9be;display:flex;align-items:center;gap:7px}.field input,.field select,.field textarea{background:#0b2631;border:1px solid #3b6470;color:#e7f4f6;min-height:42px;border-radius:8px;padding:10px 12px;width:100%;outline:none;font-size:13px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#5adbcf;box-shadow:0 0 0 3px #5adbcf20}.field input::placeholder,.field textarea::placeholder{color:#688993}.field input[type=date],.field input[type=time]{color-scheme:dark}.inline-field{min-width:168px}.inline-field select,.inline-field input{border-color:#34535c;background:#0a222b}.toolbar-stat{margin-left:auto;display:flex;align-items:center;gap:8px;color:#9eb9be;font-size:12px;white-space:nowrap}.toolbar-stat strong{color:#e6faf3;font-size:21px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.free-dot{background:#5ce6a5;box-shadow:0 0 10px #5ce6a580}.busy-dot{background:#ff866e;box-shadow:0 0 10px #ff866e80}.map-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px 14px}.map-header h2{font-size:18px;letter-spacing:-.6px;margin:0 0 4px}.map-header p{margin:0;color:#8eadb5;font-size:11px}.legend{display:flex;gap:14px;flex-wrap:wrap}.legend span{font-size:10px;color:#9db8bb;display:flex;align-items:center;gap:6px}.legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.legend-free{background:#55dcaa}.legend-busy{background:#ff8e74}.legend-blocked{background:#8d99a2}.map-shell{position:relative;margin:0 16px 14px;border:1px solid #3b697248;border-radius:12px;overflow:hidden;background:#0c222b}.map-scroll{overflow:auto;scrollbar-color:#4d7780 #0a2028}.venue-map{display:block;min-width:760px;max-width:none;height:auto}.map-title{fill:#80a4ac;font-size:27px;letter-spacing:11px;font-weight:500;opacity:.5}.map-pool-label{fill:#8ebac4;font-size:15px;letter-spacing:6px;opacity:.65}.map-small{fill:#648c95;font-size:10px;letter-spacing:2px}.map-spot{outline:none;cursor:pointer}.map-spot>rect,.map-spot>circle{stroke-width:3;transition:fill .15s,stroke .15s}.map-spot.free>rect,.map-spot.free>circle{fill:#167762;stroke:#51dfac}.map-spot.busy>rect,.map-spot.busy>circle{fill:#9a4e4e;stroke:#ff8e74}.map-spot.blocked>rect,.map-spot.blocked>circle,.map-spot.inactive>rect,.map-spot.inactive>circle{fill:#4b6269;stroke:#8d9ea5}.map-spot.selected>rect,.map-spot.selected>circle,.map-spot:hover>rect,.map-spot:hover>circle,.map-spot:focus-visible>rect,.map-spot:focus-visible>circle{stroke:#fff;stroke-width:5;filter:drop-shadow(0 0 7px #7cf2d5)}.map-spot text{fill:#f3fffb;pointer-events:none;font-weight:800}.spot-back,.spot-detail{fill:none;stroke:#a6f3d7;stroke-width:3;pointer-events:none}.map-controls{position:absolute;right:14px;bottom:14px;display:flex;gap:4px;background:#0b232be8;border:1px solid #4a737a;border-radius:9px;padding:4px}.map-controls button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:#c5e4e5}.map-controls button:hover{background:#35606a}.map-footer{display:flex;justify-content:space-between;gap:20px;padding:0 24px 20px;color:#71949d;font-size:10px}.panel{padding:24px;min-height:560px}.empty-panel{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.empty-orb{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#127665,#183c57);color:#73ead1;margin-bottom:28px;box-shadow:0 15px 35px #021b2080}.panel h2{font-size:24px;letter-spacing:-1px;margin:9px 0 7px}.panel p{color:#98b1b8;line-height:1.6;font-size:12px;margin-top:0}.empty-panel p{font-size:13px}.panel-note{display:flex;align-items:center;gap:9px;color:#79c9bb;font-size:11px;background:#1b4a4b99;padding:12px;border-radius:8px;margin-top:20px}.panel-head{padding-bottom:18px;border-bottom:1px solid #ffffff1b}.panel-head p{margin-bottom:0}.availability-banner{display:flex;align-items:center;gap:8px;padding:12px 0;color:#9de6c9;font-size:12px}.availability-banner.unavailable{color:#ffc5b9}.day-slots{display:flex;flex-wrap:wrap;gap:7px;padding:11px 0 16px;border-bottom:1px solid #ffffff16}.day-slots strong{display:block;width:100%;font-size:11px;color:#8cb0b7}.day-slots span{font-size:10px;color:#b3cdd0;background:#244650;padding:6px 8px;border-radius:5px}.booking-form{display:grid;gap:14px;padding-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkbox-line,.type-checks label{display:flex;align-items:center;gap:8px;color:#a8c2c6;font-size:11px}.checkbox-line input,.addon-row input,.type-checks input{accent-color:#4bd6bd}.addon-list{padding-top:3px}.addon-list>strong{font-size:12px}.addon-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff13;font-size:11px;color:#b8d0d0}.addon-row span{display:flex;align-items:center;gap:8px}.addon-row b{white-space:nowrap}.price-box{padding:13px 15px;background:#0a242d;border:1px solid #3e6a674d;border-radius:9px;display:grid;gap:7px}.price-box div{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#94afb5}.price-box strong{color:#d8f2e9}.primary-button,.secondary-button{border:0;border-radius:9px;min-height:45px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:12px}.primary-button{background:linear-gradient(100deg,#40cfb7,#2d95af);color:#04242b;box-shadow:0 10px 24px #1bd2b420}.primary-button:hover{filter:brightness(1.1)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{background:#23565c;color:#ccf5ed;border:1px solid #479b9b;padding:0 14px}.secondary-button:hover{background:#2b6970}.form-hint{font-size:10px!important;margin:0!important}.form-message{background:#6d3b3b;color:#ffe0d9;padding:10px 12px;border-radius:8px;font-size:11px;line-height:1.5}.form-message.success{background:#1f594d;color:#d7fff0}.login-panel{display:flex;flex-direction:column;justify-content:center}.login-panel form{display:grid;gap:14px;margin-top:10px}.login-icon{width:52px;height:52px;border-radius:12px;background:#21545d;display:grid;place-items:center;color:#6de6d5;margin-bottom:20px}.tabs{display:flex;border-bottom:1px solid #ffffff1b;gap:16px;margin:16px 0}.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#8caeb4;font-size:12px;padding:10px 1px}.tabs button.active{border-color:#56d9cc;color:#eaf7f3}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.admin-stats div{padding:12px 8px;border:1px solid #ffffff16;border-radius:8px;background:#0b2730;display:grid;gap:4px;text-align:center}.admin-stats strong{font-size:20px;color:#7ee6c9}.admin-stats span{font-size:10px;color:#8ca9ad}.admin-selected{padding:15px 0;border-bottom:1px solid #ffffff16}.admin-selected h3,.list-heading h3{margin:0;font-size:14px}.admin-selected p{margin:4px 0 12px;font-size:10px}.admin-selected form{display:grid;gap:10px}.block-row{display:flex;justify-content:space-between;gap:8px;font-size:10px;padding:8px 0;color:#9bb9bb}.block-row button,.existing-addon button{background:transparent;color:#edab9a;border:0;font-size:10px}.list-heading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.list-heading span{font-size:11px;color:#a5c1c3}.bookings-list{display:grid;gap:9px;max-height:690px;overflow:auto}.booking-card{background:#0b2831;border:1px solid #ffffff1c;border-radius:10px;padding:12px}.booking-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.booking-card strong{font-size:11px}.booking-card p{margin:6px 0 2px;font-size:10px}.booking-card a{color:#8bdacc;font-size:11px}.badge{border-radius:20px;padding:4px 7px;font-size:9px;white-space:nowrap}.badge.pending{background:#745b2a;color:#ffe0a0}.badge.confirmed{background:#275d4a;color:#9cf0ce}.badge.cancelled{background:#55484d;color:#bcb4b5}.booking-more{font-size:10px;color:#8da8ae;line-height:1.5;margin-top:6px}.card-actions{display:flex;gap:12px;margin-top:9px}.card-actions button,.text-button,.logout{background:none;border:0;padding:0;color:#8ce1ce;font-size:10px;display:flex;align-items:center;gap:4px}.card-actions button:last-child{color:#eea395}.muted{font-size:11px;color:#92aeb2}.logout{margin-top:20px;color:#9fb9bd}.settings-panel{max-height:750px;overflow:auto;scrollbar-color:#486e75 #102832}.settings-panel form{display:grid;gap:10px}.settings-title{display:flex;align-items:center;gap:8px;color:#6ed9ca;margin:22px 0 12px}.settings-title h3{color:#e2f5f1;font-size:13px;margin:0}.settings-title:first-child{margin-top:8px}.rate-card{padding:12px 0;border-bottom:1px solid #ffffff1a}.rate-card>strong{font-size:11px}.rate-card .form-grid{margin:9px 0}.existing-addon{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #ffffff18}.existing-addon strong,.existing-addon small{display:block;font-size:11px}.existing-addon small{font-size:9px;color:#93aeb4;margin-top:3px}.addon-create{padding-top:12px}.type-checks{display:grid;gap:6px}.settings-hint{font-size:10px!important;margin-top:18px!important}.footer{display:flex;justify-content:space-between;gap:15px;color:#5b8791;font-size:10px;padding:24px 0}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;background:#071820;color:#b3dbd7}@media(max-width:1120px){.booking-layout{grid-template-columns:minmax(0,1fr) 345px}.toolbar-stat span:last-child{display:none}.map-header{display:block}.legend{margin-top:12px}}@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.panel{min-height:auto}.empty-panel{min-height:300px}.page-heading{align-items:flex-start}.map-scroll{max-height:560px}.side-column{order:2}.main-column{order:1}}@media(max-width:570px){.topbar{height:auto;min-height:72px;padding:14px 18px;align-items:flex-start;flex-direction:column;gap:12px}.topbar nav{gap:22px}.topbar nav a{padding-bottom:8px}.page{padding:26px 14px}.page-heading{margin-bottom:20px}.page-heading h1{font-size:31px;letter-spacing:-1.5px}.page-heading p{font-size:12px}.live-tag{display:none}.toolbar{flex-wrap:wrap;padding:14px;gap:10px}.inline-field{flex:1;min-width:130px}.toolbar-stat{margin-left:0;width:100%;justify-content:flex-end}.toolbar-stat span:last-child{display:inline}.map-header{padding:18px 16px 12px}.map-shell{margin:0 8px 12px}.map-footer{padding:0 14px 16px;display:block}.map-footer span{display:block;margin-top:4px}.panel{padding:19px}.form-grid{grid-template-columns:1fr 1fr}.footer{display:block}.footer span{display:block;margin-top:5px}}@media(max-width:1300px){.booking-layout{grid-template-columns:1fr}.side-column{order:2}.main-column{order:1}.panel{min-height:auto}.empty-panel{min-height:300px}}@media(max-width:850px){.venue-map{min-width:760px}}:root{font-family:Montserrat,Arial,sans-serif}.timeline-row{display:flex;align-items:center;gap:14px;padding:11px 22px 13px;border-bottom:1px solid #ffffff18;background:#112e3880;color:#739ca4;font-size:10px}.timeline-row input{flex:1;accent-color:#5ce3c7;cursor:pointer}.timeline-row strong{color:#b9eee1;font-size:12px;min-width:42px;text-align:center}@media(min-width:1301px){.booking-layout.admin-layout{grid-template-columns:390px minmax(0,1fr)}.admin-layout .side-column{grid-column:1;grid-row:1}.admin-layout .main-column{grid-column:2;grid-row:1}}@media(max-width:570px){.timeline-row{padding:10px 14px;gap:7px}.timeline-row strong{font-size:11px}}.map-spot .remaining-label{font-size:8px;font-weight:700;fill:#e5fff6;letter-spacing:-.2px}:root{font-family:Montserrat,Arial,sans-serif;color:#f2f5f3;background:#171c1e}.app{background:#171c1e}.page{max-width:1520px;padding:26px clamp(16px,3vw,44px) 48px}.booking-layout{gap:16px;grid-template-columns:minmax(0,1fr) 360px}.main-column,.panel,.timeline-card{background:#202729;border:1px solid #353e40;border-radius:12px;box-shadow:none}.main-column{overflow:hidden}.panel{padding:24px}.eyebrow{color:#77cba3;letter-spacing:1.6px}.map-header{padding:20px 22px 16px}.map-header h2{font-size:19px;font-weight:650;letter-spacing:-.4px}.map-header p{font-size:12px;color:#a0acad}.legend span{font-size:11px;color:#b2bcbb}.legend i{width:8px;height:8px}.legend-free{background:#54ca80}.legend-busy{background:#dd836f}.legend-blocked{background:#8d9696}.map-shell{background:#181d20;border-color:#343d3f;border-radius:8px;margin:0 16px 16px}.map-controls{background:#262f30;border-color:#53605f}.map-controls button{color:#e5efea}.map-small{fill:#7f8c8d;font-size:9px;letter-spacing:1.2px}.map-pool-label{fill:#aebabc;opacity:.7;font-size:12px;letter-spacing:4px}.venue-wall{fill:none;stroke:#aeb4b3;stroke-width:6;stroke-linecap:square;stroke-linejoin:round;opacity:.67}.venue-opening{fill:none;stroke:#4a5556;stroke-width:3}.venue-walkway,.venue-arrow{fill:none;stroke:#687476;stroke-width:2;opacity:.7}.venue-partitions{fill:none;stroke:#9da7a6;stroke-width:4;opacity:.72}.venue-planter{fill:#4d5857}.pool-rim{fill:#2d383c;stroke:#667074;stroke-width:8}.pool-ripple{fill:none;stroke:#abb7b6;stroke-width:1.5;opacity:.2}.lounge-rim{fill:#252d2f;stroke:#8e9998;stroke-width:5;opacity:.8}.map-spot{cursor:pointer;outline:none}.map-spot .furniture-main{fill:#16863d;stroke:#6bd481;stroke-width:2;transition:fill .15s,stroke .15s}.map-spot .furniture-detail{fill:none;stroke:#a6e6a5;stroke-width:2;pointer-events:none}.map-spot .lounge-ring{fill:#27302c;stroke:#418c50;stroke-width:5}.map-spot.busy .furniture-main{fill:#8e564f;stroke:#d69680}.map-spot.blocked .furniture-main,.map-spot.inactive .furniture-main{fill:#626d6b;stroke:#a0aaa7}.map-spot.busy .furniture-detail,.map-spot.blocked .furniture-detail,.map-spot.inactive .furniture-detail{stroke:#e1d2c8}.map-spot.selected .furniture-main,.map-spot:hover .furniture-main,.map-spot:focus-visible .furniture-main{stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 7px #7eec9a)}.map-spot text{fill:#f7fff7;font-weight:750;pointer-events:none}.map-spot.upper-lounger text{font-size:10px}.timeline-card{margin-bottom:16px;overflow:hidden;padding:20px 24px 16px}.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.timeline-heading>div:first-child{display:grid;gap:4px}.timeline-heading strong{font-size:25px;letter-spacing:-.7px;line-height:1.1}.timeline-heading small{font-size:11px;color:#a4b2ae}.timeline-actions{display:flex;align-items:center;gap:18px}.timeline-availability{color:#b7c4bf;font-size:12px;display:flex;align-items:center;gap:8px;white-space:nowrap}.timeline-availability i{width:8px;height:8px;border-radius:50%;display:block}.date-select{position:relative;display:flex;align-items:center;gap:8px;color:#dcebe2;background:#303b3c;border:1px solid #56635f;border-radius:8px;padding:0 12px;height:42px}.date-select select{color:inherit;min-width:105px;background:transparent;border:0;outline:0;font-size:13px;cursor:pointer}.date-select option{color:#18201d;background:#f4f6f3}.admin-date{display:flex;align-items:center;gap:7px;font-size:11px;color:#a2b0ab}.admin-date input{color:#eaf0ed;background:#303b3c;border:1px solid #56635f;border-radius:8px;height:42px;padding:0 8px;color-scheme:dark}.timeline-scale{padding-top:35px}.timeline-track{position:relative;height:44px;border-top:2px solid #4c5756}.timeline-hour{position:absolute;top:0;width:0;font-size:10px;color:#8c9b98;pointer-events:none;white-space:nowrap}.timeline-hour:first-child{transform:none}.timeline-hour:last-of-type{transform:translate(-100%)}.timeline-hour i{display:block;width:1px;height:11px;background:#63706c}.timeline-hour>span{position:absolute;top:16px;left:0;transform:translate(-50%)}.timeline-window{position:absolute;top:-7px;height:17px;border-radius:3px;background:#62c887;border:1px solid #b5f0c5;pointer-events:none;z-index:1;min-width:4px}.timeline-window span{position:absolute;top:-29px;left:50%;transform:translate(-50%);color:#e9f9ed;font-weight:650;font-size:12px;white-space:nowrap}.timeline-track input[type=range]{position:absolute;top:-11px;right:0;bottom:0;left:0;width:100%;height:26px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:ew-resize;z-index:2}.timeline-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:27px;border-radius:4px;border:2px solid white;background:#3dbd70;box-shadow:0 1px 8px #0008}.timeline-track input[type=range]::-moz-range-thumb{width:15px;height:27px;border-radius:4px;border:2px solid white;background:#3dbd70;box-shadow:0 1px 8px #0008}.timeline-hours{display:flex;justify-content:space-between;color:#879793;font-size:11px}.panel-head{border-color:#3b4847}.panel h2{font-size:25px;letter-spacing:-.6px}.panel p{color:#aebbb6;font-size:12px}.selected-interval{display:block;font-size:21px;margin-top:13px;letter-spacing:-.4px}.availability-banner{color:#8de5a8}.availability-banner.unavailable{color:#eab0a1}.day-slots{border-color:#394340}.day-slots span{background:#303b3a}.booking-form{gap:16px}.booking-form .form-grid{grid-template-columns:1fr;gap:16px}.field>span{font-size:12px;color:#d1ddd6}.field input,.field select,.field textarea{background:#171e1f;border-color:#4d5d59;color:#f1f5f0;min-height:44px;border-radius:7px;font-size:13px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#75cf96;box-shadow:0 0 0 3px #75cf9626}.field input::placeholder,.field textarea::placeholder{color:#87938f}.duration-control{border:1px solid #43514a;background:#27312d;padding:14px 16px;border-radius:8px}.duration-control>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#d2ded5}.duration-control strong{font-size:19px;color:#d6f6db}.duration-control input{display:block;width:100%;margin:15px 0 4px;accent-color:#62c887;cursor:pointer;touch-action:pan-y}.duration-control input:disabled{cursor:default}.duration-labels{display:flex;justify-content:space-between;color:#a5b4a9;font-size:10px}.duration-control small{display:block;margin-top:11px;font-size:11px;color:#b9ceb9}.price-box{background:#19221e;border-color:#43584a}.price-box div{font-size:12px;color:#aebdb1}.price-box strong{color:#edf9ed}.primary-button{background:#68d390;color:#152a1b;border-radius:7px;box-shadow:none;font-size:13px}.primary-button:hover{filter:brightness(1.08)}.secondary-button{background:#325742;border-color:#619774;border-radius:7px;color:#eef8ef}.empty-orb{background:#2a4537;color:#87dca1;box-shadow:none;width:66px;height:66px;border-radius:50%}.admin-login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:#171c1e}.admin-login-card{width:min(100%,430px);display:grid;gap:17px;padding:36px;background:#202729;border:1px solid #43504b;border-radius:12px}.admin-login-card h1{margin:0;font-size:28px;letter-spacing:-.7px}.admin-login-card p{margin:-10px 0 8px;color:#a3b1a8;font-size:13px}.admin-login-card .login-icon{background:#31523d;color:#a1edb1;margin:0}.admin-login-card .primary-button{width:100%}@media(min-width:1301px){.booking-layout.admin-layout{grid-template-columns:390px minmax(0,1fr)}}@media(min-width:981px)and (max-width:1300px){.booking-layout{grid-template-columns:minmax(0,1fr) 340px}}@media(max-width:980px){.booking-layout{grid-template-columns:1fr}}@media(max-width:850px){.timeline-card{padding:16px}.timeline-heading{align-items:flex-start;flex-direction:column}.timeline-actions{width:100%;justify-content:space-between}}@media(max-width:570px){.page{padding:12px 10px 32px}.timeline-heading strong{font-size:22px}.timeline-availability{font-size:11px}.timeline-scale{padding-top:33px}.timeline-hour>span{visibility:hidden}.timeline-hour:nth-child(3n+1)>span,.timeline-hour.is-last>span{visibility:visible}.timeline-hour{font-size:9px}.timeline-hours span:nth-child(2){display:none}.map-header{padding:17px 15px 12px}.map-shell{margin:0 7px 12px}.panel{padding:18px}.admin-date{width:100%}.timeline-actions{flex-wrap:wrap}.admin-login-card{padding:26px}}.primary-button{background:#228e4e;color:#fff}.primary-button:hover{background:#29a258;filter:none}.primary-button:focus-visible{outline:2px solid #a1ecb5;outline-offset:2px}.map-header{padding:14px 22px 10px;justify-content:flex-end}.timeline-half-hour{position:absolute;top:0;transform:translate(-50%);pointer-events:none;color:#82908b;font-size:8px;white-space:nowrap}.timeline-half-hour i{display:block;margin:0 auto 5px;width:1px;height:7px;background:#66736d}.timeline-hour,.timeline-half-hour{z-index:0}.timeline-hour.is-first,.timeline-hour.is-last{transform:none}.timeline-hour.is-first>span{transform:none}.timeline-hour.is-last>span{transform:translate(-100%)}.booking-summary{display:grid;gap:16px;padding-top:16px}.guest-panel .primary-button{width:100%}.booking-dialog{width:min(460px,calc(100vw - 28px));max-height:min(90vh,780px);overflow:auto;padding:26px;color:#f2f5f3;background:#202729;border:1px solid #55645c;border-radius:12px;box-shadow:0 25px 90px #0009}.booking-dialog::backdrop{background:#06100dc9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #3b4847;padding-bottom:16px}.dialog-heading h2{margin:6px 0;font-size:23px}.dialog-heading p{margin:0;color:#acbcb1;font-size:12px}.dialog-close{display:grid;place-items:center;flex:none;width:33px;height:33px;background:#323d39;border:0;border-radius:7px;color:#e4eee6}.booking-dialog .booking-form{padding-top:20px}.booking-dialog .field{width:100%}html{scrollbar-color:#4d675d #171c1e}@media(max-width:570px){.map-header{padding:12px 13px 8px}.timeline-half-hour span{display:none}.booking-dialog{padding:20px}}@media(max-width:850px),(pointer:coarse){.booking-dialog .field input,.booking-dialog .field select,.booking-dialog .field textarea{font-size:16px}}.timeline-track{cursor:crosshair;touch-action:pan-y;margin-inline:16px;-webkit-user-select:none;user-select:none}.timeline-past{position:absolute;top:-14px;height:26px;left:0;background:#0d1415a8;border-right:1px solid #7c8881;z-index:1;pointer-events:none}.timeline-window{z-index:2;pointer-events:auto;cursor:grab;touch-action:pan-y}.timeline-window:active{cursor:grabbing}.timeline-window .timeline-window-label{pointer-events:auto;top:-34px;min-height:28px;display:grid;place-items:center;padding:0 8px;touch-action:pan-y}.timeline-window .timeline-window-label.is-leading{left:0;transform:none;padding-left:0}.timeline-window .timeline-window-label.is-trailing{left:100%;transform:translate(-100%);padding-right:0}.timeline-handle{position:absolute;top:-14px;width:36px;height:44px;padding:0;border:0;border-radius:5px;background:transparent;cursor:ew-resize;touch-action:pan-y;z-index:3}.timeline-handle:before{content:"";position:absolute;box-sizing:border-box;top:8px;width:16px;height:27px;border:2px solid #f6fff8;border-radius:5px;background:#278e50;box-shadow:0 2px 8px #0009}.timeline-handle-start{left:0;transform:translate(-100%)}.timeline-handle-start:before{right:-8px}.timeline-handle-end{right:0;transform:translate(100%)}.timeline-handle-end:before{left:-8px}.timeline-handle:focus-visible,.timeline-window:focus-visible{outline:2px solid #fff;outline-offset:4px}.timeline-scale{padding-bottom:0}.guest-page>.timeline-card{position:sticky;top:12px;z-index:20;box-shadow:0 8px 22px #0b111750}@media(max-width:850px){.guest-page .timeline-heading{flex-direction:row;align-items:center;gap:10px}.guest-page .timeline-actions{width:auto;flex-direction:column-reverse;align-items:flex-end;gap:7px;flex-wrap:nowrap}.guest-page .timeline-heading .eyebrow{font-size:9px}.guest-page .timeline-heading strong{font-size:20px}.guest-page .timeline-heading small,.guest-page .timeline-availability{font-size:10px}.guest-page .date-select{height:38px;gap:4px;padding:0 7px}.guest-page .date-select select{width:84px;min-width:84px;padding-inline:4px 18px;font-size:12px}}@media(max-width:570px){.guest-page>.timeline-card{top:env(safe-area-inset-top,0px);padding:13px 16px 7px}.timeline-track{margin-inline:20px}}@media(max-width:360px){.guest-page .timeline-heading strong{font-size:18px;letter-spacing:-.8px}}@media(min-width:981px){.booking-layout:not(.admin-layout){align-items:stretch}.booking-layout:not(.admin-layout) .side-column{display:flex}.booking-layout:not(.admin-layout) .side-column>.panel{flex:1;min-height:0}}.empty-place-panel{align-items:center;text-align:center}.empty-place-panel p{max-width:270px;margin-bottom:0}.empty-brand{position:relative;width:min(100%,300px);height:47px;overflow:hidden;margin-bottom:27px}.empty-brand img{position:absolute;top:0;left:53%;display:block;width:120%;max-width:none;height:auto;transform:translate(-50%,-48%);filter:invert(1)}.field select{padding:10px 36px 10px 14px}.date-select select{padding:8px 22px 8px 9px}.admin-panel{display:flex;flex-direction:column;min-height:0}.admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;border:0;margin:18px 0 15px}.admin-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:9px 12px;border:1px solid #53645a;border-radius:8px;background:#26332d;color:#d8e6d9;font-size:13px;font-weight:700}.admin-tabs button:hover{background:#334b3b}.admin-tabs button.active{border-color:#85dfa0;background:#346c46;color:#fff;box-shadow:0 0 0 1px #85dfa033}.admin-tabs button span{min-width:22px;padding:2px 5px;border-radius:12px;background:#ffffff28;font-size:11px}.admin-tabs button:focus-visible,.admin-panel button:focus-visible{outline:2px solid #a8edb8;outline-offset:2px}.admin-bookings-content,.admin-panel .settings-panel{min-height:0;overflow-y:auto;padding-right:7px;scrollbar-color:#617a68 #202729}.admin-panel .settings-panel{max-height:none}.admin-panel .bookings-list{max-height:none;overflow:visible}.admin-selected{margin-top:14px;padding:15px;border:1px solid #46594c;border-radius:9px;background:#24312a}.admin-selected h3{font-size:15px;margin-bottom:14px}.admin-selected form{gap:12px}.admin-panel .secondary-button{min-height:44px;width:100%;font-size:12px}.admin-panel .secondary-button:hover{background:#447758}.rate-card{padding:15px;margin:10px 0;border:1px solid #435b49;border-radius:9px;background:#243129}.rate-card>strong{font-size:13px;color:#ecf6ed}.rate-card .form-grid{margin:13px 0}.card-actions{gap:8px}.card-actions button,.block-row button,.existing-addon button{min-height:34px;padding:7px 10px;border:1px solid #648e70;border-radius:7px;background:#304d39;color:#e6f5e9;font-size:11px;font-weight:700}.card-actions button:last-child,.block-row button,.existing-addon button{border-color:#895f5f;background:#503637;color:#ffe1db}.card-actions button:hover,.block-row button:hover,.existing-addon button:hover{filter:brightness(1.13)}.admin-panel .logout{display:flex;justify-content:center;gap:8px;width:100%;min-height:43px;margin-top:15px;padding:10px 14px;border:1px solid #bd7775;border-radius:8px;background:#7e393a;color:#fff;font-size:12px;font-weight:700}.admin-panel .logout:hover{background:#984344}.confirm-dialog{width:min(390px,calc(100% - 30px));padding:23px;border:1px solid #5a6960;border-radius:12px;background:#232c29;color:#f2f7f1;box-shadow:0 24px 80px #0009}.confirm-dialog::backdrop{background:#08110ecc}.confirm-dialog h2{margin:0 0 8px;font-size:20px}.confirm-dialog p{margin:0 0 22px;color:#bbcbc0;font-size:13px}.confirm-actions{display:flex;gap:9px}.confirm-actions button{flex:1;min-height:43px}.danger-button{border:1px solid #d6817c;border-radius:8px;background:#9b4140;color:#fff;font-weight:700}.danger-button:hover{background:#b14b48}.danger-button:disabled{opacity:.6;cursor:wait}@media(min-width:981px){.admin-app{height:100dvh;overflow:hidden}.admin-page{display:flex;flex-direction:column;height:100%;padding-top:18px;padding-bottom:18px;overflow:hidden}.admin-page .timeline-card{flex:none}.admin-page .admin-layout{flex:1;min-height:0;grid-template-columns:clamp(400px,38vw,500px) minmax(0,1fr);align-items:stretch}.admin-layout .side-column{grid-column:1;grid-row:1;display:flex;min-height:0}.admin-layout .main-column{grid-column:2;grid-row:1;min-height:0;overflow:auto}.admin-layout .admin-panel{flex:1;overflow:hidden}.admin-panel .admin-bookings-content,.admin-panel .settings-panel{flex:1}}@media(max-width:980px){.admin-app,.admin-page{height:auto;overflow:visible}.admin-panel .admin-bookings-content,.admin-panel .settings-panel{max-height:none;overflow:visible}}
