/* GTGF v15.99.50 — guided training planner. UI only; planner science remains in planner.js. */
body.gtgf-v14 #gtgf-planner-form.training-form--guided159950 {
  overflow: visible !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: #070707 !important;
}
body.gtgf-v14 #gtgf-planner-form.training-form--guided159950 > .planner-wizard__top[aria-hidden="true"],
body.gtgf-v14 #gtgf-planner-form.training-form--guided159950 > .planner-wizard__body[aria-hidden="true"],
body.gtgf-v14 #gtgf-planner-form.training-form--guided159950 > .planner-wizard__actions[aria-hidden="true"],
body.gtgf-v14 #gtgf-planner-form.training-form--guided159950 > .planner-wizard__validation[aria-hidden="true"] {
  display: none !important;
}
body.gtgf-v14 .training-guide159950 {
  position: relative;
  background: #080808;
  color: #fff;
}
body.gtgf-v14 .training-guide159950__progress {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  border-bottom: 1px solid rgba(255,255,255,.14);
  background: #050505;
}
body.gtgf-v14 .training-guide159950__progress button {
  appearance: none;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.1);
  min-height: 50px;
  padding: 9px 13px;
  display: flex;
  align-items: center;
  gap: 9px;
  background: transparent;
  color: rgba(255,255,255,.55);
  text-align: left;
  cursor: pointer;
}
body.gtgf-v14 .training-guide159950__progress button:last-child { border-right: 0; }
body.gtgf-v14 .training-guide159950__progress button:disabled { cursor: default; opacity: .48; }
body.gtgf-v14 .training-guide159950__progress button span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  font-size: .52rem;
  font-weight: 900;
  letter-spacing: .06em;
}
body.gtgf-v14 .training-guide159950__progress button strong {
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
body.gtgf-v14 .training-guide159950__progress button.is-active { color: #fff; background: rgba(255,90,0,.08); }
body.gtgf-v14 .training-guide159950__progress button.is-active span { border-color: #ff5a00; background: #ff5a00; color: #050505; }
body.gtgf-v14 .training-guide159950__progress button.is-complete { color: rgba(255,255,255,.82); }
body.gtgf-v14 .training-guide159950__progress button.is-complete span { border-color: rgba(255,90,0,.65); color: #ff7b33; }
body.gtgf-v14 .training-guide159950__utility { display:flex; justify-content:flex-end; padding:0 14px; background:#050505; }
body.gtgf-v14 .training-guide159950__utility:empty { display:none; }
body.gtgf-v14 .training-guide159950__utility .planner-edit-cancel { margin:8px 0 0; }
body.gtgf-v14 .training-guide159950__layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 270px;
  align-items: stretch;
  min-height: 430px;
}
body.gtgf-v14 .training-guide159950__stage { min-width: 0; padding: 24px 26px 20px; }
body.gtgf-v14 .training-guide159950__summary {
  border-left: 1px solid rgba(255,255,255,.12);
  background: #0b0b0b;
  min-width: 0;
}
body.gtgf-v14 .training-guide159950__summary .planner-live-summary {
  position: sticky;
  top: 90px;
  border: 0 !important;
  min-height: 100%;
  padding: 20px 18px !important;
  background: transparent !important;
}
body.gtgf-v14 .training-guide159950__step[hidden] { display:none !important; }
body.gtgf-v14 .training-guide159950__head { max-width: 820px; }
body.gtgf-v14 .training-guide159950__head .eyebrow { margin: 0 0 5px !important; }
body.gtgf-v14 .training-guide159950__head h2 {
  margin: 0 !important;
  font-size: clamp(1.55rem,2.35vw,2.35rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em;
  color: #fff !important;
}
body.gtgf-v14 .training-guide159950__head > p:last-child {
  margin: 9px 0 0 !important;
  max-width: 74ch;
  color: rgba(255,255,255,.68) !important;
  font-size: .77rem !important;
  line-height: 1.5 !important;
}
body.gtgf-v14 .training-guide159950__coach {
  display: grid;
  grid-template-columns: 92px minmax(0,1fr);
  gap: 12px;
  margin: 17px 0;
  padding: 10px 12px;
  border-left: 3px solid #ff5a00;
  background: #15100d;
}
body.gtgf-v14 .training-guide159950__coach span {
  color: #ff7b33;
  font-size: .56rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .11em;
}
body.gtgf-v14 .training-guide159950__coach p {
  margin: 0 !important;
  color: rgba(255,255,255,.74) !important;
  font-size: .68rem !important;
  line-height: 1.45 !important;
}
body.gtgf-v14 .training-guide159950__fields { display: grid; gap: 12px; max-width: 930px; }
body.gtgf-v14 .training-guide159950__grid { display:grid; gap:10px; }
body.gtgf-v14 .training-guide159950__grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.gtgf-v14 .training-guide159950 .planner-field { min-width:0; }
body.gtgf-v14 .training-guide159950 .planner-field label,
body.gtgf-v14 .training-guide159950 .planner-field-heading > span { font-size:.67rem !important; line-height:1.3 !important; }
body.gtgf-v14 .training-guide159950 .planner-field small,
body.gtgf-v14 .training-guide159950 .planner-field-heading small { font-size:.58rem !important; line-height:1.4 !important; }
body.gtgf-v14 .training-guide159950 .planner-field select,
body.gtgf-v14 .training-guide159950 .planner-field input { min-height: 42px !important; }
body.gtgf-v14 .training-guide159950 .planner-primary-choice-grid { gap: 7px !important; }
body.gtgf-v14 .training-guide159950 .planner-primary-choice {
  min-height: 72px !important;
  padding: 11px 12px !important;
  border-radius: 8px !important;
}
body.gtgf-v14 .training-guide159950 .planner-primary-choice strong { font-size:.78rem !important; }
body.gtgf-v14 .training-guide159950 .planner-primary-choice small { margin-top:4px !important; font-size:.58rem !important; line-height:1.35 !important; }
body.gtgf-v14 .training-guide159950 .planner-goal-context,
body.gtgf-v14 .training-guide159950 .planner-level-context,
body.gtgf-v14 .training-guide159950 .planner-week-advice,
body.gtgf-v14 .training-guide159950 .planner-step-tip,
body.gtgf-v14 .training-guide159950 .planner-ready-note { margin-top: 2px !important; }
body.gtgf-v14 .training-guide159950__actions {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.12);
}
body.gtgf-v14 .training-guide159950__actions > div { flex:1; }
body.gtgf-v14 .training-guide159950__actions button {
  min-height: 38px !important;
  padding: 8px 13px !important;
  font-size: .63rem !important;
}
body.gtgf-v14 .training-guide159950__back {
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.68);
  font-weight:800;
  cursor:pointer;
}
body.gtgf-v14 .training-guide159950__status {
  min-height: 0;
  margin:0 !important;
  padding:0 26px;
  color:#ff9a63 !important;
  background:#080808;
  font-size:.66rem !important;
  font-weight:800;
}
body.gtgf-v14 .training-guide159950__status:not(:empty) { padding-top: 10px; padding-bottom: 12px; border-top:1px solid rgba(255,90,0,.35); }

/* Level guidance: richer criteria without adding more input fields. */
body.gtgf-v14 .training-level-recommendation159950 {
  display:grid;
  grid-template-columns: 120px minmax(0,1fr) auto;
  gap: 5px 12px;
  align-items:center;
  padding: 12px 14px;
  border:1px solid rgba(255,90,0,.36);
  background:linear-gradient(90deg,rgba(255,90,0,.12),rgba(255,90,0,.03));
}
body.gtgf-v14 .training-level-recommendation159950 > span { grid-row:1/4; align-self:start; color:#ff7b33; font-size:.56rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
body.gtgf-v14 .training-level-recommendation159950 strong { font-size:.9rem; color:#fff; }
body.gtgf-v14 .training-level-recommendation159950 p { margin:0 !important; color:rgba(255,255,255,.7) !important; font-size:.64rem !important; line-height:1.45 !important; }
body.gtgf-v14 .training-level-recommendation159950 small { color:rgba(255,255,255,.55); font-size:.56rem; line-height:1.35; }
body.gtgf-v14 .training-level-recommendation159950 button { grid-column:3; grid-row:1/4; min-height:34px; padding:7px 10px; border:1px solid #ff5a00; background:#ff5a00; color:#050505; font-size:.58rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; cursor:pointer; }
body.gtgf-v14 .training-guide159950 .planner-primary-choice-grid--levels { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
body.gtgf-v14 .training-guide159950 .training-level-card159950 { min-height: 160px !important; align-items:flex-start !important; }
body.gtgf-v14 .training-level-card159950__criteria { display:grid; gap:4px; margin-top:9px; padding-top:8px; border-top:1px solid rgba(255,255,255,.1); }
body.gtgf-v14 .training-level-card159950__criteria span { position:relative; padding-left:11px; color:rgba(255,255,255,.57); font-size:.56rem; line-height:1.35; }
body.gtgf-v14 .training-level-card159950__criteria span:before { content:'•'; position:absolute; left:0; color:#ff6a1a; }
body.gtgf-v14 .training-level-card159950.is-selected .training-level-card159950__criteria span { color:rgba(255,255,255,.8); }

/* Review is compact and decision-led. */
body.gtgf-v14 .training-guide159950__review { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.13); }
body.gtgf-v14 .training-guide159950__review > div { min-width:0; padding:11px 12px; background:#0c0c0c; }
body.gtgf-v14 .training-guide159950__review span { display:block; margin-bottom:3px; color:rgba(255,255,255,.45); font-size:.5rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
body.gtgf-v14 .training-guide159950__review strong { display:block; color:#fff; font-size:.68rem; line-height:1.35; }
body.gtgf-v14 .training-guide159950__review-warning { grid-column:1/-1; margin:0 !important; padding:10px 12px; background:#1a110d; color:rgba(255,255,255,.75) !important; font-size:.62rem !important; line-height:1.45 !important; }
body.gtgf-v14 .training-guide159950__review-note { margin:0 !important; color:rgba(255,255,255,.55) !important; font-size:.62rem !important; line-height:1.45 !important; }

/* Existing advanced controls stay available, but deliberately secondary. */
body.gtgf-v14 .training-guide159950 #planner-training-preferences,
body.gtgf-v14 .training-guide159950 #planner-v3-baselines,
body.gtgf-v14 .training-guide159950 #planner-length-options,
body.gtgf-v14 .training-guide159950 #planner-equipment-options,
body.gtgf-v14 .training-guide159950 #planner-event-options { margin-top:4px !important; }
body.gtgf-v14 .training-guide159950 details > summary { min-height:38px !important; }

@media (max-width: 980px) {
  body.gtgf-v14 .training-guide159950__layout { grid-template-columns:minmax(0,1fr) 225px; }
  body.gtgf-v14 .training-guide159950__stage { padding:20px; }
  body.gtgf-v14 .training-guide159950__progress button { padding:8px 9px; }
  body.gtgf-v14 .training-guide159950__progress button strong { font-size:.58rem; }
  body.gtgf-v14 .training-level-recommendation159950 { grid-template-columns:105px minmax(0,1fr); }
  body.gtgf-v14 .training-level-recommendation159950 button { grid-column:2; grid-row:auto; justify-self:start; }
}
@media (max-width: 760px) {
  body.gtgf-v14 .training-guide159950__progress { overflow-x:auto; grid-template-columns:repeat(5,minmax(105px,1fr)); }
  body.gtgf-v14 .training-guide159950__progress button { min-height:44px; }
  body.gtgf-v14 .training-guide159950__progress button span { width:21px; height:21px; }
  body.gtgf-v14 .training-guide159950__layout { grid-template-columns:1fr; min-height:0; }
  body.gtgf-v14 .training-guide159950__summary { display:none; border-left:0; border-top:1px solid rgba(255,255,255,.12); }
  body.gtgf-v14 #gtgf-planner-form[data-guided-step="review"] .training-guide159950__summary { display:block; }
  body.gtgf-v14 .training-guide159950__summary .planner-live-summary { position:static; min-height:0; }
  body.gtgf-v14 .training-guide159950__stage { padding:18px 15px; }
  body.gtgf-v14 .training-guide159950__head h2 { font-size:1.55rem !important; }
  body.gtgf-v14 .training-guide159950__coach { grid-template-columns:1fr; gap:4px; }
  body.gtgf-v14 .training-guide159950__grid--two { grid-template-columns:1fr; }
  body.gtgf-v14 .training-guide159950 .planner-primary-choice-grid--levels { grid-template-columns:1fr !important; }
  body.gtgf-v14 .training-guide159950 .training-level-card159950 { min-height:0 !important; }
  body.gtgf-v14 .training-level-recommendation159950 { grid-template-columns:1fr; }
  body.gtgf-v14 .training-level-recommendation159950 > span { grid-row:auto; }
  body.gtgf-v14 .training-level-recommendation159950 button { grid-column:auto; }
  body.gtgf-v14 .training-guide159950__review { grid-template-columns:1fr 1fr; }
  body.gtgf-v14 .training-guide159950__actions { position:sticky; bottom:0; z-index:5; margin-left:-15px; margin-right:-15px; margin-bottom:-18px; padding:10px 15px calc(10px + env(safe-area-inset-bottom)); background:rgba(8,8,8,.97); backdrop-filter:blur(12px); }
}
@media (max-width: 480px) {
  body.gtgf-v14 .training-guide159950__review { grid-template-columns:1fr; }
  body.gtgf-v14 .training-guide159950__progress button strong { font-size:.54rem; }
}

/* v15.99.51 — interaction stability + start-line feasibility. */
body.gtgf-v14 .training-guide159950,
body.gtgf-v14 .training-guide159950__stage,
body.gtgf-v14 .training-guide159950__fields,
body.gtgf-v14 .training-guide159950 .planner-primary-choice-grid {
  overflow-anchor: none;
}
body.gtgf-v14 .training-runway159951,
body.gtgf-v14 .training-feasibility159951 {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: #0d0d0d;
}
body.gtgf-v14 .training-runway159951 > span,
body.gtgf-v14 .training-feasibility159951 > span {
  color: #ff7b33;
  font-size: .54rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}
body.gtgf-v14 .training-runway159951 strong,
body.gtgf-v14 .training-feasibility159951 strong {
  color: #fff;
  font-size: .82rem;
  line-height: 1.25;
}
body.gtgf-v14 .training-runway159951 p,
body.gtgf-v14 .training-feasibility159951 p {
  margin: 0 !important;
  color: rgba(255,255,255,.68) !important;
  font-size: .62rem !important;
  line-height: 1.45 !important;
}
body.gtgf-v14 .training-runway159951 small {
  color: rgba(255,255,255,.52);
  font-size: .56rem;
  line-height: 1.4;
}
body.gtgf-v14 .training-runway159951.is-ok,
body.gtgf-v14 .training-feasibility159951.is-ok {
  border-color: rgba(102,205,136,.34);
  background: rgba(29,83,49,.14);
}
body.gtgf-v14 .training-runway159951.is-warning,
body.gtgf-v14 .training-feasibility159951.is-warning {
  border-color: rgba(255,90,0,.58);
  background: rgba(120,39,0,.18);
}
body.gtgf-v14 .training-feasibility159951 { margin-top: 2px; }


/* v15.99.53 — guided flow repair: one swim question, reliable advice actions, review-first feasibility. */
body.gtgf-v14 .training-guide159950 .training-guided-swim-startpoint159953 {
  padding: 12px 14px;
  border: 1px solid rgba(255,90,0,.28);
  background: rgba(255,90,0,.055);
}
body.gtgf-v14 .training-guide159950 .training-guided-swim-startpoint159953[hidden] { display:none !important; }
body.gtgf-v14 .training-guide159950 .planner-week-advice button {
  min-height: 44px !important;
  padding: 10px 14px !important;
  white-space: normal;
  line-height: 1.25;
}
body.gtgf-v14 .training-feasibility159951 button {
  justify-self: start;
  min-height: 40px;
  margin-top: 5px;
  padding: 8px 12px;
  border: 1px solid #ff5a00;
  background: #ff5a00;
  color: #050505;
  font-size: .6rem;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
  cursor: pointer;
}
body.gtgf-v14 .training-feasibility159951 button:hover,
body.gtgf-v14 .training-feasibility159951 button:focus-visible {
  background: #ff7429;
}
@media (max-width: 760px) {
  body.gtgf-v14 .training-guide159950 .planner-week-advice { align-items: stretch; flex-direction: column; }
  body.gtgf-v14 .training-guide159950 .planner-week-advice button { width: 100%; }
}


/* v15.99.57 — Controle is now a repair surface, not a dead-end warning screen. */
body.gtgf-v14 .training-feasibility159951__missing {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin:6px 0 0 !important;
  padding:1px !important;
  list-style:none;
  background:rgba(255,255,255,.11);
}
body.gtgf-v14 .training-feasibility159951__missing li {
  padding:9px 10px;
  background:#130d0a;
}
body.gtgf-v14 .training-feasibility159951__missing li span {
  display:block;
  margin-bottom:2px;
  color:rgba(255,255,255,.48);
  font-size:.5rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.gtgf-v14 .training-feasibility159951__missing li strong {
  font-size:.68rem;
}
body.gtgf-v14 .training-feasibility159951__next { color:#fff !important; font-weight:800; }
body.gtgf-v14 .training-review-week-editor159957 {
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(255,90,0,.42);
  background:#0c0c0c;
}
body.gtgf-v14 .training-review-week-editor159957[hidden] { display:none !important; }
body.gtgf-v14 .training-review-week-editor159957__head { display:grid; gap:4px; }
body.gtgf-v14 .training-review-week-editor159957__head > span {
  color:#ff6a16;
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
body.gtgf-v14 .training-review-week-editor159957__head > strong { color:#fff; font-size:.82rem; line-height:1.25; }
body.gtgf-v14 .training-review-week-editor159957__head > p,
body.gtgf-v14 .training-review-week-editor159957__availability > p,
body.gtgf-v14 .training-review-week-editor159957__status {
  margin:0 !important;
  color:rgba(255,255,255,.66) !important;
  font-size:.62rem !important;
  line-height:1.45 !important;
}
body.gtgf-v14 .training-review-week-editor159957__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body.gtgf-v14 .training-review-week-editor159957__grid label { display:grid; gap:5px; }
body.gtgf-v14 .training-review-week-editor159957__grid label > span,
body.gtgf-v14 .training-review-week-editor159957__availability legend {
  color:rgba(255,255,255,.72);
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.gtgf-v14 .training-review-week-editor159957 select {
  width:100%;
  min-height:44px;
  padding:8px 34px 8px 10px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:0;
  background:#111;
  color:#fff;
  font:inherit;
  font-size:.72rem;
  cursor:pointer;
}
body.gtgf-v14 .training-review-week-editor159957 select:hover,
body.gtgf-v14 .training-review-week-editor159957 select:focus {
  border-color:#ff5a00;
  outline:none;
}
body.gtgf-v14 .training-review-week-editor159957__day:hover span { border-color:rgba(255,90,0,.72); color:#fff; }
body.gtgf-v14 .training-review-week-editor159957__availability {
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  border:0;
}
body.gtgf-v14 .training-review-week-editor159957__availability > div {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
}
body.gtgf-v14 .training-review-week-editor159957__day { position:relative; }
body.gtgf-v14 .training-review-week-editor159957__day input { position:absolute; opacity:0; pointer-events:none; }
body.gtgf-v14 .training-review-week-editor159957__day span {
  display:grid;
  place-items:center;
  min-height:38px;
  border:1px solid rgba(255,255,255,.18);
  background:#111;
  color:rgba(255,255,255,.7);
  font-size:.62rem;
  font-weight:900;
  cursor:pointer;
}
body.gtgf-v14 .training-review-week-editor159957__day input:checked + span {
  border-color:#ff5a00;
  background:rgba(255,90,0,.16);
  color:#fff;
}
body.gtgf-v14 .training-review-week-editor159957__day input:focus-visible + span { outline:2px solid #ff5a00; outline-offset:2px; }
body.gtgf-v14 .training-review-week-editor159957__actions { display:flex; flex-wrap:wrap; gap:8px; }
body.gtgf-v14 .training-review-week-editor159957__actions button {
  min-height:40px;
  padding:8px 12px;
  border:1px solid #ff5a00;
  background:#ff5a00;
  color:#050505;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
  cursor:pointer;
}
body.gtgf-v14 .training-review-week-editor159957__actions .training-review-week-editor159957__secondary {
  border-color:rgba(255,255,255,.22);
  background:transparent;
  color:rgba(255,255,255,.78);
}
body.gtgf-v14 #planner-build-plan.is-feasibility-blocked159957,
body.gtgf-v14 #planner-build-plan:disabled {
  border-color:rgba(255,255,255,.18) !important;
  background:#1a1a1a !important;
  color:rgba(255,255,255,.46) !important;
  cursor:not-allowed !important;
  opacity:1 !important;
}
@media (max-width:760px) {
  body.gtgf-v14 .training-feasibility159951__missing,
  body.gtgf-v14 .training-review-week-editor159957__grid { grid-template-columns:1fr; }
  body.gtgf-v14 .training-review-week-editor159957 { padding:12px; }
  body.gtgf-v14 .training-review-week-editor159957__availability > div { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.gtgf-v14 .training-review-week-editor159957__actions { display:grid; grid-template-columns:1fr; }
  body.gtgf-v14 .training-review-week-editor159957__actions button { width:100%; }
}
