.sid-training { color: #18313a; max-width: 1200px; }
.sid-training-members-page { max-width: none; }
.sid-training h2, .sid-training h3, .sid-training h4 { color: #004151; text-wrap: balance; }
.sid-training h2 { margin-top: 28px; }
.sid-training p { max-width: 75ch; }
.sid-training-row { padding: 20px 0; border-bottom: 1px solid #c8d7da; }
.sid-training-row h3 { margin: 0 0 12px; }
.sid-training-form { margin: 16px 0; }
.sid-training-form > label, .sid-training-fields > label { display: flex; flex-direction: column; gap: 6px; }
.sid-training-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .sid-training-form select, .sid-training-form textarea { max-width: 100%; min-height: 40px; color: #18313a; }
.sid-training-form textarea { width: 100%; max-width: 850px; padding: 10px; }
.sid-training-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; max-width: 900px; margin: 16px 0; }
.sid-training-days, .sid-training-toolbar, .sid-training-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.sid-training-days { margin: 12px 0; }
.sid-training-athlete { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; border-bottom: 1px solid #c8d7da; padding: 12px 0; }
.sid-training-athlete form { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.sid-training-athlete span, .sid-training-note { color: #455e66; }
.sid-training-attendance-section { margin-top: 26px; }
.sid-training-attendance-section > h3 { margin-bottom: 6px; }
.sid-training-attendance { max-width: 1100px; margin-top: 18px; border-top: 1px solid #c8d7da; }
.sid-training-attendance-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 16px; background: #e8f2f4; color: #004151; }
.sid-training-attendance-toolbar label { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; cursor: pointer; }
.sid-training-attendance-toolbar input, .sid-training-present > input { width: 21px; height: 21px; margin: 0; }
.sid-training-attendance-row { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(360px, auto); align-items: center; gap: 18px; min-height: 58px; padding: 12px 16px; border-bottom: 1px solid #c8d7da; }
.sid-training-attendance-row.is-absent { background: #fffaf0; }
.sid-training-present { display: flex; align-items: center; gap: 13px; min-width: 0; cursor: pointer; }
.sid-training-athlete-name { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.sid-training-athlete-name > span { color: #455e66; font-size: 13px; }
.sid-training-absence-reason { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.sid-training-absence-reason legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.sid-training-absence-reason label { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 3px 9px; border: 1px solid #b8c8cc; border-radius: 6px; background: #fff; cursor: pointer; }
.sid-training-absence-reason input { width: 16px; height: 16px; margin: 0; }
.sid-training-absence-reason label:has(input:checked) { border-color: #086d84; background: #e8f2f4; color: #004151; font-weight: 600; }
.sid-training-attendance-row.is-present .sid-training-absence-reason { display: none; }
.sid-training-attendance-state { justify-self: end; color: #455e66; }
.sid-training-attendance-save { margin: 16px 0 26px; }
.sid-training-transfer-picker { max-width: 1100px; }
.sid-training-transfer-picker > summary { color: #004151; font-weight: 700; }
.sid-training-transfer-picker > p { margin: 4px 0 14px; color: #455e66; }
.sid-training-transfer-list { border-top: 1px solid #c8d7da; }
.sid-training-transfer-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 52px; padding: 10px 12px; border-bottom: 1px solid #c8d7da; }
.sid-training-transfer-row > div:first-child { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.sid-training-transfer-row > div:first-child span, .sid-training-transfer-state { color: #455e66; font-size: 13px; }
.sid-training-transfer-row .sid-training-form { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin: 0; }
.sid-training-transfer-row .sid-training-form > span { color: #455e66; font-size: 13px; }
.sid-training-session-plan { max-width: 900px; margin-top: 30px; padding-top: 4px; border-top: 1px solid #c8d7da; }
.sid-training-session-plan label > span { display: block; margin: 4px 0 8px; color: #455e66; font-size: 13px; }
.sid-training-scroll { overflow-x: auto; margin: 16px 0; }
.sid-training table { width: 100%; border-collapse: collapse; }
.sid-training th, .sid-training td { text-align: left; padding: 12px; vertical-align: top; border-bottom: 1px solid #c8d7da; }
.sid-training th { font-weight: 600; }
.sid-training summary { cursor: pointer; padding: 12px 0; }
.sid-training-task { white-space: normal; overflow-wrap: anywhere; max-width: 75ch; padding: 8px 0 16px; line-height: 1.6; }
.sid-training-dates { padding-left: 20px; }
.sid-training-dates li { padding: 6px 0; }
.sid-training :is(a, input, select, textarea, button, summary):focus-visible { outline: 3px solid #086d84; outline-offset: 3px; }
.sid-training a.button { white-space: normal; }
.sid-training .sid-training-cta { appearance: none; display: inline-flex; align-items: center; justify-content: center; min-width: 280px; height: 50px; min-height: 50px; margin: 0; padding: 0 26px; box-sizing: border-box; border: 0; border-radius: 26px; background: #004151; color: #fff; font: inherit; font-size: 15px; font-weight: 800; line-height: 1.2; box-shadow: none; cursor: pointer; text-align: center; text-decoration: none; transition: transform .12s ease, background .12s ease; }
.sid-training .sid-training-cta:hover,
.sid-training .sid-training-cta:hover:visited { border: 0; background: #004151 !important; color: #fff !important; box-shadow: none !important; text-decoration: none !important; transform: translateY(-1px) !important; }
.sid-training .sid-training-cta:focus-visible { border: 0; background: #004151 !important; color: #fff !important; box-shadow: none !important; text-decoration: none !important; }
.sid-training .sid-training-cta:active { border: 0; background: #004151 !important; color: #fff !important; box-shadow: none !important; text-decoration: none !important; transform: translateY(0) !important; }
.sid-training .sid-training-cta:disabled { opacity: .7; cursor: wait; }
.sid-training-account { --sid-border: #dbe5e7; --sid-muted: #526970; --sid-soft: #f4f8f9; width: 100%; max-width: none; padding: clamp(18px, 3vw, 36px); box-sizing: border-box; background: transparent; }
.sid-training-account-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 24px 0 28px; }
.sid-training-account-header h2 { margin: 0 0 6px; }
.sid-training-account-header p { margin: 0; color: var(--sid-muted); }
.sid-training-coach-link { flex: 0 0 auto; font-size: 14px; }
.sid-training-empty { padding: 28px; border: 1px solid var(--sid-border); border-radius: 18px; background: #fff; }
.sid-training-empty h3 { margin: 0 0 8px; }
.sid-training-empty p { margin: 0; }
.sid-training-membership { margin: 0 0 32px; }
.sid-training-membership-header { display: grid; grid-template-columns: minmax(280px, 2fr) minmax(250px, 1.35fr) minmax(220px, .8fr); align-items: center; gap: 30px; padding: clamp(26px, 3vw, 38px); border: 1px solid #e4edef; border-radius: 22px; background: linear-gradient(135deg, #fff 0%, #eff8fa 100%); box-shadow: 0 10px 30px rgba(0, 65, 81, .06); }
.sid-training-membership-info { min-width: 0; }
.sid-training-membership-labels { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.sid-training-eyebrow { display: inline-flex; padding: 4px 10px; border-radius: 999px; background: #dff1f4; color: #005b6d; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.sid-training-membership-status { display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.sid-training-membership-status::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ""; }
.sid-training-membership-status-active { background: #e5f4eb; color: #21623c; }
.sid-training-membership-status-completed { background: #edf1f2; color: #526970; }
.sid-training-membership-header h3 { margin: 0 0 9px; font-size: clamp(24px, 2.8vw, 34px); line-height: 1.15; }
.sid-training-membership-meta { display: flex; flex-wrap: wrap; gap: 7px 18px; color: var(--sid-muted); font-size: 14px; }
.sid-training-membership-meta span + span::before { content: "·"; margin-right: 18px; color: #a9bcc1; }
.sid-training-balance { min-width: 0; padding: 0 30px; border-right: 1px solid var(--sid-border); border-left: 1px solid var(--sid-border); }
.sid-training-balance-line { display: flex; align-items: baseline; gap: 9px; }
.sid-training-balance-line strong { color: #004151; font-size: clamp(38px, 4vw, 48px); line-height: 1; }
.sid-training-balance-line span { color: #324d55; font-size: 15px; font-weight: 650; }
.sid-training-term { display: inline-flex; margin: 10px 0 12px; padding: 3px 9px; border-radius: 999px; background: #e0f2f5; color: #005065; font-size: 12px; font-weight: 700; }
.sid-training-progress { height: 8px; overflow: hidden; border-radius: 999px; background: #dbe5e7; }
.sid-training-progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #004151, #1596aa); }
.sid-training-balance small { display: block; margin-top: 7px; color: #748a90; font-size: 12px; }
.sid-training-renew { min-width: 0; text-align: center; }
.sid-training-renew .sid-training-cta { width: 100%; min-width: 0; }
.sid-training-renew-price { display: grid; gap: 2px; margin-top: 10px; color: var(--sid-muted); }
.sid-training-renew-price strong { color: #18313a; font-size: 15px; }
.sid-training-renew-price span { font-size: 12px; }
.sid-training-balance-warning { margin: 0 22px; padding: 12px 18px; border-radius: 0 0 12px 12px; background: #fff5dd; color: #704d0b; font-size: 14px; }
.sid-training-balance-completed { background: #edf1f2; color: #455e66; }
.sid-training-account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.sid-training-account-grid-single { grid-template-columns: 1fr; }
.sid-training-account-card { min-width: 0; padding: clamp(24px, 2.6vw, 32px); border: 1px solid #e7eef0; border-radius: 22px; background: #fff; box-shadow: 0 8px 26px rgba(0, 65, 81, .05); }
.sid-training-card-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding-bottom: 15px; border-bottom: 1px solid #edf2f3; }
.sid-training-card-header h3, .sid-training-card-header h4 { margin: 0; font-size: 20px; }
.sid-training-card-header p { margin: 3px 0 0; color: var(--sid-muted); font-size: 12px; }
.sid-training-card-header > span { flex: 0 0 auto; padding: 4px 9px; border-radius: 999px; background: #edf7f8; color: #005b6d; font-size: 12px; font-weight: 750; }
.sid-training-upcoming-list { margin: 0; padding: 0; list-style: none; }
.sid-training-upcoming-list li { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 48px; padding: 8px 12px; border-bottom: 1px solid #f0f3f4; border-radius: 10px; }
.sid-training-upcoming-list li.is-next { margin-bottom: 5px; border-bottom-color: transparent; background: #eff8fa; }
.sid-training-date-dot { width: 8px; height: 8px; border-radius: 50%; background: #bdcdd1; }
.sid-training-upcoming-list li.is-next .sid-training-date-dot { background: #00778e; }
.sid-training-upcoming-list time { display: block; color: #18313a; font-weight: 750; }
.sid-training-upcoming-list li div > span { display: block; margin-top: 2px; color: var(--sid-muted); font-size: 12px; }
.sid-training-upcoming-list li > strong { padding: 3px 8px; border-radius: 999px; background: #dff1f4; color: #005b6d; font-size: 10px; letter-spacing: .03em; text-transform: uppercase; }
.sid-training-card-note { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #edf2f3; color: var(--sid-muted); font-size: 12px; }
.sid-training-homework-week { margin: 0 0 3px !important; color: #00778e !important; font-size: 11px !important; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.sid-training-homework .sid-training-task { max-width: none; padding: 18px 20px; border-radius: 14px; background: #eff8fa; color: #18313a; font-size: 15px; line-height: 1.65; }
.sid-training-previous-tasks { margin-top: 12px; }
.sid-training-previous-tasks > summary { color: #005065; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.sid-training-homework .sid-training-previous-tasks .sid-training-task { margin-top: 4px; padding: 14px 16px; }
.sid-training-homework-feed { width: 100%; margin: 34px 0; }
.sid-training-homework-feed > header, .sid-training-homework-feed-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.sid-training-homework-feed > header h2, .sid-training-homework-feed > header h3, .sid-training-homework-feed-header h3 { margin: 0 0 5px; }
.sid-training-homework-feed > header p, .sid-training-homework-feed-header p { margin: 0; color: var(--sid-muted, #526970); }
.sid-training-homework-feed > header > span, .sid-training-homework-feed-header > span { flex: 0 0 auto; padding: 5px 10px; border-radius: 999px; background: #e8f2f4; color: #004151; font-size: 12px; font-weight: 750; }
.sid-training-homework-entry { overflow: hidden; margin: 0 0 18px; border: 1px solid #dbe5e7; border-radius: 16px; background: #fff; }
.sid-training-homework-entry-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px 17px; border-bottom: 1px solid #e8eff1; }
.sid-training-homework-entry-header p { margin: 0 0 3px; color: #00778e; font-size: 12px; font-weight: 750; }
.sid-training-homework-entry-header h4 { margin: 0; font-size: 20px; }
.sid-training-homework-entry-meta { flex: 0 0 auto; }
.sid-training-homework-entry-meta > strong { color: #18313a; font-size: 18px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sid-training-homework-blocks { padding: 10px 24px 18px; }
.sid-training-homework-block { margin-top: 10px; padding: 16px 18px; border-radius: 12px; background: #f6f8fa; }
.sid-training-homework-block-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; align-self: start; }
.sid-training-homework-block-title h5 { margin: 0; color: #1769df; font-size: 13px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.sid-training-homework-block-title > strong { color: #455e66; font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sid-training-homework-copy { margin-top: 8px; color: #324d55; line-height: 1.65; overflow-wrap: anywhere; }
.sid-training-homework-equipment { margin: 18px 24px 0; padding: 18px; border-radius: 12px; background: #e8f4fb; color: #18313a; }
.sid-training-homework-equipment > strong { display: block; font-size: 15px; }
.sid-training-homework-equipment p { margin: 6px 0 0; color: #324d55; line-height: 1.55; overflow-wrap: anywhere; }
.sid-training-homework-carousel { display: flex; min-width: 0; flex-direction: column; }
.sid-training-homework-carousel .sid-training-homework-entry { margin: 0; border: 0; border-radius: 0; }
.sid-training-homework-carousel .sid-training-homework-entry-header { padding: 0 0 15px; }
.sid-training-homework-carousel .sid-training-homework-blocks { padding: 0; }
.sid-training-homework-carousel .sid-training-homework-block { padding: 12px 16px; }
.sid-training-homework-carousel .sid-training-homework-copy { margin-top: 6px; font-size: 13px; line-height: 1.5; }
.sid-training-homework-carousel .sid-training-homework-equipment { margin: 10px 0 0; padding: 14px 16px; }
.sid-training-homework-carousel .sid-training-homework-equipment p { font-size: 13px; }
.sid-training-homework-nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid #edf2f3; }
.sid-training-homework-link { appearance: none; padding: 0; border: 0; background: transparent; box-shadow: none; color: #1769df; font: inherit; font-size: 13px; line-height: 1.4; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; cursor: pointer; }
.sid-training-homework-link:is(:hover, :focus-visible) { background: transparent; color: #004151; }
.sid-training-homework-link:first-child { justify-self: start; }
.sid-training-homework-link:last-child { justify-self: end; }
.sid-training-homework-nav > span { color: #526970; font-size: 12px; white-space: nowrap; }
.sid-training-homework-link:disabled { color: #87989d; opacity: .6; text-decoration: none; cursor: default; }
.sid-training-homework-empty { border-radius: 16px; }
.sid-training-homework-admin { max-width: 1200px; }
.sid-training-homework-admin-header { margin: 24px 0 16px; }
.sid-training-homework-admin-header h2 { margin-bottom: 7px; }
.sid-training-homework-admin-header p { margin: 0; }
.sid-training-homework-editor { display: grid; gap: 15px; max-width: 1100px; margin: 18px 0; }
.sid-training-homework-editor > label { display: grid; gap: 7px; }
.sid-training-homework-editor > label:first-child { max-width: 260px; }
.sid-training-homework-editor-total { margin: 0; color: #455e66; font-size: 14px; }
.sid-training-homework-editor-total strong { color: #004151; font-size: 18px; font-variant-numeric: tabular-nums; }
.sid-training-homework-editor-block { display: grid; grid-template-columns: minmax(0, 1fr) 150px; align-items: end; gap: 14px; }
.sid-training-homework-editor-block > label { display: grid; gap: 7px; }
.sid-training-homework-meter-field input { width: 100%; min-height: 40px; box-sizing: border-box; }
.sid-training-homework-editor textarea { width: 100%; max-width: none; min-height: 112px; box-sizing: border-box; }
.sid-training-homework-equipment-field { display: grid; gap: 7px; }
.sid-training-homework-equipment-field > span { color: #526970; font-size: 13px; }
.sid-training-homework-equipment-field input { width: 100%; min-height: 40px; box-sizing: border-box; }
.sid-training-homework-admin-feed { margin-top: 40px; padding-top: 26px; border-top: 1px solid #c8d7da; }
.sid-training-homework-admin-entry { margin-bottom: 24px; }
.sid-training-homework-admin-actions { display: flex; align-items: center; justify-content: flex-end; gap: 15px; margin-top: -10px; padding: 0 14px 10px; color: #455e66; font-size: 13px; }
.sid-training-muted { margin: 0; color: var(--sid-muted); }
.sid-training-history { margin: 0 0 20px; }
.sid-training-history-table { overflow-x: auto; }
.sid-training-history-table table { margin: 0; font-size: 13px; }
.sid-training-history-table th { padding: 10px 14px; color: var(--sid-muted); font-size: 12px; font-weight: 650; }
.sid-training-history-table td { padding: 14px; }
.sid-training-history-table time { color: #18313a; font-weight: 750; white-space: nowrap; }
.sid-training-history-pagination { margin-top: 20px; }
.sid-training-history-pagination .page-numbers { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.sid-training-history-pagination a, .sid-training-history-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 34px; padding: 5px 10px; border-radius: 9px; color: #005065; font-size: 13px; text-decoration: none; }
.sid-training-history-pagination a:is(:hover, :focus-visible) { background: #e8f2f4; color: #004151; }
.sid-training-history-pagination .current { background: #004151; color: #fff; font-weight: 750; }
.sid-training-history-pagination .prev, .sid-training-history-pagination .next { min-width: 0; padding-inline: 6px; text-decoration: underline; text-underline-offset: 3px; }
.sid-training-status { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; background: #edf1f2; color: #3f555c; font-size: 12px; }
.sid-training-status-attended { background: #e5f4eb; color: #21623c; }
.sid-training-status-missed { background: #fae9e7; color: #8b2c23; }
.sid-training-status-excused, .sid-training-status-transferred { background: #fff3d6; color: #76520a; }
.sid-training-group-summary { padding: 20px 0; border-bottom: 1px solid #c8d7da; }
.sid-training-group-summary h3 { margin: 0 0 8px; }
.sid-training-group-summary p { margin: 8px 0 12px; }
.sid-training-session-links { display: flex; flex-wrap: wrap; gap: 8px; }
.sid-training-group-summary .button { min-height: 40px; display: inline-flex; align-items: center; padding: 4px 12px; }
.sid-training-unmarked { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-weight: 600; }
.sid-training-member-groups { margin: 20px 0 32px; }
.sid-training-member-group { margin: 0 0 28px; }
.sid-training-member-group-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 0 0 12px; border-bottom: 2px solid #c8d7da; }
.sid-training-member-group-header h3 { margin: 0 0 5px; }
.sid-training-member-group-header p { margin: 0; color: #455e66; }
.sid-training-member-group-header > span { flex: 0 0 auto; padding: 5px 10px; border-radius: 999px; background: #e8f2f4; color: #004151; }
.sid-training-member-group-empty { margin: 0; padding: 16px 12px; color: #455e66; border-bottom: 1px solid #c8d7da; }
.sid-training-order-cell > * + * { margin-left: 14px; }
.sid-training-import { max-width: 1500px; }
.sid-training-import > h2 { margin-top: 24px; }
.sid-training-import-upload { display: grid; gap: 18px; max-width: 900px; margin: 20px 0 36px; padding: 22px; border: 1px solid #c8d7da; background: #fff; }
.sid-training-import-upload > label { display: grid; gap: 8px; }
.sid-training-import-upload input[type=file] { max-width: 100%; }
.sid-training-import-upload .button { justify-self: start; }
.sid-training-import-preview { padding-top: 22px; border-top: 1px solid #c8d7da; }
.sid-training-import-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 18px 0; padding: 12px 0; border-top: 1px solid #c8d7da; border-bottom: 1px solid #c8d7da; }
.sid-training-import-summary > div { display: grid; gap: 3px; min-width: 0; padding: 4px 18px; border-right: 1px solid #d7e1e3; }
.sid-training-import-summary > div:first-child { padding-left: 0; }
.sid-training-import-summary > div:last-child { border-right: 0; }
.sid-training-import-summary strong { color: #004151; font-size: 21px; font-variant-numeric: tabular-nums; }
.sid-training-import-summary span { color: #455e66; font-size: 13px; }
.sid-training-import-note { max-width: 1000px; margin: 18px 0; padding: 14px 16px; border: 1px solid #c8d7da; background: #fff; color: #324d55; line-height: 1.55; }
.sid-training-import-preview .sid-training-scroll { margin: 18px 0; }
.sid-training-import-preview .sid-training-form { margin-top: 20px; }
.sid-training-coach-notes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 24px; max-width: 1000px; }
.sid-training-coach-notes .sid-training-form { margin: 12px 0 24px; }
.sid-training-coach-notes label span { color: #455e66; font-size: 13px; }
.sid-training-checkout { max-width: 720px; margin: 40px auto; padding: 0 20px; }
.sid-training-checkout h1 { font-size: 2rem; }
.sid-training-order-summary { padding: 0 0 20px; border-bottom: 1px solid #c8d7da; }
.sid-training-order-summary h2 { font-size: 1.35rem; }
.sid-training-price { font-size: 1.5rem; font-weight: 600; }
.sid-training-quantity { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-top: 1px solid #e3eaec; border-bottom: 1px solid #e3eaec; color: #18313a; font-weight: 700; }
.sid-training-stepper { display: grid; grid-template-columns: 34px 42px 34px; align-items: center; gap: 4px; height: 36px; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.sid-training-stepper button { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; min-width: 34px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; color: #004151; font: inherit; font-size: 20px; font-weight: 400; line-height: 34px; box-shadow: none; cursor: pointer; }
.sid-training-stepper button:hover:not(:disabled) { background: #e9f6f8; color: #004151; box-shadow: none; transform: none; }
.sid-training .sid-training-stepper button:focus-visible { outline: 2px solid #005065; outline-offset: 0; background: transparent; color: #004151; box-shadow: none; transform: none; }
.sid-training-stepper button:disabled { color: #e0dfde; cursor: default; }
.sid-training-stepper input[type=number] { width: 42px !important; height: 34px !important; min-height: 34px !important; padding: 0 !important; border: 1px solid #e0dfde !important; border-radius: 8px !important; background: #fff !important; box-shadow: none !important; color: #004151; font-weight: 750; text-align: center; appearance: textfield; }
.sid-training .sid-training-stepper input[type=number]:focus { border-color: #005065 !important; outline: 2px solid rgba(0, 80, 101, .18) !important; outline-offset: 1px; box-shadow: none !important; }
.sid-training-stepper input[type=number]::-webkit-inner-spin-button,
.sid-training-stepper input[type=number]::-webkit-outer-spin-button { margin: 0; appearance: none; }
.sid-training-checkout-form { display: flex; flex-direction: column; gap: 18px; }
.sid-training-checkout-form .field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 0; }
.sid-training-checkout-form input:not([type=checkbox]):not([type=hidden]) { width: 100%; height: 42px; min-height: 42px; border: 1px solid #e0dfde; border-radius: 12px; padding: 0 12px; background: #fff; color: #004151; font: inherit; font-size: 14px; box-sizing: border-box; }
.sid-training-checkout-form label.iwe-agree { display: flex; flex-direction: row; align-items: center; gap: 10px; font-size: 13px; line-height: 1.45; color: #6f7378; margin: 0; }
.sid-training-checkout-form .iwe-agree input { width: 18px; min-width: 18px; height: 18px; margin: 0; padding: 0; flex: 0 0 auto; }
.sid-training-checkout-form input.invalid { border-color: #b42318; }
.sid-training-field-error { color: #b42318; font-size: 13px; }
.sid-training-field-error:empty { display: none; }
.sid-training-checkout-form input::placeholder { color: #667085; }
.sid-training-checkout-form input:not([type=checkbox]):focus { border-color: rgba(37,99,235,.55); box-shadow: 0 0 0 3px rgba(150,207,217,.32); }
.sid-training-consents, .sid-training-payment-action { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.sid-training-payment-action { align-items: flex-start; }
.sid-training-checkout-form .sid-training-note { margin: 0; font-size: 13px; line-height: 1.45; }
.sid-training-consents .iwe-save-profile + .sid-training-note { margin-top: -4px; padding-left: 28px; }
.sid-training-checkout a:not(.button) { color: #005065; text-decoration: underline; text-underline-offset: 2px; }
.sid-training-checkout a:not(.button):is(:hover, :focus-visible) { color: #004151; }
.sid-training-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 600px) {
    .sid-training-account { padding: 16px; }
    .sid-training-account-header { align-items: flex-start; flex-direction: column; gap: 10px; margin-top: 18px; }
    .sid-training-membership { margin-bottom: 24px; }
    .sid-training-membership-header { grid-template-columns: 1fr; gap: 22px; padding: 22px 20px; }
    .sid-training-membership-meta { align-items: flex-start; flex-direction: column; gap: 3px; }
    .sid-training-membership-meta span + span::before { content: none; }
    .sid-training-balance { width: 100%; padding: 18px 0; border-top: 1px solid var(--sid-border); border-right: 0; border-bottom: 1px solid var(--sid-border); border-left: 0; }
    .sid-training-balance-warning { padding: 12px 20px; }
    .sid-training-account-grid { grid-template-columns: 1fr; }
    .sid-training-account-card { padding: 22px 18px; }
    .sid-training-card-header { align-items: flex-start; }
    .sid-training-upcoming-list li { grid-template-columns: 8px minmax(0, 1fr); }
    .sid-training-upcoming-list li > strong { grid-column: 2; width: fit-content; }
    .sid-training-history-table { overflow: visible; }
    .sid-training-history-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .sid-training-history-table table, .sid-training-history-table tbody, .sid-training-history-table tr, .sid-training-history-table td { display: block; width: 100%; box-sizing: border-box; }
    .sid-training-history-table tr { padding: 12px 0; border-bottom: 1px solid var(--sid-border); }
    .sid-training-history-table td { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 10px; padding: 5px 0; border: 0; }
    .sid-training-history-table td::before { content: attr(data-label); color: var(--sid-muted); font-size: 12px; }
    .sid-training-coach-notes { gap: 0; }
    .sid-training-coach-notes .sid-training-form { margin: 12px 0; }
    .sid-training-payment-action { align-items: stretch; }
    .sid-training-quantity { align-items: flex-start; flex-direction: column; gap: 10px; }
    .sid-training-athlete { align-items: stretch; flex-direction: column; }
    .sid-training-athlete form select { flex: 1; min-width: 0; }
    .sid-training-attendance-toolbar { align-items: flex-start; flex-direction: column; gap: 8px; }
    .sid-training-attendance-row { grid-template-columns: 1fr; gap: 10px; padding: 14px 10px; }
    .sid-training-absence-reason { justify-content: flex-start; padding-left: 34px; }
    .sid-training-attendance-state { justify-self: start; }
    .sid-training-transfer-row { align-items: flex-start; flex-direction: column; gap: 8px; }
    .sid-training-transfer-row .sid-training-form { align-items: flex-start; justify-content: flex-start; }
    .sid-training-member-group-header { align-items: flex-start; flex-direction: column; gap: 10px; }
    .sid-training-import-upload { padding: 16px; }
    .sid-training-import-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sid-training-import-summary > div { padding: 8px 12px; box-sizing: border-box; }
    .sid-training-import-summary > div:first-child { padding-left: 12px; }
    .sid-training-homework-feed > header, .sid-training-homework-feed-header { align-items: flex-start; flex-direction: column; gap: 8px; }
    .sid-training-homework-entry-header { align-items: flex-start; padding: 18px; }
    .sid-training-homework-blocks { padding: 8px 12px 12px; }
    .sid-training-homework-block { padding: 14px; }
    .sid-training-homework-equipment { margin: 12px 12px 0; padding: 14px; }
    .sid-training-homework-carousel .sid-training-homework-entry-header { padding: 0 0 15px; }
    .sid-training-homework-carousel .sid-training-homework-blocks { padding: 0; }
    .sid-training-homework-carousel .sid-training-homework-equipment { margin: 10px 0 0; }
    .sid-training-homework-editor-block { grid-template-columns: 1fr; align-items: stretch; }
    .sid-training-homework-meter-field { max-width: 180px; }
    .sid-training-homework-nav { grid-template-columns: 1fr 1fr; }
    .sid-training-homework-nav > span { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
    .sid-training-homework-link:first-child { grid-column: 1; grid-row: 2; }
    .sid-training-homework-link:last-child { grid-column: 2; grid-row: 2; }
    .sid-training-homework-admin-actions { align-items: flex-start; justify-content: flex-start; flex-direction: column; margin-top: 0; padding: 0; }
    .sid-training th, .sid-training td { padding: 8px; }
}
@media (min-width: 601px) and (max-width: 980px) {
    .sid-training-membership-header { grid-template-columns: minmax(0, 1fr) minmax(230px, .8fr); }
    .sid-training-renew { grid-column: 1 / -1; }
    .sid-training-account-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .sid-training-checkout .sid-training-checkout-form button.cta.sid-training-pay { transition: none; transform: none; }
}

.sid-training-picker { display: grid; gap: 36px; align-items: center; margin: 28px auto; }
.sid-training-picker-with-image { grid-template-columns: minmax(180px, 1fr) minmax(0, 2fr); }
.sid-training-picker-image { display: flex; justify-content: center; }
.sid-training-picker-image img { width: 100%; max-width: 320px; height: auto; object-fit: contain; }
.sid-training-picker .sid-training-picker-form { margin: 0; min-width: 0; }
.sid-training-picker h2 { margin: 0 0 22px; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.2; }
.sid-training-picker-price { font-size: 26px; font-weight: 700; margin-bottom: 20px; }
.sid-training-picker fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.sid-training-picker legend { padding: 0; margin-bottom: 10px; font-size: 16px; }
.sid-training-picker label.sid-training-option { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; margin: 0; cursor: pointer; font-size: 16px; line-height: 1.5; color: #455e66; }
.sid-training-picker .sid-training-option input { appearance: auto; position: static; opacity: 1; width: 20px; height: 20px; min-width: 20px; margin: 2px 0 0; accent-color: #004151; flex: 0 0 20px; }
.sid-training-option:has(input:checked) span { color: #004151; }
.sid-training-picker label.sid-training-option.is-closed { cursor: default; color: #87969b; }
.sid-training-picker .sid-training-option.is-closed input { cursor: not-allowed; }
.sid-training-picker .sid-training-option small { display: block; margin-top: 2px; color: #87969b; font-size: 13px; font-weight: 600; }
.sid-training-picker .sid-training-picker-note { font-size: 15px; line-height: 1.5; font-weight: 600; margin: 24px 0; }
.sid-training-picker-quantity { display: flex; align-items: center; justify-content: flex-start; gap: 18px; margin-top: 18px; color: #18313a; font-weight: 700; }
.sid-training-picker-quantity[hidden] { display: none; }
@media (max-width: 680px) {
    .sid-training .sid-training-cta { width: 100%; min-width: 0; }
}
@media (max-width: 700px) {
    .sid-training-picker-with-image { grid-template-columns: 1fr; gap: 24px; }
    .sid-training-picker-image img { max-width: 180px; }
    .sid-training-picker h2 { font-size: 22px; }
    .sid-training-picker-quantity { align-items: flex-start; flex-direction: column; gap: 10px; }
}

/* Public training page */
.sid-training-learning-page {
    --sid-page-ink: #18313a;
    --sid-page-muted: #526a72;
    --sid-page-border: #c8d7da;
    --sid-page-brand: #004151;
    --sid-page-accent: #ed1b2f;
    width: 100%;
    max-width: none;
    margin: 0;
    color: var(--sid-page-ink);
}
body:has(.sid-training-learning-page) .entry-content,
body:has(.sid-training-learning-page) .article-post { margin-bottom: 0; }
body:has(.sid-training-learning-page) .site-content { padding-bottom: 0; }
.sid-training-learning-page h2,
.sid-training-learning-page h3 { color: var(--sid-page-brand); }
.sid-training-learning-page > section { margin: 0 0 clamp(52px, 7vw, 88px); }
.sid-training-manifesto {
    display: grid;
    width: 100vw;
    max-width: 100vw;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    grid-template-columns: minmax(180px, .65fr) minmax(0, 1.35fr);
    grid-template-areas:
        "heading heading"
        "icon copy";
    align-items: center;
    gap: clamp(28px, 4vw, 58px);
    box-sizing: border-box;
    padding: clamp(48px, 6vw, 76px) max(30px, calc((100vw - 1160px) / 2));
    background: var(--sid-page-brand);
    color: #fff;
}
.sid-training-manifesto-icon { display: grid; min-width: 0; grid-area: icon; place-items: center; }
.sid-training-manifesto-icon img { display: block; width: min(340px, 100%); max-height: 340px; object-fit: contain; }
.sid-training-manifesto-heading { min-width: 0; grid-area: heading; text-align: center; }
.sid-training-manifesto h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 3.6vw, 44px);
    line-height: 1.08;
    letter-spacing: -.025em;
}
.sid-training-manifesto-copy { min-width: 0; grid-area: copy; color: #eaf3f5; font-size: clamp(17px, 1.7vw, 20px); line-height: 1.65; }
.sid-training-manifesto-copy p { margin: 0 0 1em; }
.sid-training-manifesto-copy p:last-child { margin-bottom: 0; }
.sid-training-coach-section {
    display: flex;
    width: min(100%, 760px);
    margin-right: auto !important;
    margin-left: auto !important;
    flex-direction: column;
    align-items: center;
    padding-bottom: clamp(44px, 6vw, 76px);
    text-align: center;
}
.sid-training-coach-heading h2 { margin: 0 0 10px; color: var(--sid-page-accent); font-size: 16px; line-height: 1.4; }
.sid-training-coach-heading h3 { margin: 0; font-size: clamp(30px, 4vw, 46px); line-height: 1.12; letter-spacing: -.02em; }
.sid-training-coach-photo { width: min(320px, 100%); margin: 28px auto 0; overflow: hidden; border-radius: 12px; background: #eef3f4; aspect-ratio: 4 / 5; }
.sid-training-coach-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sid-training-prose { width: 100%; margin-top: 28px; color: #304c55; font-size: 17px; line-height: 1.7; }
.sid-training-prose p { margin: 0 0 1em; }
.sid-training-prose p:last-child { margin-bottom: 0; }
.sid-training-pools-section {
    width: 100vw;
    max-width: 100vw;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    background: #f7f7f7;
}
.sid-training-learning-page > .sid-training-pools-section:last-child { margin-bottom: 0; }
.sid-training-pools-copy {
    display: flex;
    min-height: 430px;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding: 34px clamp(40px, 5vw, 88px);
}
.sid-training-pools-copy > header { max-width: 700px; margin-bottom: 14px; }
.sid-training-pools-copy > header h2 { margin: 0 0 12px; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.2; letter-spacing: -.01em; }
.sid-training-page-schedule > .sid-training > .sid-training-picker-form > h2 { margin: 0 0 12px; font-size: clamp(28px, 3.6vw, 42px); line-height: 1.16; letter-spacing: -.02em; }
.sid-training-pools-copy > header p { margin: 0; color: var(--sid-page-muted); font-size: 16px; line-height: 1.6; }
.sid-training-pools-layout { display: grid; align-items: stretch; }
.sid-training-pools-layout.has-map { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.sid-training-pools-map { min-height: 430px; overflow: hidden; background: #e9f0f2; }
.sid-training-pools-map > p { display: grid; min-height: 430px; margin: 0; place-items: center; color: var(--sid-page-muted); }
.sid-training-pool-list { align-self: center; border-top: 1px solid var(--sid-page-border); }
.sid-training-pool { padding: 12px 0; border-bottom: 1px solid var(--sid-page-border); }
.sid-training-pool h3 { margin: 0 0 5px; font-size: 19px; line-height: 1.3; }
.sid-training-pool p { margin: 0 0 8px; color: var(--sid-page-muted); line-height: 1.5; }
.sid-training-pool a { color: var(--sid-page-brand); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(0, 65, 81, .35); text-underline-offset: 4px; }
.sid-training-pool a:is(:hover, :focus-visible) { color: var(--sid-page-accent); text-decoration-color: currentColor; }
.sid-training-page-schedule { padding-top: clamp(44px, 6vw, 76px); }
.sid-training-page-schedule .sid-training-picker { max-width: none; margin-top: 0; margin-bottom: 0; }

/* Training page editor */
.sid-training-page-admin { max-width: 1180px; }
.sid-training-page-admin > header { max-width: 760px; margin: 24px 0 32px; }
.sid-training-page-admin > header h2 { margin-bottom: 8px; }
.sid-training-page-admin > header p { color: #455e66; font-size: 14px; line-height: 1.55; }
.sid-training-page-admin-section { margin: 0 0 34px; padding: 0 0 34px; border-bottom: 1px solid #c8d7da; }
.sid-training [data-sid-group-pack-product][hidden],
.sid-training [data-sid-group-standard-help][hidden],
.sid-training [data-sid-group-personal-help][hidden] { display: none !important; }
.sid-training-page-admin-section > h3 { margin: 0 0 18px; font-size: 19px; }
.sid-training-page-admin .sid-training-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }
.sid-training-page-admin label { color: #18313a; font-weight: 600; }
.sid-training-page-admin label input,
.sid-training-page-admin label textarea { margin-top: 6px; font-weight: 400; }
.sid-training-page-admin label .description { display: block; margin-top: 5px; color: #526a72; font-weight: 400; line-height: 1.45; }
.sid-training-page-admin-wide { display: grid; max-width: 820px; margin: 18px 0; }
.sid-training-page-admin-wide textarea { width: 100%; }
.sid-training-media-field { margin: 20px 0; }
.sid-training-media-preview { width: min(240px, 100%); overflow: hidden; border-radius: 10px; background: #e9f0f2; }
.sid-training-media-preview:has(img) { aspect-ratio: 4 / 5; }
.sid-training-media-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sid-training-media-preview-icon { display: grid; min-height: 120px; padding: 16px; box-sizing: border-box; place-items: center; }
.sid-training-media-preview-icon:has(img) { aspect-ratio: auto; }
.sid-training-media-preview-icon img { width: auto; max-width: 100%; height: auto; max-height: 160px; object-fit: contain; }
.sid-training-pool-editor { margin-top: 22px; }
.sid-training-pool-row { margin-bottom: 18px; padding: 0 0 18px; border-bottom: 1px solid #d7e1e3; }
.sid-training-pool-row .sid-training-fields { grid-template-columns: minmax(180px, 1fr) minmax(240px, 1.5fr) minmax(110px, .55fr) minmax(110px, .55fr); margin-bottom: 10px; }

@media (max-width: 900px) {
    .sid-training-manifesto { grid-template-columns: minmax(120px, .45fr) minmax(0, 1.55fr); gap: 28px; padding-inline: 30px; }
    .sid-training-manifesto-icon img { width: min(250px, 100%); max-height: 250px; }
    .sid-training-pools-layout.has-map { grid-template-columns: 1fr; }
    .sid-training-pools-copy { min-height: 0; padding: 44px max(30px, calc((100vw - 720px) / 2)); }
    .sid-training-pools-map { min-height: 380px; }
    .sid-training-pools-map > p { min-height: 380px; }
    .sid-training-page-admin .sid-training-fields,
    .sid-training-pool-row .sid-training-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .sid-training-manifesto {
        grid-template-columns: 1fr;
        grid-template-areas:
            "heading"
            "icon"
            "copy";
        gap: 24px;
        padding: 40px 22px;
    }
    .sid-training-manifesto-icon:empty { display: none; }
    .sid-training-manifesto-icon img { width: min(180px, 78%); max-height: 180px; }
}
@media (max-width: 600px) {
    .sid-training-learning-page > section { margin-bottom: 48px; }
    .sid-training-manifesto h2 { font-size: 30px; }
    .sid-training-coach-section { padding-bottom: 44px; }
    .sid-training-coach-heading h3 { font-size: 30px; }
    .sid-training-pools-copy { padding: 38px 20px; }
    .sid-training-pools-copy > header h2 { font-size: 28px; }
    .sid-training-pools-map,
    .sid-training-pools-map > p { min-height: 310px; }
    .sid-training-page-schedule { padding-top: 44px; }
    .sid-training-page-admin .sid-training-fields,
    .sid-training-pool-row .sid-training-fields { grid-template-columns: 1fr; }
}
