.header{position:fixed;top:0;left:0;right:0;min-height:60px;height:calc(60px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:#0b0f2a;color:#fff;z-index:1000;box-shadow:0 2px 8px #00000040}.header-content{max-width:1200px;margin:0 auto;padding:0 20px;height:100%;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;cursor:pointer}.logo-img{height:50px;width:auto;border-radius:6px;object-fit:contain}.header-nav--desktop{display:flex;gap:8px}.header-nav--desktop button{background:none;border:none;color:#94a3b8;font-size:.9rem;padding:8px 14px;cursor:pointer;border-radius:6px;transition:all .2s}.header-nav--desktop button:hover{color:#fff;background:#ffffff1a}.header-admin-btn{background:#e9456026!important;color:#e94560!important;border:1px solid rgba(233,69,96,.3)!important;font-weight:600}.header-admin-btn:hover{background:#e9456040!important}.header-admin-btn--active{background:#e94560!important;color:#fff!important}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:110}.hamburger-line{display:block;width:24px;height:2.5px;background:#fff;border-radius:2px;transition:all .3s}.hamburger--open .hamburger-line:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.hamburger--open .hamburger-line:nth-child(2){opacity:0}.hamburger--open .hamburger-line:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.header-nav--mobile,.header-overlay{display:none}@media(max-width:768px){.header-nav--desktop{display:none}.hamburger{display:flex}.header-nav--mobile{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:#0b0f2a;padding:8px 0;box-shadow:0 4px 12px #0003;z-index:105;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.header-nav--mobile button{background:none;border:none;color:#94a3b8;font-size:1rem;padding:14px 24px;cursor:pointer;text-align:left;transition:all .2s;width:100%}.header-nav--mobile button:hover{color:#fff;background:#ffffff14}.header-nav--mobile .header-admin-btn{margin:4px 16px 8px;width:auto;text-align:center;border-radius:6px;padding:12px 24px}.header-overlay{display:block;position:fixed;inset:60px 0 0;background:#0006;z-index:99}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;min-height:64px;height:calc(64px + env(safe-area-inset-bottom,0px));background:#020617;display:flex;z-index:1000;box-shadow:0 -2px 8px #00000040;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:#94a3b8;cursor:pointer;padding:6px 4px;border-radius:8px;transition:all .2s}.bottom-nav-item:hover,.bottom-nav-item.active{color:#fff}.bottom-nav-icon{font-size:1.3rem;line-height:1}.bottom-nav-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media(max-width:360px){.bottom-nav-label{font-size:.6rem;letter-spacing:.2px}.bottom-nav-icon{font-size:1.2rem}}.home-page{--dark-section-bg: #0000FF;--dark-section-text: #ffffff;--dark-section-muted: rgba(255, 255, 255, .75);--dark-section-border: rgba(255, 255, 255, .25);--dark-section-card-bg: rgba(255, 255, 255, .1);--dark-section-card-border: rgba(255, 255, 255, .25);--light-section-bg: #ffffff;--light-section-accent: #0000FF;--light-section-text: #333;--light-section-muted: #666;--light-section-card-bg: rgba(0, 0, 255, .05);--light-section-card-border: rgba(0, 0, 255, .18)}.hero-section{position:relative;min-height:85vh;display:flex;align-items:center;justify-content:center;text-align:center;background-color:#0b0f2a;overflow:hidden;padding:80px 20px 60px}.hero-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#0b0f2a8c,#0b0f2abf),url(/images/hero-bg.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1);animation:heroZoom 20s ease-in-out infinite alternate;pointer-events:none}@keyframes heroZoom{0%{transform:scale(1)}to{transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.hero-section:before{animation:none}}.hero-section:after{content:"";position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to top,var(--dark-section-bg, #0f1b35),transparent);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:700px}.hero-badge{display:inline-block;background:#ffffff26;border:1px solid rgba(255,255,255,.35);color:#fff;padding:6px 18px;border-radius:50px;font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:24px}.hero-title{font-size:3rem;font-weight:800;color:#fff;line-height:1.15;margin-bottom:20px;letter-spacing:-.5px}.hero-title span{color:#fff;text-shadow:0 0 20px rgba(255,255,255,.4)}.hero-description{font-size:1.15rem;line-height:1.7;color:#fffc;margin-bottom:36px}.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn-hero-primary{display:inline-flex;align-items:center;gap:8px;padding:16px 36px;background:#fff;color:#00f;font-size:1.05rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 24px #0003}.btn-hero-primary:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 6px 32px #0000004d}.btn-hero-secondary{display:inline-flex;align-items:center;gap:8px;padding:16px 36px;background:#ffffff1a;color:#fff;font-size:1.05rem;font-weight:600;border:1px solid rgba(255,255,255,.25);border-radius:12px;cursor:pointer;text-decoration:none;transition:all .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-hero-secondary:hover{background:#fff3;transform:translateY(-2px)}.hero-stats{display:flex;justify-content:center;gap:48px;margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.1)}.hero-stat{text-align:center}.hero-stat-number{display:block;font-size:2rem;font-weight:800;color:#fff}.hero-stat-label{font-size:.85rem;color:#fff9;margin-top:4px}.video-section{background:var(--dark-section-bg);padding:0;line-height:0}.video-player{width:100%;max-height:480px;object-fit:cover;display:block}.booking-cta-section{padding:0 20px 60px;background:var(--dark-section-bg)}.booking-cta-card{max-width:800px;margin:-60px auto 0;background:#fff;border:none;border-radius:20px;padding:48px 40px;text-align:center;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000026}.booking-cta-card:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(0,0,255,.03),transparent 70%);pointer-events:none}.booking-cta-icon{font-size:3rem;margin-bottom:16px}.booking-cta-card h2{font-size:1.8rem;font-weight:700;color:#00f;margin-bottom:12px}.booking-cta-card p{font-size:1.05rem;color:#44a;line-height:1.7;margin-bottom:28px;max-width:520px;margin-left:auto;margin-right:auto}.booking-cta-card .btn-hero-primary{padding:14px 40px;background:#00f;color:#fff;box-shadow:0 4px 20px #0000ff59}.booking-cta-card .btn-hero-primary:hover{background:#00d;box-shadow:0 6px 28px #0000ff73}.about-section{padding:80px 20px;background:var(--light-section-bg)}.about-container{max-width:900px;margin:0 auto}.about-section .section-title{font-size:2rem;margin-bottom:12px;color:var(--light-section-accent)}.about-subtitle{text-align:center;color:var(--light-section-accent);font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.about-divider{width:60px;height:4px;background:var(--light-section-accent);border-radius:2px;margin:16px auto 40px}.about-description{text-align:center;font-size:1.08rem;line-height:1.8;color:var(--light-section-muted);max-width:650px;margin:0 auto 40px}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.about-card{background:var(--light-section-card-bg);border-radius:16px;padding:32px 24px;text-align:center;transition:transform .3s ease,box-shadow .3s ease;border:1.5px solid var(--light-section-card-border)}.about-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000ff1a}.about-card-icon{font-size:2.5rem;margin-bottom:16px}.about-card h3{font-size:1.1rem;font-weight:700;color:var(--light-section-accent);margin-bottom:10px}.about-card p{font-size:.92rem;color:var(--light-section-muted);line-height:1.65}.gallery-section{padding:80px 20px;background:var(--dark-section-bg)}.gallery-container{max-width:900px;margin:0 auto}.gallery-section .section-title{font-size:2rem;margin-bottom:12px;color:var(--dark-section-text)}.gallery-subtitle{text-align:center;color:var(--dark-section-muted);font-size:1rem;margin-bottom:8px}.gallery-divider{width:60px;height:4px;background:#fff;border-radius:2px;margin:16px auto 40px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4 / 3;cursor:pointer;border:1.5px solid var(--dark-section-card-border);box-shadow:0 4px 16px #0000004d}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.08)}.gallery-item-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,200,.7),transparent 50%);opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-end;padding:16px}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-overlay span{color:#fff;font-size:.9rem;font-weight:600}.location-section{padding:80px 20px;background:var(--light-section-bg)}.location-container{max-width:900px;margin:0 auto}.location-section .section-title{font-size:2rem;margin-bottom:12px;color:var(--light-section-accent)}.location-subtitle{text-align:center;color:var(--light-section-muted);font-size:1rem;margin-bottom:8px}.location-divider{width:60px;height:4px;background:var(--light-section-accent);border-radius:2px;margin:16px auto 40px}.location-content{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.location-info-card{background:var(--light-section-card-bg);border-radius:16px;padding:32px;border:1.5px solid var(--light-section-card-border)}.location-info-item{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.location-info-item:last-child{margin-bottom:0}.location-info-icon{width:48px;height:48px;background:var(--light-section-accent);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.location-info-text h4{font-size:.95rem;font-weight:700;color:var(--light-section-accent);margin-bottom:4px}.location-info-text p{font-size:.9rem;color:var(--light-section-muted);line-height:1.5}.location-map{border-radius:16px;overflow:hidden;border:1.5px solid var(--light-section-card-border);box-shadow:0 4px 20px #0000001a}.location-map iframe{width:100%;height:350px;border:0;display:block}.contact-section{padding:80px 20px;background:linear-gradient(135deg,#00e,#00f)}.contact-container{max-width:900px;margin:0 auto}.contact-section .section-title{font-size:2rem;color:var(--dark-section-text);margin-bottom:12px}.contact-subtitle{text-align:center;color:var(--dark-section-muted);font-size:1rem;margin-bottom:8px}.contact-divider{width:60px;height:4px;background:#fff;border-radius:2px;margin:16px auto 48px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.contact-card{background:#fff;border:none;border-radius:16px;padding:32px 24px;text-align:center;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 20px #0000001a}.contact-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000026}.contact-card-icon{width:64px;height:64px;margin:0 auto 20px;background:#0000ff14;border:1px solid rgba(0,0,255,.15);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.6rem}.contact-card h3{font-size:1rem;font-weight:700;color:#00f;margin-bottom:8px}.contact-card p{font-size:.95rem;color:#44a;line-height:1.6}.contact-card a{color:#00f;text-decoration:none;font-weight:600;transition:color .2s;border-bottom:1px solid rgba(0,0,255,.3);padding-bottom:1px}.contact-card a:hover{color:#00c}.contact-footer{text-align:center;margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.1)}.contact-footer p{color:var(--dark-section-muted);font-size:.85rem}.contact-footer span{color:#fff;font-weight:600}@media(max-width:768px){.hero-section{min-height:75vh;padding:60px 16px 50px}.hero-title{font-size:2.2rem}.hero-description{font-size:1rem}.hero-stats{gap:28px}.hero-stat-number{font-size:1.6rem}.video-player{max-height:300px}.booking-cta-card{padding:36px 24px}.booking-cta-card h2{font-size:1.5rem}.about-grid{grid-template-columns:1fr;gap:16px}.about-section{padding:60px 16px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.gallery-section{padding:60px 16px}.location-content{grid-template-columns:1fr;gap:24px}.location-section{padding:60px 16px}.location-map iframe{height:280px}.contact-grid{grid-template-columns:1fr;gap:16px}.contact-section{padding:60px 16px}}@media(max-width:480px){.hero-section{min-height:70vh;padding:50px 14px 40px}.hero-title{font-size:1.85rem}.hero-description{font-size:.95rem}.hero-buttons{flex-direction:column;align-items:center}.btn-hero-primary,.btn-hero-secondary{width:100%;max-width:280px;justify-content:center;padding:14px 24px;font-size:.95rem}.hero-stats{flex-direction:column;gap:16px}.video-player{max-height:220px}.booking-cta-card{padding:28px 18px}.booking-cta-card h2{font-size:1.3rem}.about-card,.location-info-card{padding:24px 18px}}.pricing-page{background:#f8fafc;min-height:calc(100vh - var(--header-height) - var(--bottom-nav-height));margin:0 -16px;padding:24px 16px}.pricing-page .section-title{color:#0b1437}.pricing-section{max-width:800px;margin:0 auto 32px}.pricing-subtitle{font-size:1.15rem;font-weight:600;color:#0f172a;margin-bottom:12px;text-align:center}.pricing-categories{display:flex;flex-direction:column;gap:20px}.pricing-category{background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:20px;box-shadow:0 1px 3px #0000000a}.pricing-category-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #F1F5F9;gap:12px;flex-wrap:wrap}.pricing-category-title{font-size:1rem;font-weight:700;color:#0f172a;margin:0}.pricing-category-time{font-size:.85rem;color:#64748b;font-weight:500}.pricing-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pricing-card{text-align:center;padding:18px 12px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:12px;transition:transform .2s,box-shadow .2s}.pricing-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000ff14}.pricing-duration{font-size:1rem;font-weight:600;color:#334155;margin-bottom:8px}.pricing-price{font-size:1.25rem;font-weight:700;color:#00f}.pricing-note{text-align:center;padding:16px;color:#64748b;font-size:.9rem;font-style:italic}@media(max-width:480px){.pricing-card{padding:14px 10px}.pricing-price{font-size:1.1rem}.pricing-category{padding:16px}.pricing-category-header{flex-direction:column;gap:4px;align-items:flex-start}}@media(max-width:360px){.pricing-cards{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal-content{background:#fff;border:1.5px solid var(--accent-border);border-radius:16px;width:100%;max-width:420px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:1.1rem;color:var(--text-dark)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-light);padding:0;line-height:1}.modal-close:hover{color:var(--text-dark)}.modal-body{padding:20px}.booking-page{padding-bottom:calc(var(--bottom-nav-height) + 32px)}.booking-section{margin-bottom:28px}.booking-section--date{position:relative;z-index:100}.booking-section-title{font-size:1rem;font-weight:600;color:var(--text-light);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.date-selector-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;position:relative;z-index:200}.date-selector-row .booking-section-title{margin-bottom:0}.alert{position:relative}.alert-dismiss{position:absolute;top:8px;right:12px;background:none;border:none;font-size:1.2rem;cursor:pointer;color:inherit;opacity:.7;line-height:1}.alert-dismiss:hover{opacity:1}.court-selector{display:flex;background:#f5f5f5;border-radius:12px;padding:4px;gap:4px;border:1px solid var(--border)}.court-tab{flex:1;padding:12px 20px;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;background:transparent;color:var(--text-light)}.court-tab--active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f659}.court-tab:not(.court-tab--active):hover{background:#e8e8e8;color:var(--text-dark)}.quick-date-selector{margin-bottom:16px}.quick-date-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.quick-date-scroll::-webkit-scrollbar{display:none}.quick-date-btn{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:10px 12px;border:2px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.quick-date-btn:hover{border-color:#cbd5e1;background:#f1f5f9}.quick-date-btn--today{border-color:#00f}.quick-date-btn--today .quick-date-label{color:#00f}.quick-date-btn--selected{background:#3b82f6;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f659}.quick-date-btn--selected .quick-date-label,.quick-date-btn--selected .quick-date-num{color:#fff}.quick-date-btn--selected:hover{background:#2563eb;border-color:#2563eb}.quick-date-label{font-size:.75rem;font-weight:600;color:var(--text-light);text-transform:uppercase;margin-bottom:2px}.quick-date-num{font-size:.85rem;font-weight:700;color:var(--text-dark)}.calendar-dropdown{position:relative;display:inline-block}.calendar-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid var(--border);border-radius:10px;background:#fff;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--text-dark);transition:all .2s ease}.calendar-toggle:hover{border-color:#cbd5e1;background:#f1f5f9}.calendar-toggle-icon{font-size:1.1rem}.calendar-toggle-text{flex:1}.calendar-toggle-arrow{font-size:.8rem;color:var(--text-light);transition:transform .2s ease}.calendar-toggle-arrow--open{transform:rotate(180deg)}.calendar-popup{position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:#fff;border:1.5px solid var(--accent-border);border-radius:12px;box-shadow:0 8px 30px #00000026;padding:14px;min-width:280px;max-width:calc(100vw - 24px);max-height:340px;overflow-y:auto;animation:calendarFadeIn .15s ease}@keyframes calendarFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.calendar-month{margin-bottom:14px}.calendar-month:last-child{margin-bottom:0}.calendar-month-title{font-size:.85rem;font-weight:700;color:var(--text-dark);text-align:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-header-cell{text-align:center;font-size:.65rem;font-weight:700;color:var(--text-light);padding:4px 0;text-transform:uppercase}.calendar-cell{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;background:transparent;color:var(--text-dark);transition:all .15s ease}.calendar-cell:hover{background:#f1f5f9}.calendar-cell--empty{cursor:default}.calendar-cell--empty:hover{background:transparent}.calendar-cell--selected{background:#3b82f6;color:#fff;box-shadow:0 2px 6px #3b82f659}.calendar-cell--selected:hover{background:#2563eb}.timeslot-legend{display:flex;gap:16px;justify-content:center;margin-bottom:14px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;color:var(--text-light)}.legend-dot{width:12px;height:12px;border-radius:4px}.legend-dot--available{background:var(--success)}.legend-dot--booked{background:var(--danger)}.legend-dot--past{background:#ccc}.timeslot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.timeslot{padding:14px 8px;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-align:center;letter-spacing:.3px}.timeslot--available{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;box-shadow:0 2px 6px #27ae604d}.timeslot--available:hover{transform:translateY(-2px);box-shadow:0 4px 12px #27ae6066}.timeslot--available:active{transform:translateY(0)}.timeslot--booked{background:linear-gradient(135deg,#e74c3c,#ec7063);color:#fff;opacity:.8;cursor:not-allowed}.timeslot--past{background:#f0f0f0;color:#bbb;cursor:not-allowed}.duration-modal{text-align:center}.duration-info{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.duration-info:last-of-type{margin-bottom:20px}.duration-info-label{font-size:.9rem;color:var(--text-light)}.duration-info-value{font-size:.95rem;font-weight:700;color:var(--text-dark)}.duration-options{display:flex;flex-direction:column;gap:10px}.duration-option{position:relative;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border:2px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease}.duration-option:hover:not(:disabled){border-color:var(--accent, #5FFB17);background:var(--accent-bg);transform:translateY(-1px);box-shadow:0 4px 12px #5ffb171a}.duration-option:active:not(:disabled){transform:translateY(0)}.duration-option--unavailable{opacity:.4;cursor:not-allowed}.duration-option--unavailable:hover{border-color:var(--border);background:#fff;transform:none;box-shadow:none}.duration-option-time{font-size:1.05rem;font-weight:700;color:var(--text-dark)}.duration-option-price{font-size:1rem;font-weight:700;color:var(--accent, #5FFB17)}.duration-option-badge{position:absolute;top:-8px;right:12px;background:#eee;color:var(--text-light);font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.booking-review{padding:4px 0}.booking-review-details{background:#f8fafc;border:1px solid #E5E7EB;border-radius:12px;overflow:hidden;margin-bottom:16px}.booking-review-row{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #E5E7EB}.booking-review-row:last-child{border-bottom:none}.booking-review-row--price{background:#eff6ff}.booking-review-label{font-size:.88rem;color:#64748b;font-weight:500}.booking-review-value{font-size:.95rem;font-weight:600;color:#0f172a;text-align:right}.booking-review-price{font-size:1.05rem;font-weight:700;color:#2563eb}.booking-review-note{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#f39c121f;border-radius:10px;color:#d4940a;font-size:.85rem;font-weight:500;margin-bottom:20px}.booking-review-actions{display:flex;gap:10px}.booking-review-actions .btn{flex:1}.booking-confirmation{text-align:center;padding:8px 0}.confirmation-icon{margin-bottom:16px}.confirmation-message{font-size:1.05rem;font-weight:600;color:var(--text-dark);margin-bottom:16px;line-height:1.5}.confirmation-note{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#f39c121f;border-radius:10px;color:#d4940a;font-size:.85rem;font-weight:500;margin-bottom:24px}.confirmation-actions{display:flex;gap:10px}.confirmation-actions .btn{flex:1}.login-prompt{text-align:center;padding:8px 0}.login-prompt-icon{margin-bottom:16px}.login-prompt-text{font-size:1rem;color:var(--text-dark);margin-bottom:24px;line-height:1.5}.login-prompt-actions{display:flex;gap:10px}.login-prompt-actions .btn{flex:1}.booking-overlay{position:fixed;inset:0;background:#ffffffd9;display:flex;align-items:center;justify-content:center;z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(max-width:768px){.timeslot-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.booking-page{padding-left:12px;padding-right:12px}.timeslot-grid{grid-template-columns:repeat(2,1fr);gap:6px}.timeslot{padding:12px 6px;font-size:.85rem}.court-selector{border-radius:10px}.court-tab{padding:10px 16px;font-size:.9rem}.quick-date-btn{min-width:64px;padding:8px 10px}.quick-date-label{font-size:.7rem}.quick-date-num{font-size:.8rem}.calendar-popup{min-width:260px;right:0;left:auto}.duration-option{padding:14px 16px}.duration-option-time{font-size:.95rem}.duration-option-price{font-size:.9rem}.booking-review-actions,.confirmation-actions,.login-prompt-actions{flex-direction:column}.booking-review-row{padding:12px 14px}}@media(max-width:360px){.quick-date-btn{min-width:58px;padding:6px 8px}.calendar-popup{min-width:auto;width:calc(100vw - 24px);left:0;right:0}.timeslot-grid{gap:4px}.timeslot{padding:10px 4px;font-size:.8rem;border-radius:8px}}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{background:#fff;border:1px solid #E5E7EB;box-shadow:0 8px 24px #0000000d;border-radius:16px;border-left:4px solid #3B82F6;padding:16px 20px;transition:transform .2s}.history-item--cancelled{opacity:.7}.history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.history-item-date{font-size:1.05rem;font-weight:700;color:#2563eb}.history-status{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.history-status--active{background:#27ae6026;color:var(--success)}.history-status--cancelled{background:#fee2e2;color:#dc2626}.history-item-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.history-detail{display:flex;flex-direction:column;gap:2px}.history-detail-label{font-size:.75rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.3px}.history-detail-value{font-size:.95rem;font-weight:600;color:var(--text-dark)}.history-item-actions{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);display:flex;align-items:center;gap:12px}.btn-cancel{padding:8px 20px;font-size:.85rem}.cancel-hint{font-size:.78rem;color:var(--text-light);font-style:italic}.history-login-btn{margin-top:16px}@media(max-width:480px){.history-item-details{grid-template-columns:1fr 1fr;gap:10px}.history-item-actions{flex-direction:column;align-items:flex-start}.btn-cancel{width:100%}}.profile-page{background:#f8fafc;min-height:calc(100vh - var(--header-height) - var(--bottom-nav-height));padding:24px 16px}.profile-page .section-title{color:#0f172a;font-weight:700}.profile-auth-container{max-width:420px;margin:0 auto}.profile-form-card{background:#fff;border:1px solid #E5E7EB;box-shadow:0 10px 30px #0000000d;border-radius:16px;padding:28px 24px}.profile-form-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin-bottom:20px;text-align:center}.profile-form-desc{font-size:.9rem;color:var(--text-light);text-align:center;margin-bottom:20px;line-height:1.4}.profile-form-links{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.profile-info-card{background:#fff;border:1px solid #E5E7EB;box-shadow:0 10px 30px #0000000d;border-radius:16px;padding:20px;margin-bottom:24px}.profile-info-title{font-size:1.15rem;font-weight:700;color:#0f172a;margin-bottom:16px;border-left:4px solid #3B82F6;padding-left:12px}.profile-details{display:flex;flex-direction:column;gap:0}.profile-detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #F1F5F9}.profile-detail-row:last-child{border-bottom:none}.profile-detail-label{font-size:.9rem;color:var(--text-light);font-weight:500}.profile-detail-value{font-size:.95rem;font-weight:600;color:var(--text-dark)}.profile-no-data{font-size:.9rem;color:var(--text-light);text-align:center;padding:16px 0}.profile-reset-btn{margin-top:20px;background:#f1f5f9!important;color:#1f2937!important;border:1px solid #E5E7EB!important}.profile-reset-btn:hover{background:#e2e8f0!important}.profile-password-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.profile-password-form .form-group{margin-bottom:14px}.profile-password-form .btn-primary{margin-top:4px}.profile-signout-btn{margin-top:12px;background:#ef4444!important;border-radius:12px!important;box-shadow:0 4px 14px #ef44444d}.profile-signout-btn:hover{background:#dc2626!important}.profile-bookings-section{margin-top:24px}.profile-bookings-empty{background:#f8fafc;border:1px dashed #CBD5E1;border-radius:16px;padding:24px;text-align:center;color:#64748b;font-size:.95rem}.profile-bookings-list{display:flex;flex-direction:column;gap:12px}.profile-booking-card{background:#fff;border:1px solid #E5E7EB;box-shadow:0 8px 24px #0000000d;border-radius:16px;border-left:4px solid #3B82F6;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.profile-booking-info{flex:1;min-width:0}.profile-booking-date{font-size:.95rem;font-weight:700;color:#2563eb;margin-bottom:2px}.profile-booking-time{font-size:.9rem;color:#3b82f6;font-weight:600;margin-bottom:4px}.profile-booking-details{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-light)}.profile-booking-court{font-weight:500}.profile-booking-duration{padding-left:8px;border-left:1px solid var(--border)}.profile-booking-actions{flex-shrink:0}.btn-sm{padding:8px 14px;font-size:.8rem}.profile-booking-no-cancel{font-size:.78rem;color:var(--text-light);white-space:nowrap}.admin-page{max-width:1000px;background:#f8fafc;min-height:calc(100vh - var(--header-height) - var(--bottom-nav-height));margin:0 auto}.admin-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.admin-title{font-size:1.5rem;font-weight:700;color:#0f172a}.admin-badge{background:#0f172a;color:#fff;font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.admin-denied{text-align:center;padding:60px 20px}.admin-denied-icon{font-size:3rem;margin-bottom:16px}.admin-denied h2{font-size:1.3rem;color:#0f172a;margin-bottom:8px}.admin-denied p{color:#64748b;margin-bottom:24px}.admin-tabs{display:flex;gap:4px;background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:4px;margin-bottom:24px;overflow-x:auto;box-shadow:0 1px 3px #0000000a}.admin-tab{flex:1;padding:10px 16px;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;background:transparent;color:#64748b;transition:all .2s;white-space:nowrap}.admin-tab--active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.admin-tab:not(.admin-tab--active):hover{color:#0f172a;background:#f1f5f9}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}.stat-card{background:#fff;border:1px solid #E5E7EB;border-radius:16px;padding:20px 16px;text-align:center;box-shadow:0 4px 16px #0000000a}.stat-card--warning .stat-number{color:#dc2626}.stat-number{font-size:1.8rem;font-weight:800;color:#2563eb;line-height:1;margin-bottom:6px}.stat-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.admin-section{margin-bottom:20px}.admin-section-title{font-size:1.05rem;font-weight:700;color:#0f172a;margin-bottom:4px;border-left:4px solid #3B82F6;padding-left:12px}.admin-section-desc{font-size:.85rem;color:#64748b;margin-bottom:16px;padding-left:16px}.admin-empty{text-align:center;padding:30px;color:#64748b;font-size:.9rem;background:#f8fafc;border:1px dashed #CBD5E1;border-radius:12px}.admin-count{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:.8rem;color:#64748b;margin-top:12px;padding-top:12px;border-top:1px solid #F1F5F9}.admin-refresh-info{font-size:.75rem;color:#94a3b8;font-style:italic}.admin-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid #E5E7EB;box-shadow:0 4px 16px #0000000a}.admin-table{width:100%;border-collapse:collapse;background:#fff;font-size:.85rem}.admin-table thead{background:#f8fafc}.admin-table th{padding:10px 12px;text-align:left;font-weight:700;font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #E5E7EB}.admin-table td{padding:10px 12px;border-bottom:1px solid #F1F5F9;color:#1e293b}.admin-table tbody tr:hover{background:#f8fafc}.admin-table .tr--cancelled{opacity:.5}.admin-table .tr--past{opacity:.65;background:#fafafa}.td-time{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:#2563eb}.contact-info{font-size:.8rem;color:#64748b}.badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.badge--active{background:#dcfce7;color:#16a34a}.badge--cancelled{background:#fee2e2;color:#dc2626}.badge--completed{background:#e5e7eb;color:#475569}.badge--blocked{background:#fef3c7;color:#d97706}.badge--phone{background:#dbeafe;color:#2563eb}.btn-sm{padding:6px 12px;font-size:.75rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn-sm.btn-danger{background:#ef4444;color:#fff;box-shadow:0 2px 6px #ef444440}.btn-sm.btn-danger:hover{background:#dc2626}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.admin-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px;padding:16px;background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 4px 16px #0000000a}.filter-group{display:flex;flex-direction:column;gap:4px;flex:1;min-width:120px}.filter-group label{font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase}.filter-group input,.filter-group select{padding:8px 10px;border:1px solid #E5E7EB;border-radius:8px;font-size:.85rem;outline:none;background:#fff}.filter-group input:focus,.filter-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-quick{display:flex;gap:4px;margin-top:4px}.filter-quick-btn{padding:3px 8px;font-size:.7rem;font-weight:600;border:1px solid #E5E7EB;border-radius:4px;background:#fff;cursor:pointer;color:#64748b}.filter-quick-btn--active{background:#3b82f6;color:#fff;border-color:#3b82f6}.filter-btn{padding:8px 20px;font-size:.85rem;min-width:auto;align-self:flex-end;background:#3b82f6!important;color:#fff!important;border-radius:8px}.filter-btn:hover{background:#2563eb!important}.admin-history-toggle{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;flex-wrap:wrap}.history-toggle-label{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:#0f172a;cursor:pointer}.history-toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3B82F6}.history-hidden-info{font-size:.75rem;color:#94a3b8;font-style:italic}.block-day-card{max-width:500px;background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:20px;box-shadow:0 4px 16px #0000000f}.block-day-card .form-group input{width:100%}.block-divider{max-width:500px;height:1px;background:#e5e7eb;margin:32px 0}.block-form{max-width:500px;background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:20px;box-shadow:0 4px 16px #0000000f}.block-form-row{display:flex;gap:12px}.block-form-row .form-group{flex:1}.block-form select{width:100%;padding:10px 14px;border:1px solid #E5E7EB;border-radius:8px;font-size:.95rem;outline:none;background:#fff}.block-form select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.admin-search{margin-bottom:16px}.search-input{width:100%;padding:10px 14px;border:1px solid #E5E7EB;border-radius:10px;font-size:.9rem;outline:none;background:#fff;box-shadow:0 1px 3px #0000000a}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-filters{flex-direction:column}.filter-group{min-width:100%}.admin-table{font-size:.8rem}.admin-table th,.admin-table td{padding:8px}}@media(max-width:480px){.admin-tabs{gap:2px}.admin-tab{padding:8px 10px;font-size:.8rem}.stat-card{padding:14px 10px}.stat-number{font-size:1.4rem}.block-form-row{flex-direction:column;gap:0}}@media(max-width:360px){.stats-grid{grid-template-columns:1fr}.admin-page{padding-left:0;padding-right:0}.admin-table{font-size:.75rem}.admin-table th,.admin-table td{padding:6px 4px}}.reset-password-container{max-width:420px;margin:0 auto}.reset-password-card{padding:32px 24px;text-align:center}.reset-password-icon{font-size:2.5rem;margin-bottom:16px}.reset-password-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin-bottom:12px}.reset-password-desc{font-size:.9rem;color:var(--text-light);line-height:1.5;margin-bottom:24px}.reset-password-card form{text-align:left}.reset-password-card .form-group{margin-bottom:16px}.reset-password-card .btn-full{margin-top:8px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;max-width:100%}:root{--primary: #e94560;--primary-dark: #c23152;--bg-dark: #1a1a2e;--bg-darker: #16213e;--text-dark: #1a1a2e;--text-light: #666;--text-white: #ffffff;--border: #e0e0e0;--success: #27ae60;--warning: #f39c12;--danger: #e74c3c;--card-shadow: 0 2px 12px rgba(0, 0, 0, .08);--header-height: 60px;--bottom-nav-height: 64px;--accent: #5FFB17;--accent-bg: rgba(95, 251, 23, .12);--accent-border: rgba(95, 251, 23, .35)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-dark);background:#fff;-webkit-font-smoothing:antialiased}.app{min-height:100vh}.main-content{padding-top:calc(var(--header-height) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));min-height:100vh}@keyframes spin{to{transform:rotate(360deg)}}.page-container{max-width:800px;margin:0 auto;padding:24px 16px}.section{margin-bottom:40px}.section-title{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:16px;text-align:center}.card{background:var(--accent-bg);border-radius:12px;padding:20px;border:1.5px solid var(--accent-border);box-shadow:var(--card-shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#eee;color:var(--text-dark)}.btn-secondary:hover{background:#ddd}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#c0392b}.btn-full{width:100%}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:.85rem;font-weight:600;color:var(--text-dark)}.form-group input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;transition:border-color .2s;outline:none;background:#fff;color:var(--text-dark)}.form-group input:focus{border-color:var(--accent)}.form-error{color:var(--danger);font-size:.85rem;margin-top:4px}.form-success{color:var(--success);font-size:.85rem;margin-top:4px}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.alert-error{background:#fde8e8;color:var(--danger);border:1px solid #f5c6c6}.alert-success{background:#e8f8ef;color:var(--success);border:1px solid #c6f5d5}.alert-info{background:#e8f0fe;color:#1a73e8;border:1px solid #c6d8f5}.text-link{color:var(--primary);cursor:pointer;font-size:.9rem;background:none;border:none;text-decoration:underline;padding:0}.text-link:hover{color:var(--primary-dark)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-light)}.empty-state-icon{font-size:3rem;margin-bottom:12px}.empty-state p{font-size:.95rem}[data-scroll]{opacity:0;transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}[data-scroll].scrolled{opacity:1;transform:none}[data-scroll=fade-up]{transform:translateY(40px)}[data-scroll=fade-left]{transform:translate(-40px)}[data-scroll=fade-right]{transform:translate(40px)}[data-scroll=scale-up]{transform:scale(.92)}@media(prefers-reduced-motion:reduce){[data-scroll]{opacity:1;transform:none;transition:none}}
