*{box-sizing:border-box}body{margin:0;background:#f2f5f8;color:#112b45;font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#07577e;text-decoration:none}a:hover{text-decoration:underline}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:#123953;color:#fff;border:1px solid #123953;border-radius:8px;padding:12px 20px;font:inherit;font-weight:650;cursor:pointer;min-height:46px}button:hover,.button:hover{background:#205675;text-decoration:none}.secondary,.quiet{background:white;color:#123953;border-color:#cbd6df}.top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 4vw;background:#fff;border-bottom:1px solid #dce3ea}.brand{display:block;width:min(600px,55vw)}.brand img{display:block;width:100%;height:auto}.account{display:flex;align-items:center;gap:18px;font-size:12px;font-weight:650;letter-spacing:.04em}.account form{margin:0}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#58758b}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;max-width:1200px;margin:64px auto;min-height:590px;background:#fff;border:1px solid #dce3ea;border-radius:18px;overflow:hidden}.welcome{position:relative;overflow:hidden;padding:58px;background:#123953;color:white}.welcome .eyebrow{color:#ffe23e}.welcome h1{font-size:clamp(44px,5vw,76px);line-height:1.03;letter-spacing:-.045em;margin:22px 0}.welcome p{font-size:18px;max-width:320px;color:#d8e6ef}.court-art{position:absolute;bottom:-100px;right:-40px;width:400px;height:260px;border:2px solid #80a0b6;transform:rotate(-24deg);opacity:.6}.court-art:before,.court-art:after{content:"";position:absolute;inset:35px 0;border-top:2px solid #80a0b6;border-bottom:2px solid #80a0b6}.court-art:after{inset:0 50%;border-left:2px solid #80a0b6}.court-art div{position:absolute;inset:35px 70px;border:2px solid #80a0b6}.court-art span{position:absolute;top:10px;left:80px;width:45px;height:45px;border-radius:50%;background:#ffe23e}.login-panel{padding:58px}h1,h2,h3{line-height:1.2}h1{font-size:34px;letter-spacing:-.025em;margin:8px 0}h2{font-size:23px;margin:0 0 14px}h3{font-size:17px;margin:25px 0 14px}.muted{color:#607284}.fine{font-size:13px;color:#607284;margin-top:28px}.stack{display:grid;gap:18px}label{display:grid;gap:6px;font-size:13px;font-weight:650;color:#354f65}input,select,textarea{font:inherit;font-size:15px;color:#142f46;background:#fff;border:1px solid #bdcad5;border-radius:7px;padding:11px 12px;width:100%;min-height:46px}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #e3b800;outline-offset:2px}.workspace{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:calc(100vh - 180px)}.rail{padding:32px 20px;background:#102e46;color:white;position:relative}.rail .eyebrow{color:#acc1d1;margin:0 12px 22px}.nav{display:flex;gap:12px;padding:14px 12px;border-radius:8px;color:#fff;font-weight:650}.nav.active{background:#28485f;border-left:3px solid #ffda00}.rail-bottom{margin:100px 12px 20px;color:#b3c8d6;font-size:13px}.content{padding:36px;max-width:1450px;width:100%}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading p{margin:10px 0 0}.panel{background:#fff;border:1px solid #d9e2e9;border-radius:12px;padding:26px;margin:22px 0;box-shadow:0 3px 12px #12395305}.metric{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #d9e2e9;border-left:4px solid #e1bd00;border-radius:10px;padding:20px 26px}.metric strong{font-size:34px}.metric span{color:#607284}.filters{display:flex;gap:16px;align-items:end}.grow{flex:1}.table-wrap{overflow-x:auto;margin-top:24px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;padding:12px;color:#6a7d8e;font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:#f5f7fa}td{padding:16px 12px;border-bottom:1px solid #e3e9ed}small{display:block;color:#687c8e;margin-top:4px}.badge{display:inline-block;background:#edf3f7;color:#365669;font-size:12px;padding:5px 10px;border-radius:100px}.empty{padding:50px;text-align:center;color:#687c8e}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.form-end{display:flex;align-items:end;justify-content:flex-end;margin-top:20px}.profile-summary{display:flex;align-items:center;gap:20px;padding:20px 0}.profile-summary p{margin:3px 0}.profile-summary .badge{margin-left:auto}.avatar{width:62px;height:62px;border-radius:16px;background:#ffe23e;display:grid;place-items:center;font-weight:800;font-size:22px}.alert,.success{padding:15px 18px;margin:20px 0;border-radius:8px;border:1px solid #edb6ac;background:#fff1ed;color:#813423}.success{border-color:#afcfbb;background:#edf8f0;color:#245d3a}.timeline p{border-top:1px solid #e3e9ed;padding:14px 0;margin:0}.timeline{margin-top:24px}.member-list>div{display:flex;gap:18px;padding:14px 0;border-bottom:1px solid #e3e9ed}.member-list a{margin-left:auto}details{margin-top:24px}summary{cursor:pointer;font-weight:650;margin-bottom:20px}.pagination{display:flex;gap:24px;margin-top:18px}footer{padding:22px;text-align:center;color:#6b7d8e;font-size:12px}@media(max-width:1000px){.brand{width:58vw}.account span{display:none}.workspace{grid-template-columns:185px minmax(0,1fr)}.content{padding:24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-layout{margin:32px 24px}.login-panel,.welcome{padding:36px}.filters{flex-wrap:wrap}.filters label{min-width:180px}}@media(max-width:680px){.top{padding:16px;gap:12px}.brand{width:100%}.account{flex-shrink:0}.quiet{padding:8px 10px;font-size:12px;min-height:40px}.login-layout{display:block;margin:20px 14px}.welcome{padding:30px;min-height:250px}.welcome h1{font-size:44px}.welcome p{font-size:15px}.court-art{width:210px;height:170px;bottom:-100px;right:-25px}.login-panel{padding:28px}.workspace{display:block}.rail{padding:10px 16px}.rail .eyebrow,.rail-bottom{display:none}.nav{padding:9px 12px}.content{padding:22px 14px}.page-heading{display:block}h1{font-size:29px}.page-heading .button{margin-top:18px}.panel{padding:20px 16px}.form-grid{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr}.filters label{min-width:0}.filters button{width:100%}.profile-summary{gap:12px}.profile-summary .badge{font-size:11px}.member-list>div{flex-wrap:wrap}.member-list a{margin-left:0}.empty{padding:30px 10px}}

.court-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.court-card{border:1px solid #dce3e9;border-radius:12px;padding:18px}.court-slot{background:#eef5fb;border-left:4px solid #164b76;padding:12px;margin:12px 0;border-radius:6px}.court-slot span,.court-slot strong{display:block}.reservation-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #dce3e9}.check{display:flex;align-items:center;gap:10px}.check input{width:20px;min-height:20px}.arrival-confirmation{background:#102c43;color:#fff;text-align:center;padding:32px;border-radius:14px;margin:20px 0}.arrival-confirmation strong{display:block;font-size:clamp(1.5rem,4vw,2.8rem);color:#edec3d;margin:14px 0}.agreement-text{white-space:normal;max-height:360px;overflow:auto;border:1px solid #dce3e9;padding:20px;margin:20px 0;line-height:1.7}@media(max-width:680px){.reservation-row{align-items:flex-start;flex-direction:column}.court-grid{grid-template-columns:1fr}}
.mobile-menu{display:none}.mobile-menu summary:focus-visible{outline:3px solid #e3b800;outline-offset:-3px}@media(max-width:680px){.workspace>.rail{display:none}.mobile-menu{display:block;margin:0;background:#102e46;color:#fff}.mobile-menu>summary{padding:14px 20px;margin:0;min-height:48px}.mobile-menu nav{padding:0 16px 14px}.mobile-menu .nav{min-height:44px}.mobile-menu[open]>summary{border-bottom:1px solid #38536a;margin-bottom:6px}}

.environment-banner{display:grid;gap:6px;padding:16px 20px;margin:0 0 20px;border:1px solid #dcc84b;border-left:5px solid #b19a13;background:#fffbe7;color:#473d09;border-radius:10px}.environment-banner strong{font-size:12px;letter-spacing:.08em}.environment-banner span{font-size:14px;line-height:1.5}
