/**
 * GTGF v16.54 — Live contrast closure.
 *
 * The component chains deliberately include #main-content (or the component ID).
 * Older generic paper selectors use several :not() clauses and therefore beat
 * shorter late rules, even when both use !important. These rules express the
 * surface contract at component level and remain stronger than that legacy layer.
 */

html body.gtgf-v14.gtgf-v1654 {
  --gtgf54-dark:#0d100e;
  --gtgf54-dark-raised:#161b17;
  --gtgf54-dark-line:#465148;
  --gtgf54-text:#f7f9f6;
  --gtgf54-copy:#d9e0d9;
  --gtgf54-muted:#bdc7be;
  --gtgf54-orange:#ff6a1a;
  --gtgf54-orange-soft:#ff9b66;
  --gtgf54-paper:#fbfaf7;
  --gtgf54-paper-soft:#eee9e1;
  --gtgf54-ink:#171815;
  --gtgf54-ink-soft:#454841;
}

/* Training planner: saved, guidance and hand-off panels use one dark contract. */
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-training #main-content #saved-plans .saved-plan-list:has(> .saved-plan-empty) {
  border-color:var(--gtgf54-dark-line)!important;
  background:var(--gtgf54-dark)!important;
  box-shadow:0 20px 54px rgba(10,13,11,.18)!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-training #main-content #saved-plans .saved-plan-list > p.saved-plan-empty {
  background:radial-gradient(circle at 92% 8%,rgba(255,106,26,.10),transparent 34%),linear-gradient(118deg,#191e1a 0%,#0d100e 64%,#090b09 100%)!important;
  color:var(--gtgf54-copy)!important;
  -webkit-text-fill-color:var(--gtgf54-copy)!important;
  opacity:1!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-training #main-content #gtgf-planner-form :is(.training-guide159950__coach,.planner-coach-note,.planner-link-nutrition-note) :is(h2,h3,h4,strong) {
  color:var(--gtgf54-text)!important;
  -webkit-text-fill-color:var(--gtgf54-text)!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-training #main-content #gtgf-planner-form :is(.training-guide159950__coach,.planner-coach-note,.planner-link-nutrition-note) :is(p,li,small,span) {
  color:var(--gtgf54-copy)!important;
  -webkit-text-fill-color:var(--gtgf54-copy)!important;
  opacity:1!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-training #main-content #saved-plans .planner-link-nutrition-note :is(p,li,small,span) {
  color:var(--gtgf54-copy)!important;
  -webkit-text-fill-color:var(--gtgf54-copy)!important;
  opacity:1!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-training #main-content #saved-plans .planner-link-nutrition-note strong {
  color:var(--gtgf54-text)!important;
  -webkit-text-fill-color:var(--gtgf54-text)!important;
}

/* Nutrition planner: preserve readable copy inside its dark coaching choices. */
html body.gtgf-v14.gtgf-v1654.gtgf-v1600-nutrition #main-content #voedingsplanner .nutrition-guide159949__coach :is(h2,h3,h4,strong) {
  color:var(--gtgf54-text)!important;
  -webkit-text-fill-color:var(--gtgf54-text)!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1600-nutrition #main-content #voedingsplanner .nutrition-guide159949__coach :is(p,li,small,span) {
  color:var(--gtgf54-copy)!important;
  -webkit-text-fill-color:var(--gtgf54-copy)!important;
  opacity:1!important;
}

/* Mijn GTGF: the context rail was darkened after an older light-card text rule. */
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context {
  gap:1px!important;
  border:1px solid var(--gtgf54-dark-line)!important;
  border-radius:0 0 16px 16px!important;
  background:var(--gtgf54-dark-line)!important;
  overflow:hidden!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item {
  min-height:90px!important;
  border:0!important;
  background:linear-gradient(145deg,#171c18,#0f1310)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item.is-progress {
  background:radial-gradient(circle at 4% 50%,rgba(255,106,26,.13),transparent 38%),linear-gradient(145deg,#191c18,#101310)!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item.is-insight {
  background:linear-gradient(145deg,#121613,#090c0a)!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item strong {
  color:var(--gtgf54-text)!important;
  -webkit-text-fill-color:var(--gtgf54-text)!important;
  font-size:13px!important;
  opacity:1!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item small {
  color:#c7d0c8!important;
  -webkit-text-fill-color:#c7d0c8!important;
  font-size:9px!important;
  opacity:1!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item p {
  color:#d0d7d1!important;
  -webkit-text-fill-color:#d0d7d1!important;
  font-size:10.5px!important;
  line-height:1.45!important;
  opacity:1!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item > b {
  color:var(--gtgf54-orange-soft)!important;
  -webkit-text-fill-color:var(--gtgf54-orange-soft)!important;
}

/* Performance Week: paper calendar cells stay light; state is carried by border and tint. */
html body.gtgf-v14.gtgf-v1654.gtgf-v1641-performance #main-content #gtgf-trip-form .booking-calendar-wrap {
  border:1px solid #c8c0b6!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fbfaf7,#f1ede7)!important;
  box-shadow:0 16px 42px rgba(34,29,23,.08)!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1641-performance #main-content #gtgf-trip-calendar.booking-calendar button {
  border:1px solid #bbb3a9!important;
  border-radius:9px!important;
  background:#fbfaf7!important;
  color:#252621!important;
  -webkit-text-fill-color:#252621!important;
  opacity:1!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1641-performance #main-content #gtgf-trip-calendar.booking-calendar button:is(:disabled,[aria-disabled="true"]) {
  border-color:#ccc5bc!important;
  background:#e8e3dc!important;
  color:#494b45!important;
  -webkit-text-fill-color:#494b45!important;
  opacity:1!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1641-performance #main-content #gtgf-trip-calendar.booking-calendar button.is-season-closed {
  border-color:#c3bcb2!important;
  background:repeating-linear-gradient(-45deg,#e1ddd6,#e1ddd6 5px,#d8d3cb 5px,#d8d3cb 10px)!important;
  color:#494b45!important;
  -webkit-text-fill-color:#494b45!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1641-performance #main-content #gtgf-trip-calendar.booking-calendar button.is-requestable {
  border-color:#cf4b0b!important;
  background:#fff0e6!important;
  color:#672506!important;
  -webkit-text-fill-color:#672506!important;
  box-shadow:inset 0 0 0 1px rgba(255,106,26,.08)!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-v1641-performance #main-content #gtgf-trip-calendar.booking-calendar button:is(.is-requestable:hover,.is-requestable:focus-visible,.is-selected,[aria-selected="true"]) {
  border-color:#ff7d39!important;
  background:var(--gtgf54-orange)!important;
  color:#160a04!important;
  -webkit-text-fill-color:#160a04!important;
}

/* Event details: expanded rows are dark even though they sit inside a paper page. */
html body.gtgf-v14.gtgf-v1654.gtgf-vp99-events #main-content .v1587-event-details .event-community :is(p,li,small,span) {
  color:var(--gtgf54-copy)!important;
  -webkit-text-fill-color:var(--gtgf54-copy)!important;
  opacity:1!important;
}
html body.gtgf-v14.gtgf-v1654.gtgf-vp99-events #main-content .v1587-event-details .v1587-detail-actions small {
  color:var(--gtgf54-muted)!important;
  -webkit-text-fill-color:var(--gtgf54-muted)!important;
  opacity:1!important;
}

/* Join page: the WhatsApp card is the intentional dark invitation on a paper section. */
html body.gtgf-v14.gtgf-v1654 #main-content .section--paper .whatsapp-card {
  border:1px solid var(--gtgf54-dark-line)!important;
  border-radius:18px!important;
  background:radial-gradient(circle at 90% 4%,rgba(255,106,26,.12),transparent 34%),linear-gradient(145deg,#191d1a,#0d100e)!important;
  box-shadow:0 18px 48px rgba(20,17,13,.15)!important;
}
html body.gtgf-v14.gtgf-v1654 #main-content .section--paper .whatsapp-card :is(h2,h3,h4,strong) {
  color:var(--gtgf54-text)!important;
  -webkit-text-fill-color:var(--gtgf54-text)!important;
}
html body.gtgf-v14.gtgf-v1654 #main-content .section--paper .whatsapp-card p:not(.eyebrow) {
  color:var(--gtgf54-copy)!important;
  -webkit-text-fill-color:var(--gtgf54-copy)!important;
  opacity:1!important;
}
html body.gtgf-v14.gtgf-v1654 #main-content .section--paper .whatsapp-card .eyebrow {
  color:var(--gtgf54-orange-soft)!important;
  -webkit-text-fill-color:var(--gtgf54-orange-soft)!important;
  opacity:1!important;
}

@media(max-width:620px){
  html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item {
    min-height:82px!important;
    padding:12px 11px!important;
  }
  html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item strong {font-size:12px!important}
  html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item small {font-size:8px!important}
  html body.gtgf-v14.gtgf-v1654.gtgf-v1654-dashboard #main-content .v162400-tail .v162400-context .v162400-context__item p {font-size:9.5px!important;white-space:normal!important}
}
