/* ============================================================
   HEAVY PLAN · CSS ORIGINAL GHOST DIRTY
   Fuente: heavy-circuit/heavy-plan
   Rama: feat/etapa011-router-a1
   Archivo: src/features/workspace/workspace.css
   NOTA: propiedades de ::after y máscaras V36 preservadas sin rediseño.
   ============================================================ */
.hpDisciplineSurface {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0;
  border-radius: 17px;
  color: #fff;
}
.hpDisciplineCard {
  min-height: 189px;
  padding: 23px 25px 19px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: #182332;
  transition: background .18s, transform .18s, box-shadow .18s;
}
.hpCrossfit {
  --v26-mark: #92b8e8;
  background: linear-gradient(110deg,#1b2b40 0%,#111a26 69%,#10171f 100%);
}
.hpHybrid {
  --v26-mark: #e2bb75;
  background: linear-gradient(110deg,#30271b 0%,#201c19 66%,#181717 100%);
}
.hpDisciplineNeutral {
  background: linear-gradient(110deg,#1b2736 0%,#141b24 100%);
}
.hpDisciplineNeutral::after { content: none; }
.hpCrossfit:hover {
  background: linear-gradient(110deg,#243850 0%,#131e2c 76%,#13191f 100%);
}
.hpHybrid:hover {
  background: linear-gradient(110deg,#3a3020 0%,#24201b 66%,#1b1917 100%);
}
.hpDisciplineSurface::after,
.hpProgramIdentity::after,
.hpProgramCard::after {
  content: attr(data-mark);
  position: absolute;
  right: -56px;
  bottom: -95px !important;
  padding-top: 68px !important;
  padding-bottom: 68px !important;
  transform: scaleX(1.07);
  font-family: var(--font-display);
  font-stretch: condensed;
  font-size: clamp(111px,calc(12vw + 1px),185px);
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: .72;
  color: var(--v26-mark);
  opacity: .14;
  filter: blur(8px) saturate(.85);
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;

  /* V36: conservar AMBAS máscaras y la intersección exacta. */
  --ghost-edge: 56px;
  --ghost-fade: 38px;
  --ghost-original: linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 30%,#000 77%);
  mask-image: var(--ghost-original),
    linear-gradient(90deg,#000 0%,#000 calc(100% - var(--ghost-edge) - var(--ghost-fade)),transparent calc(100% - var(--ghost-edge))) !important;
  -webkit-mask-image: var(--ghost-original),
    linear-gradient(90deg,#000 0%,#000 calc(100% - var(--ghost-edge) - var(--ghost-fade)),transparent calc(100% - var(--ghost-edge))) !important;
  mask-composite: intersect !important;
  -webkit-mask-composite: source-in !important;
}
.hpDisciplineSurface > *,
.hpProgramIdentity > *,
.hpProgramCard > * {
  position: relative;
  z-index: 1;
}
@media (max-width: 750px) {
  .hpDisciplineSurface::after,
  .hpProgramIdentity::after {
    --ghost-edge: 30px;
    --ghost-fade: 35px;
  }
}
@media (max-width: 650px) {
  .hpDisciplineSurface::after,
  .hpProgramIdentity::after {
    bottom: -87px !important;
  }
}
.hpDisciplineKicker {
  font-family: var(--font-tech);
  font-size: 13px;
  color: #a9bfd8;
  font-weight: 750;
  letter-spacing: .14em;
  position: relative;
  z-index: 1;
}
.hpHybrid .hpDisciplineKicker {
  color: #cfb994;
}
.hpDisciplineCard h3 {
  font-size: clamp(28px, calc(2.6vw + 1px), 37px);
  font-family: var(--font-display);
  font-stretch: condensed;
  letter-spacing: 0;
  margin: 18px 0 3px;
  font-weight: 800;
  line-height: 1.1;
  position: relative;
  z-index: 1;
}
.hpDisciplineCard p {
  margin: 0;
  color: #c0d0e2;
  font-size: 15px;
  position: relative;
  z-index: 1;
}
.hpHybrid.hpDisciplineCard p { color: #e3cba4; }
.hpDisciplineState {
  font-size: 15px;
  font-weight: 670;
  color: #e4f1ff;
  margin-top: auto;
  padding-top: 20px;
  position: relative;
  z-index: 1;
}
.hpHybrid .hpDisciplineState { color: #f7e0b9; }

/* Regla efectiva del dashboard Coach (mismo CSS de producción) */
.hpCoachHomeOverview .hpDisciplineCard{min-height:170px;padding-top:21px;padding-bottom:19px}
.hpCoachHomeOverview .hpDisciplineCard h3{margin:9px 0 8px}
.hpCoachHomeOverview .hpDisciplineState{margin-top:auto}
