/* Correctif de lisibilité — section Charge mobile
   Les anciens styles mobiles forçaient encore des panneaux blancs à
   l’intérieur du nouveau thème navy. Ces règles, volontairement plus
   spécifiques, remettent tous les blocs dans le langage premium. */

.ip-charge-athlete-card .ip-charge-semaine {
  background:
    radial-gradient(260px 150px at 100% 0%, rgba(255, 196, 71, 0.14), transparent 74%),
    radial-gradient(260px 160px at 0% 100%, rgba(34, 160, 107, 0.12), transparent 76%),
    rgba(5, 17, 45, 0.74) !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-entete {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  padding: 17px 14px 14px !important;
  background: transparent !important;
  color: #fff !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-identite {
  min-width: 0;
  display: grid !important;
  gap: 3px !important;
  padding: 0 !important;
  background: transparent !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-identite > span {
  color: #ffd978 !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-identite > strong {
  color: rgba(255, 255, 255, 0.98) !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-identite > small {
  color: rgba(255, 255, 255, 0.5) !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-stats {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-stats .ip-charge-semaine-stat {
  width: auto !important;
  min-width: 0 !important;
  min-height: 64px !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 11px 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.075) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-stats .ip-charge-semaine-stat > strong {
  color: #fff !important;
  font-size: 19px !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-stats .ip-charge-semaine-stat > span {
  color: rgba(255, 255, 255, 0.46) !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-stats .ip-charge-semaine-stat.is-accent {
  border-color: rgba(255, 196, 71, 0.38) !important;
  background:
    radial-gradient(90px 60px at 100% 0%, rgba(255, 216, 117, 0.2), transparent 72%),
    rgba(255, 196, 71, 0.12) !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-stats .ip-charge-semaine-stat.is-accent > strong,
.ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-stats .ip-charge-semaine-stat.is-accent > span {
  color: #ffd978 !important;
}

.ip-charge-athlete-card .ip-charge-semaine .ip-charge-calendrier {
  background: transparent !important;
}

/* Indicateurs détaillés : suppression des grands cartons blancs imbriqués. */
.ip-charge-athlete-card > div:has(> .ip-charge-indicateurs-entete) {
  padding: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.105) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(220px 130px at 100% 0%, rgba(255, 196, 71, 0.09), transparent 76%),
    rgba(2, 12, 35, 0.4) !important;
}

.ip-charge-athlete-card .ip-charge-indicateurs-ligne {
  min-height: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 14px !important;
  background:
    radial-gradient(150px 90px at 100% 0%, rgba(255, 196, 71, 0.07), transparent 74%),
    rgba(255, 255, 255, 0.045) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
}

.ip-charge-athlete-card .ip-charge-indicateurs-ligne > span {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ip-charge-athlete-card .ip-charge-indicateurs-ligne > span,
.ip-charge-athlete-card .ip-charge-indicateurs-ligne > span * {
  color: rgba(255, 255, 255, 0.74) !important;
}

.ip-charge-athlete-card .ip-charge-indicateurs-ligne > span[data-label='Charge'],
.ip-charge-athlete-card .ip-charge-indicateurs-ligne > span[data-label='Charge'] * {
  color: #fff !important;
}

.ip-charge-athlete-card .ip-charge-indicateurs-ligne > span::before {
  color: rgba(255, 255, 255, 0.38) !important;
}

.ip-charge-athlete-card .ip-charge-indicateurs-ligne .ip-charge-distances-inline,
.ip-charge-athlete-card .ip-charge-indicateurs-ligne .ip-charge-distances-inline > span {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.66) !important;
}

.ip-charge-athlete-card .ip-charge-indicateurs-ligne .ip-charge-distances-inline b {
  color: rgba(255, 255, 255, 0.9) !important;
}

@media (max-width: 700px) {
  .ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-entete {
    padding: 16px 13px 13px !important;
  }

  .ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-stats .ip-charge-semaine-stat {
    min-height: 62px !important;
  }

  .ip-charge-athlete-card .ip-charge-indicateurs-entete {
    display: none !important;
  }

  .ip-charge-athlete-card .ip-charge-indicateurs-ligne {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 9px !important;
    padding: 11px !important;
  }

  .ip-charge-athlete-card .ip-charge-indicateurs-ligne > span:first-child {
    grid-column: 1 / -1 !important;
    min-height: 0 !important;
    display: block !important;
    padding: 1px 2px 4px !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
  }

  .ip-charge-athlete-card .ip-charge-indicateurs-ligne > span:not(:first-child) {
    min-width: 0 !important;
    min-height: 58px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 9px 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, 0.055) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  }

  .ip-charge-athlete-card .ip-charge-indicateurs-ligne > span:not(:first-child)::before {
    display: block !important;
    margin: 0 !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }
}

@media (max-width: 390px) {
  .ip-charge-athlete-card .ip-charge-semaine .ip-charge-semaine-stats .ip-charge-semaine-stat {
    min-height: 58px !important;
    padding: 9px 10px !important;
  }

  .ip-charge-athlete-card .ip-charge-indicateurs-ligne > span:not(:first-child) {
    min-height: 54px !important;
    padding: 8px 9px !important;
  }
}
