
:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#25364c;background:#f8f9f6;font-synthesis:none;--green:#152b49;--muted:#738093;--line:#e5e9e2;--sand:#e9d9b9;--coral:#ed987e}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #eaa27b;outline-offset:4px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1.25px;font-weight:650;margin-bottom:10px;line-height:1.2}h2{font-size:21px;letter-spacing:-.5px;font-weight:650}h3{font-size:18px;letter-spacing:-.3px}p{line-height:1.65}small{font-size:11px}strong{font-weight:600}.sidebar{position:fixed;inset:0 auto 0 0;width:234px;background:#fff;border-right:1px solid var(--line);padding:35px 23px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px}.brand img{width:43px;height:43px}.brand>span{font-size:38px;letter-spacing:-2px;line-height:.95;font-weight:750}.brand-dot{color:var(--coral)}.brand small{display:block;font-size:7px;letter-spacing:1.6px;margin-top:9px;font-weight:600}.club-label{margin:38px 0 36px;font-size:13px;font-weight:600;line-height:1.8}.club-label small{display:block;font-size:9px;letter-spacing:1.8px;color:var(--muted);padding-left:15px}.status-dot,.demo-indicator i{display:inline-block;width:6px;height:6px;border-radius:100%;background:#67977b;margin-right:6px}.nav-label{font-size:9px;letter-spacing:1.7px;color:#95a099;margin-bottom:16px}nav{display:flex;flex-direction:column;gap:8px}nav button{border:0;background:none;display:flex;align-items:center;gap:14px;text-align:left;border-radius:8px;color:#738079;padding:14px 15px;font-size:13px}nav button>span{font-size:19px;line-height:1}nav button.active{background:var(--green);color:white}nav button b{margin-left:auto;font-weight:400}nav button:hover:not(.active){background:#f0f3ed}.sidebar-bottom{margin-top:auto}.local-note{display:flex;gap:10px;font-size:11px;color:#78877e;padding:20px 4px}.local-note>span{font-size:28px;color:#8da496}.local-note small{display:block;margin-top:6px;font-size:10px}.profile-mini{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;gap:10px;font-size:11px}.profile-mini small{display:block;color:var(--muted);margin-top:5px;font-size:9px}.avatar{background:#e6eadf;color:var(--green);border-radius:50%;width:37px;height:37px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:650;flex-shrink:0}.workspace{margin-left:234px}.topbar{height:78px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.breadcrumb{font-size:12px;color:#89938d}.breadcrumb span{margin:0 14px;color:#c3cac4}.breadcrumb strong{color:#344961;font-weight:500}.top-right{display:flex;gap:22px;align-items:center}.demo-indicator{font-size:11px;color:var(--muted)}.mode-switch{border:1px solid var(--line);border-radius:7px;display:flex;padding:4px;background:#f7f8f5}.mode-switch button{padding:8px 14px;border:0;font-size:11px;background:none;border-radius:4px;color:#7f8981}.mode-switch button.active{background:#fff;box-shadow:0 1px 4px #00000012;color:var(--green);font-weight:650}main{max-width:1470px;margin:auto;padding:36px 40px 50px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow,.tiny-label{font-size:9px;letter-spacing:1.8px;font-weight:650}.eyebrow{color:#87988a;margin-bottom:12px}.page-heading p{font-size:13px;color:var(--muted);margin:0}.hero{height:297px;background:#152b49;border-radius:14px;position:relative;overflow:hidden;color:#f5f4e9;display:flex;margin-bottom:35px}.hero-copy{padding:31px 36px;z-index:2;flex:1}.hero-pill{font-size:8px;letter-spacing:1.5px;color:#e6dabe;display:inline-flex;align-items:center;gap:8px;margin-bottom:16px}.hero-pill>span{width:5px;height:5px;background:#dfb98b;border-radius:50%}.hero h2{font-size:34px;letter-spacing:-1px;line-height:1.16;font-weight:500;margin-bottom:12px}.hero p{font-size:11px;color:#b7cdc0;margin-bottom:20px}.light-button{display:inline-flex;background:#ede4d0;color:#29483c;font-size:11px;padding:12px 17px;border-radius:5px;font-weight:650;gap:28px}.hero-meta{display:flex;gap:12px;align-items:center;margin-top:20px;font-size:9px;color:#abc0b2}.hero-meta i{height:3px;width:3px;background:#abc0b2;border-radius:50%}.court-art{width:43%;position:relative;overflow:hidden}.drawn-court{position:absolute;width:290px;height:178px;top:65px;left:14px;background:#52799b;transform:rotate(-26deg) skewX(10deg);border:9px solid #33597a;outline:1px solid #739889;box-shadow:15px 20px 0 #102f2b55}.court-lines{position:absolute;inset:8px;border:2px solid #bed1b2;background:linear-gradient(90deg,transparent 49.6%,#bed1b2 49.6%,#bed1b2 50.4%,transparent 50.4%)}.court-lines:before,.court-lines:after{content:'';position:absolute;top:27%;height:46%;width:50%;border-top:1px solid #bed1b2;border-bottom:1px solid #bed1b2}.court-lines:after{right:0}.net{position:absolute;left:50%;height:100%;width:8px;top:-13px;background:repeating-linear-gradient(0deg,#a0ad98 0px,#a0ad98 1px,transparent 1px,transparent 4px);border-left:2px solid #eee3cb;transform:skewY(-30deg)}.ball{width:89px;height:89px;border-radius:50%;background:radial-gradient(circle at 25% 20%,#f5d3a2,#d7a96f);position:absolute;right:29px;bottom:38px;box-shadow:12px 16px 15px #071f2e55;overflow:hidden;transform:rotate(30deg)}.ball:before,.ball:after,.ball i{content:'';position:absolute;border:2px solid #9a754b;border-radius:50%;width:90px;height:80px;left:35px;top:-23px}.ball:after{left:-23px;top:40px}.ball i{left:-35px;top:-22px}.art-word{position:absolute;right:45px;top:26px;font-family:Georgia,serif;font-style:italic;color:#d5c5a4;font-size:24px;transform:rotate(-12deg)}.art-orbit{position:absolute;border:1px solid #ffffff0d;border-radius:50%;width:360px;height:360px;left:-5px;top:-35px}.orbit-two{width:440px;height:440px;top:-80px;left:-45px}.spark{position:absolute;color:#d8b083;font-size:48px;bottom:25px;left:10px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:26px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.section-title h2{margin:0;font-size:19px}.section-title>span{font-size:9px;letter-spacing:.5px}.line{margin:0 8px;color:#c4cbc2}.muted{color:var(--muted)}.sport-tabs{display:flex;border-bottom:1px solid var(--line);gap:26px;margin-bottom:17px}.sport-tabs button{padding:0 0 15px;display:flex;align-items:center;gap:9px;border:0;background:none;color:#8b958d;font-size:13px;position:relative}.sport-tabs button.active{color:var(--green);font-weight:650}.sport-tabs button.active:after{content:'';position:absolute;height:2px;bottom:-1px;left:0;right:0;background:var(--green)}.sport-tabs button>span{font-size:20px}.sport-tabs small{font-size:9px;background:#eef1e9;padding:3px 6px;border-radius:4px;font-weight:400}.date-heading{display:flex;justify-content:space-between;align-items:center;margin:18px 0 14px;font-size:12px}.date-heading>strong{text-transform:capitalize}.calendar-label{display:flex;align-items:center;gap:6px}.calendar-label input{font-size:10px;max-width:122px;padding:5px;border:0;background:transparent}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-strip button{background:#fff;border:1px solid var(--line);border-radius:7px;display:flex;flex-direction:column;align-items:center;padding:11px 4px 8px;gap:7px;color:#54665c}.week-strip button span{text-transform:uppercase;font-size:9px;letter-spacing:.5px}.week-strip button strong{font-size:19px;font-weight:500}.week-strip button i{height:3px;width:3px;border-radius:50%;background:#9fac9e}.week-strip button.active{background:var(--green);color:white;border-color:var(--green)}.week-strip button.active i{background:#e7d2aa}.availability-head{font-size:9px;display:flex;align-items:center;justify-content:space-between;margin:19px 0 13px;color:#8a958c}.availability-head small{font-size:9px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.dot.green{background:#6e927b}.dot.gray{background:#d7dcd4;margin-left:12px}.court-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.court-card{border-radius:10px;border:1px solid var(--line);background:#fff;overflow:hidden}.court-thumb{height:112px;background:linear-gradient(125deg,#335274,#8098ac);position:relative;overflow:hidden}.mini-court{position:absolute;left:20%;right:13%;top:18px;bottom:-26px;border:2px solid #d6dfca88;transform:perspective(140px) rotateX(30deg) rotateZ(-12deg);background:linear-gradient(90deg,transparent 49%,#e7eee199 49%,#e7eee199 50%,transparent 50%),linear-gradient(0deg,transparent 49%,#e7eee199 49%,#e7eee199 50%,transparent 50%);box-shadow:0 0 0 7px #163f3a20}.court-thumb>span{position:absolute;bottom:12px;left:14px;background:#14342b88;color:#fff;border-radius:3px;font-size:7px;letter-spacing:1px;padding:5px 6px}.court-thumb>b{position:absolute;right:12px;top:8px;font-size:45px;font-weight:300;color:#ffffff39}.court-thumb.sand{background:linear-gradient(125deg,#c7aa7e,#f0d9af)}.sand .mini-court{border-color:#fff8df}.court-card-body{padding:16px 14px}.court-card-heading{display:flex;justify-content:space-between;align-items:center;gap:5px}.court-card h3{font-size:15px;margin:0}.badge{font-size:8px;background:#edf3e9;color:#527451;padding:5px 7px;border-radius:20px;display:inline-block;white-space:nowrap;letter-spacing:.2px}.badge.red{background:#fbe9e4;color:#a95642}.badge.amber{background:#fcf0d6;color:#9a782d}.court-card p{font-size:9px;color:#87938b;margin:9px 0 12px}.price-row{font-size:9px;color:#8b968d;margin-bottom:14px}.price-row strong{color:#314c3e;font-size:16px;font-weight:650}.price-row small{font-size:9px}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.slots button{font-size:10px;padding:8px 0;background:#fff;border:1px solid #d8e2d3;border-radius:4px;color:#3b6248}.slots button:hover:not(:disabled){background:#152b49;color:#fff}.slots button:disabled{background:#f4f5f2;border-color:#eef0ea;color:#c0c6bd;text-decoration:line-through}.booking-aside{padding-top:1px}.benefit-card{background:#eeeddf;border:1px solid #e6e5d6;border-radius:11px;padding:24px;position:relative;overflow:hidden}.benefit-card .tiny-label{font-size:8px;letter-spacing:1.2px;color:#7d886c}.benefit-icon{font-size:48px;line-height:1.1;color:#789268;margin:18px 0 10px}.benefit-card h3{font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.6px;margin-bottom:12px}.benefit-card p{font-size:11px;color:#859078;margin-bottom:20px}.benefit-card p strong{color:#4a6245}.text-button{background:none;border:0;padding:0;font-size:10px;color:#3b5571;font-weight:600}.text-button span{margin-left:12px}.next-tournament{background:#fff;border:1px solid var(--line);border-radius:11px;padding:22px;margin-top:16px}.tiny-label{color:#889484}.next-tournament .tiny-label{font-size:8px;letter-spacing:1px}.trophy{display:block;font-size:29px;color:#b5915d;margin:16px 0 12px}.next-tournament h3{font-size:15px;margin-bottom:6px}.next-tournament p{font-size:10px;color:var(--muted);margin-bottom:18px}.avatars{display:flex;align-items:center;margin:16px 0 20px}.avatars i{font-style:normal;font-size:8px;border:2px solid white;background:#e4e9da;border-radius:50%;width:23px;height:23px;margin-left:-6px;display:flex;align-items:center;justify-content:center}.avatars i:first-child{margin:0;background:#e5c7b5}.avatars i:nth-child(2){background:#e6d4b1}.avatars span{font-size:8px;color:#8d968b;margin-left:7px}.help-card{display:flex;gap:12px;align-items:center;padding:20px 8px}.help-card>span{font-size:25px;color:#a0aa98}.help-card p{font-size:11px;margin:0}.help-card small{display:block;color:#8e978b;font-size:9px;line-height:1.7;margin-top:5px}.primary,.secondary,.light-button{min-height:36px}.primary{background:var(--green);border:1px solid var(--green);color:white;padding:11px 17px;border-radius:6px;font-size:12px;font-weight:550}.primary:hover{background:#25496c}.secondary{background:transparent;border:1px solid #d7dfd2;color:#425c79;border-radius:5px;padding:10px 12px;font-size:10px}.secondary:hover{background:#edf1e9}.full{width:100%}.ghost{border:0;background:transparent;font-size:10px;padding:7px;color:#345f88;border-radius:4px}.ghost:hover{background:#edf1e9}.danger{color:#b0614d}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:25px}.spaced{margin-top:25px}.account-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{font-size:11px;font-weight:550;display:block;color:#5d6b61}input,select,textarea{display:block;width:100%;border:1px solid #dce2d8;background:#fff;border-radius:5px;padding:10px 11px;color:#2c4563;font-size:12px;margin-top:7px;min-height:39px}input:focus,select:focus,textarea:focus{outline:2px solid #83a08c;outline-offset:1px}.checkbox{display:flex;align-items:center;gap:9px;margin:22px 0;line-height:1.5}.checkbox input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--green)}.progress{height:5px;background:#dfe5d6;border-radius:4px;overflow:hidden;margin:14px 0}.progress i{display:block;height:100%;background:#7a9974}.small{font-size:11px!important}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px;text-align:left}th{font-size:9px;color:#8a968b;letter-spacing:.4px;text-transform:uppercase;font-weight:550;padding:14px 12px;background:#f7f9f4}td{padding:16px 12px;border-bottom:1px solid #edf0e9}td small{display:block;font-size:9px;color:#8c978e;margin-top:6px}td .discount{color:#74916b}.table-actions{display:flex;gap:2px}.empty{text-align:center;color:#8c978e;padding:40px!important}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:22px}.toolbar input{margin:0}.toolbar input[type=search]{flex:1}.toolbar input[type=date]{width:160px}.toolbar button{white-space:nowrap}.rank-banner{background:var(--green);color:#f6f3e7;border-radius:10px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;margin:24px 0}.rank-banner h2{font-size:32px;margin:14px 0 0}.rank-banner h2 span{font-size:18px;margin-left:15px}.rank-banner>strong{font-size:34px}.rank-banner small{display:block;font-size:10px;color:#aec4b0;font-weight:400;margin-top:6px}.narrow{max-width:380px}.ranking-list{padding:10px 20px}.ranking-row{display:flex;align-items:center;gap:18px;padding:18px 12px;border-bottom:1px solid #edf0e9}.ranking-row:last-child{border:0}.ranking-row small{display:block;color:#8b978d;font-size:10px;margin-top:6px}.ranking-row>div{font-size:13px}.ranking-row>b{margin-left:auto;font-size:20px}.rank-number{width:35px;font-size:18px;color:#899784}.ranking-row.is-me{background:#f1f4e9;border-radius:8px}.ranking-row em{font-style:normal;margin-left:7px;font-size:9px;border-radius:4px;padding:3px 6px;background:#e0e8d1}.tournament-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tournament-card{border:1px solid var(--line);background:white;border-radius:11px;overflow:hidden}.tournament-art{height:166px;background:#243d5b;position:relative;overflow:hidden;padding:20px;color:#dbcba6}.tournament-art>span:first-child{font-size:9px;letter-spacing:3px}.tournament-art>b{position:absolute;font-size:180px;line-height:1;right:20px;top:0;color:#adc09c44;font-weight:200}.tournament-art .badge{position:absolute;bottom:18px;left:20px}.art-1{background:#d9be91;color:#775f38}.art-1>b{color:#f9ecd0aa}.art-2{background:#be9581;color:#fff4e5}.tournament-body{padding:22px}.tournament-body h2{margin:13px 0;font-size:21px}.tournament-body p{color:var(--muted);font-size:11px}.score-box{background:#f7f8f3;padding:14px;border-radius:5px;margin:22px 0;font-size:11px;min-height:83px}.score-box span{display:block;color:#87947c;font-size:9px;margin-bottom:10px}.score-box strong{font-weight:500;line-height:1.6}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.stat{border:1px solid var(--line);background:#fff;border-radius:9px;padding:23px}.stat>span{font-size:11px;color:#7f8e80}.stat>strong{display:block;font-size:28px;font-weight:550;letter-spacing:-1px;margin:15px 0 12px;overflow-wrap:anywhere}.stat small{display:block;color:#92a087;font-size:10px;line-height:1.6}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;margin-top:25px}.bar-chart{padding:25px 0}.bar-row{display:flex;align-items:center;gap:12px;margin-bottom:25px;font-size:11px}.bar-row>span{width:64px;flex-shrink:0}.bar-row>div{flex:1;height:18px;background:#f0f3eb;border-radius:3px;overflow:hidden}.bar-row i{display:block;height:100%;background:#6888a8;border-radius:3px}.bar-row:nth-child(n+3) i{background:#d5be94}.bar-row>strong{font-size:11px;min-width:75px;text-align:right}.comparison{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#879480}.comparison strong{display:block;color:#3b5c43;font-size:16px;margin-top:9px}.cash-panel h2{margin-top:14px}.cash-panel input{max-width:180px}.cash-total{font-size:34px;letter-spacing:-1px;margin:25px 0 8px}.cash-panel p{font-size:10px;color:#86947d}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.list-row:last-child{border:0}.list-row small{display:block;color:#89947f;margin-top:7px;font-size:10px;line-height:1.6}.cash-panel .list-row{font-size:10px;margin-bottom:16px}.two{grid-template-columns:1fr 1fr}.sport-summary{padding:20px;background:#f8f9f4;border-radius:7px}.sport-summary p{font-size:11px;color:#84917b;margin-bottom:0}.sport-summary strong{font-size:22px}.settings-panel{max-width:850px}.palette{display:flex;gap:14px;margin:20px 0}.palette>span{padding:25px 18px;border-radius:8px;font-size:12px;line-height:1.8;flex:1}footer{border-top:1px solid var(--line);margin:0 40px;padding:22px 0;display:flex;justify-content:space-between;color:#99a18e;font-size:9px}footer>span:first-child{font-size:15px;color:#405670;font-weight:700}footer>span span{font-size:9px;font-weight:400;margin-left:12px;color:#99a18e}.overlay{position:fixed;inset:0;background:#102039a8;backdrop-filter:blur(5px);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{background:#fafbf7;border-radius:14px;padding:27px;width:540px;max-width:100%;max-height:90dvh;overflow:auto;box-shadow:0 30px 80px #0003}.dialog>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog header h2{margin:0}.icon-btn{background:transparent;border:0;color:#7c8d78;font-size:26px;padding:4px 8px}.dialog>p{font-size:13px}.dialog form>label{margin-bottom:16px}.form-summary{background:#edf0e6;display:flex;align-items:center;gap:12px;border-radius:6px;padding:15px;font-size:13px;margin-bottom:20px}.form-summary span{font-size:10px;margin-left:auto;color:#7b8c70}.checkout-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;font-size:12px}.checkout-total strong{font-size:25px}.form-error{color:#b05746;font-size:12px;line-height:1.6}.confirmation{text-align:center}.check-circle{width:65px;height:65px;border-radius:50%;background:#e3ecd9;color:#4c784b;display:flex;align-items:center;justify-content:center;margin:10px auto 23px;font-size:30px}.confirmation h2{font-size:24px}.confirmation p{font-size:12px}.confirmation-ticket{border:1px dashed #c6d2ba;padding:22px;background:#f0f3e9;border-radius:8px;margin:22px 0}.confirmation-ticket strong{font-size:21px}.confirmation-ticket small{display:block;color:#91a080;margin-top:12px}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:#152b49;color:white;z-index:50;padding:15px 23px;border-radius:9px;font-size:12px;max-width:90vw;box-shadow:0 8px 35px #0002;opacity:0;pointer-events:none;transition:.2s;line-height:1.6}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.hero{height:335px}.hero-copy{padding:38px 43px}.hero h2{font-size:41px}.drawn-court{width:350px;height:210px;left:40px}.ball{width:110px;height:110px;right:70px}.booking-layout{grid-template-columns:minmax(0,1fr) 280px}.court-thumb{height:145px}.slots button{padding:11px 0}.hero p{font-size:13px}}
@media(max-width:1200px){.sidebar{width:200px;padding:30px 18px}.workspace{margin-left:200px}main{padding:28px}.topbar{padding:0 28px}.booking-layout{grid-template-columns:minmax(0,1fr) 210px;gap:18px}.hero h2{font-size:29px}.hero-copy{padding:30px}.court-art{width:40%}.drawn-court{left:0;width:250px}.court-card-heading{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:repeat(2,1fr)}.tournament-grid{gap:15px}.tournament-body{padding:16px}.hero{height:295px}h1{font-size:29px}.benefit-card,.next-tournament{padding:19px}.availability-head{font-size:8px}.availability-head small{font-size:8px}}
@media(max-width:960px){.sidebar{width:170px;padding:25px 12px}.workspace{margin-left:170px}.brand>span{font-size:31px}.brand img{width:35px}.brand small{font-size:6px;letter-spacing:1px}nav button{font-size:11px;padding:13px 10px}.local-note{display:none}.club-label{font-size:11px}.booking-layout{display:block}.booking-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.next-tournament{margin:0}.help-card{display:none}.hero-copy{padding:26px}.hero h2{font-size:28px}.hero p{font-size:10px}.court-art{width:35%}.drawn-court{left:10px;width:240px}.ball{right:5px;width:70px;height:70px}.court-card-heading{flex-direction:row}.tournament-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.account-grid{grid-template-columns:1fr}.demo-indicator{display:none}.topbar{height:66px}main{padding:26px 23px}.topbar{padding:0 23px}.breadcrumb{font-size:11px}.mode-switch button{padding:7px 9px}footer{margin:0 23px}.nav-label{font-size:8px;letter-spacing:1px}.profile-mini{gap:6px}.profile-mini strong{font-size:10px}}
@media(max-width:650px){.sidebar{position:static;width:auto;height:auto;padding:17px 18px 0;border-right:0;border-bottom:1px solid var(--line)}.brand img{width:33px;height:33px}.brand>span{font-size:30px}.brand small{font-size:5px;margin-top:6px}.club-label{position:absolute;right:18px;top:17px;margin:0;font-size:10px}.club-label small{font-size:7px}.nav-label,.sidebar-bottom{display:none}nav{flex-direction:row;gap:6px;overflow-x:auto;padding:15px 0 10px}nav button{padding:9px 12px;white-space:nowrap;gap:7px;font-size:11px;flex-shrink:0}nav button>span{font-size:14px}nav button b{display:none}.workspace{margin:0}.topbar{height:55px;padding:0 18px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 7px}.mode-switch button{font-size:10px;padding:6px 9px}.mode-switch{padding:3px}main{padding:25px 18px 30px}.page-heading{align-items:flex-start;gap:15px;flex-wrap:wrap;margin-bottom:22px}.eyebrow{font-size:8px;margin-bottom:10px}h1{font-size:27px;letter-spacing:-.8px;line-height:1.18}.page-heading p{font-size:11px;line-height:1.6}.hero{height:315px;margin-bottom:28px;border-radius:10px}.hero-copy{padding:25px 22px;width:100%}.hero h2{font-size:28px;line-height:1.2}.hero p{font-size:10px;max-width:210px}.hero-pill{font-size:7px;letter-spacing:1px}.hero-meta{font-size:8px;gap:7px;margin-top:23px}.court-art{position:absolute;right:-15px;bottom:-25px;width:135px;height:150px;opacity:.8}.drawn-court{width:145px;height:95px;left:30px;top:30px;border-width:5px}.ball{width:42px;height:42px;right:18px;bottom:35px}.ball:after{top:20px}.art-word,.spark{display:none}.light-button{font-size:10px;padding:11px 13px;gap:15px}.section-title h2{font-size:17px}.section-title>span{font-size:7px}.sport-tabs{gap:24px}.sport-tabs button{font-size:12px}.week-strip{gap:5px}.week-strip button{padding:10px 2px 7px}.week-strip button strong{font-size:18px}.week-strip button span{font-size:8px}.court-grid{gap:10px}.court-card-body{padding:12px 10px}.court-card h3{font-size:14px}.court-card-heading{flex-direction:column;gap:6px}.court-card .badge{font-size:7px}.court-card p{font-size:8px;min-height:24px;line-height:1.5}.court-thumb{height:88px}.court-thumb>span{font-size:5px;left:8px;padding:4px;bottom:8px}.court-thumb>b{font-size:35px}.price-row strong{font-size:14px}.price-row{font-size:8px}.price-row small{font-size:8px}.slots{grid-template-columns:repeat(3,1fr);gap:5px}.slots button{font-size:9px;padding:9px 0;min-height:34px}.booking-aside{gap:12px}.benefit-card,.next-tournament{padding:16px}.benefit-card .tiny-label,.next-tournament .tiny-label{font-size:6px;letter-spacing:.6px}.benefit-card h3{font-size:21px}.benefit-card p{font-size:10px}.benefit-icon{font-size:35px}.next-tournament h3{font-size:14px;line-height:1.3}.avatars span{font-size:7px}.avatars{flex-wrap:wrap;row-gap:8px}.next-tournament .secondary{font-size:8px;padding:9px 6px}.text-button{font-size:9px}.tournament-grid{grid-template-columns:1fr}.tournament-art{height:150px}.stats-grid{gap:10px}.stat{padding:17px 14px}.stat>strong{font-size:23px}.stat>span{font-size:10px}.stat small{font-size:9px}.panel{padding:18px}.toolbar{flex-wrap:wrap}.toolbar input[type=search]{flex-basis:100%}.toolbar input[type=date]{flex:1}.form-grid{grid-template-columns:1fr}.account-grid{gap:15px}.rank-banner{padding:20px;gap:15px}.rank-banner h2{font-size:25px}.rank-banner h2 span{font-size:14px;display:block;margin:8px 0 0}.rank-banner .tiny-label{font-size:7px}.rank-banner>strong{font-size:26px}.ranking-row{padding:15px 0;gap:10px}.ranking-row>div{font-size:11px}.ranking-row>b{font-size:17px}.ranking-row small{font-size:8px}.rank-number{font-size:16px;width:23px}.two{grid-template-columns:1fr}.dashboard-grid{gap:16px}.bar-row{gap:7px;font-size:10px}.bar-row>strong{font-size:9px;min-width:65px}.bar-row>span{width:50px}.palette{gap:7px}.palette>span{font-size:9px;padding:19px 10px}.list-row{font-size:11px;align-items:flex-start}.list-row>div:last-child{flex-shrink:0}.stats-grid .panel{padding:15px 12px}.stats-grid h3{font-size:16px}.stats-grid .secondary{font-size:9px;padding:8px 5px}footer{margin:0 18px;gap:15px;align-items:center;font-size:8px}footer>span:first-child{font-size:14px}footer>span span{display:block;margin:5px 0 0;font-size:8px}footer>span:last-child{max-width:130px;text-align:right;line-height:1.5}.overlay{padding:12px}.dialog{padding:22px;max-height:94dvh}.dialog header h2{font-size:20px}.form-summary{font-size:11px;flex-wrap:wrap}.form-summary span{margin:0}.checkout-total{font-size:10px}.checkout-total strong{font-size:22px}#toast{width:90%;font-size:11px;bottom:18px}.page-heading>input{width:auto}.cash-total{font-size:31px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.logout-button{display:block;border:0;background:none;padding:8px 0 0;color:#526c8e;font-size:10px;text-align:left}.ranking-switch{display:flex;gap:10px;margin:20px 0 25px}.ranking-switch button{font-size:12px}.roster-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.roster-section h3{margin:0;font-size:16px}.player-row,.result-row{display:grid;grid-template-columns:1fr 1fr 30px;align-items:end;gap:10px;background:#edf1f6;border-radius:7px;padding:12px;margin:10px 0}.result-row{grid-template-columns:1fr 80px 30px}.player-row input,.result-row input,.result-row select{min-width:0;width:100%}.roster-details{margin-top:9px;font-size:10px;color:#66788f}.roster-details summary{cursor:pointer}.mini-court{background:none}.mini-court:before,.mini-court:after{content:'';position:absolute;left:18%;right:18%;height:1px;background:#eceddfcc;top:0}.mini-court.padel-lines:before{top:0;bottom:0;height:auto;background:linear-gradient(90deg,#e8edd9cc 0 1px,transparent 1px calc(100% - 1px),#e8edd9cc calc(100% - 1px));}.mini-court.padel-lines:after{top:50%;height:1px}.court-net{position:absolute;left:50%;width:2px;top:-2px;bottom:-2px;background:#fff5dc;box-shadow:2px 0 0 #152b4933}.mini-court.volley-lines:before,.mini-court.volley-lines:after{display:none}.volley-art .drawn-court{background:#cfb183;border-color:#a48a65}.volley-art .court-lines{background:none;border-color:#fff2d5}.volley-art .court-lines:before,.volley-art .court-lines:after{display:none}.volley-art .net{border-color:#fff7e2}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;max-width:1100px;min-height:720px;margin:6vh auto;padding:0;background:white;border:1px solid #e2e6ed;border-radius:18px;overflow:hidden}.login-story{background:#152b49;color:#e9d9b9;padding:45px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story .brand{color:#f3ead8}.login-story h1{font-family:Georgia,serif;font-weight:400;font-size:47px;line-height:1.15;letter-spacing:-1.8px;margin:20px 0}.login-story .eyebrow{color:#baa98e;font-size:8px}.login-story p{font-size:13px;color:#aebed0}.login-story>small{font-size:9px;color:#aebed0;letter-spacing:1px}.login-court{height:150px;position:relative}.login-court .mini-court{top:15px;bottom:0;left:15%;right:15%;background:#355375}.login-panel{padding:55px 45px;align-self:center}.login-panel h2{font-size:27px;margin-top:18px}.login-panel form>label{margin-bottom:17px}.demo-login{margin-top:25px;border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:#77869b}.demo-login p{font-size:11px}.demo-login small{font-size:10px;line-height:1.5;display:block}.hero{background:#152b49}.benefit-card{background:#eeeddf}.court-lines{background:linear-gradient(0deg,transparent 49.6%,#bed1b2 49.6%,#bed1b2 50.4%,transparent 50.4%)}.court-lines:before,.court-lines:after{top:0;bottom:0;width:1px;height:auto;border:0;background:#bed1b2;left:18%}.court-lines:after{left:auto;right:18%}.hero-copy p{color:#bdcad9}.hero-meta{color:#aebfd1}.primary:disabled,.secondary:disabled{opacity:.45;cursor:not-allowed}input[readonly]{background:#f0f2f6;color:#66748a}.rank-banner small{color:#b4c6dc}.art-orbit{border-color:#ffffff12}
@media(max-width:650px){.sidebar-bottom{display:block;position:absolute;right:18px;top:59px}.sidebar-bottom .profile-mini{padding:0;border:0}.sidebar-bottom .profile-mini .avatar,.sidebar-bottom .profile-mini strong,.sidebar-bottom .profile-mini small{display:none}.logout-button{padding:7px 0;font-size:9px}.sidebar nav{padding-top:44px}.login-layout{display:block;margin:0;border:0;border-radius:0;min-height:100dvh}.login-story{padding:24px}.login-story h1{font-size:31px;line-height:1.15;margin:18px 0 12px}.login-story .brand{margin-bottom:22px}.login-story p,.login-court,.login-story>small{display:none}.login-panel{padding:28px 24px}.login-panel h2{font-size:24px}.player-row{grid-template-columns:1fr 30px}.player-row label:first-child{grid-column:1}.player-row label:nth-child(2){grid-column:1}.player-row .icon-btn{grid-column:2;grid-row:1/3}.result-row{grid-template-columns:minmax(0,1fr) 60px 25px;gap:5px;padding:9px}.result-row select{font-size:10px;padding:8px 3px}.rank-banner>strong{max-width:100px}.ranking-switch{flex-wrap:wrap}}

.ball.sport-ball{background:transparent;overflow:visible;transform:rotate(-18deg);box-shadow:none;filter:drop-shadow(10px 14px 9px #071f2e55)}.ball.sport-ball:before,.ball.sport-ball:after{display:none}.sport-ball img{display:block;width:100%;height:100%;object-fit:contain}.volley-art .sport-ball{transform:rotate(12deg)}
.volley-art .sport-ball{transform:none}
arena-weather{display:block;margin:0 0 24px}.weather-card{display:flex;align-items:center;gap:13px;padding:14px 18px;border:1px solid #e1e5e9;border-radius:10px;background:#f0f3f7;color:#314965}.weather-icon{font-size:28px;color:#bf805e;line-height:1}.weather-card strong{font-size:12px}.weather-card small{display:block;margin-top:5px;font-size:10px;color:#738093}.weather-temperature{margin-left:12px;font-size:18px;color:#152b49}.weather-card .weather-source{font-size:9px}.weather-source a{text-decoration:underline;text-underline-offset:2px}.weather-retry{margin-left:auto;white-space:nowrap}@media(max-width:650px){.weather-card{padding:12px;gap:9px}.weather-card strong{font-size:11px}.weather-card small{font-size:9px}.weather-card .weather-source{font-size:8px}.weather-temperature{font-size:16px}.weather-retry{padding:5px;font-size:9px}arena-weather{margin-bottom:20px}}
/* Weather sits between the brand and contact details in the footer. */
footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px}
footer>span:last-child{text-align:right;justify-self:end;line-height:1.7}
footer arena-weather{margin:0;justify-self:center}
footer .weather-card{padding:0;border:0;background:transparent;justify-content:center;gap:9px}
footer .weather-card>div{text-align:center}
footer .weather-icon{font-size:23px}
footer .weather-card strong{font-size:10px}
footer .weather-temperature{font-size:15px;margin-left:7px}
footer .weather-card small{font-size:9px}
footer .weather-card .weather-source{font-size:8px;max-width:205px;line-height:1.6}
footer .weather-retry{margin:0;font-size:9px}
@media(max-width:650px){footer{grid-template-columns:minmax(65px,1fr) minmax(125px,1.4fr) minmax(85px,1fr);gap:8px}footer>span:last-child{max-width:none;font-size:8px}footer .weather-card{flex-wrap:wrap;gap:4px}footer .weather-icon{display:none}footer .weather-card strong{font-size:9px}footer .weather-temperature{font-size:13px;margin-left:4px}footer .weather-card small{font-size:8px;line-height:1.5}footer .weather-card .weather-source{font-size:7px}footer .weather-retry{padding:2px}}
.tariff-hours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.tariff-hours label{display:flex;align-items:center;gap:9px;border:1px solid #dbe2e9;border-radius:7px;padding:12px;cursor:pointer;background:#f7f9fc}.tariff-hours label:has(input:checked){background:#e9d9b94a;border-color:#cbb489}.tariff-hours input{width:16px;height:16px;min-height:0;margin:0;accent-color:#152b49}.tariff-hours small{display:block;margin-top:5px;font-size:10px;color:#738093}.slots button small{display:block;margin-top:3px;font-size:7px;opacity:.7}@media(max-width:650px){.tariff-hours{grid-template-columns:repeat(2,minmax(0,1fr))}.tariff-hours label{font-size:10px;padding:10px}}
.reward-tier{border:1px solid #dbe2e9;border-radius:9px;padding:18px;margin:18px 0;background:#fafbf8}.reward-tier legend{font-size:12px;font-weight:600;padding:0 8px;color:#3d5571}.reward-tier .checkbox{margin:0 0 15px}.wallet-panel h2{margin:20px 0 12px;font-size:28px}.wallet-panel h3{font-size:15px;margin-bottom:12px}.wallet-option{padding:12px 0;border-bottom:1px solid #d6d8c9}.wallet-option strong{font-size:12px}.wallet-option small{display:block;margin:7px 0;color:#708074;font-size:10px;line-height:1.6}.wallet-panel .small{margin-top:20px}.points-summary{background:#edf1f6;padding:12px;border-radius:6px;font-size:11px;margin:15px 0;color:#4c627e}#reward-picker h3{margin-bottom:14px}#reward-picker select{max-width:100%;white-space:normal}.reward-settings .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:650px){.reward-settings .form-grid{grid-template-columns:1fr}.reward-tier{padding:14px}.wallet-panel h2{font-size:24px}#reward-picker select{font-size:11px}}
.analytics-section{margin-bottom:26px}.analytics-controls{display:flex;gap:12px}.analytics-controls label{min-width:130px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.analytics-grid>article:last-child{grid-column:1/-1}.analytics-chart{min-width:0}.analytics-chart h2{font-size:17px}.analytics-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:20px 0 10px}.analytics-value strong{font-size:26px;letter-spacing:-.7px}.analytics-value span{font-size:10px;color:#77869a}.analytics-svg{overflow-x:auto}.analytics-svg svg{display:block;width:100%;min-width:500px}.analytics-chart details{font-size:11px;color:#687e96;margin-top:12px}.analytics-chart summary{cursor:pointer}.analytics-chart details table{margin-top:14px}@media(max-width:960px){.analytics-grid{grid-template-columns:1fr}.analytics-controls{flex-wrap:wrap}.analytics-section .page-heading{flex-wrap:wrap}}@media(max-width:650px){.analytics-controls{width:100%}.analytics-controls label{flex:1;min-width:0}.analytics-value strong{font-size:23px}.analytics-chart h2{font-size:16px}}
.connection-error { max-width: 640px; margin: 10vh auto; padding: 24px; }
.connection-error h1 { font-size: clamp(1.5rem, 5vw, 2rem); }
.connection-error [role=alert] { color: #9e3029; overflow-wrap: anywhere; }
body { padding-bottom: env(safe-area-inset-bottom); }
@media (display-mode: standalone) { .topbar { padding-top: max(16px, env(safe-area-inset-top)); } }
@media (max-width: 600px) { .login-panel button { min-height: 44px; } }
