@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");:root{--c-primary:#818cf8;--c-primary-dark:#6366f1;--c-primary-light:rgba(99,102,241,0.15);--c-purple:#a78bfa;--c-bg:#0d0d14;--c-surface:#16161f;--c-surface-2:#1e1e2a;--c-border:rgba(255,255,255,0.08);--c-border-light:rgba(255,255,255,0.04);--c-text:#f0f0ff;--c-text-2:rgba(240,240,255,0.75);--c-muted:rgba(240,240,255,0.45);--c-muted-light:rgba(240,240,255,0.28);--c-success:#34d399;--c-success-light:rgba(52,211,153,0.12);--c-warning:#fbbf24;--c-warning-light:rgba(251,191,36,0.12);--c-danger:#f87171;--c-danger-light:rgba(248,113,113,0.12);--c-amber:#fbbf24;--c-ps5:#3b82f6;--c-cockpit:#f59e0b;--c-vr:#8b5cf6;--c-pc:#14b8a6;--g-primary:linear-gradient(135deg,#6366f1,#8b5cf6);--g-hero:linear-gradient(135deg,#1e1b4b,#312e81 50%,#4c1d95);--g-success:linear-gradient(135deg,#059669,#10b981);--sh-card:0 1px 3px rgba(0,0,0,0.3),0 4px 16px rgba(0,0,0,0.2);--sh-card-hover:0 4px 12px rgba(0,0,0,0.4),0 8px 28px rgba(99,102,241,0.15);--sh-button:0 4px 14px rgba(99,102,241,0.4);--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-full:9999px}*{box-sizing:border-box;margin:0;padding:0}body.customer-app{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--c-text);-webkit-font-smoothing:antialiased}.c-app-shell,body.customer-app{background:var(--c-bg);height:100dvh;overflow:hidden}.c-app-shell{max-width:480px;margin:0 auto;position:relative;display:flex;flex-direction:column}.c-app-shell:before{top:-120px;left:50%;transform:translateX(-50%);width:400px;height:400px;background:radial-gradient(circle,rgba(99,60,220,.22) 0,transparent 70%)}.c-app-shell:after,.c-app-shell:before{content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:0}.c-app-shell:after{bottom:-60px;right:-60px;width:260px;height:260px;background:radial-gradient(circle,rgba(139,60,255,.12) 0,transparent 70%)}.c-bottom-nav,.c-page,.c-topbar{position:relative;z-index:1}.c-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(13,13,20,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.07);padding:10px 16px;display:flex;align-items:center;justify-content:space-between}.c-topbar-logo{font-size:16px;font-weight:900;background:var(--g-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px}.c-topbar-points{display:flex;align-items:center;gap:5px;background:var(--c-primary-light);color:var(--c-primary-dark);border-radius:var(--r-full);padding:5px 12px;font-size:13px;font-weight:700;cursor:pointer}.c-page{flex:1 1;padding:0 0 80px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.c-page.c-page-no-nav{padding-bottom:0;overflow-y:hidden}.c-bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:rgba(13,13,20,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.07);display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.c-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 0 8px;gap:3px;cursor:pointer;text-decoration:none;color:rgba(255,255,255,.3);font-size:10px;font-weight:600;transition:color .15s;border:none;background:none;font-family:inherit;position:relative}.c-nav-item.active{color:var(--c-primary)}.c-nav-item.active:before{content:"";position:absolute;inset:4px 6px;background:rgba(99,102,241,.15);border-radius:10px;z-index:-1}.c-nav-item svg{transition:transform .15s}.c-nav-item.active svg{transform:scale(1.1)}.c-card{background:var(--c-surface);border-radius:var(--r-lg);border:1px solid var(--c-border);box-shadow:var(--sh-card);overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.c-card-p{padding:20px}.c-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--r-full);font-family:Inter,sans-serif;font-weight:700;cursor:pointer;transition:all .15s;text-decoration:none}.c-btn:disabled{opacity:.5;cursor:not-allowed}.c-btn-primary{background:var(--g-primary);color:#fff;box-shadow:var(--sh-button);padding:14px 28px;font-size:15px;width:100%}.c-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(99,102,241,.45)}.c-btn-outline:active,.c-btn-primary:active:not(:disabled){transform:scale(.97);box-shadow:none}.c-btn-outline{background:transparent;color:var(--c-primary);border:2px solid var(--c-primary);padding:12px 24px;font-size:14px}.c-btn-ghost{background:var(--c-bg);color:var(--c-muted);border:1px solid var(--c-border);padding:10px 20px;font-size:13px}.c-btn-danger{background:var(--c-danger);color:#fff;padding:12px 24px;font-size:14px}.c-btn-sm{padding:8px 16px;font-size:13px;border-radius:var(--r-md)}.c-slot-card{background:rgba(255,255,255,.04);border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.08);padding:16px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.c-slot-card:hover{box-shadow:var(--sh-card-hover);transform:translateY(-2px);border-color:rgba(255,255,255,.14)}.c-slot-card.free{border-color:rgba(52,211,153,.25)}.c-slot-card.free:hover{border-color:rgba(52,211,153,.5);box-shadow:0 4px 20px rgba(52,211,153,.1)}.c-slot-card.busy{border-color:rgba(255,255,255,.05);opacity:.85;cursor:pointer}.c-slot-card.busy:hover{border-color:rgba(99,102,241,.3);box-shadow:0 4px 20px rgba(99,102,241,.1)}.c-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-full);font-size:11px;font-weight:700;letter-spacing:.3px}.c-status-free{background:var(--c-success-light);color:#065f46}.c-status-busy{background:var(--c-danger-light);color:#991b1b}.c-status-dot{width:6px;height:6px;border-radius:50%}.c-status-dot.free{background:var(--c-success);animation:pulse-green 2s infinite}.c-status-dot.busy{background:var(--c-danger)}@keyframes pulse-green{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.c-slot-type-ps5{color:#2563eb;background:#dbeafe}.c-slot-type-cockpit{color:#7c3aed;background:#ede9fe}.c-slot-type-vr{color:#0891b2;background:#cffafe}.c-label{display:block;font-size:12px;font-weight:600;color:var(--c-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.c-input{width:100%;padding:12px 16px;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);font-family:Inter,sans-serif;font-size:15px;color:var(--c-text);background:rgba(255,255,255,.06);outline:none;transition:border-color .15s,box-shadow .15s}.c-input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(99,102,241,.2)}.c-pill{padding:8px 16px;border-radius:var(--r-full);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--c-muted);cursor:pointer;transition:all .15s}.c-pill.selected{border-color:var(--c-primary);background:rgba(99,102,241,.2);color:var(--c-primary)}.c-stats-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.c-stat-card{background:rgba(255,255,255,.04);border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.08);padding:16px;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.c-stat-value{font-size:24px;font-weight:900;color:var(--c-text);letter-spacing:-.5px;line-height:1}.c-stat-label{font-size:11px;font-weight:600;letter-spacing:.4px;margin-top:4px}.c-section-title,.c-stat-label{color:var(--c-muted);text-transform:uppercase}.c-section-title{font-size:13px;font-weight:700;letter-spacing:.6px;margin-bottom:12px}.c-divider{height:1px;background:var(--c-border);margin:16px 0}.c-hero{background:var(--g-hero);padding:28px 20px 32px;color:#fff;position:relative;overflow:hidden}.c-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 0);background-size:20px 20px;pointer-events:none;z-index:0}.c-hero:after{content:"";position:absolute;bottom:-20px;left:0;right:0;height:40px;background:var(--c-bg);border-radius:50% 50% 0 0/40px 40px 0 0}.c-booking-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--c-border-light)}.c-booking-item:last-child{border-bottom:none}.c-booking-icon{width:40px;height:40px;border-radius:var(--r-md);font-size:18px;flex-shrink:0}.c-booking-icon,.c-success-icon{display:flex;align-items:center;justify-content:center}.c-success-icon{width:72px;height:72px;background:var(--g-success);border-radius:50%;margin:0 auto 16px;box-shadow:0 8px 24px rgba(16,185,129,.35)}.c-alert{padding:12px 16px;border-radius:var(--r-md);font-size:13px;font-weight:500}.c-alert-danger{background:rgba(248,113,113,.1);color:#fca5a5;border:1px solid rgba(248,113,113,.3)}.c-alert-success{background:rgba(52,211,153,.1);color:#6ee7b7;border:1px solid rgba(52,211,153,.3)}.c-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.c-btn-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 24px;background:#fff;border:none;border-radius:var(--r-full);font-family:Inter,sans-serif;font-size:15px;font-weight:700;color:#1a1a2e;cursor:pointer;transition:all .15s;box-shadow:0 4px 20px rgba(0,0,0,.4);text-decoration:none}.c-btn-google:hover{box-shadow:0 8px 28px rgba(0,0,0,.5);transform:translateY(-2px)}.c-loyalty-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:var(--r-full);padding:4px 12px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:4px}.c-page-header{padding:20px 20px 0}.c-page-title{font-size:22px;font-weight:900;color:var(--c-text);letter-spacing:-.5px}.c-page-subtitle{font-size:13px;color:var(--c-muted);margin-top:2px}.c-type-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;text-transform:uppercase;letter-spacing:.4px}.c-rate{font-size:13px;color:var(--c-muted);margin-top:4px}.c-rate strong{color:var(--c-text-2);font-weight:700}.c-booking-ref{font-size:28px;font-weight:900;letter-spacing:2px;background:var(--g-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}.c-empty{text-align:center;padding:48px 24px}.c-empty-icon{font-size:48px;margin-bottom:12px}.c-empty-title{font-size:16px;font-weight:700;color:var(--c-text);margin-bottom:6px}.c-empty-sub{font-size:13px;color:var(--c-muted)}.c-scroll-area{padding:16px 20px 90px}.c-avatar{object-fit:cover}.c-avatar,.c-avatar-placeholder{width:64px;height:64px;border-radius:50%;border:3px solid var(--c-border)}.c-avatar-placeholder{background:var(--g-primary);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:#fff;flex-shrink:0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.c-skeleton{border-radius:6px;background:linear-gradient(90deg,var(--c-surface-2) 25%,rgba(255,255,255,.06) 50%,var(--c-surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.c-skeleton-line{width:100%;height:14px}.c-skeleton-card{width:100%;height:72px;border-radius:16px}.c-page-fade{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.c-live-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(220,38,38,.15);border:1px solid rgba(220,38,38,.3);color:#fca5a5;font-size:11px;font-weight:800;padding:3px 10px;border-radius:var(--r-full);text-transform:uppercase;letter-spacing:.5px}.c-live-dot{width:6px;height:6px;border-radius:50%;background:#f87171;animation:pulse-red 1.2s infinite}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.3}}@keyframes pulse-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes ring-expand{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.18);opacity:.15}}.conf-glow-ring{inset:-14px;background:radial-gradient(circle,rgba(52,211,153,.28) 0,transparent 68%);animation:pulse-glow 2.2s ease-in-out infinite}.conf-glow-ring,.conf-ring-expand{position:absolute;border-radius:50%;pointer-events:none}.conf-ring-expand{inset:-6px;border:1.5px solid rgba(52,211,153,.22);animation:ring-expand 2.2s ease-in-out infinite}.booking-step-indicator{display:flex;align-items:center;padding:16px 24px 8px}.booking-step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}.booking-step-dot.active{background:var(--c-primary);color:#fff}.booking-step-dot.done{background:rgba(129,140,248,.25);color:var(--c-primary)}.booking-step-dot.inactive{background:var(--c-surface);color:var(--c-muted);border:1.5px solid var(--c-border)}.booking-step-label{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--c-muted);white-space:nowrap}.booking-step-label.active{color:var(--c-primary)}.booking-step-connector{height:2px;flex:1 1;background:var(--c-border);margin:0 4px 18px}.booking-step-connector.done{background:rgba(129,140,248,.35)}.booking-station-card{width:100%;background:var(--c-surface);border-radius:14px;border:1.5px solid var(--c-border);display:flex;align-items:stretch;overflow:hidden;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .15s,background .15s;padding:0;min-height:64px}.booking-station-card:active{background:rgba(255,255,255,.06)}.booking-station-accent{width:5px;flex-shrink:0}.booking-station-body{display:flex;align-items:center;flex:1 1;padding:14px;gap:12px}.booking-station-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.booking-station-info{flex:1 1}.booking-station-name{font-size:17px;font-weight:900;color:var(--c-text);margin-bottom:2px}.booking-station-rate{font-size:12px;color:var(--c-muted)}.booking-station-avail{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;flex-shrink:0}.booking-station-avail.free{color:var(--c-success);background:var(--c-success-light)}.booking-station-avail.full{color:var(--c-danger);background:var(--c-danger-light)}.booking-date-strip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.booking-date-strip::-webkit-scrollbar{display:none}.booking-date-chip{flex-shrink:0;padding:8px 14px;border-radius:20px;font-size:12px;font-weight:700;background:var(--c-surface);border:1.5px solid var(--c-border);color:var(--c-muted);white-space:nowrap;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.booking-date-chip.active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.booking-time-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.booking-time-btn{min-height:52px;border-radius:10px;border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-size:13px;font-weight:700;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:background .15s,border-color .15s}.booking-time-btn.selected{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.booking-time-btn.partial{background:var(--c-warning-light);border-color:rgba(251,191,36,.3)}.booking-time-btn.full{opacity:.4;cursor:not-allowed}.booking-time-btn:disabled{cursor:not-allowed}.booking-time-sub{font-size:10px;font-weight:700;color:var(--c-warning)}.booking-time-btn.selected .booking-time-sub{color:rgba(255,255,255,.75)}.booking-time-btn.full .booking-time-sub{color:var(--c-muted)}.booking-dur-pill{flex-shrink:0;padding:10px 16px;border-radius:10px;border:1.5px solid var(--c-border);background:var(--c-surface);text-align:center;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.booking-dur-pill.selected{border-color:var(--c-primary);background:rgba(129,140,248,.12)}.booking-dur-pill-time{font-size:13px;font-weight:800;color:var(--c-text)}.booking-dur-pill.selected .booking-dur-pill-time{color:var(--c-primary)}.booking-dur-pill-price{font-size:11px;color:var(--c-muted);margin-top:1px}.booking-stepper{display:flex;align-items:center;justify-content:space-between;background:var(--c-surface);border-radius:12px;padding:14px 16px}.booking-stepper-btn{width:36px;height:36px;border-radius:10px;background:var(--c-surface-2);border:1.5px solid var(--c-border);color:var(--c-text);font-size:20px;font-family:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;transition:background .15s}.booking-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.booking-game-row{display:flex;align-items:center;justify-content:space-between;background:var(--c-surface);border-radius:12px;padding:14px 16px;cursor:pointer;width:100%;border:1.5px solid var(--c-border);font-family:inherit;transition:background .15s}.booking-game-row:active{background:var(--c-surface-2)}.booking-float-bar{position:fixed;bottom:calc(60px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:100%;max-width:480px;padding:0 16px 8px;z-index:50}.booking-float-bar-info{border:1.5px solid rgba(129,140,248,.2);border-radius:14px;gap:10px}.booking-float-bar-cta,.booking-float-bar-info{background:var(--c-surface-2);padding:12px 16px;display:flex;align-items:center}.booking-float-bar-cta{border:1.5px solid rgba(129,140,248,.25);border-radius:14px;gap:12px}