@import url(https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap);@font-face{font-display:swap;font-family:FCVision;font-style:normal;font-weight:400 800;src:url(/static/media/FCVision-Heavy.b71ba61c9d049004d234.ttf) format("truetype")}:root{--ink:#061823;--navy:#073659;--navy-hover:#0a4a73;--accent:#ffde17;--accent-hover:#ffe84d;--surface:#e5e7eb;--surface-alt:#dbe0e6;--page:var(--surface-alt);--page-deep:#c7cfd7;--line:#c3ccd5;--line-soft:#d2d8df;--line-strong:#aeb9c5;--line-input:#5b7990;--text:#061823;--text-mid:#2d4e68;--muted:#42637e;--muted-soft:#6b869b;--on-dark:#e5e7eb;--danger:#c81e1e;--danger-hover:#a81616;--danger-soft:#e1cfd2;--blue-900:var(--ink);--blue-800:var(--ink);--blue-700:var(--navy);--blue-600:var(--navy-hover);--blue-500:var(--navy);--blue-400:var(--muted-soft);--blue-100:var(--surface-alt);--blue-50:var(--surface-alt);--green-900:var(--ink);--green-800:var(--ink);--green-700:var(--navy);--green-600:var(--navy-hover);--green-500:var(--navy);--green-300:var(--muted-soft);--green-200:var(--line);--green-100:var(--surface-alt);--green-50:var(--surface-alt);--gold-600:#d4a800;--gold-500:var(--accent);--gold-400:var(--accent-hover);--gold-300:#ffef80;--gold-100:var(--surface-alt);--amber-700:var(--ink);--amber-500:var(--ink);--amber-300:var(--accent);--amber-100:var(--accent);--amber-50:var(--surface-alt);--red-500:var(--danger);--red-300:var(--danger);--red-100:var(--danger-soft);--red-50:var(--danger-soft);--cream:var(--page);--cream-dark:var(--page-deep);--gray-900:var(--ink);--gray-800:var(--ink);--gray-700:var(--text-mid);--gray-600:var(--muted);--gray-500:var(--muted);--gray-400:var(--muted-soft);--gray-300:var(--line-strong);--gray-200:var(--line);--gray-100:var(--line-soft);--gray-50:var(--surface-alt);--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-2xl:28px;--radius-full:9999px;--shadow-sm:0 1px 2px #0618230d;--shadow-md:0 4px 14px #06182312;--shadow-lg:0 10px 28px #06182317;--shadow-xl:0 18px 44px #06182324;--ring:0 0 0 3px #07365924;--font-body:"Poppins","FCVision",-apple-system,sans-serif;--font-display:"Poppins","FCVision",sans-serif;--font-serif:"Poppins","FCVision",Georgia,serif;--eyebrow-spacing:0.6px}*{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{color:inherit;font-family:inherit}input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])),select,textarea{background-color:#dbe0e6;background-color:var(--surface-alt)}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#dbe0e6;background:var(--page);font-family:Poppins,FCVision,-apple-system,sans-serif;font-family:var(--font-body);font-size:15px;line-height:1.6}body,h1,h2,h3,h4,h5,h6{color:#061823;color:var(--text)}h1,h2,h3,h4,h5,h6{font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-weight:600;line-height:1.3}.mobile-wrapper{background:#dbe0e6;background:var(--page);margin:0 auto;max-width:430px;overflow-x:hidden;position:relative}.auth-page,.mobile-wrapper{display:flex;flex-direction:column;min-height:100vh}.auth-page{align-items:center;background:#061823;background:var(--ink);justify-content:center;padding:24px}.auth-card{background:#e5e7eb;background:var(--surface);border-radius:28px;border-radius:var(--radius-2xl);box-shadow:0 18px 44px #06182324;box-shadow:var(--shadow-xl);max-width:400px;padding:40px 32px;width:100%}.auth-logo{margin-bottom:28px;text-align:center}.auth-logo h1{color:#073659;color:var(--navy);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.2px}.auth-logo .icon{display:block;font-size:44px;margin-bottom:10px}.auth-title{color:#073659;color:var(--navy);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.2px;margin-bottom:28px;text-align:center}.auth-title:after{background:#ffde17;background:var(--accent);border-radius:9999px;border-radius:var(--radius-full);content:"";display:block;height:3px;margin:12px auto 0;width:36px}.form-group{margin-bottom:18px}.form-group label{color:#42637e;color:var(--muted);display:block;font-size:13px;font-weight:500;margin-bottom:7px}.form-input{background:#dbe0e6;background:var(--surface-alt);border:1px solid #5b7990;border:1px solid var(--line-input);border-radius:14px;border-radius:var(--radius-md);color:#061823;color:var(--text);font-family:Poppins,FCVision,-apple-system,sans-serif;font-family:var(--font-body);font-size:15px;padding:13px 16px;transition:border-color .2s,box-shadow .2s,background .2s;width:100%}.form-input::placeholder{color:#6b869b;color:var(--muted-soft)}.form-input:focus{background:#e5e7eb;background:var(--surface);border-color:#073659;border-color:var(--navy);box-shadow:0 0 0 3px #07365924;box-shadow:var(--ring);outline:none}.form-select{-webkit-appearance:none;appearance:none;background:#dbe0e6;background:var(--surface-alt);border:1px solid #5b7990;border:1px solid var(--line-input);border-radius:14px;border-radius:var(--radius-md);color:#061823;color:var(--text);cursor:pointer;font-family:Poppins,FCVision,-apple-system,sans-serif;font-family:var(--font-body);font-size:15px;padding:13px 16px;width:100%}.form-select:focus{border-color:#073659;border-color:var(--navy);box-shadow:0 0 0 3px #07365924;box-shadow:var(--ring);outline:none}input[type=date]{-webkit-appearance:none;appearance:none;box-sizing:border-box;min-height:48px;padding:13px 16px}.btn{align-items:center;border:1px solid #0000;border-radius:9999px;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:15px;font-weight:600;gap:8px;justify-content:center;letter-spacing:0;padding:13px 26px;text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.btn:focus-visible{box-shadow:0 0 0 3px #07365924;box-shadow:var(--ring);outline:none}.btn-primary{background:#073659;background:var(--navy);color:#e5e7eb;color:var(--on-dark);width:100%}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:#061823;background:var(--ink);box-shadow:0 4px 14px #06182312;box-shadow:var(--shadow-md)}}.btn-primary:disabled{background:#6b869b;background:var(--muted-soft);box-shadow:none;color:#e5e7eb;color:var(--surface);cursor:not-allowed}.btn-secondary{background:#dbe0e6;background:var(--surface-alt);border-color:#c3ccd5;border-color:var(--line);color:#073659;color:var(--navy)}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background:#c7cfd7;background:var(--page-deep)}}.btn-outline{background:#0000;border:1.5px solid #073659;border:1.5px solid var(--navy);color:#073659;color:var(--navy)}@media (hover:hover) and (pointer:fine){.btn-outline:hover{background:#073659;background:var(--navy);color:#e5e7eb;color:var(--on-dark)}}.btn-danger{background:#c81e1e;background:var(--danger);color:#f7e8e8}@media (hover:hover) and (pointer:fine){.btn-danger:hover{background:#a81616;background:var(--danger-hover)}}.btn-gold{background:#ffde17;background:var(--accent);border-radius:9999px;border-radius:var(--radius-full);color:#061823;color:var(--ink);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:0;padding:16px 26px;width:100%}@media (hover:hover) and (pointer:fine){.btn-gold:hover{background:#ffe84d;background:var(--accent-hover);box-shadow:0 4px 14px #06182312;box-shadow:var(--shadow-md)}}.btn-gold:disabled{background:#dbe0e6;background:var(--surface-alt);box-shadow:none;color:#6b869b;color:var(--muted-soft);cursor:not-allowed}.auth-link{color:#42637e;color:var(--muted);font-size:14px;margin-top:22px;text-align:center}.auth-link a{border-bottom:1.5px solid #ffde17;border-bottom:1.5px solid var(--accent);color:#073659;color:var(--navy);font-weight:600;padding-bottom:1px;text-decoration:none}.otp-inputs{display:flex;gap:10px;justify-content:center;margin:22px 0}.otp-input{background:#dbe0e6;background:var(--surface-alt);border:1px solid #5b7990;border:1px solid var(--line-input);border-radius:14px;border-radius:var(--radius-md);color:#061823;color:var(--text);font-size:22px;font-weight:600;height:58px;text-align:center;transition:border-color .2s,box-shadow .2s,background .2s;width:48px}.otp-input:focus{background:#e5e7eb;background:var(--surface);border-color:#073659;border-color:var(--navy);box-shadow:0 0 0 3px #07365924;box-shadow:var(--ring);outline:none}.home-header{background:#061823;background:var(--ink);border-radius:0 0 28px 28px;border-radius:0 0 var(--radius-2xl) var(--radius-2xl);color:#e5e7eb;color:var(--on-dark);padding:20px 20px 32px}.home-topbar{align-items:center;display:flex;flex:1 1;justify-content:space-between;margin-bottom:14px}.home-user{align-items:left;display:flex}.home-logo{align-items:center;display:block;height:80px;width:auto}.home-user-name{font-size:13px;font-weight:500}.home-welcome{font-size:11px;opacity:.75}.home-actions{display:flex;gap:8px}.icon-btn{align-items:center;background:#e5e7eb14;border:1px solid #e5e7eb38;border-radius:9999px;border-radius:var(--radius-full);color:#e5e7eb;color:var(--on-dark);cursor:pointer;display:flex;font-size:14px;font-weight:600;height:38px;justify-content:center;transition:background .2s;width:38px}@media (hover:hover) and (pointer:fine){.icon-btn:hover{background:#e5e7eb2e}}.credit-card{background:#e5e7eb12;border:1px solid #e5e7eb1f;border-radius:18px;border-radius:var(--radius-lg);padding:16px 20px}.credit-label{font-size:11px;font-weight:600;letter-spacing:.6px;letter-spacing:var(--eyebrow-spacing);margin-bottom:6px;opacity:.6;text-transform:uppercase}.credit-amount,.credit-label{font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display)}.credit-amount{color:#dbe0e6;color:var(--surface-alt);font-size:38px;font-weight:700;letter-spacing:-.5px;line-height:1.1}.credit-amount span{font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:18px;font-weight:500;opacity:.85}.book-now-section{margin-top:-18px;padding:20px}.book-now-btn{align-items:center;background:#ffde17;border:2px solid #ffde17;border:2px solid var(--accent);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 14px #06182312;box-shadow:var(--shadow-md);color:#061823;color:var(--ink);cursor:pointer;display:flex;font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:18px;font-weight:700;gap:10px;justify-content:center;letter-spacing:0;margin-top:10px;padding:18px;transition:background .18s ease,box-shadow .18s ease,transform .18s ease;width:100%}@media (hover:hover) and (pointer:fine){.book-now-btn:hover{background:#c7cfd7;background:var(--page-deep);box-shadow:0 10px 28px #06182317;box-shadow:var(--shadow-lg)}}.book-now-btn:active{box-shadow:0 1px 2px #0618230d;box-shadow:var(--shadow-sm);transform:translateY(1px)}.section-title{align-items:center;color:#42637e;color:var(--muted);display:flex;font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:12px;font-weight:600;gap:10px;letter-spacing:.6px;letter-spacing:var(--eyebrow-spacing);margin-bottom:14px;padding:0 20px;text-transform:uppercase}.section-title:before{background:#ffde17;background:var(--accent);border-radius:9999px;border-radius:var(--radius-full);content:"";display:inline-block;flex-shrink:0;height:14px;width:3px}.upcoming-list{padding:0 20px 100px}.booking-card{background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0618230d;box-shadow:var(--shadow-sm);margin-bottom:12px;padding:18px;transition:box-shadow .18s ease,border-color .18s ease}@media (hover:hover) and (pointer:fine){.booking-card:hover{border-color:#aeb9c5;border-color:var(--line-strong);box-shadow:0 4px 14px #06182312;box-shadow:var(--shadow-md)}}.booking-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.booking-card-court{color:#073659;color:var(--navy);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.2px}.booking-card-id{color:#42637e;color:var(--muted);font-family:monospace;font-size:13px;font-weight:500}.booking-card-details{color:#2d4e68;color:var(--text-mid);display:flex;font-size:14px;gap:16px}.booking-card-detail{align-items:center;display:flex;gap:5px}.status-badge{align-items:center;border:1px solid #0000;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.6px;letter-spacing:var(--eyebrow-spacing);padding:5px 12px;text-transform:uppercase;white-space:nowrap}.status-confirmed,.status-upcoming{background:#073659;background:var(--navy);color:#e5e7eb;color:var(--on-dark)}.status-completed{background:#0000;border-color:#aeb9c5;border-color:var(--line-strong);color:#073659;color:var(--navy)}.status-cancelled{background:#dbe0e6;background:var(--surface-alt);border-color:#c3ccd5;border-color:var(--line);color:#6b869b;color:var(--muted-soft)}.status-comp,.status-pending,.status-submitted{background:#ffde17;background:var(--accent);color:#061823;color:var(--ink)}.dropdown-menu{animation:fadeIn .15s ease;background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 10px 28px #06182317;box-shadow:var(--shadow-lg);min-width:200px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.dropdown-item{align-items:center;background:none;border:none;color:#2d4e68;color:var(--text-mid);cursor:pointer;display:flex;font-family:Poppins,FCVision,-apple-system,sans-serif;font-family:var(--font-body);font-size:14px;gap:10px;padding:12px 16px;text-align:left;transition:background .15s;width:100%}@media (hover:hover) and (pointer:fine){.dropdown-item:hover{background:#dbe0e6;background:var(--surface-alt)}}.dropdown-item.danger{color:#c81e1e;color:var(--danger)}.dropdown-divider{background:#d2d8df;background:var(--line-soft);height:1px}.booking-page{background:#dbe0e6;background:var(--page);min-height:100vh}.booking-header,.page-header{align-items:center;background:#061823;background:var(--ink);color:#e5e7eb;color:var(--on-dark);display:flex;gap:12px;padding:18px 20px}.booking-header h2,.page-header h2{color:#e5e7eb;color:var(--on-dark);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.2px}.back-btn{align-items:center;background:#e5e7eb14;border:1px solid #e5e7eb38;border-radius:9999px;border-radius:var(--radius-full);color:#e5e7eb;color:var(--on-dark);cursor:pointer;display:flex;font-size:17px;height:36px;justify-content:center;transition:background .15s;width:36px}@media (hover:hover) and (pointer:fine){.back-btn:hover{background:#e5e7eb2e}}.booking-content{padding:24px 20px calc(100px + env(safe-area-inset-bottom))}.step-indicator{display:flex;gap:8px;justify-content:center;margin-bottom:28px;padding:12px 0}.step-dot{background:#c3ccd5;background:var(--line);height:8px;transition:all .3s ease;width:8px}.step-dot,.step-dot.active{border-radius:9999px;border-radius:var(--radius-full)}.step-dot.active{background:#ffde17;background:var(--accent);width:28px}.step-dot.completed{background:#073659;background:var(--navy)}.date-grid{grid-gap:7px;display:grid;gap:7px;grid-template-columns:repeat(7,1fr);margin-bottom:24px}.date-cell{align-items:center;aspect-ratio:1;background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);color:#061823;color:var(--text);cursor:pointer;display:flex;flex-direction:column;font-size:14px;font-weight:500;justify-content:center;transition:all .2s}@media (hover:hover) and (pointer:fine){.date-cell:hover{background:#dbe0e6;background:var(--surface-alt);border-color:#073659;border-color:var(--navy)}}.date-cell.selected{background:#073659;background:var(--navy);border-color:#073659;border-color:var(--navy);color:#e5e7eb;color:var(--on-dark);font-weight:600}.date-cell.today{border-color:#ffde17;border-color:var(--accent)}.date-cell.selected.today,.date-cell.today{box-shadow:inset 0 -3px 0 #ffde17;box-shadow:inset 0 -3px 0 var(--accent)}.date-cell .day-name{color:#42637e;color:var(--muted);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:10px;font-weight:500;letter-spacing:.6px;letter-spacing:var(--eyebrow-spacing);text-transform:uppercase}.date-cell.selected .day-name{color:#e5e7ebb3}.court-card{background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-left:3px solid #0000;border-radius:18px;border-radius:var(--radius-lg);cursor:pointer;margin-bottom:10px;padding:18px;transition:all .15s ease}@media (hover:hover) and (pointer:fine){.court-card:hover{border-color:#aeb9c5;border-color:var(--line-strong);border-left-color:#6b869b;border-left-color:var(--muted-soft);box-shadow:0 1px 2px #0618230d;box-shadow:var(--shadow-sm)}}.court-card.selected{border-color:#c3ccd5;border-color:var(--line);border-left-color:#073659;border-left-color:var(--navy);box-shadow:0 4px 14px #06182312;box-shadow:var(--shadow-md)}.court-card-name{color:#073659;color:var(--navy);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.2px;margin-bottom:5px}.court-card-info{align-items:center;color:#42637e;color:var(--muted);display:flex;font-size:13px;justify-content:space-between}.court-price{background:#073659;background:var(--navy);border-radius:9999px;border-radius:var(--radius-full);color:#e5e7eb;color:var(--on-dark);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:14px;font-weight:600;padding:4px 12px}.time-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.time-slot{align-items:center;background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);color:#073659;color:var(--navy);cursor:pointer;display:flex;flex-direction:column;font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);gap:3px;justify-content:center;padding:12px 8px;text-align:center;transition:all .15s ease}.time-slot,.time-slot-time{font-size:15px;font-weight:500}.time-slot-time{line-height:1.2}.time-slot-price{font-feature-settings:"tnum";color:#42637e;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.2}.time-slot.selected .time-slot-price{color:#e5e7eb;color:var(--on-dark);opacity:.8}.time-slot.booked .time-slot-price{color:#6b869b;color:var(--muted-soft)}@media (hover:hover) and (pointer:fine){.time-slot:hover:not(.booked){background:#dbe0e6;background:var(--surface-alt);border-color:#073659;border-color:var(--navy)}}.time-slot.selected{background:#073659;background:var(--navy);border-color:#073659;border-color:var(--navy);color:#e5e7eb;color:var(--on-dark);font-weight:600}.time-slot.booked{background:#c7cfd7;background:var(--page-deep);border-color:#c3ccd5;border-color:var(--line);color:#6b869b;color:var(--muted-soft);cursor:not-allowed;font-weight:400}.time-slot.booked .time-slot-time{text-decoration:line-through}.coach-option{background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-left:3px solid #0000;border-radius:18px;border-radius:var(--radius-lg);cursor:pointer;margin-bottom:10px;padding:18px;transition:all .15s ease}@media (hover:hover) and (pointer:fine){.coach-option:hover{border-color:#aeb9c5;border-color:var(--line-strong);border-left-color:#6b869b;border-left-color:var(--muted-soft);box-shadow:0 1px 2px #0618230d;box-shadow:var(--shadow-sm)}}.coach-option.selected{border-left-color:#073659;border-left-color:var(--navy);box-shadow:0 4px 14px #06182312;box-shadow:var(--shadow-md)}.coach-info{align-items:center;display:flex;gap:14px}.coach-name{color:#073659;color:var(--navy);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.2px}.coach-detail{color:#42637e;color:var(--muted);font-size:12px}.coach-price-tag{background:#073659;background:var(--navy);border-radius:9999px;border-radius:var(--radius-full);color:#e5e7eb;color:var(--on-dark);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:15px;font-weight:600;padding:5px 12px;white-space:nowrap}.slip-card{background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-radius:22px;border-radius:var(--radius-xl);box-shadow:0 4px 14px #06182312;box-shadow:var(--shadow-md);padding:24px}.slip-header{border-bottom:1px dashed #aeb9c5;border-bottom:1px dashed var(--line-strong);margin-bottom:18px;padding-bottom:18px;text-align:center}.slip-header h3{color:#073659;color:var(--navy);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.2px}.slip-row{align-items:center;display:flex;font-size:14px;gap:16px;justify-content:space-between;padding:9px 0}.slip-label{color:#42637e;color:var(--muted)}.slip-value{color:#061823;color:var(--text);font-weight:600;text-align:right}.slip-divider{background:#d2d8df;background:var(--line-soft);height:1px;margin:14px 0}.slip-total{font-size:16px;padding:12px 0}.slip-total .slip-value{color:#073659;color:var(--navy);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.4px}.qr-section{background:#dbe0e6;background:var(--surface-alt);border-radius:18px;border-radius:var(--radius-lg);margin:14px 0;padding:16px;text-align:center}.qr-placeholder{align-items:center;background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);display:flex;font-size:50px;height:130px;justify-content:center;margin:8px auto;width:130px}.file-upload{background:#dbe0e6;background:var(--surface-alt);border:1.5px dashed #aeb9c5;border:1.5px dashed var(--line-strong);border-radius:18px;border-radius:var(--radius-lg);cursor:pointer;margin-top:10px;padding:20px;text-align:center;transition:all .2s}@media (hover:hover) and (pointer:fine){.file-upload:hover{background:#e5e7eb;background:var(--surface);border-color:#073659;border-color:var(--navy)}}.file-upload-icon{color:#6b869b;color:var(--muted-soft);font-size:26px;margin-bottom:8px}.file-upload-text{color:#42637e;color:var(--muted);font-size:12px;word-break:break-all}.success-page{flex-direction:column;min-height:100vh;padding:40px 20px;text-align:center}.success-icon,.success-page{align-items:center;display:flex;justify-content:center}.success-icon{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1);background:#ffde17;background:var(--accent);border-radius:9999px;border-radius:var(--radius-full);color:#061823;color:var(--ink);font-size:46px;height:96px;margin-bottom:28px;width:96px}.success-title{color:#073659;color:var(--navy);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:32px;font-weight:600;letter-spacing:-.6px;margin-bottom:10px}.success-id{color:#42637e;color:var(--muted);font-size:14px;margin-bottom:32px}.success-id span{color:#061823;color:var(--text);font-family:monospace;font-size:15px;font-weight:600}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{background:#061823;background:var(--ink);bottom:0;color:#e5e7eb;color:var(--on-dark);left:0;overflow-y:auto;padding:24px 0;position:fixed;top:0;width:260px;z-index:50}.admin-sidebar-logo{border-bottom:1px solid #e5e7eb1a;margin-bottom:18px;padding:0 24px 22px}.admin-sidebar-logo h2{color:#e5e7eb;color:var(--on-dark);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.2px}.admin-sidebar-logo .role-badge{background:#ffde17;background:var(--accent);border-radius:9999px;border-radius:var(--radius-full);color:#061823;color:var(--ink);display:inline-block;font-size:10px;font-weight:600;letter-spacing:.6px;letter-spacing:var(--eyebrow-spacing);margin-top:6px;padding:3px 10px;text-transform:uppercase}.sidebar-nav{padding:0 12px}.sidebar-section{margin-bottom:8px}.sidebar-section-title{color:#e5e7eb66;font-size:10px;font-weight:600;letter-spacing:.6px;letter-spacing:var(--eyebrow-spacing);padding:14px 12px 6px;text-transform:uppercase}.sidebar-link{align-items:center;background:none;border:none;border-radius:14px;border-radius:var(--radius-md);color:#e5e7ebb8;cursor:pointer;display:flex;font-family:Poppins,FCVision,-apple-system,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500;gap:10px;padding:11px 12px;text-align:left;text-decoration:none;transition:all .15s;width:100%}@media (hover:hover) and (pointer:fine){.sidebar-link:hover{background:#e5e7eb12;color:#e5e7eb;color:var(--on-dark)}}.sidebar-link.active{background:#e5e7eb1a;box-shadow:inset 3px 0 0 #ffde17;box-shadow:inset 3px 0 0 var(--accent);color:#e5e7eb;color:var(--on-dark)}.sidebar-link .icon{font-size:17px;text-align:center;width:24px}.admin-main{background:#dbe0e6;background:var(--page);flex:1 1;margin-left:260px;min-height:100vh}.admin-topbar{align-items:center;background:#e5e7eb;background:var(--surface);border-bottom:1px solid #c3ccd5;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 32px}.admin-topbar h1{font-size:20px;font-weight:600;letter-spacing:-.3px}.admin-content{padding:28px 32px}.stats-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}.stat-card{background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0618230d;box-shadow:var(--shadow-sm);padding:22px}.stat-card-label{color:#42637e;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.6px;letter-spacing:var(--eyebrow-spacing);margin-bottom:6px;text-transform:uppercase}.stat-card-value{color:#073659;color:var(--navy);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.5px;line-height:1.2}.stat-card-icon{font-size:26px;margin-bottom:10px}.admin-table-wrapper{background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0618230d;box-shadow:var(--shadow-sm);overflow:hidden}.admin-table-header{align-items:center;border-bottom:1px solid #d2d8df;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;padding:18px 20px}.admin-table-header h3{font-size:16px;font-weight:600;letter-spacing:-.2px}.admin-table{border-collapse:collapse;width:100%}.admin-table th{background:#dbe0e6;background:var(--surface-alt);border-bottom:1px solid #c3ccd5;border-bottom:1px solid var(--line);color:#42637e;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.6px;letter-spacing:var(--eyebrow-spacing);padding:13px 16px;text-align:left;text-transform:uppercase}.admin-table td{border-bottom:1px solid #d2d8df;border-bottom:1px solid var(--line-soft);color:#2d4e68;color:var(--text-mid);font-size:14px;padding:14px 16px}@media (hover:hover) and (pointer:fine){.admin-table tr:hover td{background:#dbe0e6;background:var(--surface-alt)}}.admin-table tr.row-needs-action td{background:#ffde1724}.admin-table tr.row-needs-action td:first-child{box-shadow:inset 3px 0 0 #ffde17;box-shadow:inset 3px 0 0 var(--accent)}@media (hover:hover) and (pointer:fine){.admin-table tr.row-needs-action:hover td{background:#ffde1738}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0618238c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:200}.modal-content{background:#e5e7eb;background:var(--surface);border-radius:22px;border-radius:var(--radius-xl);box-shadow:0 18px 44px #06182324;box-shadow:var(--shadow-xl);max-height:90vh;max-width:450px;overflow-y:auto;padding:24px;width:100%}.modal-title{font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.2px;margin-bottom:20px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:26px}.modal-header{align-items:center;border-bottom:1px solid #d2d8df;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.modal-header h3{color:#061823;color:var(--text);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.2px}.modal-close{align-items:center;background:none;border:none;color:#6b869b;color:var(--muted-soft);cursor:pointer;display:flex;font-size:22px;justify-content:center;transition:color .2s}@media (hover:hover) and (pointer:fine){.modal-close:hover{color:#073659;color:var(--navy)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}.loading-spinner{align-items:center;display:flex;justify-content:center;padding:40px}.spinner{animation:spin .7s linear infinite;border:3px solid #c3ccd5;border-top-color:#ffde17;border:3px solid var(--line);border-radius:50%;border-top-color:var(--accent);height:34px;width:34px}.court-grid,.court-selector-container{margin-bottom:24px}.court-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.court-visual-card{background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0618230d;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;min-height:280px;overflow:hidden;position:relative;transition:all .2s ease}@media (hover:hover) and (pointer:fine){.court-visual-card:hover{border-color:#aeb9c5;border-color:var(--line-strong);box-shadow:0 4px 14px #06182312;box-shadow:var(--shadow-md);transform:translateY(-2px)}}.court-visual-card.selected{border-color:#073659;border-color:var(--navy);box-shadow:0 0 0 3px #07365924,0 4px 14px #06182312;box-shadow:var(--ring),var(--shadow-md)}.court-visual-wrapper{align-items:center;background:#dbe0e6;background:var(--surface-alt);display:flex;flex:1 1;justify-content:center;min-height:150px;padding:12px}.court-visual-info{border-top:1px solid #d2d8df;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:6px;padding:14px}.court-visual-number{color:#42637e;color:var(--muted);font-size:10px;letter-spacing:.6px;letter-spacing:var(--eyebrow-spacing);text-transform:uppercase}.court-visual-name,.court-visual-number{font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-weight:600}.court-visual-name{color:#073659;color:var(--navy);font-size:14px;letter-spacing:-.2px}.court-visual-footer{display:flex;flex-wrap:wrap;font-size:11px;gap:6px;justify-content:space-between}.court-price-badge{color:#42637e;color:var(--muted);font-size:13px;font-weight:500}.selection-check{align-items:center;animation:scaleIn .2s cubic-bezier(.34,1.56,.64,1);background:#ffde17;background:var(--accent);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 4px 14px #06182312;box-shadow:var(--shadow-md);color:#061823;color:var(--ink);display:flex;font-size:13px;font-weight:700;height:26px;justify-content:center;position:absolute;right:10px;top:10px;width:26px}.tabs{background:#0000;border-bottom:1px solid #c3ccd5;border-bottom:1px solid var(--line);display:flex;gap:0;margin-bottom:24px;padding:0}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#42637e;color:var(--muted);cursor:pointer;flex:1 1;font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:14px;font-weight:500;letter-spacing:0;margin-bottom:-1px;padding:12px 8px;transition:all .15s ease}@media (hover:hover) and (pointer:fine){.tab:hover{color:#073659;color:var(--navy)}}.tab.active{border-bottom-color:#ffde17;border-bottom-color:var(--accent);color:#073659;color:var(--navy);font-weight:600}.Toastbar{font-family:Poppins,FCVision,-apple-system,sans-serif!important;font-family:var(--font-body)!important}.addon-grid{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.addon-chip{align-items:center;background:#e5e7eb;background:var(--surface);border:1px solid #c3ccd5;border:1px solid var(--line);border-radius:9999px;border-radius:var(--radius-full);color:#073659;color:var(--navy);cursor:pointer;display:flex;font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:14px;font-weight:500;gap:6px;letter-spacing:0;padding:9px 16px;transition:all .15s ease}@media (hover:hover) and (pointer:fine){.addon-chip:hover{border-color:#073659;border-color:var(--navy)}}.addon-chip.selected{background:#073659;background:var(--navy);border-color:#073659;border-color:var(--navy);color:#e5e7eb;color:var(--on-dark)}.addon-chip-price{color:#6b869b;color:var(--muted-soft);font-size:13px;font-weight:500}.addon-chip.selected .addon-chip-price{color:#e5e7eb;color:var(--on-dark);opacity:.75}.empty-state{color:#42637e;color:var(--muted);padding:48px 20px;text-align:center}.empty-state-icon{font-size:44px;margin-bottom:14px;opacity:.5}.empty-state-text{font-size:15px}.profile-page{padding:24px 20px}.page-back-header{align-items:center;background:#061823;background:var(--ink);color:#e5e7eb;color:var(--on-dark);display:flex;gap:12px;padding:18px 20px}.page-back-header h2{color:#e5e7eb;color:var(--on-dark);font-family:Poppins,FCVision,sans-serif;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.2px}.page-back-btn{align-items:center;background:#e5e7eb14;border:1px solid #e5e7eb38;border-radius:9999px;border-radius:var(--radius-full);color:#e5e7eb;color:var(--on-dark);cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:background .15s;width:36px}@media (hover:hover) and (pointer:fine){.page-back-btn:hover{background:#e5e7eb2e}}@media (max-width:768px){.admin-sidebar{transform:translateX(-100%);transition:transform .3s}.admin-sidebar.open{transform:translateX(0)}.admin-main{margin-left:0}.admin-content{padding:18px 16px}.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}}
/*# sourceMappingURL=main.c49356a2.css.map*/