/* Potencial Deportivo — Planning reference visual layer */
:root { --pd-plan-bg:#03111e; --pd-plan-panel:#061827; --pd-plan-panel-2:#071d2d; --pd-plan-line:rgba(86,190,224,.16); --pd-plan-cyan:#10dff1; --pd-plan-orange:#ff7a00; }

.plan-page {
  position:relative !important; display:block !important; width:100% !important; max-width:none !important; margin:0 !important; padding:238px 18px 44px 26px !important; box-sizing:border-box !important;
  color:#edf7fb !important; background:linear-gradient(180deg,#020b14 0%,#03111e 52%,#041522 100%) !important;
}

/* Premium Coach + Nutrition strip: both cards stay together above the planning header. */
.plan-page::before,
.plan-page::after {
  position:absolute !important; top:10px !important; width:calc(50% - 18px) !important; height:207px !important; box-sizing:border-box !important;
  display:flex !important; flex-direction:column !important; justify-content:center !important;
  border-radius:14px !important; overflow:hidden !important; padding:22px 32px !important;
  border:1px solid rgba(22,175,255,.45) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.28), inset 0 0 55px rgba(0,132,205,.08) !important;
  background-repeat:no-repeat !important; background-position:right center !important; background-size:auto 100% !important;
  white-space:pre-line !important; font-family:inherit !important; z-index:0 !important; pointer-events:none !important;
}
.plan-page::before {
  left:26px !important; content:"TU ENTRENADOR\A Coach\A Planifica, analiza y mejora\A tu rendimiento con IA." !important;
  background-color:#04233a !important;
  background-image:linear-gradient(90deg,rgba(3,25,43,.99) 0%,rgba(3,25,43,.86) 44%,rgba(3,25,43,.18) 100%),url('/coach-athlete.svg') !important;
  color:#f5fbff !important; font-size:16px !important; line-height:1.45 !important;
}
.plan-page::after {
  right:18px !important; content:"TU NUTRICIÓN\A Nutrición\A Planes de alimentación\A personalizados para rendir más." !important;
  border-color:rgba(15,213,174,.48) !important; background-color:#06251f !important;
  background-image:linear-gradient(90deg,rgba(4,37,31,.99) 0%,rgba(4,37,31,.83) 42%,rgba(4,37,31,.18) 100%),url('/nutrition-food.svg') !important;
  color:#f5fbff !important;
}

/* Keep the real planning content below the two hero cards. */
.plan-page > * { width:100% !important; box-sizing:border-box !important; }
.plan-page > .plan-header { margin-bottom:14px !important; }
.plan-page > .plan-header h1 { font-size:clamp(38px,4vw,54px) !important; letter-spacing:-.055em !important; color:#f8fbfd !important; }
.plan-page > .plan-header p { max-width:850px !important; color:#9db3c2 !important; font-size:14px !important; }
.plan-kicker,.plan-section-kicker { color:var(--pd-plan-orange) !important; }
.plan-primary-button { border-color:var(--pd-plan-orange) !important; background:linear-gradient(135deg,#ff6900,#ff9a28) !important; color:#101317 !important; box-shadow:0 12px 32px rgba(255,105,0,.2) !important; }
.plan-secondary-button { background:#06131f !important; border-color:rgba(117,162,190,.25) !important; color:#e5eef3 !important; }

.plan-week-toolbar { margin-top:0 !important; padding:12px 15px !important; border:1px solid var(--pd-plan-line) !important; border-radius:12px !important; background:rgba(5,23,37,.9) !important; }
.plan-calendar-tools { margin:0 0 12px !important; padding:8px 0 !important; }
.plan-add-session-button { border-color:rgba(16,223,241,.45) !important; color:#10dff1 !important; background:rgba(16,223,241,.06) !important; }

.plan-calendar-shell { border:1px solid rgba(69,174,214,.2) !important; border-radius:14px !important; background:#041321 !important; overflow:hidden !important; box-shadow:0 22px 60px rgba(0,0,0,.25) !important; }
.plan-calendar-scroll { overflow-x:auto !important; }
.plan-calendar { min-width:1180px !important; grid-template-columns:repeat(7,minmax(155px,1fr)) !important; background:#041321 !important; }
.plan-day { min-height:560px !important; border-right:1px solid rgba(82,164,198,.13) !important; background:linear-gradient(180deg,#061927 0%,#041522 100%) !important; }
.plan-day.is-today { background:linear-gradient(180deg,#072237 0%,#041522 100%) !important; }
.plan-day-header { height:74px !important; padding:14px 13px 10px !important; background:rgba(3,15,26,.65) !important; border-bottom:1px solid rgba(82,164,198,.13) !important; }
.plan-day-header span { color:#7d9bad !important; font-size:9px !important; }
.plan-day.is-today .plan-day-header span { color:#0fdff2 !important; }
.plan-day-header strong { color:#f3f9fc !important; font-size:25px !important; }
.plan-day-body { min-height:485px !important; padding:9px !important; }
.plan-day-empty { min-height:470px !important; border:0 !important; color:#4e7184 !important; }

/* Sport-specific premium photography. The same visual is reused per sport so the calendar stays coherent. */
.plan-session-card {
  position:relative !important; min-height:280px !important; padding:124px 12px 12px !important; overflow:hidden !important; border:1px solid rgba(75,158,194,.22) !important; border-radius:10px !important; background-color:#061827 !important; background-repeat:no-repeat !important; background-position:center top !important; background-size:cover !important; box-shadow:0 10px 24px rgba(0,0,0,.16) !important;
}
.plan-session-card.is-sport-running { background-image:linear-gradient(180deg,rgba(3,17,29,.02),rgba(3,17,29,.46)),url('/planning/running.svg') !important; }
.plan-session-card.is-sport-swimming { background-image:linear-gradient(180deg,rgba(3,17,29,.02),rgba(3,17,29,.38)),url('/planning/swimming.svg') !important; }
.plan-session-card.is-sport-strength { background-image:linear-gradient(180deg,rgba(3,17,29,.02),rgba(3,17,29,.38)),url('/planning/strength.svg') !important; }
.plan-session-card.is-sport-cycling { background-image:linear-gradient(180deg,rgba(3,17,29,.02),rgba(3,17,29,.38)),url('/planning/cycling.svg') !important; }
.plan-session-card > * { position:relative !important; z-index:1 !important; margin-left:0 !important; margin-right:0 !important; }
.plan-session-card-top { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:8px !important; margin-top:-26px !important; margin-bottom:9px !important; }
.plan-session-sport { display:inline-flex !important; align-items:center !important; padding:4px 8px !important; border-radius:999px !important; background:#0b3147 !important; color:#eaf8fd !important; font-size:10px !important; }
.plan-session-status { padding:3px 0 !important; color:#ffad5c !important; }
.plan-session-card h3 { color:#f2f8fb !important; font-size:15px !important; line-height:1.2 !important; margin:7px 0 8px !important; }
.plan-session-meta { color:#a1bac9 !important; font-size:10px !important; }
.plan-session-target { color:#d9eaf1 !important; border-top-color:rgba(83,166,201,.14) !important; font-size:9px !important; }
.plan-session-card:hover,.plan-session-card.is-selected { border-color:#0fdff2 !important; background-color:#072338 !important; box-shadow:0 12px 28px rgba(0,0,0,.22) !important; }

/* Rest day treatment: intentional recovery state, not an empty slot. */
.plan-day:has(.plan-rest-day) .plan-day-empty { display:flex !important; }
.plan-rest-day { min-height:280px !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:10px !important; padding:18px !important; border:1px solid rgba(16,223,241,.15) !important; border-radius:10px !important; background:linear-gradient(180deg,rgba(5,30,46,.75),rgba(3,20,32,.8)) !important; color:#eaf8fc !important; }
.plan-rest-day::before { content:"↻" !important; display:grid !important; place-items:center !important; width:62px !important; height:62px !important; border:1px solid #0fdff2 !important; border-radius:50% !important; color:#0fdff2 !important; font-size:28px !important; }
.plan-rest-day strong { font-size:16px !important; letter-spacing:.02em !important; }
.plan-rest-day span { color:#8eafbd !important; font-size:10px !important; text-transform:uppercase !important; letter-spacing:.12em !important; }

@media (max-width:1100px){
  .plan-page { padding-top:210px !important; }
  .plan-page::before,.plan-page::after { height:180px !important; padding:18px 22px !important; }
  .plan-page::before { left:0 !important; width:calc(50% - 8px) !important; }
  .plan-page::after { right:0 !important; width:calc(50% - 8px) !important; }
}
@media (max-width:760px){
  .plan-page { padding:324px 12px 34px !important; }
  .plan-page::before,.plan-page::after { left:12px !important; right:12px !important; width:auto !important; height:150px !important; padding:16px 18px !important; font-size:13px !important; }
  .plan-page::before { top:12px !important; }
  .plan-page::after { top:174px !important; }
  .plan-calendar { min-width:980px !important; }
}
