
/* One layout system for narrow vertical screens and wide desktop screens. */
:root{--bg:#f3f5f7;--line:#dce2e7;--muted:#56626d}
body{line-height:1.5}button,input,select,textarea{max-width:100%}button{min-height:44px}
.sidebar{width:232px;padding:28px 18px}.workspace{margin-left:232px}
main{max-width:1720px;padding:30px 32px 56px}header{padding:0 32px;height:76px}.demo-strip{padding:10px 32px}
h1{font-size:clamp(26px,2.3vw,34px);letter-spacing:-.6px}h2{font-size:22px}h3{font-size:20px}
.nav-short-text{display:none}.sidebar nav .nav-full-text,.sidebar nav .nav-short-text{float:none}.sidebar nav button{font-size:14px;line-height:1.5;min-height:48px}
.heading{margin-bottom:24px}.heading .muted{max-width:70ch;font-size:15px}
.panel{padding:24px;border-color:var(--line)}.panel .panel{padding:0;margin:0;border:0;background:transparent}
.card,.center-activity-card{container-type:inline-size;min-width:0;box-shadow:0 3px 12px #142c3c08}
.card{padding:22px;gap:14px;border-radius:16px;border-color:#d4dde4}
.card h3{font-size:21px;line-height:1.35;margin:0}.card .place{font-size:14px;line-height:1.5;margin:4px 0 0}
.card-top{align-items:flex-start;flex-wrap:wrap}.badge{font-size:13px;line-height:1.4}.tournament-crown{font-size:21px}
.card .card-bottom{padding-top:14px;border-top:1px solid #d6dfe5;gap:14px}.price{font-size:23px}.price small{font-size:13px}
.card-secondary{font-size:14px;color:var(--muted);line-height:1.5}
.activity-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:16px 0;margin:0}
.fact{min-width:0;display:flex;flex-direction:column;gap:7px}.fact>span{font-size:13px;font-weight:600;color:var(--muted)}
.fact-time strong{font:800 32px/1.15 Manrope,Arial,sans-serif;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.fact-gender{align-items:flex-start}.genre-pill{font-size:15px;line-height:1.4;padding:7px 10px;border-radius:7px;background:#FFD300;color:#5c480b;border:1px solid #FFD300}
.genre-male{background:#e4f2ff;border-color:#99c9ea;color:#18537a}.genre-female{background:#ffe9f2;border-color:#e9acc6;color:#85334f}.genre-mixed{background:linear-gradient(110deg,#e4f2ff 45%,#ffe9f2 55%);border-color:#c5b8d1;color:#49334f}
.fact-availability{grid-column:1/-1;padding:12px 14px;background:#FFD300;border:1px solid #FFD300;border-radius:9px;gap:4px}
.fact-availability>strong{font:800 23px/1.35 Manrope,Arial,sans-serif;color:#624b08;overflow-wrap:anywhere}
.fact-availability:has(.fact-complete){background:#eaf6e8;border-color:#a8cfa1}.fact-availability .fact-complete{color:#28592f}
.fact-availability:has(.fact-cancelled){background:#fff0ee;border-color:#e7b6ae}.fact-availability .fact-cancelled{color:#962d20}
.activity-duration{font-size:14px;color:var(--muted);margin:-4px 0 4px;line-height:1.5}
.progress-caption{font-size:14px;font-weight:600;color:#4b5964}.center-seat-status{margin:0;padding:14px}
.center-seat-status .center-four-seats,.center-seat-status .center-tournament-track{margin-top:10px}
.center-seat-status .subtle,.center-seat-legend{font-size:14px}
.match-completion{padding:15px}.match-completion p{font-size:14px;line-height:1.6}.match-completion small{font-size:13px}
.request-log,.card-extra{padding:10px 0;font-size:14px;border-top:1px solid #d6dfe5}
.request-log summary,.card-extra summary{cursor:pointer;font-weight:600;min-height:36px}
.request-log p{margin:6px 0}.request-card .match-completion .completion-count,.request-card .match-completion .tournament-capacity{display:none}
.day-packages{gap:20px}.day-package{border-color:#cdd8e1;border-radius:15px;box-shadow:0 3px 12px #173d5410}
.day-package>summary{padding:20px;gap:14px}.day-package[open]>summary{background:#f3f7fb;border-color:#d2dce4}
.record-day-package>summary{border-left:5px solid #FFD300}.day-tab-date time,.record-day-package .day-tab-date time{font-size:20px;letter-spacing:0}
.day-tab-count{white-space:normal;font-size:14px;padding:7px 10px;line-height:1.45}
.day-tab-action{font-size:14px;color:#3c5870}.shared-date-counts{gap:8px}
.day-package-content,.shared-date-package .day-package-content{padding:16px}
.date-columns-scroll{overflow:visible;padding:0;outline-offset:4px}.date-type-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.date-type-column.category-package{padding:0;border:1px solid #d4dfe7;border-radius:12px;background:#f8fafc}
.date-type-column.category-package.tournament-column{background:#eef7ff;border-color:#c4dcec}
.category-package>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:15px 17px;font-size:17px;font-weight:700;line-height:1.5}
.category-package>summary::-webkit-details-marker{display:none}
.category-package>summary:after{content:'+';font-size:22px;line-height:1;width:22px;text-align:center;color:#577084}
.category-package[open]>summary:after{content:'−'}.category-package[open]>summary{border-bottom:1px solid #d6e0e8}
.category-count{margin-left:auto;min-width:28px;text-align:center;padding:2px 7px;border-radius:6px;background:white;font-size:14px}
.category-content{padding:14px}.category-content>.grid,.category-content>.stack{gap:16px}
.category-package .date-column-empty{margin:0;background:white}
.day-package .card .match-day-label,.shared-date-section .card .match-day-label,.record-packages .center-card-header>.match-day-label{display:none}
.participation-folder{box-shadow:0 3px 12px #173d5409;border-radius:16px;margin-bottom:20px;overflow:hidden}
.participation-folder>summary{padding:18px 20px;font-size:18px;line-height:1.45}
.folder-content{padding:4px 16px 18px}.folder-content>.muted{font-size:14px;line-height:1.6;margin:12px 4px 18px}
.publish-package{margin-bottom:22px;border:1px solid #d3dfe5;background:white;border-radius:14px;overflow:hidden}
.publish-package>summary{cursor:pointer;font-weight:700;font-size:18px;padding:18px 22px}
.publish-package>summary span{display:block;font-size:14px;font-weight:400;color:var(--muted);margin:6px 0 0 18px}
.publish-package-content{padding:4px 22px 22px}.publish-package-content>.panel{border:0;box-shadow:none;padding:0;margin:0}
.publish-package-content>.panel>h2{display:none}
.center-card-header{padding:20px 20px 14px}.center-card-header h3{font-size:21px;line-height:1.4}
.center-card-header .activity-facts{padding-bottom:10px}.center-card-badges .badge{margin:0}
.center-activity-card .center-resource{padding:16px;margin:0 12px 14px}
.center-resource-heading{margin-bottom:14px;padding-bottom:10px}.center-resource-heading .eyebrow{font-size:14px}
.resource-price{font-size:14px;font-weight:600;color:#465865;margin:6px 0 0}
.center-activity-card .center-event-resource{margin-top:20px}
.record-packages .club-row .outline{font-size:14px;text-align:center}
.center-management summary{min-height:44px;display:list-item;align-content:center}
.center-management .subtle{font-size:14px}
.event-enrolment p,.reserve-note,.withdrawal-alert{font-size:14px;line-height:1.55}
.card .reason{font-size:14px}.card .primary,.card .outline{min-height:46px}
button,input,select,textarea{border-radius:8px}summary:focus-visible{outline:3px solid #428bb8;outline-offset:3px}
@container(min-width:480px){.activity-facts{grid-template-columns:1fr 1.1fr 1.6fr;align-items:start}.fact-availability{grid-column:auto}.fact-availability>strong{font-size:20px}}
@media(min-width:1500px){main{padding:40px 40px 60px}.date-type-columns{gap:24px}.category-content{padding:18px}.card{padding:25px}.center-card-header{padding:24px}.center-activity-card .center-resource{margin-left:16px;margin-right:16px;padding:20px}}
@media(min-width:761px) and (max-width:1100px){.sidebar{width:190px;padding:24px 12px}.workspace{margin-left:190px}.brand{font-size:15px;gap:8px}.brand-icon{font-size:18px}.brand small{font-size:10px;letter-spacing:1px}main{padding:24px 20px}.day-package-content,.shared-date-package .day-package-content{padding:10px}.date-type-columns{gap:12px}.category-content{padding:10px}.card{padding:16px}.center-card-header{padding:16px}.center-activity-card .center-resource{margin-left:8px;margin-right:8px;padding:12px}.category-package>summary{font-size:16px;padding:12px}}
@media(max-width:760px){
 .sidebar{position:static;width:auto;padding:14px 16px;background:#181a0f}.brand{font-size:16px}.brand-icon{font-size:19px;padding:7px}.workspace{margin:0}
 .sidebar nav{position:fixed;z-index:40;bottom:0;left:0;right:0;margin:0;padding:8px 6px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:#181a0f;overflow:visible;border-top:1px solid #424539;box-shadow:0 -4px 18px #142c3c18}
 .sidebar nav button{font-size:13px;text-align:center;white-space:normal;padding:8px 4px;min-height:50px;line-height:1.35;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;border-radius:9px}
 .nav-full-text{display:none}.nav-short-text{display:inline}.sidebar nav button.active{background:#34362a;color:#FFD300}
 .sidebar nav button>span:not(.nav-full-text):not(.nav-short-text){float:none;font-size:12px;padding:2px 5px;border-radius:5px;background:#4b4d3c}.sidebar nav button>span:empty{display:none}
 .side-bottom{display:none}header{padding:10px 16px;height:auto;min-height:60px;gap:10px}header .location{font-size:13px;max-width:60%}.avatar{display:none}
 .demo-strip{font-size:11px;padding:8px 16px}.demo-strip span{font-size:12px;display:block;margin:3px 0 0}
 main{padding:22px 12px calc(96px + env(safe-area-inset-bottom))}h1{font-size:27px}.heading{gap:12px;margin-bottom:20px}.heading .muted{font-size:14px}
 .date-type-columns{grid-template-columns:minmax(0,1fr);gap:14px}.date-type-columns.single-category{grid-template-columns:minmax(0,1fr)}
 .day-package>summary{padding:15px;gap:10px}.day-tab-date{flex-basis:100%}.day-tab-date time,.record-day-package .day-tab-date time{font-size:19px}
 .shared-date-counts{flex:1;gap:6px}.day-tab-count{font-size:13px;padding:6px 8px}.day-tab-action{font-size:13px}
 .shared-date-package .day-package-content,.day-package-content{padding:10px}.category-package>summary{padding:13px;font-size:16px}.category-content{padding:10px}
 .card{padding:17px;gap:13px}.card h3,.center-card-header h3{font-size:20px}.fact-time strong{font-size:31px}.fact-availability>strong{font-size:22px}
 .activity-facts{gap:12px;padding:12px 0}.activity-duration{margin:0 0 4px}
 .panel{padding:18px}.folder-content{padding:4px 9px 12px}.participation-folder>summary{padding:16px;font-size:17px}
 .center-card-header{padding:17px 16px 12px}.center-activity-card .center-resource{padding:14px;margin-left:9px;margin-right:9px}
 .center-event-status strong{font-size:18px}.center-seat-status{padding:12px}.center-card-footer{padding:14px}
 .center-activity-card .row-actions button{flex:1 1 180px}.publish-package>summary{padding:16px;font-size:17px}.publish-package-content{padding:4px 16px 18px}
 .form-grid,.form-layout,.roster-grid{grid-template-columns:minmax(0,1fr)}.search-fields,.search-location-fields{max-width:none;grid-template-columns:minmax(0,1fr)}
 .search-fields>label:first-child{grid-column:auto}.search-controls .period-dates,.search-controls .period-times{grid-template-columns:minmax(0,1fr)}
 .search-panel{padding:18px}.search-panel .period-choices{flex-direction:column}.search-panel .period-choices label{width:100%}
 input,select,textarea,.field input,.field select,.participation-actions select{font-size:16px;min-height:46px}
 input[type=checkbox],input[type=radio]{min-height:0}.field input[type=file]{width:100%;font-size:14px}
 .request-details{grid-template-columns:minmax(0,1fr)}.request-heading{gap:12px}.dialog-head{gap:12px;align-items:flex-start}
 dialog{max-width:calc(100vw - 20px);padding:20px;max-height:85dvh;overflow:auto}.external-seat{padding:12px}
 .geo-attribution{font-size:12px}footer{margin:0 16px 92px;line-height:1.6}
}
@media(max-width:360px){.card{padding:14px}.genre-pill{font-size:14px;padding:6px 8px}.activity-facts{gap:10px}.fact-time strong{font-size:28px}.fact-availability>strong{font-size:20px}.category-content{padding:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.tournament-crown{animation:none}}
.public-player-roster{margin:10px 0 14px}
.public-player-roster>summary{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.public-player-roster>summary::-webkit-details-marker{display:none}
.public-player-roster>summary::after{content:'⌄';margin-left:auto}
.public-player-roster[open]>summary::after{content:'⌃'}
.public-player-roster>summary>svg{flex:0 0 20px}
.public-player-roster .participant-list{margin-top:10px}
.notification-group{margin:20px 0 26px}
.notification-group>h3{margin:0 0 12px;font-size:17px}
.notification-group>h3>span{font-size:14px;font-weight:400}
.notification-warning{border-left:4px solid #d79514;background:#fff9e7}
.notification-history>summary{cursor:pointer;font-weight:700;margin:16px 0}


/* The open day's date and close action remain within reach while its cards scroll. */
.day-package{scroll-margin-top:8px;overflow:visible}
.day-package[open]>summary{position:sticky;top:8px;z-index:12;box-shadow:0 5px 14px #173d5420;background:#f3f7fb}
.close-day-button{background:#181a0f;color:#FFD300;border-radius:8px;padding:9px 14px;font-size:14px;font-weight:700;white-space:nowrap}
.day-package:not([open]) .close-day-button{display:none}
.day-package[open]>summary .close-day-button{display:inline-flex;align-items:center;justify-content:center}
.day-package>summary .day-tab-action{margin-left:auto}
@media(max-width:760px){
 .day-package[open]>summary{padding:10px 12px;gap:7px}
 .day-package[open]>summary .day-tab-date{flex:1;min-width:0;flex-basis:auto}
 .day-package[open]>summary .day-tab-date time{font-size:16px}
 .day-package[open]>summary .day-tab-action{order:1}
 .day-package[open]>summary .shared-date-counts{order:2;flex-basis:100%}
 .close-day-button{padding:8px 10px;font-size:13px}
}
