@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#142820;--lime:#d3f36b;--paper:#f5f7f3;--muted:#67736c;--line:#dce3da;--white:#fff}*{box-sizing:border-box}body{margin:0;font:16px/1.55 'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}input[type="checkbox"]{accent-color:#537623}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #709b2e;outline-offset:3px}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.2;margin:0;letter-spacing:-1px}h1{font-size:36px}h2{font-size:23px}h3{font-size:19px;letter-spacing:-.5px}p{margin:12px 0}.shell{display:flex;min-height:100vh}.sidebar{width:250px;position:fixed;inset:0 auto 0 0;padding:24px 20px;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);z-index:3}.brand{display:flex;align-items:center;font-family:Manrope,Arial,sans-serif;font-size:20px;font-weight:800;letter-spacing:-1px;gap:3px}.brand img{object-fit:contain;mix-blend-mode:multiply}.demo-label{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin:10px 0 34px 9px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{background:none;text-align:left;color:#647067;border-radius:7px;padding:13px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:12px}.sidebar nav button>span{font-size:22px;width:23px;line-height:1}.sidebar nav button.active{background:var(--ink);color:var(--lime)}.sidebar nav b{margin-left:auto}.sidebar-bottom{margin-top:auto;padding:35px 9px 4px;font-size:12px;color:var(--muted)}.sidebar-bottom p{font-size:10px;letter-spacing:1.2px;font-weight:bold}.sidebar-bottom button,.sidebar-bottom a{display:block;margin-top:18px;font-size:12px}.text-button{padding:0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:4px}.workspace{margin-left:250px;width:calc(100% - 250px)}.demo-banner{padding:9px 36px;background:var(--lime);font-size:11px;font-weight:700;letter-spacing:1px}.demo-banner span{font-weight:400;letter-spacing:0;margin-left:14px;font-size:12px}.topbar{min-height:91px;padding:17px 36px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff}.topbar strong{font-size:14px}.topbar small{display:block;margin-left:28px;color:var(--muted);font-size:12px}.location-icon{margin-right:10px}.persona-label{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}select,input,textarea{border:1px solid #ccd6c9;background:white;color:var(--ink);border-radius:6px;padding:10px 12px;min-height:44px;max-width:100%}select{font-size:14px}.persona-label select{min-width:195px}#content{padding:34px 36px 44px;max-width:1450px;margin:auto}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:25px}.eyebrow{color:#6a795e;font-size:11px;font-weight:700;letter-spacing:1.4px;margin:0 0 10px}.page-heading p:not(.eyebrow){color:var(--muted);font-size:15px;margin-bottom:0}.pill{display:inline-block;border-radius:20px;background:#e8eee1;padding:5px 11px;font-size:12px;font-weight:600}.pill.confirmed,.pill.ready{background:#e4f0cf;color:#31520c}.pill.cancelled,.pill.paymentfailed,.pill.declined{background:#f3e7df;color:#81492d}.pill.processing,.pill.cancellationpending{background:#fff0c7;color:#765511}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:25px}.explore-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.mode-tabs{display:flex;background:#edf1e8;border-radius:7px;padding:4px;margin-bottom:23px;width:fit-content}.mode-tabs button{padding:10px 21px;background:none;border-radius:5px;font-size:14px;font-weight:600}.mode-tabs button.active{background:var(--ink);color:white}.filters{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.help{color:var(--muted);font-size:12px;font-weight:400}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:27px 0 15px}.section-title h2{font-size:19px}.section-title small{font-size:12px;color:var(--muted)}.time-list{display:flex;gap:8px;flex-wrap:wrap}.time-button{background:white;border:1px solid var(--line);border-radius:6px;min-width:66px;padding:9px 12px;font-size:14px}.time-button.selected{background:var(--ink);color:var(--lime);border-color:var(--ink)}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.person-card{border:1px solid var(--line);border-radius:9px;background:white;text-align:left;padding:18px;color:var(--ink);position:relative}.person-card.selected{border:2px solid #72972f;padding:17px;background:#f7fbeF}.person-card .top{display:flex;align-items:center;gap:11px}.avatar{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;background:#eaf0df;flex-shrink:0}.avatar.coach{background:#efe7dc}.person-card strong{font-size:14px;display:block}.person-card p{font-size:13px;color:var(--muted);line-height:1.5;min-height:39px}.person-card .meta{font-size:12px;color:#506545}.person-card .rate{font-size:14px;font-weight:700;margin-top:9px}.person-card .check{position:absolute;right:12px;top:10px;color:#5a7926}.booking-summary{background:var(--ink);color:white;position:sticky;top:24px;align-self:start;border-radius:12px;padding:25px}.booking-summary .eyebrow{color:#b9cd97}.booking-summary h2{font-size:25px}.booking-summary p{color:#c4d0c6;font-size:14px}.summary-line{display:flex;justify-content:space-between;gap:15px;font-size:14px;margin:16px 0}.summary-total{border-top:1px solid #48604e;padding-top:18px;font-size:19px;font-weight:700}.primary{background:var(--ink);color:white;border-radius:6px;padding:12px 18px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:44px}.primary:hover{background:#2f4b39}.booking-summary .primary{background:var(--lime);color:var(--ink);width:100%;margin-top:10px}.secondary{background:white;border:1px solid #bdc9b8;color:var(--ink);padding:10px 15px;border-radius:6px;font-weight:600;font-size:14px;min-height:44px}.danger{color:#884c30;border-color:#ddc6b7}.summary-note{font-size:12px!important;line-height:1.6}.empty{padding:36px 25px;text-align:center;background:#fff;border:1px dashed #c5d0be;border-radius:10px;color:var(--muted)}.empty h2{color:var(--ink)}.empty p{max-width:480px;margin:12px auto 20px}.rating-note{font-size:12px;color:var(--muted);margin:15px 0 0}.session-list{display:grid;gap:14px}.session-row{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;align-items:center;gap:19px}.date-tile{background:#edf2e5;border-radius:8px;text-align:center;min-width:62px;padding:8px 10px;line-height:1.2}.date-tile strong{display:block;font-size:23px}.date-tile span{font-size:11px;text-transform:uppercase}.session-copy{flex:1}.session-copy h3{font-size:17px}.session-copy p{color:var(--muted);font-size:13px;margin:5px 0}.session-row .price{font-weight:700}.session-actions{display:flex;gap:10px;align-items:center}.app-footer{padding:18px 36px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;box-shadow:0 8px 28px #0002;padding:14px 22px;max-width:calc(100% - 36px);z-index:20;display:none}#notice.show{display:block}.loading{padding:65px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:14px;width:min(720px,calc(100% - 24px));padding:0;max-height:90vh;color:var(--ink)}dialog::backdrop{background:#10241899;backdrop-filter:blur(3px)}.detail-head{padding:25px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:start}.detail-head h2{margin-top:9px}.close{background:#edf1e8;border-radius:50%;width:36px;height:36px;font-size:22px;flex-shrink:0}.detail-body{padding:25px 28px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.detail-body h3{font-size:16px;margin:20px 0 12px}.detail-body p{font-size:14px;color:var(--muted)}.detail-body .summary-total{border-color:var(--line)}.member-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin:12px 0}.detail-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.info-box{background:#edf3e4;padding:13px 16px;border-radius:6px;font-size:13px;margin:15px 0}.error-box{background:#fff0e5;padding:14px;color:#7e482c;border-radius:7px}.message-list{max-height:220px;overflow:auto;background:#f5f7f1;padding:14px;border-radius:8px}.message{margin:0 0 15px}.message strong{font-size:12px}.message p{margin:3px 0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.message small{font-size:10px;color:var(--muted)}.message-form{display:flex;gap:10px;margin-top:12px}.message-form input{flex:1;min-width:0}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:850px}.profile-grid .wide{grid-column:1/-1}.check-group{display:flex;gap:12px;flex-wrap:wrap}.check-group label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:400}.check-group input{min-height:auto;accent-color:#537623}.profile-grid textarea{min-height:90px;resize:vertical}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stat strong{font-size:32px;display:block}.stat span{font-size:13px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}th,td{padding:15px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.block-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:22px}.block-form .field{flex:1;min-width:130px}.audit-list{padding-left:19px;color:var(--muted);font-size:13px}.audit-list li{padding:6px}.skip{position:fixed;top:-100px;left:10px;background:white;z-index:30;padding:10px}.skip:focus{top:10px}.welcome{max-width:660px;margin:35px auto;text-align:center;padding:50px}.welcome h1{margin-bottom:20px}.welcome p{color:var(--muted)}.welcome .primary{margin-top:15px}.subtle{font-size:12px;color:var(--muted)}
@media(max-width:1200px){.sidebar{width:215px;padding:20px 14px}.workspace{margin-left:215px;width:calc(100% - 215px)}.brand{font-size:18px}.explore-layout{grid-template-columns:1fr 270px;gap:17px}#content{padding:28px 24px}.topbar{padding:16px 24px}.people-grid{grid-template-columns:1fr}.persona-label{flex-direction:column;gap:3px;align-items:start}.booking-summary{padding:21px}}
@media(max-width:850px){.sidebar{position:static;width:100%;padding:12px 20px;border-right:0;border-bottom:1px solid var(--line)}.shell{display:block}.sidebar .brand{font-size:21px}.demo-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:4px;overflow:auto;margin-top:12px}.sidebar nav button{white-space:nowrap;padding:9px 12px;font-size:12px}.sidebar nav button>span{display:none}.workspace{margin:0;width:100%}.demo-banner{padding:8px 20px}.topbar{padding:15px 20px}.explore-layout{grid-template-columns:1fr 280px}.people-grid{grid-template-columns:1fr}h1{font-size:30px}.page-heading .pill{display:none}.session-row{flex-wrap:wrap}.session-actions{margin-left:auto}}
@media(max-width:620px){.topbar{flex-wrap:wrap;gap:13px}.persona-label{flex-direction:row;align-items:center;width:100%;justify-content:space-between}.persona-label select{flex:1;max-width:260px}.demo-banner span{display:block;margin-left:0;line-height:1.6}.explore-layout{grid-template-columns:1fr}.booking-summary{position:static}#content{padding:25px 18px}.panel{padding:19px}.filters{gap:12px}.people-grid{grid-template-columns:1fr}.page-heading{align-items:start}.page-heading h1{font-size:29px}.detail-columns{grid-template-columns:1fr;gap:0}.detail-head,.detail-body{padding:20px}.detail-head h2{font-size:21px}.session-row{gap:12px;padding:15px}.session-row .price{margin-left:auto}.session-actions{width:100%;justify-content:space-between}.stat-grid{gap:8px}.stat-grid .panel{padding:14px}.stat strong{font-size:25px}.stat span{font-size:11px}.profile-grid{grid-template-columns:1fr}.profile-grid .wide{grid-column:auto}.app-footer{padding:18px}.welcome{padding:25px 18px}.message-form{flex-wrap:wrap}.message-form input{width:100%}.block-form{display:grid;grid-template-columns:1fr 1fr}}
.venue-selector{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:460px;flex:1}.venue-selector label{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--muted)}.venue-selector select{max-width:100%;font-weight:700;padding:8px 30px 8px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--green);font-size:14px}.venue-selector small{margin:0!important}.venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.venue-card{display:flex;flex-direction:column;gap:12px}.venue-intro{margin:12px 0 18px}.venue-intro h2{font-size:22px;line-height:1.3;margin:12px 0 7px}.venue-intro p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.venue-sports,.venue-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.venue-actions{margin-top:auto;padding-top:12px}.venue-actions a,.venue-card details a{font-size:12px;color:var(--green)}.venue-count{font-size:14px;font-weight:700;margin:0}.venue-count span{font-weight:400;font-size:12px}.venue-card details{font-size:12px;line-height:1.8;margin-bottom:8px}.venue-card summary{cursor:pointer;font-weight:700}.facility-list{padding-left:20px}.court-editor{border:1px solid var(--line);border-radius:10px;padding:16px;margin:0 0 18px;min-width:0}.court-editor legend{font-size:12px;font-weight:700;padding:0 6px}.court-editor-top{display:grid;grid-template-columns:1fr 1.3fr auto;gap:12px;align-items:center;margin-bottom:12px}.court-editor input,.court-editor select{min-width:0;width:100%}.court-editor .check-group input{width:auto}.court-editor .check-group{font-size:12px}#venue-save-state{margin-left:12px}@media(max-width:1000px){.venue-grid{grid-template-columns:1fr}.court-editor-top{grid-template-columns:1fr}.venue-selector{max-width:350px}}@media(max-width:620px){.venue-selector{max-width:100%;width:100%;flex:auto}.venue-card .primary,.venue-card .secondary{font-size:12px}.venue-intro h2{font-size:19px}.court-editor{padding:12px}}
.account-form{text-align:left;display:grid;gap:16px;margin-top:25px}.account-form .primary{margin-top:0}.account-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:7px}.password-entry{position:relative;display:block}.password-entry input{padding-right:66px}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);min-height:34px;padding:5px 9px;border-radius:5px;background:#edf1e8;color:var(--ink);font-size:12px;font-weight:700}.password-toggle:hover{background:#dfe7d8}.register-details{margin-top:25px;text-align:left}.register-details summary{cursor:pointer}.access-form{margin-bottom:20px}.access-form fieldset{border:1px solid var(--line);border-radius:8px;padding:16px;margin:20px 0}.access-form legend{font-size:13px;font-weight:700}.access-form .check-group{font-size:12px}body.signed-out .sidebar nav,body.signed-out .venue-selector,body.signed-out #sign-out{display:none}

.venue-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.venue-access{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid;border-radius:6px;font-size:12px;font-weight:750;line-height:1.4}.venue-access.public{color:#145337;background:#e7f5ec;border-color:#96c5a7}.venue-access.members{color:#634218;background:#fff2db;border-color:#d5b47e}.venue-access svg{flex-shrink:0}.venue-intro .access-description{font-size:13px;line-height:1.5;margin-top:10px;color:#4c5851}

.sport-standards{display:grid;gap:10px}.sport-standard{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.sport-standard>label:first-child{display:flex;gap:8px;align-items:center;font-size:14px}.sport-standard select:disabled{opacity:.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.venue-distance{font-size:13px;font-weight:700;color:var(--green);margin:8px 0}.profile-grid fieldset{min-width:0}

.venue-view-controls{display:flex;gap:8px;margin:20px 0}.venue-view-controls button[aria-pressed=true]{background:#142820;color:white;border-color:#142820}#venue-map-section{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:24px}#venue-map{height:460px;width:100%;border-radius:10px;background:#edf1e8;z-index:0}.map-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.map-heading h2{margin:0;font-size:22px}.map-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin-top:12px}.map-legend span{display:flex;gap:7px;align-items:center}.map-legend i{display:inline-block;width:12px;height:12px;border-radius:50%}.map-legend .public,.venue-map-pin.public{background:#145337}.map-legend .members,.venue-map-pin.members{background:#855517}.venue-map-pin{border:3px solid white;border-radius:50%;box-shadow:0 2px 6px #0005;color:white;text-align:center;line-height:26px;font-weight:800}.venue-map-popup{font-family:Manrope,Arial,sans-serif;line-height:1.5}.venue-map-popup h3{font-size:16px;margin:12px 0 8px}.venue-map-popup .primary{font-size:12px;padding:10px 14px}.leaflet-control-attribution{font-size:11px!important}.leaflet-control-zoom a{color:#142820!important}@media(max-width:620px){#venue-map{height:360px}#venue-map-section{padding:14px}.map-heading{align-items:flex-start;flex-direction:column}.map-heading h2{font-size:20px}}

.map-legend .you{background:#2463c4}.your-location-pin{background:#2463c4;border:3px solid white;border-radius:50%;box-shadow:0 0 0 5px #2463c42b,0 2px 5px #0004;color:white;text-align:center;line-height:22px;font-size:13px}

.club-information-tool{margin-bottom:24px}.club-information-filters{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 10px}.club-information-card{border:1px solid var(--line);border-radius:9px;margin-top:12px;background:#fbfcfa}.club-information-card>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;list-style-position:inside}.club-information-card>summary>span:first-child{display:flex;flex-direction:column;gap:3px}.club-information-card>summary small{color:var(--muted);font-size:12px;font-weight:400}.club-information-body{border-top:1px solid var(--line);padding:18px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px}.club-information-body h3{font-size:16px;margin-bottom:12px}.club-venue-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.club-venue-list li{border:1px solid var(--line);border-radius:7px;padding:12px;display:grid;gap:8px}.club-venue-list strong,.club-venue-list span{display:block}.club-venue-list div>span{font-size:12px;color:var(--muted);margin-top:3px}.club-venue-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:12px}.club-venue-meta span{margin:0!important}.club-venue-meta a{text-decoration:underline;text-underline-offset:3px}.club-information-form{display:grid;gap:14px}.club-information-form textarea{resize:vertical;width:100%}.club-information-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media(max-width:800px){.club-information-body{grid-template-columns:1fr}}@media(max-width:620px){.club-information-filters{grid-template-columns:1fr}.club-information-card>summary{align-items:flex-start;flex-direction:column}.club-information-card>summary .pill{margin-left:20px}.club-information-body{padding:14px}}

.venue-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end;margin:20px 0}.venue-filters .help{grid-column:1/-1;margin:0}.venue-filters .field{min-width:0}.venue-filters input:disabled{opacity:.55}.venue-result-count{font-size:14px;font-weight:700}@media(max-width:620px){.venue-filters{grid-template-columns:1fr;gap:14px}.venue-filters .help{grid-column:1}.venue-filters button{justify-self:start}}

.sport-icon{display:inline-block;width:24px;height:24px;flex:0 0 24px;vertical-align:middle}.sport-label{display:inline-flex;gap:7px;align-items:center}.check-group label{display:inline-flex;gap:6px;align-items:center}.sport-standard .sport-icon{width:20px;height:20px;flex-basis:20px}

.preferred-venues{display:grid;gap:10px;font-size:14px}.preferred-venues label{display:flex;align-items:center;gap:8px}.availability-calendar{margin-top:24px}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:20px 0}.calendar-day{display:flex;flex-direction:column;gap:5px;background:#f5f7f3;border:1px solid #dce3da;border-radius:8px;padding:10px 5px;color:#142820}.calendar-day strong{font-size:13px}.calendar-day span,.calendar-day small{font-size:11px}.calendar-day[aria-pressed=true]{background:#142820;color:white}.availability-slots{list-style:none;padding:0}.availability-slots li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #dce3da}.availability-slots li span{display:block;font-size:12px;line-height:1.6;margin-top:5px}.calendar-actions{display:flex;flex-wrap:wrap;gap:10px}#availability-range-form fieldset{margin:16px 0;border:1px solid #dce3da;padding:14px}#availability-range-form legend{font-size:13px}@media(max-width:620px){.calendar-days{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-day{padding:10px 3px}.calendar-day small{font-size:10px}.availability-calendar{padding:16px}.availability-slots li{font-size:13px}}
.calendar-day.custom-day:not([aria-pressed=true]){background:#edf2e5;border-color:#b8c5aa}
.venue-access.unconfirmed{background:#f1efed;color:#605b56}.venue-intro .help{margin-top:8px}
[hidden]{display:none!important}
.weekly-day{border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:8px 0}.weekly-day summary{cursor:pointer;font-weight:700}.weekly-day summary span{float:right;font-size:12px;font-weight:400;color:var(--muted)}.weekly-day .check-group{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:10px}
.sidebar nav .nav-icon{flex:0 0 28px;width:28px;height:28px;color:var(--ink)}.nav-icon .nav-accent{fill:#e6f4bb}.sidebar nav button.active .nav-icon{color:var(--lime)}.sidebar nav button.active .nav-icon .nav-accent{fill:#294537}@media(max-width:850px){.sidebar nav .nav-icon{width:22px;height:22px;flex-basis:22px}.sidebar nav button{gap:7px}}
.nav-icon .nav-cutout{fill:var(--paper)}.sidebar nav button.active .nav-icon .nav-cutout{fill:var(--ink)}
.favourite-venue-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:12px}.favourite-venue-tools label{display:flex;align-items:center;gap:8px;font-size:14px}.favourite-venue-results{max-height:340px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #dce3da;border-radius:10px;padding:8px}.favourite-venue-results label{padding:10px;border-radius:6px;align-items:flex-start}.favourite-venue-results label:has(input:checked){background:#eef4df}.favourite-venue-results input{flex-shrink:0;margin-top:3px}.favourite-venue-results strong{font-weight:600}.favourite-venue-results small{display:block;margin-top:4px;color:#526357}.favourite-venue-results span{min-width:0;overflow-wrap:anywhere}
.venue-sport-options,.venue-access-options{border:0;padding:0;margin:0;min-width:0}.venue-sport-options{grid-column:1/-1}.venue-sport-options legend,.venue-access-options legend{font-weight:600;margin-bottom:12px}.venue-sport-options .check-group,.venue-access-options .check-group{display:flex;flex-wrap:wrap;gap:10px}.venue-sport-options .check-group label,.venue-access-options .check-group label{display:flex;align-items:center;gap:8px;border:1px solid #dce3da;border-radius:8px;padding:9px 12px;cursor:pointer}.venue-sport-options .venue-sport-toggle{min-height:auto;padding:9px 12px;border-radius:8px}.venue-sport-options label:has(input:checked),.venue-access-options label:has(input:checked){background:#eef4df;border-color:#718c37}.venue-contact{display:flex;flex-wrap:wrap;gap:8px 20px;margin:8px 0 16px;font-size:14px}.venue-contact a{overflow-wrap:anywhere}
.persona-label{order:1;margin-left:auto;flex-direction:row!important;align-items:center;justify-content:flex-end}#sign-out{background:white;border:1px solid #bdc9b8;color:var(--ink);padding:8px 13px;border-radius:6px;font-weight:600;font-size:13px;min-height:40px;text-decoration:none}#sign-out:hover{background:#edf1e8}@media(max-width:620px){.persona-label{width:100%;justify-content:flex-end}}
.venue-origin-form{grid-column:1/-1;display:flex;align-items:end;gap:10px;flex-wrap:wrap}.venue-origin-form .field{width:min(300px,100%)}.venue-origin-form input{text-transform:uppercase}.venue-origin-form .text-button{min-height:44px;padding:8px}@media(max-width:620px){.venue-origin-form{display:grid;grid-template-columns:1fr auto;align-items:end}.venue-origin-form .field{width:100%}.venue-origin-form .text-button{grid-column:1/-1;justify-self:start}}
.venue-location-options{border:0;padding:0;margin:0;min-width:0}.venue-location-options legend{font-weight:600;margin-bottom:12px}.venue-location-options .venue-origin-form{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:end}.venue-location-options .venue-origin-form .field{width:100%}.venue-distance-field{margin-top:14px}.venue-location-options>.help{margin-top:10px}.venue-access-options{justify-self:stretch}.clear-venue-filters{align-self:end}@media(max-width:850px){.venue-filters{grid-template-columns:1fr 1fr}.clear-venue-filters{grid-column:1/-1;justify-self:start}}@media(max-width:620px){.venue-filters{grid-template-columns:1fr}.venue-location-options .venue-origin-form{display:flex;align-items:end;flex-wrap:wrap}.venue-location-options .venue-origin-form .field{flex:1 0 100%}.venue-access-options,.clear-venue-filters{grid-column:1}}
.venue-filters{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);align-items:start}.venue-distance-field{margin-top:0}.venue-location-options .venue-origin-form{margin-top:14px}.venue-access-column{min-width:0}.venue-access-column .clear-venue-filters{display:block;margin-top:18px}.venue-access-options{width:100%}@media(max-width:620px){.venue-filters{grid-template-columns:1fr}.venue-access-column{grid-column:1}}
.venue-sport-toggle,.clear-venue-filters{background:#cdd9c6;border-color:#9eaf95;color:var(--ink)}.venue-sport-toggle:hover,.clear-venue-filters:hover{background:#becdb5;border-color:#899d7e}
.origin-choice[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:white}.origin-choice[aria-pressed="true"]:hover{background:#2f4b39}
.venue-contact .website-link{display:inline-flex;align-items:center;gap:5px}.external-link-icon{display:inline-block;width:16px;height:16px;flex:0 0 16px;vertical-align:-3px;margin-left:4px}
.session-search-venues,.session-search-date{margin-top:22px}.session-search-venues>.field{margin-top:12px}.session-search-date .filters{grid-template-columns:minmax(180px,1.4fr) minmax(130px,1fr) minmax(130px,1fr);max-width:640px}.session-match-options{display:grid;gap:8px}.session-match-options button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;white-space:normal;text-align:left;width:100%}.session-match-options button[aria-pressed=true]{background:#e6f2c0;border-color:#6c8436}.session-match-options small{font-size:12px}.session-match-options strong{overflow-wrap:anywhere}
@media(max-width:620px){.session-search-date .filters{grid-template-columns:1fr 1fr}.session-search-date .filters .field:first-child{grid-column:1/-1}}
#search-sessions{width:100%;margin-top:10px}
.session-match-details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.session-match-details summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-size:13px;font-weight:700;color:var(--ink);list-style:none}.session-match-details summary::-webkit-details-marker{display:none}.session-match-details summary::after{content:'+';display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#edf1e8;font-size:18px;line-height:1}.session-match-details[open] summary::after{content:'−'}.session-match-details summary span{margin-left:auto;min-width:24px;padding:2px 7px;border-radius:12px;background:#e6eddf;text-align:center;font-size:11px}.session-match-details-body{padding-top:4px}
.venue-favourite{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #78913f;border-radius:6px;background:#edf6d0;color:#38540d;font-size:12px;font-weight:750;line-height:1.4;min-height:0}.venue-favourite.add-favourite{background:#f5f7f3;border-color:#aebaa9;color:#415047}.venue-favourite-remove{color:#7b827e;font-size:17px;font-weight:500;line-height:12px}.venue-favourite:hover{background:#e4efc2}.venue-favourite.add-favourite:hover{background:#e9eee6}
.session-match-club{border:1px solid #dce3da;border-radius:10px;padding:12px;background:#f8faf5}.session-match-club h3{font-size:14px;line-height:1.4;margin:0 0 10px;overflow-wrap:anywhere}.session-club-sports{display:flex;flex-wrap:wrap;gap:8px}.session-club-sports button{flex:1 1 130px;width:auto;min-width:0}.session-match-club:has(button[aria-pressed=true]){border-color:#6c8436}
.session-player-ratings{display:grid;gap:8px;margin:16px 0;padding:12px 0;border-top:1px solid #e2e8dc;border-bottom:1px solid #e2e8dc}.session-player-ratings>div{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}.session-player-ratings dt{font-size:13px;font-weight:600}.session-player-ratings dd{margin:0;font-size:12px;color:#526357}
/* Venue choices mirror the compact, wrapping sport selectors on session search. */
.session-search-venues .favourite-venue-results{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding:0;border:0;border-radius:0;align-items:flex-start}
.session-search-venues .favourite-venue-results label{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:white;cursor:pointer}
.session-search-venues .favourite-venue-results label:has(input:checked){background:#eef4df;border-color:#718c37}
.session-search-venues .favourite-venue-results label:has(input:focus-visible){outline:3px solid #709b2e;outline-offset:-3px}
.session-search-venues .favourite-venue-results label[hidden]{display:none}
.session-search-venues .favourite-venue-results input{min-height:0;margin:0;flex-shrink:0}
.session-search-venues .favourite-venue-results small{font-size:11px;margin-top:2px}
.venue-map-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.venue-map-popup .venue-map-actions .primary{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;width:auto;min-height:40px;margin:0;padding:10px 12px;font:600 12px/1.4 Manrope,Arial,sans-serif;white-space:nowrap;color:#fff;text-decoration:none}
/* Published availability is separate from CourtQuester's simulated checkout. */
#openactive-dialog{width:min(960px,94vw);max-height:90vh;border:0;border-radius:16px;padding:0;color:var(--ink,#142820)}
.openactive-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:24px 0}.openactive-filters .field{flex:1;min-width:170px}
.openactive-slot{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:22px 0;border-top:1px solid #dce3d5}.openactive-slot h3{margin:0 0 8px}.openactive-slot h3 span{font-size:.85rem;font-weight:400}.openactive-slot p{margin:8px 0}.openactive-slot a{display:inline-flex;text-decoration:none}.openactive-prices{margin:0 0 14px;padding-left:18px}.openactive-prices li{margin-bottom:6px}.openactive-prices pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem}.openactive-unavailable{opacity:.85}.openactive-other{margin:22px 0}.openactive-other>summary{cursor:pointer;font-weight:600}.openactive-button{margin:8px 0}.venue-map-actions .openactive-button{margin:0}
@media(max-width:600px){.openactive-slot{grid-template-columns:1fr;gap:6px}.openactive-filters{align-items:stretch}.openactive-filters button{width:100%}}
.venue-map-pin.unconfirmed,.map-legend i.unconfirmed{background:#737b77;color:#fff}.venue-map-pin.unconfirmed span{background:transparent}
/* Guided partner visits use the same visual language as the sports selectors. */
.assignment-picker{min-width:0}.assignment-selected{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.assignment-empty{margin:0}
.assignment-chip{display:flex;align-items:center;gap:12px;background:#eef4df;border:1px solid #a1b77d;border-radius:8px;padding:9px 10px 9px 13px;max-width:100%;font-size:13px}
.assignment-chip>span{min-width:0;overflow-wrap:anywhere}.assignment-chip small,.assignment-result small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}
.assignment-remove{background:transparent;color:var(--ink);font-size:22px;min-width:36px;min-height:36px;border-radius:6px}.assignment-remove:hover{background:#dfe9cd}
.assignment-search{margin-top:16px;max-width:700px}.assignment-search input{width:100%;min-width:0}.assignment-results{display:grid;gap:8px;max-height:300px;overflow:auto}
.assignment-result{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;text-align:left;background:#f8faf5;border:1px solid var(--line);border-radius:7px;color:var(--ink);font-size:13px;width:100%}.assignment-result>span:first-child{min-width:0;overflow-wrap:anywhere}.assignment-result>span:last-child{white-space:nowrap}.assignment-result:hover{border-color:#718c37;background:#eef4df}
.access-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.access-form>.help{overflow-wrap:anywhere}
.people-access-filter{margin-bottom:20px}.people-access-filter h2{margin-bottom:16px}.people-access-filter .filters{max-width:760px}.people-access-filter .help{margin-bottom:0}#people-access-results:empty{display:none}
.delete-confirmation{display:flex;align-items:center;gap:10px;font-size:14px}.delete-confirmation input{min-height:20px;width:20px;flex-shrink:0}.primary.delete-confirm{background:#8b352a}#delete-account-dialog .detail-body{overflow-wrap:anywhere}
/* Long club names must not set the minimum width of the venue form. */
#new-venue-form .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#new-venue-form .field{min-width:0}
#new-venue-form select,#new-venue-form input:not([type=checkbox]),#new-venue-form textarea{width:100%;min-width:0}
#new-venue-form .section-title{flex-wrap:wrap}
@media(max-width:600px){#new-venue-form .profile-grid{grid-template-columns:minmax(0,1fr)}}
.welcome.demo-welcome{max-width:1120px;width:100%;margin:0 auto;padding:32px;text-align:left}
.signed-out .topbar{display:none}.demo-welcome .demo-entry-card .primary{margin-top:0}
.demo-intro{margin-top:30px;max-width:700px}.demo-intro h2{font-size:28px;letter-spacing:-.8px;margin:8px 0 12px}
.demo-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.demo-entry-card{display:flex;flex-direction:column;padding:26px;border:1px solid #d8e1d0;border-radius:14px;background:#f8faf4;min-width:0}
.demo-entry-card:first-child{background:#eef4df;border-color:#a2b978}.demo-entry-number{color:#597334;font-size:11px;font-weight:750;letter-spacing:1.7px}
.demo-entry-card h3{font-size:21px;margin:18px 0 10px;letter-spacing:-.5px}.demo-entry-card p{font-size:14px;line-height:1.7;flex:1;margin:0 0 24px}.demo-entry-card button{width:100%}
.demo-entry-note{max-width:880px;line-height:1.65}.existing-account,.demo-welcome .register-details{border-top:1px solid #e1e6dc;padding:20px 0;margin:0}
.existing-account>summary,.register-details>summary{cursor:pointer;font-weight:650}.existing-account .account-form{margin-top:18px;max-width:440px}
.guided-demo-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 40px;background:#eef4df;border-bottom:1px solid #d8e1d0}
.guided-demo-controls[hidden]{display:none}.guided-demo-controls strong{display:block;font-size:14px}.guided-demo-controls span{display:block;font-size:11px;margin-top:5px;color:#53614a}
.demo-role-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demo-role-buttons .secondary{min-height:36px;padding:8px 12px;font-size:12px}.demo-role-buttons [aria-pressed=true]{background:#173d2d;color:white;border-color:#173d2d}
.demo-person-label,.venue-demo-copy{display:inline-block;font-size:10px;font-weight:650;color:#576e34;background:#eef4df;border-radius:5px;padding:4px 6px}.person-card .top{flex-wrap:wrap}.venue-demo-copy{margin-right:6px}
@media(max-width:1000px){.demo-entry-grid{grid-template-columns:1fr}.demo-entry-card{padding:22px}.demo-entry-card h3{margin-top:12px}.demo-entry-card p{margin-bottom:16px}.guided-demo-controls{padding:18px 24px}}
@media(max-width:600px){.guided-demo-controls{padding:16px}.demo-intro h2{font-size:25px}.demo-role-buttons{width:100%}.demo-role-buttons .text-button{padding:8px}.demo-entry-card button{white-space:normal}.welcome.demo-welcome{padding:22px}}

/* Account photos retain initials until the authenticated image has loaded. */
.avatar{position:relative;overflow:hidden;flex-shrink:0}.avatar.has-photo .avatar-initials{visibility:hidden}.profile-photo-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}#signed-in-avatar .avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--lime);font-weight:700;font-size:13px}.profile-photo-panel{margin-bottom:24px}.profile-photo-controls{display:flex;align-items:flex-start;gap:24px}.profile-photo-preview{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;background:var(--lime);font-size:26px;font-weight:700}.profile-photo-controls form{flex:1;min-width:0}.profile-photo-controls input[type=file]{max-width:100%}.profile-photo-actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:620px){.profile-photo-controls{flex-direction:column;gap:16px}.profile-photo-controls form{width:100%}}
