:root{color:#152536;font-synthesis:none;background:#f6f8fa;font-family:system-ui,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:#14532d;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}button,.primary,.secondary{min-height:48px;font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:24px;padding:12px 20px;font-weight:600;text-decoration:none;display:inline-flex}button,.primary{color:#fff;cursor:pointer;background:#14532d;border:1px solid #14532d}button:hover:not(:disabled),.primary:hover{background:#103f24}button:disabled{color:#475569;cursor:wait;background:#e2e8f0;border-color:#64748b}.secondary{color:#152536;background:#fff;border:1px solid #64748b}:focus-visible{outline-offset:4px;outline:3px solid #1d4ed8}main:focus:not(:focus-visible){outline:none}.app{flex-direction:column;max-width:1280px;min-height:100svh;margin:auto;padding:0 32px;display:flex}header{border-bottom:1px solid #cbd5e1;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;display:flex}.brand{color:#152536;align-items:center;gap:12px;min-height:44px;font-size:20px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#fff;background:#fff;border:1px solid #e1e7e2;border-radius:12px;place-items:center;width:40px;height:40px;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;object-position:center;width:100%;height:100%}nav{gap:8px;display:flex}nav a{color:#475569;border-radius:8px;min-height:48px;padding:12px 16px;text-decoration:none}nav a[aria-current]{color:#14532d;background:#e8eeeb;font-weight:600}main{flex:1}.hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:64px;padding:80px 0;display:grid}.eyebrow{color:#14532d;letter-spacing:.09em;margin:0 0 24px;font-size:.875rem;font-weight:700}h1{letter-spacing:-.045em;max-width:700px;margin:0 0 24px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.12}h2{margin:0 0 8px;font-size:1.25rem}p{color:#475569;max-width:580px;margin:0 0 24px}.intro{color:#152536;font-size:1.25rem}.hero .primary{margin-top:8px}.court{background:#14532d;border-radius:12px;height:420px;padding:40px;position:relative;overflow:hidden}.court-lines{border:2px solid #e6efdf;width:100%;height:100%;position:relative}.court-lines:before{content:"";border-left:2px solid #e6efdf;border-right:2px solid #e6efdf;position:absolute;inset:0 15%}.court-lines:after{content:"";border-top:3px solid #e6efdf;position:absolute;top:50%;left:-40px;right:-40px}.court-lines i{border-top:2px solid #e6efdf;border-bottom:2px solid #e6efdf;position:absolute;inset:22% 15%}.court-lines b{border-left:2px solid #e6efdf;position:absolute;top:22%;bottom:22%;left:50%}.ball{background:#def19a;border:2px solid #dcedb9;border-radius:50%;width:40px;height:40px;position:absolute;bottom:26%;right:23%;box-shadow:4px 8px #103f24}.status-page{max-width:760px;padding:64px 0}.status-box{background:#eff6ff;border:1px solid #64748b;border-radius:12px;gap:16px;margin:32px 0;padding:24px;display:flex}.status-box.available{background:#f0fdf4}.status-box.unavailable,.status-box.connection-error{background:#fffbeb}.status-box p{margin:0}.status-icon{font-size:24px;font-weight:700}.actions{flex-wrap:wrap;gap:16px;display:flex}.auth-form{gap:20px;max-width:440px;display:grid}.auth-form label{gap:8px;font-weight:650;display:grid}.auth-form input{min-height:48px;font:inherit;color:#152536;background:#fff;border:1px solid #64748b;border-radius:8px;padding:10px 12px}.form-error{color:#991b1b;margin:0}.form-success{color:#166534;margin:0}.owner-form{border-top:1px solid #cbd5e1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:24px;display:grid}.owner-form h3,.owner-form button,.owner-form [role]{grid-column:1/-1}.owner-form label{gap:8px;font-weight:650;display:grid}.owner-form input,.owner-form select{min-height:48px;font:inherit;background:#fff;border:1px solid #64748b;border-radius:8px;padding:10px 12px}.context-card{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:24px}.dashboard-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.dashboard-heading h1{margin-bottom:24px}.context-card dl{gap:32px;margin:24px 0;display:flex}.context-card dl div{gap:4px;display:grid}.context-card dt{color:#64748b;font-size:.875rem}.context-card dd{margin:0;font-size:1.5rem;font-weight:700}.muted{margin-bottom:0;font-size:.875rem}.session-list{border-top:1px solid #cbd5e1;padding-top:24px}.session-card{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.session-card h4{margin:0 0 8px;font-size:1.1rem}.session-card p{margin:0 0 4px}.booking-confirmed{color:#166534;white-space:nowrap}.session-picker{gap:8px;max-width:520px;font-weight:650;display:grid}.session-picker select{min-height:48px;font:inherit;background:#fff;border:1px solid #64748b;border-radius:8px;padding:10px 12px}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.section-heading h3{margin:0 0 6px}.muted,.empty-state{color:#68756d}.roster-summary{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.roster-summary span{color:#526057;background:#f0f4f1;border-radius:999px;padding:8px 11px;font-size:.82rem}.roster-summary strong{color:var(--green);margin-right:4px}.league-overview{padding:32px}.league-overview h2{margin:0 0 8px}.league-overview>p{max-width:700px}.league-status-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0;display:grid}.league-status-grid article{border:1px solid var(--line);background:#f8faf8;border-radius:14px;padding:18px}.league-status-grid span{color:#68756d;margin-bottom:7px;font-size:.8rem;display:block}.league-status-grid strong{color:var(--ink)}.league-notice{color:#315b42;background:#eef5ef;border-radius:14px;padding:18px 20px}.league-notice p{color:#52675a;margin:6px 0 0}.league-slot-list{gap:14px;display:grid}.league-slot{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.league-slot h3{margin:8px 0 4px}.league-slot p{color:#68756d;margin:0}.league-slot .league-players{color:var(--ink);margin-top:8px;font-weight:700}.league-result-form{grid-template-columns:minmax(150px,1fr) auto;align-items:end;gap:10px;display:grid}.league-result-form label{color:#68756d;font-size:.75rem}.league-result-form select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:9px;padding:8px 34px 8px 10px}.league-score{color:var(--green);margin-top:9px;font-size:1.05rem;display:block}.standings-section{margin-top:30px}.standings-section select{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:42px;padding:8px 12px}.standings-table{border:1px solid var(--line);border-radius:14px;overflow-x:auto}.standings-row{border-top:1px solid var(--line);grid-template-columns:70px minmax(170px,1fr) repeat(5,70px);align-items:center;gap:10px;min-width:650px;padding:13px 16px;display:grid}.standings-row:first-child{border-top:0}.standings-row.heading{color:#68756d;background:#f2f6f3;font-size:.75rem;font-weight:700}.league-slot-form{border:1px solid var(--line);background:#f8faf8;border-radius:14px;grid-template-columns:repeat(5,minmax(130px,1fr)) auto;align-items:end;gap:12px;margin-bottom:22px;padding:20px;display:grid}.league-slot-form h3{grid-column:1/-1;margin:0}.league-slot-form label{color:#68756d;font-size:.78rem}.league-slot-form select,.league-slot-form input{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;min-height:44px;padding:8px}@media (width<=700px){.league-status-grid{grid-template-columns:1fr}.league-overview{padding:22px 18px}}.roster-row{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.roster-row p{margin:4px 0 0}.roster-actions{gap:12px;display:flex}.mfa-card{border-top:1px solid #cbd5e1;padding-top:24px}.mfa-secret{overflow-wrap:anywhere;background:#f1f5f9;border-radius:8px;margin-bottom:20px;padding:12px;font-size:1rem;display:block}.recovery-codes{columns:2;padding-left:28px}.recovery-codes li{margin-bottom:8px}.error-page{max-width:800px;margin:auto;padding:64px 24px}footer{color:#475569;border-top:1px solid #cbd5e1;justify-content:space-between;gap:16px;padding:24px 0;font-size:.875rem;display:flex}.skip-link{z-index:2;background:#fff;padding:12px 20px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}@media (width<=700px){.app{padding:0 16px}header{flex-wrap:wrap;gap:16px;padding:16px 0}nav a{padding:12px}.hero{grid-template-columns:1fr;gap:32px;padding:40px 0}.court{height:240px;padding:24px}.status-page{padding:40px 0}.status-box{padding:16px}.owner-form{grid-template-columns:1fr}.session-card,.roster-row{flex-direction:column;align-items:stretch}.recovery-codes{columns:1}footer{flex-wrap:wrap}}:root{--ink:#17211b;--muted:#667169;--green:#155f3c;--green-dark:#0d472c;--lime:#dff45a;--line:#dfe5e0;--surface:#fff;--soft:#f0f4f1;--shadow:0 12px 40px #1c312514;color:var(--ink);background:#f5f7f5;font-family:Inter,ui-sans-serif,system-ui,sans-serif}h1,h2,h3,h4,.brand{letter-spacing:-.035em}.icon{flex:none;width:21px;height:21px}.app.immersive{background:#f4f7f4;max-width:none;padding:0;display:block}.public-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:22px 0;display:flex}.public-header nav{gap:6px;display:flex}.public-header nav a{color:#526057;border-radius:10px;min-height:46px;padding:11px 16px;font-weight:600;text-decoration:none}.public-header nav a[aria-current]{color:var(--green);background:#e9f0eb}.auth-layout{background:#fff;grid-template-columns:minmax(390px,.95fr) minmax(460px,1.05fr);min-height:100svh;display:grid}.auth-welcome{color:#fff;background:radial-gradient(circle at 82% 18%,#dff45a33,#0000 28%),linear-gradient(145deg,#0a3e27,#176842);align-items:flex-end;padding:clamp(42px,6vw,88px);display:flex;position:relative;overflow:hidden}.auth-welcome:after{content:"";border:1px solid #ffffff26;border-radius:50%;width:430px;height:430px;position:absolute;top:-80px;right:-150px;box-shadow:0 0 0 80px #ffffff09,0 0 0 160px #ffffff06}.auth-welcome h2{color:#fff;max-width:560px;font-size:clamp(2.35rem,4.6vw,4.75rem);line-height:1.03}.auth-welcome p{color:#d8e9de;font-size:1.08rem}.auth-orbit{gap:9px;display:flex;position:absolute;top:44px;left:clamp(42px,6vw,88px)}.auth-orbit span{color:#d5e9dc;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.72rem;display:grid}.auth-orbit span:first-child{border-color:var(--lime);color:var(--lime)}.eyebrow.light{color:#bce2cc}.auth-panel{flex-direction:column;justify-content:center;width:min(100%,540px);margin:auto;padding:56px 50px;display:flex}.auth-brand{position:absolute;top:38px}.auth-copy{margin:68px 0 26px}.auth-copy h1{margin-bottom:10px;font-size:2.4rem}.auth-form{width:100%;max-width:460px}.auth-form input,.owner-form input,.owner-form select,.owner-form textarea,.session-picker select,.organization-picker select{border-color:#cbd5ce;border-radius:11px;width:100%;min-height:50px}.owner-form textarea{resize:vertical;font:inherit;padding:12px}.auth-form input:focus,.owner-form input:focus,.owner-form select:focus,.owner-form textarea:focus,.session-picker select:focus,.organization-picker select:focus{border-color:var(--green);outline:3px solid #155f3c1a}.wide{width:100%}.text-link{color:var(--green);justify-self:center;font-weight:700;text-decoration:none}.inline-message{border-radius:10px;padding:12px 14px;font-size:.94rem}.inline-message.error{color:#9a2828;background:#fff0ef}.auth-security{color:#7a867e;align-items:center;gap:9px;margin:32px 0 0;font-size:.83rem;display:flex}.auth-security .icon{width:18px}.center-page{background:radial-gradient(circle at 15% 10%,#e4f0e8,#0000 30%),#f5f7f5;place-items:center;min-height:100svh;padding:32px;display:grid}.standalone-card{border:1px solid var(--line);width:min(100%,520px);box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:42px}.standalone-card>.brand{margin-bottom:56px}.standalone-card h1{font-size:2.25rem}.success-state,.empty-state{text-align:center}.success-state p,.empty-state p{margin-left:auto;margin-right:auto}.success-icon,.empty-icon{width:56px;height:56px;color:var(--green);background:#e6f4e9;border-radius:18px;place-items:center;margin:0 auto 22px;display:grid}.success-icon .icon,.empty-icon .icon{width:28px;height:28px}.dashboard-shell{background:#f4f6f4;grid-template-columns:270px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{z-index:20;background:#fbfcfb;border-right:1px solid #dbe2dc;flex-direction:column;height:100svh;padding:24px 18px 18px;display:flex;position:sticky;top:0}.sidebar-top{justify-content:space-between;align-items:center;padding:0 7px;display:flex}.sidebar-brand{font-size:19px}.sidebar-brand .brand-mark{border-radius:12px;width:39px;height:39px}.menu-close,.menu-trigger{display:none}.organization-picker{color:#7a867e;letter-spacing:.08em;text-transform:uppercase;gap:7px;margin:35px 6px 22px;font-size:.72rem;font-weight:800;display:grid}.organization-picker select{min-height:46px;color:var(--ink);letter-spacing:normal;text-transform:none;background:#fff;padding:10px 12px;font-size:.9rem;font-weight:700}.app-nav{gap:6px;display:grid}.app-nav button{color:#5c6860;width:100%;min-height:48px;box-shadow:none;background:0 0;border:0;border-radius:11px;justify-content:flex-start;padding:11px 13px;font-weight:650}.app-nav button:hover{color:var(--ink);box-shadow:none;background:#eef2ef;transform:none}.app-nav button.active{color:var(--green);background:#e2ede6}.sidebar-account{border-top:1px solid var(--line);grid-template-columns:40px minmax(0,1fr) 38px;align-items:center;gap:10px;margin-top:auto;padding:14px 6px 0;display:grid}.avatar{width:40px;height:40px;color:var(--green);background:#dfeae3;border-radius:12px;place-items:center;font-weight:800;display:grid}.sidebar-account div{min-width:0;display:grid}.sidebar-account strong,.sidebar-account span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-account strong{font-size:.88rem}.sidebar-account div span{color:#849087;font-size:.75rem}.sidebar-account button{color:#738078;width:38px;min-height:38px;box-shadow:none;background:0 0;border:0;padding:0}.sidebar-account button:hover{color:var(--green);box-shadow:none;background:#eef2ef;transform:none}.dashboard-main{min-width:0}.dashboard-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffc2;border-bottom:1px solid #dfe5e0;justify-content:flex-end;align-items:center;gap:20px;height:76px;padding:0 clamp(24px,4vw,56px);display:flex}.topbar-context,.mobile-org{color:#69756d;font-size:.86rem}.mobile-org{color:var(--ink);font-weight:700;display:none}.status-pill{color:#347052;background:#edf7f0;border-radius:999px;align-items:center;gap:8px;padding:7px 11px;font-size:.76rem;font-weight:700;display:flex}.status-pill i{background:#30a463;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #30a4631f}.dashboard-content{max-width:1320px;margin:0 auto;padding:clamp(30px,4vw,56px)}.page-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:34px;display:flex}.page-heading h1{margin-bottom:12px;font-size:clamp(2rem,3.4vw,3.15rem)}.page-heading p:last-child{margin:0}.page-heading.compact{align-items:center}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.metric-grid article{border:1px solid var(--line);background:#fff;border-radius:17px;align-items:center;gap:17px;padding:21px;display:flex}.metric-icon{border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.metric-icon.green{color:#17643f;background:#e4f1e8}.metric-icon.blue{color:#3b6294;background:#e8eff8}.metric-icon.amber{color:#8b6517;background:#fbf1d8}.metric-grid article>div{flex:1;grid-template-columns:auto auto;align-items:baseline;display:grid}.metric-grid span{color:#748078;grid-column:1;font-size:.82rem}.metric-grid strong{grid-area:1/2/3;justify-self:end;font-size:2rem}.metric-grid small{color:#9aa39d;grid-column:1}.dashboard-grid{grid-template-columns:1.25fr .75fr;gap:18px;display:grid}.panel-card{border:1px solid var(--line);background:#fff;border-radius:19px;padding:27px;box-shadow:0 3px 14px #1f342706}.feature-card{padding:clamp(22px,4vw,38px)}.card-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.date-chip{color:#627067;text-transform:capitalize;background:#f0f4f1;border-radius:9px;padding:7px 10px;font-size:.8rem}.org-monogram{background:var(--green);color:#fff;border-radius:14px;place-items:center;width:45px;height:45px;font-weight:800;display:grid}.organization-summary dl{margin:26px 0 0}.organization-summary dl div{border-top:1px solid #edf0ed;justify-content:space-between;gap:20px;padding:12px 0;display:flex}.organization-summary dt{color:#7c877f}.organization-summary dd{text-align:right;margin:0;font-weight:700}.loading-page{text-align:center;background:#f4f7f4;place-content:center;justify-items:center;min-height:100svh;display:grid}.loading-page h1{margin:18px 0 8px;font-size:1.7rem}.loading-mark{background:var(--green);color:#fff;border-radius:17px;place-items:center;width:58px;height:58px;font-size:1.5rem;font-weight:800;animation:1.3s infinite alternate pulse;display:grid}@keyframes pulse{to{opacity:.75;transform:scale(.94)}}.owner-form{border-top:0;padding-top:0}.owner-form button{justify-self:start}.mfa-card:first-child{border-top:0;margin-top:0;padding-top:0}.security-ready{align-items:center;gap:16px;display:flex}.security-ready .success-icon{flex:none;margin:0}.security-ready p{margin:0}.optional-label{color:#89938c;font-size:.75rem;font-weight:500}.events-layout{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);align-items:start;gap:20px;display:grid}.event-form,.event-list{border:1px solid var(--line);background:#fff;border-radius:19px;padding:28px}.event-form{position:sticky;top:98px}.event-form>p:not(.eyebrow):not(.form-success):not(.form-error){margin-top:-6px}.event-list-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.event-list-heading h2{margin:0}.event-list-heading>span{min-width:42px;height:42px;color:var(--green);background:#e5efe8;border-radius:13px;place-items:center;font-weight:800;display:grid}.event-card{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;padding:20px 0;display:grid}.event-card:first-of-type{border-top:0}.event-card h3{margin:0 0 5px}.event-card p{color:#758078;margin:0}.event-count{color:#5e6a62;background:#f0f4f1;border-radius:999px;align-self:start;padding:6px 9px;font-size:.76rem;font-weight:700}.event-card ul{grid-column:1/-1;gap:7px;margin:7px 0 0;padding:0;list-style:none;display:grid}.event-card li{background:#f6f8f6;border-radius:10px;grid-template-columns:150px minmax(120px,1fr) minmax(140px,1fr);gap:12px;padding:10px 12px;font-size:.82rem;display:grid}.event-card li small{color:#77827a}.event-empty{text-align:center;border:1px dashed #ccd7cf;border-radius:14px;justify-items:center;padding:48px 18px;display:grid}.event-empty .icon{width:32px;height:32px;color:var(--green)}.event-empty h3{margin:14px 0 5px}.event-empty p{margin:0}@media (width<=900px){.auth-layout{grid-template-columns:1fr}.auth-welcome{display:none}.auth-panel{min-height:100svh;padding:42px 28px}.auth-brand{top:28px}.dashboard-shell{grid-template-columns:1fr}.sidebar{width:min(310px,88vw);transition:transform .2s;position:fixed;left:0;transform:translate(-105%);box-shadow:20px 0 50px #0e2b1a29}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:15;background:#0a1c1161;border:0;border-radius:0;width:100%;min-height:100vh;padding:0;display:block;position:fixed;inset:0}.menu-close{width:38px;min-height:38px;color:var(--ink);box-shadow:none;background:0 0;border:0;place-items:center;padding:0;font-size:1.8rem;display:grid}.menu-trigger{width:42px;min-height:42px;color:var(--ink);box-shadow:none;background:#fff;border-color:#d4ddd6;place-items:center;padding:0;display:grid}.dashboard-topbar{justify-content:flex-start;height:68px;padding:0 20px}.dashboard-topbar>div{margin-right:auto;display:grid}.mobile-org{display:block}.topbar-context{font-size:.74rem}.metric-grid,.dashboard-grid,.events-layout{grid-template-columns:1fr}.event-form{position:static}}@media (width<=650px){.auth-panel{padding:32px 20px}.auth-copy{margin-top:76px}.auth-copy h1{font-size:2.05rem}.center-page{padding:16px}.standalone-card{border-radius:19px;padding:28px 22px}.dashboard-content{padding:28px 17px 38px}.page-heading{flex-direction:column;align-items:stretch;margin-bottom:25px}.page-heading>button{align-self:flex-start}.page-heading h1{font-size:2rem}.status-pill{justify-content:center;width:30px;height:30px;padding:0;font-size:0}.panel-card,.event-form,.event-list{padding:21px 18px}.event-card li{grid-template-columns:1fr;gap:3px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
