/* GTGF v15.44 — Planner UX Deep Polish
 * Visual decision-making and plan navigation improvements layered on v15.43.
 * No training-engine logic is styled or altered here. */

body.gtgf-v14 .planner-required-note {
  margin:10px 0 0;
  color:rgba(255,255,255,.52);
  font-size:.76rem;
  line-height:1.45;
}
body.gtgf-v14 .planner-required-note strong { color:rgba(255,255,255,.82); font-weight:850; }

/* Primary decisions: scan and choose, rather than open three dropdowns. */
body.gtgf-v14 .planner-field-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
body.gtgf-v14 .planner-field-heading > span {
  color:#fff;
  font-size:.82rem;
  font-weight:850;
  letter-spacing:.015em;
}
body.gtgf-v14 .planner-field-heading > span b {
  margin-left:5px;
  color:#ff6a19;
  font-size:.6rem;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
body.gtgf-v14 .planner-field-heading > small {
  max-width:46ch;
  color:rgba(255,255,255,.5);
  font-size:.7rem;
  line-height:1.4;
  text-align:right;
}
body.gtgf-v14 .planner-primary-choice-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
body.gtgf-v14 .planner-primary-choice-grid--goals { grid-template-columns:repeat(4,minmax(0,1fr)); }
body.gtgf-v14 .planner-primary-choice-grid--levels { grid-template-columns:repeat(4,minmax(0,1fr)); }
body.gtgf-v14 .planner-primary-choice {
  position:relative;
  min-width:0;
  min-height:90px;
  padding:15px 14px 13px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:13px;
  background:#101010;
  color:#fff;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease, transform .16s ease, background .16s ease, box-shadow .16s ease;
}
body.gtgf-v14 .planner-primary-choice::after {
  content:"";
  position:absolute;
  top:12px;
  right:12px;
  width:8px;
  height:8px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  background:transparent;
}
body.gtgf-v14 .planner-primary-choice strong {
  display:block;
  padding-right:14px;
  font-size:.9rem;
  line-height:1.15;
}
body.gtgf-v14 .planner-primary-choice small {
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.56);
  font-size:.7rem;
  line-height:1.42;
}
body.gtgf-v14 .planner-primary-choice:hover {
  transform:translateY(-1px);
  border-color:rgba(255,90,0,.7);
  background:#151515;
}
body.gtgf-v14 .planner-primary-choice:focus-visible {
  outline:3px solid rgba(255,90,0,.36);
  outline-offset:2px;
  border-color:#ff5a00;
}
body.gtgf-v14 .planner-primary-choice.is-selected {
  border-color:#ff5a00;
  background:linear-gradient(180deg,rgba(255,90,0,.12),rgba(255,90,0,.035));
  box-shadow:inset 0 0 0 1px rgba(255,90,0,.18);
}
body.gtgf-v14 .planner-primary-choice.is-selected::after {
  border-color:#ff5a00;
  background:#ff5a00;
  box-shadow:0 0 0 3px rgba(255,90,0,.12);
}
body.gtgf-v14 .planner-primary-choice.is-selected small { color:rgba(255,255,255,.7); }
body.gtgf-v14 .planner-primary-choice-empty {
  grid-column:1/-1;
  margin:0;
  padding:14px 16px;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:12px;
  color:rgba(255,255,255,.52);
  font-size:.78rem;
}
/* Native selects remain the no-JS fallback. They are only visually removed after JS enhancement succeeds. */
body.gtgf-v14 .planner-choice-enhanced .planner-enhanced-fallback {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  min-height:0 !important;
  margin:-1px !important;
  padding:0 !important;
  border:0 !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}
body.gtgf-v14 .planner-choice-enhanced .screen-reader-text + .planner-enhanced-fallback { position:absolute !important; }

/* Calendar: make the anchor decision explicit before dates. */
body.gtgf-v14 .planner-calendar-mode {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 0 4px;
}
body.gtgf-v14 .planner-calendar-mode button {
  min-height:72px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:13px;
  background:#101010;
  color:#fff;
  text-align:left;
  cursor:pointer;
}
body.gtgf-v14 .planner-calendar-mode button strong { display:block; font-size:.86rem; }
body.gtgf-v14 .planner-calendar-mode button small { display:block; margin-top:5px; color:rgba(255,255,255,.54); font-size:.7rem; line-height:1.4; }
body.gtgf-v14 .planner-calendar-mode button.is-active {
  border-color:#ff5a00;
  background:rgba(255,90,0,.08);
  box-shadow:inset 0 0 0 1px rgba(255,90,0,.12);
}
body.gtgf-v14 .planner-calendar-mode button:focus-visible { outline:3px solid rgba(255,90,0,.36); outline-offset:2px; }
body.gtgf-v14 [data-calendar-mode="event"] .planner-calendar-start-field input[readonly] {
  color:rgba(255,255,255,.62) !important;
  background:#0b0b0b !important;
}
body.gtgf-v14 [data-calendar-mode="event"] .planner-calendar-start-field label::after {
  content:" · wordt berekend";
  color:#ff6a19;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}
body.gtgf-v14 [data-calendar-mode="start"] .planner-calendar-event-field { border-style:dashed !important; }

/* Review: reveal coach detail progressively rather than showing a dashboard on step 1. */
body.gtgf-v14 .planner-live-summary dt { font-size:.64rem !important; }
body.gtgf-v14 .planner-live-summary dd { font-size:.83rem !important; }
body.gtgf-v14 .planner-coach-note > span { font-size:.62rem !important; }
body.gtgf-v14 .planner-coach-note > p { font-size:.75rem !important; }
body.gtgf-v14 .planner-form[data-review-depth="1"] .planner-coach-tags,
body.gtgf-v14 .planner-form[data-review-depth="1"] .planner-coach-rhythm,
body.gtgf-v14 .planner-form[data-review-depth="2"] .planner-coach-rhythm { display:none !important; }
body.gtgf-v14 .planner-form[data-review-depth="1"] .planner-live-summary__fuel,
body.gtgf-v14 .planner-form[data-review-depth="2"] .planner-live-summary__fuel,
body.gtgf-v14 .planner-form[data-review-depth="3"] .planner-live-summary__fuel { display:none !important; }

/* Long plan navigation: phases first, exact week second. */
body.gtgf-v14 .planner-week-navigation--v1544 {
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) 48px !important;
  gap:12px !important;
  align-items:stretch !important;
  margin:18px 0 14px !important;
}
body.gtgf-v14 .planner-week-navigation--v1544 > button {
  min-width:48px !important;
  min-height:56px !important;
  border-radius:12px !important;
}
body.gtgf-v14 .planner-week-navigation__main { min-width:0; display:grid; gap:9px; }
body.gtgf-v14 .planner-week-tabs--legacy { display:none !important; }
body.gtgf-v14 .planner-phase-rail {
  display:flex;
  width:100%;
  min-height:34px;
  gap:3px;
}
body.gtgf-v14 .planner-phase-rail__segment {
  min-width:42px;
  padding:6px 8px;
  border:1px solid rgba(10,10,10,.1);
  border-radius:8px;
  background:#ece9e2;
  color:#111;
  cursor:pointer;
  text-align:left;
  overflow:hidden;
}
body.gtgf-v14 .planner-phase-rail__segment strong,
body.gtgf-v14 .planner-phase-rail__segment small {
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.gtgf-v14 .planner-phase-rail__segment strong { font-size:.62rem; line-height:1.1; }
body.gtgf-v14 .planner-phase-rail__segment small { margin-top:2px; color:#777; font-size:.54rem; }
body.gtgf-v14 .planner-phase-rail__segment.is-active {
  border-color:#111;
  background:#111;
  color:#fff;
}
body.gtgf-v14 .planner-phase-rail__segment.is-active small { color:rgba(255,255,255,.6); }
body.gtgf-v14 .planner-phase-rail__segment:focus-visible { outline:3px solid rgba(255,90,0,.38); outline-offset:2px; }
body.gtgf-v14 .planner-week-jump {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 !important;
  color:#555 !important;
  font-size:.68rem !important;
  font-weight:800;
  letter-spacing:.04em !important;
}
body.gtgf-v14 .planner-week-jump span { flex:0 0 auto; }
body.gtgf-v14 .planner-week-jump select {
  width:100%;
  min-width:0;
  min-height:44px;
  padding:8px 38px 8px 12px;
  border:1px solid rgba(10,10,10,.14);
  border-radius:10px;
  background:#fff;
  color:#111;
  font:inherit;
  font-size:.78rem;
}

/* Make the week scanable. Full prescription remains one tap away. */
body.gtgf-v14 .planner-week .planner-session > p:not(.planner-session__meta):not(.planner-session__order),
body.gtgf-v14 .planner-week .planner-day > p {
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.gtgf-v14 .planner-day.is-today {
  border-color:#ff5a00 !important;
  box-shadow:0 0 0 2px rgba(255,90,0,.1) !important;
}
body.gtgf-v14 .planner-day__today {
  display:inline-flex;
  width:max-content;
  margin-top:5px;
  padding:3px 7px;
  border-radius:999px;
  background:#ff5a00;
  color:#fff;
  font-size:.55rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}

@media (max-width: 1080px) {
  body.gtgf-v14 .planner-primary-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.gtgf-v14 .planner-primary-choice-grid--goals,
  body.gtgf-v14 .planner-primary-choice-grid--levels { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  body.gtgf-v14 .planner-field-heading { display:block; }
  body.gtgf-v14 .planner-field-heading > small { display:block; margin-top:5px; max-width:none; text-align:left; }
  body.gtgf-v14 .planner-primary-choice-grid,
  body.gtgf-v14 .planner-primary-choice-grid--goals,
  body.gtgf-v14 .planner-primary-choice-grid--levels { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  body.gtgf-v14 .planner-primary-choice { min-height:82px; padding:13px 12px; }
  body.gtgf-v14 .planner-calendar-mode { grid-template-columns:1fr; }
  body.gtgf-v14 .planner-week-navigation--v1544 { grid-template-columns:42px minmax(0,1fr) 42px !important; gap:7px !important; }
  body.gtgf-v14 .planner-week-navigation--v1544 > button { min-width:42px !important; min-height:50px !important; }
  body.gtgf-v14 .planner-phase-rail { overflow-x:auto; padding-bottom:2px; scrollbar-width:none; }
  body.gtgf-v14 .planner-phase-rail::-webkit-scrollbar { display:none; }
  body.gtgf-v14 .planner-phase-rail__segment { flex:0 0 108px !important; }
  body.gtgf-v14 .planner-week-jump { display:block; }
  body.gtgf-v14 .planner-week-jump span { display:block; margin-bottom:5px; }
}

@media (max-width: 480px) {
  body.gtgf-v14 .planner-primary-choice-grid,
  body.gtgf-v14 .planner-primary-choice-grid--goals,
  body.gtgf-v14 .planner-primary-choice-grid--levels { grid-template-columns:1fr 1fr; }
  body.gtgf-v14 .planner-primary-choice { min-height:78px; }
  body.gtgf-v14 .planner-primary-choice small { font-size:.66rem; }
  body.gtgf-v14 .planner-phase-rail__segment { flex-basis:96px !important; }
}
