@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,system-ui,sans-serif;color:#202b25;background:#f7f8f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}.app-layout{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#173c2d;color:#edf6ec;padding:28px 19px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.1;font-weight:800;letter-spacing:.035em;margin-bottom:35px}.brand small{display:block;font-size:9px;letter-spacing:.2em;margin-top:7px;color:#a9c5ab}.seal{display:grid;place-items:center;width:51px;height:51px;border-radius:50%;border:3px double #b8d5a8;color:#c9dfad;font-size:25px}.sidebar nav{display:grid;gap:9px}.nav-item{background:transparent;color:#bdd0c0;border:0;border-radius:10px;text-align:left;padding:15px 14px;font-weight:700;display:flex;gap:14px}.nav-item.active,.nav-item:hover{background:#2d5941;color:#fff}.nav-item span{width:15px}.sidebar-foot{margin-top:auto;color:#8eaa93;font-size:12px}.content{margin-left:220px;width:calc(100% - 220px);padding:0 42px 60px;max-width:1450px}.top{height:100px;display:flex;justify-content:space-between;align-items:center;color:#76877c;font-size:11px;font-weight:800;letter-spacing:.16em}.top>div{display:flex;gap:12px;align-items:center;letter-spacing:0;font-size:13px}.role{border:1px solid #e3e8e0;border-radius:24px;background:#fff;padding:11px 18px;color:#63766a}.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e7f0e4;color:#367453;font-weight:800}.eyebrow{font-size:10px;letter-spacing:.2em;color:#82948a;font-weight:800}.page-head{display:flex;justify-content:space-between;align-items:end;margin:32px 0 24px;gap:20px}.page-head h1,.login-card h1{font-size:38px;letter-spacing:-.055em;line-height:1.1;margin:8px 0}.page-head p,.login-card p{color:#8c9b91;font-size:13px;margin:6px 0}.primary,.outline{border:0;border-radius:10px;padding:15px 21px;font-weight:800;font-size:13px}.primary{background:#387f58;color:#fff}.primary:hover{background:#2c6949}.outline{background:#fff;color:#386e50;border:1px solid #dfe7de}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.day{border:1px solid #e5ebe2;background:#fff;border-radius:12px;min-height:74px;color:#667c6b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.day span{font-size:12px;text-transform:lowercase}.day b{font-size:18px}.day.selected{background:#367c55;color:#fff;border-color:#367c55}.filters{display:flex;justify-content:space-between;gap:12px;margin:24px 0}.filters>div{display:flex;gap:8px}.chip{border:1px solid #e3eae1;border-radius:18px;background:#fff;padding:9px 16px;color:#718276;font-size:12px;font-weight:700}.chip.on{background:#e5f1e5;color:#39805a;border-color:#e5f1e5}input,select{border:1px solid #e1e8df;border-radius:9px;padding:12px;background:#fff;color:#33483b;outline-color:#4b906a}.schedule-columns{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:26px}.list-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.list-heading h2,.dialog h2,.profile-card h2{font-size:20px;letter-spacing:-.035em;margin:0}.list-heading span{font-size:12px;color:#9aa89d}.event{display:grid;grid-template-columns:65px 1fr;gap:15px;margin-bottom:12px}.event-time{padding:17px 0;display:flex;flex-direction:column;font-size:13px}.event-time small{color:#a3b0a4;margin-top:5px}.event-card{border:1px solid #edf0ea;border-left:4px solid #76b48a;background:#fff;border-radius:10px;padding:15px;text-align:left;color:#263c2e}.event-card>div{display:flex;justify-content:space-between;gap:10px}.event-card small{display:block;color:#90a095;margin-top:8px}.badge{border-radius:12px;background:#e7f4e7;color:#459365;padding:5px 8px;font-size:9px;white-space:nowrap}.overview,.profile-card{background:#fff;border:1px solid #edf0ea;border-radius:14px;padding:22px;height:fit-content}.overview h3{font-size:16px;margin:0 0 14px}.overview div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #f0f2ee;padding:13px 0;font-size:12px;color:#87988c}.overview div b{color:#2e4836;text-align:right}.overview p{font-size:12px;background:#f2f7ef;border-radius:9px;padding:13px;color:#77917d;line-height:1.5}.empty{background:#fff;border:1px solid #edf0ea;border-radius:12px;padding:32px;color:#85958a;font-size:13px}.empty p{margin-bottom:0}.court-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.court-card{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #edf0ea;border-radius:12px;padding:18px;font-size:13px}.court-card small{display:block;color:#9aa99d;margin-top:6px}.court-icon{display:grid;place-items:center;background:#eaf4e8;color:#4e9665;width:42px;height:42px;border-radius:10px;font-size:20px}.profile-card{max-width:450px}.profile-card p{color:#8a9a8f;font-size:13px}.large{width:60px;height:60px;font-size:22px;margin-bottom:16px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#142a1eb3;display:grid;place-items:center;padding:20px;z-index:10}.dialog{width:min(490px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:19px;padding:25px;box-shadow:0 20px 70px #0003}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.modal-head h2{margin-top:7px}.close{border:0;border-radius:50%;width:36px;height:36px;background:#f1f5ef;color:#617568;font-size:22px}.detail-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #f0f2ef;font-size:13px}.detail-row span{color:#8b9a90}.detail-row b{text-align:right}.danger{color:#aa6258;margin-top:18px}.dialog label,.login-card label{display:block;font-size:12px;font-weight:700;color:#526a59;margin:15px 0}.dialog input,.dialog select,.login-card input{display:block;width:100%;margin-top:7px}.dialog label small{display:block;font-weight:400;color:#91a095;margin-top:6px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{display:flex;gap:10px;margin-top:20px}.actions button{flex:1}.error{color:#b55049;font-size:12px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:100px;background:#edf3ea;padding:25px}.login-logo{display:flex;align-items:center;gap:15px;color:#1f563a;font-size:20px}.login-logo:first-letter{font-size:50px}.login-card{background:#fff;border-radius:18px;padding:40px;width:min(430px,100%);box-shadow:0 20px 70px #1b3e2712}.login-card h1{font-size:28px}.login-card form{margin-top:30px}.login-card .primary{width:100%}.loading{padding:60px;color:#52705e}@media(max-width:800px){.sidebar{position:sticky;inset:auto;width:100%;height:auto;padding:12px 16px;z-index:2}.app-layout{display:block}.brand{margin:0 0 10px;font-size:11px}.seal{width:34px;height:34px;font-size:18px}.brand small,.sidebar-foot{display:none}.sidebar nav{display:flex;justify-content:space-between;gap:4px}.nav-item{padding:9px;font-size:11px;gap:5px}.content{margin:0;width:100%;padding:0 18px 40px}.top{height:65px}.top>span{font-size:9px}.role{padding:8px}.schedule-columns{grid-template-columns:1fr}.overview{order:-1}.court-grid{grid-template-columns:repeat(2,1fr)}.day{min-height:60px}.days{gap:5px}.page-head h1{font-size:32px}.login-screen{display:block}.login-logo{margin:30px auto;max-width:430px}}@media(max-width:450px){.nav-item span{display:none}.page-head{align-items:start;flex-direction:column}.court-grid{grid-template-columns:1fr}.event{grid-template-columns:48px 1fr}.badge{display:none}.top>span{max-width:150px}.dialog{padding:20px}}.court-date{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;color:#7c9081;font-size:13px}.court-card{text-align:left;color:#263c2e;cursor:pointer}.court-card:hover{border-color:#a9cdb0}.court-book{width:100%;margin-top:18px}.subtle{font-size:13px;color:#84978a;line-height:1.6}.athlete-card{cursor:default}.athlete-toggle{border:0;background:none;color:#39805a;font-size:12px;font-weight:700;padding:8px 0 0;text-align:left}.athlete-toggle:disabled{opacity:.5}.athlete-delete{border:0;background:none;color:#ad6359;font-size:12px;font-weight:700;padding:8px 0 0 14px}.athlete-delete:disabled{opacity:.5}.top-logout{border:1px solid #dce6db;background:#fff;color:#3b6b4c;border-radius:20px;padding:9px 14px;font-size:12px;font-weight:700}.top-logout:hover{background:#edf5ec}@media(max-width:450px){.top-logout{padding:8px 10px}.top>div{gap:6px}.role{font-size:11px;padding:8px}}.choices{min-width:0;margin:15px 0;padding:0;border:0}.choices legend{font-size:12px;font-weight:700;color:#526a59;margin-bottom:8px}.choices legend small{font-weight:400;color:#8a9a8f}.choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto;overscroll-behavior:contain}.dialog .choice{display:flex;align-items:center;gap:9px;margin:0;padding:10px;border:1px solid #e1e8df;border-radius:9px;font-size:13px;min-height:44px;overflow-wrap:anywhere}.dialog .choice:has(input:checked){background:#edf6ec;border-color:#6ca880}.dialog .choice input{display:block;flex:0 0 20px;width:20px;height:20px;margin:0;accent-color:#387f58}.choice-list p{font-size:13px;color:#819187}.dialog input:not([type=checkbox]),.dialog select,.login-card input{font-size:16px;min-height:44px}.overlay{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain}.event-card,.court-card,.nav-item,.chip,.close{min-height:44px}.content,section,.schedule-columns>*{min-width:0}.event-card b,.detail-row b{overflow-wrap:anywhere}.filters input[type=date],.court-date input[type=date]{max-width:100%;min-width:0}@media(max-width:800px){.sidebar{padding-top:max(12px,env(safe-area-inset-top))}.content{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:max(40px,env(safe-area-inset-bottom))}.top{gap:8px}.top>div{min-width:0}.filters{align-items:flex-start;flex-wrap:wrap}}@media(max-width:360px){.top>span{display:none}.top{justify-content:flex-end;height:auto;min-height:58px}.top .role{white-space:normal}.days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.day{min-width:43px;flex:1;scroll-snap-align:start}.nav-item{font-size:10px;padding:8px 5px}.choice-list,.two{grid-template-columns:1fr}.filters>div{flex-wrap:wrap}.page-head .primary{width:100%}.actions{flex-wrap:wrap}.actions button{min-width:120px}.dialog{padding:16px}.court-date{align-items:flex-start;flex-direction:column}}@media(max-width:800px){.sidebar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.nav-item{min-width:0;justify-content:center;text-align:center;white-space:nowrap;letter-spacing:-.02em}.top>div{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:360px){.nav-item{font-size:clamp(8px,2.6vw,10px)}.sidebar{padding-left:8px;padding-right:8px}}.head-actions{display:flex;flex-wrap:wrap;gap:10px}.copy-text{display:block;width:100%;min-height:220px;resize:vertical;padding:12px;margin:12px 0;border:1px solid #dce6db;border-radius:9px;color:#263c2e;font:16px/1.5 Manrope,system-ui,sans-serif;white-space:pre-wrap}@media(max-width:450px){.head-actions{width:100%}.head-actions button{flex:1 1 100%;min-height:44px}}@media(max-width:800px){.top{height:auto;min-height:65px;padding:16px 0 12px;align-items:center}.top>div{row-gap:8px}.page-head{margin-top:24px}}.dialog form,.dialog label,.dialog .two{min-width:0;max-width:100%}.dialog .two{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog input[type=date],.dialog input[type=time]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left}@media(max-width:450px){.dialog .two{grid-template-columns:minmax(0,1fr);gap:0}.dialog input[type=date],.dialog input[type=time]{min-height:48px}}.brand-logo{width:51px;height:51px;object-fit:contain;flex:none}.login-logo img{width:72px;height:72px;object-fit:contain;flex:none}@media(max-width:800px){.brand-logo{width:38px;height:38px}}
