html{-webkit-text-size-adjust:100%;box-sizing:border-box}*,:after,:before{box-sizing:inherit}button,input,select,textarea{font-family:inherit}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#12140f;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:focus-visible{outline:2px solid #0e7a45;outline-offset:2px}:root{--vv-ink:#12140f;--vv-panel:#16190f;--vv-green:#18c566;--vv-green-deep:#0e7a45;--vv-green-deeper:#0b5e35;--vv-muted:#5c6159;--vv-line:#dde0d8;--vv-mist:#f3f6f1;--vv-alert:#b3261e;--vv-radius:13px;--vv-radius-lg:22px;--vv-font:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;--vv-display:"Archivo Black","Poppins",system-ui,sans-serif}.App{background:radial-gradient(120% 90% at 78% 8%,#23301f 0,#12140f 62%);background:radial-gradient(120% 90% at 78% 8%,#23301f 0,var(--vv-ink) 62%);box-sizing:border-box;color:#12140f;color:var(--vv-ink);display:flex;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--vv-font);min-height:100vh;padding:40px 24px}.vv-shell{flex-direction:column;margin:auto;max-width:1120px;width:100%}.vv-shell,.vv-topbar{display:flex;gap:16px}.vv-topbar{align-items:center;flex-wrap:wrap;justify-content:space-between}.vv-topbar-meta{color:#ffffffb8;font-size:.82rem;letter-spacing:.2px;margin:0}.vv-nav-link{border-bottom:1px solid #18c56680;color:#e7eae4;font-size:.85rem;font-weight:500;padding-bottom:2px;text-decoration:none}.vv-nav-link:hover{border-bottom-color:#18c566;border-bottom-color:var(--vv-green);color:#18c566;color:var(--vv-green)}.booking-container{background:#fff;border-radius:22px;border-radius:var(--vv-radius-lg);box-shadow:0 26px 60px #00000073;display:flex;overflow:hidden}.left-panel{background:#16190f;background:var(--vv-panel);box-sizing:border-box;color:#fff;flex-shrink:0;padding:36px 34px;width:392px}.brand-content,.left-panel{display:flex;flex-direction:column}.brand-content{height:100%}.logo-section{margin-bottom:18px;text-align:center}.left-logo-image{display:block;height:auto;margin:0 auto;max-width:100%;width:244px}.left-form-subtitle{color:#ffffffa8;font-size:.82rem;font-weight:500;letter-spacing:.3px;margin:12px 0 0;text-align:center}.vv-rule{background:#ffffff21;height:1px;margin:4px 0 22px}.vv-info-body{flex-grow:1;gap:20px}.vv-block,.vv-info-body{display:flex;flex-direction:column}.vv-block{gap:7px}.vv-block-label{color:#18c566;color:var(--vv-green);font-size:.62rem;font-weight:600;letter-spacing:1.8px;margin:0}.vv-block p{margin:0}.vv-block-lead{color:#fff;font-size:.95rem;font-weight:500}.vv-rate-row{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.vv-rate-row span:first-child{color:#c9ccc4;font-size:.84rem}.vv-rate-row span:last-child{color:#fff;font-size:.95rem;font-weight:600}.vv-rate-row .vv-per{color:#b9beb2;font-size:.7rem;font-weight:500}.vv-note{color:#9aa093;font-size:.73rem;margin-top:2px}.vv-contact{margin-top:auto;padding-top:22px}.contact-info{color:#e7eae4;font-size:.85rem;margin:0 0 4px}.contact-info a{color:#e7eae4;text-decoration:none}.contact-info a:hover{color:#18c566;color:var(--vv-green)}.vv-info-toggle{display:none}.right-panel{box-sizing:border-box;flex-grow:1;min-width:0;padding:34px 40px 30px}.vv-mobile-brand{display:none}.form-header{margin-bottom:18px}.form-title{color:#12140f;color:var(--vv-ink);font-family:Archivo Black,Poppins,system-ui,sans-serif;font-family:var(--vv-display);font-size:1.6rem;letter-spacing:-.3px;margin:0}.form-subtitle{color:#5c6159;color:var(--vv-muted);font-size:.85rem;margin:4px 0 0}.booking-form{gap:15px}.booking-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px;min-width:0}.form-row{display:flex;gap:14px}.form-row>.form-group{flex:1 1}.form-label{color:#3c4038;font-size:.72rem;font-weight:600;letter-spacing:.3px}.form-label .vv-optional{color:#8a9084;font-weight:400}.form-input{background:#fff;border:1.5px solid #dde0d8;border:1.5px solid var(--vv-line);border-radius:13px;border-radius:var(--vv-radius);box-sizing:border-box;color:#12140f;color:var(--vv-ink);font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--vv-font);font-size:.92rem;height:46px;padding:0 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.form-input::placeholder{color:#9aa093}.form-input:focus{border-color:#0e7a45;border-color:var(--vv-green-deep);box-shadow:0 0 0 3px #0e7a4529;outline:none}.form-input:disabled{background:#f3f6f1;background:var(--vv-mist);color:#8a9084;cursor:not-allowed}select.form-input{cursor:pointer}.date-input{-webkit-appearance:none;appearance:none}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}.phone-input-wrapper{align-items:center;background:#fff;border:1.5px solid #dde0d8;border:1.5px solid var(--vv-line);border-radius:13px;border-radius:var(--vv-radius);display:flex;height:46px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.phone-input-wrapper:focus-within{border-color:#0e7a45;border-color:var(--vv-green-deep);box-shadow:0 0 0 3px #0e7a4529}.phone-prefix{border-right:1px solid #eceee8;color:#5c6159;color:var(--vv-muted);font-size:.92rem;line-height:43px;padding:0 11px 0 14px}.phone-input-wrapper .form-input{border:none;border-radius:0;box-shadow:none;height:43px}.phone-input-wrapper .form-input:focus{box-shadow:none}.vv-pay-toggle{display:flex;gap:8px}.vv-pay-btn{background:#fff;border:1.5px solid #dde0d8;border:1.5px solid var(--vv-line);border-radius:13px;border-radius:var(--vv-radius);color:#3c4038;cursor:pointer;flex:1 1;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--vv-font);font-size:.88rem;font-weight:500;height:46px;transition:all .15s ease}.vv-pay-btn:hover:not(.active):not(:disabled){border-color:#bfc3b8}.vv-pay-btn.active{background:#12140f;background:var(--vv-ink);border-color:#12140f;border-color:var(--vv-ink);color:#fff;font-weight:600}.vv-pay-btn:disabled{cursor:not-allowed;opacity:.55}.vv-promo-row{display:flex;gap:8px}.vv-promo-row .form-input{flex-grow:1}.vv-apply-btn{background:#fff;border:1.5px solid #dde0d8;border:1.5px solid var(--vv-line);border-radius:13px;border-radius:var(--vv-radius);color:#3c4038;cursor:pointer;flex-shrink:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--vv-font);font-size:.85rem;font-weight:600;height:46px;transition:all .15s ease;width:104px}.vv-apply-btn:hover:not(:disabled){border-color:#0e7a45;border-color:var(--vv-green-deep);color:#0e7a45;color:var(--vv-green-deep)}.vv-apply-btn:disabled{cursor:not-allowed;opacity:.5}.vv-field-note{color:#5c6159;color:var(--vv-muted);font-size:.75rem;margin:2px 0 0}.vv-field-note.is-ok{color:#0e7a45;color:var(--vv-green-deep)}.vv-field-note.is-warn{color:#9a6100}.time-blocks{display:flex;gap:8px}.time-block-btn{background:#fff;border:1.5px solid #dde0d8;border:1.5px solid var(--vv-line);border-radius:13px;border-radius:var(--vv-radius);color:#3c4038;cursor:pointer;flex:1 1;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--vv-font);font-size:.88rem;font-weight:500;height:44px;transition:all .15s ease}.time-block-btn:hover:not(.disabled):not(.active){border-color:#bfc3b8}.time-block-btn.active{background:#0e7a45;background:var(--vv-green-deep);border-color:#0e7a45;border-color:var(--vv-green-deep);color:#fff;font-weight:600}.time-block-btn.disabled{background:#f3f6f1;background:var(--vv-mist);border-color:#e6e8e2;color:#9aa093;cursor:not-allowed}.slot-header{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.slot-count{color:#8a9084;font-size:.72rem}.refresh-btn{background:none;border:none;color:#0e7a45;color:var(--vv-green-deep);cursor:pointer;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--vv-font);font-size:.75rem;font-weight:500;padding:0}.refresh-btn:hover{text-decoration:underline}.loading-text{color:#5c6159;color:var(--vv-muted);font-size:.85rem;margin:4px 0}.time-slots{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}.time-slot{align-items:center;background:#fff;border:1.5px solid #dde0d8;border:1.5px solid var(--vv-line);border-radius:13px;border-radius:var(--vv-radius);color:#12140f;color:var(--vv-ink);cursor:pointer;display:flex;flex-direction:column;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--vv-font);gap:1px;height:52px;justify-content:center;padding:0 4px;transition:all .12s ease}.slot-time{font-size:.78rem;font-weight:600;white-space:nowrap}.slot-price{color:#5c6159;color:var(--vv-muted);font-size:.66rem;font-weight:500}.time-slot.selected,.time-slot:hover:not(.booked):not(:disabled){border-color:#0e7a45;border-color:var(--vv-green-deep)}.time-slot.selected{background:#0e7a45;background:var(--vv-green-deep);color:#fff}.time-slot.selected .slot-price{color:#ffffffd1}.time-slot.booked{background:#f3f6f1;background:var(--vv-mist);border-color:#e6e8e2;color:#9aa093;cursor:not-allowed}.time-slot.booked .slot-price{color:#9aa093}.price-summary{align-items:center;background:#f3f6f1;background:var(--vv-mist);border-radius:13px;border-radius:var(--vv-radius);display:flex;gap:14px;justify-content:space-between;padding:13px 18px}.price-summary p{margin:0}.vv-summary-lead{color:#12140f;color:var(--vv-ink);font-size:.85rem;font-weight:600}.vv-summary-sub{color:#5c6159;color:var(--vv-muted);font-size:.74rem;margin-top:1px}.vv-summary-total{color:#12140f;color:var(--vv-ink);font-family:Archivo Black,Poppins,system-ui,sans-serif;font-family:var(--vv-display);font-size:1.5rem;letter-spacing:-.4px;white-space:nowrap}.message{border-radius:13px;border-radius:var(--vv-radius);font-size:.85rem;line-height:1.5;padding:12px 16px}.message.success{background:#e8f5ec;color:#14572a}.message.error{background:#fdecec;color:#b3261e;color:var(--vv-alert)}.submit-btn{background:#0e7a45;background:var(--vv-green-deep);border:none;border-radius:13px;border-radius:var(--vv-radius);color:#fff;cursor:pointer;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--vv-font);font-size:.97rem;font-weight:600;height:52px;letter-spacing:.2px;transition:background .15s ease,transform .08s ease}.submit-btn:hover:not(.disabled){background:#0b5e35;background:var(--vv-green-deeper)}.submit-btn:active:not(.disabled){transform:translateY(1px)}.submit-btn.disabled{background:#e9ebe4;color:#9aa093;cursor:not-allowed}.vv-submit-hint{color:#5c6159;color:var(--vv-muted);font-size:.75rem;margin:-6px 0 0;text-align:center}.vv-footer{align-items:center;color:#ffffff80;display:flex;flex-wrap:wrap;font-size:.73rem;gap:14px;justify-content:space-between}.vv-footer-link{color:#ffffff80;text-decoration:none}.vv-footer-link:hover{color:#18c566;color:var(--vv-green)}@media (max-width:980px){.App{display:block;padding:0 0 16px}.vv-shell{gap:0;margin:0;max-width:none}.vv-topbar{display:none}.booking-container{border-radius:0;box-shadow:none;flex-direction:column}.right-panel{order:1;padding:0 18px 20px}.left-panel{order:2;padding:0;width:100%}.left-panel,.vv-mobile-brand{background:#16190f;background:var(--vv-panel)}.vv-mobile-brand{align-items:center;display:flex;gap:14px;justify-content:space-between;margin:0 -18px 18px;padding:14px 18px}.vv-mobile-brand img{display:block;height:auto;width:132px}.vv-mobile-brand .vv-nav-link{font-size:.78rem}.vv-info-toggle{align-items:center;background:#0000;border:none;border-top:1px solid #ffffff1f;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--vv-font);font-size:.85rem;font-weight:600;gap:12px;justify-content:space-between;min-height:52px;padding:14px 18px;text-align:left;width:100%}.vv-info-toggle svg{flex-shrink:0;transition:transform .18s ease}.left-panel.is-open .vv-info-toggle svg{transform:rotate(180deg)}.vv-info-body{display:none;padding:4px 18px 26px}.left-panel.is-open .vv-info-body{display:flex}.logo-section,.vv-rule{display:none}.vv-contact{margin-top:0}.vv-footer{align-items:center;flex-direction:column;gap:6px;padding:16px 18px 0;text-align:center}.vv-contact{padding-top:10px}}@media (max-width:560px){.form-row{flex-direction:column;gap:15px}.time-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.form-title{font-size:1.4rem}.vv-summary-total{font-size:1.3rem}.vv-apply-btn{width:88px}}.admin-container{font-family:Poppins,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1400px;padding:20px}.admin-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.admin-header h1{color:#12140f;color:var(--vv-ink);font-size:2rem;margin:0}.logout-btn{background:#b3261e;background:var(--vv-alert);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-right:15px;padding:10px 20px}.logout-btn:hover{background:#9e1f1f}.back-to-form{background:#0e7a45;background:var(--vv-green-deep);border-radius:8px;color:#fff;font-weight:600;padding:10px 20px;text-decoration:none;transition:background .3s ease}.back-to-form:hover{background:#0b5e35;background:var(--vv-green-deeper)}.admin-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.admin-input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;min-width:200px;padding:12px}.admin-input:focus{border-color:#0e7a45;border-color:var(--vv-green-deep);outline:none}.clear-filters-btn{background:#666;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:background .3s ease}.clear-filters-btn:hover{background:#555}.loading-container,.no-bookings{color:#666;font-size:1.2rem;padding:40px;text-align:center}.bookings-summary{background:#f3f6f1;background:var(--vv-mist);border-radius:10px;display:flex;gap:40px;justify-content:center;margin-bottom:20px;padding:20px}.bookings-summary p{color:#2d5a2d;font-size:1.1rem;margin:0}.table-responsive{background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;overflow-x:auto}.bookings-table{border-collapse:collapse;min-width:800px;width:100%}.bookings-table td,.bookings-table th{border-bottom:1px solid #e0e0e0;padding:15px 12px;text-align:left}.bookings-table th{background:#f8f9fa;color:#333;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.bookings-table tbody tr:hover{background:#f8f9fa}.time-block-cell{font-weight:500;text-transform:capitalize}.slots-cell{word-wrap:break-word;font-size:.9rem;max-width:200px}.price-cell{color:#12140f;color:var(--vv-ink);font-weight:600}.delete-btn{background:#b3261e;background:var(--vv-alert);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:background .3s ease}.delete-btn:hover{background:#9e1f1f}@media (max-width:768px){.admin-header{flex-direction:column;gap:15px;text-align:center}.admin-controls{align-items:stretch;flex-direction:column}.admin-input{min-width:auto}.bookings-summary{flex-direction:column;gap:10px;text-align:center}.bookings-table td,.bookings-table th{font-size:.9rem;padding:10px 8px}}.login-container{align-items:center;background:radial-gradient(120% 90% at 78% 8%,#23301f 0,#12140f 62%);background:radial-gradient(120% 90% at 78% 8%,#23301f 0,var(--vv-ink) 62%);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-form{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;text-align:center;width:100%}.login-form h2{color:#12140f;color:var(--vv-ink);font-size:1.8rem;margin-bottom:10px}.login-form p{color:#666;margin-bottom:30px}.login-input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:1rem;margin-bottom:20px;padding:15px;transition:border-color .3s ease;width:100%}.login-input:focus{border-color:#0e7a45;border-color:var(--vv-green-deep);outline:none}.login-btn{background:#0e7a45;background:var(--vv-green-deep);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:15px;transition:transform .3s ease;width:100%}.login-btn:hover{transform:translateY(-2px)}.error-message{background:#fdecec;border-radius:8px;color:#b3261e;color:var(--vv-alert);font-weight:500;margin-bottom:20px;padding:10px}.login-footer{border-top:1px solid #e0e0e0;margin-top:30px;padding-top:20px}.back-link{color:#666;font-size:.9rem;text-decoration:none}.back-link:hover{color:#0e7a45;color:var(--vv-green-deep)}@media (max-width:480px){.login-form{padding:30px 20px}.login-form h2{font-size:1.5rem}}.manage-bookings-container{background:radial-gradient(120% 90% at 78% 8%,#23301f 0,#12140f 62%);background:radial-gradient(120% 90% at 78% 8%,#23301f 0,var(--vv-ink) 62%);min-height:100vh;padding:40px 20px}.manage-header{color:#fff;margin:0 auto 32px;max-width:600px;text-align:center}.manage-header h1{text-wrap:balance;font-family:Archivo Black,Poppins,system-ui,sans-serif;font-family:var(--vv-display);font-size:2.3rem;letter-spacing:-.4px;line-height:1.1;margin:0 0 10px}.manage-header p{text-wrap:balance;font-size:1.1rem;margin:0;opacity:.9}.back-btn{align-items:center;background:#0000;border:1.5px solid #ffffff59;border-radius:999px;color:#e7eae4;cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;font-weight:500;margin:0 auto 28px 0;padding:8px 16px;transition:border-color .15s ease,color .15s ease;width:-webkit-fit-content;width:fit-content}.back-btn:hover{border-color:#18c566;border-color:var(--vv-green);color:#18c566;color:var(--vv-green)}.search-section{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;margin:0 auto 40px;max-width:600px;padding:30px}.search-form{display:flex;gap:10px;margin-bottom:20px}.search-input{border:2px solid #e0e0e0;border-radius:10px;flex:1 1;font-size:1rem;padding:15px;transition:border-color .3s ease}.search-input:focus{border-color:#0e7a45;border-color:var(--vv-green-deep);outline:none}.search-btn{background:#0e7a45;background:var(--vv-green-deep);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:15px 30px;transition:all .3s ease}.search-btn:hover:not(:disabled){box-shadow:0 4px 15px #18c5664d;transform:translateY(-2px)}.search-btn:disabled{cursor:not-allowed;opacity:.6}.search-message{border-radius:10px;font-weight:600;padding:15px;text-align:center}.search-message.success{background:#e8f5ec;border:1px solid #bfe3cb;color:#14572a}.search-message.error{background:#fdecec;border:1px solid #f3c9c9;color:#b3261e;color:var(--vv-alert)}.search-message.warning{background:#fff4e6;border:2px solid #ffd699;color:#c80}.bookings-list{margin:0 auto;max-width:800px}.bookings-list h2{color:#fff;font-size:1.8rem;margin-bottom:30px;text-align:center}.booking-card{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;margin-bottom:20px;padding:25px;transition:transform .3s ease}.booking-card:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-5px)}.booking-details{margin-bottom:20px}.booking-row{border-bottom:1px solid #f0f0f0;display:flex;padding:10px 0}.booking-row:last-child{border-bottom:none}.booking-row .label{color:#666;font-weight:600;min-width:120px}.booking-row .value{color:#333;flex:1 1}.booking-row .value.time-block{font-weight:500;text-transform:capitalize}.booking-row .value.slots{font-size:.9rem}.booking-row .value.price{color:#12140f;color:var(--vv-ink);font-size:1.2rem;font-weight:700}.cancel-booking-btn{background:#b3261e;background:var(--vv-alert);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px;transition:all .3s ease;width:100%}.cancel-booking-btn:hover{background:#9e1f1f;transform:translateY(-2px)}@media (max-width:768px){.manage-header h1{font-size:1.8rem}.search-form{flex-direction:column}}.maintenance-container{align-items:center;background:radial-gradient(120% 90% at 78% 8%,#23301f 0,#12140f 62%);background:radial-gradient(120% 90% at 78% 8%,#23301f 0,var(--vv-ink) 62%);display:flex;justify-content:center;min-height:100vh;padding:20px}.maintenance-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #00000040;max-width:600px;padding:40px 30px;text-align:center}.maintenance-card h1{color:#12140f;color:var(--vv-ink);font-size:2rem;margin-bottom:20px}.maintenance-card p{color:#444;font-size:1.05rem;line-height:1.5}.price-summary.promo-applied{background:#fff8e3;border:1px solid #e8c25a}.promo-per-player{color:#856404;font-size:1rem;font-weight:700;margin:0}.promo-warning{color:#c80;font-size:.85rem;font-weight:500;margin:8px 0 0}
/*# sourceMappingURL=main.d2018896.css.map*/