/* Compact client Home and readable workout validation on both themes. */
:root body.client-dashboard-page .client-home-planner,
:root body.client-dashboard-page .client-home-community {
  width: 100%; padding: 18px; border: 1px solid #45494d; border-radius: 20px;
  background: #24282d; color: #f5f7f7;
}
:root body.client-dashboard-page .client-home-planner { order: 1; }
:root body.client-dashboard-page .client-home-checkin-links { order: 2; }
:root body.client-dashboard-page .client-home-community { order: 3; }
:root body.client-dashboard-page .client-home-planner-head,
:root body.client-dashboard-page .client-home-community-heading,
:root body.client-dashboard-page .client-home-week-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
:root body.client-dashboard-page .client-home-planner .kicker,
:root body.client-dashboard-page .client-home-community .kicker { margin: 0 0 4px; color: #72b8ef; font-size: 13px; }
:root body.client-dashboard-page .client-home-planner h3,
:root body.client-dashboard-page .client-home-community h3 { margin: 0; color: inherit; font-size: 23px; }
:root body.client-dashboard-page .client-home-rewards { display: flex; align-items: center; margin-top: 17px; padding: 3px; border: 1px solid #494d55; border-radius: 20px; background: #25272e; }
:root body.client-dashboard-page .client-home-rewards > button { flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #ffd400; font-size: 27px; font-weight: 800; }
:root body.client-dashboard-page .client-home-rewards > button:disabled { opacity: .22; }
:root body.client-dashboard-page .client-home-reward-track { display: flex; min-width: 0; flex: 1; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
:root body.client-dashboard-page .client-home-reward-track::-webkit-scrollbar { display: none; }
:root body.client-dashboard-page .client-home-reward-card { box-sizing: border-box; display: flex; flex: 0 0 100%; min-width: 0; min-height: 102px; align-items: center; gap: 8px; padding: 8px 2px; scroll-snap-align: start; }
:root body.client-dashboard-page .client-home-reward-mascot { position: relative; display: block; flex: 0 0 auto; width: 72px; height: 76px; overflow: hidden; }
:root body.client-dashboard-page .client-home-reward-mascot img { position: absolute; display: block; width: 200%; height: 200%; max-width: none; object-fit: fill; pointer-events: none; }
:root body.client-dashboard-page .client-home-reward-mascot.is-greeting img { left: 0; top: 0; }
:root body.client-dashboard-page .client-home-reward-mascot.is-celebrating img { left: -100%; top: 0; }
:root body.client-dashboard-page .client-home-reward-mascot.is-encouraging img { left: 0; top: -100%; }
:root body.client-dashboard-page .workout-completion-atari { position: relative; width: 76px; height: 80px; margin: 4px auto 8px; overflow: hidden; }
:root body.client-dashboard-page .workout-completion-atari img { position: absolute; display: block; width: 200%; height: 200%; max-width: none; object-fit: fill; pointer-events: none; }
:root body.client-dashboard-page .workout-completion-atari.is-celebrating img { left: -100%; top: 0; }
:root body.client-dashboard-page .workout-completion-atari.is-encouraging img { left: 0; top: -100%; }
:root body.client-dashboard-page .client-home-reward-count { flex: 0 0 auto; color: #64bdff; font-size: clamp(25px, 6vw, 32px); line-height: 1; font-weight: 800; }
:root body.client-dashboard-page .client-home-reward-copy { display: grid; min-width: 0; gap: 4px; }
:root body.client-dashboard-page .client-home-reward-copy b { color: #f7f8fa; font-size: clamp(15px, 3.7vw, 17px); line-height: 1.16; }
:root body.client-dashboard-page .client-home-reward-copy small { color: #bbc0c9; font-size: 12px; line-height: 1.24; }
:root body.client-dashboard-page .workout-completion-atari-message { max-width: 340px; margin: -10px auto 2px; color: var(--ink, #f2f0e8); font-size: 13px; font-weight: 650; line-height: 1.4; text-align: center; }
:root body.client-dashboard-page .workout-completion-atari-message span:first-child { color: #ffe47a; font-weight: 850; }
:root body.client-dashboard-page .client-home-reward-dots { display: flex; justify-content: center; gap: 6px; margin-top: 9px; }
:root body.client-dashboard-page .client-home-reward-dots span { width: 7px; height: 7px; border-radius: 50%; background: #65717b; }
:root body.client-dashboard-page .client-home-reward-dots .is-active { width: 17px; border-radius: 8px; background: #ffd400; }
@media (max-width: 380px) {
  :root body.client-dashboard-page .client-home-reward-card { min-height: 88px; gap: 4px; }
  :root body.client-dashboard-page .client-home-reward-mascot { width: 52px; height: 56px; }
  :root body.client-dashboard-page .client-home-reward-copy small { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
}
:root body.client-dashboard-page .client-home-week-controls { margin-top: 20px; }
:root body.client-dashboard-page .client-home-week-controls button { width: 42px; height: 42px; border: 1px solid #56606a; border-radius: 50%; background: #313942; color: #fff; font-size: 28px; }
:root body.client-dashboard-page .client-home-week-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; margin-top: 12px; }
:root body.client-dashboard-page .client-home-week-days button { display: grid; justify-items: center; gap: 5px; min-width: 0; min-height: 75px; padding: 8px 1px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: #d6dce1; }
:root body.client-dashboard-page .client-home-week-days button.is-selected { border-color: #72b8ef; background: #273f52; }
:root body.client-dashboard-page .client-home-week-days button.is-today strong { color: #ffd400; }
:root body.client-dashboard-page .client-home-week-days button span:first-child { font-size: 11px; }
:root body.client-dashboard-page .client-home-week-days button strong { font-size: 18px; }
:root body.client-dashboard-page .client-home-day-dot { width: 6px; height: 6px; border-radius: 50%; background: transparent; }
:root body.client-dashboard-page .client-home-week-days .is-complete .client-home-day-dot { background: #6db5ed; }
:root body.client-dashboard-page .client-home-week-detail { min-height: 24px; margin: 13px 0; color: #c8d1d7; font-size: 14px; }
:root body.client-dashboard-page .client-home-plan-link { padding: 0; border: 0; background: transparent; color: #72b8ef; font-size: 15px; font-weight: 700; }
:root body.client-dashboard-page .client-home-checkin-links { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 2px 4px; }
:root body.client-dashboard-page .client-home-checkin-links button { width: auto; min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: #72b8ef; font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
:root body.client-dashboard-page .client-home-community > p { color: #c8d1d7; }
:root body.client-dashboard-page .client-home-community-heading button { border: 0; background: transparent; color: #72b8ef; font-weight: 700; }
:root body.client-dashboard-page .client-home-community-feed { display: grid; gap: 8px; }
:root body.client-dashboard-page .client-home-community-post { padding: 12px; border: 1px solid #45515b; border-radius: 12px; background: #1d2227; }
:root body.client-dashboard-page .client-home-community-post p { margin: 4px 0 0; }
:root body.client-dashboard-page .client-home-community-feed > p { color: #c8d1d7; }
:root body.client-dashboard-page .client-home-checkin-links button:focus-visible,
:root body.client-dashboard-page .client-home-planner button:focus-visible,
:root body.client-dashboard-page .client-home-community button:focus-visible { outline: 3px solid #ffd400; outline-offset: 3px; }
:root body.client-dashboard-page .workout-finish-issues { background: #fff9df !important; color: #1c2420 !important; border: 2px solid #bf8c18 !important; box-shadow: 0 8px 24px #0005; }
:root body.client-dashboard-page .workout-finish-issues :is(strong, p, li, button) { color: #1c2420 !important; -webkit-text-fill-color: #1c2420; }
:root body.client-dashboard-page .workout-finish-issues li button { border-bottom: 1px solid #a58849; text-decoration: underline; text-underline-offset: 3px; }
:root body.client-dashboard-page .workout-finish-issues li button:focus-visible { outline: 3px solid #175587; outline-offset: 2px; }
:root[data-client-theme="light"] body.client-dashboard-page :is(.client-home-planner, .client-home-community) { background: #fff; color: #18232e; border-color: #cdd5d9; }
:root[data-client-theme="light"] body.client-dashboard-page :is(.client-home-week-detail, .client-home-community > p, .client-home-community-feed > p) { color: #41515b; }
:root[data-client-theme="light"] body.client-dashboard-page .client-home-week-days button { color: #253745; }
:root[data-client-theme="light"] body.client-dashboard-page .client-home-week-days button.is-selected { background: #d8efff; }
:root[data-client-theme="light"] body.client-dashboard-page .client-home-week-controls button { background: #eff5f8; color: #1c3446; }
:root[data-client-theme="light"] body.client-dashboard-page .client-home-community-post { background: #f4f8fa; color: #18232e; border-color: #cdd5d9; }
.client-weekly-dialog { width: min(94vw, 560px); max-height: min(90vh, 800px); overflow: auto; padding: 20px; border: 1px solid #6b7d88; border-radius: 20px; background: #22282e; color: #f7f8f8; }
.client-weekly-dialog::backdrop { background: #000b; }
.client-weekly-dialog header { display: flex; justify-content: space-between; gap: 12px; }
.client-weekly-dialog h2 { margin: 3px 0; color: inherit; }
.client-weekly-dialog header p { margin: 0 0 12px; }
.client-weekly-dialog [data-weekly-close] { align-self: start; border: 0; background: transparent; color: inherit; font-size: 30px; }
.client-weekly-dialog label { display: grid; gap: 6px; margin: 12px 0; font-weight: 700; }
.client-weekly-dialog textarea { width: 100%; padding: 10px; border: 1px solid #7b8a94; border-radius: 10px; background: #303941; color: #fff; font: inherit; }
.client-weekly-dialog textarea[readonly] { opacity: .8; }
.client-weekly-dialog [data-weekly-submit] { width: 100%; min-height: 48px; border: 0; border-radius: 10px; background: #ffd400; color: #111; font-weight: 800; }
.client-weekly-dialog [data-weekly-status] { color: #ffe183; }
:root[data-client-theme="light"] .client-weekly-dialog { background: #fff; color: #18232e; }
:root[data-client-theme="light"] .client-weekly-dialog textarea { background: #f5f8fa; color: #18232e; }
@media (max-width: 900px) {
  :root body.client-dashboard-page .client-dashboard-tabs { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  :root body.client-dashboard-page .client-dashboard-tab-label { font-size: clamp(10px, 2.8vw, 13px) !important; overflow-wrap: normal; }
  .client-dock-arrows:not([hidden]) { display: contents; }
  .client-dock-arrows button { position: fixed; bottom: calc(35px + env(safe-area-inset-bottom)); z-index: 1002; width: 28px; height: 32px; border: 1px solid #6b7d88; border-radius: 10px; background: #24323e; color: white; font-size: 24px; }
  .client-dock-arrows [data-dock-previous] { left: 0; }
  .client-dock-arrows [data-dock-next] { right: 0; }
  .client-dock-arrows button:disabled { visibility: hidden; }
}
@media (max-width: 350px) {
  :root body.client-dashboard-page .client-dashboard-tabs { display: flex; overflow-x: auto; gap: 0; scrollbar-width: none; }
  :root body.client-dashboard-page .client-dashboard-tab[data-client-dashboard-tab] { flex: 0 0 70px; width: 70px !important; min-width: 70px !important; }
}
:root body.client-dashboard-page .workout-exercise-organize-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 0 8px 12px; }
:root body.client-dashboard-page .workout-exercise-organize-actions button,
:root body.client-dashboard-page .workout-exercise-organize-actions select { min-width: 40px; min-height: 40px; border: 1px solid #387aa8; border-radius: 9px; background: #27333e; color: #5aa9e8; font: inherit; }
:root body.client-dashboard-page .workout-exercise-organize-actions button:disabled { opacity: .4; }
:root body.client-dashboard-page .workout-exercise-organize-actions label { color: #5aa9e8; font-size: 13px; font-weight: 700; }
:root[data-client-theme="light"] body.client-dashboard-page .workout-exercise-organize-actions :is(button, select) { background: #e9f4fb; color: #176a9e; }
:root[data-client-theme="light"] body.client-dashboard-page .workout-exercise-organize-actions label { color: #176a9e; }

:root[data-client-theme="light"] body.client-dashboard-page .client-home-rewards { background: #f4f7f9; border-color: #bdc8d0; }
:root[data-client-theme="light"] body.client-dashboard-page .client-home-reward-count { color: #176a9e; }
:root[data-client-theme="light"] body.client-dashboard-page .client-home-reward-copy b { color: #172834; }
:root[data-client-theme="light"] body.client-dashboard-page .client-home-reward-copy small { color: #41515b; }
:root[data-client-theme="light"] body.client-dashboard-page .workout-completion-atari-message span:first-child { color: #8b5600; }
:root[data-client-theme="light"] body.client-dashboard-page :is(.client-home-checkin-links button, .client-home-plan-link, .client-home-community-heading button, .client-home-planner .kicker, .client-home-community .kicker) { color: #185f92; }
:root body.client-dashboard-page .client-home-grid .client-home-today-workout { order: 0; }
:root body.client-dashboard-page .client-home-planner { order: 1; }
:root body.client-dashboard-page .client-home-checkin-links { order: 2; }
:root body.client-dashboard-page .client-weekly-activity { order: 3; }
:root body.client-dashboard-page .client-home-community { order: 4; }
:root body.client-dashboard-page .client-home-resume-card { order: 1; }
:root body.client-dashboard-page .client-home-planner h3,
:root body.client-dashboard-page .client-home-community h3 { text-transform: none !important; letter-spacing: 0; line-height: 1.2; }
:root body.client-dashboard-page .client-home-planner h3 { font-size: clamp(18px, 5vw, 23px); }
:root body.client-dashboard-page .client-home-community h3 { font-size: 22px; }
:root body.client-dashboard-page .client-home-week-controls button { flex: 0 0 42px; width: 42px !important; min-width: 42px !important; max-width: 42px !important; height: 42px !important; padding: 0 !important; }
:root body.client-dashboard-page .client-home-week-controls strong { flex: 1 1 auto; min-width: 0; text-align: center; white-space: nowrap; }
:root body.client-dashboard-page .client-home-community-heading button { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 900px) {
  :root body.client-dashboard-page .client-dashboard-tab-label { text-transform: none !important; letter-spacing: 0 !important; }
}
:root body.client-dashboard-page .client-home-week-days button {
  display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; max-width: none !important; min-height: 75px !important; padding: 6px 0 !important;
}
:root body.client-dashboard-page .client-home-week-days button span:first-child {
  width: auto !important; max-width: none !important; flex: 0 0 auto; white-space: nowrap !important; overflow-wrap: normal !important;
}
:root body.client-dashboard-page .client-home-community-heading > div { flex: 1 1 auto; min-width: 0; }
:root body.client-dashboard-page .client-home-community-heading :is(.kicker, h3) { white-space: nowrap; overflow-wrap: normal; }
:root body.client-dashboard-page .client-home-community-heading button {
  display: inline-flex !important; width: auto !important; min-width: 0 !important; max-width: none !important;
  min-height: 44px; padding: 0 2px !important; flex: 0 0 auto !important;
}

:root body.client-dashboard-page .client-home-week-days .is-planned:not(.is-complete) .client-home-day-dot { background: #ffd400; }
:root[data-client-theme="light"] body.client-dashboard-page .client-home-week-days .is-planned:not(.is-complete) .client-home-day-dot { background: #9d6a00; }
