/* Coach workbench, SRS 3.0. Brand and semantic colors come from shared tokens. */
:root {
  --rail: var(--rail-width);
}
body {
  font-size: 15px;
}
body,
button,
input,
select,
textarea {
  font-family: var(--f-body);
}
h1,
h2,
h3 {
  font-family: var(--f-disp);
  text-transform: none;
  letter-spacing: -0.02em;
}
.main h1 {
  font-size: 1.5rem;
  line-height: 1.12;
  font-weight: 600;
}
h2 {
  font-size: 1.35rem;
  border: 0;
  padding: 0;
  font-weight: 600;
}
h3 {
  font-size: 1.1rem;
  font-weight: 600;
}
small,
.sub,
.hint,
.note,
.alert {
  line-height: 1.55;
}
.sub,
.hint {
  font-size: 0.875rem;
}
.eyebrow,
.flow-kicker {
  text-transform: none;
  font-family: var(--f-body);
  letter-spacing: 0;
  font-size: 0.875rem;
  font-weight: 600;
}
.mono {
  font-family: var(--f-body);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.btn {
  min-height: 44px;
  font-size: 0.875rem;
  border-radius: 8px;
  box-shadow: none;
}
.btn.sm {
  min-height: 44px;
  font-size: 0.8125rem;
}
.btn.gold {
  color: var(--on-gold);
}
button.btn.icon-only {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  flex: 0 0 44px;
}
.btn.icon-only svg {
  width: 20px;
  height: 20px;
  stroke-width: 1.8;
  pointer-events: none;
}
.photocard .btn.icon-only {
  width: 44px;
  height: 44px;
  padding: 0;
}
button,
input,
select,
textarea,
summary {
  outline-offset: 4px;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--gold-dp);
}
.f > span {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-bottom: 0.35rem;
}
input,
select,
textarea {
  min-height: 44px;
  font-size: 0.92rem;
  border-radius: 7px;
}
input[type='checkbox'] {
  min-height: 20px;
  width: 20px;
  height: 20px;
}
.tag {
  font-family: var(--f-body);
  font-size: 0.8125rem;
  letter-spacing: 0;
  text-transform: none;
  padding: 0.25rem 0.45rem;
}
.card {
  box-shadow: none;
  border-radius: 10px;
  padding: var(--panel-padding);
}
.card h2:first-child,
.card h3:first-child {
  margin-top: 0;
}
@media screen {
  .main h1 { line-height: 1.2; }
  .main h2 { font-size: 1.25rem; line-height: 1.35; }
  .main h3 { font-size: 1.0625rem; line-height: 1.4; }
  .main .sub, .main .hint { font-size: .875rem; }
  .main label.f > span { font-size: .875rem; font-weight: 500; }
  .main input:not([type='checkbox']):not([type='radio']), .main select, .main textarea { font-size: 1rem; }
  .main thead th, .main .cell .k, .main .readout-hd .t, .main .readout-hd .s { text-transform: none; letter-spacing: 0; font-size: .8125rem; }
  .main .cell .m { font-size: .8125rem; }
  .main table { font-size: .875rem; }
}
.row {
  flex-wrap: wrap;
}
.shell {
  display: grid;
  grid-template-columns: var(--rail) minmax(0, 1fr);
  align-items: start;
}
.rail {
  position: sticky;
  top: var(--demo-h);
  width: var(--rail);
  height: calc(100vh - var(--demo-h));
  border-right: 1px solid var(--rule);
  padding: 16px 12px 12px;
  background: var(--rail-bg, var(--card));
  color: var(--ink);
  display: flex;
  flex-direction: column;
  box-shadow: none;
}
.rail .brandmark {
  padding: 0 8px 16px;
  margin: 0;
  border-bottom: 1px solid var(--rule);
}
.rail .logo {
  width: 46px;
  height: 46px;
  object-fit: contain;
}
.rail .nm {
  font-size: 1rem;
  text-transform: none;
  color: var(--ink);
}
.rail .ro {
  color: var(--ink-3);
  font-size: .8125rem;
  text-transform: none;
  letter-spacing: 0;
}
.rail #nav {
  margin-top: 10px;
  flex: 1;
  overflow: auto;
}
.rail #nav .grp {
  margin: 12px 10px 4px;
  padding: 0;
  font-family: var(--f-body);
  color: var(--ink-3);
  text-transform: none;
  font-size: .8125rem;
  letter-spacing: 0.015em;
}
.rail #nav button {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  margin: 3px 0;
  border-radius: 8px;
  color: var(--ink-2);
  font-weight: 500;
  font-size: 0.875rem;
  border: 0;
  background: transparent;
  text-align: left;
}
.rail #nav button[aria-current='page'] {
  color: var(--ink);
  background: var(--gold-wash);
  font-weight: 700;
  box-shadow: inset 3px 0 var(--gold-dp);
}
.rail #nav button:hover {
  background: var(--band-2);
  color: var(--ink);
}
.rail #nav button[aria-current='page']:hover {
  background: var(--gold-wash);
}
.rail .gl {
  color: var(--ink-3);
}
.rail .nav-extras {
  font-size: 0.8125rem;
  margin: 14px 10px;
}
.rail .rail-foot {
  border-top: 1px solid var(--rule);
  padding-top: 15px;
  margin-top: 14px;
  color: var(--ink);
}
.rail .who b,
.rail .who span {
  color: var(--ink-2);
}
.rail .built {
  font-size: .8125rem;
}
.workspace-column {
  min-width: 0;
}
.main {
  width: 100%;
  min-width: 0;
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 16px var(--page-gutter) 32px;
}
.workspace-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  margin: 0 0 16px;
}
.workspace-heading .eyebrow {
  display: block;
  color: var(--ink-3);
  margin-bottom: 4px;
}
.workspace-heading h1 {
  margin: 0;
}
.workspace-heading .sub {
  margin: 4px 0 0;
  max-width: 60ch;
}
.section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 20px;
}
.section-heading h2,
.section-heading h3 {
  margin: 0;
}
.section-heading p {
  font-size: 0.875rem;
  margin: 0.5rem 0 0;
  color: var(--ink-3);
  max-width: 65ch;
}
.workspace-empty {
  padding: 28px 24px;
  text-align: center;
  border: 1px dashed var(--rule);
  border-radius: 10px;
  background: var(--card);
}
.workspace-empty h3 {
  margin: 0 0 10px;
}
.workspace-empty p {
  color: var(--ink-3);
  font-size: 0.87rem;
  max-width: 45ch;
  margin: 0 auto 18px;
}
.workspace-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 20px 0;
}
.workspace-toolbar > span {
  font-size: 0.8125rem;
  margin-left: auto;
  color: var(--ink-3);
}
.dashboard-workbench {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}
.priority-workspace {
  min-width: 0;
}
.intake-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: var(--card);
  overflow: hidden;
  margin-bottom: 22px;
}
.intake-strip button {
  text-align: left;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px;
  background: none;
  color: var(--ink);
  padding: 20px 16px;
  border: 0;
  border-right: 1px solid var(--rule);
  min-width: 0;
  cursor: pointer;
}
.intake-strip button:last-child {
  border-right: 0;
}
.intake-strip strong {
  font: 600 2rem var(--f-disp);
  grid-column: 1/-1;
}
.intake-strip span {
  font-size: 0.8125rem;
}
.intake-strip button:hover {
  background: var(--gold-wash);
}
.priority-list {
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 12px;
}
.priority-row {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 20px;
  border-bottom: 1px solid var(--rule);
}
.priority-row:last-child {
  border-bottom: 0;
}
.priority-row > div {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.priority-row b {
  font-size: 0.9rem;
}
.priority-row p {
  font-size: 0.875rem;
  color: var(--ink-3);
  line-height: 1.6;
  margin: 5px 0 0;
}
.priority-symbol {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--gold-wash);
  color: var(--gold-dp);
  font-weight: 700;
  flex-shrink: 0;
}
.dashboard-shortcuts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 20px;
}
.dashboard-shortcuts button {
  text-align: left;
  color: var(--ink);
  border: 0;
  border-top: 1px solid var(--rule);
  padding: 18px 4px;
  background: none;
}
.dashboard-shortcuts b,
.dashboard-shortcuts span {
  display: block;
  font-size: 0.875rem;
}
.dashboard-shortcuts span {
  color: var(--ink-3);
  margin-top: 8px;
}
.agenda-workspace {
  min-width: 0;
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 12px;
  padding: 24px;
}
.agenda-clock {
  font-size: 1.25rem;
  font-variant-numeric: tabular-nums;
  font-family: var(--f-disp);
}
.agenda-row {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  background: none;
  color: var(--ink);
  border: 0;
  border-bottom: 1px solid var(--rule);
  padding: 18px 0;
  text-align: left;
  cursor: pointer;
}
.agenda-row > span:nth-last-child(2) {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.agenda-row time {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.agenda-row small {
  display: block;
  color: var(--ink-3);
  font-size: .8125rem;
  font-weight: 400;
  margin-top: 5px;
}
.agenda-row b {
  font-size: 0.85rem;
}
.agenda-row .tag {
  font-size: .8125rem;
}
.agenda-workspace > .btn {
  margin-top: 20px;
}
.agenda-next {
  margin: 30px 0 12px;
}
.upcoming-date {
  font-size: .8125rem;
  color: var(--ink-3);
  margin-top: 18px;
}
.upcoming-date .agenda-row {
  padding-top: 9px;
}
.coach-note {
  border-top: 1px solid var(--rule);
  margin-top: 26px;
  padding-top: 22px;
}
.coach-note span {
  font-size: 0.8125rem;
  font-weight: 700;
}
.coach-note p {
  font-size: 0.8125rem;
  line-height: 1.7;
  color: var(--ink-3);
}
.pipeline-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 32px;
}
.pipeline-stages > button {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 10px;
  color: var(--ink);
  text-align: left;
  padding: 18px;
  cursor: pointer;
}
.pipeline-stages > button[aria-current='step'] {
  border-color: var(--gold-dp);
  box-shadow: inset 0 3px var(--gold-dp);
}
.pipeline-stages .stage-number {
  font-size: 0.75rem;
  border: 1px solid var(--rule);
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
}
.pipeline-stages > button > span:nth-child(2) {
  flex: 1;
  min-width: 100px;
}
.pipeline-stages b {
  font-size: 0.875rem;
}
.pipeline-stages small {
  display: block;
  font-size: .8125rem;
  color: var(--ink-3);
  margin-top: 7px;
}
.pipeline-stages strong {
  font: 600 2rem var(--f-disp);
  flex-basis: 100%;
}
.admission-client {
  display: flex;
  align-items: center;
  gap: 18px;
  background: var(--card);
  border-bottom: 1px solid var(--rule);
  padding: 24px;
}
.admission-client > div {
  flex: 1;
}
.admission-client h3 {
  margin: 0;
}
.admission-client p {
  margin: 5px 0 10px;
  color: var(--ink-3);
  font-size: 0.875rem;
}
.admissions-list [data-registrations] > .eyebrow {
  display: none;
}
.admissions-list .reg-row {
  border: 1px solid var(--rule) !important;
  background: var(--card) !important;
  padding: 24px !important;
  border-radius: 10px !important;
  margin-bottom: 8px;
}
.registration-details {
  margin-top: 12px;
  font-size: 0.875rem;
}
.registration-details summary {
  color: var(--gold-dp);
  font-weight: 600;
  padding: 8px 0;
}
.roster-stages {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.roster-stages button {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--rule);
  border-radius: 8px;
  padding: 10px 14px;
  min-height: 44px;
  color: var(--ink-2);
  background: var(--card);
  cursor: pointer;
  font-size: 0.875rem;
  min-width: 0;
  white-space: normal;
  text-align: left;
  overflow-wrap: anywhere;
}
.roster-stages button[aria-pressed='true'] {
  color: var(--ink);
  border-color: var(--gold-dp);
  background: var(--gold-wash);
}
.roster-stages b {
  font-variant-numeric: tabular-nums;
}
.activity-log table.cardify tr:has(td[colspan]) {
  display: table-row;
  margin: 0;
  padding: 0;
  border: 0;
}
.activity-log table.cardify td[colspan] {
  display: table-cell;
  width: 100%;
  text-align: left;
  padding: 24px;
}
.activity-log table.cardify td[colspan]::before { display: none; }
.activity-log td[colspan] .empty {
  width: 100%;
  padding: 8px 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}
.roster-search {
  flex: 1;
  min-width: 240px;
  max-width: 420px;
}
.roster-search input {
  width: 100%;
}
.roster-table {
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 0 14px;
}
.roster-table table {
  width: 100%;
}
.roster-table th {
  text-transform: none;
  letter-spacing: 0;
  font-size: .8125rem;
  font-family: var(--f-body);
  padding: 16px 10px;
  background: none;
}
.roster-table td {
  padding: 20px 10px;
  font-size: 0.875rem;
}
.roster-table small {
  display: block;
  font-size: .8125rem;
  color: var(--ink-3);
  margin-top: 7px;
}
/* Tablet rosters reflow into labelled records; every action remains visible. */
@media (max-width: 1100px) {
  .roster-table { padding: 0; border: 0; background: transparent; }
  .roster-table table.cardify { display: block; width: 100%; }
  .roster-table table.cardify thead { display: none; }
  .roster-table table.cardify tbody { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .roster-table table.cardify tr { display: flex; flex-direction: column; min-width: 0; width: auto; border: 1px solid var(--rule); border-radius: 10px; background: var(--card); padding: 20px; margin: 0; }
  .roster-table table.cardify td { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; width: 100%; border: 0; padding: 8px 0; text-align: right; white-space: normal; }
  .roster-table table.cardify td::before { content: attr(data-l); font-size: .8125rem; color: var(--ink-2); text-align: left; text-transform: none; letter-spacing: 0; }
  .roster-table table.cardify td[data-l='']::before { display: none; }
  .roster-table table.cardify td.lead { text-align: left; padding-bottom: 16px; margin-bottom: 8px; border-bottom: 1px solid var(--rule); }
  .roster-table table.cardify td > small { flex: 0 0 100%; margin-top: 0; }
  .roster-table table.cardify td:last-child { margin-top: auto; padding-top: 16px; }
  .roster-table .roster-actions { width: 100%; }
  .roster-table .roster-actions > .btn { flex: 1; }
  .roster-table .row-menu > summary::after { content: none; }
}
@media (max-width: 600px) { .roster-table table.cardify tbody { grid-template-columns: 1fr; } }
.roster-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.row-menu,
.dossier-actions {
  position: relative;
}
.row-menu > summary {
  list-style: none;
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.row-menu > summary::after {
  content: none;
}
.row-menu > div,
.dossier-actions > div {
  position: absolute;
  z-index: 20;
  right: 0;
  top: 100%;
  display: grid;
  width: 200px;
  background: var(--card);
  border: 1px solid var(--rule);
  padding: 8px;
  border-radius: 8px;
  box-shadow: var(--shadow);
}
.row-menu:not([open]) > div,
.dossier-actions:not([open]) > div {
  display: none;
}
.dossier-header {
  padding-bottom: 24px;
  margin-bottom: 0;
}
.dossier-breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  color: var(--ink-3);
  font-size: 0.8125rem;
}
.dossier-actions {
  margin-left: auto;
}
.dossier-actions > summary {
  cursor: pointer;
  padding: 12px;
}
.dossier-identity {
  display: flex;
  gap: 18px;
  align-items: center;
}
.dossier-identity > div {
  flex: 1;
  min-width: 0;
}
.dossier-identity h1 {
  margin: 0;
}
.dossier-identity p {
  font-size: 0.875rem;
  color: var(--ink-3);
  margin: 0.5rem 0 0.8rem;
}
/* Client records use one horizontal secondary navigation, with local overflow. */
.dossier-workspace { display: block; min-width: 0; }
.dossier-index { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: thin; border-bottom: 1px solid var(--rule); margin-bottom: 24px; padding-bottom: 0; }
.dossier-index > div { display: flex; gap: 4px; flex: 0 0 auto; }
.dossier-index > div > span { display: none; }
.dossier-index button { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; min-height: 48px; padding: 12px 16px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--ink-2); font-size: .875rem; white-space: nowrap; }
.dossier-index button[aria-current='page'] { color: var(--gold-dp); border-bottom-color: var(--gold-dp); font-weight: 600; }
.dossier-pane { min-width: 0; }
.dossier-index i {
  margin-left: auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold-dp);
}
.client-brief {
  display: grid;
  grid-template-columns: 1fr minmax(145px, 0.45fr);
  gap: 24px;
  padding: 24px;
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 10px;
  margin-bottom: 20px;
}
.client-brief span {
  font-size: 0.75rem;
  color: var(--ink-3);
}
.client-brief h2 {
  line-height: 1.4;
  margin: 10px 0 8px;
}
.client-brief p {
  margin: 8px 0 0;
  font-size: 0.875rem;
  color: var(--ink-3);
}
.client-brief strong {
  display: block;
  font-size: 1.6rem;
  margin-top: 12px;
  font-family: var(--f-disp);
}
.profile-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.profile-section { min-width: 0; }
.profile-section > .spread { margin-bottom: 16px; }
.profile-section h2 { margin: 0; }
.profile-facts { margin: 0; }
.profile-facts > div { display: grid; grid-template-columns: minmax(100px,.75fr) minmax(0,1.25fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--rule-2); }
.profile-facts > div:last-child { border-bottom: 0; padding-bottom: 0; }
.profile-facts dt { color: var(--ink-2); font-size: .875rem; }
.profile-facts dd { margin: 0; font-size: .875rem; font-weight: 500; overflow-wrap: anywhere; }
.profile-missing { color: var(--ink-3); font-weight: 400; }
.profile-photo { margin-top: 16px; padding-top: 8px; border-top: 1px solid var(--rule); }
.profile-photo > summary { font-size: .875rem; }
.profile-photo .row { padding-top: 16px; }
.profile-metrics { margin-top: 24px; }
.profile-metrics > summary { font-size: 1rem; font-weight: 600; color: var(--ink); }
.profile-metrics .readout { margin-top: 16px; }
.profile-edit .grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-block: 16px 24px; align-items: start; }
.profile-edit .f { margin-bottom: 0; }
.profile-edit h3 { margin: 0; }
.legacy-onboarding.card { padding: 12px 20px; }
.legacy-onboarding > summary { color: var(--ink); font-size: .9375rem; font-weight: 600; }
.legacy-onboarding > .row { padding-top: 16px; }
@media (max-width: 700px) {
  .profile-sections, .profile-edit .grid { grid-template-columns: 1fr; }
  .profile-sections { gap: 16px; }
  .profile-facts > div { grid-template-columns: 1fr; gap: 4px; }
}
.account-support {
  margin: 20px 0;
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 16px;
  background: var(--card);
}
.account-support > summary {
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
}
.profile-details {
  font-size: 0.875rem;
}
.onboarding-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  background: var(--gold-wash);
}
.onboarding-summary > div:first-child {
  flex: 1;
}
.flow-progress {
  display: block;
  width: 100%;
  height: 5px;
  margin: 0 0 26px;
  accent-color: var(--gold-dp);
  border: 0;
}
.intake-workspace {
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
.intake-index {
  position: sticky;
  top: 20px;
}
.intake-index > button {
  background: none;
  color: var(--ink);
  border: 0;
  width: 100%;
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 12px 8px;
  border-radius: 8px;
  text-align: left;
  min-height: 62px;
}
.intake-index > button > span:first-child {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid var(--rule);
  display: grid;
  place-items: center;
  font-size: 0.75rem;
}
.intake-index > button[aria-current='step'] {
  background: var(--gold-wash);
}
.intake-index > button[aria-current='step'] > span:first-child {
  background: var(--gold);
  color: var(--ink);
  border-color: var(--gold);
}
.intake-index b {
  font-size: 0.8125rem;
  line-height: 1.4;
  display: block;
}
.intake-index small {
  font-size: 0.75rem;
  color: var(--ink-3);
  display: block;
  margin-top: 5px;
}
.intake-canvas {
  min-width: 0;
  padding: 26px;
  border: 1px solid var(--rule);
  background: var(--card);
  border-radius: 12px;
}
.intake-heading {
  border-bottom: 1px solid var(--rule);
  padding-bottom: 20px;
  margin-bottom: 24px;
}
.intake-heading > span {
  font-size: 0.75rem;
  color: var(--gold-dp);
  font-weight: 600;
}
.intake-heading h3 {
  font-size: 1.35rem;
  margin: 10px 0;
}
.intake-heading p {
  color: var(--ink-3);
  font-size: 0.875rem;
  margin: 0;
  line-height: 1.65;
}
.intake-field-group {
  margin-bottom: 28px;
}
.intake-field-group h3 {
  font-size: 1rem;
  margin: 0 0 16px;
}
.intake-field-group > p {
  font-size: 0.875rem;
  color: var(--ink-3);
}
.intake-field-group .grid {
  gap: 16px;
}
.intake-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 24px;
  margin-top: 28px;
  border-top: 1px solid var(--rule);
}
.intake-controls > span {
  font-size: 0.75rem;
  color: var(--ink-3);
  text-align: center;
}
.intake-question {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  border-bottom: 1px solid var(--rule);
}
.intake-question > span {
  display: flex;
  gap: 12px;
  font-size: 0.875rem;
  line-height: 1.65;
}
.intake-question b {
  font-size: 0.8125rem;
  color: var(--ink-3);
}
.intake-question select {
  width: 95px;
  flex-shrink: 0;
}
.intake-question-list {
  margin-bottom: 28px;
}
.intake-form > .card {
  padding: 0;
  border: 0;
  background: none;
}
.intake-form .card.live > .spread:first-child > .row {
  display: none;
}
.intake-form .grid.g4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px !important;
}
.intake-form > .intake-field-group > .f {
  max-width: 260px;
}
.saved-intake-record {
  padding: 24px;
  border: 1px solid var(--rule);
  background: var(--band-2);
  border-radius: 10px;
}
.saved-intake-record > span {
  color: var(--ok);
  font-size: 0.8125rem;
}
.approval-summary > div {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--rule);
}
.approval-summary b {
  flex: 1;
  font-size: 0.875rem;
}
.approval-summary {
  margin-bottom: 24px;
}
.document-review {
  margin-top: 24px;
  border-top: 1px solid var(--rule);
  padding-top: 20px;
  font-size: 0.85rem;
}
.document-review article {
  padding-top: 20px;
}
.document-copy {
  white-space: pre-wrap;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.package-intake-options {
  padding: 22px;
  border: 1px solid var(--rule);
  border-radius: 8px;
  margin-top: 22px;
  background: var(--band-2);
  font-size: 0.86rem;
}
.planner-actionbar {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  padding: 18px 20px;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: var(--card);
}
.planner-actionbar > div:first-child {
  flex: 1;
}
.planner-actionbar > div:first-child > span {
  color: var(--ink-3);
  font-size: 0.75rem;
}
.planner-actionbar h2,
.planner-actionbar h3 {
  margin: 5px 0 0;
}
.planner-actionbar > .row {
  justify-content: flex-end;
}
.programme-settings {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 20px 0;
}
.programme-settings .f {
  margin: 0;
}
.programme-calendar {
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 10px;
  margin: 24px 0;
  overflow: hidden;
}
.programme-weekbar {
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}
.programme-weekbar > div:first-child {
  margin-right: auto;
}
.programme-weekbar span {
  font-size: 0.75rem;
  color: var(--ink-3);
}
.programme-weekbar h3 {
  margin: 5px 0 0;
}
.week-selector {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.week-selector .btn {
  min-width: 44px;
  min-height: 44px;
  padding: 4px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.week-selector .btn small { font-size: 0.75rem; font-weight: 400; white-space: nowrap; }
.programme-date-range { margin: 6px 0 0; }
.week-selector .btn[aria-pressed='true'] {
  background: var(--gold-wash);
  border-color: var(--gold-dp);
}
.programme-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: 1px solid var(--rule);
}
.programme-days button {
  border: 0;
  border-right: 1px solid var(--rule);
  color: var(--ink);
  background: none;
  text-align: center;
  min-width: 0;
  padding: 15px 5px;
  cursor: pointer;
}
.programme-days button:last-child {
  border-right: 0;
}
.programme-days button[aria-current='date'] {
  background: var(--gold-wash);
  box-shadow: inset 0 -3px var(--gold-dp);
}
.programme-days span,
.programme-days b,
.programme-days small {
  display: block;
}
.programme-days span {
  font-size: 0.75rem;
  color: var(--ink-3);
}
.programme-days b {
  font-size: 1.3rem;
  font-weight: 600;
  margin: 7px 0;
}
.programme-days small {
  font-size: 0.75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.programme-days .programme-day-date { color: var(--ink-3); margin-bottom: 4px; }
.programme-days i {
  width: 5px;
  height: 5px;
  display: block;
  margin: 9px auto 0;
  border-radius: 50%;
  background: var(--rule);
}
.programme-days .planned {
  background: var(--gold-dp);
}
.workout-day-sheet {
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 24px;
}
.workout-day-sheet > .grid.g4 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.workout-day-sheet .scroll {
  max-width: 100%;
}
.workout-day-sheet table {
  min-width: 570px;
}
.workout-day-sheet table th {
  font-family: var(--f-body);
  letter-spacing: 0;
  text-transform: none;
}
.workout-day-sheet table input {
  font-size: 0.875rem;
}
.workout-day-sheet table tbody > tr > th {
  background: var(--band-2);
  padding: 12px;
  font-size: 0.875rem;
}
.training-log-disclosure {
  margin: 20px 0;
  padding: 15px;
  border: 1px solid var(--rule);
  border-radius: 8px;
  font-size: 0.875rem;
  background: var(--card);
}
.training-log-disclosure .card {
  border: 0;
  padding: 18px 0 0;
}
.nutrition-calendar {
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 20px;
  margin: 24px 0;
}
.nutrition-calendar .programme-settings {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 0;
}
.nutrition-date-caption {
  display: flex;
  align-items: center;
  gap: 15px;
  justify-content: space-between;
}
.nutrition-date-caption h3 {
  margin: 0;
}
.nutrition-date-caption p {
  font-size: 0.8125rem;
  color: var(--ink-3);
}
.nutrition-day-strip {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
  margin-top: 16px;
}
.nutrition-day-strip button {
  border: 1px solid var(--rule);
  background: none;
  color: var(--ink);
  border-radius: 7px;
  min-height: 60px;
  font-size: 0.8125rem;
}
.nutrition-day-strip button[aria-current='date'] {
  background: var(--gold-wash);
  border-color: var(--gold-dp);
}
.nutrition-day-strip small {
  display: block;
  margin-top: 5px;
}
#nutriwrap {
  grid-template-columns: minmax(0, 1.15fr) minmax(265px, 0.85fr);
  gap: 20px;
}
#nutriwrap > div {
  /* The phone layout switches to a column flexbox with align-items:start.
     Bound both columns to its width instead of their table's intrinsic width. */
  width: 100%;
  min-width: 0;
}
#nutriwrap table {
  font-size: 0.875rem;
}
#nutriwrap .meal-macros {
  display: block;
  font-size: 0.75rem;
  margin-top: 5px;
}
.calendar-datebar {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  margin: 24px 0 16px;
}
.calendar-datebar .f {
  margin: 0;
}
.calendar-availability,
.calendar-agenda {
  padding: 24px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: var(--card);
  min-width: 0;
}
.calendar-agenda table {
  font-size: 0.875rem;
}
.session-month { margin: 24px 0; border: 1px solid var(--rule); border-radius: 12px; background: var(--card); overflow: hidden; }
.session-month-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; flex-wrap: wrap; }
.session-month-navigation { display: flex; gap: 12px; align-items: center; }
.session-month-navigation h2 { margin: 0; padding: 0; border: 0; font-size: 1.25rem; }
.session-month .calendar-datebar { margin: 0; align-items: center; }
.session-month .calendar-datebar .f { display: flex; align-items: center; gap: 10px; }
.session-month .calendar-datebar .f > span { margin: 0; white-space: nowrap; }
.session-month-weekdays, .session-month-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.session-month-weekdays { border-top: 1px solid var(--rule); background: var(--band-2); }
.session-month-weekdays span { text-align: center; padding: 10px 4px; font-size: 0.8125rem; color: var(--ink-3); }
.session-calendar-day { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; min-width: 0; min-height: 76px; padding: 12px 16px; border: 0; border-top: 1px solid var(--rule); border-right: 1px solid var(--rule); border-radius: 0; background: var(--card); color: var(--ink); text-align: left; cursor: pointer; }
.session-calendar-day:nth-child(7n) { border-right: 0; }
.session-calendar-day > span { font-size: 1rem; font-weight: 600; }
.session-calendar-day small { min-height: 1em; font-size: 0.75rem; color: var(--ink-3); }
.session-calendar-day.outside-month { background: var(--band-2); color: var(--ink-3); }
.session-calendar-day:hover { background: var(--gold-wash); }
.session-calendar-day[aria-current='date'] > span { text-decoration: underline; text-underline-offset: 5px; }
.session-calendar-day[aria-pressed='true'] { background: var(--gold-wash); box-shadow: inset 0 -3px var(--gold); color: var(--ink); }
.session-calendar-day:focus-visible { outline: 2px solid var(--gold-dp); outline-offset: -3px; }
.session-calendar-hint { padding: 12px 24px; border-top: 1px solid var(--rule); margin: 0; color: var(--ink-3); font-size: 0.8125rem; }
.session-overview { margin-block: 24px; padding-block: 20px; border-block: 1px solid var(--rule); }
.session-overview > header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 20px; flex-wrap: wrap; }
.session-overview h2 { margin: 0; padding: 0; border: 0; font-size: 1.1rem; }
.session-overview > header p { margin: 0; font-size: 0.8125rem; color: var(--ink-3); }
.session-overview-totals { display: grid; grid-template-columns: repeat(auto-fit,minmax(112px,1fr)); gap: 16px 20px; margin: 20px 0 12px; }
.session-overview-totals > div { min-width: 0; }
.session-overview-totals dt { font-size: 0.8125rem; color: var(--ink-3); overflow-wrap: anywhere; }
.session-overview-totals dd { margin: 5px 0 0; font-size: 1.5rem; line-height: 1.2; font-weight: 600; font-variant-numeric: tabular-nums; }
.session-overview-note { margin: 0; color: var(--ink-3); font-size: 0.8125rem; }
.session-overview > .note { margin: 16px 0 0; }
.session-day { margin-block: 28px; }
.session-day-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.session-day-heading h2 { margin: 0; padding: 0; border: 0; font-size: 1.15rem; }
.session-day-heading p { margin: 5px 0 0; color: var(--ink-3); font-size: 0.8125rem; }
.session-day .calendar-availability .slots { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.session-day .slot { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--rule); border-radius: 7px; padding: 12px 4px; min-width: 0; min-height: 66px; background: var(--card); color: var(--ink); cursor: pointer; }
.session-day .slot small { font-size: 0.75rem; color: var(--ink-3); max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.session-day .slot:hover:not(:disabled), .session-day .slot[aria-pressed='true'] { border-color: var(--gold-dp); background: var(--gold-wash); }
.session-day .slot.taken { background: var(--band-2); cursor: default; opacity: .7; }
.session-day .slot.req { border-style: dashed; }
.session-assignment { margin-block: 24px; border-color: var(--gold-line); }
.session-assignment h3 { font-size: 1.1rem; }
.session-assignment > .spread { gap: 16px; flex-wrap: wrap; }
.session-assignment .spread > .row { flex-wrap: wrap; }
.session-availability-settings { margin-top: 24px; }
@media(max-width: 900px) {
  .session-month-heading { padding: 16px; }
  .session-calendar-day { padding: 10px; min-height: 64px; }
  .session-day .calendar-availability .slots { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media(max-width: 520px) {
  .session-month-navigation { justify-content: space-between; width: 100%; gap: 4px; }
  .session-month .calendar-datebar { width: 100%; justify-content: space-between; gap: 8px; }
  .session-month .calendar-datebar .f { display: block; min-width: 0; }
  .session-month .calendar-datebar input { max-width: 100%; }
  .session-month .calendar-datebar .f > span { font-size: 0.8125rem; margin-bottom: 4px; }
  .session-calendar-day { align-items: center; padding: 10px 2px; min-height: 60px; }
  .session-calendar-day .session-count-label { display: none; }
  .session-calendar-hint { padding: 12px 16px; }
  .session-day .calendar-availability { padding: 14px; }
  .session-day .calendar-availability .slots { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .session-day-heading > .row { width: 100%; flex-wrap: wrap; }
  .session-assignment .grid { grid-template-columns: 1fr; }
  .session-assignment > .spread > .row { width: 100%; }
}
.library-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 275px;
  gap: 22px;
  align-items: start;
}
.library-name,
.receipt-number {
  border: 0;
  background: none;
  padding: 5px 0;
  color: var(--ink);
  text-align: left;
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
}
.library-name:hover,
.receipt-number:hover {
  color: var(--gold-dp);
  text-decoration: underline;
}
.library-table {
  min-width: 0;
  padding: 0 14px;
}
.library-table td {
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 0.8125rem;
}
.library-inspector {
  position: sticky;
  top: 24px;
  background: var(--card);
  padding: 24px;
  border: 1px solid var(--rule);
  border-radius: 10px;
}
.library-inspector > span {
  font-size: .8125rem;
  color: var(--gold-dp);
  font-weight: 600;
}
.library-inspector h3 {
  font-size: 1.25rem;
  line-height: 1.35;
  margin: 12px 0;
}
.library-inspector p,
.library-inspector dd {
  font-size: 0.875rem;
  color: var(--ink-2);
  line-height: 1.65;
}
.library-inspector dt {
  color: var(--ink-3);
  font-size: .8125rem;
  margin: 15px 0 5px;
}
.library-inspector dd {
  margin: 0;
}
.library-inspector > .btn {
  margin-top: 20px;
}
.food-nutrition-readout > b {
  display: block;
  font: 600 2.2rem var(--f-disp);
  padding: 18px 0;
  border-bottom: 1px solid var(--rule);
}
.food-nutrition-readout small {
  display: block;
  font: 400 0.72rem var(--f-body);
  color: var(--ink-3);
  margin-top: 7px;
}
.food-nutrition-readout dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.library-editor {
  max-width: 880px;
  padding: 28px;
}
.finance-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 22px;
  margin-bottom: 24px;
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 12px;
}
.finance-summary .kpi {
  box-shadow: none;
  border: 0;
  border-right: 1px solid var(--rule);
  background: none;
  padding: 4px 20px;
}
.finance-summary .kpi:last-child {
  border: 0;
}
.finance-summary .kpi .k {
  font-size: .8125rem;
  text-transform: none;
  letter-spacing: 0;
}
.finance-summary .kpi .v {
  font-size: 1.55rem;
}
.finance-summary .kpi .d {
  font-size: .8125rem;
}
.ledger-workspace {
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: var(--card);
  padding: 24px;
}
.ledger-workspace table {
  font-size: 0.875rem;
}
.receipt-inspector {
  padding: 24px;
  margin: 24px 0;
  background: var(--gold-wash);
  border: 1px solid var(--gold-line);
  border-radius: 12px;
}
.receipt-detail-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 36px;
}
.receipt-detail-grid > div > span {
  display: block;
  font-size: 0.8125rem;
  color: var(--ink-3);
}
.receipt-detail-grid strong {
  display: block;
  font: 600 2rem var(--f-disp);
  margin: 15px 0;
}
.receipt-detail-grid dl {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 10px 15px;
  font-size: 0.875rem;
  margin: 0;
}
.receipt-detail-grid dt {
  color: var(--ink-3);
}
.receipt-detail-grid dd {
  margin: 0;
}
.settings-workspace {
  display: grid;
  grid-template-columns: 190px minmax(0, 850px);
  gap: 28px;
}
.settings-index {
  position: sticky;
  top: 20px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.settings-index button {
  min-height: 46px;
  border: 0;
  border-radius: 7px;
  color: var(--ink-2);
  background: none;
  text-align: left;
  padding: 12px 15px;
  font-size: 0.85rem;
}
.settings-index button[aria-current='page'] {
  background: var(--gold-wash);
  font-weight: 700;
  color: var(--gold-dp);
  box-shadow: inset 3px 0 var(--gold-dp);
}
.settings-index button:hover {
  background: var(--band-2);
}
.settings-index button[aria-current='page']:hover {
  background: var(--gold-wash);
}
.settings-pane {
  min-width: 0;
}
.settings-pane > .card + .card {
  margin-top: 20px;
}
.settings-pane .f:has([data-act='set:theme']) {
  max-width: 28rem;
  margin-bottom: 0;
}
.membership-policy {
  padding: 18px;
  margin: 24px 0;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: var(--card);
}
.membership-policy > summary {
  font-size: 0.875rem;
  font-weight: 600;
}
.membership-policy > p {
  margin-top: 20px !important;
}
.package-service-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: .8125rem;
}
.package-service-list .included {
  color: var(--ok);
}
.package-service-list .excluded {
  color: var(--ink-3);
}
.cms-publishbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 15px 20px;
  margin-bottom: 25px;
}
.cms-publishbar > span {
  font-size: 0.8125rem;
  color: var(--ink-3);
}
.cms-workspace {
  display: grid;
  grid-template-columns: 155px minmax(0, 1fr) 275px;
  gap: 22px;
  align-items: start;
}
.cms-tabs {
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: sticky;
  top: 20px;
}
.cms-tabs .btn {
  border: 0;
  background: none;
  justify-content: flex-start;
  text-align: left;
  font-size: 0.8125rem;
  padding: 10px;
}
.cms-tabs .btn[aria-current='page'] {
  background: var(--gold-wash);
  color: var(--gold-dp);
  box-shadow: inset 3px 0 var(--gold-dp);
  font-weight: 600;
}
.cms-tabs .btn:hover {
  background: var(--band-2);
}
.cms-tabs .btn[aria-current='page']:hover {
  background: var(--gold-wash);
}
.cms-section {
  min-width: 0;
  background: var(--card);
  border: 1px solid var(--rule);
  padding: 26px;
  border-radius: 10px;
}
.cms-section > .f {
  margin-bottom: 22px;
}
.cms-section .cms-photo {
  margin: 20px 0;
}
.cms-section .cms-item-summary {
  flex-wrap: wrap;
}
.cms-section .cms-item-summary .row {
  margin-left: auto;
}
.cms-preview {
  position: sticky;
  top: 20px;
  border: 1px solid var(--rule);
  background: var(--card);
  border-radius: 10px;
  overflow: hidden;
}
.cms-preview > div {
  padding: 18px;
  border-bottom: 1px solid var(--rule);
}
.cms-preview span {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--gold-dp);
}
.cms-preview h3 {
  margin: 9px 0;
}
.cms-preview p {
  color: var(--ink-3);
  font-size: .8125rem;
  line-height: 1.6;
}
.cms-preview iframe {
  border: 0;
  width: 100%;
  height: 560px;
  background: white;
  display: block;
}
.cms-section-select {
  display: none;
}
.cms-draft-actions {
  margin-top: 20px;
  border-top: 1px solid var(--rule);
  padding: 16px 8px;
  font-size: .8125rem;
  color: var(--ink-3);
}
.gate {
  min-height: 100vh;
  background: var(--paper);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 32px;
}
.gate-card {
  width: min(480px, 100%);
  padding: 40px;
  border-radius: 16px;
  background: var(--card);
  border: 1px solid var(--rule);
  box-shadow: none;
}
.gate-card .brandmark {
  margin-bottom: 36px;
}
.gate-card .auth-kicker {
  font-size: 0.8125rem;
  color: var(--gold-dp);
  margin: 0 0 10px;
}
.gate-card h1 {
  font-size: 2.2rem;
}
.gate-card .sub {
  line-height: 1.7;
  margin: 14px 0 24px;
}
.gate-card .f {
  margin-bottom: 20px;
}
.gate-card form > .btn {
  width: 100%;
}
.main[data-view='activity'] > .grid.g4 {
  background: var(--card);
  padding: 12px;
  border: 1px solid var(--rule);
  border-radius: 10px;
}
.main[data-view='activity'] > .grid.g4 .kpi {
  border: 0;
  box-shadow: none;
  background: none;
}
.main[data-view='whatsnew'] > .wn-rel {
  border: 0;
  border-left: 2px solid var(--rule);
  border-radius: 0;
  padding: 26px;
  background: transparent;
  margin-left: 12px;
}
.main[data-view='whatsnew'] > .wn-rel.is-new {
  border-color: var(--gold-dp);
  background: var(--card);
}
@media (min-width: 1500px) {
  .main {
    padding: 32px 32px 56px;
  }
  .dashboard-workbench {
    gap: 36px;
  }
}
@media (max-width: 1250px) {
  :root {
    --rail: 208px;
  }
  .main {
    padding: 28px 24px 48px;
  }
  .dashboard-workbench {
    gap: 20px;
  }
  .priority-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 16px;
  }
  .priority-row > .btn {
    grid-column: 2;
    justify-self: start;
  }
  .intake-workspace {
    grid-template-columns: 1fr;
  }
  .intake-index {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
  }
  .intake-index > button {
    min-height: 72px;
  }
  .cms-workspace {
    grid-template-columns: 145px minmax(0, 1fr);
  }
  .cms-preview {
    grid-column: 2;
    position: static;
  }
  .cms-preview iframe {
    height: 360px;
  }
  .library-workspace {
    grid-template-columns: minmax(0, 1fr) 235px;
  }
  .library-inspector {
    padding: 18px;
  }
  .planner-actionbar {
    flex-wrap: wrap;
  }
  .planner-actionbar > .row {
    width: 100%;
    justify-content: flex-start;
  }
  .nutrition-calendar .programme-settings {
    grid-template-columns: repeat(2, 1fr);
  }
  #nutriwrap {
    grid-template-columns: 1fr;
  }
  #nutriside {
    position: static !important;
  }
}
@media (max-width: 1000px) {
  .dashboard-workbench {
    grid-template-columns: 1fr;
  }
  .agenda-workspace {
    max-width: none;
  }
  .pipeline-stages {
    grid-template-columns: repeat(2, 1fr);
  }
  .library-workspace {
    grid-template-columns: 1fr;
  }
  .library-inspector {
    position: static;
  }
  .finance-summary {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .finance-summary .kpi:nth-child(2) {
    border: 0;
  }
  .intake-canvas {
    padding: 22px;
  }
}
@media (max-width: 900px) {
  .shell {
    display: block;
  }
  .workspace-column {
    width: 100%;
  }
  .main {
    padding: calc(var(--demo-h) + 68px) var(--page-gutter) 32px;
  }
  .rail {
    position: fixed;
    top: calc(var(--demo-h) + 56px);
    width: 100%;
    height: auto;
    max-height: 0;
    padding: 0 20px;
    display: block;
    overflow: hidden;
    z-index: 45;
    background: var(--card);
  }
  #navtog:checked ~ .shell .rail {
    padding: 16px 20px 24px;
    max-height: calc(100dvh - var(--demo-h, 0px) - 56px);
    overflow: auto;
    box-shadow: 0 20px 40px #0002;
  }
  .rail #nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 12px;
    overflow: visible;
  }
  .rail .grp {
    grid-column: 1/-1;
    margin-top: 10px !important;
  }
  .rail .nav-extras {
    grid-column: 1/-1;
  }
  .rail .rail-foot {
    padding-top: 18px;
  }
  .rail #nav button {
    min-height: 44px;
    font-size: 0.9rem;
  }
  .topbar {
    background: var(--card);
    border-bottom: 1px solid var(--rule);
  }
  .topbar .nm {
    color: var(--ink);
  }
  .topbar .ro {
    color: var(--ink-3);
  }
  .burger {
    background: var(--band-2);
    border-color: var(--rule);
  }
  .burger span,
  .burger span:before,
  .burger span:after {
    background: var(--ink);
  }
  .workspace-heading {
    align-items: flex-start;
    gap: 15px;
  }
  .workspace-heading > .row {
    justify-content: flex-end;
  }
  .programme-settings {
    grid-template-columns: repeat(3, 1fr);
  }
  .btn.sm {
    min-height: 42px;
  }
  input,
  select,
  textarea {
    font-size: 16px;
    min-height: 46px;
  }
  .settings-workspace {
    grid-template-columns: 150px minmax(0, 1fr);
  }
}
@media (max-width: 640px) {
  .main {
    padding-inline: var(--page-gutter);
  }
  .workspace-heading {
    display: block;
  }
  .workspace-heading > .row {
    justify-content: flex-start;
    margin-top: 18px;
  }
  .workspace-heading h1 {
    font-size: 1.5rem;
  }
  .workspace-heading .sub {
    font-size: 0.85rem;
  }
  .intake-strip {
    gap: 0;
  }
  .intake-strip button {
    padding: 17px 12px;
  }
  .intake-strip span {
    font-size: 0.75rem;
  }
  .intake-strip strong {
    font-size: 1.75rem;
  }
  .priority-row {
    padding: 18px 14px;
  }
  .priority-row > .tag {
    min-width: 62px;
  }
  .priority-row > .btn {
    grid-column: 1 / -1;
    width: 100%;
  }
  .agenda-workspace {
    padding: 20px;
  }
  .agenda-row {
    gap: 10px;
  }
  .agenda-row .tag {
    display: none;
  }
  .dashboard-shortcuts {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .pipeline-stages {
    gap: 8px;
  }
  .pipeline-stages > button {
    padding: 15px 12px;
  }
  .pipeline-stages > button > span:nth-child(2) {
    min-width: 70px;
  }
  .pipeline-stages small {
    font-size: .8125rem;
  }
  .admission-client {
    flex-wrap: wrap;
    padding: 20px 16px;
  }
  .admission-client > .btn {
    width: 100%;
  }
  .roster-stages {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .roster-stages > button:first-child {
    grid-column: 1/-1;
  }
  .workspace-toolbar {
    gap: 12px;
  }
  .workspace-toolbar > span {
    margin-left: 0;
  }
  .roster-search {
    max-width: none;
    flex-basis: 100%;
  }
  .roster-table {
    background: none;
    border: 0;
    padding: 0;
  }
  .roster-table table.cardify tr {
    padding: 18px;
    margin-bottom: 12px;
    border-radius: 12px;
  }
  .roster-table table.cardify td {
    padding: 6px 0;
  }
  .roster-table table.cardify td:first-child {
    justify-content: flex-start;
  }
  .roster-table table.cardify td:before {
    font-family: var(--f-body);
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.8125rem;
  }
  .roster-table table.cardify td.lead {
    padding-bottom: 15px;
  }
  .roster-table table.cardify td[data-l='']:last-child {
    padding-top: 14px;
  }
  .roster-actions {
    width: 100%;
  }
  .roster-actions > .btn {
    flex: 1;
  }
  .roster-table small {
    font-size: .8125rem;
  }
  .dossier-breadcrumb {
    margin-bottom: 18px;
  }
  .dossier-identity {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .dossier-identity h1 {
    font-size: 1.65rem;
  }
  .dossier-identity > .btn {
    width: 100%;
  }
  .dossier-identity .avatar {
    width: 48px !important;
    height: 48px !important;
  }
  .dossier-identity > div {
    min-width: 200px;
  }
  .dossier-identity p {
    line-height: 1.65;
  }
  .client-brief {
    grid-template-columns: 1fr;
    padding: 20px;
  }
  .client-brief > div + div {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 16px;
    padding-top: 16px;
    border-top: 1px solid var(--rule);
  }
  .client-brief strong {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    margin: 0;
    font-size: 1.4rem;
  }
  .onboarding-summary > .row {
    width: 100%;
  }
  .intake-index {
    grid-template-columns: 1fr 1fr;
  }
  .intake-index > button {
    padding: 10px 7px;
    gap: 8px;
  }
  .intake-index b {
    font-size: 0.75rem;
  }
  .intake-canvas {
    padding: 20px 16px;
  }
  .intake-heading h3 {
    font-size: 1.25rem;
  }
  .intake-form .grid.g2,
  .intake-form .grid.g4 {
    grid-template-columns: 1fr;
  }
  .intake-question {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
  }
  .intake-question > span {
    font-size: 0.86rem;
  }
  .intake-question select {
    margin-left: 24px;
    width: calc(100% - 24px);
  }
  .intake-controls {
    flex-wrap: wrap;
  }
  .intake-controls > span {
    display: none;
  }
  .intake-controls > .btn {
    flex: 1;
  }
  .approval-summary > div {
    flex-wrap: wrap;
  }
  .approval-summary b {
    min-width: 150px;
  }
  .planner-actionbar {
    padding: 18px 16px;
  }
  .planner-actionbar > .row > .btn:not(.icon-only) {
    flex: 1;
  }
  .programme-settings,
  .nutrition-calendar .programme-settings {
    grid-template-columns: 1fr 1fr;
  }
  .programme-settings > .f:first-child {
    grid-column: 1/-1;
  }
  .programme-weekbar {
    padding: 16px;
  }
  .programme-weekbar > .week-selector {
    width: 100%;
    order: 3;
  }
  .week-selector {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
  }
  .programme-days button {
    padding: 12px 2px;
  }
  .programme-days small {
    display: none;
  }
  .programme-days .programme-day-date { display: block; font-size: 0.75rem; }
  .programme-days b {
    font-size: 1.15rem;
  }
  .workout-day-sheet {
    padding: 20px 14px;
  }
  .workout-day-sheet > .grid.g4 {
    grid-template-columns: 1fr 1fr;
  }
  .workout-day-sheet table {
    min-width: 600px;
  }
  .nutrition-calendar {
    padding: 18px 14px;
  }
  .nutrition-date-caption {
    display: block;
  }
  .nutrition-day-strip {
    gap: 3px;
  }
  .nutrition-day-strip button {
    font-size: 0.75rem;
  }
  .nutrition-date-caption > .btn {
    margin: 5px 0;
  }
  .nutrition-summary .macro {
    gap: 10px;
  }
  .calendar-availability,
  .calendar-agenda {
    padding: 20px;
  }
  .calendar-datebar {
    justify-content: space-between;
  }
  .calendar-agenda .scroll {
    overflow: visible;
  }
  .calendar-agenda table.cardify tr {
    padding: 14px;
    margin: 14px 0;
  }
  .calendar-agenda table.cardify td:before {
    text-transform: none;
    font-family: var(--f-body);
    letter-spacing: 0;
  }
  .library-workspace {
    display: block;
  }
  .library-inspector {
    margin-top: 24px;
  }
  .library-table {
    padding: 0;
    background: none;
    border: 0;
  }
  .library-table table.cardify tr {
    padding: 18px;
  }
  .library-table table.cardify td:before {
    text-transform: none;
    letter-spacing: 0;
    font-family: var(--f-body);
  }
  .library-filters {
    display: grid;
    grid-template-columns: 1fr;
  }
  .library-filters input {
    width: 100%;
    max-width: none;
  }
  .library-editor {
    padding: 22px 16px;
  }
  .library-editor > .grid {
    grid-template-columns: 1fr;
  }
  .library-name {
    font-size: 0.92rem;
  }
  .finance-summary {
    padding: 18px 4px;
    gap: 20px 0;
  }
  .finance-summary .kpi {
    padding: 4px 14px;
  }
  .finance-summary .kpi .v {
    font-size: 1.3rem;
  }
  .ledger-workspace {
    padding: 18px 14px;
  }
  .ledger-workspace table.cardify tr {
    padding: 16px;
  }
  .ledger-workspace table.cardify td:before {
    text-transform: none;
    letter-spacing: 0;
    font-family: var(--f-body);
  }
  .receipt-detail-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .receipt-detail-grid dl {
    grid-template-columns: 110px 1fr;
    font-size: 0.8125rem;
  }
  .receipt-inspector {
    padding: 20px;
  }
  .settings-workspace {
    display: block;
  }
  .settings-index {
    display: flex;
    flex-direction: row;
    overflow: auto;
    margin-bottom: 22px;
  }
  .settings-index button {
    white-space: nowrap;
  }
  .settings-pane > .card {
    padding: 20px;
  }
  .cms-publishbar {
    padding: 16px;
    flex-wrap: wrap;
    gap: 12px;
  }
  .cms-publishbar > .row {
    width: 100%;
  }
  .cms-publishbar > .row > .btn {
    flex: 1;
  }
  .cms-workspace {
    display: block;
  }
  .cms-tabs {
    display: none;
  }
  .cms-section-select {
    display: block;
  }
  .cms-section {
    padding: 22px 16px;
  }
  .cms-preview {
    margin-top: 24px;
  }
  .cms-section .grid.g2 {
    grid-template-columns: 1fr;
  }
  .cms-photo {
    flex-wrap: wrap;
  }
  .cms-photo > img {
    max-height: 180px;
  }
  .cms-section .cms-item-summary .row {
    width: 100%;
    justify-content: flex-start;
  }
  .gate {
    padding: 22px;
  }
  .gate-card {
    padding: 30px 24px;
  }
  .gate-card h1 {
    font-size: 2rem;
  }
  .gate-card .brandmark {
    margin-bottom: 28px;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
@media print {
  .dossier-index,
  .dossier-breadcrumb,
  .dossier-identity > .btn,
  .planner-actionbar,
  .programme-calendar,
  .training-log-disclosure,
  .intake-index,
  .intake-controls,
  .cms-preview {
    display: none !important;
  }
  .shell,
  .workspace-column,
  .main {
    padding: 0;
  }
  .dossier-header {
    padding: 0 0 12px;
    margin: 0 0 15px;
  }
  .workout-day-sheet {
    padding: 12px;
  }
  .workspace-heading {
    margin-bottom: 15px;
  }
  .row-menu {
    display: none;
  }
}

/* Keep every primary destination reachable on a laptop-height display. */
.rail .brandmark.has-logo {
  display: block;
  padding-bottom: 14px;
}
.rail .brandmark.has-logo .logo {
  width: 150px !important;
  height: 65px !important;
  margin: 0 auto;
  object-fit: contain;
}
.rail .brandmark.has-logo .wordmark {
  display: none;
}
.rail .rail-foot .row {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
}
.rail .rail-foot .row > .btn {
  flex: 1;
  width: auto;
  padding: 7px;
  font-size: 0.75rem;
}
.rail .built,
.rail .ro {
  font-family: var(--f-body);
  letter-spacing: 0;
}
.auth-back {
  display: inline-block;
  color: var(--ink-3);
  font-size: 0.8125rem;
  margin: -15px 0 24px;
}
.flexible-days {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 16px;
  border-top: 1px solid var(--rule);
}
.flexible-days > span {
  font-size: 0.75rem;
  color: var(--ink-3);
  margin-right: 8px;
}
.flexible-days .btn[aria-pressed='true'] {
  background: var(--gold-wash);
  border-color: var(--gold-dp);
}
.progress-brief {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
  margin-bottom: 28px;
}
.progress-brief span {
  color: var(--ink-3);
  font-size: 0.85rem;
  display: block;
}
.progress-brief strong {
  font-size: 1.7rem;
  font-weight: 600;
  display: block;
  margin: 0.3rem 0;
}
.progress-brief p {
  font-size: 0.85rem;
  color: var(--ink-3);
  margin: 0;
}
.progress-charts h3 {
  margin: 0 0 12px;
}
.checkin-review .section-heading {
  margin: 22px 0;
}
.checkin-entry {
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}
.checkin-entry header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.checkin-entry header span {
  font-size: 0.875rem;
  color: var(--ink-3);
}
.checkin-entry h3 {
  margin: 5px 0;
}
.checkin-entry dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 20px 0;
}
.checkin-entry dt {
  font-size: 0.8125rem;
  color: var(--ink-3);
}
.checkin-entry dd {
  margin: 5px 0 0;
  font-size: 1.1rem;
  font-weight: 600;
}
.checkin-entry > p {
  max-width: 65ch;
  white-space: pre-wrap;
}
.report-adherence {
  font-size: 2rem;
  font-weight: 600;
}
@media (max-width: 640px) {
  .progress-brief {
    gap: 12px;
  }
  .progress-brief strong {
    font-size: 1.4rem;
  }
  .checkin-entry dl {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .checkin-entry header {
    align-items: start;
  }
}
.activity-summary {
  display: flex;
  align-items: center;
  gap: 24px;
  border-block: 1px solid var(--line);
  padding: 22px 0;
  margin-bottom: 24px;
}
.activity-summary > div {
  display: flex;
  align-items: baseline;
  gap: 10px;
  white-space: nowrap;
}
.activity-summary strong {
  font-size: 2rem;
  font-weight: 600;
}
.activity-summary span,
.activity-summary p {
  color: var(--ink-3);
  font-size: 0.86rem;
}
.activity-summary p {
  flex: 1;
}
.activity-retention {
  margin-top: 20px;
}
.release-workspace {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 32px;
  margin-top: 28px;
}
.release-index {
  align-self: start;
  position: sticky;
  top: 24px;
  display: grid;
  border-top: 1px solid var(--line);
}
.release-index a {
  color: var(--ink);
  text-decoration: none;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.85rem;
}
.release-index small {
  display: block;
  color: var(--ink-3);
  margin-top: 5px;
}
.release-history .wn-rel {
  margin: 0 0 24px !important;
  padding: 0 0 24px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
}
.release-history article {
  scroll-margin-top: 30px;
}
@media (max-width: 900px) {
  .release-workspace {
    grid-template-columns: 1fr;
  }
  .release-index {
    position: static;
    display: flex;
    overflow: auto;
    gap: 20px;
  }
  .release-index a {
    min-width: 180px;
  }
  .activity-summary {
    align-items: start;
    flex-wrap: wrap;
  }
  .activity-summary p {
    margin: 0;
    min-width: 200px;
  }
}
.intake-step-status { display: block; font-size: 0.8125rem; font-weight: 400; color: var(--ink-3); margin-top: .2rem; }
.signing-review { margin-top: 1.5rem; }
.signing-review-row { display: flex; gap: 1rem; justify-content: space-between; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.signing-review-row > div { min-width: 0; overflow-wrap: anywhere; }
.signing-review-row p { margin: .35rem 0; font-size: .875rem; }
.signing-review-row small { color: var(--ink-3); }
.signing-review-row .btn { flex-shrink: 0; }
@media(max-width: 600px) { .signing-review-row { align-items: flex-start; flex-direction: column; } }

/* A workout follows the session: warm-up, main work, then cool-down. */
.workout-builder { padding: 0; }
.workout-builder-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 24px; }
.workout-builder-heading h3 { margin: 0; font-size: 1.2rem; }
.workout-builder-heading p { margin: 6px 0 0; color: var(--ink-3); font-size: .83rem; }
.workout-builder-heading > span { color: var(--ink-3); font-size: 0.8125rem; white-space: nowrap; }
.workout-day-settings { border-block: 1px solid var(--rule); padding: 14px 24px; background: var(--band-2); }
.workout-day-settings summary { font-size: .82rem; font-weight: 600; cursor: pointer; }
.workout-day-settings summary span { color: var(--ink-3); font-weight: 400; margin-left: 8px; }
.workout-day-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; padding-top: 18px; }
.workout-day-fields .f { margin: 0; }
.workout-day-remove { display: flex; align-items: flex-end; }
.workout-phases { padding-inline: 24px; }
.workout-phase { padding-block: 26px; }
.workout-phase + .workout-phase { border-top: 1px solid var(--rule); }
.workout-phase-heading, .workout-phase-name { display: flex; gap: 12px; align-items: center; }
.workout-phase-heading { justify-content: space-between; margin-bottom: 18px; }
.workout-phase-name h3 { margin: 0; font-size: 1rem; }
.workout-phase-name p { margin: 5px 0 0; color: var(--ink-3); font-size: 0.8125rem; }
.workout-phase-number { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border: 1px solid var(--gold-line); background: var(--gold-wash); color: var(--gold-dp); border-radius: 50%; font-size: 0.8125rem; font-weight: 700; }
.workout-phase-empty { font-size: .82rem; color: var(--ink-3); margin: 0 0 0 42px; }
.workout-exercise-row { border-top: 1px solid var(--rule-2); padding: 18px 0 10px 42px; }
.workout-exercise-title { display: flex; gap: 12px; align-items: center; }
.workout-exercise-title > div:first-of-type { flex: 1; min-width: 0; }
.workout-exercise-title h4 { margin: 0; font-size: .94rem; overflow-wrap: anywhere; }
.workout-exercise-title p { margin: 4px 0 0; font-size: 0.75rem; color: var(--ink-3); }
.workout-exercise-position { font-size: 0.8125rem; color: var(--ink-3); width: 18px; flex-shrink: 0; }
.workout-order-controls { display: flex; gap: 2px; }
.workout-order-controls .btn { padding: 3px 7px; min-width: 30px; }
.workout-prescription { display: grid; grid-template-columns: 90px minmax(110px,1fr) 110px; gap: 12px; max-width: 440px; margin: 16px 0 10px 30px; }
.workout-prescription .f, .workout-exercise-notes .f { margin: 0; min-width: 0; }
.workout-prescription .f > span, .workout-exercise-notes .f > span { font-size: 0.75rem; }
.workout-prescription input { font-size: .84rem; }
.workout-exercise-options { margin-left: 30px; font-size: 0.8125rem; }
.workout-exercise-options > summary { color: var(--ink-3); padding: 5px 0; cursor: pointer; }
.workout-exercise-notes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.workout-exercise-notes > .f:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
.workout-exercise-tools { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; flex-wrap: wrap; }
.workout-cardio-prescription { margin: 0 0 12px 42px; padding: 10px 14px; background: var(--band-2); border-radius: 5px; font-size: .82rem; }
.workout-cardio-prescription small { display: inline-block; color: var(--ink-3); margin-left: 8px; }
.workout-builder-footer { display: flex; align-items: center; gap: 10px; padding: 20px 24px; border-top: 1px solid var(--rule); background: var(--band-2); border-radius: 0 0 10px 10px; }
.workout-builder-footer p { flex: 1; max-width: 44ch; margin: 0; color: var(--ink-3); font-size: 0.8125rem; }
.phase-exercise-picker { margin-top: 16px; background: var(--band-2); border-radius: 8px; padding: 18px; }
.exercise-picker-heading { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.exercise-picker-heading h4 { margin: 0; font-size: .94rem; }
.exercise-picker-heading p { color: var(--ink-3); margin: 5px 0 14px; font-size: 0.8125rem; }
.exercise-library-filters { display: grid; grid-template-columns: 1.4fr 1fr; gap: 12px; }
.exercise-library-filters .f { margin: 0; min-width: 0; }
.exercise-library-meta { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 0.8125rem; color: var(--ink-3); }
.exercise-library-meta > span:first-child { margin-right: auto; }
.phase-exercise-picker .picker-results { max-height: 270px; border-block: 1px solid var(--rule); }
.exercise-library-choice { display: flex; align-items: center; gap: 12px; padding: 12px 8px; cursor: pointer; background: var(--card); border-bottom: 1px solid var(--rule-2); }
.exercise-library-choice:last-child { border-bottom: 0; }
.exercise-library-choice:has(input:checked) { background: var(--gold-wash); }
.exercise-library-choice input { width: 18px; height: 18px; flex: 0 0 18px; accent-color: var(--gold-dp); }
.exercise-library-choice b, .exercise-library-choice small { display: block; }
.exercise-library-choice b { font-size: .85rem; }
.exercise-library-choice small { color: var(--ink-3); font-size: 0.75rem; margin-top: 3px; }
.exercise-picker-defaults { display: grid; grid-template-columns: minmax(150px,1fr) 75px 110px 90px; align-items: end; gap: 10px; }
.exercise-picker-defaults > span { font-size: 0.8125rem; padding-bottom: 6px; }
.exercise-picker-defaults small { display: block; color: var(--ink-3); margin-top: 5px; }
.exercise-picker-defaults .f { margin: 0; }
.exercise-picker-defaults .f > span { font-size: 0.75rem; }
.phase-exercise-picker .picker-summary { margin-top: 14px; padding-top: 12px; }
.training-overview { min-width: 0; }
.training-overview-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.training-overview-heading h2 { margin: 0; border: 0; padding: 0; font-size: 1.125rem; }
.training-overview-heading p { margin: 6px 0 0; font-size: .8125rem; color: var(--ink-3); }
.programme-overview-calendar { margin: 16px 0; }
.programme-overview-calendar .programme-weekbar { padding: 12px 14px; gap: 12px; }
.programme-overview-calendar .programme-weekbar > div:first-child > span { display: none; }
.programme-overview-calendar .programme-weekbar h3 { margin: 0; font-size: .9375rem; }
.programme-overview-calendar .programme-date-range { margin-top: 4px; font-size: .75rem; }
.programme-overview-calendar .programme-days button { padding: 9px 6px; min-height: 70px; }
.programme-overview-calendar .programme-days b,
.programme-overview-calendar .programme-days i { display: none; }
.programme-overview-calendar .programme-days small { display: block; line-height: 1.5; }
.programme-overview-calendar .programme-day-date { margin: 3px 0; font-weight: 600; }
.saved-workout-sheet { padding: 0; overflow: hidden; }
.saved-workout-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; }
.saved-workout-heading h3 { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
.saved-workout-heading p { margin: 5px 0 0; font-size: .8125rem; color: var(--ink-3); }
.saved-workout-heading > span { font-size: .8125rem; color: var(--ink-3); }
.saved-workout-sheet .training-overview-table { width: 100%; min-width: 0; border-collapse: collapse; table-layout: auto; font-size: .875rem; }
.training-overview-table thead th { padding: 8px 12px; font-size: .75rem; text-align: left; color: var(--ink-3); }
.saved-workout-sheet .training-overview-table tbody > tr > th,
.training-overview-table td { padding: 8px 12px; background: transparent; text-align: left; vertical-align: middle; border-top: 1px solid var(--rule-2); }
.saved-workout-sheet .training-overview-table .training-phase-label > th { padding: 7px 12px; background: var(--band-2); font-size: .8125rem; }
.training-phase-label small { margin-left: 12px; color: var(--ink-3); font-weight: 400; font-size: .75rem; }
.training-exercise-name { width: 50%; font-weight: 400; overflow-wrap: anywhere; }
.training-exercise-name > b { font-size: .875rem; font-weight: 600; }
.training-prescription { font-variant-numeric: tabular-nums; }
.training-prescription b { font-weight: 500; }
.training-prescription small { display: block; font-size: .75rem; margin-top: 3px; color: var(--ink-3); overflow-wrap: anywhere; }
.training-rest { white-space: nowrap; font-variant-numeric: tabular-nums; }
.training-value-label { display: none; }
.training-exercise-actions { width: 104px; }
.workout-item-actions { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 12px; }
.training-exercise-actions .workout-item-actions { flex-wrap: nowrap; margin: 0; justify-content: flex-end; }
.training-exercise-guidance { display: inline-block; vertical-align: middle; margin-left: 10px; font-size: .75rem; font-weight: 400; }
.training-exercise-guidance[open] { display: block; margin: 6px 0 0; }
.training-exercise-guidance > summary { color: var(--ink-3); cursor: pointer; gap: 8px; }
.training-exercise-guidance p { margin: 8px 0; }
.training-print-guidance { display: none; }
.workout-row-actions { margin-left: 30px; }
.workout-day-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; font-size: .8125rem; color: var(--ink-3); }
.workout-client-note { color: var(--ink-3); white-space: pre-wrap; }
.saved-workout-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-top: 1px solid var(--rule); padding: 12px 14px; }
.training-add-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.saved-workout-actions span,
.training-programme-actions > span { font-size: .75rem; color: var(--ink-3); }
.saved-workout-actions .row { gap: 4px; }
.training-programme-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.training-programme-actions .row { gap: 8px; flex-wrap: wrap; }
.training-rest-day { padding: 18px; background: var(--card); border: 1px solid var(--rule); border-radius: 10px; }
.training-rest-day h3 { margin: 0 0 6px; font-size: 1rem; }
.training-rest-day p { margin: 0 0 12px; font-size: .8125rem; color: var(--ink-3); }
@media (max-width: 600px) {
  .saved-workout-heading { align-items: start; flex-direction: column; gap: 6px; }
  .programme-overview-calendar .programme-weekbar { gap: 8px; padding: 12px; }
  .programme-overview-calendar .programme-days button { padding-inline: 2px; }
  .programme-overview-calendar .programme-days small { font-size: .6875rem; }
  .saved-workout-sheet .training-overview-table { display: block; }
  .training-overview-table thead { display: none; }
  .training-overview-table tbody,
  .training-phase-label { display: block; }
  .saved-workout-sheet .training-overview-table .training-phase-label > th { display: block; }
  .saved-workout-exercise { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) 96px; align-items: center; padding: 8px 12px; border-top: 1px solid var(--rule-2); }
  .saved-workout-sheet .training-overview-table .saved-workout-exercise > th,
  .training-overview-table .saved-workout-exercise > td { padding: 0; border: 0; width: auto; }
  .training-exercise-name { grid-column: 1 / 3; grid-row: 1; }
  .training-prescription { grid-column: 1; grid-row: 2; margin-top: 8px; }
  .training-rest { grid-column: 2; grid-row: 2; margin-top: 8px; }
  .training-exercise-actions { grid-column: 3; grid-row: 1 / 3; }
  .training-value-label { display: block; font-size: .6875rem; color: var(--ink-3); font-weight: 400; margin-bottom: 3px; }
  .saved-workout-actions { gap: 10px; padding: 12px; }
  .training-add-actions > span { width: 100%; }
  .training-add-actions .btn { padding-inline: 10px; }
  .training-programme-actions { align-items: start; flex-direction: column; gap: 8px; }
}

@media print {
  .training-exercise-guidance { display: none; }
  .training-print-guidance { display: block; font-weight: 400; font-size: .75rem; }
  .training-print-guidance p { margin: 5px 0; white-space: pre-wrap; }
  .saved-workout-sheet .training-overview-table { display: table; }
  .training-overview-table thead { display: table-header-group; }
  .training-overview-table tbody { display: table-row-group; }
  .training-overview-table .saved-workout-exercise,
  .training-overview-table .training-phase-label { display: table-row; }
  .saved-workout-sheet .training-overview-table .training-phase-label > th,
  .saved-workout-sheet .training-overview-table .saved-workout-exercise > th,
  .training-overview-table .saved-workout-exercise > td { display: table-cell; }
  .training-overview-table .saved-workout-exercise > .noprint { display: none; }
  .training-value-label { display: none; }
}

/* Keep creation actions visible even on a short screen or with a keyboard open. */
dialog.catalogue-dialog { width: min(42rem,calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: 0; overflow: hidden; }
.catalogue-dialog-form { display: flex; flex-direction: column; max-height: min(48rem,calc(100dvh - 26px)); }
.catalogue-dialog-heading { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 22px; border-bottom: 1px solid var(--rule); }
.catalogue-dialog-heading h2 { margin: 0; border: 0; padding: 0; font-size: 1.15rem; }
.catalogue-dialog-fields { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 22px 18px; }
.catalogue-dialog-fields > p { margin-block: 16px; }
.catalogue-wide-field { grid-column: 1 / -1; }
.catalogue-dialog-footer { flex: 0 0 auto; padding: 14px 22px; border-top: 1px solid var(--rule); background: var(--band-2); }
.catalogue-dialog-footer .row { justify-content: flex-end; }
.catalogue-dialog-footer .err:empty { display: none; }
.catalogue-dialog-footer .err { margin: 0 0 10px; }
@media (max-width: 750px) {
  .workout-day-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .exercise-picker-defaults { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .exercise-picker-defaults > span { grid-column: 1 / -1; }
  .exercise-picker-defaults small { display: inline; margin-left: 8px; }
  .workout-builder-footer { flex-wrap: wrap; }
  .workout-builder-footer p { flex-basis: 100%; max-width: none; }
}
@media (max-width: 520px) {
  .workout-builder.workout-day-sheet { padding: 0; }
  .workout-builder-heading { padding: 18px 14px; gap: 10px; }
  .workout-builder-heading h3 { font-size: 1.05rem; }
  .workout-builder-heading > span { font-size: 0.75rem; }
  .workout-day-settings { padding: 14px; }
  .workout-day-settings summary span { display: block; margin: 5px 0 0 16px; font-size: 0.75rem; }
  .workout-phases { padding-inline: 14px; }
  .workout-phase-heading { flex-wrap: wrap; gap: 12px; }
  .workout-phase-heading > .btn { margin-left: 42px; }
  .workout-phase-empty, .workout-cardio-prescription { margin-left: 0; }
  .workout-exercise-row { padding-left: 0; }
  .workout-exercise-title { gap: 6px; }
  .workout-exercise-title h4 { font-size: .86rem; }
  .workout-exercise-title p { font-size: 0.75rem; }
  .workout-prescription { grid-template-columns: .7fr 1.2fr 1fr; gap: 8px; margin-left: 0; }
  .workout-exercise-options { margin-left: 0; }
  .workout-row-actions { margin-left: 0; }
  .workout-exercise-notes { grid-template-columns: 1fr; }
  .workout-exercise-notes > .f:nth-child(2) { grid-row: auto; }
  .workout-builder-footer { padding: 16px 14px; }
  .workout-builder-footer > .btn { flex: 1; padding-inline: 10px; }
  .phase-exercise-picker { padding: 12px; }
  .exercise-picker-heading { flex-wrap: wrap; }
  .exercise-picker-heading p { margin-bottom: 0; }
  .exercise-library-filters { grid-template-columns: 1fr; margin-top: 12px; }
  .exercise-library-meta { flex-wrap: wrap; }
  .phase-exercise-picker .picker-summary .btn { width: 100%; }
  .catalogue-dialog-heading, .catalogue-dialog-footer { padding: 14px; }
  .catalogue-dialog-heading h2 { font-size: 1rem; }
  .catalogue-dialog-fields { padding: 0 14px 14px; }
  .catalogue-dialog-fields .grid { grid-template-columns: 1fr; }
  .catalogue-dialog-footer .row { flex-wrap: nowrap; gap: 8px; }
  .catalogue-dialog-footer .btn { padding-inline: 12px; }
}
.food-picker-create { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0; flex-wrap: wrap; }
.food-picker-create p { margin: 0; }
.catalogue-dialog .f > span { letter-spacing: 0; text-transform: none; font-family: var(--f-body); }

/* Keyboard navigation and native financial confirmation. */
.rail .nav-extras > summary { color: var(--ink-2); min-height: 44px; display: flex; align-items: center; cursor: pointer; }
html[data-theme='light'] .built a { color: var(--gold-dp); }
.payment-void-dialog { width: min(32rem, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; border: 1px solid var(--rule); border-radius: 12px; padding: 24px; background: var(--card); color: var(--ink); }
.payment-void-dialog::backdrop { background: #0009; }
@media (max-width: 900px) { #coach-navigation[inert] { visibility: hidden; } }

.dossier-section-select, .intake-section-select { display: none; }
.editor-actions { position: sticky; bottom: 8px; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 24px; padding: 12px 16px; border: 1px solid var(--rule); border-radius: 8px; background: var(--card); box-shadow: 0 2px 12px #0002; }
.editor-actions > span { font-size: .8125rem; color: var(--ink-2); }
.editor-actions .row { margin: 0; }
.cms-label-group { min-width: 0; border: 1px solid var(--rule); padding: 16px; margin: 16px 0; }
@media (max-width: 600px) {
  .dossier-identity { gap: 10px; padding-block: 12px; }
  .dossier-identity > .avatar { width: 40px !important; height: 40px !important; }
  .dossier-identity h1 { font-size: 1.375rem; line-height: 1.2; }
  .dossier-identity p { font-size: .8125rem; margin: 4px 0; }
  .dossier-identity .tag { font-size: .6875rem; }
  .dossier-identity > button { min-height: 40px; padding: 8px 12px; }
  .dossier-section-select, .intake-section-select { display: block; width: 100%; margin: 0 0 16px; }
  .dossier-index, .intake-index { display: none; }
  .intake-workspace, .dossier-workspace { display: block; }
  .intake-canvas { padding: 16px; }
  .intake-heading { margin-bottom: 16px; }
  .onboarding-workspace > .section-heading { gap: 8px; }
  .editor-actions { bottom: 4px; padding: 10px; }
  .editor-actions > span { flex-basis: 100%; }
  .editor-actions .btn { min-height: 44px; }
  .intake-controls.editor-actions { display: flex; }
}
@media print { .editor-actions, .dossier-section-select, .intake-section-select { display: none; } }

.cms-preview-viewport { min-width: 0; max-width: 100%; overflow-x: auto; border: 1px solid var(--rule); }
.cms-preview-viewport iframe { display: block; height: 660px; border: 0; }
.cms-full-preview { width: min(1540px, calc(100vw - 32px)); max-width: none; height: calc(100dvh - 32px); max-height: none; overflow: auto; padding: 20px; border: 1px solid var(--rule); border-radius: 12px; background: var(--card); color: var(--ink); }
.cms-full-preview::backdrop { background: #0009; }
.cms-full-preview iframe { height: max(400px, calc(100dvh - 180px)); }
.cms-full-preview h2 { margin: 0; }
@media (max-width: 600px) { .cms-full-preview { width: calc(100vw - 16px); padding: 12px; } }

.report-source { display: block; font-size: .6875rem; color: var(--ink-2); margin-top: 3px; }
@media print { .report-prescription-details:not([open]) { display: none; } }

.dossier-identity .tag { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }

.intake-step-navigation { margin-top: 20px; }
.intake-step-navigation small { flex-basis: 100%; color: var(--ink-2); }
@media (max-width: 600px) {
  .dossier-header[data-client-section='onboarding'] .dossier-identity > button,
  .dossier-header[data-client-section='onboarding'] .dossier-identity p,
  .dossier-header[data-client-section='onboarding'] .dossier-identity .tag:nth-child(2),
  .onboarding-workspace > .section-heading p { display: none; }
  .onboarding-workspace > .section-heading h2 { font-size: 1rem; line-height: 1.2; }
  .onboarding-workspace .flow-progress { margin-bottom: 12px; }
  .intake-heading p { font-size: .8125rem; line-height: 1.4; margin-block: 6px; }
  .intake-controls.editor-actions { gap: 8px; }
  .intake-controls.editor-actions .btn { padding-inline: 10px; font-size: .8125rem; }
}

/* Independent audit: readable history, keyboard previews and mobile priorities. */
.cms-preview-viewport:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.mobile-attention-summary { display:none; }
input[type=checkbox][data-select], input[type=checkbox][data-libselect] { width:24px; height:24px; }
.roster-table td:has(input[type=checkbox]), .library-table td:has(input[type=checkbox]) { min-width:44px; padding:10px; }
.tabs button[aria-current=page] { color:var(--ink); border-bottom-color:var(--gold); font-weight:600; }
@media(max-width:700px) {
 .mobile-attention-summary { display:block; padding:12px 0; } .mobile-attention-summary h2 { margin:0 0 8px; font-size:1rem; }
 .dossier-header:not([data-client-section=profile]) .dossier-identity { padding-block:6px; }
 .dossier-header:not([data-client-section=profile]) .dossier-identity > .avatar { display:none; }
 .dossier-header:not([data-client-section=profile]) .dossier-identity h1 { font-size:1.125rem; }
}

.conflict-copy{white-space:pre-wrap;overflow-wrap:anywhere;max-height:22rem;overflow:auto;font-size:.8125rem}

.dossier-context summary{min-height:32px;cursor:pointer;font-size:.8125rem;color:var(--ink-2)}
@media(min-width:701px){.dossier-context:not([open])>p,.dossier-context:not([open])>.row{display:block}.dossier-context summary{display:none}}
@media(max-width:700px){.dossier-section-select{position:sticky;top:60px;z-index:9;padding:8px;background:var(--card)}.dossier-section-select:before{content:attr(data-client-name);display:block;font-weight:600}}

.roster-table input[type=checkbox]{width:24px;height:24px}

@media(max-width:700px){.dossier-section-select:before{content:none}.dossier-section-select{padding:6px;margin-bottom:8px}}

.selection-control{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;cursor:pointer}

.daily-target-progress { margin-top:20px; }
.daily-target-progress > .spread { margin-bottom:20px;gap:12px;flex-wrap:wrap; }
.daily-target-progress h3 { margin:0; }
.daily-nutrition-goals [data-act='nutrition:edit'] { display:inline-flex;align-items:center;gap:8px; }
.daily-nutrition-goals [data-act='nutrition:edit'] svg { width:16px;height:16px;stroke-width:1.8; }
.daily-target-progress #nutritotals { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px;max-width:none;padding:0;border:0;border-radius:0; }
.daily-target-progress .vm { margin:0; }
.daily-target-progress .vm-top { flex-direction:column;align-items:flex-start;gap:6px; }
.daily-target-progress .vm-top .rt { display:flex;align-items:baseline;flex-wrap:wrap;gap:4px; }
.daily-target-progress .vm-top .rt b { font-size:1rem; }
.nutrition-target-basis { grid-column:1/-1;font-size:.8125rem;line-height:1.6;color:var(--ink-3); }
.daily-nutrition-goals .client-calculations { border-top:1px solid var(--rule);margin-top:20px;padding-top:12px; }
.daily-nutrition-goals .client-calculations > summary { color:var(--gold-dp);font-weight:600; }
.daily-nutrition-goals .client-calculations h3 { margin:24px 0 16px; }
.daily-nutrition-goals .nutrition-direct-targets { margin-top:20px; }
@media(max-width:700px){ .daily-target-progress #nutritotals { grid-template-columns:1fr;gap:18px; } .daily-nutrition-goals .nutrition-direct-targets { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px){ .daily-nutrition-goals .nutrition-direct-targets { grid-template-columns:1fr; } }

[data-meal-card] > .meal-plan-card-meals { grid-column:1/-1; }
[data-meal-card] .meal-plan-card-meal { padding:9px 0; }
[data-meal-card] .meal-plan-card-meal ul { gap:4px; }
[data-meal-card] .meal-set-summary > h4 { margin:12px 0 8px;font-size:.8125rem; }
.meal-plan-editor[data-focused-editor] { margin:0;padding:0;border:0; }
.meal-plan-editor[data-focused-editor] .meal-plan-editor-heading .row { margin-top:16px;flex-wrap:wrap;gap:8px; }
#meal-plan-editor-title { scroll-margin-top:24px; }
@media(max-width:700px) { #meal-plan-editor-title { scroll-margin-top:160px; } }

/* Daily training stays in its card while prescriptions are edited. */
.training-editor-toolbar { display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;font-size:.875rem; }
.training-editor-toolbar:empty { display:none; }
.training-editor-toolbar .row { gap:8px;flex-wrap:wrap; }
.training-set-library { padding:14px; }
.training-set-card > .saved-workout-sheet,
.training-set-card > .training-card-editor { grid-column:1/-1;min-width:0;border:0;padding:0;margin:6px 0 12px; }
.training-set-card[data-selected=true] > .meal-set-nutrients { display:none; }
.training-set-card .saved-workout-heading { display:none; }
.training-set-card .training-overview-table,
.training-set-card .training-overview-table tbody { display:block;min-width:0; }
.training-set-card .training-overview-table thead { display:none; }
.training-set-card .training-phase-label { display:block;margin-top:12px; }
.training-set-card .training-overview-table .training-phase-label > th,
.training-card-editor .workout-phase-heading { display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:0;border-left:3px solid var(--gold-dp);border-radius:0 6px 6px 0;background:var(--gold-wash);color:var(--ink); }
.training-set-card .training-phase-label small { margin:0;font-size:.6875rem; }
.training-set-card .training-phase-label .btn { margin-left:auto;min-height:36px;padding:5px 8px; }
.training-set-card .saved-workout-exercise { display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;border-top:1px solid var(--rule-2); }
.training-set-card .training-overview-table .saved-workout-exercise > th,
.training-set-card .training-overview-table .saved-workout-exercise > td { display:block;padding:0;border:0;width:auto; }
.training-set-card .training-exercise-name { grid-column:1/-1;grid-row:auto; }
.training-set-card .training-prescription,.training-set-card .training-rest { grid-column:auto;grid-row:auto;margin:0; }
.training-set-card .training-exercise-actions { grid-column:1/-1;grid-row:auto; }
.training-set-card .training-value-label { display:block;font-size:.6875rem;color:var(--ink-3);font-weight:400;margin-bottom:2px; }
.training-set-card .saved-workout-actions { padding:12px 0 0; }
.training-set-card .saved-workout-actions .row { flex-wrap:wrap; }
.training-set-card[data-editing=true] > .coach-plan-card-actions [data-act='prog:editday'] { display:none; }
.training-card-editor .workout-builder-heading { padding:8px 0;gap:8px; }
.training-card-editor .workout-builder-heading h3 { font-size:.8125rem;color:var(--gold-dp);scroll-margin-top:160px; }
.training-card-editor .workout-day-settings { padding:10px 0;background:transparent; }
.training-card-editor .workout-day-fields { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.training-card-editor .workout-day-fields .f:nth-child(2) { grid-column:1/-1; }
.training-card-editor .workout-phases { padding:0; }
.training-card-editor .workout-phase { padding:12px 0; }
.training-card-editor .workout-phase + .workout-phase { border:0; }
.training-card-editor .workout-phase-heading { margin:0 0 8px;justify-content:space-between; }
.training-card-editor .workout-phase-name { gap:7px; }
.training-card-editor .workout-phase-name h3 { font-size:.875rem; }
.training-card-editor .workout-phase-name p { margin:3px 0 0;font-size:.6875rem; }
.training-card-editor .workout-phase-number { width:24px;height:24px;flex-basis:24px;font-size:.6875rem; }
.training-card-editor .workout-phase-heading > .btn { margin:0;padding:6px 8px;min-height:36px;font-size:.75rem; }
.training-card-editor .workout-phase-empty { margin:0;font-size:.75rem; }
.training-card-editor .workout-exercise-row { padding:10px 0; }
.training-card-editor .workout-exercise-title { gap:6px;flex-wrap:wrap; }
.training-card-editor .workout-exercise-title h4 { font-size:.8125rem; }
.training-card-editor .workout-exercise-position { display:none; }
.training-card-editor .workout-order-controls { margin-left:auto; }
.training-card-editor .workout-exercise-title p { font-size:.6875rem; }
.training-card-editor .workout-prescription { grid-template-columns:.8fr 1.2fr 1fr;gap:8px;margin:10px 0 6px;max-width:none; }
.training-card-editor .workout-prescription input { width:100%;min-width:0;padding:8px; }
.training-card-editor .workout-exercise-options,.training-card-editor .workout-row-actions { margin-left:0; }
.training-card-editor .workout-exercise-options > summary { font-size:.75rem; }
.training-card-editor .workout-exercise-notes { grid-template-columns:1fr; }
.training-card-editor .workout-exercise-notes > .f:nth-child(2) { grid-row:auto; }
.training-card-editor .workout-cardio-prescription { margin:0 0 8px;padding:8px;font-size:.75rem; }
.training-card-editor .workout-builder-footer { padding:12px 0;background:none;border-radius:0;gap:8px;flex-wrap:wrap; }
.training-card-editor .workout-builder-footer .btn { flex:1 1 auto;padding:8px;font-size:.75rem; }
.training-card-editor .phase-exercise-picker { margin-top:10px;padding:10px; }
.training-card-editor .exercise-picker-heading { flex-wrap:wrap;gap:6px; }
.training-card-editor .exercise-picker-heading h4 { font-size:.875rem; }
.training-card-editor .exercise-library-filters { grid-template-columns:1fr;gap:8px; }
.training-card-editor .exercise-library-meta { flex-wrap:wrap;gap:6px; }
.training-card-editor .exercise-picker-defaults { grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.training-card-editor .exercise-picker-defaults > span { grid-column:1/-1; }
.training-card-editor .exercise-picker-defaults input { min-width:0;width:100%;padding:8px; }
.training-card-editor .phase-exercise-picker .picker-results { max-height:180px; }
.training-card-editor .exercise-library-choice { gap:8px;padding:10px 0; }
.training-card-editor .picker-summary { flex-wrap:wrap;gap:8px; }
@media print {
 .training-set-library > .meal-plan-card-grid { display:block; }
 .training-set-card { break-inside:auto;margin-bottom:16px; }
 .training-set-card .training-exercise-actions { display:none; }
}
.training-card-editor .workout-order-controls .btn { min-width:36px;min-height:36px;padding:5px; }
@media(min-width:701px) { .training-card-editor .workout-builder-heading h3 { scroll-margin-top:24px; } }
.training-card-editor .workout-phase-heading { flex-wrap:nowrap; }
.training-card-editor .workout-phase-name { flex:1;min-width:0; }
.training-card-editor .workout-phase-name > div { min-width:0; }
.training-card-editor .workout-phase-heading > .btn { flex-shrink:0; }
.training-set-card .meal-plan-card-header { position:relative; }
.training-set-card .meal-plan-card-header:has(.training-card-remove) h3 { padding-right:40px; }
.training-card-remove { position:absolute;top:0;right:0; }
.exercise-category-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:8px;margin:12px 0 20px; }
.exercise-category { display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;min-width:0;min-height:64px;padding:12px;background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:8px;cursor:pointer; }
.exercise-category b { font-size:.8125rem;overflow-wrap:anywhere; }
.exercise-category small { color:var(--ink-3);font-size:.75rem; }
.exercise-category:hover,.exercise-category[aria-pressed=true] { border-color:var(--gold-dp);background:var(--gold-wash); }
.exercise-category:focus-visible { outline:2px solid var(--gold-dp);outline-offset:2px; }
.library-exercise-categories h2 { font-size:1rem; }
.training-card-editor .exercise-category-grid { grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px;overflow-y:auto;padding:2px; }
.training-card-editor .exercise-category { padding:9px; }
/* Incremental schedule and direct daily prescriptions. */
.programme-day-slots { display:flex;gap:10px;flex-wrap:wrap;padding:14px;border-top:1px solid var(--rule); }
.programme-day-slot { flex:1 1 125px;min-width:0;max-width:240px;padding:12px;background:var(--card);border:1px solid var(--rule);border-radius:8px;text-align:left;color:var(--ink);cursor:pointer; }
.programme-day-slot b,.programme-day-slot small,.programme-day-slot span { display:block; }
.programme-day-slot small { font-size:.75rem;color:var(--ink-3);margin:4px 0; }
.programme-day-slot span { font-size:.8125rem;overflow-wrap:anywhere; }
.programme-day-slot[aria-pressed=true] { border-color:var(--gold-dp);background:var(--gold-wash); }
.programme-add-day { padding:12px;min-width:75px;border:1px dashed var(--gold-dp);border-radius:8px;background:var(--card);color:var(--ink);cursor:pointer; }
.programme-add-day:disabled { opacity:.5;cursor:default; }
.selected-workout { margin:18px 0 24px;border:1px solid var(--rule);border-radius:10px;background:var(--card);padding:16px; }
.selected-workout-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px; }
.selected-workout-heading h3 { margin:0; }
.selected-workout-heading p { margin:6px 0 0;font-size:.8125rem;color:var(--ink-3); }
.selected-workout .saved-workout-heading { display:none; }
.selected-workout .saved-workout-sheet { border:0;padding:0; }
.workout-set-list { display:grid;gap:10px; }
.workout-set-card { min-width:0;padding:12px 16px;border:1px solid var(--rule);border-radius:10px;background:var(--card); }
.workout-set-line { display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap; }
.workout-set-line h4 { margin:0;font-size:.9375rem; }
.workout-set-line p { margin:5px 0 0;font-size:.75rem;color:var(--ink-3); }
.workout-set-actions { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.workout-set-actions .btn { min-height:36px;padding:6px 9px;font-size:.75rem; }
.workout-set-actions .icon-only { width:36px; }
.workout-set-card .training-card-editor { border:0;padding:12px 0 0;margin-top:10px;border-top:1px solid var(--rule); }
.training-card-editor .workout-exercise-row { display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1fr);gap:6px 20px;padding:10px 0; }
.training-card-editor .workout-exercise-title { min-width:0; }
.training-card-editor .workout-exercise-title p { display:none; }
.training-card-editor .workout-prescription { margin:0; }
.training-card-editor .workout-exercise-options { grid-column:1/-1; }
.training-card-editor .workout-prescription input { padding:6px 8px;min-height:36px; }
.exercise-type-choices { display:flex;gap:6px;flex-wrap:wrap;margin:12px 0; }
.exercise-type-choices .btn { gap:6px;min-height:40px; }
.exercise-type-choices .btn small { color:var(--ink-3); }
.exercise-type-choices .btn[aria-pressed=true] { background:var(--gold-wash);border-color:var(--gold-dp); }
.exercise-type-fields { display:flex;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid var(--rule);border-radius:6px;margin:10px 0; }
.exercise-type-fields .chk { display:flex;align-items:center;gap:8px; }
.cms-workspace:has([data-registration-goals]) { grid-template-columns:155px minmax(0,1fr); }
.cms-section [data-registration-goals] { border:0;padding:0; }
@media(max-width:700px) {
 .training-card-editor .workout-exercise-row { grid-template-columns:1fr; }
 .training-card-editor .workout-prescription { margin-top:5px; }
 .programme-day-slot { flex-basis:115px; }
 .cms-workspace:has([data-registration-goals]) { grid-template-columns:1fr; }
}

/* One day box contains its selection area and independent Clear day action. */
.programme-day-entry { display:flex;flex-direction:column;flex:1 1 140px;max-width:240px;min-width:0;border:1px solid var(--rule);border-radius:8px;background:var(--card); }
.programme-day-entry:has(> .programme-day-slot[aria-pressed=true]) { border-color:var(--gold-dp);background:var(--gold-wash); }
.programme-day-entry .programme-day-slot { width:100%;flex:1;border:0;border-radius:7px 7px 0 0;padding-bottom:4px; }
.programme-day-entry .programme-day-clear { align-self:flex-end;min-height:36px;margin:0 6px 6px;padding:5px 8px;border-color:transparent;background:transparent;font-size:.75rem;color:var(--ink-2); }
.programme-day-entry .programme-day-clear:hover:not(:disabled) { background:var(--band);color:var(--ink); }
.programme-weekbar .week-selector { flex:1;min-width:0;max-height:180px;overflow:auto; }
.selected-workout-heading > .row { flex-wrap:wrap;justify-content:flex-end; }
@media(max-width:600px) { .programme-day-entry { flex-basis:115px; } .selected-workout-heading > .row { justify-content:flex-start; } }

@media(max-width:700px) { .programme-weekbar > .week-selector { flex:1 0 100%;display:flex;flex-wrap:wrap; } .programme-weekbar .week-selector .btn { padding:6px 10px; } }

/* Completion remains green when selected; the status label also carries its meaning. */
.programme-day-slot.is-completed { background:var(--ok-wash);border-color:var(--ok-line); }
.programme-day-slot.is-completed[aria-pressed=true] { border-color:var(--ok); }
.programme-day-entry:has(> .programme-day-slot.is-completed) { background:var(--ok-wash);border-color:var(--ok-line); }
.programme-day-entry:has(> .programme-day-slot.is-completed[aria-pressed=true]) { border-color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok); }
.programme-day-slot .programme-day-status { color:var(--ok);font-size:.75rem;font-weight:600;margin-top:8px; }
.selected-workout.is-completed { border-color:var(--ok-line);box-shadow:inset 4px 0 0 var(--ok); }
.btn.completed-day-toggle { background:var(--ok-wash);border-color:var(--ok-line);color:var(--ok); }

/* 16 October UI/UX review: reduce repeated chrome around the task. */
.report-table-scroll:focus-visible, [tabindex="-1"]:focus-visible { outline:3px solid var(--gold-dp);outline-offset:3px; }
.report-scroll-hint { margin:8px 0 4px;font-size:.8125rem;color:var(--ink-2); }
.library-search { display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:12px; }
.library-search .f { flex:1 1 260px;max-width:700px;margin:0; }
.library-filter-options, .roster-filter-options { border:1px solid var(--rule);border-radius:8px;padding:0 16px;margin-bottom:16px; }
.library-filter-options > summary, .roster-filter-options > summary, .roster-count-help > summary { min-height:44px;align-content:center;cursor:pointer;color:var(--ink-2);font-size:.875rem; }
.library-filter-options[open], .roster-filter-options[open] { padding-bottom:16px; }
.roster-count-help { margin-top:8px; }
.roster-filter-options .roster-stages { margin-top:8px; }
.week-selector { display:flex;align-items:center;flex-wrap:wrap;gap:8px; }
.week-selector .f { margin:0; }
.week-selector select { min-width:145px;min-height:44px; }
.dossier-context > summary { display:list-item; }
.dossier-context:not([open]) > p, .dossier-context:not([open]) > .row { display:none; }
.dossier-context > p { margin:8px 0; }
.mobile-attention-summary { display:block;margin-bottom:16px;padding:12px 16px;border:1px solid var(--rule);border-radius:8px;background:var(--card); }
.mobile-attention-summary h2 { font-size:.875rem;margin:0 0 8px; }
.mobile-attention-summary .btn-row { gap:8px;flex-wrap:wrap; }
.agenda-now { margin:4px 0 12px;font-size:.875rem; }
.next-session { border-left:3px solid var(--gold-dp);padding-left:8px; }
.earlier-sessions { margin:12px 0; }
.earlier-sessions summary { min-height:44px;align-content:center;cursor:pointer;color:var(--ink-2); }
.nutrition-target-settings { margin-block:20px; }
.nutrition-target-settings > h3 { margin-bottom:4px; }
@media(max-width:700px) {
  .dossier-header:not([data-client-section=profile]) .dossier-identity { gap:8px; }
  .dossier-header:not([data-client-section=profile]) .dossier-context summary { font-size:.75rem; }
  .programme-weekbar { gap:10px; }
  .programme-weekbar > .row { margin-left:auto; }
  .editor-actions.is-current-editor { position:fixed;left:12px;right:12px;bottom:calc(var(--editor-keyboard-inset,0px) + env(safe-area-inset-bottom,0px) + 8px);z-index:40;margin:0;max-height:40dvh;overflow:auto;gap:6px; }
  .editor-actions.is-current-editor > span { font-size:.75rem; }
  .editor-actions.is-current-editor .row { display:flex;gap:6px;flex-wrap:wrap; }
  .editor-actions.is-current-editor .btn { padding-inline:10px;font-size:.8125rem; }
  .has-editor-actions { padding-bottom:180px!important;scroll-padding-bottom:180px; }
  .has-editor-actions input, .has-editor-actions select, .has-editor-actions textarea { scroll-margin-bottom:180px; }
  /* The action-bar clearance belongs to the outer editor. Applying it inside
     a short result scroller can scroll a checkbox above its clipping edge. */
  .has-editor-actions .picker-results :is(input,select,textarea) { scroll-margin-bottom:0; }
}
@media print { .report-scroll-hint { display:none; } }

@media(max-width:700px){.dossier-header[data-editing=true] .dossier-identity>.avatar{display:none}.dossier-header[data-editing=true] .dossier-identity h1{font-size:1.125rem}.dossier-header[data-editing=true] .dossier-identity{padding-block:6px}}

/* Keep the coach's main Progress action above summaries and sub-navigation. */
.progress-workspace-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px; }
.progress-workspace-heading h2 { margin:0;padding:0;border:0;font-size:1.125rem; }
.progress-workspace-heading .btn { min-height:44px; }
@media(max-width:600px) { .progress-workspace-heading { align-items:stretch;flex-direction:column;gap:10px; }.progress-workspace-heading .btn { width:100%; } }

/* Client goals lead Nutrition; planned meal coverage remains with each meal set. */
.daily-nutrition-goals { margin:0 0 20px; }
.daily-nutrition-goals-heading { display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px; }
.daily-nutrition-goals-heading h2 { margin:0;padding:0;border:0;font-size:1.125rem; }
.daily-nutrition-goals-heading .btn { min-height:40px; }
.nutrition-goal-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0; }
.nutrition-goal-grid > div { min-width:0;padding-left:14px;border-left:2px solid var(--rule); }
.nutrition-goal-grid dt { color:var(--ink-2);font-size:.8125rem;margin-bottom:6px; }
.nutrition-goal-grid dd { margin:0; }
.nutrition-goal-grid strong { display:block;font-size:1.5rem;line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }
.nutrition-goal-grid span,.nutrition-goal-grid small { display:block;font-size:.75rem;color:var(--ink-2);margin-top:3px; }
.nutrition-goal-status { margin:16px 0 0; }
.daily-nutrition-goals .client-calculations { margin-top:16px;padding-top:12px;border-top:1px solid var(--rule); }
@media(max-width:700px) { .nutrition-goal-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px; }.nutrition-goal-grid strong { font-size:1.25rem; } }

.daily-target-progress > h3 { margin-bottom:18px; }

/* Retained health versions use the dossier's existing details pattern. */
.medical-history { margin-top: .8rem; }
.medical-history h2 { margin: 0; }
.medical-history-entry { border-top: 1px solid var(--rule-2); padding: 14px 0; }
.medical-history-entry > summary { display: flex; justify-content: space-between; align-items: center; min-height: 44px; gap: 16px; cursor: pointer; }
.medical-history-entry > summary > span:first-child { min-width: 0; }
.medical-history-entry > summary > span:last-child { flex-shrink: 0; color: var(--ink-2); font-size: .8125rem; }
.medical-history-meta { display: block; margin-top: 5px; color: var(--ink-2); font-size: .8125rem; overflow-wrap: anywhere; }
.medical-history-entry details { margin-top: 14px; }
.medical-changes { margin: 16px 0; }
.medical-changes > div { padding: 12px 0; border-top: 1px solid var(--rule-2); }
.medical-changes dt { font-weight: 600; margin-bottom: 10px; }
.medical-changes dd { margin: 0; }
.medical-changes p { white-space: pre-wrap; overflow-wrap: anywhere; margin: 4px 0 12px; }

/* Welcome dashboard: real diary and follow-ups, separate from the client record. */
.welcome-dashboard { display: grid; gap: 26px; min-width: 0; }
.welcome-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.welcome-top h1 { margin: 0; }
/* Route focus announces the heading; it is not an interactive control. */
.welcome-top h1:focus { outline: none; }
.welcome-top > p { margin: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: .8125rem; color: var(--ink-2); }
.welcome-local-time { color: var(--ink-3); font-variant-numeric: tabular-nums; }
.welcome-summary { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, 1fr); gap: 40px; align-items: center; padding: 8px 0 4px; }
.welcome-dashboard .welcome-intro h2 { font-size: clamp(1.625rem, 2.5vw, 2.25rem); line-height: 1.2; letter-spacing: -.035em; margin: 0 0 12px; font-weight: 650; }
.welcome-intro > p { max-width: 45ch; color: var(--ink-2); font-size: .9375rem; line-height: 1.7; margin: 0; }
.welcome-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.welcome-actions .btn { min-height: 44px; }
.welcome-next { background: var(--card); border: 1px solid var(--gold-line); border-left: 3px solid var(--gold); border-radius: 12px; padding: 20px; min-width: 0; }
.welcome-next-heading { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; align-items: center; font-size: .8125rem; font-weight: 600; color: var(--ink-2); }
.welcome-next-person { display: flex; gap: 12px; align-items: center; margin: 20px 0 14px; }
.welcome-next-person > div { flex: 1; min-width: 0; }
.welcome-next-person strong { display: block; font-size: 1rem; overflow-wrap: anywhere; }
.welcome-next-person div > span { display: block; font-size: .8125rem; color: var(--ink-3); margin-top: 4px; }
.welcome-next-person > time { font-size: 1.375rem; line-height: 1.3; font-weight: 650; font-variant-numeric: tabular-nums; }
.welcome-next-person time small { display: block; text-align: right; font-size: .8125rem; font-weight: 400; color: var(--ink-3); margin-top: 4px; }
.welcome-next-empty { margin-top: 16px; }
.welcome-next-empty strong { font-size: 1rem; }
.welcome-next-empty p { font-size: .8125rem; color: var(--ink-2); line-height: 1.65; margin: 6px 0 10px; }
.welcome-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--rule); }
.welcome-dashboard .welcome-stat { border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ink); padding: 22px 16px; display: flex; align-items: center; gap: 12px; min-width: 0; text-align: left; cursor: pointer; }
.welcome-stat + .welcome-stat { border-left: 1px solid var(--rule); }
.welcome-stat > span:nth-child(2) { flex: 1; min-width: 0; }
.welcome-stat strong { display: block; font-size: 1.625rem; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; margin-bottom: 5px; }
.welcome-stat > span:nth-child(2) > span { font-size: .8125rem; color: var(--ink-2); white-space: normal; }
.welcome-stat > span:last-child { color: var(--ink-3); align-self: start; font-size: .9rem; }
.welcome-stat-icon { color: var(--gold-dp); flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; background: var(--gold-wash); }
.welcome-workbench { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.welcome-panel { min-width: 0; border: 1px solid var(--rule); border-radius: 12px; background: var(--card); padding: 22px; }
.welcome-panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.welcome-dashboard .welcome-panel-heading h2 { margin: 0 0 5px; font-size: 1.0625rem; letter-spacing: -.02em; }
.welcome-panel-heading p { margin: 0; color: var(--ink-3); font-size: .8125rem; line-height: 1.5; }
.welcome-panel-heading > .btn { flex-shrink: 0; }
.welcome-count { border-radius: 50%; background: var(--band-2); color: var(--ink-2); min-width: 28px; height: 28px; display: grid; place-items: center; font-size: .8125rem; }
.welcome-dashboard .welcome-session { display: flex; width: 100%; min-height: 76px; align-items: center; gap: 16px; border: 0; border-bottom: 1px solid var(--rule); border-radius: 0; background: transparent; color: var(--ink); text-align: left; padding: 16px 0; cursor: pointer; }
.welcome-session > time { font-weight: 600; font-size: .9375rem; font-variant-numeric: tabular-nums; min-width: 49px; }
.welcome-session small { display: block; font-size: .8125rem; color: var(--ink-3); font-weight: 400; margin-top: 5px; }
.welcome-session-person { flex: 1; min-width: 0; }
.welcome-session-person strong { display: block; font-size: .875rem; overflow-wrap: anywhere; }
.welcome-session-person > span { display: block; color: var(--ink-3); font-size: .8125rem; margin-top: 5px; }
.welcome-session > .tag { flex-shrink: 0; font-size: .8125rem; }
.welcome-session[disabled] { cursor: default; }
.welcome-arrow { color: var(--ink-3); }
.welcome-earlier { margin-top: 18px; font-size: .8125rem; color: var(--ink-2); }
.welcome-earlier summary { cursor: pointer; padding-block: 8px; min-height: 36px; }
.welcome-coming { margin-top: 24px; }
.welcome-dashboard .welcome-coming h3 { margin: 0; font-size: .875rem; }
.welcome-coming .welcome-session:last-child { border-bottom: 0; }
.welcome-onboarding { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; border-bottom: 1px solid var(--rule); padding-bottom: 18px; }
.welcome-onboarding button { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; border: 0; border-radius: 6px; background: var(--band-2); color: var(--ink-2); font-size: .8125rem; min-height: 48px; padding: 10px; text-align: left; cursor: pointer; }
.welcome-onboarding button > strong { color: var(--ink); font-size: .9375rem; }
.welcome-onboarding button > span { margin-left: auto; }
.welcome-priorities { border: 0; border-radius: 0; }
.welcome-priorities .priority-row { display: flex; gap: 12px; padding: 18px 0; }
.welcome-priorities .priority-row > div > strong, .welcome-request strong { display: block; font-size: .875rem; margin-top: 8px; overflow-wrap: anywhere; }
.welcome-priorities .priority-row p { font-size: .8125rem; margin: 5px 0 0; line-height: 1.6; }
.welcome-priorities .priority-row > .btn { align-self: center; }
.welcome-request { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 18px; border-top: 1px solid var(--rule); }
.welcome-request > div { min-width: 0; }
.welcome-request p { margin: 5px 0 0; font-size: .8125rem; color: var(--ink-3); }
.welcome-request > .btn { flex-shrink: 0; }
.welcome-dashboard :is(.welcome-stat, .welcome-session, .welcome-onboarding button):focus-visible { outline: 2px solid var(--gold-dp); outline-offset: 3px; }
@media (hover: hover) {
  .welcome-dashboard :is(.welcome-stat, .welcome-session):not([disabled]):hover { background: var(--gold-wash); }
  .welcome-onboarding button:hover { color: var(--ink); background: var(--gold-wash); }
}
@media (max-width: 1100px) {
  .welcome-summary { grid-template-columns: minmax(0, 1fr) minmax(280px, 1fr); gap: 24px; }
  .welcome-stat-icon { display: none; }
  .welcome-workbench { gap: 18px; }
  .welcome-panel { padding: 18px; }
}
@media (max-width: 800px) {
  .welcome-top { align-items: start; }
  .welcome-top > p { display: grid; gap: 4px; text-align: right; max-width: 70%; }
  .welcome-summary { grid-template-columns: 1fr; gap: 22px; }
  .welcome-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .welcome-dashboard .welcome-stat { padding: 18px 14px; }
  .welcome-stat:nth-child(3) { border-left: 0; }
  .welcome-stat:nth-child(-n+2) { border-bottom: 1px solid var(--rule); }
  .welcome-workbench { grid-template-columns: 1fr; }
  .welcome-stat-icon { display: grid; }
}
@media (max-width: 420px) {
  .welcome-dashboard { gap: 22px; }
  .welcome-top > p { font-size: .8125rem; }
  .welcome-next, .welcome-panel { padding: 16px; }
  .welcome-dashboard .welcome-stat { gap: 9px; padding: 16px 10px; }
  .welcome-stat-icon { display: none; }
  .welcome-session { gap: 10px; }
  .welcome-session > .tag { max-width: 95px; overflow-wrap: anywhere; white-space: normal; }
  .welcome-onboarding { gap: 8px; }
  .welcome-next-person { flex-wrap: wrap; }
  .welcome-next-person > time { font-size: 1.2rem; }
}

/* Preserve the compact registration decision layout around the native dialog. */
dialog.registration-decline { width: min(26rem, calc(100vw - 2.4rem)); max-width: calc(100vw - 2.4rem); border-radius: 12px; padding: 1.15rem 1.2rem; font-size: .88rem; }
.main dialog.registration-decline > h2 { font-size: 1rem; line-height: 1.4; font-weight: 600; margin: 0 0 .3rem; }
dialog.registration-decline::backdrop { background: rgba(10,8,4,.55); }
