/**
 * GTGF v15.99 — Next Best Action.
 * One dominant action, shared visual language between Planner and Mijn GTGF.
 */

body.gtgf-v14 .planner-next-action {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  margin:22px 0 30px;
  padding:24px 26px 24px 30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:#111;
  color:#fff;
  box-shadow:0 18px 42px rgba(17,17,17,.10);
}
body.gtgf-v14 .planner-next-action[hidden] { display:none !important; }
body.gtgf-v14 .planner-next-action::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:#ff5a00;
}
body.gtgf-v14 .planner-next-action span {
  display:block;
  margin:0 0 7px;
  color:#ff8b4c;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.gtgf-v14 .planner-next-action h3 {
  margin:0 0 7px;
  color:#fff;
  font-size:clamp(1.15rem,2vw,1.55rem);
  line-height:1.1;
  letter-spacing:-.025em;
}
body.gtgf-v14 .planner-next-action p {
  max-width:720px;
  margin:0;
  color:#cbc7c2;
  font-size:.88rem;
  line-height:1.55;
}
body.gtgf-v14 .planner-next-action .button {
  min-width:190px;
  justify-content:center;
  margin:0;
  white-space:nowrap;
}

/* Mijn GTGF: keep one action visually dominant without turning the side rail into alerts. */
.v1582-next {
  position:relative;
  overflow:hidden;
}
.v1582-next::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:rgba(17,17,17,.18);
}
.v1582-next.is-active::before,
.v1582-next.is-attention::before { background:var(--v1582-orange,#ff5a00); }
.v1582-next.is-attention { box-shadow:0 14px 34px rgba(255,90,0,.08); }
.v1582-next > span:first-child {
  color:var(--v1582-orange,#ff5a00);
  font-weight:900;
  letter-spacing:.09em;
}
.v1582-next > a {
  display:inline-flex;
  align-items:center;
  margin-top:14px;
  font-weight:900;
}

@media (max-width:760px) {
  body.gtgf-v14 .planner-next-action {
    grid-template-columns:1fr;
    gap:16px;
    padding:21px 20px 21px 24px;
  }
  body.gtgf-v14 .planner-next-action .button {
    width:100%;
    min-width:0;
  }
}


/* v15.99.1: the same action on Nutrition and Events, without another dashboard. */
.gtgf-nba-surface {
  padding:18px 24px;
  background:#f7f4ee;
}
.gtgf-nba-surface__shell {
  width:min(1180px,calc(100% - 24px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  padding:18px 20px 18px 24px;
  border:1px solid rgba(17,17,17,.10);
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 30px rgba(17,17,17,.045);
  position:relative;
  overflow:hidden;
}
.gtgf-nba-surface__shell::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#c7c2ba; }
.gtgf-nba-surface.is-active .gtgf-nba-surface__shell::before,
.gtgf-nba-surface.is-attention .gtgf-nba-surface__shell::before { background:#ff5a00; }
.gtgf-nba-surface__copy > span { display:block; margin:0 0 5px; color:#ff5a00; font-size:.68rem; font-weight:950; letter-spacing:.11em; text-transform:uppercase; }
.gtgf-nba-surface__copy > strong { display:block; color:#111; font-size:clamp(1rem,1.7vw,1.28rem); line-height:1.18; }
.gtgf-nba-surface__copy > p { max-width:760px; margin:5px 0 0; color:#625d56; font-size:.84rem; line-height:1.5; }
.gtgf-nba-surface__action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 17px; border-radius:999px; background:#111; color:#fff !important; text-decoration:none; font-size:.78rem; font-weight:900; white-space:nowrap; }
.gtgf-nba-surface.is-attention .gtgf-nba-surface__action { background:#ff5a00; color:#111 !important; }

/* Device-local return flow. It is hidden unless a valid local preview exists. */
.gtgf-return-resume[hidden] { display:none !important; }
.gtgf-return-resume { padding:18px 0; border-bottom:1px solid rgba(17,17,17,.08); }
.gtgf-return-resume__shell { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; padding:22px 24px; border:1px solid rgba(17,17,17,.10); border-radius:18px; background:#fff; box-shadow:0 14px 34px rgba(17,17,17,.05); }
.gtgf-return-resume__copy > span { display:block; color:#ff5a00; font-size:.68rem; font-weight:950; letter-spacing:.11em; }
.gtgf-return-resume__copy > strong { display:block; margin-top:6px; color:#111; font-size:clamp(1.1rem,2vw,1.45rem); line-height:1.15; }
.gtgf-return-resume__copy > p { max-width:720px; margin:7px 0 0; color:#625d56; font-size:.86rem; line-height:1.55; }
.gtgf-return-resume__actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-wrap:wrap; }
.gtgf-return-resume__actions .v14-btn { margin:0; white-space:nowrap; }
.gtgf-return-resume__secondary { color:#111; font-size:.78rem; font-weight:900; text-decoration:underline; text-underline-offset:3px; }
.gtgf-return-resume__actions button { appearance:none; border:0; background:transparent; color:#77716a; padding:6px 0; font:inherit; font-size:.72rem; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }

@media (max-width:760px) {
  .gtgf-nba-surface { padding:14px 10px; }
  .gtgf-nba-surface__shell,
  .gtgf-return-resume__shell { grid-template-columns:1fr; gap:15px; }
  .gtgf-nba-surface__action { width:100%; }
  .gtgf-return-resume__actions { justify-content:flex-start; }
  .gtgf-return-resume__actions .v14-btn { width:100%; justify-content:center; }
}
