:root {
  --ink: #2c0e37;
  --ink-2: #3b1748;
  --text: #261c2b;
  --muted: #756d79;
  --line: #e7e0ea;
  --soft: #f7f4f8;
  --white: #ffffff;
  --accent: #5c7aff;
  --accent-dark: #4a68e0;
  --accent-contrast: #2c0e37;
  --accent-text: #690375;
  --blue: #4a8fe7;
  --mint: #73fbd3;
  --shadow: 0 18px 50px rgba(44, 14, 55, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--soft); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.5; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(92,122,255,.32); outline-offset: 2px; }

.demo-ribbon { min-height: 30px; background: #ffdf72; color: #402f00; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 5px 16px; font-size: 12px; font-weight: 650; letter-spacing: .01em; text-align: center; }
.demo-ribbon span { background: #402f00; color: #fff7d1; border-radius: 4px; padding: 1px 6px; font-size: 10px; letter-spacing: .09em; }

.site-header { height: 76px; background: var(--white); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; padding: 0 clamp(20px, 4vw, 64px); position: sticky; top: 0; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); width: fit-content; }
.brand-mark { width: 43px; height: 43px; border-radius: 10px; background: var(--accent); color: var(--accent-contrast); display: grid; place-items: center; font-weight: 950; font-size: 19px; letter-spacing: -.08em; transform: skew(-5deg); box-shadow: inset 0 -5px 14px rgba(44,14,55,.22); }
.brand-mark.small { width: 36px; height: 36px; border-radius: 8px; font-size: 16px; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.1; }
.brand-copy strong { font-weight: 900; font-size: 20px; letter-spacing: -.03em; }
.brand-copy small { margin-top: 5px; color: var(--muted); font-size: 11px; }
.main-nav { display: flex; height: 100%; gap: 8px; }
.nav-link { border: 0; background: none; color: var(--muted); padding: 0 14px; font-size: 14px; font-weight: 650; position: relative; }
.nav-link:hover, .nav-link.active { color: var(--text); }
.nav-link.active::after { content: ""; position: absolute; height: 3px; background: var(--accent); left: 14px; right: 14px; bottom: -1px; border-radius: 3px 3px 0 0; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 14px; }
.view-switch { padding: 3px; background: #f0ecf2; border-radius: 9px; display: flex; }
.switch-btn { border: 0; background: transparent; color: var(--muted); border-radius: 7px; padding: 7px 12px; font-weight: 700; font-size: 13px; }
.switch-btn.active { background: white; color: var(--ink); box-shadow: 0 2px 8px rgba(44,14,55,.08); }
.profile-button { width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--ink); color: white; font-size: 12px; font-weight: 800; }
.context-button { min-width: 184px; min-height: 48px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 11px; background: white; color: var(--text); display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; column-gap: 12px; text-align: left; box-shadow: 0 5px 16px rgba(44,14,55,.06); }
.context-button > span { grid-column: 1; color: var(--muted); font-size: 9px; line-height: 1; letter-spacing: .1em; font-weight: 850; }
.context-button > strong { grid-column: 1; margin-top: 3px; font-size: 12px; line-height: 1.1; }
.context-button > b { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--muted); }
.context-button:hover { border-color: #c9bdcd; background: #fbf9fc; }

.view { display: none; }
.view.active { display: block; }
.client-shell { max-width: 1240px; margin: 0 auto; padding: 54px 28px 80px; }
.club-intro { min-height: 250px; border-radius: 24px; background: var(--ink); color: white; padding: clamp(30px, 5vw, 58px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); align-items: end; gap: 60px; position: relative; overflow: hidden; box-shadow: var(--shadow); }
.club-intro::before { content: "05"; position: absolute; right: -20px; top: -70px; font-size: 250px; line-height: 1; font-weight: 950; letter-spacing: -.1em; color: rgba(255,255,255,.028); transform: skew(-8deg); }
.club-intro::after { content: ""; position: absolute; width: 210px; height: 5px; background: var(--accent); left: 0; bottom: 0; }
.club-intro > * { position: relative; z-index: 1; }
.eyebrow { margin: 0 0 10px; color: var(--accent-text); letter-spacing: .13em; font-size: 11px; line-height: 1.2; font-weight: 850; }
.club-intro .eyebrow { color: var(--mint); }
.club-intro h1 { max-width: 670px; margin: 0; font-size: clamp(36px, 5vw, 60px); line-height: .98; letter-spacing: -.055em; font-weight: 900; }
.intro-copy { color: #d3c8d7; margin: 20px 0 0; max-width: 590px; font-size: 16px; }
.next-session { background: white; color: var(--text); border-radius: 16px; padding: 20px; display: grid; grid-template-columns: 12px 1fr 1fr auto; align-items: center; gap: 18px; }
.next-session[hidden] { display: none; }
.pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 6px rgba(115,251,211,.18); }
.next-session strong, .next-session span { display: block; }
.next-session .primary-btn { white-space: nowrap; }
.next-date strong { font-size: 23px; letter-spacing: -.03em; }
.next-date span, .next-name span { color: var(--muted); font-size: 12px; }
.next-name strong { font-size: 15px; }

.primary-btn, .outline-btn, .text-btn { border-radius: 9px; min-height: 42px; padding: 9px 16px; font-weight: 750; font-size: 14px; border: 1px solid transparent; transition: transform .15s ease, background .15s ease, border-color .15s ease; }
.primary-btn { background: var(--ink); color: white; box-shadow: 0 7px 18px rgba(44,14,55,.20); }
.primary-btn:hover { background: var(--ink-2); transform: translateY(-1px); }
.outline-btn { background: white; border-color: #d8cfdd; color: var(--text); }
.outline-btn:hover { border-color: #bbaec1; background: #fbf9fc; }
.outline-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.text-btn { background: transparent; padding-inline: 5px; color: var(--blue); }
.wide { width: 100%; min-height: 50px; }

.member-card { width: min(420px, calc(100% - 72px)); margin: -20px 36px 46px auto; background: white; border-radius: 14px; padding: 18px 20px; position: relative; z-index: 2; box-shadow: 0 12px 30px rgba(44,14,55,.13); }
.member-card > div:first-child { display: flex; justify-content: space-between; align-items: center; }
.member-label { font-size: 10px; letter-spacing: .12em; color: var(--muted); font-weight: 800; }
.member-card strong { font-size: 14px; }
.member-invoices-btn { min-height: 30px; margin-left: auto; padding: 5px 9px; border: 1px solid #d8cfdd; border-radius: 8px; background: white; color: var(--ink); font-size: 10px; font-weight: 800; white-space: nowrap; }
.member-invoices-btn:hover { border-color: var(--ink); background: var(--soft); }
.member-invoices-btn b { min-width: 19px; height: 19px; margin-left: 4px; padding: 0 5px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--ink); color: white; font-size: 9px; }
.pass-progress { height: 6px; background: #ece6ef; border-radius: 999px; margin: 12px 0 8px; overflow: hidden; }
.pass-progress span { display: block; height: 100%; border-radius: inherit; background: var(--mint); }
.member-meta { display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; }
.member-meta b, .member-meta strong { color: var(--text); }
.member-meta { gap: 10px; flex-wrap: wrap; }

.schedule-section, .passes-section, .coaches-section { scroll-margin-top: 96px; }
.passes-section[hidden] { display: none; }
.passes-section, .coaches-section { margin-top: 86px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 24px; }
.section-heading h2, .panel-header h2, .card-heading h2 { margin: 0; font-size: clamp(27px, 3vw, 36px); line-height: 1.05; letter-spacing: -.045em; }
.section-note { color: var(--muted); margin: 0; font-size: 14px; }
.count-badge { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 8px; background: var(--ink); color: white; border-radius: 999px; font-size: 11px; }
.calendar-toolbar { margin: 25px 0 14px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.calendar-toolbar > span { color: var(--muted); font-size: 13px; font-weight: 700; }
.calendar-view-switch { display: inline-grid; grid-template-columns: 1fr 1fr; padding: 3px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.calendar-view-switch button { min-width: 78px; min-height: 38px; padding: 7px 15px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.calendar-view-switch button.active { background: var(--ink); color: white; box-shadow: 0 5px 13px rgba(44,14,55,.18); }
.date-strip { display: grid; grid-template-columns: repeat(7, minmax(70px, 1fr)); gap: 8px; margin-bottom: 18px; }
.date-chip { background: white; border: 1px solid var(--line); border-radius: 12px; min-height: 78px; color: var(--muted); display: grid; grid-template-columns: 1fr auto; grid-template-rows: 1fr 1fr; align-items: center; text-align: left; padding: 12px 14px; }
.date-chip span { grid-row: 1 / 3; font-size: 11px; font-weight: 850; }
.date-chip b { font-size: 23px; line-height: 1; color: var(--text); }
.date-chip small { font-size: 10px; }
.date-chip.active { background: var(--ink); border-color: var(--ink); color: #c7bacb; box-shadow: 0 7px 18px rgba(44,14,55,.18); }
.date-chip.active b { color: white; }
.month-calendar { margin: 0 0 19px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: 0 10px 28px rgba(44,14,55,.06); }
.month-calendar[hidden] { display: none; }
.month-weekdays, .month-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.month-weekdays { margin-bottom: 6px; }
.month-weekdays span { padding: 5px; color: var(--muted); text-align: center; font-size: 11px; font-weight: 850; }
.month-day { min-height: 60px; padding: 8px; border: 1px solid transparent; border-radius: 10px; background: #faf8fb; color: var(--muted); text-align: left; font: inherit; }
.month-day b, .month-day small { display: block; }
.month-day b { color: var(--text); font-size: 14px; }
.month-day small { margin-top: 10px; color: #690375; font-size: 10px; font-weight: 800; white-space: nowrap; }
.month-day.has-sessions { border-color: rgba(105,3,117,.15); background: rgba(115,251,211,.22); cursor: pointer; }
.month-day.has-sessions.active { border-color: var(--ink); background: var(--ink); }
.month-day.has-sessions.active b, .month-day.has-sessions.active small { color: white; }
.month-blank { visibility: hidden; }

.session-list { display: grid; gap: 10px; }
.session-card { background: white; min-height: 112px; border-radius: 14px; border: 1px solid var(--line); display: grid; grid-template-columns: 120px 7px 1.15fr .8fr .8fr auto; align-items: center; gap: 24px; padding: 16px 20px; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.session-card:hover { border-color: #cfc4d3; transform: translateY(-1px); box-shadow: 0 10px 26px rgba(44,14,55,.07); }
.session-time strong { display: block; font-size: 25px; letter-spacing: -.04em; }
.session-time span, .session-name span, .session-detail span { display: block; color: var(--muted); font-size: 12px; }
.session-accent { height: 42px; width: 5px; border-radius: 999px; background: var(--accent); }
.session-accent.blue { background: var(--blue); }
.session-accent.mint { background: var(--mint); }
.session-title-line { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 10px; }
.session-name strong { display: block; font-size: 17px; }
.session-workout-link { min-height: 30px; padding: 4px 9px; border: 1px solid rgba(44,14,55,.22); border-radius: 7px; background: var(--soft); color: var(--ink); font: inherit; font-size: 11px; font-weight: 850; white-space: nowrap; }
.session-workout-link:hover { border-color: var(--ink); background: white; }
.session-detail strong { display: block; font-size: 14px; }
.spots { min-width: 110px; }
.spots strong { display: block; font-size: 13px; }
.spots-bar { display: block; height: 5px; margin-top: 7px; border-radius: 999px; background: #ece6ef; overflow: hidden; }
.spots-bar i { display: block; height: 100%; background: var(--mint); border-radius: inherit; }
.spots.full strong { color: #d54040; }
.spots.full .spots-bar i { background: #e75656; }
.session-action { min-width: 116px; }
.session-action.booked { background: #e2fff6; border-color: var(--mint); color: #225c50; box-shadow: none; }

.pass-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.price-card { background: white; border: 1px solid var(--line); padding: 30px; border-radius: 16px; position: relative; }
.price-card.featured { border-color: var(--accent); box-shadow: 0 14px 36px rgba(92,122,255,.14); }
.popular-label { position: absolute; right: 18px; top: -11px; background: var(--ink); color: white; border-radius: 999px; padding: 5px 9px; font-size: 9px; letter-spacing: .09em; font-weight: 850; }
.price-kicker { color: var(--muted); font-size: 10px; letter-spacing: .11em; font-weight: 850; }
.price-card h3 { margin: 12px 0 4px; font-size: 20px; }
.price-card > p:not(.price) { min-height: 42px; color: var(--muted); font-size: 13px; }
.price-card > p.activation-date { color: var(--ink); font-weight: 750; }
.price { margin: 18px 0 10px; display: flex; align-items: baseline; gap: 7px; }
.price strong { font-size: 37px; line-height: 1; letter-spacing: -.05em; }
.price span { color: var(--muted); font-size: 12px; }
.price-card button { width: 100%; margin-top: 12px; }

.coach-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.coach-card { display: flex; align-items: center; gap: 16px; background: white; border: 1px solid var(--line); border-radius: 14px; padding: 18px; }
.coach-card h3 { margin: 0 0 3px; font-size: 16px; }
.coach-card p { margin: 0; color: var(--muted); font-size: 12px; }
.coach-avatar { width: 50px; height: 50px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: #e8e3ff; color: #440381; font-weight: 850; font-size: 13px; }
.coach-avatar.blue, .tiny-avatar.blue { background: #e2efff; color: #28518c; }
.coach-avatar.mint, .tiny-avatar.mint { background: #ddfff5; color: #225c50; }

/* Admin */
.admin-shell { min-height: calc(100vh - 106px); display: grid; grid-template-columns: 245px minmax(0, 1fr); }
.admin-sidebar { background: var(--ink); color: white; padding: 26px 17px; display: flex; flex-direction: column; min-height: calc(100vh - 106px); }
.club-mini { display: flex; align-items: center; gap: 12px; padding: 0 7px 25px; border-bottom: 1px solid rgba(255,255,255,.1); }
.club-mini div { display: flex; flex-direction: column; }
.club-mini strong { font-size: 15px; }
.club-mini small { color: #c4b6c9; font-size: 11px; }
.admin-nav { display: grid; gap: 5px; padding-top: 22px; }
.admin-nav-btn { min-height: 44px; background: transparent; color: #c8bdcc; border: 0; border-radius: 9px; padding: 10px 12px; text-align: left; font-weight: 650; font-size: 13px; display: flex; align-items: center; gap: 11px; }
.admin-nav-btn.trainer-only { display: none; }
body[data-user-role="trainer"] .admin-nav-btn { display: none; }
body[data-user-role="trainer"] .admin-nav-btn.trainer-only { display: flex; }
body[data-user-role="trainer"] .admin-actions { display: none; }
.admin-nav-btn span { width: 17px; text-align: center; }
.admin-nav-btn:hover { background: rgba(255,255,255,.06); color: white; }
.admin-nav-btn.active { background: rgba(115,251,211,.13); color: #a9fff7; }
.sidebar-footer { margin-top: auto; border-top: 1px solid rgba(255,255,255,.1); padding: 18px 7px 0; }
.sidebar-footer small { display: block; color: #a99cae; font-size: 9px; letter-spacing: .1em; font-weight: 800; margin-bottom: 7px; }
.sidebar-footer button { width: 100%; border: 0; background: transparent; color: white; padding: 0; display: flex; justify-content: space-between; align-items: center; text-align: left; font-size: 12px; font-weight: 700; }
.sidebar-footer button > span:first-child { display: flex; flex-direction: column; }
.sidebar-footer button b { font-size: 12px; }
.sidebar-footer button em { color: #b9acbd; font-size: 10px; font-style: normal; font-weight: 600; }
.admin-content { padding: 34px clamp(25px, 4vw, 52px) 70px; min-width: 0; }
.admin-topbar, .panel-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.admin-topbar { margin-bottom: 28px; }
.admin-topbar h1 { margin: 0; font-size: 30px; line-height: 1; letter-spacing: -.04em; }
.admin-actions { display: flex; gap: 9px; }
.admin-panel { display: none; }
.admin-panel.active { display: block; }
.trainer-panel-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.trainer-action-buttons { display: flex; gap: 8px; }
.trainer-session-grid { display: grid; gap: 12px; }
.trainer-session-card { min-height: 92px; display: grid; grid-template-columns: 76px 5px minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 18px 20px; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.trainer-session-card:hover { border-color: #c9bdcd; box-shadow: 0 10px 24px rgba(44,14,55,.09); transform: translateY(-1px); }
.trainer-session-time strong, .trainer-session-time span, .trainer-session-main strong, .trainer-session-main span { display: block; }
.trainer-session-time strong { color: var(--ink); font-size: 24px; line-height: 1; letter-spacing: -.04em; }
.trainer-session-time span { margin-top: 6px; color: var(--muted); font-size: 11px; }
.trainer-session-main strong { color: var(--ink); font-size: 17px; }
.trainer-session-main span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.trainer-session-main .workout-plan-summary { display: inline-block; width: fit-content; max-width: 100%; margin-top: 8px; padding: 4px 8px; border-radius: 999px; background: rgba(115,251,211,.28); color: #225c50; font-size: 11px; line-height: 1.35; font-weight: 800; white-space: normal; }
.trainer-session-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; }
.trainer-session-actions .participant-trigger { min-width: 138px; }
.session-icon-btn { min-height: 42px; padding: 9px 11px; border: 1px solid #d8cfdd; border-radius: 9px; background: white; color: var(--text); font-size: 13px; font-weight: 750; }
.session-icon-btn:hover { border-color: #bbaec1; background: #fbf9fc; }
.session-icon-btn.workout-start-trigger { border-color: #225c50; background: var(--mint); color: var(--ink); font-weight: 900; }
.session-icon-btn.workout-start-trigger:hover { border-color: var(--ink); background: #a9ffe7; }
.session-icon-btn.workout-start-trigger.running,
.session-icon-btn.workout-start-trigger.countdown { border-color: var(--ink); background: var(--ink); color: white; }
.session-icon-btn.workout-start-trigger.finished { border-color: #225c50; background: #e2fff6; color: #225c50; }
.session-icon-btn.workout-plan-trigger { border-color: var(--ink); background: var(--ink); color: white; }
.session-icon-btn.workout-plan-trigger:hover { background: var(--ink-2); }
.session-icon-btn.delete-training-trigger { border-color: rgba(165,29,87,.24); color: #a51d57; }
.session-icon-btn.delete-training-trigger:hover { border-color: #a51d57; background: #fff5f8; }
.participant-list { display: grid; margin: 20px 0; }
.participant-dialog-note { margin: 0; }
.participant-row { min-height: 68px; display: grid; grid-template-columns: 38px minmax(0, 1fr) minmax(135px, auto) auto; align-items: center; gap: 13px; padding: 13px 0; border-top: 1px solid var(--line); }
.participant-row:first-child { border-top: 0; }
.participant-row .tiny-avatar { width: 38px; height: 38px; font-size: 10px; }
.participant-row .tiny-avatar.current-user { background: var(--ink); color: white; box-shadow: 0 0 0 3px rgba(115,251,211,.5); }
.participant-name strong, .participant-name span, .pass-balance strong, .pass-balance span { display: block; }
.participant-name strong { color: var(--ink); font-size: 14px; }
.participant-name span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.pass-balance { text-align: right; }
.pass-balance strong { color: var(--ink); font-size: 13px; }
.pass-balance span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.pass-balance.paid strong { color: #225c50; }
.participant-workout-btn { min-height: 38px; padding: 7px 10px; border: 1px solid var(--ink); border-radius: 8px; background: white; color: var(--ink); font: inherit; font-size: 12px; font-weight: 850; white-space: nowrap; }
.participant-workout-btn:hover:not(:disabled) { background: var(--ink); color: white; }
.participant-workout-btn.adjusted { border-color: #225c50; background: rgba(115,251,211,.2); color: #225c50; }
.participant-workout-btn:disabled { border-color: var(--line); color: #aaa1ae; cursor: not-allowed; }
.ownership-card { min-height: 88px; margin-bottom: 14px; padding: 18px 20px; border: 1px solid #4c2759; border-radius: 14px; background: var(--ink); color: white; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.ownership-card div { display: flex; flex-direction: column; }
.ownership-card span { color: #bfb1c4; font-size: 9px; letter-spacing: .11em; font-weight: 850; }
.ownership-card strong { margin-top: 4px; font-size: 17px; }
.ownership-card small { margin-top: 2px; color: #cbbfd0; font-size: 11px; }
.club-switch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.club-switch-card { padding: 22px; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.club-switch-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(44,14,55,.09); }
.club-switch-card.active { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.club-switch-card > div:first-child { display: flex; align-items: center; justify-content: space-between; }
.club-tile { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; color: white; font-size: 13px; font-weight: 900; letter-spacing: -.03em; }
.club-tile.orange, .context-avatar.orange { background: #5c7aff; color: #2c0e37; }
.club-tile.violet, .context-avatar.violet { background: #690375; }
.club-tile.blue, .context-avatar.blue { background: #4a8fe7; color: #2c0e37; }
.club-switch-card h3 { margin: 19px 0 2px; font-size: 20px; }
.club-switch-card > p { margin: 0; color: var(--muted); font-size: 11px; }
.club-switch-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 21px 0 18px; }
.club-switch-card dl div { padding: 10px; border-radius: 9px; background: var(--soft); }
.club-switch-card dt { color: var(--muted); font-size: 9px; }
.club-switch-card dd { margin: 2px 0 0; font-size: 18px; font-weight: 850; }
.club-switch-card > button { width: 100%; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.metric-card { background: white; border: 1px solid var(--line); border-radius: 13px; padding: 20px; min-width: 0; }
.metric-card > span { display: block; color: var(--muted); font-size: 9px; letter-spacing: .1em; font-weight: 800; }
.metric-card > strong { display: block; margin: 8px 0 3px; font-size: 30px; letter-spacing: -.05em; }
.metric-card small { display: block; color: var(--muted); font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.metric-card small b { color: #286858; }
.admin-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(290px, .8fr); gap: 14px; margin-top: 14px; }
.admin-card { background: white; border: 1px solid var(--line); border-radius: 14px; }
.today-card, .activity-card { padding: 22px; }
.card-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 10px; }
.card-heading h2 { font-size: 23px; }
.admin-session-row { min-height: 76px; display: grid; grid-template-columns: 52px 5px 1fr 95px 30px; gap: 14px; align-items: center; border-top: 1px solid var(--line); }
.admin-session-row time { font-weight: 800; }
.session-color { width: 4px; height: 32px; border-radius: 9px; background: var(--accent); }
.session-color.blue { background: var(--blue); }
.session-color.mint { background: var(--mint); }
.admin-session-row div strong, .admin-session-row div small { display: block; }
.admin-session-row div strong { font-size: 13px; }
.admin-session-row div small { color: var(--muted); font-size: 10px; }
.capacity b { font-size: 10px; }
.capacity > span { display: block; margin-top: 5px; height: 4px; background: #ece6ef; border-radius: 99px; overflow: hidden; }
.capacity i { display: block; height: 100%; background: var(--accent); border-radius: inherit; }
.more-btn { background: transparent; border: 0; color: var(--muted); letter-spacing: .08em; }
.activity-list { list-style: none; padding: 0; margin: 0; }
.activity-list li { display: grid; grid-template-columns: 35px 1fr; gap: 11px; padding: 15px 0; border-top: 1px solid var(--line); }
.activity-icon { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; font-weight: 800; font-size: 13px; }
.activity-icon.success { background: #ddfff5; color: #225c50; }
.activity-icon.payment { background: #e8ecff; color: #3f58b9; }
.activity-icon.cancel { background: #ffe8e8; color: #c83d3d; }
.activity-list strong { display: block; font-size: 12px; }
.activity-list p, .activity-list small { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.panel-header { margin-bottom: 20px; }
.table-card { overflow: hidden; }
.table-toolbar, .search-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 15px 18px; border-bottom: 1px solid var(--line); }
.filter-pills { background: var(--soft); border-radius: 8px; padding: 3px; }
.filter-pills button { border: 0; background: transparent; border-radius: 6px; padding: 6px 10px; font-size: 11px; color: var(--muted); }
.filter-pills button.active { background: white; color: var(--text); box-shadow: 0 2px 6px rgba(44,14,55,.08); }
.table-row { display: grid; grid-template-columns: 1.05fr 1.35fr .9fr .65fr .65fr 30px; align-items: center; gap: 18px; min-height: 72px; padding: 12px 18px; border-top: 1px solid var(--line); font-size: 12px; }
.table-row:first-child { border-top: 0; }
.table-row > span b, .table-row > span small { display: block; }
.table-row > span small { color: var(--muted); margin-top: 3px; font-size: 10px; }
.training-table .table-row { grid-template-columns: 1.05fr 1.35fr .9fr .65fr .65fr 56px; }
#owner-training-rows { display: contents; }
.owner-training-row .text-btn { min-height: 34px; padding: 5px; font-size: 11px; }
.owner-training-empty { grid-column: 1 / -1; margin: 0; border: 0; border-radius: 0; }
.table-head { min-height: 42px; background: #faf8fb; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.status { display: inline-block; width: fit-content; border-radius: 999px; padding: 4px 8px; font-style: normal; font-size: 10px; font-weight: 750; }
.status.open { background: #ddfff5; color: #225c50; }
.status.full { background: #ffe8e8; color: #bd3333; }
.status.waiting { background: #fff2c9; color: #866300; }
.search-row label { display: flex; align-items: center; gap: 8px; background: var(--soft); border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; min-width: 300px; }
.search-row input { border: 0; outline: none; background: transparent; width: 100%; font-size: 12px; }
.booking-row { grid-template-columns: 1.3fr 1fr .8fr .7fr 30px; }
.booking-row > span:first-child { display: flex; align-items: center; gap: 10px; }
.tiny-avatar { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: #e8e3ff; color: #440381; font-weight: 800; font-size: 9px; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.product-admin { padding: 22px; }
.product-admin > div { display: flex; justify-content: space-between; }
.product-icon { width: 42px; height: 42px; display: grid; place-items: center; background: var(--ink); color: white; border-radius: 10px; font-size: 12px; font-weight: 900; }
.product-admin h3 { margin: 20px 0 0; }
.product-admin > strong { display: block; font-size: 30px; margin-top: 4px; letter-spacing: -.04em; }
.product-admin p { color: var(--muted); font-size: 12px; }
.product-admin button { width: 100%; margin-top: 10px; }
.billing-card { margin-top: 14px; padding: 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.billing-card > div { display: flex; align-items: center; gap: 14px; }
.billing-icon { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #ddfff5; color: #225c50; font-weight: 900; }
.billing-card h3, .billing-card p { margin: 0; }
.billing-card h3 { font-size: 14px; }
.billing-card p { color: var(--muted); font-size: 11px; margin-top: 3px; }
.invoice-metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-bottom: 14px; }
.invoice-list-card { overflow: hidden; }
.invoice-list-head { min-height: 78px; padding: 17px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
.invoice-list-head h3 { margin: 2px 0 0; font-size: 19px; }
.invoice-list-head > span { color: var(--muted); font-size: 10px; text-align: right; }
.invoice-table { display: grid; }
.invoice-row { min-height: 76px; padding: 13px 18px; display: grid; grid-template-columns: .65fr 1.15fr 1.15fr .55fr .6fr auto; align-items: center; gap: 16px; border-top: 1px solid var(--line); font-size: 12px; }
.invoice-row:first-child { border-top: 0; }
.invoice-row > span { min-width: 0; }
.invoice-row > span b, .invoice-row > span small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.invoice-row > span small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.invoice-row > strong { color: var(--ink); font-size: 14px; white-space: nowrap; }
.invoice-row .invoice-open-btn { min-height: 34px; padding: 6px 11px; font-size: 11px; }
.client-invoice-list { display: grid; max-height: min(58vh, 520px); overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; }
.client-invoice-row { grid-template-columns: .7fr minmax(0, 1.25fr) .55fr .65fr auto; padding: 13px; }
#simple-dialog[data-kind="invoice"] { width: min(680px, calc(100% - 28px)); }
.invoice-document { display: grid; gap: 18px; padding: 4px 0 2px; }
.invoice-document header { min-height: 68px; padding-bottom: 16px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 2px solid var(--ink); }
.invoice-document header div { display: grid; gap: 5px; }
.invoice-document header span, .invoice-parties section > span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .11em; }
.invoice-document header strong { color: var(--ink); font-size: 25px; letter-spacing: -.04em; }
.invoice-dates, .invoice-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.invoice-dates > span { display: grid; gap: 4px; padding: 12px 14px; border-radius: 9px; background: var(--soft); }
.invoice-dates small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.invoice-dates b { color: var(--ink); font-size: 12px; }
.invoice-parties section { min-height: 92px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; display: grid; align-content: start; gap: 5px; }
.invoice-parties b { color: var(--ink); font-size: 14px; }
.invoice-parties small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.invoice-line { min-height: 68px; padding: 14px 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.invoice-line span { display: grid; gap: 4px; }
.invoice-line small { color: var(--muted); font-size: 9px; }
.invoice-line b { font-size: 14px; }
.invoice-line > strong { font-size: 16px; }
.invoice-total-line { display: flex; align-items: center; justify-content: flex-end; gap: 28px; color: var(--ink); }
.invoice-total-line span { font-size: 13px; font-weight: 800; }
.invoice-total-line strong { font-size: 27px; letter-spacing: -.04em; }
.invoice-tax-note { color: var(--muted); font-size: 9px; line-height: 1.45; text-align: right; }
.invoice-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.form-label input[readonly] { background: var(--soft); color: var(--muted); }
.simple-content .form-label select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #ded5e2; border-radius: 8px; background: white; color: var(--text); font-size: 13px; }
.settings-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 14px; }
.settings-card { padding: 24px; }
.settings-card h3 { margin: 0 0 22px; }
.form-label { display: grid; gap: 6px; color: #5f5265; font-size: 11px; font-weight: 700; margin-top: 14px; }
.form-label.static { margin-bottom: 8px; }
.form-label input, .form-label textarea { width: 100%; border: 1px solid #ded5e2; border-radius: 8px; background: white; padding: 10px 11px; color: var(--text); resize: vertical; font-size: 13px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* Pakettide haldus: ühine kliendiinfo ja esmaspäevast algav kuupäevavalik. */
.membership-list { display: grid; gap: 14px; }
.membership-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 24px; background: #eeedff; color: var(--ink); border: 1px solid #dedced; border-radius: 16px; }
.membership-person, .membership-package { display: grid; gap: 6px; min-width: 0; }
.membership-person > strong { font-size: 20px; }
.membership-person > span, .membership-package > small { font-size: 13px; overflow-wrap: anywhere; color: #605068; }
.membership-package > strong { font-size: 17px; }
.membership-package > b { font-size: 18px; }
.membership-package > span { font-size: 14px; }
.membership-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.membership-actions button { min-height: 44px; background: white; }
.membership-billing-card { padding: 22px; margin-bottom: 18px; }
.membership-billing-row { display: grid; grid-template-columns: minmax(0, 1fr) 180px 60px auto; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.membership-billing-row > span { display: grid; gap: 4px; }
.membership-billing-row small { font-size: 12px; color: #605068; overflow-wrap: anywhere; }
.membership-dialog { width: min(590px, calc(100% - 28px)); }
.membership-form { text-align: left; }
.membership-form h2 { padding-right: 28px; }
.membership-form .form-label { font-size: 14px; color: var(--ink); }
.membership-form .form-label input, .membership-form select, .membership-date-input input { min-height: 48px; font-size: 16px; padding: 11px 12px; border: 1px solid #cfc5d4; border-radius: 10px; background: white; color: var(--ink); width: 100%; }
.membership-form .check-line { font-size: 15px; align-items: flex-start; }
.membership-form .check-line input { flex-shrink: 0; }
.membership-date-input { display: flex; gap: 8px; margin-top: 6px; }
.membership-date-input input { min-width: 0; }
.membership-date-input button { min-height: 48px; width: 50px; flex: 0 0 50px; padding: 4px; font-size: 24px; }
.membership-expiry { font-size: 15px; font-weight: 700; color: var(--ink); margin: 10px 0 20px; }
.membership-help { font-size: 13px; line-height: 1.55; color: #605068; margin: 10px 0; }
.membership-monthly { padding: 16px; background: #e3fff5; border: 1px solid #c9e9df; border-radius: 12px; margin-top: 20px; }
.membership-monthly > strong { display: block; font-size: 16px; margin: 14px 0 4px; }
.membership-error { color: #922143; font-weight: 700; font-size: 14px; }
.membership-error:empty { display: none; }
.membership-form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.membership-form-actions .primary-btn { flex: 1; min-width: 180px; }
.membership-extension { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 12px 0; }
.membership-extension-toggle { border: 0; width: 100%; min-height: 48px; display: flex; justify-content: space-between; align-items: center; background: transparent; color: var(--ink); padding: 6px 0; font-size: 17px; font-weight: 750; text-align: left; }
.membership-extension p { font-size: 14px; }
.membership-history h3 { margin-top: 24px; font-size: 16px; }
.membership-history p { display: grid; gap: 5px; font-size: 13px; overflow-wrap: anywhere; }
.membership-history span { color: #605068; }
.membership-calendar { margin: 12px 0; padding: 12px; border: 1px solid #ded5e2; border-radius: 14px; background: #f6f3f8; }
.membership-calendar-heading { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 10px; align-items: center; text-align: center; }
.membership-calendar-heading button { min-height: 44px; padding: 4px; font-size: 26px; }
.membership-calendar-heading strong { font-size: 16px; }
.membership-weekdays, .membership-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; text-align: center; }
.membership-weekdays { margin: 14px 0 4px; color: #605068; font-size: 13px; font-weight: 800; }
.membership-calendar-days button { min-height: 44px; border: 1px solid transparent; border-radius: 9px; padding: 4px; font-size: 16px; font-weight: 650; color: var(--ink); background: white; }
.membership-calendar-days button[aria-current="date"] { border-color: var(--ink); }
.membership-calendar-days button[aria-pressed="true"] { background: var(--ink); color: white; }
.membership-form [hidden], #member-progress-track[hidden] { display: none !important; }
.membership-form :focus-visible { outline: 3px solid #5c7aff; outline-offset: 2px; }
@media (max-width: 800px) {
  .membership-card { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 20px; }
  .membership-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .membership-billing-row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .membership-billing-card .panel-header { flex-wrap: wrap; gap: 12px; }
}
.training-date-trigger { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #ded5e2; border-radius: 8px; background: white; color: var(--text); display: flex; align-items: center; justify-content: space-between; gap: 10px; text-align: left; font-size: 13px; font-weight: 650; }
.training-date-trigger:hover { border-color: #bbaec1; background: #fbf9fc; }
.training-date-trigger > span:last-child { color: var(--muted); font-size: 18px; line-height: 1; }
.training-date-picker { padding: 16px; border: 1px solid #ded5e2; border-radius: 12px; background: #fbf9fc; box-shadow: 0 10px 26px rgba(44,14,55,.08); }
.training-date-picker[hidden] { display: none; }
.training-date-picker > strong { display: block; margin-bottom: 12px; color: var(--ink); font-size: 15px; }
.training-date-weekdays, .training-date-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.training-date-weekdays { margin-bottom: 5px; }
.training-date-weekdays span { padding: 4px 0; color: var(--muted); text-align: center; font-size: 12px; font-weight: 850; }
.training-date-day { aspect-ratio: 1; min-width: 0; padding: 0; border: 1px solid transparent; border-radius: 50%; background: white; color: var(--text); font-size: 14px; font-weight: 700; }
.training-date-day:hover:not(:disabled) { border-color: var(--accent); background: #f1f3ff; }
.training-date-day.today { border-color: var(--accent); }
.training-date-day.selected { border-color: var(--ink); background: var(--ink); color: white; }
.training-date-day:disabled { background: transparent; color: #bbb3bf; cursor: not-allowed; }
.training-date-blank { aspect-ratio: 1; }
.logo-upload { border: 1px dashed #cfc3d3; border-radius: 12px; padding: 20px; display: flex; align-items: center; gap: 18px; }
.logo-upload > div { display: grid; gap: 5px; }
.logo-upload small { color: var(--muted); font-size: 9px; }
.color-picker { display: flex; gap: 10px; margin-bottom: 24px; }
.color-dot { width: 31px; height: 31px; padding: 0; border: 3px solid white; outline: 1px solid #d8cfdd; background: var(--color); border-radius: 50%; }
.color-dot.active { outline: 3px solid var(--text); outline-offset: 2px; }
.color-dot.custom { background: white; color: var(--muted); font-size: 19px; }
.page-link { border-top: 1px solid var(--line); padding-top: 18px; display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; }
.page-link span { grid-column: 1 / 3; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.page-link code { font-family: inherit; font-size: 13px; font-weight: 650; }
.page-link button { min-height: auto; font-size: 11px; padding: 0; }
.team-grid { display: grid; gap: 10px; }
.team-member { display: grid; grid-template-columns: 50px 1fr auto 30px; gap: 15px; align-items: center; padding: 18px; }
.team-member h3, .team-member p { margin: 0; }
.team-member h3 { font-size: 14px; }
.team-member p, .team-member small { display: block; color: var(--muted); font-size: 10px; margin-top: 2px; }

/* Dialogs and feedback */
.dialog { width: min(510px, calc(100% - 28px)); padding: 0; border: 0; border-radius: 18px; background: transparent; color: var(--text); box-shadow: var(--shadow); }
.dialog::backdrop { background: rgba(44, 14, 55, .66); backdrop-filter: blur(4px); }
.dialog-card { background: white; padding: 30px; position: relative; border-radius: 18px; }
.dialog-close { position: absolute; right: 15px; top: 14px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--soft); color: var(--muted); font-size: 21px; line-height: 1; }
.dialog-icon { width: 48px; height: 48px; margin-bottom: 22px; border-radius: 50%; display: grid; place-items: center; background: #ddfff5; color: #225c50; font-weight: 900; font-size: 19px; }
.dialog h2 { margin: 0; color: var(--ink); font-size: 29px; line-height: 1.08; letter-spacing: -.045em; }
.dialog-meta { margin: 7px 0 22px; color: var(--muted); font-size: 13px; }
.dialog-key-meta { color: #4f4055; font-size: 14px; line-height: 1.35; font-weight: 700; }
.delete-training-warning { margin: 20px 0; padding: 14px 16px; border: 1px solid rgba(165,29,87,.17); border-radius: 10px; background: #fff5f8; color: #782044; font-size: 14px; font-weight: 700; }
.delete-training-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.danger-btn { min-height: 42px; padding: 9px 16px; border: 1px solid #a51d57; border-radius: 9px; background: #a51d57; color: white; font: inherit; font-size: 14px; font-weight: 800; }
.danger-btn:hover { background: #851542; border-color: #851542; }
.workout-dialog { width: min(880px, calc(100% - 28px)); max-height: calc(100dvh - 28px); }
.workout-builder-card { max-height: calc(100dvh - 28px); overflow-y: auto; overscroll-behavior: contain; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.workout-builder-tools { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.workout-builder-tools .outline-btn { min-height: 42px; padding: 9px 13px; }
.workout-builder-tools .outline-btn span { margin-right: 4px; }
.workout-builder-tools .outline-btn:disabled { opacity: .42; cursor: not-allowed; }
.trainer-action-buttons .shared-workout-count { min-width: 22px; height: 22px; display: inline-grid; place-items: center; margin-left: 5px; border-radius: 999px; background: var(--ink); color: white; font-size: 10px; }
.workout-import-dialog,
.workout-share-dialog { width: min(780px, calc(100% - 28px)); max-height: calc(100dvh - 28px); }
.workout-import-card,
.workout-share-card { max-height: calc(100dvh - 28px); overflow-y: auto; overscroll-behavior: contain; }
.workout-image-drop { min-height: 184px; display: grid; place-items: center; align-content: center; gap: 8px; margin-top: 22px; padding: 24px; border: 2px dashed #cfc3d3; border-radius: 16px; background: #fbf9fc; color: var(--ink); text-align: center; cursor: pointer; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.workout-image-drop:hover,
.workout-image-drop.drag-over { border-color: var(--accent); background: rgba(92,122,255,.07); transform: translateY(-1px); }
.workout-image-drop.has-image { min-height: 82px; grid-template-columns: 42px minmax(0, 1fr); justify-items: start; text-align: left; }
.workout-image-drop.has-image .workout-image-icon { grid-row: 1 / 3; }
.workout-image-drop small { color: var(--muted); font-size: 12px; }
.workout-image-camera-button { width: 100%; min-height: 44px; margin-top: 12px; }
.workout-image-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; background: var(--ink); color: white; font-size: 24px; font-weight: 600; }
.workout-image-preview { margin: 12px 0 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); }
.workout-image-preview img { width: 100%; max-height: 330px; display: block; object-fit: contain; background: #ede8ef; }
.workout-image-preview figcaption { padding: 9px 12px; color: var(--muted); font-size: 11px; font-weight: 700; overflow-wrap: anywhere; }
.workout-import-upload-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 12px; }
.workout-ocr-progress { display: grid; gap: 8px; margin-top: 14px; padding: 13px; border-radius: 11px; background: rgba(92,122,255,.07); }
.workout-ocr-progress > span { height: 8px; overflow: hidden; border-radius: 999px; background: white; }
.workout-ocr-progress i { width: 2%; height: 100%; display: block; border-radius: inherit; background: var(--accent); transition: width .2s ease; }
.workout-ocr-progress strong { color: var(--ink); font-size: 12px; }
.workout-import-review { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.workout-import-text-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.workout-import-text-heading label { color: var(--ink); font-size: 14px; font-weight: 850; }
.workout-import-text-heading span { color: #225c50; font-size: 11px; font-weight: 800; }
.workout-import-review textarea { width: 100%; min-height: 150px; margin-top: 8px; padding: 13px 14px; resize: vertical; border: 1px solid #d8cfdd; border-radius: 12px; background: white; color: var(--text); font: inherit; font-size: 1rem; line-height: 1.5; }
.workout-import-review textarea:focus { border-color: var(--ink); outline: 0; box-shadow: 0 0 0 3px rgba(92,122,255,.14); }
.workout-import-text-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 8px; }
.workout-import-text-actions small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.workout-import-summary { display: grid; gap: 14px; margin-top: 22px; }
.workout-import-summary-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.workout-import-summary-head h3 { margin: 0; color: var(--ink); font-size: 20px; }
.workout-import-summary-head span { color: var(--muted); font-size: 12px; font-weight: 750; }
.workout-import-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; padding: 13px; border-radius: 12px; background: rgba(115,251,211,.12); }
.workout-import-title-field { grid-column: 1 / -1; }
.workout-import-field { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 750; }
.workout-import-field input,
.workout-import-field select { width: 100%; min-width: 0; min-height: 42px; padding: 8px 9px; border: 1px solid #d8cfdd; border-radius: 9px; background: white; color: var(--ink); font: inherit; font-size: 13px; font-weight: 750; }
.workout-import-list { display: grid; gap: 8px; }
.workout-import-row { display: grid; grid-template-columns: auto minmax(150px, 1fr) 76px 118px 112px auto; align-items: end; gap: 8px; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: #fbf9fc; }
.workout-import-row.needs-review { border-color: rgba(165,29,87,.3); background: rgba(255,213,226,.2); }
.workout-import-status { align-self: center; min-width: 74px; padding: 5px 7px; border-radius: 999px; background: #ddfff5; color: #225c50; font-size: 9px; font-weight: 900; letter-spacing: .04em; text-align: center; }
.workout-import-status.review { background: #fff0d9; color: #8c5400; }
.workout-import-remove { width: 40px; min-height: 42px; border: 1px solid #e4c5d1; border-radius: 9px; background: white; color: #a51d57; font-size: 18px; font-weight: 850; }
.workout-import-empty { padding: 24px 16px; border: 1px dashed #cfc3d3; border-radius: 12px; color: var(--muted); text-align: center; font-size: 13px; }
.workout-import-add-row { justify-self: start; }
.workout-import-final-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.workout-import-final-actions p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.workout-import-final-actions p strong { display: block; color: var(--ink); font-size: 12px; }
.workout-import-final-actions .primary-btn { flex: 0 0 auto; }
.workout-import-session-field { margin-bottom: 20px; }
.workout-import-session-field span, .workout-import-session-field select { font-size: .875rem; }
.workout-import-text-actions small { font-size: .875rem; }
.workout-import-final-actions { border: 0; padding-top: 0; }
.workout-import-section { margin-top: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: white; color: var(--ink); }
.workout-import-section.warmup { background: #e6fff7; }
.workout-import-section.main { background: #eef0ff; }
.workout-import-section h3 { margin: 0; font-size: 1.25rem; }
.workout-import-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.workout-import-edit-button { flex-shrink: 0; min-width: 44px; min-height: 44px; padding: 8px 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(44,14,55,.2); border-radius: 10px; background: rgba(255,255,255,.7); color: var(--ink); font: inherit; font-size: .875rem; font-weight: 750; cursor: pointer; }
.workout-import-edit-button > span { font-size: 18px; }
.workout-import-edit-button:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.workout-import-edit-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 12px; margin-top: 8px; }
.workout-import-edit-fields .workout-import-field { min-width: 0; font-size: .875rem; color: var(--ink); }
.workout-import-edit-fields input, .workout-import-edit-fields select { min-height: 44px; font-size: 1rem; font-weight: 600; }
.workout-import-edit-fields .workout-ladder-toggle input { min-height: 18px; }
.workout-import-edit-name { grid-column: 1 / -1; }
.workout-import-edit-formula { margin: 16px 0; }
.workout-import-minute { margin-bottom: 5px; font-size: .875rem; font-weight: 750; }
.workout-import-formula { margin: 8px 0 16px; font-size: 1rem; line-height: 1.5; font-weight: 750; overflow-wrap: anywhere; }
.workout-import-section ol { margin: 0; padding-left: 1.6rem; }
.workout-import-section li { padding: 10px 0 10px 5px; font-size: 1rem; line-height: 1.45; }
.workout-import-section li + li { border-top: 1px solid rgba(44,14,55,.12); }
.workout-import-section li strong, .workout-import-section li span, .workout-import-section li small { display: block; overflow-wrap: anywhere; }
.workout-import-section li small { margin-top: 4px; font-size: .875rem; color: #690375; }
.workout-import-error { padding: 12px 14px; border-radius: 10px; color: #690375; background: #fff0f6; font-size: 1rem; line-height: 1.5; }
.workout-ladder-field { grid-column: 1 / -1; }
.workout-ladder-field > input, #warmup-format { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; font: inherit; font-size: 1rem; color: var(--ink); background: white; }
.workout-ladder-quantity { display: block; padding: 8px; border-radius: 8px; color: var(--ink); background: #e6fff7; font-size: .875rem; line-height: 1.4; overflow-wrap: anywhere; }
.workout-ladder-toggle { display: flex; align-items: center; gap: 6px; min-height: 36px; font-size: .875rem; color: var(--ink); }
.workout-ladder-toggle input { width: 18px; height: 18px; min-height: 18px; flex-shrink: 0; accent-color: var(--ink); }
.workout-warmup-unit-field{grid-column:1/-1}
.workout-warmup-unit-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.workout-warmup-unit-row .workout-choice{display:flex;flex-wrap:wrap;margin:0}
.workout-warmup-unit-row .workout-ladder-toggle{width:auto;white-space:nowrap;min-height:40px;margin:0;font-weight:750}
.workout-ladder-reverse{min-height:40px;padding:7px 12px;border:1px solid #d8cfdd;border-radius:9px;background:white;color:var(--ink);font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.workout-ladder-reverse[aria-pressed="true"]{border-color:#19836d;background:#ecfaf5;color:#146a59}
.workout-ladder-reverse:focus-visible{outline:3px solid #5c7aff;outline-offset:2px}
.workout-block-field .workout-ladder-toggle input[type="checkbox"]{width:18px;height:18px;min-height:18px;padding:0}
.strength-ladder-field{grid-column:span 2;align-content:start}
.strength-ladder-choices{display:flex;flex-wrap:wrap;gap:6px}
.strength-ladder-choices button{min-height:40px;padding:7px 12px;border:1px solid #d8cfdd;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.strength-ladder-choices button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
.strength-ladder-choices button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.strength-ladder-field .workout-ladder-quantity{max-width:100%;background:#eefaf5;font-size:14px;font-weight:700}
@media(max-width:700px){.strength-ladder-field{grid-column:1/-1}}
.workout-share-summary { margin: 20px 0 16px; padding: 16px; border: 1px solid rgba(92,122,255,.2); border-radius: 13px; background: rgba(92,122,255,.07); }
.workout-share-summary strong,
.workout-share-summary span { display: block; }
.workout-share-summary strong { color: var(--ink); font-size: 17px; }
.workout-share-summary span { margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.workout-share-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.workout-share-link input { min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #d8cfdd; border-radius: 10px; background: #fbf9fc; color: var(--muted); font: inherit; font-size: 12px; }
.workout-share-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 9px; }
.workout-share-actions .outline-btn,
.workout-share-actions .primary-btn { display: grid; place-items: center; text-decoration: none; }
.workout-share-friends { margin-top: 24px; padding-top: 19px; border-top: 1px solid var(--line); }
.workout-share-friends h3 { margin: 0; color: var(--ink); font-size: 16px; }
.workout-share-friends > p { margin: 5px 0 12px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.workout-friend-list { display: grid; gap: 8px; }
.workout-friend-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; }
.workout-friend-row .context-avatar { width: 42px; height: 42px; }
.workout-friend-row div strong,
.workout-friend-row div small { display: block; }
.workout-friend-row div strong { color: var(--ink); font-size: 13px; }
.workout-friend-row div small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.shared-workout-list { display: grid; gap: 10px; margin-top: 20px; }
.shared-workout-card { padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fbf9fc; }
.shared-workout-card-head { display: flex; justify-content: space-between; gap: 12px; }
.shared-workout-card-head strong { color: var(--ink); font-size: 16px; }
.shared-workout-card-head span { color: var(--muted); font-size: 10px; text-align: right; }
.shared-workout-card > p { margin: 6px 0 12px; color: var(--muted); font-size: 12px; }
.shared-workout-card-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
.shared-workout-card-actions select { min-width: 0; min-height: 42px; padding: 8px 9px; border: 1px solid #d8cfdd; border-radius: 9px; background: white; color: var(--ink); font: inherit; font-size: 12px; font-weight: 750; }
.shared-workout-delete { border-color: #e4c5d1; color: #a51d57; }
.workout-run-dialog { width: min(760px, calc(100% - 28px)); max-height: calc(100dvh - 28px); }
.workout-run-card { max-height: calc(100dvh - 28px); overflow-y: auto; overscroll-behavior: contain; }
.workout-personalization { margin: 18px 0 12px; padding: 14px 16px; border: 1px solid rgba(34,92,80,.2); border-radius: 11px; background: rgba(115,251,211,.16); display: grid; gap: 4px; }
.workout-personalization[hidden], .live-workout-timer[hidden], .live-workout-actions[hidden] { display: none; }
.workout-personalization strong { color: #225c50; font-size: 12px; line-height: 1.3; letter-spacing: .07em; }
.workout-personalization span { color: #4f4055; font-size: 13px; line-height: 1.4; }
.live-workout-timer { min-height: 186px; margin: 24px 0 12px; padding: 24px; border-radius: 18px; background: var(--ink); color: white; display: grid; place-items: center; align-content: center; text-align: center; box-shadow: 0 15px 34px rgba(44,14,55,.2); }
.live-workout-timer > span { color: var(--mint); font-size: 12px; line-height: 1.2; letter-spacing: .13em; font-weight: 900; }
.live-workout-timer > strong { margin: 7px 0 5px; font-size: clamp(52px, 11vw, 84px); line-height: .95; letter-spacing: -.065em; font-variant-numeric: tabular-nums; }
.live-workout-timer > small { color: #d5cad9; font-size: 14px; font-weight: 700; }
.live-workout-timer .workout-sound-test { margin-top: 12px; padding: 7px 12px; border: 1px solid rgba(255,255,255,.45); border-radius: 9px; background: transparent; color: white; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.live-workout-timer .workout-sound-test:hover { background: rgba(255,255,255,.12); }
.live-workout-actions { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 22px; }
.live-workout-actions button { min-height: 48px; }
.live-workout-actions button[hidden] { display: none; }
.live-workout-actions .primary-btn { min-width: 150px; background: var(--mint); color: var(--ink); box-shadow: 0 7px 18px rgba(34,92,80,.2); }
.live-workout-actions .primary-btn:hover { background: #a9ffe7; }
.live-workout-actions .outline-btn { margin-right: auto; }
.live-workout-plan { display: grid; gap: 14px; }
.live-workout-section { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: white; }
.live-workout-section.warmup { border-color: rgba(34,92,80,.18); }
.live-workout-section-heading { min-height: 55px; padding: 13px 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--soft); }
.live-workout-section.warmup .live-workout-section-heading { background: rgba(115,251,211,.15); }
.live-workout-section-heading p { margin: 0; color: var(--ink); font-size: 13px; letter-spacing: .1em; font-weight: 900; }
.live-workout-section-heading span { color: var(--muted); font-size: 13px; font-weight: 800; text-align: right; }
.live-workout-section-heading.has-edit { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
.live-workout-section-heading.has-edit > p, .live-workout-section-heading.has-edit > span { grid-column: 1; text-align: left; overflow-wrap: anywhere; }
.live-workout-section-heading.has-edit > button { grid-column: 2; grid-row: 1 / 3; align-self: start; }
.live-workout-section-heading .workout-import-edit-button > span { font-size: 18px; }
.live-workout-exercises { display: grid; }
.live-workout-exercise { min-height: 76px; padding: 13px 16px; display: grid; grid-template-columns: 32px minmax(0, 1fr) minmax(165px, auto); align-items: center; gap: 12px; border-top: 1px solid var(--line); }
.live-workout-exercise:first-child { border-top: 0; }
.live-workout-exercise > b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: white; font-size: 12px; }
.live-workout-section.warmup .live-workout-exercise > b { background: #225c50; }
.live-workout-exercise-main { min-width: 0; display: grid; }
.live-workout-exercise-main small { color: var(--muted); font-size: 11px; font-weight: 700; }
.live-workout-exercise-main strong { margin-top: 2px; color: var(--ink); font-size: 17px; line-height: 1.25; overflow-wrap: anywhere; }
.workout-prescription-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.workout-prescription-tags span { width: fit-content; padding: 4px 7px; border-radius: 999px; background: rgba(92,122,255,.11); color: #354d9d; font-size: 10px; line-height: 1.2; font-weight: 850; }
.workout-prescription-tags span.linked { background: rgba(115,251,211,.22); color: #225c50; letter-spacing: .06em; }
.live-workout-exercise-main .workout-adjusted-badge { width: fit-content; margin-top: 7px; padding: 3px 6px; border-radius: 999px; background: rgba(115,251,211,.24); color: #225c50; font-size: 9px; line-height: 1.2; letter-spacing: .08em; font-weight: 900; }
.live-workout-exercise-main .workout-original-exercise { margin-top: 4px; color: #76677c; font-size: 11px; line-height: 1.35; text-decoration: line-through; }
.live-workout-adjustment-actions { min-width: 150px; display: grid; gap: 6px; }
.live-workout-adjustment-actions button { min-height: 38px; padding: 7px 10px; border: 1px solid var(--ink); border-radius: 8px; background: var(--ink); color: white; font: inherit; font-size: 12px; font-weight: 850; }
.live-workout-adjustment-actions .participant-restore-exercise { border-color: #d8cfdd; background: white; color: #6a5c70; }
.live-workout-adjustment-actions button:hover { filter: brightness(.96); }
.live-workout-weight { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 800; }
.live-workout-weight > span:last-child { min-height: 42px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border: 1px solid #d8cfdd; border-radius: 9px; overflow: hidden; background: white; }
.live-workout-weight input { width: 100%; min-width: 0; height: 40px; padding: 7px 9px; border: 0; outline: 0; color: var(--ink); font-size: 14px; font-weight: 800; }
.live-workout-weight b { height: 40px; padding: 0 10px; display: grid; place-items: center; border-left: 1px solid var(--line); background: var(--soft); color: var(--muted); font-size: 12px; }
.live-workout-weight > span:last-child:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(92,122,255,.14); }
.live-workout-weight.recorded { min-width: 140px; text-align: right; }
.live-workout-weight.recorded strong { color: var(--ink); font-size: 14px; }
.live-workout-result-inputs { min-width: 165px; display: grid; gap: 9px; }
.live-workout-weight-control { min-width: 0; display: grid; gap: 8px; }
.workout-ball-weight-presets { display: flex; flex-wrap: wrap; gap: 6px; }
.workout-ball-weight-presets button { min-width: 48px; min-height: 40px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.workout-ball-weight-presets button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent); color: white; }
.workout-ball-weight-presets button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.live-workout-effort { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 800; }
.live-workout-effort > span:last-child { min-height: 42px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; overflow: hidden; border: 1px solid #d8cfdd; border-radius: 9px; background: white; }
.live-workout-effort input { width: 100%; min-width: 0; height: 40px; padding: 7px 9px; border: 0; outline: 0; color: var(--ink); font-size: 14px; font-weight: 800; }
.live-workout-effort b { height: 40px; padding: 0 8px; display: grid; place-items: center; border-left: 1px solid var(--line); background: var(--soft); color: var(--muted); font-size: 11px; }
.live-workout-effort > span:last-child:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(92,122,255,.14); }
.live-workout-effort.recorded { min-width: 140px; text-align: right; }
.live-workout-effort.recorded strong { color: var(--ink); font-size: 14px; }
.workout-result-panel { margin-top: 14px; padding: 13px 15px; border-radius: 11px; background: rgba(115,251,211,.15); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.workout-result-panel[hidden] { display: none; }
.workout-result-panel strong { color: #225c50; font-size: 11px; letter-spacing: .1em; }
.workout-result-panel span { color: var(--muted); font-size: 12px; text-align: right; }
.workout-result-panel span.saved { color: #225c50; font-weight: 800; }
.workout-run-close-bottom { margin-top: 20px; }
.workout-board-tools { display: flex; justify-content: flex-end; margin: 12px 0; }
.live-workout-timer.is-idle { min-height: 94px; padding: 16px; margin-top: 16px; box-shadow: none; }
.live-workout-timer.is-idle > strong { font-size: 36px; }
.workout-board { padding: 20px 22px; border-radius: 16px; }
.workout-board.warmup { background: #e5fff6; }
.workout-board.main { background: #eeefff; }
.workout-board.cooldown { background: #e5f4ff; }
.workout-board .live-workout-section-heading,
.workout-board.warmup .live-workout-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; min-height: 0; padding: 0 0 20px; background: transparent; }
.workout-board .live-workout-section-heading > p { grid-column: 1; font-size: 22px; font-weight: 650; line-height: 1.3; letter-spacing: 0; }
.workout-board .live-workout-section-heading > span { grid-column: 1; color: var(--ink); font-size: 16px; font-weight: 750; text-align: left; overflow-wrap: anywhere; }
.workout-board .live-workout-section-heading > button { grid-column: 2; grid-row: 1 / 3; align-self: start; }
.workout-board .live-workout-exercise { min-height: 0; padding: 15px 0; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 7px 10px; border-color: rgba(44,14,55,.14); background: transparent; }
.workout-board .live-workout-exercise:last-child { padding-bottom: 0; }
.workout-board .live-workout-exercise > b { width: auto; height: auto; margin-top: 2px; border-radius: 0; display: block; background: transparent; color: var(--ink); font-size: 16px; font-weight: 500; }
.workout-board .live-workout-exercise-main { gap: 4px; min-width: 0; }
.workout-board .live-workout-exercise-main > strong { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.4; }
.workout-board-quantity { color: var(--ink); font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.workout-board .live-workout-exercise-main > small { font-size: 14px; line-height: 1.4; }
.workout-board .live-workout-exercise-main .workout-minute { color: var(--ink); font-weight: 750; }
.workout-last-weight, .workout-today-weight { color: #5e4868; font-size: 14px; line-height: 1.5; }
.workout-last-weight b, .workout-today-weight b { color: var(--ink); }
.workout-today-weight { color: #245d4f; }
.workout-board .live-workout-result-inputs, .workout-board .live-workout-adjustment-actions { grid-column: 2; min-width: 0; margin-top: 7px; }
.workout-board .live-workout-result-inputs { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.workout-board .live-workout-result-inputs.has-ball-presets { grid-template-columns: 1fr; }
.workout-board .live-workout-weight, .workout-board .live-workout-effort { font-size: 14px; }
.workout-board .live-workout-weight input, .workout-board .live-workout-effort input { min-height: 44px; font-size: 16px; }
.workout-board .workout-prescription-tags { margin-top: 2px; }
.workout-board .workout-prescription-tags span { padding: 0; background: transparent; border-radius: 0; color: #4e3858; font-size: 14px; line-height: 1.5; }
.workout-board-empty { margin: 0; font-size: 16px; color: #63526b; line-height: 1.5; }
.workout-weights-prompt { margin: 14px 0 20px; padding: 20px; border: 1px solid #c9c3e1; border-radius: 14px; background: #eeefff; }
.workout-weights-prompt > strong { color: var(--ink); font-size: 20px; }
.workout-weights-prompt p { margin: 8px 0 16px; color: #5e4868; font-size: 16px; }
.workout-weights-prompt > div { display: flex; flex-wrap: wrap; gap: 10px; }
.workout-weights-prompt button { min-height: 44px; }
.workout-result-panel { flex-wrap: wrap; }
.workout-result-panel > span { font-size: 14px; line-height: 1.4; }
.workout-result-panel > button { margin-left: auto; }
.workout-weights-prompt[hidden], .workout-result-panel button[hidden], .workout-social-section button[hidden], .workout-board-tools button[hidden], .workout-step-actions button[hidden], #import-workout-plan-owner[hidden], #import-workout-plan-trainer[hidden], #import-workout-image[hidden] { display: none; }
.cooldown-builder-row { padding: 16px; border: 1px solid #cddce7; border-radius: 12px; background: #e5f4ff; }
.cooldown-builder-name { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.cooldown-builder-name strong { font-size: 17px; }
.cooldown-builder-row label { display: grid; gap: 7px; color: var(--ink); font-size: 14px; }
.cooldown-builder-row input, .cooldown-builder-row select { width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; border: 1px solid #cdd3df; border-radius: 8px; font-size: 16px; background: white; color: var(--ink); }
.cooldown-builder-name > label { flex: 1; }
.workout-inline-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin-top: 14px; }
.cooldown-builder-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.cooldown-builder-actions button { min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid #cdd3df; border-radius: 8px; background: white; color: var(--ink); font-size: 16px; }
.workout-cooldown-step .workout-prescription-field > input { width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; font-size: 16px; }
.workout-social-section { padding: 18px 0; border-bottom: 1px solid var(--line); margin-bottom: 20px; }
.workout-social-section h3, #workout-share-content > h3 { margin: 0; color: var(--ink); font-size: 19px; }
.workout-social-section p, .workout-share-access-note { font-size: 14px; line-height: 1.5; color: #5e4868; }
.workout-social-images { display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; margin: 16px 0; padding-bottom: 4px; }
.workout-social-images figure { flex: 0 0 min(78%, 250px); margin: 0; scroll-snap-align: start; }
.workout-social-images img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 10px; }
.workout-social-images a { display: flex; margin-top: 8px; justify-content: center; min-height: 44px; text-decoration: none; }
@media (max-width: 480px) {
  .workout-board { padding: 18px 16px; }
  .workout-board .live-workout-exercise { column-gap: 7px; }
  .workout-board .live-workout-result-inputs { grid-template-columns: 1fr; }
  .workout-cooldown-step .workout-step-heading { flex-wrap: wrap; }
}
.workout-step { margin: 24px 0 0; padding: 22px 0 0; border: 0; border-top: 1px solid var(--line); }
.workout-field { display: grid; gap: 9px; }
.workout-field > span, .workout-choice-step legend, .workout-step-heading > div > span { color: var(--ink); font-size: 15px; font-weight: 800; }
.workout-field b, .workout-choice-step legend b, .workout-step-heading b { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-right: 7px; border-radius: 50%; background: var(--ink); color: white; font-size: 12px; }
.workout-field select, .workout-block-field select, .workout-block-field input { width: 100%; min-height: 44px; border: 1px solid #ded5e2; border-radius: 9px; background: white; padding: 9px 11px; color: var(--text); font: inherit; font-size: 14px; }
.workout-choice-step legend { width: 100%; padding: 0; }
.workout-choice-step legend small { float: right; margin-top: 5px; color: var(--muted); font-size: 12px; font-weight: 650; }
.workout-choice-grid, .workout-type-grid { display: grid; gap: 8px; margin-top: 12px; }
.workout-choice-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.workout-type-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workout-choice-grid label, .workout-type-grid label { position: relative; }
.workout-choice-grid input, .workout-type-grid input { position: absolute; opacity: 0; pointer-events: none; }
.workout-choice-grid span, .workout-type-grid span { min-height: 44px; display: grid; place-items: center; padding: 8px; border: 1px solid #ded5e2; border-radius: 9px; color: var(--muted); font-size: 13px; font-weight: 800; cursor: pointer; transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease; }
.workout-choice-grid span:hover, .workout-type-grid span:hover { border-color: #bbaec1; transform: translateY(-1px); }
.workout-choice-grid input:checked + span, .workout-type-grid input:checked + span { border-color: var(--ink); background: var(--ink); color: white; box-shadow: 0 5px 13px rgba(44,14,55,.16); }
.workout-choice-grid input:focus-visible + span, .workout-type-grid input:focus-visible + span { outline: 3px solid rgba(92,122,255,.32); outline-offset: 2px; }
.workout-show-all-row { display: flex; justify-content: flex-end; margin-top: 13px; }
.workout-step-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.workout-step-heading > div { display: grid; gap: 5px; }
.workout-step-heading small { color: var(--muted); font-size: 12px; }
.workout-step-actions { display: flex !important; grid-auto-flow: column; gap: 8px !important; }
.workout-step-actions .outline-btn:disabled { opacity: .4; cursor: not-allowed; }
.workout-prescription-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.workout-prescription-field { display: grid; gap: 7px; min-width: 0; color: var(--ink); font-size: 13px; font-weight: 800; }
.workout-prescription-field[hidden] { display: none; }
.workout-prescription-input { min-height: 50px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border: 1px solid #ded5e2; border-radius: 10px; background: white; overflow: hidden; }
.workout-prescription-input:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(92,122,255,.16); }
.workout-prescription-input input { width: 100%; min-width: 0; height: 48px; padding: 9px 12px; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; font-size: 18px; font-weight: 800; }
.workout-prescription-input input:disabled { color: #aaa1ae; background: #f4f1f5; cursor: not-allowed; }
.workout-prescription-input strong { align-self: stretch; display: grid; place-items: center; min-width: 68px; padding: 0 12px; border-left: 1px solid var(--line); background: var(--soft); color: var(--muted); font-size: 13px; }
.workout-warmup-prescription-grid { margin-bottom: 16px; padding: 14px; border: 1px solid rgba(34,92,80,.15); border-radius: 12px; background: rgba(115,251,211,.07); }
.workout-no-time-cap { width: fit-content; display: inline-flex; align-items: center; gap: 8px; color: var(--text); font-size: 13px; font-weight: 750; cursor: pointer; }
.workout-no-time-cap[hidden] { display: none; }
.workout-no-time-cap input { position: absolute; opacity: 0; pointer-events: none; }
.workout-no-time-cap > span { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #cfc6d3; border-radius: 6px; background: white; color: transparent; font-size: 13px; }
.workout-no-time-cap input:checked + span { border-color: var(--ink); background: var(--ink); color: white; }
.workout-no-time-cap input:focus-visible + span { outline: 3px solid rgba(92,122,255,.32); outline-offset: 2px; }
.workout-filter-bar { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 14px 0 2px; padding: 10px 12px; border-radius: 10px; background: rgba(92,122,255,.07); }
.workout-filter-bar p { margin: 0; color: var(--ink); font-size: 13px; font-weight: 750; }
.workout-warmup-bar { min-height: 38px; display: flex; align-items: center; margin: 14px 0 2px; padding: 8px 12px; border-radius: 10px; background: rgba(115,251,211,.16); }
.workout-warmup-bar p { margin: 0; color: #225c50; font-size: 13px; font-weight: 750; }
.workout-show-all { display: inline-flex; align-items: center; gap: 8px; color: var(--text); font-size: 13px; font-weight: 750; cursor: pointer; white-space: nowrap; }
.workout-show-all input { position: absolute; opacity: 0; pointer-events: none; }
.workout-show-all > span { position: relative; width: 36px; height: 21px; border-radius: 999px; background: #cfc6d3; transition: background .15s ease; }
.workout-show-all > span::after { content: ""; position: absolute; width: 15px; height: 15px; left: 3px; top: 3px; border-radius: 50%; background: white; box-shadow: 0 1px 4px rgba(44,14,55,.2); transition: transform .15s ease; }
.workout-show-all input:checked + span { background: var(--ink); }
.workout-show-all input:checked + span::after { transform: translateX(15px); }
.workout-show-all input:focus-visible + span { outline: 3px solid rgba(92,122,255,.32); outline-offset: 2px; }
.workout-block-list { display: grid; gap: 10px; margin: 16px 0 24px; }
.workout-partner-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.workout-partner-lane{min-width:0;padding:12px;border:1px solid #ded5e2;border-radius:12px;background:#faf8fc;display:grid;gap:10px}
.workout-partner-lane h4{margin:0;font-size:15px;color:var(--ink)}
.workout-partner-lane.drag-over{border-color:#19836d;box-shadow:inset 0 0 0 2px #19836d;background:#eefaf5}
.workout-partner-lane .workout-block{min-width:0}
.workout-partner-help{margin:0 0 10px;color:var(--muted);font-size:13px;grid-column:1/-1}
.workout-partner-choice{display:flex;flex-wrap:wrap;gap:6px}
.workout-partner-choice button{border:1px solid #ded5e2;background:#fff;color:var(--ink);border-radius:8px;min-height:36px;padding:5px 10px;font-weight:700;cursor:pointer}
.workout-partner-choice button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.workout-interruption-fields{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;padding:14px;border:1px solid #ded5e2;border-radius:12px;background:#faf8fc}
.workout-interruption-fields[hidden]{display:none}
.workout-interruption-fields label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.workout-interruption-fields > strong{font-size:14px}
.workout-interruption-fields .workout-partner-choice{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.workout-interruption-fields .workout-partner-choice button{min-height:40px}
.workout-interruption-start{border:1px solid #ded5e2;background:#fff;color:var(--ink);border-radius:8px;min-height:40px;padding:6px 12px;font-weight:700;cursor:pointer}
.workout-interruption-start[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.workout-interruption-fields [hidden]{display:none}
.workout-interruption-fields input[type="number"]{width:70px;min-height:42px;padding:6px;border:1px solid #ded5e2;border-radius:8px}
.workout-interruption-fields small{width:100%;color:var(--muted);line-height:1.4}
.partner-workout .workout-partner-lane{background:transparent}
@media(max-width:700px){.workout-partner-lanes{grid-template-columns:1fr}}
.workout-block-empty { padding: 20px; border: 1px dashed #cfc3d3; border-radius: 12px; color: var(--muted); text-align: center; font-size: 14px; }
.workout-block { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: end; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fbf9fc; transition: border-color .15s ease, opacity .15s ease, transform .15s ease; }
.workout-warmup-block { border-color: rgba(34,92,80,.18); background: rgba(115,251,211,.07); }
.workout-block.dragging { opacity: .45; }
.workout-block.drag-over { border-color: var(--blue); transform: translateY(2px); }
.workout-drag-handle { align-self: stretch; min-height: 58px; border: 0; border-radius: 9px; background: white; color: var(--muted); font-size: 20px; cursor: grab; touch-action: none; }
.workout-drag-handle:active { cursor: grabbing; }
.workout-block-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.workout-block-fields.has-selected-exercise { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workout-block-fields.has-selected-exercise > .workout-selected-exercise { grid-column: 1 / -1; }
.workout-block-field { display: grid; gap: 5px; min-width: 0; color: var(--muted); font-size: 12px; font-weight: 750; }
.workout-effort-mode-field { position: relative; }
.workout-effort-mode-field > label { padding-right: 24px; }
.workout-effort-help { position: absolute; z-index: 20; top: -5px; right: 0; }
.workout-effort-help summary { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #cfc3d3; border-radius: 50%; background: white; color: var(--ink); font-size: 12px; font-weight: 900; line-height: 1; list-style: none; cursor: pointer; }
.workout-effort-help summary::-webkit-details-marker { display: none; }
.workout-effort-help summary:hover,
.workout-effort-help summary:focus-visible,
.workout-effort-help[open] summary { border-color: var(--ink); background: var(--ink); color: white; outline: none; }
.workout-effort-help summary:focus-visible { box-shadow: 0 0 0 3px rgba(92,122,255,.2); }
.workout-effort-help-card { position: absolute; z-index: 21; top: 29px; right: 0; width: 300px; padding: 14px; border: 1px solid #d8cfdd; border-radius: 12px; background: white; box-shadow: 0 14px 34px rgba(44,14,55,.2); color: var(--text); font-size: 12px; font-weight: 600; line-height: 1.4; }
.workout-effort-help-card > strong { display: block; color: var(--ink); font-size: 14px; }
.workout-effort-help-card p { margin: 5px 0 10px; color: var(--muted); }
.workout-effort-help-card table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.workout-effort-help-card th,
.workout-effort-help-card td { padding: 5px 6px; border-bottom: 1px solid var(--line); text-align: left; }
.workout-effort-help-card th { color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.workout-effort-help-card td:first-child,
.workout-effort-help-card td:nth-child(2) { color: var(--ink); font-weight: 850; }
.workout-effort-help-card small { display: block; margin-top: 9px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.workout-inline-value { min-height: 44px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; overflow: hidden; border: 1px solid #ded5e2; border-radius: 9px; background: white; }
.workout-inline-value:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(92,122,255,.13); }
.workout-inline-value input { min-width: 0; width: 100%; height: 42px; padding: 8px 9px; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; font-size: 14px; font-weight: 750; }
.workout-inline-value input:disabled { background: #f4f1f5; color: #aaa1ae; }
.workout-inline-value b { align-self: stretch; min-width: 38px; padding: 0 7px; display: grid; place-items: center; border-left: 1px solid var(--line); background: var(--soft); color: var(--muted); font-size: 11px; }
.workout-block-actions { display: flex; gap: 5px; }
.workout-block-actions button { width: 36px; height: 44px; padding: 0; border: 1px solid #ded5e2; border-radius: 9px; background: white; color: var(--ink); font-size: 16px; font-weight: 800; }
.workout-block-actions button:disabled { opacity: .35; }
.workout-block-actions .remove-workout-block,
.workout-block-actions .remove-warmup-block { width: auto; padding: 0 10px; color: #a51d57; font-size: 12px; }
.exercise-picker-dialog { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: var(--soft); color: var(--text); }
.exercise-picker-dialog::backdrop { background: rgba(30,10,37,.72); backdrop-filter: blur(5px); }
.exercise-picker-shell { width: min(1240px, 100%); min-height: 100%; margin: 0 auto; padding: 0 clamp(20px, 4vw, 54px); }
.exercise-picker-header { position: sticky; top: 0; z-index: 2; min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 0 14px; border-bottom: 1px solid var(--line); background: rgba(247,244,248,.96); backdrop-filter: blur(12px); }
.exercise-picker-header .eyebrow { margin-bottom: 5px; }
.exercise-picker-header h2 { margin: 0; color: var(--ink); font-size: clamp(27px, 4vw, 40px); line-height: 1; letter-spacing: -.045em; }
.exercise-picker-close { flex: 0 0 auto; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; background: white; color: var(--ink); font-size: 30px; line-height: 1; }
.exercise-picker-close:hover { border-color: #bbaec1; background: #fbf9fc; }
.exercise-picker-tools { display: grid; gap: 7px; margin: 26px 0; }
.exercise-picker-tools[hidden] { display: none; }
.exercise-picker-tools label { color: var(--ink); font-size: 14px; font-weight: 800; }
.exercise-picker-tools input { width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid #d8cfdd; border-radius: 12px; background: white; color: var(--text); font-size: 16px; }
#exercise-picker-registry-filters:not([hidden]) { display: grid; gap: 8px; min-width: 0; }
.registry-filter-label { color: var(--ink); font-size: 13px; font-weight: 800; }
#exercise-picker-equipment { display: flex; gap: 7px; overflow-x: auto; padding: 2px 0 8px; scrollbar-width: thin; }
#exercise-picker-equipment button, .registry-choice-group button, .registry-time-presets button { flex: 0 0 auto; min-height: 40px; padding: 8px 13px; border: 1px solid #d8cfdd; border-radius: 999px; background: white; color: var(--ink); font: inherit; font-weight: 700; cursor: pointer; }
#exercise-picker-equipment button[aria-pressed="true"], .registry-choice-group button[aria-pressed="true"], .registry-time-presets button[aria-pressed="true"] { border-color: #19836d; background: #ecfaf5; color: #146a59; }
.exercise-picker-content { display: grid; gap: 30px; padding-bottom: 24px; }
.exercise-picker-group { display: grid; gap: 12px; }
.exercise-picker-group h3 { margin: 0; color: var(--ink); font-size: 15px; letter-spacing: -.01em; }
.exercise-picker-group-note { max-width: 720px; margin: -5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.linked-main-group { padding: 18px; border: 1px solid rgba(34,92,80,.18); border-radius: 16px; background: rgba(115,251,211,.09); }
.exercise-picker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.exercise-pick-choice { display: grid; gap: 8px; min-width: 0; }
.exercise-pick-choice > .exercise-pick-card { width: 100%; }
.exercise-pick-choice > [data-picker-max-mode][aria-pressed="true"] { border-color: var(--ink); background: var(--ink); color: white; }
.exercise-pick-card { min-height: 104px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 15px; border: 1px solid #ddd4e1; border-radius: 13px; background: white; color: var(--text); text-align: left; box-shadow: 0 4px 12px rgba(44,14,55,.04); transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.exercise-pick-card:hover { border-color: var(--ink); box-shadow: 0 8px 20px rgba(44,14,55,.1); transform: translateY(-2px); }
.exercise-pick-card.selected { border-color: var(--ink); background: rgba(115,251,211,.22); box-shadow: inset 0 0 0 1px var(--ink), 0 8px 20px rgba(44,14,55,.08); }
.exercise-pick-card strong { width: 100%; color: var(--ink); font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
.exercise-pick-card span { color: var(--muted); font-size: 12px; font-weight: 700; }
.exercise-pick-card.selected span { color: #225c50; font-weight: 850; }
.registry-exercise-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 390px), 1fr)); gap: 18px; }
.registry-exercise-card { min-height: 238px; display: grid; align-content: start; gap: 19px; padding: 22px; border-radius: 20px; box-shadow: 0 12px 28px rgba(44,14,55,.06); }
.registry-exercise-card.selected { background: #f1fff9; border-color: #188066; box-shadow: inset 0 0 0 1px #188066, 0 12px 28px rgba(24,128,102,.1); }
.registry-exercise-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.registry-exercise-toggle { display: flex; align-items: start; gap: 12px; width: 100%; padding: 0; border: 0; background: none; color: var(--ink); text-align: left; font: inherit; cursor: pointer; }
.registry-exercise-card .registry-exercise-toggle strong { flex: 1; font-size: 20px; line-height: 1.2; letter-spacing: -.025em; }
.registry-exercise-indicator { flex: 0 0 30px; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #cfc3d3; border-radius: 50%; background: white; color: var(--ink); font-size: 20px; line-height: 1; }
.registry-exercise-card.selected .registry-exercise-indicator { border-color: #188066; background: #188066; color: white; }
.registry-exercise-card .registry-exercise-meta { flex: 0 0 auto; margin-top: 5px; color: #6d5972; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.registry-exercise-controls { display: flex; flex-wrap: wrap; gap: 12px; }
.registry-exercise-controls .registry-choice-group { display: grid; gap: 7px; min-width: 0; }
.registry-exercise-controls .registry-choice-group > strong { font-size: 12px; color: #5d4c65; }
.registry-exercise-controls .registry-choice-group > div { display: flex; flex-wrap: wrap; gap: 7px; }
.registry-time-presets { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 22px 16px; }
.registry-time-custom { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 0 22px 20px; font-size: 14px; font-weight: 750; }
.registry-time-custom input { width: 110px; min-height: 42px; padding: 8px 10px; border: 1px solid #d1cbd4; border-radius: 9px; font: inherit; }
#registry-custom-section { padding: 20px; border: 1px solid #d8cfdd; border-radius: 18px; background: #fff; }
#registry-custom-open { justify-self: start; }
#registry-custom-form { display: grid; gap: 16px; }
#registry-custom-form[hidden] { display: none; }
#registry-custom-form > label { display: grid; gap: 6px; font-size: 14px; font-weight: 750; }
#registry-custom-form > label input, #registry-custom-form details input { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid #d8cfdd; border-radius: 10px; font: inherit; }
#registry-custom-form details summary { cursor: pointer; font-weight: 750; }
#registry-custom-form details label { display: grid; gap: 7px; margin-top: 10px; }
#registry-custom-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
#registry-custom-form legend { margin-bottom: 7px; color: var(--ink); font-size: 14px; font-weight: 800; }
#registry-custom-form fieldset > div { display: flex; flex-wrap: wrap; gap: 7px; max-height: 160px; overflow-y: auto; }
#registry-custom-form fieldset label { position: relative; cursor: pointer; }
#registry-custom-form fieldset input { position: absolute; width: 1px; height: 1px; opacity: 0; }
#registry-custom-form fieldset span { display: block; min-height: 40px; padding: 8px 13px; border: 1px solid #d8cfdd; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 750; }
#registry-custom-form fieldset input:checked + span { border-color: #19836d; background: #ecfaf5; color: #146a59; }
#registry-custom-form fieldset input:focus-visible + span, .registry-choice-group button:focus-visible, .registry-time-presets button:focus-visible, #exercise-picker-equipment button:focus-visible { outline: 3px solid #5c7aff; outline-offset: 2px; }
.registry-reps { display: grid; gap: 10px; padding-top: 15px; border-top: 1px solid #e9e2eb; }
.registry-reps > span { color: var(--ink); font-size: 13px; font-weight: 850; }
.registry-reps-grid { display: flex; flex-wrap: wrap; gap: 7px; }
.registry-reps-grid button { flex: 0 0 40px; width: 40px; height: 40px; padding: 0; border: 1px solid #d6cadd; border-radius: 50%; background: white; color: var(--ink); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease; }
.registry-reps-grid button:hover { border-color: var(--ink); transform: translateY(-2px); }
.registry-reps-grid button[aria-pressed="true"] { border-color: var(--ink); background: var(--ink); color: white; }
.registry-reps-grid .registry-custom-open { flex: 1 1 170px; width: auto; min-width: 170px; padding: 0 12px; border-radius: 999px; }
.workout-edit-reps{grid-column:1/-1;gap:12px;min-width:0}
.workout-edit-reps .registry-reps-grid{min-width:0}
.workout-custom-reps{display:grid;gap:6px;width:min(100%,220px);color:var(--muted);font-size:13px;font-weight:700}
.workout-custom-reps input{width:100%;min-width:0}
.registry-custom-reps { display: flex; gap: 8px; align-items: end; flex-wrap: wrap; }
.registry-custom-reps[hidden] { display: none; }
.registry-custom-reps label { display: grid; gap: 5px; font-size: 13px; font-weight: 700; }
.registry-custom-reps input { width: 135px; padding: 9px 12px; border: 1px solid #d6cadd; border-radius: 9px; font: inherit; }
.registry-custom-reps button, .exercise-arrange-repeat { padding: 10px 14px; border-radius: 9px; border: 1px solid #19836d; background: #ecfaf5; color: #146a59; font: inherit; font-weight: 700; cursor: pointer; }
.exercise-arrange-repeat { margin-top: 14px; width: 100%; }
.workout-run-rounds-row { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 11px 14px; border: 1px solid #cde6dc; border-radius: 10px; background: #f2fbf7; }
.workout-run-rounds-toggle, .workout-run-rounds-value { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; }
.workout-run-rounds-toggle input { width: 18px; height: 18px; accent-color: #19836d; }
.workout-run-rounds-value input { width: 85px; min-width: 0; padding: 7px; border: 1px solid #d6cadd; border-radius: 8px; font: inherit; }


.registry-exercise-toggle:focus-visible, .registry-reps-grid button:focus-visible { outline: 3px solid #5c7aff; outline-offset: 3px; }
.exercise-arrange-actions { flex-wrap: wrap; justify-content: flex-end; max-width: 215px; }
.exercise-arrange-actions .exercise-arrange-copy { width: auto; padding: 0 10px; font-size: 12px; }
.exercise-picker-empty { padding: 42px 20px; border: 1px dashed #cfc3d3; border-radius: 14px; background: white; color: var(--muted); text-align: center; }
.exercise-picker-footer { position: sticky; bottom: 0; z-index: 3; min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 0 18px; border-top: 1px solid var(--line); background: rgba(247,244,248,.97); backdrop-filter: blur(12px); }
.exercise-picker-footer[hidden] { display: none; }
.exercise-picker-footer > strong { color: var(--ink); font-size: 14px; }
.exercise-picker-footer > #exercise-picker-status:not([hidden]) { position:absolute; bottom:100%; left:0; right:0; margin:0; padding:12px 16px; border:1px solid #e6b39e; border-radius:10px 10px 0 0; background:#fff3eb; color:#71341a; font-size:14px; font-weight:700; }
.exercise-picker-footer .primary-btn { min-width: 180px; }
.exercise-picker-footer-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.exercise-picker-footer-actions button[hidden] { display: none; }
.exercise-picker-footer-actions .outline-btn { min-height: 44px; white-space: nowrap; }
.exercise-picker-footer .primary-btn:disabled { opacity: .4; box-shadow: none; cursor: not-allowed; transform: none; }
.exercise-arrange-view { display: grid; gap: 18px; margin-top: 26px; }
.exercise-arrange-intro h3 { margin: 0; color: var(--ink); font-size: 20px; }
.exercise-arrange-intro p { margin: 5px 0 0; color: var(--muted); font-size: 14px; }
.exercise-arrange-list { display: grid; gap: 10px; }
.exercise-arrange-card { display: grid; grid-template-columns: 44px 32px minmax(0, 1fr) auto; align-items: start; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: white; transition: border-color .15s ease, opacity .15s ease, transform .15s ease, box-shadow .15s ease; }
.exercise-arrange-card.dragging { opacity: .45; }
.exercise-arrange-card.drag-over { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue), 0 8px 18px rgba(92,122,255,.12); transform: translateY(2px); }
.exercise-arrange-drag { align-self: stretch; min-height: 88px; border: 0; border-radius: 9px; background: var(--soft); color: var(--muted); font-size: 20px; cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; }
.exercise-arrange-drag:active { cursor: grabbing; }
.exercise-arrange-card > b { width: 29px; height: 29px; display: grid; place-items: center; margin-top: 4px; border-radius: 50%; background: var(--ink); color: white; font-size: 12px; }
.exercise-arrange-main { min-width: 0; display: grid; }
.exercise-arrange-card small { color: var(--muted); font-size: 11px; font-weight: 700; }
.exercise-arrange-card strong { margin-top: 2px; color: var(--ink); font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
.exercise-arrange-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.exercise-arrange-field { display: grid; gap: 4px; color: var(--muted); font-size: 11px; font-weight: 750; }
.exercise-arrange-field input,
.exercise-arrange-field select { width: 100%; min-height: 40px; padding: 7px 9px; border: 1px solid #d8cfdd; border-radius: 8px; background: white; color: var(--text); font: inherit; font-size: 14px; font-weight: 750; }
.exercise-arrange-actions { align-self: center; display: flex; gap: 5px; }
.exercise-arrange-actions button { width: 40px; height: 42px; padding: 0; border: 1px solid #ded5e2; border-radius: 9px; background: white; color: var(--ink); font-size: 17px; font-weight: 800; }
.exercise-arrange-actions .exercise-arrange-remove { width: auto; padding: 0 11px; color: #a51d57; font-size: 12px; }
.exercise-arrange-actions button:disabled { opacity: .3; }
.workout-selected-exercise { min-height: 58px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-content: center; gap: 2px 10px; padding: 8px 11px; border: 1px solid #ded5e2; border-radius: 9px; background: white; }
.workout-selected-exercise small { grid-column: 1; color: var(--muted); font-size: 11px; font-weight: 700; }
.workout-selected-exercise strong { grid-column: 1; color: var(--ink); font-size: 14px; line-height: 1.25; overflow-wrap: anywhere; }
.workout-selected-exercise button { grid-column: 2; grid-row: 1 / 3; align-self: center; min-height: 36px; padding: 5px 9px; border: 1px solid #d8cfdd; border-radius: 8px; background: white; color: var(--ink); font-size: 12px; font-weight: 800; }
.booking-summary { display: flex; justify-content: space-between; align-items: center; background: var(--soft); border-radius: 10px; padding: 14px; margin: 20px 0; }
.booking-summary div span, .booking-summary div strong { display: block; }
.booking-summary div span { color: var(--muted); font-size: 11px; }
.booking-summary div strong { font-size: 14px; margin-top: 2px; }
.my-booking-list { display: grid; gap: 12px; max-height: min(58vh, 520px); margin: 20px -5px 20px 0; padding: 0 5px 4px 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.booking-swipe-row { position: relative; overflow: hidden; border-radius: 10px; touch-action: pan-y; }
.booking-cancel-action { position: absolute; z-index: 0; inset: 0 0 0 auto; width: 94px; border: 0; border-radius: 0 10px 10px 0; background: #a51d57; color: white; font: inherit; font-size: 13px; font-weight: 850; cursor: pointer; }
.booking-cancel-action:focus-visible { outline: 3px solid #5c7aff; outline-offset: -4px; }
.my-booking-summary { position: relative; z-index: 1; width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: flex-start; gap: 14px 18px; margin: 0; padding: 18px; background: #73fbd3; border: 1px solid #44e5e7; box-shadow: 0 10px 24px rgba(92,122,255,.16); transition: transform .2s ease; }
.booking-swipe-row.cancel-revealed .my-booking-summary { transform: translateX(-94px); }
.my-booking-summary > div { min-width: 0; }
.booking-session-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 10px; }
.my-booking-summary .booking-session-title { margin: 0; color: #2c0e37; font-size: 20px; line-height: 1.12; letter-spacing: -.025em; }
.my-booking-summary .booking-session-time { margin-top: 7px; color: #2c0e37; font-size: 14px; line-height: 1.35; font-weight: 750; display: flex; flex-wrap: wrap; gap: 2px 10px; }
.my-booking-summary .booking-session-time b { white-space: nowrap; font: inherit; font-variant-numeric: tabular-nums; }
.my-booking-summary .booking-session-context { display: block; margin-top: 5px; color: rgba(44,14,55,.68); font-size: 12px; line-height: 1.35; }
.my-booking-summary .pass-left { flex: 0 0 auto; padding: 2px 0; color: #2c0e37; background: transparent; border: 0; font-size: 13px; line-height: 1.35; font-weight: 800; }
.my-booking-summary .pass-left.waiting { color: #690375; }
.booking-card-side { display: grid; justify-items: end; gap: 10px; }
.booking-workout-btn { min-height: 34px; padding: 6px 10px; border: 1px solid var(--ink); border-radius: 8px; background: var(--ink); color: white; font: inherit; font-size: 11px; font-weight: 850; white-space: nowrap; }
.booking-workout-btn:hover { background: var(--ink-2); }
.booking-empty { margin: 20px 0; padding: 28px 18px; border: 1px dashed rgba(44,14,55,.22); border-radius: 10px; text-align: center; }
.booking-empty strong, .booking-empty span { display: block; }
.booking-empty strong { color: var(--ink); font-size: 16px; }
.booking-empty span { margin-top: 5px; color: var(--muted); font-size: 13px; }
.pass-left { color: #225c50; background: #ddfff5; border-radius: 999px; padding: 5px 9px; font-size: 10px; font-weight: 750; }
.check-line { display: grid; grid-template-columns: 18px 1fr; align-items: start; gap: 9px; margin: 18px 0; color: var(--muted); font-size: 11px; }
.check-line input { width: 17px; height: 17px; accent-color: var(--accent); }
.dialog-footnote { margin: 10px 0 0; text-align: center; color: var(--muted); font-size: 11px; line-height: 1.4; }
.dialog-secondary-action { background: var(--soft); color: var(--ink); border-color: #d8cfdd; box-shadow: none; }
#simple-dialog[data-kind="bookings"] .eyebrow { color: #690375; }
#simple-dialog[data-kind="bookings"] h2 { color: #2c0e37; }
#simple-dialog[data-kind="bookings"] .dialog-secondary-action { background: #f7f4f8; color: #2c0e37; border-color: rgba(44,14,55,.16); }
#simple-dialog[data-kind="training"] .dialog-card { max-height: calc(100dvh - 28px); overflow-y: auto; overscroll-behavior: contain; }
.purchase-total { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 17px 0; margin: 20px 0; display: flex; justify-content: space-between; align-items: center; }
.purchase-total span { color: #5f5265; font-size: 13px; font-weight: 650; }
.purchase-total strong { color: var(--ink); font-size: 28px; }
.bank-fieldset { border: 0; padding: 0; margin: 0 0 20px; }
.bank-fieldset legend { margin-bottom: 8px; font-size: 11px; font-weight: 700; color: #5f5265; }
.bank-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bank-grid label input { position: absolute; opacity: 0; pointer-events: none; }
.bank-grid label span { min-height: 46px; display: grid; place-items: center; border: 1px solid #ded5e2; border-radius: 9px; font-size: 12px; font-weight: 750; }
.bank-grid label input:checked + span { border-color: var(--accent); background: #eef0ff; color: var(--ink); box-shadow: inset 0 0 0 1px var(--accent); }
.simple-content { display: grid; gap: 12px; margin: 22px 0; }
.simple-content .form-row { margin: 0; }
.simple-content .form-label { margin: 0; }
.context-card { width: min(500px, calc(100vw - 28px)); }
.context-list { display: grid; gap: 8px; margin-top: 22px; }
.context-group-label { margin: 13px 4px 2px; color: var(--muted); font-size: 9px; letter-spacing: .11em; font-weight: 850; }
.context-option { width: 100%; min-height: 66px; display: grid; grid-template-columns: 42px 1fr 24px; align-items: center; gap: 13px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; background: white; color: var(--text); text-align: left; }
.context-option:hover { border-color: #c6bacb; background: #fbf9fc; }
.context-option.active { border-color: var(--accent); background: #f3f4ff; box-shadow: inset 0 0 0 1px var(--accent); }
.context-avatar { width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; color: white; font-size: 11px; font-weight: 900; }
.context-avatar.personal { border-radius: 50%; background: var(--ink); }
.context-option > span:nth-child(2) { display: flex; flex-direction: column; }
.context-option strong { color: var(--ink); font-size: 14px; }
.context-option small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.context-option > b { color: var(--muted); text-align: center; }
.context-option.active > b { color: var(--accent); }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 60; min-width: 320px; background: var(--ink); color: white; border-radius: 12px; padding: 15px 18px; display: flex; align-items: center; gap: 12px; box-shadow: 0 16px 44px rgba(0,0,0,.28); opacity: 0; transform: translateY(20px); pointer-events: none; transition: .25s ease; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast.error { top: 24px; bottom: auto; max-width: min(560px, calc(100vw - 28px)); pointer-events: auto; align-items: flex-start; }
.toast.error > span { background: #fbd5df; color: #8d1f42; }
.toast.error #toast-dismiss { margin-left: auto; border: 0; background: transparent; color: white; font: inherit; font-size: 22px; cursor: pointer; }
.toast > span { width: 28px; height: 28px; display: grid; place-items: center; background: var(--mint); color: var(--ink); border-radius: 50%; font-size: 12px; font-weight: 900; }
.toast strong, .toast p { display: block; margin: 0; }
.toast strong { font-size: 13px; }
.toast p { color: #d5cad9; font-size: 12px; line-height: 1.35; margin-top: 3px; }

@media (max-width: 1040px) {
  .site-header { grid-template-columns: 1fr auto; }
  .main-nav { display: none; }
  .club-intro { grid-template-columns: 1fr; gap: 32px; }
  .next-session { max-width: 580px; }
  .session-card { grid-template-columns: 90px 5px 1fr .8fr auto; gap: 16px; }
  .session-detail.location { display: none; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .invoice-row { grid-template-columns: .65fr 1fr 1fr .55fr .6fr auto; gap: 11px; }
  .product-grid { grid-template-columns: 1fr; }
  .club-switch-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 800px) {
  .demo-ribbon { font-size: 10px; }
  .site-header { height: 68px; padding-inline: 16px; }
  .brand-copy small, .view-switch .switch-btn:first-child { display: none; }
  .view-switch { display: none; }
  .switch-btn { border: 1px solid var(--line); background: white; }
  .switch-btn.active { display: none; }
  .client-shell { padding: 22px 14px 60px; }
  .club-intro { min-height: 0; padding: 30px 24px 46px; border-radius: 18px; }
  .club-intro h1 { font-size: 39px; }
  .next-session { grid-template-columns: 10px minmax(0, 1fr) auto; gap: 8px 12px; padding: 16px; }
  .next-session .pulse-dot { grid-row: 1 / 3; }
  .next-date { grid-column: 2; grid-row: 1; }
  .next-name { grid-column: 2; grid-row: 2; }
  .next-session .primary-btn { grid-column: 3; grid-row: 1 / 3; }
  .member-card { width: calc(100% - 28px); margin: -24px 14px 38px; }
  .calendar-toolbar { margin-top: 20px; }
  .date-strip { overflow-x: auto; grid-template-columns: repeat(7, 72px); padding-bottom: 6px; }
  .date-chip { min-height: 70px; }
  .session-card { grid-template-columns: 68px 4px 1fr auto; padding: 14px; min-height: 96px; gap: 11px; }
  .session-time strong { font-size: 21px; }
  .session-detail, .spots { display: none; }
  .session-action { min-width: 98px; padding-inline: 10px; }
  .pass-grid, .coach-grid { grid-template-columns: 1fr; }
  .passes-section, .coaches-section { margin-top: 60px; }
  .section-heading { align-items: start; }
  .section-note { display: none; }
  .admin-shell { display: block; }
  .admin-sidebar { min-height: auto; padding: 8px 12px; position: sticky; top: 68px; z-index: 10; }
  .club-mini, .sidebar-footer { display: none; }
  .admin-nav { display: flex; gap: 6px; padding: 0; overflow-x: auto; }
  .admin-nav-btn { min-height: 40px; flex: 0 0 auto; padding: 8px 11px; }
  .admin-nav-btn span { display: none; }
  .admin-content { padding: 25px 14px 60px; }
  .workout-block-fields,
  .workout-block-fields.has-selected-exercise { grid-template-columns: repeat(3, minmax(92px, 1fr)); }
  .exercise-arrange-fields { grid-template-columns: repeat(3, minmax(92px, 1fr)); }
  .admin-topbar { align-items: start; }
  .admin-topbar .outline-btn { display: none; }
  .admin-actions .primary-btn { white-space: nowrap; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .metric-card { padding: 16px; }
  .metric-card > strong { font-size: 25px; }
  .admin-grid, .settings-grid { grid-template-columns: 1fr; }
  .trainer-session-card { grid-template-columns: 64px 5px minmax(0, 1fr) auto; gap: 12px; padding: 16px; }
  .training-table, .booking-table, .invoice-table { overflow-x: auto; }
  .table-row { min-width: 780px; }
  .booking-row { min-width: 720px; }
  .invoice-row { min-width: 820px; }
  .invoice-metric-grid { grid-template-columns: repeat(3, 1fr); }
  .search-row label { min-width: 0; flex: 1; }
  .team-member { grid-template-columns: 46px 1fr 30px; }
  .team-member .status { display: none; }
  .billing-card { align-items: start; flex-direction: column; }
  .club-switch-grid { grid-template-columns: 1fr; }
  .ownership-card { align-items: start; flex-direction: column; }
}

@media (max-width: 520px) {
  .site-header { gap: 10px; }
  .brand-mark { width: 38px; height: 38px; }
  .brand-copy strong { font-size: 17px; }
  .header-actions { gap: 0; min-width: 0; }
  .context-button { min-width: 0; width: auto; max-width: 176px; min-height: 42px; height: 42px; padding: 0 11px 0 0; border: 1px solid var(--line); border-radius: 22px; background: white; color: var(--text); display: grid; grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: 1fr 1fr; column-gap: 9px; overflow: hidden; box-shadow: 0 4px 14px rgba(44,14,55,.08); }
  .context-button > span { display: block; grid-column: 2; grid-row: 1; align-self: end; color: var(--muted); font-size: 7px; line-height: 1; letter-spacing: .08em; font-weight: 850; white-space: nowrap; }
  .context-button > strong { display: block; grid-column: 2; grid-row: 2; align-self: start; margin-top: 3px; color: var(--ink); font-size: 10px; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .context-button > b { display: none; }
  .context-button::after { content: "VK"; position: static; grid-column: 1; grid-row: 1 / 3; width: 42px; height: 42px; padding-bottom: 1px; display: grid; place-items: center; background: var(--ink); color: white; border-radius: 50%; font-size: 11px; font-weight: 850; line-height: 1; letter-spacing: 0; }
  .calendar-toolbar > span { display: none; }
  .calendar-view-switch { width: 100%; }
  .calendar-view-switch button { min-width: 0; }
  .month-calendar { padding: 9px; }
  .month-weekdays, .month-days { gap: 3px; }
  .month-day { min-height: 50px; padding: 6px 5px; }
  .month-day small { margin-top: 7px; font-size: 8px; }
  .my-booking-summary { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; padding: 16px; }
  .my-booking-summary .booking-session-time { gap: 2px 8px; }
  .club-intro h1 { font-size: 34px; }
  .intro-copy { font-size: 14px; }
  .next-session .primary-btn { padding-inline: 11px; }
  .section-heading h2 { font-size: 28px; }
  .section-heading .outline-btn { padding-inline: 10px; }
  .session-card { grid-template-columns: 56px 4px 1fr; }
  .session-action { grid-column: 1 / 4; width: 100%; }
  .metric-grid { grid-template-columns: 1fr; }
  .invoice-metric-grid { grid-template-columns: 1fr; }
  .invoice-list-head { align-items: flex-start; flex-direction: column; }
  .invoice-list-head > span { text-align: left; }
  .client-invoice-list { border: 0; gap: 9px; overflow: visible; }
  .client-invoice-row { min-width: 0; grid-template-columns: 1fr auto; gap: 8px 12px; border: 1px solid var(--line); border-radius: 10px; }
  .client-invoice-row > span:nth-child(2) { grid-column: 1; }
  .client-invoice-row > strong { grid-column: 2; grid-row: 1; }
  .client-invoice-row > .status { grid-column: 1; }
  .client-invoice-row > .invoice-open-btn { grid-column: 2; grid-row: 2 / 4; }
  .invoice-dates, .invoice-parties { grid-template-columns: 1fr; }
  .trainer-session-card { grid-template-columns: 58px 4px minmax(0, 1fr); }
  .trainer-session-actions { grid-column: 1 / 4; width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) repeat(4, auto); }
  .trainer-session-actions .participant-trigger { width: 100%; min-width: 0; }
  .trainer-panel-header { align-items: flex-start; flex-direction: column; }
  .trainer-panel-actions { width: 100%; align-items: flex-start; flex-direction: column; }
  .trainer-action-buttons { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .trainer-action-buttons button { width: 100%; padding-inline: 9px; }
  .trainer-action-buttons #shared-workouts { grid-column: 1 / 3; }
  .workout-builder-card { padding: 26px 18px; }
  .workout-builder-tools { display: grid; grid-template-columns: 1fr 1fr; }
  .workout-import-card,
  .workout-share-card { padding: 26px 18px; }
  .workout-import-upload-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .workout-import-text-actions { align-items: flex-start; flex-direction: column; }
  .workout-import-text-actions .outline-btn { width: 100%; }
  .workout-import-meta { grid-template-columns: 1fr 1fr; }
  .workout-import-row { grid-template-columns: 70px minmax(0, 1fr) 40px; align-items: end; }
  .workout-import-row .workout-import-status { grid-column: 1 / 4; justify-self: start; }
  .workout-import-row .workout-import-name { grid-column: 1 / 4; grid-row: 2; }
  .workout-import-row .workout-import-target { grid-column: 1; grid-row: 3; }
  .workout-import-row .workout-import-unit { grid-column: 2; grid-row: 3; }
  .workout-import-row .workout-import-phase { grid-column: 1 / 4; grid-row: 4; }
  .workout-import-row .workout-import-remove { grid-column: 3; grid-row: 3; }
  .workout-import-final-actions { align-items: stretch; flex-direction: column; }
  .workout-import-final-actions .primary-btn { width: 100%; }
  .workout-share-link { grid-template-columns: 1fr; }
  .workout-share-link .outline-btn { width: 100%; }
  .workout-share-actions { grid-template-columns: 1fr; }
  .shared-workout-card-actions { grid-template-columns: 1fr 1fr; }
  .shared-workout-card-actions select { grid-column: 1 / 3; }
  .workout-run-card { padding: 26px 18px; }
  .live-workout-timer { min-height: 164px; margin-top: 20px; padding: 20px 14px; }
  .live-workout-timer > strong { font-size: 58px; }
  .live-workout-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .live-workout-actions button { width: 100%; }
  .live-workout-actions .outline-btn { grid-column: 1 / 3; }
  .live-workout-actions .primary-btn:only-child,
  .live-workout-actions .danger-btn:only-child { grid-column: 1 / 3; }
  .live-workout-section-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .live-workout-section-heading span { text-align: left; }
  .live-workout-exercise { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; padding: 13px; }
  .live-workout-weight { grid-column: 2; width: 100%; }
  .live-workout-weight.recorded { text-align: left; }
  .live-workout-result-inputs { grid-column: 2; width: 100%; }
  .live-workout-effort.recorded { text-align: left; }
  .live-workout-adjustment-actions { grid-column: 2; width: 100%; }
  .workout-result-panel { align-items: flex-start; flex-direction: column; gap: 4px; }
  .workout-result-panel span { text-align: left; }
  .workout-choice-grid, .workout-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workout-prescription-grid { grid-template-columns: 1fr; }
  .workout-choice-step legend small { float: none; display: block; margin: 8px 0 0 32px; }
  .workout-show-all-row { justify-content: flex-start; }
  .workout-step-heading { align-items: flex-start; flex-direction: column; }
  .workout-step-heading .outline-btn { width: 100%; }
  .workout-step-actions { width: 100%; display: grid !important; grid-template-columns: 1fr 1fr; grid-auto-flow: row; }
  .workout-filter-bar { align-items: flex-start; flex-direction: column; }
  .workout-block { grid-template-columns: 36px minmax(0, 1fr); align-items: start; gap: 10px; padding: 12px; }
  .workout-drag-handle { min-height: 100%; }
  .workout-block-fields { grid-template-columns: 1fr 1fr; }
  .workout-block-fields.has-selected-exercise { grid-template-columns: 1fr 1fr; }
  .workout-block-fields.has-selected-exercise .workout-selected-exercise { grid-column: 1 / 3; }
  .workout-effort-help-card { position: fixed; top: auto; right: 14px; bottom: 92px; left: 14px; width: auto; transform: none; }
  .workout-block-actions { grid-column: 2; justify-content: flex-end; }
  .exercise-picker-shell { padding: 0 14px; }
  .exercise-picker-header { min-height: 80px; }
  .exercise-picker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .registry-exercise-grid { grid-template-columns: 1fr; gap: 13px; }
  .registry-exercise-card { min-height: 0; padding: 19px; }
  .registry-exercise-card .registry-exercise-toggle strong { font-size: 18px; }
  .registry-reps-grid button { flex-basis: 42px; width: 42px; height: 42px; }
  .exercise-pick-card { min-height: 112px; padding: 13px; }
  .exercise-pick-card strong { font-size: 14px; }
  .exercise-picker-footer { min-height: 76px; gap: 10px; padding: 11px 0 13px; }
  .exercise-picker-footer > strong { font-size: 12px; }
  .exercise-picker-footer .primary-btn { min-width: 136px; padding-inline: 12px; }
  .exercise-picker-footer { flex-wrap: wrap; }
  .exercise-picker-footer > strong { flex: 1 1 100%; }
  .exercise-picker-footer-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .exercise-picker-footer-actions button { min-width: 0; white-space: normal; font-size: 12px; }
  .exercise-picker-footer-actions button[hidden] { display: none; }
  .exercise-picker-footer-actions button:disabled:not(#exercise-picker-ready) { display: none; }
  .exercise-picker-footer-actions:has(#exercise-picker-next[hidden]) { grid-template-columns: 1fr; }
  .exercise-picker-content { padding-bottom: 120px; }
  .exercise-arrange-card { grid-template-columns: 40px 29px minmax(0, 1fr); gap: 9px; padding: 11px; }
  .exercise-arrange-fields { grid-template-columns: 1fr 1fr; }
  .exercise-arrange-actions { grid-column: 2 / 4; justify-content: flex-end; max-width: none; }
  .participant-row { grid-template-columns: 38px minmax(0, 1fr); align-items: start; }
  .pass-balance { grid-column: 2; text-align: left; }
  .participant-workout-btn { grid-column: 2; width: 100%; }
  .admin-topbar h1 { font-size: 25px; }
  .admin-topbar .primary-btn { font-size: 0; width: 42px; padding: 0; }
  .admin-topbar .primary-btn::after { content: "+"; font-size: 22px; }
  .form-row { grid-template-columns: 1fr; }
  .dialog-card { padding: 26px 20px; }
  .toast { left: 14px; right: 14px; bottom: 14px; min-width: 0; }
}

@media print {
  body > * { visibility: hidden !important; }
  #simple-dialog[data-kind="invoice"],
  #simple-dialog[data-kind="invoice"] * { visibility: visible !important; }
  #simple-dialog[data-kind="invoice"] { position: absolute; inset: 0; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; background: white; box-shadow: none; }
  #simple-dialog[data-kind="invoice"]::backdrop { display: none; }
  #simple-dialog[data-kind="invoice"] .dialog-card { padding: 0; border-radius: 0; }
  #simple-dialog[data-kind="invoice"] .dialog-close,
  #simple-dialog[data-kind="invoice"] > form > .eyebrow,
  #simple-dialog[data-kind="invoice"] > form > h2,
  #simple-dialog[data-kind="invoice"] .invoice-actions,
  #simple-dialog[data-kind="invoice"] #simple-confirm { display: none !important; }
}
:root { color-scheme: light; }
.legal-footer { padding: 38px max(24px, calc((100% - 1200px)/2)); color: #2c0e37; background: #eeedff; display: grid; grid-template-columns: 1.4fr 1fr; gap: 26px; border-top: 1px solid #ddd5e3; font-size: 14px; }
.legal-footer[hidden] { display: none; }
.legal-footer p { line-height: 1.65; margin: 10px 0; }
.legal-footer a { color: inherit; text-underline-offset: 4px; overflow-wrap: anywhere; }
.legal-footer nav { display: flex; flex-direction: column; gap: 13px; align-items: flex-start; }
.legal-footer small { grid-column: 1/-1; line-height: 1.5; }
.footer-brand { font-size: 22px; font-weight: 800; text-decoration: none; }
.footer-brand span { font-weight: 400; }
.onboarding-entry { margin-top: 14px; font-size: 14px; }
.onboarding-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 20px 0; }
.onboarding-choices button { border: 2px solid #ddd5e3; background: #fff; color: #2c0e37; border-radius: 16px; padding: 18px 12px; cursor: pointer; text-align: left; }
.onboarding-choices button:last-child { grid-column: 1/-1; display: flex; justify-content: space-between; }
.onboarding-choices strong { display: block; font-size: 17px; }
.onboarding-choices span { display: block; font-size: 14px; margin-top: 5px; }
.onboarding-choices button[aria-pressed="true"] { background: #73fbd3; border-color: #2c0e37; }
.onboarding-preview { background: #eeedff; padding: 16px; border-radius: 12px; color: #2c0e37; line-height: 1.5; font-weight: 600; }
.onboarding-card .check-line { align-items: flex-start; line-height: 1.5; }
.onboarding-card .check-line input { margin-top: 5px; flex-shrink: 0; }
.onboarding-card #onboarding-later { margin-top: 14px; }
.check-line a { color: #440381; text-underline-offset: 3px; }
@media(max-width: 600px) { .legal-footer { grid-template-columns: 1fr; padding: 28px 24px; } }

/* Multiple WODs share the exercise editor while retaining separate prescriptions. */
.workout-wod-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.workout-wod-tab{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:135px;max-width:100%;padding:12px 16px;background:var(--surface,#fff);border:1px solid #dedce9;border-radius:12px;color:inherit;text-align:left;cursor:pointer}
.workout-wod-tab strong{overflow-wrap:anywhere;font-size:15px}
.workout-wod-tab small{color:#645d74;font-size:12px}
.workout-wod-tab.active{background:#eeefff;border:2px solid #5c7aff;padding:11px 15px}
.workout-wod-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.workout-wod-controls .workout-field{flex:1;min-width:160px}
.workout-wod-controls input{width:100%;padding:11px 12px;border:1px solid #dcd8e6;border-radius:8px;font:inherit}
.workout-wod-order{display:flex;gap:7px;flex-wrap:wrap}
.workout-sequence-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.workout-sequence-progress[hidden]{display:none}
.workout-sequence-item{display:flex;flex-direction:column;gap:5px;padding:10px 12px;background:#f6f5f9;border:1px solid #e8e5ef;border-radius:10px}
.workout-sequence-item span{font-weight:700;font-size:13px;overflow-wrap:anywhere}
.workout-sequence-item small{font-size:12px;color:#655e70}
.workout-sequence-item.active{border-color:#5c7aff;background:#eeefff}
.workout-sequence-item.done{background:#e5fff6;border-color:#b7eedb}
@media(max-width:600px){.workout-wod-tab{flex:1 1 120px}.workout-wod-controls{align-items:stretch}.workout-wod-order{width:100%}.workout-sequence-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-wod-step .workout-step-heading{align-items:stretch;gap:12px;flex-direction:column}}

/* Timing controls and a non-blocking class-duration warning. */
.workout-interval-fields { margin-top: 16px; display: grid; gap: 12px; }
.workout-interval-fields[hidden], #workout-on-off-fields[hidden] { display: none; }
.workout-timing-help, .workout-rest-field small { color: var(--muted, #666); line-height: 1.5; font-size: 13px; margin: 0; }
.workout-rest-field { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line, #e4e2df); }
.workout-rest-field > input { max-width: 220px; }
.workout-duration-estimate { border: 1px solid #cddfd6; background: #f1f7f3; border-radius: 16px; padding: 18px; margin: 20px 0 14px; }
.workout-duration-estimate > strong { display: block; color: #174a33; font-size: 17px; }
.workout-duration-estimate.over-time { border-color: #d98740; background: #fff4e7; }
.workout-duration-estimate.over-time > strong { color: #883b06; }
.workout-duration-rows { display: grid; gap: 8px; margin: 14px 0; }
.workout-duration-rows > div { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; font-size: 14px; }
.workout-duration-rows small { color: #68665f; }
.workout-duration-estimate p { font-size: 13px; line-height: 1.55; color: #514e48; margin: 10px 0 0; }

.workout-interval-fields input, .workout-interval-fields select, .workout-rest-field > input { width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; border: 1px solid #ded5e2; border-radius: 10px; background: white; color: var(--ink); font: inherit; font-size: 16px; }
.workout-interval-fields input:focus-visible, .workout-interval-fields select:focus-visible, .workout-rest-field > input:focus-visible { outline: 3px solid rgba(92,122,255,.32); outline-offset: 2px; }

/* Personal training history. Chart and table both fit narrow screens. */
.schedule-personal-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.progress-dialog { width: min(760px, calc(100% - 24px)); max-height: calc(100dvh - 24px); }
.progress-dialog .dialog-card { overflow: hidden; }
.progress-filters { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 14px; margin: 24px 0; }
.progress-filters select { width: 100%; min-width: 0; padding: 12px 10px; background: white; border: 1px solid var(--line); border-radius: 9px; font: inherit; color: var(--ink); }
.progress-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 18px; border-radius: 12px; background: var(--soft); }
.progress-summary small { display: block; font-size: 12px; color: var(--muted); }
.progress-summary strong { display: block; font-size: 22px; margin-top: 6px; color: var(--ink); overflow-wrap: anywhere; }
.progress-chart { margin: 24px 0 0; }
.progress-chart svg { display: block; width: 100%; height: auto; }
.progress-chart text { font: 12px sans-serif; fill: #63516b; }
.progress-chart .progress-grid { stroke: #e8e0eb; stroke-width: 1; }
.progress-chart polyline { stroke: #735087; stroke-width: 3; }
.progress-chart circle { fill: #2c0e37; stroke: white; stroke-width: 2; }
.progress-note { font-size: 13px; color: var(--muted); line-height: 1.6; }
.progress-empty { padding: 30px 20px; background: var(--soft); border-radius: 12px; line-height: 1.6; }
.progress-empty strong { font-size: 20px; color: var(--ink); }
.progress-empty p { margin-bottom: 0; }
.progress-table { width: 100%; border-collapse: collapse; font-size: 14px; table-layout: fixed; }
.progress-table caption { text-align: left; font-weight: 700; padding: 20px 0 10px; }
.progress-table th, .progress-table td { padding: 12px 8px; text-align: left; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.progress-table th { font-size: 12px; color: var(--muted); }
.progress-table th:first-child { width: 29%; }
.progress-table th:last-child { width: 27%; }
@media (max-width: 600px) {
  .schedule-section > .section-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .schedule-personal-actions { justify-content: flex-start; width: 100%; }
  .schedule-personal-actions .outline-btn { padding: 10px 12px; }
  .progress-filters { grid-template-columns: minmax(0, 1fr); }
  .progress-summary { gap: 8px; padding: 13px; }
  .progress-summary strong { font-size: 18px; }
  .progress-summary small { font-size: 11px; }
}

/* Keep run prescriptions and warm-up suggestions visible on narrow screens. */
.registry-run-units { display:flex; flex-wrap:wrap; gap:8px; padding:0 22px 20px; }
.registry-run-units button, .workout-warmup-suggestion-grid button { border:1px solid #d1cbd4; background:#fff; color:var(--ink); border-radius:999px; padding:10px 15px; font:inherit; cursor:pointer; }
.registry-run-units button[aria-pressed="true"] { border-color:#19836d; background:#ecfaf5; color:#146a59; font-weight:700; }
.registry-cardio-target { display:flex; align-items:center; gap:10px; padding:0 22px 20px; color:var(--ink); font-size:14px; font-weight:750; }
.registry-cardio-target input { width:110px; min-height:42px; padding:8px 10px; border:1px solid #d1cbd4; border-radius:9px; font:inherit; }
.registry-cardio-targets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 22px 20px; }
.registry-cardio-targets label { display:grid; gap:6px; color:var(--ink); font-size:14px; font-weight:750; }
.registry-cardio-targets input { width:100%; min-width:0; min-height:42px; padding:8px 10px; border:1px solid #d1cbd4; border-radius:9px; font:inherit; }
.registry-time-results { display:grid; gap:8px; padding:0 22px 20px; color:var(--ink); font-size:14px; }
.registry-time-results .registry-reps-grid button { flex:0 0 auto; width:auto; min-width:86px; padding:0 15px; border-radius:999px; }
.machine-prescription { grid-column:1 / -1; display:grid; gap:12px; padding:14px; border:1px solid #ded5e2; border-radius:12px; background:#fff; }
.exercise-arrange-fields.has-machine-prescription,
.workout-block-fields.has-selected-exercise.has-machine-prescription { grid-template-columns:minmax(0,1fr); }
.machine-prescription-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; }
.machine-prescription-heading strong { color:var(--ink); font-size:14px; }
.machine-unit-switch { display:flex; flex-wrap:wrap; gap:7px; }
.machine-unit-switch button { min-height:42px; padding:8px 13px; border:1px solid #d8cfdd; border-radius:999px; background:#fff; color:var(--ink); font:inherit; font-size:13px; font-weight:750; cursor:pointer; }
.machine-unit-switch button[aria-pressed="true"] { border-color:#19836d; background:#ecfaf5; color:#146a59; }
.machine-unit-switch button:focus-visible { outline:3px solid #5c7aff; outline-offset:2px; }
.machine-target-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.machine-target-fields label { display:grid; min-width:0; gap:6px; color:var(--ink); font-size:13px; font-weight:750; }
.machine-target-input { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; overflow:hidden; border:1px solid #d8cfdd; border-radius:9px; background:#fff; }
.machine-target-input:focus-within { border-color:var(--ink); box-shadow:0 0 0 3px rgba(92,122,255,.13); }
.machine-target-input input { width:100%; min-width:0; min-height:48px; padding:9px 12px; border:0; outline:0; font:inherit; font-size:18px; font-variant-numeric:tabular-nums; }
.machine-target-input b { padding:0 12px; color:var(--muted); font-size:13px; }
@media (max-width:420px) { .machine-target-fields { grid-template-columns:1fr; } }
.exercise-picker-format { display:grid; gap:12px; margin:18px 0 8px; padding:16px; border:1px solid #d7cbdc; border-radius:16px; background:#fff; }
.exercise-picker-format[hidden], .exercise-picker-format [hidden] { display:none; }
.exercise-picker-format > strong { color:var(--ink); font-size:15px; }
.exercise-picker-format-options, .exercise-picker-ladder-presets { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.exercise-picker-format button { min-height:39px; padding:8px 13px; border:1px solid #d1cbd4; border-radius:999px; background:#fff; color:var(--ink); font:inherit; font-weight:700; cursor:pointer; }
.exercise-picker-format button[aria-pressed="true"] { border-color:#19836d; background:#ecfaf5; color:#146a59; }
.exercise-picker-format label { display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:var(--ink); font-size:13px; font-weight:700; }
.exercise-picker-format input { min-height:39px; max-width:180px; padding:7px 10px; border:1px solid #d1cbd4; border-radius:9px; font:inherit; }
.exercise-picker-format-summary { margin:0; color:#146a59; font-size:14px; font-weight:750; }
.workout-format-presets { display:grid; gap:10px; padding:12px; border:1px solid #e6dde9; border-radius:12px; background:#faf8fb; }
.workout-format-presets[hidden] { display:none; }
.workout-format-presets > strong, .workout-preset-group > strong { color:var(--ink); font-size:13px; }
.workout-preset-group { display:grid; gap:7px; }
.workout-preset-buttons { display:flex; flex-wrap:wrap; gap:7px; }
.workout-preset-buttons button { min-height:39px; padding:7px 12px; border:1px solid #d1cbd4; border-radius:999px; background:#fff; color:var(--ink); font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.workout-preset-buttons button[aria-pressed="true"] { border-color:#19836d; background:#ecfaf5; color:#146a59; }
.workout-preset-buttons button:focus-visible { outline:3px solid rgba(25,131,109,.28); outline-offset:2px; }
.workout-custom-interval { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.workout-custom-interval label { display:grid; gap:5px; color:var(--ink); font-size:12px; font-weight:750; }
.workout-custom-interval .workout-custom-scope { grid-column:1/-1; }
.workout-custom-interval input, .workout-custom-interval select { width:100%; min-width:0; min-height:44px; padding:8px 10px; border:1px solid #d1cbd4; border-radius:9px; background:#fff; color:var(--text); font:inherit; font-size:16px; }
@media(max-width:420px) { .workout-custom-interval { grid-template-columns:1fr; } }
@media (max-width:600px) {
  .exercise-picker-format { padding:13px; }
  .exercise-picker-format button { padding:7px 11px; font-size:13px; }
}
.workout-warmup-suggestions { margin:10px 0 20px; }
.workout-warmup-suggestions > p { margin:0 0 10px; font-weight:700; }
.workout-warmup-suggestion-grid { display:flex; flex-wrap:wrap; gap:8px; }
.workout-warmup-suggestion-grid button:hover, .workout-warmup-suggestion-grid button:focus-visible { border-color:#19836d; background:#ecfaf5; }

/* Result goals are words, so they need a pill instead of a numeric circle. */
.registry-reps-grid button[data-registry-max-cardio],
.registry-reps-grid button[data-registry-max-reps],
.registry-reps-grid button[data-registry-build-rm] {
  flex: 0 0 auto;
  width: auto;
  min-width: 80px;
  padding: 0 12px;
  border-radius: 999px;
  white-space: nowrap;
}

.workout-choice { display:flex; flex-wrap:wrap; gap:7px; min-width:0; margin-top:7px; }
.workout-choice button { min-height:40px; padding:8px 12px; border:1px solid #d8cfdd; border-radius:999px; background:#fff; color:var(--ink); font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.workout-choice button[aria-pressed="true"] { border-color:#19836d; background:#ecfaf5; color:#146a59; }
.workout-choice button:focus-visible { outline:3px solid #5c7aff; outline-offset:2px; }
.workout-metadata { margin:16px 0; padding:12px 16px; border:1px solid #ded5e2; border-radius:12px; }
.workout-metadata summary { color:var(--ink); font-weight:750; cursor:pointer; }
.workout-metadata .workout-step:first-of-type { margin-top:10px; }
.workout-warmup-type-step { margin:18px 0 0; padding:0; border:0; }
.workout-warmup-type-step legend { padding:0; color:var(--ink); font-weight:800; }
.workout-warmup-step,.workout-wod-step,.workout-type-step,.workout-prescription-step,.workout-main-exercises-step { scroll-margin-top:18px; }
.workout-warmup-interval { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.workout-warmup-interval[hidden] { display:none; }
.workout-warmup-interval input { min-height:48px; width:100%; padding:9px 12px; border:1px solid #ded5e2; border-radius:10px; font:inherit; }
.workout-start-parts { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:16px; }
.workout-start-parts #skip-warmup { margin-left:auto; }
.workout-start-parts button { min-height:44px; }
.workout-round-presets { display:flex; flex-wrap:wrap; gap:6px; }
.workout-round-presets button { min-width:39px; min-height:38px; padding:6px 9px; border:1px solid #ded5e2; border-radius:9px; background:#fff; color:var(--ink); font:inherit; font-weight:750; cursor:pointer; }
.workout-round-presets button[aria-pressed="true"] { border-color:#146a59; background:#e8f7f2; color:#146a59; }
.workout-round-presets button:focus-visible { outline:3px solid #5c7aff; outline-offset:2px; }
.workout-time-units { grid-column:1/-1; display:flex; gap:6px; }
.workout-time-units button { min-width:56px; min-height:40px; padding:7px 12px; border:1px solid #ded5e2; border-radius:9px; background:#fff; color:var(--ink); font:inherit; font-weight:750; cursor:pointer; }
.workout-time-units button[aria-pressed="true"] { border-color:#146a59; background:#e8f7f2; color:#146a59; }
.workout-time-units button:focus-visible { outline:3px solid #5c7aff; outline-offset:2px; }
@media(max-width:600px) { .workout-warmup-interval { grid-template-columns:1fr; } .workout-start-parts #skip-warmup { margin-left:0; } }
.has-shuttle-ends > .shuttle-ends-field, .has-shuttle-ends > .workout-block-field:not(.shuttle-ends-field),
.exercise-arrange-fields.has-shuttle-ends > .exercise-arrange-field { grid-column:1/-1; }
.shuttle-ends-presets { display:flex; flex-wrap:wrap; gap:7px; min-width:0; }
.shuttle-ends-presets button { min-width:42px; min-height:42px; border:1px solid #d8cfdd; border-radius:50%; background:#fff; color:var(--ink); font:inherit; font-weight:750; cursor:pointer; }
.shuttle-ends-presets button[aria-pressed="true"] { border-color:#19836d; background:#ecfaf5; color:#146a59; }
.shuttle-ends-presets button:focus-visible { outline:3px solid #5c7aff; outline-offset:2px; }
.shuttle-ends-custom { margin-top:4px; }
.shuttle-ends-field input[type="number"] { max-width:180px; }
.workout-external-load-field, .workout-intensity-mode, .workout-effort-mode-field { min-width:0; }
.workout-block-fields .workout-external-load-field,
.workout-block-fields .workout-intensity-mode,
.exercise-arrange-fields .workout-external-load-field,
.exercise-arrange-fields .workout-intensity-mode { grid-column:1 / -1; }
.inline-select-source { display: none !important; }
.inline-select-choices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 8px;
  margin: 8px 0 14px;
  min-width: 0;
}
.inline-select-choices[hidden] { display: none; }
.inline-select-choices-many { max-height: 250px; overflow-y: auto; padding: 2px 6px 2px 2px; }
.inline-select-choice {
  width: 100%; min-height: 42px; padding: 9px 12px;
  border: 1px solid #d8cedb; border-radius: 12px;
  background: #fff; color: #321539; font: inherit; font-weight: 650;
  text-align: left; cursor: pointer;
}
.inline-select-choice[aria-pressed="true"] {
  border-color: #168a71; background: #e9f8f3; color: #126655;
  box-shadow: inset 0 0 0 1px #168a71;
}
.inline-select-choice:focus-visible { outline: 3px solid #168a71; outline-offset: 2px; }
.inline-select-choice:disabled { opacity: .55; cursor: default; }

/* Cardio jaamad */
.workout-block-fields > .cardio-stations-editor,.workout-block-fields > .cardio-enable{grid-column:1/-1}
.cardio-stations-editor{display:grid;gap:16px;min-width:0;padding:18px;border:1px solid #dcd1e1;border-radius:16px;background:#fff}
.workout-partner-lanes:not(.workout-interruption-lanes):has(.workout-lane-entry[open]){grid-template-columns:minmax(0,1fr)}
.workout-partner-lanes:not(.workout-interruption-lanes) .workout-partner-lane{min-width:0}
.workout-team-step{min-width:0;margin:14px 0 0;padding:0;border:0}
.workout-team-step .workout-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.workout-partner-lanes:not(.workout-interruption-lanes) .workout-lane-entry summary .workout-lane-cardio-meta{grid-column:1;grid-row:2;text-align:left}
.workout-partner-lanes:not(.workout-interruption-lanes) .workout-lane-entry summary .workout-lane-cardio-stations{grid-column:1/-1;grid-row:3;display:grid;gap:4px;max-width:none;text-align:left}
.workout-lane-cardio-station{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:1.35}
.workout-lane-cardio-station span:last-child{text-align:right}
@media(max-width:1100px){.workout-partner-lanes:not(.workout-interruption-lanes){grid-template-columns:minmax(0,1fr)}}
.cardio-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cardio-editor-heading>strong{font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.cardio-rotation,.cardio-station-choices,.cardio-station-units{display:flex;flex-wrap:wrap;gap:7px}
.cardio-stations-editor button{min-height:40px;border:1px solid #d8c9df;border-radius:999px;padding:7px 14px;background:#fff;color:#2c0e37;font:inherit;font-weight:700;cursor:pointer}
.cardio-stations-editor button[aria-pressed="true"]{border-color:#008a74;background:#e7f7f2;color:#007d69}
.cardio-stations-editor button:disabled{opacity:.4;cursor:not-allowed}
.cardio-club-lap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 14px;border:1px solid #e1d8e5;border-radius:10px;background:#f7f3f8}
.cardio-club-lap>span{margin-right:auto;font-weight:700}.cardio-club-lap>strong{color:#008a74}.cardio-club-lap>button{border:0;background:none;min-height:36px;padding:4px 8px}
.cardio-lap-form{flex:1 0 100%;display:flex;align-items:end;gap:8px;flex-wrap:wrap}.cardio-lap-form[hidden]{display:none}
.cardio-lap-form label{display:grid;gap:4px}.cardio-lap-form input{width:105px}
.cardio-station-cards{display:grid;gap:8px}
.cardio-station-card{display:grid;grid-template-columns:minmax(100px,1fr) minmax(240px,2fr) minmax(125px,auto);align-items:center;gap:10px;padding:10px 14px;border:1px solid #ded3e3;border-radius:11px;background:#fbf9fc}
.cardio-station-card>strong{font-size:16px}.cardio-station-card label{display:grid;gap:3px;color:#685b70;font-size:12px;font-weight:700}
.cardio-station-card input{width:66px;height:40px;border:1px solid #d5c9db;border-radius:8px;padding:5px 8px;color:#2c0e37;font:inherit;font-size:16px;font-weight:750}
.cardio-station-target,.cardio-machine-targets{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.cardio-station-target output{align-self:center;color:#008a74;font-weight:800}
.cardio-capacity{display:flex;align-items:center;gap:5px;justify-self:end}.cardio-capacity span{margin-right:6px;font-size:12px;font-weight:700}.cardio-capacity output{min-width:32px;text-align:center;font-weight:800}
.cardio-stations-editor .cardio-capacity button{width:40px;padding:0;border-radius:9px;font-size:19px}
.cardio-remaining{justify-self:end;padding:9px 16px;border:1px solid #008a74;border-radius:999px;color:#007d69;background:#e7f7f2;font-weight:750}
.cardio-stations-read{grid-column:1/-1;display:grid;gap:10px;margin-top:12px}.cardio-stations-read p{margin:0;color:#5f5067;font-size:13px}
.cardio-stations-read ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.cardio-stations-read li{display:grid;grid-template-columns:minmax(75px,1fr) minmax(0,2fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #e0d5e4;border-radius:9px;background:#fff}
.cardio-stations-read li span{font-size:13px}.cardio-stations-read li small{font-size:12px;color:#008a74}
@media(max-width:700px){
  .cardio-stations-editor{padding:12px}.cardio-editor-heading{align-items:stretch}.cardio-rotation{width:100%}.cardio-rotation button{flex:1 1 135px}
  .cardio-station-card{grid-template-columns:1fr;gap:10px}.cardio-station-card>strong{font-size:18px}.cardio-capacity,.cardio-remaining{justify-self:stretch}.cardio-remaining{text-align:center}
  .cardio-station-choices button{flex:1 1 auto}.cardio-machine-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cardio-machine-targets .cardio-station-units{grid-column:1/-1}
  .cardio-capacity span{margin-right:auto}.cardio-stations-read li{grid-template-columns:1fr auto}.cardio-stations-read li span{grid-column:1}.cardio-stations-read li small{grid-column:2;grid-row:1/3;align-self:center}
}

/* The shared plan edits one section at a time. */
.workout-dialog.focused-workout-editor{width:min(980px,calc(100% - 24px))}
.workout-dialog.focused-workout-editor .workout-builder-card{background:#f8f5fa}
.workout-dialog.focused-workout-editor .workout-step,.workout-dialog.focused-workout-editor .workout-builder-tools,.workout-dialog.focused-workout-editor .workout-duration-estimate,.workout-dialog.focused-workout-editor .workout-metadata{display:none}
.workout-dialog.focused-warmup .workout-warmup-step,.workout-dialog.focused-cooldown .workout-cooldown-step,.workout-dialog.focused-main .workout-wod-step,.workout-dialog.focused-main .workout-type-step,.workout-dialog.focused-main .workout-prescription-step,.workout-dialog.focused-main .workout-main-exercises-step{display:block}
.workout-dialog.focused-workout-editor .workout-warmup-suggestions{display:none}
.workout-dialog.focused-workout-editor .workout-block{background:white}
.workout-dialog.focused-workout-editor .workout-block-fields.focused-row,.workout-dialog.focused-workout-editor .workout-block-fields.focused-row.has-machine-prescription{grid-template-columns:minmax(170px,1.5fr) minmax(100px,.65fr) minmax(150px,1fr);align-items:start;gap:10px}
.workout-dialog.focused-workout-editor .focused-row>.workout-selected-exercise{grid-column:1}
.workout-dialog.focused-workout-editor .focused-row>.ladder-quantity-field{grid-column:2/-1}
.workout-dialog.focused-workout-editor .ladder-quantity-field>.workout-ladder-quantity{white-space:nowrap;overflow-x:auto;overflow-wrap:normal}
.workout-dialog.focused-workout-editor .focused-row>.machine-prescription{grid-column:2/4}
.workout-dialog.focused-workout-editor .focused-row>.cardio-stations-editor,.workout-dialog.focused-workout-editor .focused-row>.cardio-enable,.workout-dialog.focused-workout-editor .focused-row>.workout-extra-settings{grid-column:1/-1}
.workout-extra-settings{border-top:1px solid #eee7f0;padding-top:7px}.workout-extra-settings summary{width:max-content;margin-left:auto;padding:7px 12px;border:1px solid #d8cfdd;border-radius:9px;background:#fff;color:#2c0e37;font-size:13px;font-weight:750;cursor:pointer}
.workout-extra-settings .workout-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.workout-extra-grid>.workout-block-field{min-width:0}
.workout-dialog.focused-workout-editor #save-workout-plan{position:sticky;bottom:0;z-index:4;box-shadow:0 -8px 20px rgba(248,245,250,.95)}
@media(max-width:700px){
  .workout-dialog.focused-workout-editor{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .workout-dialog.focused-workout-editor .workout-builder-card{max-height:100dvh;min-height:100dvh;padding:22px 15px}
  .workout-dialog.focused-workout-editor .workout-block{grid-template-columns:25px minmax(0,1fr);align-items:start}
  .workout-dialog.focused-workout-editor .workout-block-actions{grid-column:2;justify-content:flex-end}
  .workout-dialog.focused-workout-editor .workout-block-fields.focused-row,.workout-dialog.focused-workout-editor .workout-block-fields.focused-row.has-machine-prescription{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .workout-dialog.focused-workout-editor .focused-row>.workout-selected-exercise,.workout-dialog.focused-workout-editor .focused-row>.machine-prescription{grid-column:1/-1}
  .workout-dialog.focused-workout-editor .focused-row>.ladder-quantity-field{grid-column:1/-1}
  .workout-extra-settings .workout-extra-grid{grid-template-columns:1fr}
}

.workout-interruption-lanes:has(.workout-lane-entry[open]){grid-template-columns:minmax(0,1fr)}

/* Keep the reorder list short; each exercise's prescription opens on demand. */
.exercise-arrange-view{gap:12px;margin-top:14px}
.exercise-arrange-intro p{margin:0}
.exercise-arrange-card{grid-template-columns:44px 32px minmax(0,1fr);align-items:center}
.exercise-arrange-drag{align-self:center;min-height:48px}
.exercise-arrange-main{gap:3px}
.exercise-arrange-summary{font-size:12px!important;font-weight:650!important;line-height:1.35}
.exercise-arrange-editor{grid-column:1/-1;min-width:0;margin-top:4px;padding-top:8px;border-top:1px solid var(--line)}
.exercise-arrange-editor>summary{width:max-content;max-width:100%;padding:6px 0;color:#146a59;font-size:13px;font-weight:800;cursor:pointer;list-style:none}
.exercise-arrange-editor>summary::-webkit-details-marker{display:none}
.exercise-arrange-editor>summary::after{content:' ▾'}
.exercise-arrange-editor[open]>summary::after{content:' ▴'}
.exercise-arrange-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;grid-auto-rows:min-content;margin-top:10px}
.exercise-arrange-fields>*{min-width:0;align-self:start}
.exercise-arrange-fields .workout-choice{align-items:start}
.exercise-arrange-fields .workout-external-load-field .workout-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.exercise-arrange-fields .workout-external-load-field .workout-choice button{min-width:0}
.exercise-arrange-actions{grid-column:auto;max-width:none;margin-top:12px;justify-content:flex-start;flex-wrap:wrap}
@media(max-width:700px){
  .exercise-arrange-card{grid-template-columns:40px 29px minmax(0,1fr);gap:9px}
  .exercise-arrange-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .exercise-arrange-fields .workout-intensity-mode,.exercise-arrange-fields .workout-intensity-value{grid-column:1/-1}
}
.workout-interruption-lanes .workout-partner-lane{align-content:start}
.workout-interruption-lanes .primary-lane{background:#eefaf5;border-color:#19836d}
.workout-interruption-lanes .workout-partner-lane h4{text-align:center;white-space:nowrap}
.workout-interruption-lanes .workout-lane-card{display:flex;flex-direction:column}
.workout-interruption-lanes .workout-lane-entry>summary{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;min-height:0;padding:14px}
.workout-interruption-lanes .workout-lane-entry summary strong{grid-column:1/-1;overflow-wrap:break-word}
.workout-interruption-lanes .workout-lane-entry summary span{grid-column:1;grid-row:2;max-width:none;text-align:left}
.workout-interruption-lanes .workout-lane-entry summary b{grid-column:2;grid-row:2;white-space:nowrap}
.workout-interruption-lanes .workout-lane-actions{position:static;justify-content:flex-end;margin-top:auto;padding:0 12px 12px}
.workout-lane-card{position:relative;min-width:0;border:1px solid #ded5e2;border-radius:10px;background:white}
.workout-lane-entry{min-width:0}
.workout-lane-entry>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:68px;padding:15px 160px 15px 15px;cursor:grab;list-style:none;color:var(--ink)}
.workout-lane-entry>summary:active{cursor:grabbing}
.workout-lane-entry summary::-webkit-details-marker{display:none}
.workout-lane-entry summary strong{min-width:0;font-size:16px;overflow-wrap:anywhere}
.workout-lane-entry summary span{min-width:0;max-width:220px;font-size:14px;color:var(--muted);text-align:right;overflow-wrap:anywhere}
.workout-lane-entry summary b{flex:none;padding:8px 14px;border:1px solid #ded5e2;border-radius:8px;background:white;font-size:13px}
.workout-lane-actions{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:5px}
.workout-lane-move{display:grid;grid-template-rows:20px 20px;overflow:hidden;border:1px solid #ded5e2;border-radius:8px}
.workout-lane-move button{display:grid;place-items:center;width:36px;height:20px;margin:0;padding:0;border:0;background:white;color:var(--ink);font-size:16px;line-height:1;cursor:pointer}
.workout-lane-move button+button{border-top:1px solid #ded5e2}
.workout-lane-move button:hover:not(:disabled){background:#f5f0f8}
.workout-lane-move button:disabled{opacity:.35;cursor:default}
.workout-lane-delete{display:flex;align-items:center;justify-content:center;gap:5px;min-width:92px;height:42px;margin:0;padding:0 8px;border:1px solid #e8cad4;border-radius:8px;background:#fff;color:#a51d57;font-size:13px;font-weight:700;cursor:pointer}
.workout-lane-delete:hover{background:#fff0f4;border-color:#a51d57}
.workout-partner-lanes:not(.workout-interruption-lanes) .workout-lane-entry>summary{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;min-height:0;padding:12px}
.workout-partner-lanes:not(.workout-interruption-lanes) .workout-lane-entry summary strong{grid-column:1/-1;overflow-wrap:break-word;word-break:normal}
.workout-partner-lanes:not(.workout-interruption-lanes) .workout-lane-entry summary span{grid-column:1;grid-row:2;max-width:none;text-align:left}
.workout-partner-lanes:not(.workout-interruption-lanes) .workout-lane-entry summary b{grid-column:2;grid-row:2;white-space:nowrap}
.workout-partner-lanes:not(.workout-interruption-lanes) .workout-lane-actions{position:static;justify-content:flex-end;flex-wrap:wrap;padding:0 12px 12px}
.workout-lane-partner-move{min-height:42px;margin-right:auto;padding:7px 11px;border:1px solid #d8cfdd;border-radius:8px;background:#eefaf5;color:var(--ink);font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.workout-lane-partner-move:hover{border-color:#19836d}
.workout-lane-actions button:focus-visible{outline:3px solid rgba(165,29,87,.3);outline-offset:2px}
.workout-lane-card.dragging{opacity:.45}
.workout-lane-card.drag-over{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.workout-lane-entry[open] summary{border-bottom:1px solid #ded5e2}
.workout-lane-entry .workout-block{border:0;background:white}
.workout-lane-entry summary:focus-visible{outline:3px solid rgba(92,122,255,.32);outline-offset:2px}
.workout-lane-entry .cooldown-builder-row{border:0;border-radius:0;background:white}
.workout-warmup-step #workout-warmup-list,.workout-cooldown-step #workout-cooldown-list{display:grid;gap:10px;margin:16px 0}
.workout-warmup-step #workout-warmup-list>.workout-lane-card,.workout-cooldown-step #workout-cooldown-list>.workout-lane-card{width:100%}
#add-workout-block[hidden]{display:none}
@media(max-width:600px){.workout-lane-entry>summary{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding-right:15px}.workout-lane-entry summary strong{grid-column:1}.workout-lane-entry summary span{grid-column:1;grid-row:2;text-align:left}.workout-lane-entry summary b{grid-column:2;grid-row:1/3}.workout-lane-actions{position:static;justify-content:flex-end;padding:7px 12px;border-top:1px solid #ded5e2}.workout-warmup-unit-field{grid-column:1/-1}.workout-warmup-unit-row .workout-choice{width:100%;min-width:0}.workout-warmup-unit-row .workout-choice button{min-width:0;max-width:100%;white-space:normal}.workout-edit-reps{grid-column:1/-1}}
.workout-lane-add{width:100%;min-height:68px;padding:16px;border:1px dashed #cfc3d3;border-radius:10px;background:white;color:var(--ink);font-size:15px;font-weight:800;text-align:left}
.workout-lane-add:hover,.workout-lane-add:focus-visible{border-color:#19836d;background:#eefaf5}

/* Edit one exercise at a time. The plan's existing controls still own the values. */
.workout-exercise-back[hidden]{display:none}
.workout-dialog.single-exercise-editor{width:min(640px,calc(100% - 24px))}
.workout-dialog.single-exercise-editor .workout-builder-card{position:relative;display:flex;flex-direction:column;min-height:min(760px,calc(100dvh - 24px));background:#fff}
.workout-dialog.single-exercise-editor .dialog-close,
.workout-dialog.single-exercise-editor .workout-step,
.workout-dialog.single-exercise-editor .workout-metadata,
.workout-dialog.single-exercise-editor .workout-builder-tools,
.workout-dialog.single-exercise-editor .workout-duration-estimate,
.workout-dialog.single-exercise-editor .workout-release-option{display:none}
.workout-dialog.single-exercise-editor .workout-main-exercises-step{display:block}
.workout-dialog.single-exercise-editor .workout-main-exercises-step>.workout-step-heading,
.workout-dialog.single-exercise-editor .workout-team-step,
.workout-dialog.single-exercise-editor .workout-filter-bar{display:none}
.workout-dialog.single-exercise-editor .workout-exercise-back{position:absolute;top:20px;left:18px;width:48px;height:48px;border:0;background:transparent;color:#0b1d38;font-size:30px;cursor:pointer}
.workout-dialog.single-exercise-editor #workout-dialog-eyebrow,
.workout-dialog.single-exercise-editor #workout-dialog-title{margin-left:58px}
.workout-dialog.single-exercise-editor #workout-dialog-title{margin-bottom:30px;color:#0b1d38}
.workout-dialog.single-exercise-editor #workout-block-list{display:block;margin:0}
.workout-dialog.single-exercise-editor .single-workout-block{display:block;padding:0;border:0;background:transparent}
.workout-dialog.single-exercise-editor .single-workout-block>.workout-drag-handle{display:none}
.workout-dialog.single-exercise-editor .single-workout-block .workout-block-fields,
.workout-dialog.single-exercise-editor .single-workout-block .workout-block-fields.focused-row,
.workout-dialog.single-exercise-editor .single-workout-block .workout-block-fields.has-machine-prescription{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px 16px}
.workout-dialog.single-exercise-editor .single-exercise-label{grid-column:1/-1;margin-bottom:-12px;color:#65748a;font-size:14px;font-weight:750}
.workout-dialog.single-exercise-editor .single-workout-block .workout-selected-exercise{grid-column:1/-1;min-height:58px;padding:8px 12px;border-radius:12px}
.workout-dialog.single-exercise-editor .single-workout-block .workout-selected-exercise strong{font-size:18px;color:#0b1d38}
.workout-dialog.single-exercise-editor .single-workout-block .workout-selected-exercise button{min-height:44px;padding:8px 14px;font-size:14px}
.workout-dialog.single-exercise-editor .single-workout-block .workout-block-field>span:first-child,
.workout-dialog.single-exercise-editor .single-workout-block .workout-block-field>label:first-child{color:#65748a;font-size:14px}
.workout-dialog.single-exercise-editor .single-workout-block .workout-block-field input:not([type=hidden]),
.workout-dialog.single-exercise-editor .single-workout-block .workout-block-field select{min-width:0;min-height:56px;border-radius:12px;font-size:17px}
.workout-dialog.single-exercise-editor .single-workout-block .workout-external-load-field,
.workout-dialog.single-exercise-editor .single-workout-block .workout-extra-settings,
.workout-dialog.single-exercise-editor .single-workout-block .workout-partner-choice,
.workout-dialog.single-exercise-editor .single-workout-block .workout-scaled-editor,
.workout-dialog.single-exercise-editor .single-workout-block .cardio-stations-editor{grid-column:1/-1}
.workout-dialog.single-exercise-editor .single-workout-block .workout-external-load-field .workout-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.workout-dialog.single-exercise-editor .single-workout-block .workout-external-load-field .workout-choice button{min-width:0;min-height:52px;border-radius:12px;font-size:15px}
.workout-dialog.single-exercise-editor .single-workout-block .workout-extra-settings{padding:0;border:1px solid #e0e5eb;border-radius:14px}
.workout-dialog.single-exercise-editor .single-workout-block .workout-extra-settings summary{position:relative;display:grid;gap:4px;width:100%;min-height:76px;margin:0;padding:16px 44px 16px 16px;border:0;background:#fff;border-radius:14px;list-style:none;text-align:left}
.workout-dialog.single-exercise-editor .single-workout-block .workout-extra-settings summary::-webkit-details-marker{display:none}
.workout-dialog.single-exercise-editor .single-workout-block .workout-extra-settings summary strong{color:#0b1d38;font-size:16px}
.workout-dialog.single-exercise-editor .single-workout-block .workout-extra-settings summary small{color:#65748a;font-size:13px;font-weight:500}
.workout-dialog.single-exercise-editor .single-workout-block .workout-extra-settings summary::after{content:'⌄';position:absolute;right:16px;top:20px;color:#0b1d38;font-size:24px}
.workout-dialog.single-exercise-editor .single-workout-block .workout-extra-settings[open] summary::after{transform:rotate(180deg)}
.workout-dialog.single-exercise-editor .single-workout-block .workout-extra-grid{padding:0 16px 16px}
.workout-dialog.single-exercise-editor .single-workout-block .workout-block-actions{display:flex;justify-content:flex-start;margin-top:40px}
.workout-dialog.single-exercise-editor .single-workout-block .move-workout-up,
.workout-dialog.single-exercise-editor .single-workout-block .move-workout-down{display:none}
.workout-dialog.single-exercise-editor .single-workout-block .remove-workout-block{width:auto;min-height:48px;padding:8px 0;border:0;background:transparent;color:#a51d57;font-size:14px}
.workout-dialog.single-exercise-editor #save-workout-plan{position:sticky;bottom:0;z-index:4;flex:none;min-height:56px;margin-top:auto;border-radius:12px;background:#0b1d38;box-shadow:0 -10px 20px 8px #fff}
@media(max-width:700px){
  .workout-dialog.single-exercise-editor{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .workout-dialog.single-exercise-editor .workout-builder-card{width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;padding:24px 18px 18px}
  .workout-dialog.single-exercise-editor .single-workout-block .workout-block-fields,
  .workout-dialog.single-exercise-editor .single-workout-block .workout-block-fields.focused-row,
  .workout-dialog.single-exercise-editor .single-workout-block .workout-block-fields.has-machine-prescription{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .workout-dialog.single-exercise-editor .single-workout-block .workout-selected-exercise,
  .workout-dialog.single-exercise-editor .single-workout-block .workout-extra-settings{grid-column:1/-1}
}
/* Give units their own row after the repetition presets in every plan editor. */
.workout-dialog.focused-workout-editor .focused-row>.workout-unit-field,
.workout-dialog.single-exercise-editor .single-workout-block .workout-unit-field,
.workout-inline-fields>.workout-unit-field{grid-column:1/-1;width:100%}
.workout-unit-field>.workout-choice,
.workout-unit-field .workout-warmup-unit-row>.workout-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0}
.workout-unit-field .workout-choice input[type="hidden"]{display:none}
.workout-unit-field .workout-choice button{width:100%;min-width:0;min-height:44px;border-radius:12px;white-space:normal;text-align:center}
.workout-unit-field .workout-warmup-unit-row{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
.workout-unit-field .workout-warmup-unit-row .workout-ladder-toggle,
.workout-unit-field .workout-warmup-unit-row .workout-ladder-reverse{justify-self:start}
.exercise-picker-context{display:grid;gap:4px;margin:0 0 18px;padding:16px 20px;border:1px solid #19836d;border-radius:14px;background:#eefaf5;color:var(--ink)}
.exercise-picker-context[hidden]{display:none}
.exercise-picker-context small{font-size:12px;font-weight:800;text-transform:uppercase;color:#146a59}
.exercise-picker-context strong{font-size:22px}

.workout-scaled-editor{grid-column:1/-1;display:grid;gap:8px;padding:12px;border:1px solid #cfe4f7;border-radius:14px;background:#f4faff}.workout-scaled-editor>.outline-btn{justify-self:start}.workout-scaled-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:#e2f2ff}.workout-scaled-row label{display:flex;align-items:center;gap:6px;margin:0}.workout-scaled-row input{width:68px;margin:0}.workout-scaled-row .outline-btn{min-height:38px}.workout-scaled-choices{display:grid;gap:7px;margin-top:9px}.workout-scaled-choices>div{display:flex;flex-wrap:wrap;gap:7px}.workout-scaled-choices button{border:1px solid #bedaf1;border-radius:10px;padding:8px 12px;background:#fff;color:#0b2946;font-weight:700}.workout-scaled-choices button[aria-pressed=true]{border-color:#078cdb;background:#078cdb;color:#fff}.workout-scaled-choices small{color:#4d6a82}@media(max-width:600px){.workout-scaled-row{grid-template-columns:1fr auto}.workout-scaled-row .outline-btn{grid-column:2;grid-row:1/3}}

.workout-release-option{display:flex;align-items:flex-start;gap:12px;margin:18px 0;padding:16px;border:1px solid #b9d9f0;border-radius:14px;background:#f2f9ff;cursor:pointer}.workout-release-option[hidden]{display:none}.workout-release-option input{width:20px;height:20px;accent-color:#078cdb;flex:none;margin:2px 0 0}.workout-release-option span{display:grid;gap:4px}.workout-release-option strong{color:#103b5d;font-size:15px}.workout-release-option small{color:#496a83;line-height:1.45}
.registry-run-targets{display:flex;flex-wrap:wrap;gap:12px;padding:0 22px 18px}.registry-run-targets .registry-cardio-target{padding:0;flex:1 1 170px}.registry-exercise-card:has([data-registry-run-target]){background:linear-gradient(135deg,#fff 45%,#eef8ff)}.registry-exercise-card:has([data-registry-run-target]) .registry-run-units button[aria-pressed="true"]{border-color:#078cdb;background:#e2f2ff;color:#103b5d}
