.training-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.training-page-heading>div{min-width:0}.training-page-heading .club-button{flex-shrink:0}.season-schedule{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.season-schedule h2{margin:0 0 18px}.season-schedule ul{list-style:none;padding:0;margin:0}.season-schedule li{display:flex;gap:18px;padding:14px 0;border-top:1px solid var(--border)}.season-schedule li strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.season-schedule small{display:block;color:var(--muted);margin-top:5px}.family-auth{max-width:480px}.family-auth fieldset{border:0;padding:0;margin:0}.booking-control label,.family-auth label,.training-week-tools>label{display:flex;flex-direction:column;gap:8px;font-weight:650}.booking-control select,.family-auth input,.training-week-tools select{min-height:44px;width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:10px 12px;font:inherit}.family-auth label{margin-top:18px}.family-auth .club-button{margin-top:20px;width:100%;justify-content:center}.family-field-help{font-size:13px;margin:7px 0}.family-text-button{min-height:44px;border:0;background:transparent;padding:10px 0;color:var(--link);text-align:left;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.family-error{color:var(--error-text)}.training-week-tools{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:24px 0}.training-week-tools>label{flex:1 1;min-width:240px;max-width:500px}.training-week-arrows{display:flex;gap:8px}.weekly-table-wrap{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.weekly-table{border-collapse:collapse;width:100%;font-size:14px}.weekly-table td,.weekly-table th{padding:20px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.weekly-table thead th{background:var(--soft)}.weekly-table tbody th{width:27%;font-weight:400}.weekly-table tbody th>span,.weekly-table tbody th>strong{display:block;margin-bottom:7px}.weekly-date{color:var(--link);text-transform:capitalize;font-weight:650}.weekly-table td{width:24%}.weekly-table ol{padding-left:22px;margin:0}.weekly-table li{margin-bottom:6px}.weekly-table td:last-child{width:25%}.weekly-table tr:last-child>*{border-bottom:0}.booking-control .club-button{width:100%;justify-content:center;font-size:13px}.booking-control select{margin-bottom:12px}.booking-control .club-tag{margin-top:0}.booking-feedback{font-size:13px;margin:8px 0 0;line-height:1.5}.family-history{display:grid;grid-gap:14px;gap:14px}.family-history article{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.booking-control :focus-visible,.family-auth :focus-visible,.training-week-tools :focus-visible{outline:3px solid var(--focus);outline-offset:3px}.booking-control button:disabled,.coach-session button:disabled,.family-auth button:disabled,.training-week-tools button:disabled{cursor:default;opacity:.55}@media(max-width:1100px){.club-header-inner{flex-wrap:wrap}.club-primary-nav{order:3;width:100%;overflow-x:auto;min-height:52px}.club-primary-nav a{flex-shrink:0}.club-primary-nav a[aria-current=page]:after{bottom:4px}}@media(max-width:900px){.season-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-table,.weekly-table tbody,.weekly-table td,.weekly-table th,.weekly-table tr{display:block;width:100%!important}.weekly-table thead{display:none}.weekly-table tr{padding:16px;border-bottom:1px solid var(--border)}.weekly-table tr:last-child{border:0}.weekly-table td,.weekly-table th{padding:8px 0;border:0}.weekly-table td:before{content:attr(data-label);display:block;font-weight:750;margin:10px 0}.weekly-table tbody th{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px 16px;gap:4px 16px}.weekly-table tbody th .weekly-date{grid-column:1/-1}.weekly-table ol{margin-top:8px}.weekly-table td:last-child .club-button{width:auto}.booking-control{max-width:400px}}@media(max-width:600px){.training-page-heading{flex-direction:column;gap:12px}.season-schedule{grid-template-columns:1fr}.training-week-tools{display:block}.training-week-tools>label{min-width:0}.training-week-arrows{margin-top:12px}.training-week-arrows .club-button{width:auto;flex:1 1;padding-inline:10px;font-size:12px}.family-history article{grid-template-columns:1fr;gap:8px}.training-page-heading>.club-button{width:100%}.weekly-table tbody th{grid-template-columns:1fr}.weekly-table td:last-child .club-button{width:100%}.family-auth{padding:18px}}.coach-session fieldset{border:0;padding:0;margin:0}.coach-session label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.coach-session input,.coach-session select{min-height:44px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.coach-session .club-button{margin-top:10px}.coach-session :focus-visible{outline:3px solid var(--focus);outline-offset:3px}.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}.combined-schedule{display:grid;grid-gap:20px;gap:20px}.schedule-day h3{margin:0 0 18px;font-size:24px}.schedule-events{border-top:1px solid var(--border)}.schedule-extra summary,.schedule-main-event{display:grid;grid-template-columns:140px minmax(0,1fr) auto;align-items:center;grid-gap:18px;gap:18px;min-height:72px;padding:16px 12px}.schedule-main-event{border-bottom:1px solid var(--border)}.schedule-extra summary strong,.schedule-main-event strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-extra summary small,.schedule-main-event small{display:block;color:var(--muted);margin-top:5px;font-size:13px}.schedule-extra{border-bottom:1px solid var(--border);background:var(--soft)}.schedule-extra summary{cursor:pointer;list-style:none}.schedule-extra summary::-webkit-details-marker{display:none}.schedule-extra-title{font-weight:700;color:var(--link)}.schedule-extra summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.schedule-disclosure{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.schedule-extra[open] .schedule-disclosure{transform:rotate(180deg)}.schedule-extra-content{padding:0 18px 20px}.schedule-extra-columns{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:24px;gap:24px;border-top:1px solid var(--border);padding-top:18px}.schedule-extra-columns h4{margin:0 0 12px;font-size:16px}.schedule-extra-columns ol{padding-left:22px;margin:0}.schedule-extra-columns li{margin-bottom:8px;overflow-wrap:anywhere}.schedule-extra-columns p{margin:10px 0}.schedule-event-kind,.schedule-extra-columns .club-button{font-size:13px}@media(hover:hover) and (pointer:fine){.schedule-extra summary:hover{background:var(--surface)}.schedule-disclosure{transition:transform .18s cubic-bezier(.23,1,.32,1)}}@media(prefers-reduced-motion:reduce){.schedule-disclosure{transition:none}}@media(max-width:700px){.schedule-extra summary,.schedule-main-event{grid-template-columns:1fr 24px;gap:8px;padding:16px 10px}.schedule-extra summary>span:not(.schedule-disclosure),.schedule-extra summary>strong,.schedule-main-event>div,.schedule-main-event>strong{grid-column:1}.schedule-disclosure{grid-column:2;grid-row:1/3}.schedule-event-kind{grid-column:1}.schedule-extra-columns{grid-template-columns:1fr;gap:20px}.schedule-extra-content{padding-inline:12px}.schedule-day{padding:18px}.schedule-extra-columns .club-button{width:100%;justify-content:center}}.games-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:28px 0}.games-filters{display:flex;gap:8px;flex-wrap:wrap}.games-filters .club-button{font-size:14px;padding:12px 16px}.games-month-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.games-month-tools input{min-height:44px;padding:8px 12px;font:inherit;max-width:200px}.games-icon-button,.games-month-tools input{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.games-icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.games-month-title{text-transform:capitalize}.games-calendar-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.games-calendar{width:100%;min-width:336px;table-layout:fixed;border-collapse:collapse}.games-calendar th{text-align:left;padding:14px 12px;background:var(--soft);color:var(--muted);font-size:13px}.games-calendar td{vertical-align:top;border:1px solid var(--border);padding:10px;height:126px}.games-calendar td:first-child{border-left:0}.games-calendar td:last-child{border-right:0}.games-calendar tr:last-child td{border-bottom:0}.games-outside{background:var(--bg)}.games-day-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.games-today .games-day-number{background:var(--blue);color:var(--on-accent);border-radius:50%}.games-day-matches{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.games-match-button{text-align:left;width:100%;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--soft);color:var(--text);font:inherit;font-size:12px;padding:8px;cursor:pointer;overflow-wrap:anywhere}.games-match-button>span{display:block}.games-match-league{color:var(--link);font-size:11px;font-weight:750;margin-bottom:5px}.is-dhl .games-match-league{color:var(--green)}.games-match-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:11px;color:var(--muted);margin-bottom:6px}.games-match-title{font-weight:650;line-height:1.45}.games-match-button.is-selected{outline:2px solid var(--focus);outline-offset:1px}.games-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.games-detail-heading h3{margin:0;font-size:24px}.games-match-details{margin-top:24px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.games-score{font-size:24px;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.games-empty{padding:8px 0 20px}.games-empty .family-text-button{margin-right:16px}.games-source-note{margin-top:32px}.games-source-links{display:flex;gap:24px;flex-wrap:wrap}.games-mobile-hint{display:none}.games-calendar-scroll:focus-visible,.games-match-button:focus-visible,.games-match-details :focus-visible,.games-match-details:focus-visible,.games-toolbar :focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media(hover:hover) and (pointer:fine){.games-icon-button:hover,.games-match-button:hover{background:var(--surface);border-color:var(--link)}}@media(max-width:700px){.games-toolbar{gap:16px}.games-filters .club-button{padding:10px;font-size:13px;width:auto;min-height:44px}.games-calendar{min-width:700px}.games-calendar th{padding:10px 4px;text-align:center}.games-calendar td{padding:4px;height:96px}.games-match-button{padding:7px 5px;font-size:12px;border-radius:4px}.games-match-league,.games-match-time{font-size:11px}.games-match-title{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.games-mobile-hint{display:block;font-size:12px}.games-match-details{padding:18px}.games-detail-heading h3{font-size:20px}.games-source-links{gap:12px}}.training-calendar-legend{display:flex;gap:24px;flex-wrap:wrap;color:var(--muted);font-size:13px}.training-calendar-legend span:last-child{color:var(--link)}.training-calendar-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.training-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:1050px}.training-calendar-day{min-width:0;border-right:1px solid var(--border)}.training-calendar-day:last-child{border-right:0}.training-calendar-day header{padding:14px 10px;background:var(--soft);border-bottom:1px solid var(--border)}.training-calendar-day h3{margin:0 0 7px;font-size:16px}.training-calendar-day time{font-size:12px;color:var(--muted)}.training-calendar-day.is-today header{background:var(--blue);color:var(--on-accent)}.training-calendar-day.is-today time{color:var(--on-accent)}.training-calendar-events{padding:10px;display:grid;align-content:start;grid-gap:12px;gap:12px;min-height:330px}.training-calendar-events>p{font-size:13px;line-height:1.6}.training-calendar-extra,.training-calendar-main{display:flex;flex-direction:column;gap:8px;padding:12px 10px;border-radius:8px;text-align:left;font:inherit;color:var(--text);overflow-wrap:anywhere}.training-calendar-main{background:var(--bg)}.training-calendar-extra{background:var(--soft);border:1px solid var(--link);cursor:pointer;width:100%;min-height:44px}.training-event-kind{font-size:11px;color:var(--muted)}.training-calendar-extra .training-event-kind{color:var(--link)}.training-calendar-events strong{font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.training-event-title{font-size:14px;font-weight:650;line-height:1.45}.training-calendar-events small{font-size:12px;line-height:1.5;color:var(--muted)}.training-own-status{font-size:12px;font-weight:650;color:var(--green)}.training-mobile-days{display:none}.training-session-dialog{width:min(680px,calc(100% - 32px));max-height:85dvh;padding:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);overflow:auto;opacity:0;transform:scale(.96);transition:opacity var(--motion-dialog) var(--ease-out),transform var(--motion-dialog) var(--ease-out),display var(--motion-dialog) allow-discrete,overlay var(--motion-dialog) allow-discrete}.training-session-dialog[open]{opacity:1;transform:scale(1)}.training-session-dialog::-webkit-backdrop{background:rgb(0 0 0/55%);opacity:0;-webkit-transition:opacity var(--motion-dialog) var(--ease-out),display var(--motion-dialog) allow-discrete,overlay var(--motion-dialog) allow-discrete;transition:opacity var(--motion-dialog) var(--ease-out),display var(--motion-dialog) allow-discrete,overlay var(--motion-dialog) allow-discrete}.training-session-dialog::backdrop{background:rgb(0 0 0/55%);opacity:0;transition:opacity var(--motion-dialog) var(--ease-out),display var(--motion-dialog) allow-discrete,overlay var(--motion-dialog) allow-discrete}.training-session-dialog[open]::-webkit-backdrop{opacity:1}.training-session-dialog[open]::backdrop{opacity:1}@starting-style{.training-session-dialog[open]{opacity:0;transform:scale(.96)}.training-session-dialog[open]::-webkit-backdrop{opacity:0}.training-session-dialog[open]::backdrop{opacity:0}}.training-session-dialog[data-keyboard=true]::-webkit-backdrop{-webkit-transition:none;transition:none}.training-session-dialog[data-keyboard=true],.training-session-dialog[data-keyboard=true]::backdrop{transition:none}.training-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:var(--surface);z-index:1}.training-dialog-heading h2{margin:0;font-size:26px}.training-dialog-heading p{margin:8px 0 0;color:var(--muted);font-size:14px}.training-dialog-body{padding:0 24px 24px}.training-dialog-lists{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.training-dialog-lists ol{padding-left:24px;line-height:1.9}.training-dialog-lists small{color:var(--muted);font-size:12px}.training-calendar-extra:focus-visible,.training-mobile-days button:focus-visible,.training-session-dialog :focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media(hover:hover) and (pointer:fine){.training-calendar-extra:hover{background:var(--surface)}}@media(prefers-reduced-motion:reduce){.training-session-dialog{transform:none!important;transition:opacity var(--motion-small) var(--ease-out)}.training-session-dialog::-webkit-backdrop{-webkit-transition:opacity var(--motion-small) var(--ease-out);transition:opacity var(--motion-small) var(--ease-out)}.training-session-dialog::backdrop{transition:opacity var(--motion-small) var(--ease-out)}}@media(max-width:700px){.training-mobile-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;margin:20px 0 12px}.training-mobile-days button{min-height:60px;padding:8px 2px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;display:flex;flex-direction:column;gap:4px;align-items:center;font-size:12px}.training-mobile-days button[aria-pressed=true]{background:var(--blue);color:var(--on-accent)}.training-mobile-days small{font-size:8px}.training-calendar-grid{display:block;min-width:0}.training-calendar-day{display:none;border-right:0}.training-calendar-day.is-active-day{display:block}.training-calendar-day h3{font-size:20px}.training-calendar-day time{font-size:14px}.training-calendar-events{min-height:150px;padding:16px}.training-calendar-events strong{font-size:16px}.training-event-title{font-size:17px}.training-calendar-events small{font-size:14px}.training-calendar-extra,.training-calendar-main{padding:16px}.training-calendar-legend{gap:8px;flex-direction:column}.training-dialog-heading{padding:16px}.training-dialog-body{padding:0 16px 16px}.training-dialog-lists{grid-template-columns:1fr;gap:8px}.training-dialog-heading h2{font-size:23px}.training-session-dialog{max-height:90dvh}}.training-week-tools>.family-text-button{margin-right:16px}.training-calendar-events strong{white-space:normal}.training-dialog-body>section ol{line-height:1.9;padding-left:24px}.family-calendar-tools{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:24px 0}.family-player-filter{display:flex;flex-direction:column;gap:6px}.family-player-filter select{font:inherit;min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px;max-width:100%}.family-cancelled-filter{display:flex;align-items:center;gap:8px;min-height:44px}.family-cancelled-filter input{width:20px;height:20px;accent-color:var(--blue)}.family-calendar-month{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.family-calendar-month h2{margin:12px 0}.family-export-note{font-size:13px;line-height:1.6}.family-calendar-legend{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;color:var(--green)}.family-calendar-legend span:last-child{color:var(--warning-text)}.family-event-button{width:100%;display:flex;flex-direction:column;gap:6px;min-height:44px;text-align:left;padding:10px 8px;cursor:pointer;background:var(--success-bg);color:var(--text);border:1px solid var(--green);border-radius:8px;font:inherit;font-size:12px;overflow-wrap:anywhere}.family-event-button strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.family-event-button small{font-size:11px;color:var(--green)}.family-event-button.state-waiting{background:var(--warning-bg);border-color:var(--warning-text)}.family-event-button.state-waiting small{color:var(--warning-text)}.family-event-button.is-cancelled,.family-event-button.state-cancelled{background:var(--bg);border-color:var(--border)}.family-event-button.is-cancelled small,.family-event-button.state-cancelled small{color:var(--muted)}.family-event-button.state-absent{background:var(--danger-bg);border-color:var(--red)}.family-event-button.state-absent small{color:var(--error-text)}.family-event-details p{margin:12px 0}.family-calendar-tools :focus-visible,.family-event-button:focus-visible,.family-event-details :focus-visible{outline:3px solid var(--focus);outline-offset:3px}.family-calendar-legend+.games-empty .family-text-button{margin-right:12px}@media(hover:hover) and (pointer:fine){.family-event-button:hover{border-color:var(--focus)}}@media(max-width:700px){.family-calendar-month>.club-button{width:100%}.family-event-button{font-size:12px}.family-calendar-legend{gap:10px}.family-event-details .club-button{width:100%}}