@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");:root{--color-navy:#1A2744;--color-navy-dark:#0F1A30;--color-navy-medium:#2A3F6B;--color-navy-light:#3D5A9A;--color-navy-pale:#E8EDF5;--color-navy-wash:#F2F5FA;--color-crimson:#C41E2A;--color-crimson-dark:#9A1520;--color-crimson-light:#E8323F;--color-crimson-pale:rgba(196,30,42,0.08);--color-white:#FFFFFF;--color-white-70:rgba(255,255,255,0.70);--color-white-50:rgba(255,255,255,0.50);--color-white-30:rgba(255,255,255,0.30);--color-amber:#E5A100;--color-amber-light:#FFF8E1;--color-green:#1B8A4A;--color-green-light:#E6F7ED;--color-gray-900:#1A1A2E;--color-gray-700:#3D3D5C;--color-gray-500:#7A7A8A;--color-gray-300:#C4C4D0;--color-gray-100:#EDEDF2;--color-gray-50:#F8F8FC;--color-success:#1B8A4A;--color-success-light:#E6F7ED;--color-warning:#E5A100;--color-warning-light:#FFF8E1;--color-error:#C41E2A;--color-error-light:#FDECEA;--color-info:#2A3F6B;--color-info-light:#E8EDF5;--slot-available-bg:#F2F5FA;--slot-available-border:#C4C4D0;--slot-available-text:#7A7A8A;--slot-booked-bg:#E8EDF5;--slot-booked-border:#2A3F6B;--slot-booked-text:#1A2744;--slot-locked-bg:#EDEDF2;--slot-locked-border:#C4C4D0;--slot-locked-text:#7A7A8A;--slot-peak-bg:#FFF8E1;--slot-peak-border:#E5A100;--slot-peak-text:#1A2744;--slot-offpeak-bg:#E6F7ED;--slot-offpeak-border:#1B8A4A;--slot-offpeak-text:#1A2744;--slot-yours-bg:rgba(196,30,42,0.08);--slot-yours-border:#C41E2A;--slot-yours-text:#C41E2A;--slot-blocked-bg:#EDEDF2;--slot-blocked-border:#C4C4D0;--slot-blocked-text:#7A7A8A;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--font-admin:"Plus Jakarta Sans","Inter",-apple-system,sans-serif;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--text-5xl:48px;--text-6xl:60px;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--weight-black:900;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(15,26,48,0.08);--shadow-md:0 4px 12px rgba(15,26,48,0.12);--shadow-lg:0 8px 24px rgba(15,26,48,0.16);--shadow-xl:0 16px 48px rgba(15,26,48,0.20);--shadow-crimson:0 4px 12px rgba(196,30,42,0.35);--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--transition-slower:400ms ease;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-fab:150;--header-height:64px;--sidebar-width:240px;--time-col-width:64px;--court-col-min-width:140px;--slot-hour-height:50px;--footer-bar-height:36px}[data-theme=dark]{--color-navy-wash:#1A2744;--color-navy-pale:#0F1A30;--color-gray-50:#0F1A30;--color-gray-500:#7A7A8A;--color-white:#FFFFFF}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-size:var(--text-base);font-weight:var(--weight-regular);background-color:var(--color-gray-50);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);color:var(--color-navy)}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-bold);line-height:1.2}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-md)}p{line-height:1.7}a{color:var(--color-crimson);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-crimson-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1;cursor:pointer;border:2px solid transparent;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-crimson);color:var(--color-white);border-color:var(--color-crimson)}.btn-primary:hover{background-color:var(--color-crimson-dark);border-color:var(--color-crimson-dark);color:var(--color-white);transform:translateY(-1px);box-shadow:var(--shadow-crimson)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:transparent;color:var(--color-navy);border-color:var(--color-navy)}.btn-secondary:hover{background-color:var(--color-navy);color:var(--color-white)}.btn-ghost{background-color:transparent;color:var(--color-white);border-color:var(--color-white-50)}.btn-ghost:hover{background-color:var(--color-white-30);border-color:var(--color-white);color:var(--color-white)}.btn-social{background-color:var(--color-white);color:var(--color-navy);border-color:var(--color-gray-300);box-shadow:var(--shadow-sm)}.btn-social:hover{border-color:var(--color-navy);box-shadow:var(--shadow-md);color:var(--color-navy)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.btn-full{width:100%}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-navy)}.form-input{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-gray-300);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-base);color:var(--color-navy);background-color:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-input:focus{border-color:var(--color-navy);box-shadow:0 0 0 3px rgba(26,39,68,.1)}.form-input::placeholder{color:var(--color-gray-500)}.form-input.error{border-color:var(--color-crimson);box-shadow:0 0 0 3px rgba(196,30,42,.1)}.form-error{font-size:var(--text-sm);color:var(--color-crimson);display:flex;align-items:center;gap:var(--space-1)}.card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-gray-100)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-gray-100);background-color:var(--color-gray-50)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.4}.badge-navy{background-color:var(--color-navy-medium);color:var(--color-white)}.badge-crimson{background-color:var(--color-crimson);color:var(--color-white)}.badge-amber{background-color:var(--color-amber);color:var(--color-white)}.badge-green{background-color:var(--color-green);color:var(--color-white)}.badge-gray{background-color:var(--color-gray-100);color:var(--color-gray-700)}.fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:var(--radius-full);background-color:var(--color-crimson);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:var(--weight-light);box-shadow:var(--shadow-crimson);transition:all var(--transition-base);z-index:var(--z-fab);text-decoration:none}.fab,.fab:hover{color:var(--color-white)}.fab:hover{background-color:var(--color-crimson-dark);transform:scale(1.05)}.fab:active{transform:scale(.98)}.fab--hidden{opacity:0;pointer-events:none;transform:scale(.8);transition:all var(--transition-base)}@media (max-width:767px){.fab{width:60px;height:60px;bottom:20px;right:16px}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-gray-100) 25%,#F5F5FA 50%,var(--color-gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.toast-container{position:fixed;top:80px;right:16px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:360px}@media (max-width:767px){.toast-container{top:72px;right:12px;left:12px;max-width:none}}.toast{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-4) var(--space-5);display:flex;align-items:flex-start;gap:var(--space-3);animation:slideInRight var(--transition-slow) ease-out;border-left:4px solid var(--color-navy)}.toast-success{border-left-color:var(--color-green)}.toast-error{border-left-color:var(--color-crimson)}.toast-warning{border-left-color:var(--color-amber)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-overlay{position:fixed;inset:0;background-color:rgba(15,26,48,.6);backdrop-filter:blur(4px);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn var(--transition-base) ease}.modal{background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:scaleIn var(--transition-base) ease;z-index:var(--z-modal)}.modal-header{border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:space-between}.modal-body,.modal-header{padding:var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-gray-100);display:flex;gap:var(--space-3);justify-content:flex-end}.divider{display:flex;align-items:center;gap:var(--space-4);color:var(--color-gray-500);font-size:var(--text-sm)}.divider:after,.divider:before{content:"";flex:1;height:1px;background-color:var(--color-gray-100)}.sport-badge-badminton{background-color:var(--color-navy-medium);color:var(--color-white)}.sport-badge-pickleball{background-color:var(--color-crimson);color:var(--color-white)}.sport-badge-hybrid{background-color:var(--color-amber);color:var(--color-white)}.slot-block{border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);border-width:1px;border-style:solid;overflow:hidden;transition:all var(--transition-fast);cursor:pointer;height:100%;display:flex;flex-direction:column;justify-content:center}.slot-available{background-color:var(--slot-available-bg);border-color:var(--slot-available-border);border-style:dashed;color:var(--slot-available-text)}.slot-available:hover{background-color:#E8EDF5;border-color:var(--color-navy-light)}.slot-booked{background-color:var(--slot-booked-bg);border-color:var(--slot-booked-border);color:var(--slot-booked-text);cursor:default}.slot-locked{background-color:var(--slot-locked-bg);border-color:var(--slot-locked-border);border-style:dashed;color:var(--slot-locked-text);cursor:default}.slot-peak{background-color:var(--slot-peak-bg);border-color:var(--slot-peak-border);color:var(--slot-peak-text)}.slot-offpeak{background-color:var(--slot-offpeak-bg);border-color:var(--slot-offpeak-border);color:var(--slot-offpeak-text)}.slot-yours{background-color:var(--slot-yours-bg);border-color:var(--slot-yours-border);color:var(--slot-yours-text)}.slot-blocked{background-color:var(--slot-blocked-bg);border-color:var(--slot-blocked-border);border-style:dashed;color:var(--slot-blocked-text);cursor:not-allowed}.slot-selected{background-color:#D6E0F0;border:2px solid var(--color-navy);color:var(--color-navy)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--space-6)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-navy{color:var(--color-navy)}.text-crimson{color:var(--color-crimson)}.text-white{color:var(--color-white)}.text-gray{color:var(--color-gray-500)}.text-amber{color:var(--color-amber)}.text-green{color:var(--color-green)}.bg-navy{background-color:var(--color-navy)}.bg-navy-dark{background-color:var(--color-navy-dark)}.bg-crimson{background-color:var(--color-crimson)}.bg-white{background-color:var(--color-white)}.font-mono{font-family:var(--font-mono)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:767px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.container{padding:0 var(--space-4)}}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes bellBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes slotFlash{0%{box-shadow:0 0 0 0 rgba(196,30,42,.5)}50%{box-shadow:0 0 0 6px rgba(196,30,42,0)}to{box-shadow:0 0 0 0 rgba(196,30,42,0)}}.slot-flash{animation:slotFlash .6s ease-out}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.count-up{animation:countUp .4s ease-out}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}.page-enter{animation:pageFadeIn .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px) scale(1.02)}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}@keyframes shimmerSweep{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-enhanced{background:linear-gradient(90deg,var(--color-gray-100) 25%,rgba(255,255,255,.6) 50%,var(--color-gray-100) 75%);background-size:200% 100%;animation:shimmerSweep 1.5s ease-in-out infinite;border-radius:var(--radius-md)}[data-theme=dark]{--color-navy-wash:#0F1A30;--color-navy-pale:#1A2744;--color-gray-50:#0B1120;--color-gray-100:#1A2744;--color-gray-300:#2A3F6B;--color-gray-500:#8A8A9A;--color-gray-700:#C4C4D0;--color-gray-900:#F8F8FC;--slot-available-bg:#1A2744;--slot-available-border:#2A3F6B;--slot-available-text:#C4C4D0;--slot-booked-bg:#2A3F6B;--slot-booked-border:#3D5A9A;--slot-booked-text:#E8EDF5;--slot-locked-bg:#1A2744;--slot-locked-border:#3D5A9A;--slot-locked-text:#8A8A9A;--slot-peak-bg:rgba(229,161,0,0.15);--slot-peak-border:#E5A100;--slot-offpeak-bg:rgba(27,138,74,0.15);--slot-offpeak-border:#1B8A4A;--slot-yours-bg:rgba(196,30,42,0.15);--slot-blocked-bg:#0F1A30;--slot-blocked-border:#1A2744}[data-theme=dark] body{color:#E8EDF5;background-color:#0B1120}[data-theme=dark] .card,[data-theme=dark] .modal{background-color:#1A2744;border-color:#2A3F6B}[data-theme=dark] .toast{background-color:#1A2744;color:#E8EDF5}:focus-visible{outline:2px solid var(--color-crimson);outline-offset:2px;border-radius:var(--radius-sm)}.skip-to-content{position:absolute;top:-100%;left:16px;z-index:9999;padding:8px 16px;background:var(--color-crimson);color:white;font-weight:700;border-radius:var(--radius-md);transition:top .2s}.skip-to-content:focus{top:8px}@media (max-width:767px){a,button,input[type=checkbox],input[type=radio],select{min-height:44px;min-width:44px}}.sr-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.threeatoms-watermark{font-size:.7rem;color:rgba(255,255,255,.55);background:none;border:none;cursor:pointer;padding:0;transition:color .2s ease,opacity .2s ease}.threeatoms-watermark:hover{color:rgba(255,255,255,.85)}.threeatoms-watermark strong{font-weight:700}.threeatoms-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.threeatoms-modal{background:var(--color-white);border-radius:12px;max-width:420px;width:100%;overflow:hidden;box-shadow:0 24px 48px rgba(0,0,0,.25)}.threeatoms-header{background:var(--color-navy-dark);padding:1.25rem 3rem 1rem 1.25rem;position:relative;text-align:center}.threeatoms-logo{height:48px;width:auto;object-fit:contain;display:block;margin:0 auto .5rem}.threeatoms-subtitle{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:600}.threeatoms-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:transparent;color:rgba(255,255,255,.7);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:6px;transition:color .2s,background .2s}.threeatoms-close:hover{color:var(--color-white);background:rgba(255,255,255,.1)}.threeatoms-body{padding:1.5rem 1.25rem;color:var(--color-gray-900)}.threeatoms-copy{font-size:.9rem;line-height:1.6;margin-bottom:1.25rem;color:var(--color-gray-700)}.threeatoms-copy strong{color:var(--color-navy-dark)}.threeatoms-actions{display:flex;flex-wrap:wrap;gap:.75rem}.threeatoms-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:8px;text-decoration:none;transition:opacity .2s,transform .15s}.threeatoms-btn:hover{opacity:.9;transform:translateY(-1px)}.threeatoms-btn-primary{background:var(--color-crimson);color:var(--color-white);border:none}.threeatoms-btn-ghost{background:var(--color-gray-100);color:var(--color-gray-900);border:1px solid var(--color-gray-300)}.threeatoms-btn-whatsapp{background:#dcf8c6;color:#128c7e;border:none}.footer-loading{background:linear-gradient(135deg,#0F1A30,#1A2744);border-top:4px solid var(--color-crimson);padding:2rem;display:flex;align-items:center;justify-content:center;min-height:120px}.footer-loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.15);border-top:3px solid var(--color-crimson);border-radius:50%;animation:footer-spin .8s linear infinite}@keyframes footer-spin{to{transform:rotate(1turn)}}