
/* Consolidated from wow_v2_typography_overflow_fix_90_7_1.css; edit this master, not the old file. */
/*
 * Coach Running AI — WOW V2 Premium Sport
 * 90.7.1 — Global typography / overflow fix
 * Loaded after page-specific CSS from site_nav.php.
 * Goal: keep the large Premium Sport look while preventing text from escaping
 * hero columns, score cards and content cards at 320/375/430/768/1024/1280+.
 */

/* ---------- 1) Grid/flex items must be allowed to shrink ---------- */
.db-hero,
.dbu-page-hero,
.db-hero-page,
.goal-hero,
.hero,
.top,
.pricing-hero,
.pt894-hub-hero,
.tool-detail-hero,
.pr895-hero,
.pr895-detail-hero,
.pd893-hero,
.se9011-hero,
.db-layout,
.db-main,
.db-side,
.db-card,
.card,
.db-section-head {
    min-width: 0;
    max-width: 100%;
}

.db-hero > *,
.dbu-page-hero > *,
.db-hero-page > *,
.goal-hero > *,
.hero > *,
.top > *,
.pricing-hero > *,
.pt894-hub-hero > *,
.tool-detail-hero > *,
.pr895-hero > *,
.pr895-detail-hero > *,
.pd893-hero > *,
.se9011-hero > *,
.db-layout > *,
.db-section-head > * {
    min-width: 0 !important;
    max-width: 100%;
}

/* ---------- 2) Titles wrap normally instead of forcing page width ---------- */
.db-shell h1,
.db-shell h2,
.wrap h1,
.wrap h2,
.hero h1,
.hero h2,
.top h1,
.top h2,
.pricing-hero h1,
.pt894-hub-hero h1,
.tool-detail-hero h1,
.pr895-hero h1,
.pr895-detail-hero h1,
.pd893-hero h1,
.se9011-hero h1,
.pp892-heading h2,
.pp892-context h2,
.pp892-final h2,
.pr895-heading h2,
.pr895-strip h2,
.pt894-heading h2,
.pt894-bottom h2,
.pd893-final h2 {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
    text-wrap: balance;
}

/* Main WOW V2 hero titles: still bold/large, but fluid on narrower columns. */
.db-hero h1,
.dbu-page-hero h1,
.db-hero-page h1,
.goal-hero h1,
.hero h1,
.top h1,
.pricing-hero h1,
.pt894-hub-hero h1,
.tool-detail-hero h1,
.pr895-hero h1,
.pr895-detail-hero h1,
.pd893-hero h1,
.se9011-copy h1 {
    font-size: clamp(38px, 5.15vw, 72px) !important;
    line-height: .94 !important;
    letter-spacing: clamp(-.055em, -.045em, -.035em) !important;
}

/* Large section H2s remain impactful without becoming wider than their card. */
.pp892-heading h2,
.pp892-context h2,
.pp892-final h2,
.pr895-heading h2,
.pr895-strip h2,
.pt894-heading h2,
.pt894-bottom h2,
.pd893-final h2 {
    font-size: clamp(32px, 4.7vw, 62px) !important;
    line-height: .96 !important;
}

/* ---------- 3) Score/summary cards: stop accidental 48–50px inheritance ---------- */
.db-hero-score,
.rd-score-card,
.wr-adherence-card,
.pg-adherence-card,
.cal-goal-card,
.dw-duration-card,
.ad-highlight-card,
.act-account-card,
.ca-summary-card,
.rec-summary-card,
.goal-active-card,
.se9011-score {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    font-size: initial !important;
    line-height: normal !important;
}

.db-hero-score > *,
.rd-score-card > *,
.wr-adherence-card > *,
.pg-adherence-card > *,
.cal-goal-card > *,
.dw-duration-card > *,
.ad-highlight-card > *,
.act-account-card > *,
.ca-summary-card > *,
.rec-summary-card > *,
.goal-active-card > *,
.se9011-score > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
}

/* Labels stay compact. */
.db-hero-score > .db-score-label,
.rd-score-card > .db-score-label,
.wr-adherence-card > .db-score-label,
.pg-adherence-card > .db-score-label,
.ca-summary-card > .ca-summary-label,
.rec-summary-card > .rec-summary-label,
.goal-active-card > .goal-active-label,
.dw-duration-card > .dw-duration-label,
.ad-highlight-card > .ad-highlight-label {
    font-size: clamp(8px, .72vw, 10px) !important;
    line-height: 1.25 !important;
    letter-spacing: .12em !important;
    font-weight: 950 !important;
    text-transform: uppercase;
}

/* Descriptions/statuses must never inherit the big score size. */
.db-hero-score > .db-score-status,
.db-hero-score > span,
.db-hero-score > small,
.rd-score-card > .rd-score-status,
.wr-adherence-card > .wr-adherence-status,
.pg-adherence-card > span,
.pg-adherence-card > small,
.cal-goal-card > span,
.cal-goal-card > small,
.dw-duration-card > .dw-duration-status,
.ad-highlight-card > .ad-highlight-sub,
.act-account-card > span,
.act-account-card > small,
.ca-summary-card > span,
.ca-summary-card > small,
.rec-summary-card > span,
.rec-summary-card > small,
.goal-active-card > span,
.goal-active-card > small,
.se9011-score > span,
.se9011-score > small {
    display: block !important;
    margin-top: 7px;
    color: #9ba6b0;
    font-size: clamp(9px, .9vw, 13px) !important;
    line-height: 1.4 !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Known cards where the large number was inherited from the parent. */
.cr-plan-generator-905 .db-hero-score.p72-score > div:not(.db-score-label),
.cr-memory906 .db-hero-score.coach74-context-score > div:not(.db-score-label),
.db-hero-score.b80-ready-score > div:not(.db-score-label):not(.db-score-status),
.db-hero-score.p85-admin-score > div:not(.db-score-label) {
    display: block !important;
    margin-top: 7px !important;
    color: #fff !important;
    font-size: clamp(32px, 4vw, 50px) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: -.03em !important;
}

/* Plan generator: the profile list is supporting copy, not a 50px score. */
.cr-plan-generator-905 .db-hero-score.p72-score > span {
    font-size: clamp(10px, .95vw, 13px) !important;
    line-height: 1.5 !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
    text-align: center;
    overflow-wrap: normal;
}

/* Health notice: keep the medical symbol large; keep its wording readable. */
.cr-health907 .db-hero-score.consent64-hero-score > .health64-symbol {
    margin-top: 8px;
    font-size: clamp(34px, 4vw, 48px) !important;
    line-height: 1 !important;
}

.cr-health907 .db-hero-score.consent64-hero-score > .db-score-status {
    font-size: clamp(11px, 1.05vw, 15px) !important;
    line-height: 1.4 !important;
    font-weight: 850 !important;
    text-align: left;
}

/* Cards and section headings should wrap, but ordinary copy keeps normal words. */
.db-card h2,
.db-card h3,
.card h2,
.card h3,
.plan-card h2,
.plan-card h3,
.db-section-head h2,
.db-section-head h3 {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
}

/* ---------- 4) Responsive tuning ---------- */
@media (max-width: 1024px) {
    .db-hero h1,
    .dbu-page-hero h1,
    .db-hero-page h1,
    .goal-hero h1,
    .hero h1,
    .top h1,
    .pricing-hero h1,
    .pt894-hub-hero h1,
    .tool-detail-hero h1,
    .pr895-hero h1,
    .pr895-detail-hero h1,
    .pd893-hero h1,
    .se9011-copy h1 {
        font-size: clamp(38px, 5.7vw, 60px) !important;
    }
}

@media (max-width: 820px) {
    .db-hero-score,
    .rd-score-card,
    .wr-adherence-card,
    .pg-adherence-card,
    .cal-goal-card,
    .dw-duration-card,
    .ad-highlight-card,
    .act-account-card,
    .ca-summary-card,
    .rec-summary-card,
    .goal-active-card,
    .se9011-score {
        width: min(100%, 380px) !important;
    }

    .db-hero h1,
    .dbu-page-hero h1,
    .db-hero-page h1,
    .goal-hero h1,
    .hero h1,
    .top h1,
    .pricing-hero h1,
    .pt894-hub-hero h1,
    .tool-detail-hero h1,
    .pr895-hero h1,
    .pr895-detail-hero h1,
    .pd893-hero h1,
    .se9011-copy h1 {
        font-size: clamp(35px, 7.3vw, 52px) !important;
    }
}

@media (max-width: 560px) {
    .db-hero h1,
    .dbu-page-hero h1,
    .db-hero-page h1,
    .goal-hero h1,
    .hero h1,
    .top h1,
    .pricing-hero h1,
    .pt894-hub-hero h1,
    .tool-detail-hero h1,
    .pr895-hero h1,
    .pr895-detail-hero h1,
    .pd893-hero h1,
    .se9011-copy h1 {
        font-size: clamp(31px, 9.2vw, 42px) !important;
        line-height: .96 !important;
        letter-spacing: -.045em !important;
    }

    .pp892-heading h2,
    .pp892-context h2,
    .pp892-final h2,
    .pr895-heading h2,
    .pr895-strip h2,
    .pt894-heading h2,
    .pt894-bottom h2,
    .pd893-final h2 {
        font-size: clamp(29px, 8.4vw, 40px) !important;
    }
}

@media (max-width: 375px) {
    .db-hero h1,
    .dbu-page-hero h1,
    .db-hero-page h1,
    .goal-hero h1,
    .hero h1,
    .top h1,
    .pricing-hero h1,
    .pt894-hub-hero h1,
    .tool-detail-hero h1,
    .pr895-hero h1,
    .pr895-detail-hero h1,
    .pd893-hero h1,
    .se9011-copy h1 {
        font-size: clamp(28px, 9.4vw, 35px) !important;
    }

    .db-hero-score,
    .rd-score-card,
    .wr-adherence-card,
    .pg-adherence-card,
    .cal-goal-card,
    .dw-duration-card,
    .ad-highlight-card,
    .act-account-card,
    .ca-summary-card,
    .rec-summary-card,
    .goal-active-card,
    .se9011-score {
        width: 100% !important;
    }
}

/* 91.0 Production Ops compatibility: these are genuine hero values, not inherited copy. */
.cr-ops910 .db-hero-score > .go61-big-status,
.cr-ops910 .db-hero-score > .security58-shield {
    display:block !important;
    margin-top:8px !important;
    max-width:100% !important;
    color:#fff !important;
    font-size:clamp(30px, 4vw, 50px) !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.03em !important;
    white-space:normal !important;
    overflow-wrap:break-word;
}


/* Consolidated from wow_v2_contrast_readability_fix_90_9_1.css; edit this master, not the old file. */
/* =========================================================
   90.9.1 — WOW V2 CONTRAST / READABILITY SAFETY PASS
   Loaded after the typography overflow patch.
   Scope: WOW V2 dark families only. Presentation only.
   ========================================================= */

:root{
  --wowc-bg:#070d12;
  --wowc-panel:#091118;
  --wowc-panel-2:#0d151d;
  --wowc-line:rgba(255,255,255,.10);
  --wowc-text:#f6f8fa;
  --wowc-muted:#a6b0bb;
  --wowc-muted-2:#7f8b96;
  --wowc-orange:#ff5b16;
}

/* Dark WOW V2 page families only. */
body:is(
  .cr-coach-family-900,
  .cr-coach906,
  .cr-member-897,
  .cr-profile-family-901,
  .cr-training-suite-904,
  .cr-race-suite-903,
  .cr-plan-suite-905,
  .cr-plan-detail-893,
  .cr-strava-898,
  .cr-strava908,
  .cr-sync-family-899,
  .cr-sync-endpoint-9011,
  .cr-account-suite-902,
  .cr-local-password-902,
  .cr-commerce-896,
  .cr-auth-896,
  .cr-pricing-896,
  .cr-tools-894,
  .cr-resources-895,
  .cr-plans-892,
  .cr-safety907,
  .cr-ops910
){
  color:var(--wowc-text);
}

/* ---------------------------------------------------------
   FORM CONTROLS
   Prevent inherited light text from landing on legacy white
   inputs/textareas/selects in the dark WOW V2 shell.
   --------------------------------------------------------- */
body:is(
  .cr-coach-family-900,.cr-coach906,.cr-member-897,.cr-profile-family-901,
  .cr-training-suite-904,.cr-race-suite-903,.cr-plan-suite-905,.cr-plan-detail-893,
  .cr-strava-898,.cr-strava908,.cr-sync-family-899,.cr-sync-endpoint-9011,
  .cr-account-suite-902,.cr-local-password-902,.cr-commerce-896,.cr-auth-896,
  .cr-pricing-896,.cr-tools-894,.cr-resources-895,.cr-plans-892,.cr-safety907,
  .cr-ops910
) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="color"]),
  textarea,
  select,
  [contenteditable="true"]
){
  background:var(--wowc-panel)!important;
  color:var(--wowc-text)!important;
  border-color:rgba(255,255,255,.13)!important;
  caret-color:var(--wowc-orange);
  -webkit-text-fill-color:var(--wowc-text);
}

body:is(
  .cr-coach-family-900,.cr-coach906,.cr-member-897,.cr-profile-family-901,
  .cr-training-suite-904,.cr-race-suite-903,.cr-plan-suite-905,.cr-plan-detail-893,
  .cr-strava-898,.cr-strava908,.cr-sync-family-899,.cr-sync-endpoint-9011,
  .cr-account-suite-902,.cr-local-password-902,.cr-commerce-896,.cr-auth-896,
  .cr-pricing-896,.cr-tools-894,.cr-resources-895,.cr-plans-892,.cr-safety907,
  .cr-ops910
) :is(input,textarea)::placeholder{
  color:var(--wowc-muted-2)!important;
  opacity:1;
  -webkit-text-fill-color:var(--wowc-muted-2)!important;
}

body:is(
  .cr-coach-family-900,.cr-coach906,.cr-member-897,.cr-profile-family-901,
  .cr-training-suite-904,.cr-race-suite-903,.cr-plan-suite-905,.cr-plan-detail-893,
  .cr-strava-898,.cr-strava908,.cr-sync-family-899,.cr-sync-endpoint-9011,
  .cr-account-suite-902,.cr-local-password-902,.cr-commerce-896,.cr-auth-896,
  .cr-pricing-896,.cr-tools-894,.cr-resources-895,.cr-plans-892,.cr-safety907,
  .cr-ops910
) select option{
  background:var(--wowc-panel)!important;
  color:var(--wowc-text)!important;
}

body:is(
  .cr-coach-family-900,.cr-coach906,.cr-member-897,.cr-profile-family-901,
  .cr-training-suite-904,.cr-race-suite-903,.cr-plan-suite-905,.cr-plan-detail-893,
  .cr-strava-898,.cr-strava908,.cr-sync-family-899,.cr-sync-endpoint-9011,
  .cr-account-suite-902,.cr-local-password-902,.cr-commerce-896,.cr-auth-896,
  .cr-pricing-896,.cr-tools-894,.cr-resources-895,.cr-plans-892,.cr-safety907,
  .cr-ops910
) :is(input,textarea,select):disabled{
  opacity:.72;
  color:#c5cdd5!important;
  -webkit-text-fill-color:#c5cdd5!important;
}

/* Browser autofill must stay readable on dark forms. */
body:is(
  .cr-coach-family-900,.cr-coach906,.cr-member-897,.cr-profile-family-901,
  .cr-training-suite-904,.cr-race-suite-903,.cr-plan-suite-905,.cr-plan-detail-893,
  .cr-strava-898,.cr-strava908,.cr-sync-family-899,.cr-sync-endpoint-9011,
  .cr-account-suite-902,.cr-local-password-902,.cr-commerce-896,.cr-auth-896,
  .cr-pricing-896,.cr-tools-894,.cr-resources-895,.cr-plans-892,.cr-safety907,
  .cr-ops910
) input:-webkit-autofill,
body:is(
  .cr-coach-family-900,.cr-coach906,.cr-member-897,.cr-profile-family-901,
  .cr-training-suite-904,.cr-race-suite-903,.cr-plan-suite-905,.cr-plan-detail-893,
  .cr-strava-898,.cr-strava908,.cr-sync-family-899,.cr-sync-endpoint-9011,
  .cr-account-suite-902,.cr-local-password-902,.cr-commerce-896,.cr-auth-896,
  .cr-pricing-896,.cr-tools-894,.cr-resources-895,.cr-plans-892,.cr-safety907,
  .cr-ops910
) textarea:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--wowc-panel) inset!important;
  -webkit-text-fill-color:var(--wowc-text)!important;
  caret-color:var(--wowc-orange)!important;
}

/* ---------------------------------------------------------
   LEGACY FEEDBACK / NOTICE PANELS INSIDE WOW V2
   These classes existed before the dark redesign and could
   otherwise retain a white background while inheriting white.
   --------------------------------------------------------- */
body:is(
  .cr-coach-family-900,.cr-coach906,.cr-member-897,.cr-profile-family-901,
  .cr-training-suite-904,.cr-race-suite-903,.cr-plan-suite-905,.cr-plan-detail-893,
  .cr-strava-898,.cr-strava908,.cr-sync-family-899,.cr-sync-endpoint-9011,
  .cr-account-suite-902,.cr-local-password-902,.cr-commerce-896,.cr-auth-896,
  .cr-pricing-896,.cr-tools-894,.cr-resources-895,.cr-plans-892,.cr-safety907,
  .cr-ops910
) :is(.info,.warn,.err,.blue,.notice){
  border-color:var(--wowc-line)!important;
  background:var(--wowc-panel)!important;
  color:#dbe2e8!important;
}
body:is(
  .cr-coach-family-900,.cr-coach906,.cr-member-897,.cr-profile-family-901,
  .cr-training-suite-904,.cr-race-suite-903,.cr-plan-suite-905,.cr-plan-detail-893,
  .cr-strava-898,.cr-strava908,.cr-sync-family-899,.cr-sync-endpoint-9011,
  .cr-account-suite-902,.cr-local-password-902,.cr-commerce-896,.cr-auth-896,
  .cr-pricing-896,.cr-tools-894,.cr-resources-895,.cr-plans-892,.cr-safety907,
  .cr-ops910
) :is(.info,.warn,.err,.blue,.notice) :is(p,small,span,label){
  color:inherit;
}

/* ---------------------------------------------------------
   ANALYSIS ENGINE — confirmed contrast bug from Wamp capture.
   Markup uses ARTICLE elements; the 90.0 selector targeted DIV,
   leaving old light cards visible under a light-text dark shell.
   --------------------------------------------------------- */
.cr-coach-analysis-900 .a71-signals > article,
.cr-coach-analysis-900 .a71-comparisons > article{
  min-width:0;
  border:1px solid rgba(255,255,255,.08)!important;
  background:var(--wowc-panel)!important;
  color:var(--wowc-text)!important;
}

.cr-coach-analysis-900 .a71-signals > article > span{
  background:#111c26!important;
  color:#f6f8fa!important;
}
.cr-coach-analysis-900 .a71-signals strong,
.cr-coach-analysis-900 .a71-comparisons strong{
  color:#f6f8fa!important;
}
.cr-coach-analysis-900 .a71-signals p,
.cr-coach-analysis-900 .a71-comparisons small,
.cr-coach-analysis-900 .a71-comparisons span{
  color:var(--wowc-muted)!important;
}
.cr-coach-analysis-900 .a71-signals > article.danger{
  background:rgba(164,55,48,.13)!important;
  border-color:rgba(225,88,77,.30)!important;
}
.cr-coach-analysis-900 .a71-signals > article.warning{
  background:rgba(160,117,38,.13)!important;
  border-color:rgba(216,167,72,.28)!important;
}
.cr-coach-analysis-900 .a71-signals > article.ok{
  background:rgba(50,143,72,.11)!important;
  border-color:rgba(89,190,115,.25)!important;
}
.cr-coach-analysis-900 .a71-signals > article.info{
  background:rgba(44,101,151,.13)!important;
  border-color:rgba(91,151,205,.25)!important;
}

/* Keep long values readable instead of forcing horizontal overflow. */
.cr-coach-analysis-900 .a71-signals > article > div,
.cr-coach-analysis-900 .a71-comparisons > article > *{
  min-width:0;
  overflow-wrap:anywhere;
}

/* Focus ring: visible on dark panels and keyboard-friendly. */
body:is(
  .cr-coach-family-900,.cr-coach906,.cr-member-897,.cr-profile-family-901,
  .cr-training-suite-904,.cr-race-suite-903,.cr-plan-suite-905,.cr-plan-detail-893,
  .cr-strava-898,.cr-strava908,.cr-sync-family-899,.cr-sync-endpoint-9011,
  .cr-account-suite-902,.cr-local-password-902,.cr-commerce-896,.cr-auth-896,
  .cr-pricing-896,.cr-tools-894,.cr-resources-895,.cr-plans-892,.cr-safety907,
  .cr-ops910
) :is(input,textarea,select,[contenteditable="true"]):focus{
  outline:none!important;
  border-color:rgba(255,91,22,.72)!important;
  box-shadow:0 0 0 3px rgba(255,91,22,.14)!important;
}

/* 91.1 Quality / UAT compatibility.
   These pages are a new WOW V2 family and must receive the same contrast guard. */
body.cr-quality-911{
  color:var(--wowc-text);
}
body.cr-quality-911 :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="color"]),
  textarea,
  select,
  [contenteditable="true"]
){
  background:var(--wowc-panel)!important;
  color:var(--wowc-text)!important;
  border-color:rgba(255,255,255,.13)!important;
  caret-color:var(--wowc-orange);
  -webkit-text-fill-color:var(--wowc-text);
}
body.cr-quality-911 :is(input,textarea)::placeholder{
  color:var(--wowc-muted-2)!important;
  opacity:1;
  -webkit-text-fill-color:var(--wowc-muted-2)!important;
}
body.cr-quality-911 select option{
  background:var(--wowc-panel)!important;
  color:var(--wowc-text)!important;
}
body.cr-quality-911 :is(input,textarea,select):focus{
  outline:none!important;
  border-color:rgba(255,91,22,.72)!important;
  box-shadow:0 0 0 3px rgba(255,91,22,.14)!important;
}


/* Consolidated from wow_v2_readability_floor_91_1_2.css; edit this master, not the old file. */
/* =========================================================
   91.1.2 — WOW V2 READABILITY FLOOR
   Goal: keep secondary/member UI text readable without
   flattening the Premium Sport hierarchy.
   Loaded after typography + contrast guards from site_nav.php.
   Presentation only — no PHP/business logic changes.
   ========================================================= */

:root{
  --wowr-secondary:14px;
  --wowr-secondary-mobile:14px;
  --wowr-line-height:1.48;
}

/* Real helper/metadata text: never microscopic. */
body small,
body .db-score-status,
body .db-kpi-label,
body .db-eyebrow,
body .db-kicker,
body .dbu-kicker,
body :is(
  .muted,.meta,.hint,.caption,.helper,.help-text,.subtext,.microcopy,
  [class*="-meta"],[class*="_meta"],
  [class*="-hint"],[class*="_hint"],
  [class*="-caption"],[class*="_caption"],
  [class*="-muted"],[class*="_muted"]
){
  font-size:var(--wowr-secondary)!important;
  line-height:var(--wowr-line-height);
}

/* Common form labels remain readable on all WOW V2 forms. */
body :is(.db-card,.cr-card,.card,.box,form) label{
  font-size:14px;
  line-height:1.4;
}

/* Common compact dashboard/action text. */
body :is(.db-action-card,.db-shortcuts,.account-shortcuts) small{
  font-size:14px!important;
}

/* Preserve wrapping but never let secondary copy collapse columns. */
body :is(
  small,.db-score-status,.db-kpi-label,.db-eyebrow,.db-kicker,.dbu-kicker,
  .muted,.meta,.hint,.caption,.helper,.help-text,.subtext,.microcopy
){
  min-width:0;
  overflow-wrap:break-word;
}

@media(max-width:560px){
  body small,
  body .db-score-status,
  body .db-kpi-label,
  body :is(.muted,.meta,.hint,.caption,.helper,.help-text,.subtext,.microcopy){
    font-size:var(--wowr-secondary-mobile)!important;
  }
}


/* Consolidated from wow_v2_coach_readability_91_1_4.css; edit this master, not the old file. */
/* =========================================================
   91.1.4 — WOW V2 COACH / RECOVERY READABILITY PASS
   Scope: Coach IA, Analysis Engine, feedback, memory, voice,
          recommendations, readiness, recovery and alerts.
   Presentation only — no business/PHP logic changed.
   Goal: no explicit micro-text below 14px in these WOW V2 suites.
   ========================================================= */

.cr-coach-family-900 .cr-language a{font-size:14px!important;}
.cr-coach-family-900 .db-kicker,
.cr-coach-family-900 .db-eyebrow,
.cr-coach-family-900 .rd-kicker,
.cr-coach-family-900 .rd-eyebrow,
.cr-coach-family-900 .wr-kicker,
.cr-coach-family-900 .wr-eyebrow,
.cr-coach-family-900 .db-score-label{font-size:14px!important;}
.cr-coach-family-900 .db-btn,
.cr-coach-family-900 .rd-btn,
.cr-coach-family-900 .wr-btn,
.cr-coach-family-900 .feedback42-submit,
.cr-coach-family-900 .rd-save{font-size:14px!important;}
.cr-coach-family-900 .db-alert,
.cr-coach-family-900 .rd-alert,
.cr-coach-family-900 .wr-alert{font-size:14px!important;}
.cr-coach-family-900 .db-score-status,
.cr-coach-family-900 .rd-score-status,
.cr-coach-family-900 .wr-adherence-status{font-size:14px!important;}
.cr-coach-ai-900 .coach74-quota-sub{font-size:14px!important;}
.cr-coach-ai-900 .coach74-context-strip small{font-size:14px!important;}
.cr-coach-ai-900 .coach74-context-strip em{font-size:14px!important;}
.cr-coach-ai-900 .coach74-form textarea{font-size:14px!important;}
.cr-coach-ai-900 .coach74-label{font-size:14px!important;}
.cr-coach-ai-900 .coach74-category-grid strong{font-size:14px!important;}
.cr-coach-ai-900 .coach74-quick-prompts button,
.cr-coach-ai-900 .coach74-clear{font-size:14px!important;}
.cr-coach-ai-900 .coach74-form-footer>div{font-size:14px!important;}
.cr-coach-ai-900 .coach74-chat-avatar{font-size:14px!important;}
.cr-coach-ai-900 .coach74-chat-meta small{font-size:14px!important;}
.cr-coach-ai-900 .coach74-chat-meta span{font-size:14px!important;}
.cr-coach-ai-900 .coach74-chat p{font-size:14px!important;}
.cr-coach-ai-900 .coach74-source-list a{font-size:14px!important;}
.cr-coach-ai-900 .coach74-safety p{font-size:14px!important;}
.cr-coach-analysis-900 .a71-score-max{font-size:14px!important;}
.cr-coach-analysis-900 .a71-kpis small{font-size:14px!important;}
.cr-coach-analysis-900 .a71-kpis em{font-size:14px!important;}
.cr-coach-analysis-900 .a71-rowhead{font-size:14px!important;}
.cr-coach-analysis-900 .a71-note,.cr-coach-analysis-900 .a71-empty{font-size:14px!important;}
.cr-coach-analysis-900 .a71-links a{font-size:14px!important;}
.cr-coach-adaptive-900 .ad73-kpis small{font-size:14px!important;}
.cr-coach-adaptive-900 .ad73-kpis em{font-size:14px!important;}
.cr-coach-adaptive-900 .ad73-change-list article,.cr-coach-adaptive-900 .ad73-reasons>div,.cr-coach-adaptive-900 .ad73-rules>div{font-size:14px!important;}
.cr-coach-adaptive-900 .ad73-note,.cr-coach-adaptive-900 .ad73-empty{font-size:14px!important;}
.cr-coach-adaptive-900 .ad73-performance>div{font-size:14px!important;}
.cr-coach-readiness-900 .rd-score-label{font-size:14px!important;}
.cr-coach-readiness-900 .rd-field>span{font-size:14px!important;}
.cr-coach-readiness-900 .rd-form-actions small{font-size:14px!important;}
.cr-coach-readiness-900 .rd-info{font-size:14px!important;}
.cr-coach-readiness-900 .rd-factor-list strong{font-size:14px!important;}
.cr-coach-readiness-900 .rd-factor-list small{font-size:14px!important;}
.cr-coach-readiness-900 .rd-scale-card>strong{font-size:14px!important;}
.cr-coach-readiness-900 .rd-scale span{font-size:14px!important;}
.cr-coach-readiness-900 .rd-scale p{font-size:14px!important;}
.cr-coach-pending-900 .pending42-main strong{font-size:14px!important;}
.cr-coach-pending-900 .pending42-main small{font-size:14px!important;}
.cr-coach-pending-900 .pending42-metric,.cr-coach-pending-900 .pending42-badge,.cr-coach-pending-900 .pending42-plan{font-size:14px!important;}
.cr-coach-pending-900 .pending42-copy,.cr-coach-pending-900 .pending42-empty{font-size:14px!important;}
.cr-coach-feedback-900 .feedback42-label{font-size:14px!important;}
.cr-coach-feedback-900 .feedback42-scale-head label{font-size:14px!important;}
.cr-coach-feedback-900 .feedback42-scale-head output{font-size:14px!important;}
.cr-coach-feedback-900 .feedback42-scale-help span{font-size:14px!important;}
.cr-coach-feedback-900 .feedback70-sleep-extra small{font-size:14px!important;}
.cr-coach-feedback-900 .feedback42-check{font-size:14px!important;}
.cr-coach-feedback-900 .feedback42-voice-button{font-size:14px!important;}
.cr-coach-feedback-900 .feedback42-voice-status{font-size:14px!important;}
.cr-coach-feedback-900 .feedback42-side-copy{font-size:14px!important;}
.cr-coach-history-900 .feedback70-history-kpis small{font-size:14px!important;}
.cr-coach-history-900 .feedback70-head strong{font-size:14px!important;}
.cr-coach-history-900 .feedback70-head small{font-size:14px!important;}
.cr-coach-history-900 .feedback70-metrics span,.cr-coach-history-900 .feedback70-badges span{font-size:14px!important;}
.cr-coach-history-900 .feedback70-comment{font-size:14px!important;}
.cr-coach-history-900 .feedback70-empty{font-size:14px!important;}
.cr-coach-brief-900 .dailybrief-kpis small{font-size:14px!important;}
.cr-coach-brief-900 .dailybrief-kpis strong{font-size:14px!important;}
.cr-coach-brief-900 .dailybrief-kpis em{font-size:14px!important;}
.cr-coach-brief-900 .dailybrief-readiness strong,.cr-coach-brief-900 .dailybrief-empty strong,.cr-coach-brief-900 .dailybrief-goal-card strong{font-size:14px!important;}
.cr-coach-brief-900 .dailybrief-readiness p,.cr-coach-brief-900 .dailybrief-empty p,.cr-coach-brief-900 .dailybrief-goal-card p{font-size:14px!important;}
.cr-coach-brief-900 .dailybrief-type{font-size:14px!important;}
.cr-coach-brief-900 .dailybrief-workout-metrics small{font-size:14px!important;}
.cr-coach-brief-900 .dailybrief-workout-metrics strong{font-size:14px!important;}
.cr-coach-brief-900 .dailybrief-links a,.cr-coach-brief-900 .dailybrief-alert-list>div,.cr-coach-brief-900 .dailybrief-recovery-grid>div{font-size:14px!important;}
.cr-coach-brief-900 .dailybrief-last-activity{font-size:14px!important;}
.cr-coach-weekly-900 .wr-adherence-label{font-size:14px!important;}
.cr-coach-weekly-900 .wr-week-nav>span{font-size:14px!important;}
.cr-coach-weekly-900 .wr-nav-btn{font-size:14px!important;}
.cr-coach-weekly-900 .wr-stat small{font-size:14px!important;}
.cr-coach-weekly-900 .wr-stat strong{font-size:14px!important;}
.cr-coach-weekly-900 .wr-coach-summary{font-size:14px!important;}
.cr-coach-weekly-900 .wr-progress-head{font-size:14px!important;}
.cr-coach-weekly-900 .wr-signal-list small{font-size:14px!important;}
.cr-coach-weekly-900 .wr-signal-list strong{font-size:14px!important;}
.cr-coach-weekly-900 .wr-tip-card strong{font-size:14px!important;}
.cr-coach-weekly-900 .wr-tip-card p{font-size:14px!important;}
.cr-coach906 .cr-language a{font-size:14px!important;}
.cr-coach906 .db-kicker,
.cr-coach906 .db-eyebrow,
.cr-coach906 .db-score-label,
.cr-coach906 .rec-kicker,
.cr-coach906 .rec-eyebrow{font-size:14px!important;}
.cr-coach906 .db-btn,
.cr-coach906 .rec-btn,
.cr-coach906 .voice75-submit,
.cr-coach906 .voice75-speak-button,
.cr-coach906 .voice75-mic-button{font-size:14px!important;}
.cr-coach906 .db-alert,.cr-coach906 .rec-alert{font-size:14px!important;}
.cr-voice906 .voice75-quota-sub,.cr-voice906 .voice75-side-copy{font-size:14px!important;}
.cr-voice906 .voice75-mode-grid label{font-size:14px!important;}
.cr-voice906 .voice75-label{font-size:14px!important;}
.cr-voice906 .voice75-browser-badge{font-size:14px!important;}
.cr-voice906 .voice75-check{font-size:14px!important;}
.cr-voice906 .voice75-response-text{font-size:14px!important;}
.cr-voice906 .voice75-safety,.cr-voice906 .voice75-saved-note{font-size:14px!important;}
.cr-voice906 .voice75-flow>div{font-size:14px!important;}
.cr-memory906 .coach74-memory-kpis small{font-size:14px!important;}
.cr-memory906 .coach74-memory-kpis strong{font-size:14px!important;}
.cr-memory906 .coach74-coverage-list strong{font-size:14px!important;}
.cr-memory906 .coach74-coverage-list small{font-size:14px!important;}
.cr-memory906 .coach74-memory-box,.cr-memory906 .coach74-transparency-note,.cr-memory906 .coach74-empty{font-size:14px!important;}
.cr-recommend906 .rec-stat small{font-size:14px!important;}
.cr-recommend906 .rec-stat strong{font-size:14px!important;}
.cr-recommend906 .rec-order{font-size:14px!important;}
.cr-recommend906 .rec-item strong{font-size:14px!important;}
.cr-recommend906 .rec-item p{font-size:14px!important;}
.cr-recommend906 .rec-priority{font-size:14px!important;}
.cr-recommend906 .rec-action{font-size:14px!important;}
.cr-recommend906 .rec-note-card,.cr-recommend906 .rec-empty,.cr-recommend906 .rec-alert-source-list{font-size:14px!important;}
.cr-feedback-analysis906 .feedback4903-score-max{font-size:14px!important;}
.cr-feedback-analysis906 .feedback4903-info-grid small{font-size:14px!important;}
.cr-feedback-analysis906 .feedback4903-info-grid strong{font-size:14px!important;}
.cr-feedback-analysis906 .feedback4903-result strong{font-size:14px!important;}
.cr-feedback-analysis906 .feedback4903-result p{font-size:14px!important;}
.cr-feedback-analysis906 .feedback4903-note{font-size:14px!important;}
.cr-voice906 .voice75-mode-grid strong{font-size:14px!important;}
.cr-voice906 .voice75-mode-grid small{font-size:14px!important;}
.cr-voice906 .voice75-category-wrap>label,
.cr-voice906 .voice75-activity-wrap>label:first-child,
.cr-voice906 .voice75-label{font-size:14px!important;}
.cr-voice906 .voice75-mic-button strong{font-size:14px!important;}
.cr-voice906 .voice75-mic-button small{font-size:14px!important;}
.cr-voice906 .voice75-live-row{font-size:14px!important;}
.cr-voice906 #voice75-transcript{font-size:14px!important;}
.cr-voice906 .voice75-flow>div>span{font-size:14px!important;}
.cr-voice906 .voice75-flow>div>strong{font-size:14px!important;}
.cr-race-suite-903 .cr-language a{font-size:14px!important;}
.cr-race-suite-903 .db-kicker,
.cr-race-suite-903 .db-score-label,
.cr-race-suite-903 .ca-kicker,
.cr-race-suite-903 .ca-eyebrow{font-size:14px!important;}
.cr-race-suite-903 .db-btn,
.cr-race-suite-903 .ca-btn,
.cr-race-suite-903 .wrap a,
.cr-race-suite-903 .wrap button{font-size:14px!important;}
.cr-race-suite-903 .err,.cr-race-suite-903 .ok,.cr-race-suite-903 .info,.cr-race-suite-903 .warn,
.cr-race-suite-903 .green,.cr-race-suite-903 .blue,.cr-race-suite-903 .purple{font-size:14px!important;}
.cr-race-suite-903 .db-score-status,.cr-race-suite-903 .ca-summary-label{font-size:14px!important;}
.cr-race-suite-903 .field label{font-size:14px!important;}
.cr-race-suite-903 .metric .label,.cr-race-suite-903 .label{font-size:14px!important;}
.cr-race-suite-903 .details,.cr-race-suite-903 .history,.cr-race-suite-903 .feedback{font-size:14px!important;}
.cr-race-checklist-903 .item>div{font-size:14px!important;}
.cr-race-recovery-903 .day{font-size:14px!important;}
.cr-race-recovery-903 .day strong{font-size:14px!important;}
.cr-recovery-progress-903 .row{font-size:14px!important;}
.cr-race-alerts-903 .ca-stat small{font-size:14px!important;}
.cr-race-alerts-903 .ca-alert-main strong{font-size:14px!important;}
.cr-race-alerts-903 .ca-alert-main p{font-size:14px!important;}
.cr-race-alerts-903 .ca-alert-meta{font-size:14px!important;}
.cr-race-alerts-903 .ca-watch-list strong{font-size:14px!important;}
.cr-race-alerts-903 .ca-note-card p{font-size:14px!important;}
.cr-race-alerts-903 .ca-note-card a{font-size:14px!important;}
.cr-race-alerts-903 .ca-empty,.cr-race-alerts-903 .ca-error{font-size:14px!important;}

/* Important card titles deserve one visual step above metadata. */
.cr-coach-pending-900 .pending42-main strong,
.cr-coach-history-900 .feedback70-head strong,
.cr-coach-brief-900 .dailybrief-readiness strong,
.cr-coach-brief-900 .dailybrief-empty strong,
.cr-coach-brief-900 .dailybrief-goal-card strong,
.cr-coach-weekly-900 .wr-signal-list strong,
.cr-coach-weekly-900 .wr-tip-card strong,
.cr-recommend906 .rec-item strong,
.cr-feedback-analysis906 .feedback4903-result strong,
.cr-race-alerts-903 .ca-alert-main strong,
.cr-race-recovery-903 .day strong{
  font-size:15px!important;
  line-height:1.38;
}

/* Analysis Engine signal cards were inherited from an old light component. */
.cr-coach-analysis-900 .a71-signals p,
.cr-coach-analysis-900 .a71-comparisons small,
.cr-coach-analysis-900 .a71-comparisons span{
  font-size:14px!important;
  line-height:1.55;
}
.cr-coach-analysis-900 .a71-signals strong,
.cr-coach-analysis-900 .a71-comparisons strong{
  font-size:15px!important;
  line-height:1.4;
}

/* Form controls: readable without zooming. */
body:is(.cr-coach-family-900,.cr-coach906,.cr-race-suite-903)
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){
  font-size:15px!important;
  line-height:1.45;
}

/* Give enlarged copy breathing room and prevent flex/grid overflow. */
body:is(.cr-coach-family-900,.cr-coach906,.cr-race-suite-903)
:is(.db-card,.db-side,.db-main,.coach74-context-strip article,.a71-kpis article,.ad73-kpis article,
    .pending42-item,.rec-item,.feedback4903-info-grid>div,.ca-stat,.ca-alert,.rd-factor-list>div){
  min-width:0;
}
.cr-coach-pending-900 .pending42-item,
.cr-recommend906 .rec-item,
.cr-race-alerts-903 .ca-alert{
  padding:13px;
  gap:12px;
}
.cr-coach-analysis-900 .a71-note,
.cr-coach-analysis-900 .a71-empty,
.cr-recommend906 .rec-note-card,
.cr-recommend906 .rec-empty,
.cr-feedback-analysis906 .feedback4903-note,
.cr-race-alerts-903 .ca-empty,
.cr-race-alerts-903 .ca-error{
  padding:13px;
  line-height:1.6;
}

/* Voice Coach: preserve 90.6.1 horizontal layout with the larger type. */
.cr-voice906 .voice75-mode-grid label{min-height:124px!important;}
.cr-voice906 .voice75-mode-grid strong{font-size:15px!important;line-height:1.35;}
.cr-voice906 .voice75-mode-grid small{font-size:14px!important;line-height:1.5;}
.cr-voice906 .voice75-mic-button strong{font-size:15px!important;}
.cr-voice906 .voice75-mic-button small{font-size:14px!important;}
.cr-voice906 #voice75-transcript{font-size:15px!important;}

@media(max-width:760px){
  .cr-coach-pending-900 .pending42-item,
  .cr-recommend906 .rec-item{
    grid-template-columns:42px minmax(0,1fr)!important;
  }
  .cr-coach-pending-900 .pending42-action,
  .cr-recommend906 .rec-priority{
    grid-column:2!important;
    justify-self:start!important;
  }
  .cr-race-alerts-903 .ca-alert{grid-template-columns:42px minmax(0,1fr);}
}

@media(max-width:430px){
  body:is(.cr-coach-family-900,.cr-coach906,.cr-race-suite-903)
  :is(.db-card,.rec-item,.pending42-item,.ca-alert){padding-left:12px;padding-right:12px;}
  .cr-coach-analysis-900 .a71-rowhead,
  .cr-coach-adaptive-900 .ad73-performance>div{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .cr-voice906 .voice75-mode-grid label{min-height:118px!important;}
}


/* Consolidated from wow_v2_plans_tools_training_profile_readability_91_1_5.css; edit this master, not the old file. */
/*
 * 91.1.5 — WOW V2 Plans / Tools / Training / Goals / Equipment readability
 * Targeted visual-only overrides. No PHP/business logic changes.
 */

/* Shared safety for dense layouts */
.cr-plans-892 *,
.cr-plan-suite-905 *,
.cr-tools-894 *,
.cr-training-suite-904 *,
.cr-profile-family-901 *{min-width:0}

.cr-plans-892 p,
.cr-plan-suite-905 p,
.cr-tools-894 p,
.cr-training-suite-904 p,
.cr-profile-family-901 p,
.cr-plans-892 small,
.cr-plan-suite-905 small,
.cr-tools-894 small,
.cr-training-suite-904 small,
.cr-profile-family-901 small{
 overflow-wrap:anywhere;
}

/* Public plans */
.cr-plans-892 .cr-language a,
.cr-plans-892 .pp892-btn,
.cr-plans-892 .pp892-card-top span,
.cr-plans-892 .pp892-card-copy small,
.cr-plans-892 .pp892-context-items strong,
.cr-plans-892 .pp892-context-items span{font-size:14px}
.cr-plans-892 .pp892-card-copy p{font-size:15px;line-height:1.5}
.cr-plans-892 .pp892-hero-note span{font-size:15px}

/* Plan workflow / generator */
.cr-plan-suite-905 .cr-language a,
.cr-plan-suite-905 .db-btn,
.cr-plan-suite-905 .dbu-btn,
.cr-plan-suite-905 .wrap a,
.cr-plan-suite-905 .wrap button{font-size:14px}
.cr-plan-suite-905 .field label,
.cr-plan-suite-905 .label,
.cr-plan-generator-905 .p72-kpis small,
.cr-plan-generator-905 .p72-form label,
.cr-plan-generator-905 .p72-day small,
.cr-plan-generator-905 .p72-metric,
.cr-plan-generator-905 .p72-guide,
.cr-plan-generator-905 .p72-note,
.cr-plan-onboarding-905 .plan-badge,
.cr-plan-onboarding-905 .features,
.cr-plan-onboarding-905 .plan-note,
.cr-plan-onboarding-905 .current-box{font-size:14px;line-height:1.55}
.cr-plan-generator-905 .p72-kpis strong,
.cr-plan-generator-905 .p72-day strong,
.cr-plan-suite-905 .value,
.cr-plan-onboarding-905 .brand{font-size:15px}
.cr-plan-suite-905 input,
.cr-plan-suite-905 select,
.cr-plan-suite-905 textarea{font-size:15px;line-height:1.35}
.cr-plan-generator-905 .p72-kpis article,
.cr-plan-generator-905 .p72-day,
.cr-plan-onboarding-905 .plan-card{padding:13px}

/* Tools */
.cr-tools-894 .cr-language a,
.cr-tools-894 .pt894-btn,
.cr-tools-894 .tool-btn,
.cr-tools-894 .tool-calc-btn,
.cr-tools-894 .tool-panel-head small,
.cr-tools-894 .tool-result-label,
.cr-tools-894 .tool-result-card>small,
.cr-tools-894 .tool-result-grid small,
.cr-tools-894 .tool-zone-list small,
.cr-tools-894 .tool-predictions small,
.cr-tools-894 .tool-result-sub,
.cr-tools-894 .tool-zone-list span,
.cr-tools-894 .tool-predictions span,
.cr-tools-894 .tool-splits span,
.cr-tools-894 .p85-splits b,
.cr-tools-894 .tool-note,
.cr-tools-894 .p85-disclaimer{font-size:14px;line-height:1.55}
.cr-tools-894 .tool-panel label{font-size:14.5px}
.cr-tools-894 .tool-panel input,
.cr-tools-894 .tool-panel select{font-size:15px}
.cr-tools-894 .tool-result-grid strong,
.cr-tools-894 .tool-zone-list strong,
.cr-tools-894 .tool-predictions strong{font-size:15px}
.cr-tools-894 .tool-zone-list>div,
.cr-tools-894 .tool-predictions>div,
.cr-tools-894 .tool-splits>div,
.cr-tools-894 .p85-splits>span{flex-wrap:wrap}

/* Training / progress / zones / records / workout status */
.cr-training-suite-904 .cr-language a,
.cr-training-suite-904 .db-btn,
.cr-training-suite-904 .tz-btn,
.cr-training-suite-904 .pg-btn,
.cr-training-suite-904 .ws-btn,
.cr-training-suite-904 .wrap a,
.cr-training-suite-904 .wrap button{font-size:14px}
.cr-training-load-904 .a71-load-grid small,
.cr-training-zones-904 .tz-stat small,
.cr-training-zones-904 .tz-zone-main small,
.cr-training-zones-904 .tz-range-card,
.cr-training-zones-904 .tz-note-card,
.cr-training-zones-904 .tz-data-note,
.cr-training-progress-904 .pg-adherence-label,
.cr-training-progress-904 .pg-adherence-status,
.cr-training-progress-904 .pg-stat small,
.cr-training-progress-904 .pg-week-metrics small,
.cr-training-records-904 .athlete69-best-row small,
.cr-training-records-904 .athlete69-match-count,
.cr-training-status-904 .ws-stat small,
.cr-training-status-904 .ws-action small,
.cr-training-status-904 .ws-complete-form label,
.cr-training-status-904 .ws-note-card,
.cr-training-checkin-904 .field label{font-size:14px;line-height:1.5}
.cr-training-zones-904 .tz-zone-main strong,
.cr-training-zones-904 .tz-zone-bpm,
.cr-training-progress-904 .pg-stat strong,
.cr-training-progress-904 .pg-week-date,
.cr-training-progress-904 .pg-week-metrics strong,
.cr-training-records-904 .athlete69-best-row strong,
.cr-training-status-904 .ws-stat strong,
.cr-training-status-904 .ws-action strong{font-size:15px}
.cr-training-suite-904 input,
.cr-training-suite-904 select,
.cr-training-suite-904 textarea{font-size:15px;line-height:1.35}

/* Goals / equipment / shoes */
.cr-profile-family-901 .cr-language a,
.cr-profile-family-901 .db-btn,
.cr-profile-family-901 .goal-btn,
.cr-profile-family-901 .btn{font-size:14px}
.cr-profile-goals-901 .goal-active-label,
.cr-profile-goals-901 .goal-stat small,
.cr-profile-goals-901 .goal-field span,
.cr-profile-goals-901 .goal-history-meta,
.cr-profile-goals-901 .goal-status,
.cr-profile-goals-901 .goal-tips,
.cr-profile-goals-901 .goal-info,
.cr-profile-family-901 .eq77-kpis small,
.cr-profile-family-901 .eq77-status,
.cr-profile-family-901 .eq77-stats small,
.cr-profile-family-901 .eq77-stats strong,
.cr-profile-family-901 .eq77-wear,
.cr-profile-family-901 .eq77-rec,
.cr-profile-family-901 .eq77-side-note,
.cr-profile-family-901 .eq77-detail-link,
.cr-profile-family-901 .eq77-form label,
.cr-profile-onboarding-goal-901 .field>span,
.cr-profile-onboarding-goal-901 .side-item{font-size:14px;line-height:1.5}
.cr-profile-goals-901 .goal-history-main strong,
.cr-profile-family-901 .eq77-kpis strong,
.cr-profile-family-901 .eq77-shoe-head strong,
.cr-profile-onboarding-goal-901 .brand,
.cr-profile-onboarding-goal-901 .group-title{font-size:15px}
.cr-profile-family-901 input,
.cr-profile-family-901 select,
.cr-profile-family-901 textarea{font-size:15px;line-height:1.35}
.cr-profile-family-901 .eq77-shoe-head,
.cr-profile-family-901 .eq77-wear>div{flex-wrap:wrap}
.cr-profile-family-901 .eq77-status{white-space:normal;text-align:right}

/* Responsive readability / alignment */
@media(max-width:760px){
 .cr-plan-suite-905 input,
 .cr-plan-suite-905 select,
 .cr-plan-suite-905 textarea,
 .cr-tools-894 .tool-panel input,
 .cr-tools-894 .tool-panel select,
 .cr-training-suite-904 input,
 .cr-training-suite-904 select,
 .cr-training-suite-904 textarea,
 .cr-profile-family-901 input,
 .cr-profile-family-901 select,
 .cr-profile-family-901 textarea{font-size:16px}

 .cr-training-zones-904 .tz-zone{grid-template-columns:44px minmax(0,1fr)}
 .cr-training-zones-904 .tz-zone-bpm{grid-column:2;text-align:left}
 .cr-profile-family-901 .eq77-stats{grid-template-columns:1fr 1fr}
 .cr-tools-894 .tool-zone-list>div,
 .cr-tools-894 .tool-predictions>div,
 .cr-tools-894 .tool-splits>div,
 .cr-tools-894 .p85-splits>span{align-items:flex-start}
}

@media(max-width:430px){
 .cr-profile-family-901 .eq77-stats{grid-template-columns:1fr}
 .cr-plan-generator-905 .p72-kpis,
 .cr-training-zones-904 .tz-stats,
 .cr-training-progress-904 .pg-stats{grid-template-columns:1fr}
 .cr-plans-892 .pp892-context-items{grid-template-columns:1fr}
}


/* Consolidated from wow_v2_history_progress_polish_91_1_11.css; edit this master, not the old file. */
/* =========================================================
   91.1.11 — WOW V2 Athlete History / Progress Polish
   Visual-only overrides. No PHP/business logic changes.
   ========================================================= */

body:is(.cr-profile-intelligence-901,.cr-training-progress-904,.cr-training-records-904,
        .cr-training-load-904,.cr-coach-history-900,.cr-race-history-903,
        .cr-recovery-progress-903) *{min-width:0}

/* Athlete intelligence / performance history */
.cr-profile-intelligence-901 .athlete69-kpis article{min-height:96px;padding:14px}
.cr-profile-intelligence-901 .athlete69-kpis small,
.cr-profile-intelligence-901 .athlete69-record-meta,
.cr-profile-intelligence-901 .athlete69-week small,
.cr-profile-intelligence-901 .athlete69-method-note,
.cr-profile-intelligence-901 .athlete69-empty{font-size:14px!important;line-height:1.5}
.cr-profile-intelligence-901 .athlete69-kpis strong{font-size:16px!important}
.cr-profile-intelligence-901 .athlete69-record-grid>article,
.cr-profile-intelligence-901 .athlete69-trend-grid>article{padding:14px}
.cr-profile-intelligence-901 .athlete69-record-head{align-items:flex-start;flex-wrap:wrap}
.cr-profile-intelligence-901 .athlete69-record-time{font-size:26px;line-height:1.1}
.cr-profile-intelligence-901 .athlete69-long-list>div,
.cr-profile-intelligence-901 .athlete69-hr-list>div{gap:10px;flex-wrap:wrap}

/* Weekly progression: six KPIs read better as two rows of three. */
.cr-training-progress-904 .pg-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cr-training-progress-904 .pg-stat{min-height:92px;padding:14px}
.cr-training-progress-904 .pg-stat small,
.cr-training-progress-904 .pg-adherence-label,
.cr-training-progress-904 .pg-adherence-status,
.cr-training-progress-904 .pg-week-metrics small,
.cr-training-progress-904 .pg-memory-card,
.cr-training-progress-904 .pg-trend-card,
.cr-training-progress-904 .pg-muted-box{font-size:14px!important;line-height:1.55}
.cr-training-progress-904 .pg-stat strong,
.cr-training-progress-904 .pg-week-metrics strong{font-size:16px!important}
.cr-training-progress-904 .pg-week-date{font-size:15px!important;line-height:1.35}
.cr-training-progress-904 .pg-week-row{padding:13px}
.cr-training-progress-904 .pg-week-metrics{gap:8px}
.cr-training-progress-904 .pg-week-metrics span{padding:9px}
.cr-training-progress-904 .pg-section-head{align-items:flex-start;flex-wrap:wrap}

/* Performance records */
.cr-training-records-904 .athlete69-history-card{padding:14px}
.cr-training-records-904 .athlete69-best-row{grid-template-columns:100px minmax(0,1fr) 120px;padding:11px;gap:12px}
.cr-training-records-904 .athlete69-best-row strong{font-size:15px!important;line-height:1.4}
.cr-training-records-904 .athlete69-best-row small,
.cr-training-records-904 .athlete69-match-count,
.cr-training-records-904 .athlete69-method-note,
.cr-training-records-904 .athlete69-bottom-note,
.cr-training-records-904 .athlete69-empty{font-size:14px!important;line-height:1.55}

/* Training load */
.cr-training-load-904 .a71-load-grid>div{min-height:102px;padding:15px}
.cr-training-load-904 .a71-load-grid small{font-size:14px!important;line-height:1.45}
.cr-training-load-904 .a71-load-grid strong{font-size:22px}

/* Feedback history: five summary KPIs should balance on desktop. */
.cr-coach-history-900 .feedback70-history-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.cr-coach-history-900 .feedback70-history-kpis>div{min-height:98px;padding:14px}
.cr-coach-history-900 .feedback70-history-kpis small,
.cr-coach-history-900 .feedback70-history-kpis em,
.cr-coach-history-900 .feedback70-head small,
.cr-coach-history-900 .feedback70-metrics span,
.cr-coach-history-900 .feedback70-badges span,
.cr-coach-history-900 .feedback70-comment{font-size:14px!important;line-height:1.5}
.cr-coach-history-900 .feedback70-history-kpis strong{font-size:20px!important;line-height:1.15}
.cr-coach-history-900 .feedback70-list article{padding:14px}

.cr-coach-history-900 .feedback70-head strong{font-size:15px!important;line-height:1.4}
.cr-coach-history-900 .feedback70-metrics span,
.cr-coach-history-900 .feedback70-badges span{padding:7px 9px}

/* Race history: turn the dense .mini blocks into readable metric cards. */
.cr-race-history-903 .race{padding:18px}
.cr-race-history-903 .race>h2{margin-bottom:10px}
.cr-race-history-903 .race .details{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;
  padding:0;background:transparent
}
.cr-race-history-903 .race .mini{
  padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#091118;
  color:#aeb8c2;font-size:14px!important;line-height:1.5
}
.cr-race-history-903 .race .mini strong{display:block;margin-bottom:3px;color:#fff;font-size:14px}
.cr-race-history-903 .race .info,
.cr-race-history-903 .race .history,
.cr-race-history-903 .race .feedback{font-size:14px!important;line-height:1.55}

/* Recovery progress */
.cr-recovery-progress-903 .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cr-recovery-progress-903 .metric{min-height:92px;padding:14px}
.cr-recovery-progress-903 .metric .label{font-size:14px!important;line-height:1.4}
.cr-recovery-progress-903 .metric .value{font-size:22px!important;line-height:1.15}
.cr-recovery-progress-903 .row{
  grid-template-columns:120px 90px minmax(0,1fr);gap:12px;padding:12px;
  font-size:14px!important;line-height:1.45
}
.cr-recovery-progress-903 .barwrap{height:9px}

@media(max-width:1200px){
  .cr-coach-history-900 .feedback70-history-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  .cr-training-progress-904 .pg-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cr-profile-intelligence-901 .athlete69-record-grid,
  .cr-profile-intelligence-901 .athlete69-trend-grid{grid-template-columns:1fr}


  .cr-coach-history-900 .feedback70-history-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cr-race-history-903 .race .details{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cr-recovery-progress-903 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:430px){
  .cr-training-progress-904 .pg-stats,
  .cr-coach-history-900 .feedback70-history-kpis,
  .cr-race-history-903 .race .details,
  .cr-recovery-progress-903 .grid{grid-template-columns:1fr}
  .cr-training-records-904 .athlete69-best-row{grid-template-columns:1fr;gap:6px}
  .cr-recovery-progress-903 .row{grid-template-columns:1fr;gap:6px}
  .cr-training-load-904 .a71-load-grid{grid-template-columns:1fr}
}


/* Consolidated from wow_v2_race_readiness_return_polish_91_1_13.css; edit this master, not the old file. */
/* Coach Running AI — WOW V2 91.1.13
   Race / Goals / Readiness / Return-to-run readability & responsive polish.
   Presentation only: no PHP/business logic changes. */

/* ---------- Shared race suite ---------- */
.cr-race-suite-903 .db-score-status,
.cr-race-suite-903 .ca-summary-label,
.cr-race-suite-903 .field label,
.cr-race-suite-903 .metric .label,
.cr-race-suite-903 .label,
.cr-race-suite-903 .details,
.cr-race-suite-903 .history,
.cr-race-suite-903 .feedback,
.cr-race-suite-903 .cr-race-checklist-903 .item > div,
.cr-race-suite-903 .cr-race-recovery-903 .day,
.cr-race-suite-903 .cr-recovery-progress-903 .row,
.cr-race-suite-903 .cr-race-alerts-903 .ca-stat small,
.cr-race-suite-903 .cr-race-alerts-903 .ca-alert-main p,
.cr-race-suite-903 .cr-race-alerts-903 .ca-alert-meta,
.cr-race-suite-903 .cr-race-alerts-903 .ca-watch-list strong,
.cr-race-suite-903 .cr-race-alerts-903 .ca-note-card p,
.cr-race-suite-903 .cr-race-alerts-903 .ca-note-card a {
  font-size:14px;
}

.cr-race-suite-903 .cr-race-checklist-903 .item > div,
.cr-race-suite-903 .cr-race-recovery-903 .day strong,
.cr-race-suite-903 .cr-race-alerts-903 .ca-alert-main strong,
.cr-race-suite-903 .cr-race-alerts-903 .ca-empty,
.cr-race-suite-903 .cr-race-alerts-903 .ca-error {
  font-size:15px;
}

.cr-race-suite-903 .field input,
.cr-race-suite-903 .field select,
.cr-race-suite-903 .field textarea {
  font-size:15px;
}

.cr-race-suite-903 .grid > *,
.cr-race-suite-903 .metric,
.cr-race-suite-903 .item > *,
.cr-race-suite-903 .day > *,
.cr-race-suite-903 .ca-alert > * {
  min-width:0;
}

.cr-race-suite-903 .details,
.cr-race-suite-903 .history,
.cr-race-suite-903 .feedback,
.cr-race-suite-903 .item,
.cr-race-suite-903 .day,
.cr-race-suite-903 .ca-alert-main,
.cr-race-suite-903 .ca-alert-meta {
  overflow-wrap:anywhere;
}

.cr-race-checklist-903 .item {
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  padding:12px;
}
.cr-race-checklist-903 .item form { min-width:max-content; }

.cr-race-recovery-903 .day {
  grid-template-columns:110px 210px minmax(0,1fr);
  gap:14px;
  padding:13px 12px;
  line-height:1.55;
}

.cr-race-alerts-903 .ca-alert {
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
}
.cr-race-alerts-903 .ca-alert-meta { line-height:1.45; }

/* ---------- Goals ---------- */
.cr-profile-goals-901 .goal-active-label,
.cr-profile-goals-901 .goal-stat small,
.cr-profile-goals-901 .goal-field span,
.cr-profile-goals-901 .goal-history-meta,
.cr-profile-goals-901 .goal-status,
.cr-profile-countdown-901 .label {
  font-size:14px;
}

.cr-profile-goals-901 .goal-history-main strong,
.cr-profile-goals-901 .goal-stat strong {
  font-size:15px;
}

.cr-profile-goals-901 .goal-tips,
.cr-profile-goals-901 .goal-info,
.cr-profile-countdown-901 .checklist > div,
.cr-profile-countdown-901 .strategy,
.cr-profile-countdown-901 .fuel,
.cr-profile-countdown-901 .guard,
.cr-profile-countdown-901 .info {
  font-size:14.5px;
  line-height:1.6;
}

.cr-profile-goals-901 .goal-field input,
.cr-profile-goals-901 .goal-field select {
  font-size:15px;
}

.cr-profile-goals-901 .goal-stats {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.cr-profile-goals-901 .goal-stat,
.cr-profile-goals-901 .goal-grid > *,
.cr-profile-goals-901 .goal-history-row > * { min-width:0; }

.cr-profile-goals-901 .goal-history-row {
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:11px;
  padding:12px;
}
.cr-profile-goals-901 .goal-history-main,
.cr-profile-goals-901 .goal-history-meta { overflow-wrap:anywhere; }

/* ---------- Readiness ---------- */
.cr-coach-readiness-900 .rd-score-label,
.cr-coach-readiness-900 .rd-field > span,
.cr-coach-readiness-900 .rd-form-actions small,
.cr-coach-readiness-900 .rd-factor-list strong,
.cr-coach-readiness-900 .rd-factor-list small,
.cr-coach-readiness-900 .rd-scale span,
.cr-coach-readiness-900 .rd-scale p {
  font-size:14px;
}

.cr-coach-readiness-900 .rd-scale-card > strong {
  font-size:15px;
}

.cr-coach-readiness-900 .rd-info {
  font-size:14.5px;
  line-height:1.6;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  padding:12px;
}

.cr-coach-readiness-900 .rd-field input,
.cr-coach-readiness-900 .rd-field textarea {
  font-size:15px;
}

.cr-coach-readiness-900 .rd-grid > *,
.cr-coach-readiness-900 .rd-info > *,
.cr-coach-readiness-900 .rd-factor-list > div > *,
.cr-coach-readiness-900 .rd-scale > * { min-width:0; }

.cr-coach-readiness-900 .rd-factor-list > div {
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  padding:11px;
}
.cr-coach-readiness-900 .rd-factor-list p,
.cr-coach-readiness-900 .rd-factor-list small,
.cr-coach-readiness-900 .rd-scale p { overflow-wrap:anywhere; }

/* ---------- Return to run ---------- */
.cr-returnrun907 .label { font-size:14px; }
.cr-returnrun907 .value { font-size:15px; }
.cr-returnrun907 .info,
.cr-returnrun907 .blue,
.cr-returnrun907 .ok,
.cr-returnrun907 .warn,
.cr-returnrun907 .err {
  font-size:14.5px;
  line-height:1.6;
  overflow-wrap:anywhere;
}
.cr-returnrun907 .metric { min-width:0; padding:13px; }
.cr-returnrun907 .wrap a,
.cr-returnrun907 .wrap button { font-size:14px; }

/* ---------- Responsive ---------- */
@media (max-width:900px) {
  .cr-profile-goals-901 .goal-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cr-race-recovery-903 .day { grid-template-columns:100px minmax(0,1fr); }
  .cr-race-recovery-903 .day > :last-child { grid-column:1 / -1; }
}

@media (max-width:760px) {
  .cr-race-suite-903 .field input,
  .cr-race-suite-903 .field select,
  .cr-race-suite-903 .field textarea,
  .cr-profile-goals-901 .goal-field input,
  .cr-profile-goals-901 .goal-field select,
  .cr-coach-readiness-900 .rd-field input,
  .cr-coach-readiness-900 .rd-field textarea {
    font-size:16px;
  }

  .cr-profile-goals-901 .goal-grid { grid-template-columns:1fr; }
  .cr-profile-goals-901 .goal-form-actions,
  .cr-coach-readiness-900 .rd-form-actions { flex-wrap:wrap; }
  .cr-profile-goals-901 .goal-history-row {
    grid-template-columns:42px minmax(0,1fr);
  }
  .cr-profile-goals-901 .goal-history-row > :last-child {
    grid-column:2;
    justify-self:start;
  }
  .cr-race-recovery-903 .day { grid-template-columns:1fr; }
  .cr-race-recovery-903 .day > :last-child { grid-column:auto; }
}

@media (max-width:430px) {
  .cr-profile-goals-901 .goal-stats { grid-template-columns:1fr 1fr; }
  .cr-race-checklist-903 .item {
    grid-template-columns:1fr;
  }
  .cr-race-checklist-903 .item form {
    min-width:0;
    text-align:left;
  }
  .cr-race-checklist-903 .item form button,
  .cr-race-checklist-903 .item form .small { width:100%; }
  .cr-coach-readiness-900 .rd-scale {
    grid-template-columns:1fr;
  }
}

@media (max-width:340px) {
  .cr-profile-goals-901 .goal-stats { grid-template-columns:1fr; }
}


/* Consolidated from wow_v2_profile_personalization_equipment_polish_91_1_14.css; edit this master, not the old file. */
/*
 * 91.1.14 — WOW V2 Profile / Personalization / Equipment polish
 * Visual-only overrides. No business logic changes.
 */

/* Layout safety */
.cr-profile-family-901 *,
.cr-profile-onboarding-profile-901 *{min-width:0}

.cr-profile-family-901 p,
.cr-profile-family-901 small,
.cr-profile-family-901 strong,
.cr-profile-family-901 span,
.cr-profile-onboarding-profile-901 p,
.cr-profile-onboarding-profile-901 span{
  overflow-wrap:anywhere;
}

/* Shared controls / cards */
.cr-profile-family-901 .db-btn,
.cr-profile-family-901 .goal-btn,
.cr-profile-family-901 .btn{
  min-height:44px;
  padding:0 15px;
  font-size:14.5px;
}
.cr-profile-family-901 .db-card,
.cr-profile-family-901 .goal-card,
.cr-profile-family-901 .profile-card,
.cr-profile-family-901 .side-card{
  padding:20px;
}
.cr-profile-family-901 .db-section-head h2,
.cr-profile-family-901 .goal-section-head h2{font-size:20px;line-height:1.18}
.cr-profile-family-901 .db-kicker,
.cr-profile-family-901 .db-eyebrow,
.cr-profile-family-901 .goal-kicker,
.cr-profile-family-901 .goal-eyebrow,
.cr-profile-family-901 .db-score-label,
.cr-profile-family-901 .dbu-kicker{
  font-size:14px;
  line-height:1.35;
}
.cr-profile-family-901 .db-alert,
.cr-profile-family-901 .goal-alert,
.cr-profile-family-901 .notice{font-size:14.5px;line-height:1.55}

/* Athlete profile */
.cr-profile-athlete-901 .athlete68-kpis article{padding:14px;min-height:108px}
.cr-profile-athlete-901 .athlete68-kpis small{font-size:14px;line-height:1.4}
.cr-profile-athlete-901 .athlete68-kpis strong{font-size:15.5px;line-height:1.35}
.cr-profile-athlete-901 .athlete68-form label{font-size:14.5px;line-height:1.4}
.cr-profile-athlete-901 .athlete68-source-note,
.cr-profile-athlete-901 .athlete68-muted,
.cr-profile-athlete-901 .athlete68-missing-list>div,
.cr-profile-athlete-901 .athlete68-days>div,
.cr-profile-athlete-901 .athlete68-benchmarks>div{
  font-size:14.5px;
  line-height:1.55;
}
.cr-profile-athlete-901 .athlete68-toggle{
  min-height:46px;
  padding:11px 12px;
  font-size:14.5px;
  line-height:1.4;
}
.cr-profile-athlete-901 .athlete68-savebar{flex-wrap:wrap}

/* Personalization */
.cr-profile-personalization-901 .per76-kpis article{padding:14px;min-height:92px}
.cr-profile-personalization-901 .per76-kpis small{font-size:14px;line-height:1.4}
.cr-profile-personalization-901 .per76-kpis strong{font-size:15.5px;line-height:1.35}
.cr-profile-personalization-901 .per76-form label{font-size:14.5px;line-height:1.4}
.cr-profile-personalization-901 .per76-choice-grid label,
.cr-profile-personalization-901 .per76-days label{
  min-height:46px;
  padding:11px 12px;
  font-size:14.5px;
  line-height:1.4;
}
.cr-profile-personalization-901 .per76-module-list>div,
.cr-profile-personalization-901 .per76-summary>div,
.cr-profile-personalization-901 .per76-note{
  padding:11px 12px;
  font-size:14.5px;
  line-height:1.55;
}
.cr-profile-personalization-901 .per76-savebar{flex-wrap:wrap}

/* Shoes / equipment */
.cr-profile-family-901 .eq77-kpis article{padding:14px;min-height:92px}
.cr-profile-family-901 .eq77-kpis small{font-size:14px;line-height:1.4}
.cr-profile-family-901 .eq77-kpis strong{font-size:15.5px;line-height:1.35}
.cr-profile-family-901 .eq77-shoe-card{padding:15px}
.cr-profile-family-901 .eq77-shoe-head{
  align-items:flex-start;
  flex-wrap:wrap;
  gap:10px 12px;
}
.cr-profile-family-901 .eq77-shoe-head strong{font-size:16px;line-height:1.3}
.cr-profile-family-901 .eq77-status{
  padding:5px 9px;
  font-size:14px;
  line-height:1.3;
  white-space:normal;
}
.cr-profile-family-901 .eq77-stats>div{padding:9px 10px}
.cr-profile-family-901 .eq77-stats small{font-size:14px;line-height:1.35}
.cr-profile-family-901 .eq77-stats strong{font-size:15px;line-height:1.35}
.cr-profile-family-901 .eq77-wear,
.cr-profile-family-901 .eq77-rec,
.cr-profile-family-901 .eq77-side-note{
  padding:11px 12px;
  font-size:14.5px;
  line-height:1.55;
}
.cr-profile-family-901 .eq77-detail-link{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin-top:8px;
  padding:0 2px;
  font-size:14.5px;
  line-height:1.35;
}
.cr-profile-family-901 .eq77-form label{font-size:14.5px;line-height:1.4}
.cr-profile-family-901 .eq77-activity-list>article,
.cr-profile-family-901 .eq77-assign-row,
.cr-profile-family-901 .eq77-alert-list>article,
.cr-profile-family-901 .eq77-rec-grid>article{
  padding:13px;
  font-size:14.5px;
  line-height:1.5;
}
.cr-profile-family-901 .eq77-empty{font-size:14.5px;line-height:1.55}

/* Onboarding profile */
.cr-profile-onboarding-profile-901 .brand{font-size:15px}
.cr-profile-onboarding-profile-901 .hero p{font-size:15.5px;line-height:1.6}
.cr-profile-onboarding-profile-901 .field>span{font-size:14.5px;line-height:1.4}
.cr-profile-onboarding-profile-901 .group-title{font-size:16px;line-height:1.35}
.cr-profile-onboarding-profile-901 .side-item{
  padding:11px 12px;
  font-size:14.5px;
  line-height:1.5;
}
.cr-profile-onboarding-profile-901 .mobile-actions{flex-wrap:wrap}

/* Inputs — comfortable desktop, 16px mobile */
.cr-profile-family-901 input,
.cr-profile-family-901 select,
.cr-profile-family-901 textarea,
.cr-profile-onboarding-profile-901 input,
.cr-profile-onboarding-profile-901 select,
.cr-profile-onboarding-profile-901 textarea{
  font-size:15.5px;
  line-height:1.4;
}

@media(max-width:760px){
  .cr-profile-family-901 input,
  .cr-profile-family-901 select,
  .cr-profile-family-901 textarea,
  .cr-profile-onboarding-profile-901 input,
  .cr-profile-onboarding-profile-901 select,
  .cr-profile-onboarding-profile-901 textarea{font-size:16px}

  .cr-profile-family-901 .eq77-stats{grid-template-columns:1fr 1fr}
  .cr-profile-family-901 .eq77-assign-row{grid-template-columns:1fr}
  .cr-profile-athlete-901 .athlete68-savebar,
  .cr-profile-personalization-901 .per76-savebar,
  .cr-profile-onboarding-profile-901 .mobile-actions{align-items:stretch}
  .cr-profile-athlete-901 .athlete68-savebar>* ,
  .cr-profile-personalization-901 .per76-savebar>* ,
  .cr-profile-onboarding-profile-901 .mobile-actions>*{max-width:100%}
}

@media(max-width:430px){
  .cr-profile-family-901 .db-card,
  .cr-profile-family-901 .goal-card,
  .cr-profile-family-901 .profile-card,
  .cr-profile-family-901 .side-card{padding:16px}
  .cr-profile-family-901 .eq77-stats{grid-template-columns:1fr}
  .cr-profile-athlete-901 .athlete68-toggle-grid,
  .cr-profile-personalization-901 .per76-choice-grid,
  .cr-profile-personalization-901 .per76-days{grid-template-columns:1fr}
  .cr-profile-athlete-901 .athlete68-savebar,
  .cr-profile-personalization-901 .per76-savebar,
  .cr-profile-onboarding-profile-901 .mobile-actions{display:grid;grid-template-columns:1fr}
}


/* Consolidated from wow_v2_athlete_profile_hardfix_91_1_14_1.css; edit this master, not the old file. */
/*
 * 91.1.14.1 — WOW V2 Athlete Profile hard fix
 * Repairs structural styles that were lost during the Premium Sport redesign.
 * Scoped strictly to athlete_profile.php.
 */

.cr-profile-athlete-901 .db-main,
.cr-profile-athlete-901 .db-side,
.cr-profile-athlete-901 .db-card,
.cr-profile-athlete-901 .athlete68-form,
.cr-profile-athlete-901 .athlete68-grid,
.cr-profile-athlete-901 .athlete68-grid-3,
.cr-profile-athlete-901 .athlete68-days,
.cr-profile-athlete-901 .athlete68-missing-list,
.cr-profile-athlete-901 .athlete68-benchmarks{
  min-width:0;
}

/* Section icons */
.cr-profile-athlete-901 .athlete68-section-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,91,22,.18);
  border-radius:12px;
  background:rgba(255,91,22,.10);
  font-size:18px;
}

/* Proper field labels / inputs */
.cr-profile-athlete-901 .athlete68-form label>span,
.cr-profile-athlete-901 .athlete68-days>span,
.cr-profile-athlete-901 .athlete68-textarea>span{
  display:block;
  margin:0 0 7px;
  color:#c3ccd5;
  font-size:14.5px;
  font-weight:850;
  line-height:1.35;
  overflow-wrap:normal;
  word-break:normal;
}

.cr-profile-athlete-901 .athlete68-form input[type="text"],
.cr-profile-athlete-901 .athlete68-form input[type="date"],
.cr-profile-athlete-901 .athlete68-form input[type="number"],
.cr-profile-athlete-901 .athlete68-form select,
.cr-profile-athlete-901 .athlete68-form textarea{
  width:100%;
  min-width:0;
  min-height:48px;
  margin:0;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  background:#091118;
  color:#f7f9fb;
  font:inherit;
  font-size:15.5px;
  line-height:1.4;
  outline:none;
}
.cr-profile-athlete-901 .athlete68-form input:focus,
.cr-profile-athlete-901 .athlete68-form select:focus,
.cr-profile-athlete-901 .athlete68-form textarea:focus{
  border-color:rgba(255,91,22,.72);
  box-shadow:0 0 0 3px rgba(255,91,22,.12);
}

/* Preferred days: real pill selector instead of giant browser checkboxes */
.cr-profile-athlete-901 .athlete68-days{
  margin-top:16px;
}
.cr-profile-athlete-901 .athlete68-days>div{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:#091118;
}
.cr-profile-athlete-901 .athlete68-days label{
  position:relative;
  display:block;
  min-width:0;
  margin:0;
}
.cr-profile-athlete-901 .athlete68-days input[type="checkbox"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:0!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
}
.cr-profile-athlete-901 .athlete68-days label span{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:#101922;
  color:#c9d1d9;
  font-size:14px;
  font-weight:850;
  line-height:1.2;
  text-align:center;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
}
.cr-profile-athlete-901 .athlete68-days label:hover span{
  border-color:rgba(255,91,22,.42);
}
.cr-profile-athlete-901 .athlete68-days input:focus-visible+span{
  outline:3px solid rgba(255,91,22,.22);
  outline-offset:2px;
}
.cr-profile-athlete-901 .athlete68-days input:checked+span{
  border-color:#ff6a25;
  background:linear-gradient(135deg,#ff4e0b,#ff6d23);
  color:#fff;
  box-shadow:0 7px 18px rgba(255,82,14,.16);
}

/* Injury / notes fields: the label itself must not look like an input */
.cr-profile-athlete-901 .athlete68-textarea{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  resize:none!important;
}
.cr-profile-athlete-901 .athlete68-textarea+ .athlete68-textarea{
  margin-top:14px!important;
}
.cr-profile-athlete-901 .athlete68-textarea>span{
  margin:0!important;
}
.cr-profile-athlete-901 .athlete68-textarea textarea{
  width:100%!important;
  min-height:112px!important;
  margin:0!important;
  padding:12px 13px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:11px!important;
  background:#091118!important;
  color:#f7f9fb!important;
  font-size:15.5px!important;
  line-height:1.5!important;
  resize:vertical!important;
}

/* Recovery toggles */
.cr-profile-athlete-901 .athlete68-toggle{
  display:grid!important;
  grid-template-columns:auto 38px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  min-height:64px!important;
  padding:11px 12px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:11px!important;
  background:#091118!important;
}
.cr-profile-athlete-901 .athlete68-toggle>input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-height:0!important;
  margin:0!important;
  accent-color:#ff5b16;
}
.cr-profile-athlete-901 .athlete68-toggle>span{
  width:38px;
  height:38px;
  display:grid!important;
  place-items:center;
  margin:0!important;
  border-radius:10px;
  background:#111c25;
}
.cr-profile-athlete-901 .athlete68-toggle strong{
  display:block;
  color:#fff;
  font-size:14.5px;
  line-height:1.3;
}
.cr-profile-athlete-901 .athlete68-toggle small{
  display:block;
  margin-top:3px;
  color:#8f9aa5;
  font-size:14px;
  line-height:1.35;
}

/* Strava benchmark links */
.cr-profile-athlete-901 .athlete68-benchmarks{
  display:grid;
  gap:8px;
}
.cr-profile-athlete-901 .athlete68-benchmarks a{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  min-width:0;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:#091118;
  color:inherit;
  text-decoration:none;
}
.cr-profile-athlete-901 .athlete68-benchmarks a.available:hover{
  border-color:rgba(255,91,22,.35);
}
.cr-profile-athlete-901 .athlete68-benchmarks a.missing{
  opacity:.62;
  pointer-events:none;
}
.cr-profile-athlete-901 .athlete68-benchmarks a>div{
  min-width:0;
}
.cr-profile-athlete-901 .athlete68-benchmarks strong{
  display:block;
  color:#fff;
  font-size:14.5px;
  line-height:1.3;
}
.cr-profile-athlete-901 .athlete68-benchmarks small{
  display:block;
  margin-top:3px;
  color:#8f9aa5;
  font-size:14px;
  line-height:1.35;
  overflow-wrap:break-word;
}
.cr-profile-athlete-901 .athlete68-benchmarks b{
  flex:0 0 auto;
  color:#ff6b27;
  font-size:14.5px;
  white-space:nowrap;
}

/* Source note */
.cr-profile-athlete-901 .athlete68-source-note{
  margin-top:10px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  background:#091118;
  color:#9aa6b1;
  font-size:14px;
  line-height:1.55;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
}
.cr-profile-athlete-901 .athlete68-source-note strong{
  display:block;
  margin-bottom:4px;
  color:#ff7a3b;
  font-size:14px;
  letter-spacing:.08em;
}

/* Missing profile fields: separate label from source badge */
.cr-profile-athlete-901 .athlete68-missing-list{
  display:grid;
  gap:8px;
}
.cr-profile-athlete-901 .athlete68-missing-list>.athlete68-missing-item{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:3px 10px;
  align-items:center;
  min-width:0;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:#091118;
  color:#e7ebef;
  font-size:14.5px;
  line-height:1.35;
}
.cr-profile-athlete-901 .athlete68-missing-list b{
  grid-row:1 / 3;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,91,22,.12);
  color:#ff7435;
  font-size:18px;
}
.cr-profile-athlete-901 .athlete68-missing-label{
  min-width:0;
  color:#f5f7f9;
  font-weight:800;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.cr-profile-athlete-901 .athlete68-source-badge{
  grid-column:2;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:3px 8px;
  border:1px solid rgba(255,91,22,.20);
  border-radius:999px;
  background:rgba(255,91,22,.08);
  color:#ff9a69;
  font-size:14px;
  font-weight:850;
  line-height:1.2;
  letter-spacing:.04em;
  overflow-wrap:normal!important;
}

.cr-profile-athlete-901 .athlete68-complete{
  padding:12px 13px;
  border:1px solid rgba(89,190,115,.22);
  border-radius:10px;
  background:rgba(50,143,72,.09);
  color:#c9f4d3;
  font-size:14.5px;
  line-height:1.45;
}

/* Goal sidebar */
.cr-profile-athlete-901 .athlete68-goal{
  display:grid;
  gap:6px;
}
.cr-profile-athlete-901 .athlete68-goal strong{
  color:#fff;
  font-size:15px;
  line-height:1.35;
}
.cr-profile-athlete-901 .athlete68-goal span,
.cr-profile-athlete-901 .athlete68-muted{
  color:#98a3ad;
  font-size:14px;
  line-height:1.5;
}
.cr-profile-athlete-901 .athlete68-full{
  width:100%;
  margin-top:10px;
}

/* Save bar */
.cr-profile-athlete-901 .athlete68-savebar{
  position:sticky;
  bottom:12px;
  z-index:8;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  border-color:rgba(255,255,255,.10);
}
.cr-profile-athlete-901 .athlete68-savebar strong{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:15px;
  line-height:1.4;
}

/* Sidebar must wrap rather than clip */
.cr-profile-athlete-901 .db-side .db-card{
  min-width:0;
  overflow:hidden;
}
.cr-profile-athlete-901 .db-side h2,
.cr-profile-athlete-901 .db-side p,
.cr-profile-athlete-901 .db-side span,
.cr-profile-athlete-901 .db-side small,
.cr-profile-athlete-901 .db-side strong{
  max-width:100%;
  word-break:normal;
}

@media(max-width:1180px){
  .cr-profile-athlete-901 .athlete68-days>div{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .cr-profile-athlete-901 .athlete68-form input[type="text"],
  .cr-profile-athlete-901 .athlete68-form input[type="date"],
  .cr-profile-athlete-901 .athlete68-form input[type="number"],
  .cr-profile-athlete-901 .athlete68-form select,
  .cr-profile-athlete-901 .athlete68-form textarea{
    font-size:16px;
  }
  .cr-profile-athlete-901 .athlete68-days>div{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cr-profile-athlete-901 .athlete68-savebar{
    position:static;
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .cr-profile-athlete-901 .athlete68-savebar .db-btn{
    width:100%;
  }
}

@media(max-width:430px){
  .cr-profile-athlete-901 .athlete68-days>div{
    grid-template-columns:1fr 1fr;
    padding:10px;
  }
  .cr-profile-athlete-901 .athlete68-days label span{
    font-size:14px;
  }
  .cr-profile-athlete-901 .athlete68-toggle{
    grid-template-columns:auto 34px minmax(0,1fr)!important;
  }
  .cr-profile-athlete-901 .athlete68-missing-list>.athlete68-missing-item{
    grid-template-columns:28px minmax(0,1fr);
    padding:10px;
  }
}


