/* ============================================================
   [MGYM-CONFIG-MOBILE-APP-V288-START]
   MacroGym · Configuración móvil tipo app real
   Alcance:
   - Solo max-width: 820px.
   - Oculta la capa antigua móvil y usa una vista móvil limpia.
   - Escritorio queda intacto.
   ============================================================ */

@media (max-width: 820px) {
  #mgym-config-top {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #191919 !important;
    overflow-x: hidden !important;
  }

  #mgym-config-top > :not(.mgym-config-mobile-app-v288):not(script):not(style) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #mgymConfigMobileAppV288,
  .mgym-config-mobile-app-v288 {
    --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-title: Outfit, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --mg-bg: #191919;
    --mg-surface: #111111;
    --mg-surface-2: #141414;
    --mg-surface-3: #1a1a1a;
    --mg-line: rgba(255,255,255,.075);
    --mg-line-strong: rgba(255,255,255,.12);
    --mg-text: #f4f5f7;
    --mg-muted: #b8bcc4;
    --mg-muted-2: #818791;
    --mg-lime: #a8ff3e;
    --mg-lime-soft: rgba(168,255,62,.13);
    --mg-lime-border: rgba(168,255,62,.25);
    --mg-lime-line: rgba(168,255,62,.45);
    --mg-radius-xl: 26px;
    --mg-radius-lg: 20px;
    --mg-radius-md: 16px;
    --mg-shadow-soft: 0 14px 30px rgba(0,0,0,.22);
    --mg-ease: cubic-bezier(.22,.61,.36,1);
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100vh !important;
    margin: 0 auto !important;
    padding: 16px 8px 72px !important;
    background: var(--mg-bg) !important;
    color: var(--mg-text) !important;
    font-family: var(--font-sans) !important;
    box-sizing: border-box !important;
  }

  .mgym-config-mobile-app-v288 *,
  .mgym-config-mobile-app-v288 *::before,
  .mgym-config-mobile-app-v288 *::after {
    box-sizing: border-box !important;
  }

  .mgym-mobile-stack-v288 {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .mgym-mobile-card-v288,
  .mgym-mobile-cycle-v288 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: var(--mg-radius-xl) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.012)), var(--mg-surface) !important;
    border: 1px solid var(--mg-line) !important;
    box-shadow: var(--mg-shadow-soft) !important;
    overflow: hidden !important;
  }

  .mgym-mobile-card-body-v288 {
    padding: 20px !important;
  }

  .mgym-mobile-meta-row-v288,
  .mgym-mobile-card-head-v288,
  .mgym-mobile-card-head-v288--switch {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
  }

  .mgym-mobile-meta-row-v288 { margin-bottom: 18px !important; }
  .mgym-mobile-card-head-v288 { margin-bottom: 16px !important; }

  .mgym-mobile-pill-v288 {
    min-height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    border: 1px solid var(--mg-line) !important;
    background: rgba(255,255,255,.025) !important;
    color: var(--mg-muted) !important;
    font-family: var(--font-title) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .03em !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
  }

  .mgym-mobile-pill-v288.is-active,
  .mgym-mobile-pill-v288.is-ready {
    color: var(--mg-lime) !important;
    background: var(--mg-lime-soft) !important;
    border-color: var(--mg-lime-line) !important;
  }

  .mgym-mobile-pill-v288.is-pending,
  .mgym-mobile-pill-v288.is-alert {
    color: #ffb703 !important;
    background: rgba(255,183,3,.08) !important;
    border-color: rgba(255,183,3,.3) !important;
  }

  .mgym-mobile-card-v288--hero h2,
  .mgym-mobile-card-hero-title-v288 {
    margin: 0 0 8px !important;
    color: #fff !important;
    font-family: var(--font-title) !important;
    font-size: 26px !important;
    font-weight: 950 !important;
    line-height: 1.08 !important;
    letter-spacing: -.05em !important;
  }

  .mgym-mobile-title-v288 {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: var(--font-title) !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    letter-spacing: -.035em !important;
    font-weight: 900 !important;
  }

  .mgym-mobile-title-v288::before {
    content: "" !important;
    flex: 0 0 auto !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: var(--mg-lime) !important;
    box-shadow: 0 0 16px rgba(168,255,62,.5) !important;
  }

  .mgym-mobile-lead-v288,
  .mgym-mobile-card-head-v288 p,
  .mgym-mobile-card-copy-v288 {
    margin: 6px 0 0 !important;
    color: var(--mg-muted) !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
  }

  .mgym-mobile-alert-v288,
  .mgym-mobile-explain-v288 {
    margin-top: 16px !important;
    padding: 16px !important;
    border-radius: var(--mg-radius-md) !important;
    border: 1px solid var(--mg-line) !important;
    border-left: 4px solid var(--mg-lime) !important;
    background: rgba(255,255,255,.02) !important;
    color: var(--mg-muted) !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
  }

  .mgym-mobile-alert-v288 p { margin: 0 0 10px !important; }
  .mgym-mobile-alert-v288 a,
  .mgym-mobile-secondary-button-v288 {
    display: inline-flex !important;
    width: max-content !important;
    color: var(--mg-lime) !important;
    font-family: var(--font-title) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-bottom: 1px dashed var(--mg-lime) !important;
    padding-bottom: 2px !important;
  }

  .mgym-mobile-secondary-button-v288 {
    width: 100% !important;
    min-height: 50px !important;
    margin-top: 16px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--mg-lime-line) !important;
    border-radius: 18px !important;
    background: transparent !important;
    color: var(--mg-text) !important;
    padding: 0 14px !important;
  }

  .mgym-mobile-chip-row-v288,
  .mgym-mobile-actions-v288 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 16px !important;
  }

  .mgym-mobile-chip-row-v288 button,
  .mgym-mobile-actions-v288 button,
  .mgym-mobile-action-bar-v288 button {
    min-height: 36px !important;
    border-radius: 999px !important;
    border: 1px solid var(--mg-line) !important;
    background: rgba(255,255,255,.03) !important;
    color: var(--mg-text) !important;
    padding: 0 16px !important;
    font-family: var(--font-title) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    cursor: pointer !important;
  }

  .mgym-mobile-chip-row-v288 button:hover,
  .mgym-mobile-actions-v288 button:hover {
    border-color: var(--mg-lime-line) !important;
    background: var(--mg-lime-soft) !important;
    color: var(--mg-lime) !important;
  }

  .mgym-mobile-field-grid-v288 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 14px !important;
  }

  .mgym-mobile-field-v288 {
    display: grid !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .mgym-mobile-field-v288 span {
    color: var(--mg-lime) !important;
    font-family: var(--font-title) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
  }

  .mgym-mobile-field-v288 select,
  .mgym-mobile-field-v288 input,
  .mgym-mobile-field-v288 textarea {
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 16px !important;
    border: 1px solid var(--mg-line) !important;
    background: #0e0e0e !important;
    color: var(--mg-text) !important;
    padding: 0 16px !important;
    outline: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    appearance: none !important;
  }

  .mgym-mobile-field-v288 select {
    padding-right: 40px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a8ff3e' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 12px !important;
  }

  .mgym-mobile-field-v288 textarea {
    min-height: 90px !important;
    padding: 12px 14px !important;
    line-height: 1.45 !important;
    resize: vertical !important;
  }

  .mgym-mobile-field-v288 select:focus,
  .mgym-mobile-field-v288 input:focus,
  .mgym-mobile-field-v288 textarea:focus {
    border-color: var(--mg-lime-line) !important;
    box-shadow: 0 0 0 3px rgba(168,255,62,.08) !important;
  }

  .mgym-mobile-main-button-v288 {
    width: 100% !important;
    min-height: 50px !important;
    margin-top: 16px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: var(--mg-lime) !important;
    color: #111 !important;
    font-family: var(--font-title) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    cursor: pointer !important;
    box-shadow: 0 6px 18px rgba(168,255,62,.15) !important;
  }

  .mgym-mobile-feedback-v288 {
    min-height: 18px !important;
    margin: 10px 0 0 !important;
    color: var(--mg-lime) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  .mgym-mobile-kpi-grid-v288 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }

  .mgym-mobile-kpi-grid-v288 > div {
    min-width: 0 !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background: var(--mg-surface-2) !important;
    border: 1px solid var(--mg-line) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }

  .mgym-mobile-kpi-grid-v288 span,
  .mgym-mobile-kpi-grid-v288 small {
    display: block !important;
    color: var(--mg-muted) !important;
    font-family: var(--font-title) !important;
    font-size: 9.5px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
  }

  .mgym-mobile-kpi-grid-v288 strong {
    display: block !important;
    color: var(--mg-text) !important;
    font-family: var(--font-title) !important;
    font-size: 14.5px !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
  }

  .mgym-mobile-kpi-grid-v288--dense {
    gap: 8px !important;
  }
  .mgym-mobile-kpi-grid-v288--dense > div {
    min-height: 68px !important;
    justify-content: center !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
  }
  .mgym-mobile-kpi-grid-v288--dense strong {
    color: var(--mg-lime) !important;
    font-size: 13.5px !important;
  }

  .mgym-mobile-section-kicker-v288 {
    display: block !important;
    color: var(--mg-lime) !important;
    font-family: var(--font-title) !important;
    font-size: 10.5px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
  }

  .mgym-mobile-switch-v288 {
    position: relative !important;
    width: 48px !important;
    height: 26px !important;
    flex: 0 0 auto !important;
  }
  .mgym-mobile-switch-v288 input { opacity: 0 !important; width: 0 !important; height: 0 !important; }
  .mgym-mobile-switch-v288 span {
    position: absolute !important;
    inset: 0 !important;
    border-radius: 999px !important;
    background: var(--mg-lime-soft) !important;
    border: 1px solid var(--mg-lime-border) !important;
  }
  .mgym-mobile-switch-v288 span::before {
    content: "" !important;
    position: absolute !important;
    width: 18px !important;
    height: 18px !important;
    left: 3px !important;
    top: 3px !important;
    border-radius: 999px !important;
    background: var(--mg-lime) !important;
    box-shadow: 0 0 10px var(--mg-lime-soft) !important;
    transition: transform .25s var(--mg-ease) !important;
  }
  .mgym-mobile-switch-v288 input:checked + span::before { transform: translateX(22px) !important; }

  .mgym-mobile-advanced-panel-v288 {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    transition: opacity .3s ease, max-height .3s ease !important;
    overflow: hidden !important;
  }
  .mgym-mobile-advanced-panel-v288.is-collapsed {
    max-height: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .mgym-mobile-action-bar-v288 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.02) !important;
    border: 1px solid var(--mg-line) !important;
    color: var(--mg-muted) !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
  }

  .mgym-mobile-action-bar-v288 button {
    min-height: 30px !important;
    border-radius: 8px !important;
    border: 0 !important;
    background: var(--mg-lime) !important;
    color: #111 !important;
    padding: 0 12px !important;
    font-size: 10px !important;
  }

  .mgym-mobile-indicator-badge-v288 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    padding: 8px 16px !important;
    border-radius: 12px !important;
    border: 1px solid var(--mg-lime-border) !important;
    background: var(--mg-lime-soft) !important;
    color: var(--mg-lime) !important;
    font-family: var(--font-title) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
  }

  .mgym-mobile-cycle-trigger-v288 {
    width: 100% !important;
    min-height: 72px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 15px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--mg-text) !important;
    text-align: left !important;
    cursor: pointer !important;
  }

  .mgym-mobile-cycle-v288--compact .mgym-mobile-cycle-trigger-v288 {
    min-height: 60px !important;
    padding: 12px 14px !important;
  }

  .mgym-mobile-cycle-trigger-v288 small {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--mg-lime) !important;
    font-family: var(--font-title) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
  }
  .mgym-mobile-cycle-v288--compact .mgym-mobile-cycle-trigger-v288 small {
    display: block !important;
    font-size: 9.5px !important;
    font-weight: 850 !important;
    letter-spacing: .05em !important;
  }
  .mgym-mobile-cycle-trigger-v288 small::before {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: var(--mg-lime) !important;
  }
  .mgym-mobile-cycle-v288--compact .mgym-mobile-cycle-trigger-v288 small::before { display: none !important; }
  .mgym-mobile-cycle-trigger-v288 strong {
    display: block !important;
    margin-top: 5px !important;
    color: var(--mg-text) !important;
    font-family: var(--font-title) !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
    font-weight: 950 !important;
  }
  .mgym-mobile-cycle-v288--compact .mgym-mobile-cycle-trigger-v288 strong {
    font-size: 14px !important;
    font-weight: 800 !important;
  }
  .mgym-mobile-cycle-trigger-v288 span {
    display: block !important;
    margin-top: 5px !important;
    color: var(--mg-muted) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
  .mgym-mobile-cycle-trigger-v288 i {
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    border: 1px solid var(--mg-line) !important;
    background: rgba(255,255,255,.03) !important;
    color: var(--mg-lime) !important;
    font-style: normal !important;
    transition: transform .28s var(--mg-ease) !important;
  }
  .mgym-mobile-cycle-v288--compact .mgym-mobile-cycle-trigger-v288 i {
    width: 26px !important;
    height: 26px !important;
    font-size: 11px !important;
  }
  .mgym-mobile-cycle-v288.is-open .mgym-mobile-cycle-trigger-v288 i { transform: rotate(180deg) !important; }

  .mgym-mobile-cycle-panel-v288 {
    display: grid !important;
    grid-template-rows: 0fr !important;
    transition: grid-template-rows .34s var(--mg-ease) !important;
  }
  .mgym-mobile-cycle-v288.is-open .mgym-mobile-cycle-panel-v288 { grid-template-rows: 1fr !important; }
  .mgym-mobile-cycle-panel-v288 > div { min-height: 0 !important; overflow: hidden !important; }
  .mgym-mobile-cycle-content-v288 {
    padding: 4px 15px 15px !important;
    border-top: 1px dashed var(--mg-line) !important;
  }

  .mgym-mobile-carousel-meta-v288 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 10px 0 !important;
    color: var(--mg-muted-2) !important;
    font-family: var(--font-title) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
  }

  .mgym-mobile-carousel-track-v288 {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 2px 14px !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(168,255,62,.45) rgba(255,255,255,.04) !important;
  }

  .mgym-mobile-cycle-option-v288,
  .mgym-mobile-assignment-card-v288 {
    flex: 0 0 136px !important;
    min-height: 94px !important;
    position: relative !important;
    padding: 12px !important;
    border-radius: 18px !important;
    border: 1px solid var(--mg-line) !important;
    background: #101010 !important;
    color: var(--mg-text) !important;
    text-align: left !important;
    scroll-snap-align: start !important;
    cursor: pointer !important;
  }

  .mgym-mobile-cycle-option-v288::before,
  .mgym-mobile-assignment-card-v288::before {
    content: "" !important;
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: 0 !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: transparent !important;
  }

  .mgym-mobile-cycle-option-v288.is-active,
  .mgym-mobile-assignment-card-v288.is-selected {
    border-color: var(--mg-lime-line) !important;
    background: #141414 !important;
    box-shadow: inset 0 0 0 1px rgba(168,255,62,.1), 0 0 14px var(--mg-lime-soft) !important;
  }
  .mgym-mobile-cycle-option-v288.is-active::before,
  .mgym-mobile-assignment-card-v288.is-selected::before { background: var(--mg-lime) !important; }

  .mgym-mobile-cycle-option-v288 b,
  .mgym-mobile-assignment-card-v288 b {
    display: block !important;
    color: var(--mg-lime) !important;
    font-family: var(--font-title) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }
  .mgym-mobile-cycle-option-v288 strong {
    display: block !important;
    margin-top: 8px !important;
    color: var(--mg-text) !important;
    font-family: var(--font-title) !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
  }
  .mgym-mobile-cycle-option-v288 small,
  .mgym-mobile-assignment-card-v288 small {
    display: block !important;
    margin-top: 6px !important;
    color: var(--mg-muted) !important;
    font-size: 11px !important;
    line-height: 1.28 !important;
  }

  .mgym-mobile-detail-list-v288 {
    display: grid !important;
    gap: 10px !important;
    margin-top: 10px !important;
  }

  .mgym-mobile-detail-list-v288 > div {
    display: grid !important;
    grid-template-columns: minmax(84px,.36fr) minmax(0,1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 64px !important;
    padding: 13px 16px !important;
    border-radius: 20px !important;
    background: var(--mg-surface-2) !important;
    border: 1px solid var(--mg-line) !important;
  }

  .mgym-mobile-detail-list-v288 span {
    color: var(--mg-lime) !important;
    font-family: var(--font-title) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
  }

  .mgym-mobile-detail-list-v288 strong {
    color: var(--mg-text) !important;
    font-size: 15px !important;
    line-height: 1.32 !important;
    font-weight: 900 !important;
  }

  .mgym-mobile-week-list-v288 {
    display: grid !important;
    gap: 9px !important;
    margin-top: 10px !important;
  }
  .mgym-mobile-week-item-v288 {
    display: grid !important;
    grid-template-columns: 76px minmax(0,1fr) !important;
    gap: 11px !important;
    align-items: center !important;
    min-height: 58px !important;
    padding: 11px 12px !important;
    border-radius: 18px !important;
    background: var(--mg-surface-2) !important;
    border: 1px solid var(--mg-line) !important;
  }
  .mgym-mobile-week-item-v288 b {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    border-radius: 999px !important;
    border: 1px solid var(--mg-lime-line) !important;
    background: var(--mg-lime-soft) !important;
    color: var(--mg-lime) !important;
    font-family: var(--font-title) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }
  .mgym-mobile-week-item-v288 strong { display: block !important; color: var(--mg-text) !important; font-size: 14px !important; font-weight: 900 !important; }
  .mgym-mobile-week-item-v288 small { display: block !important; margin-top: 3px !important; color: var(--mg-lime) !important; font-size: 11px !important; font-weight: 800 !important; }

  .mgym-mobile-accordion-group-v288 {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 16px !important;
  }

  .mgym-mobile-accordion-text-v288 {
    margin: 0 !important;
    color: var(--mg-muted) !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  .mgym-mobile-assignment-track-v288 {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-rows: repeat(2,minmax(84px,auto)) !important;
    grid-auto-columns: calc((100% - 10px) / 2) !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 12px 2px 6px !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mgym-mobile-assignment-card-v288 {
    flex: initial !important;
    min-height: 84px !important;
  }
}

@media (min-width: 821px) {
  #mgymConfigMobileAppV288,
  .mgym-config-mobile-app-v288 {
    display: none !important;
  }
}
/* [MGYM-CONFIG-MOBILE-APP-V288-END] */

/* ============================================================
   [MGYM-CONFIG-CALENDAR-PREMIUM-V290-START]
   MacroGym · Calendario premium interactivo compartido
   Función:
   - Estiliza el calendario de escritorio existente sin tocar app.js.
   - Añade la misma línea visual al calendario móvil tipo app.
   - Fondo uniforme, tarjetas limpias, acento verde lima y detalles cyan.
   ============================================================ */

:root {
  --mgym-cal-bg-dark: #191919;
  --mgym-cal-bg-carbon: #111214;
  --mgym-cal-panel: #17181a;
  --mgym-cal-card: rgba(30, 31, 36, 0.58);
  --mgym-cal-border: rgba(255, 255, 255, 0.07);
  --mgym-cal-border-strong: rgba(255, 255, 255, 0.13);
  --mgym-cal-lime: #a8ff3e;
  --mgym-cal-lime-soft: rgba(168, 255, 62, 0.14);
  --mgym-cal-cyan: #35d6e8;
  --mgym-cal-cyan-soft: rgba(53, 214, 232, 0.14);
  --mgym-cal-amber: #ffb020;
  --mgym-cal-text: #f5f7fb;
  --mgym-cal-muted: #a4a9b3;
  --mgym-cal-muted-2: #6c7280;
}

/* Escritorio: el JS añade esta clase a la sección real del calendario. */
.mgym-calendar-premium-v290 {
  background: #111214 !important;
  border: 1px solid var(--mgym-cal-border) !important;
  border-radius: 24px !important;
  box-shadow: 0 26px 70px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.055) !important;
  color: var(--mgym-cal-text) !important;
  overflow: hidden !important;
}

.mgym-calendar-premium-v290 .mgym-clean-section-title {
  align-items: flex-start !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.mgym-calendar-premium-v290 .mgym-clean-section-title .label {
  width: max-content !important;
  background: rgba(53,214,232,.08) !important;
  color: var(--mgym-cal-cyan) !important;
  border: 1px solid rgba(53,214,232,.28) !important;
  border-radius: 999px !important;
  padding: 5px 10px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.mgym-calendar-premium-v290 .mgym-clean-section-title h3 {
  margin: 8px 0 4px !important;
  color: #fff !important;
  font-size: clamp(26px, 3vw, 42px) !important;
  font-weight: 950 !important;
  line-height: 1.03 !important;
  letter-spacing: -.055em !important;
}

.mgym-calendar-premium-v290 .mgym-clean-section-title .muted {
  color: var(--mgym-cal-muted) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.mgym-calendar-premium-v290 .mgym-clean-calendar-layout {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: 18px !important;
  width: 100% !important;
}

.mgym-calendar-premium-v290 .mgym-clean-calendar-main,
.mgym-calendar-premium-v290 .mgym-clean-calendar-summary,
.mgym-calendar-premium-v290 .calendar-inspector-panel-v290 {
  min-width: 0 !important;
}

.mgym-calendar-premium-v290 .mgym-clean-calendar-main {
  background: rgba(0,0,0,.18) !important;
  border: 1px solid var(--mgym-cal-border) !important;
  border-radius: 20px !important;
  padding: 16px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.mgym-calendar-premium-v290 .mgym-clean-calendar-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
}

.mgym-calendar-premium-v290 .btn.ghost,
.mgym-calendar-premium-v290 .calendar-btn-v290 {
  appearance: none !important;
  background: rgba(255,255,255,.025) !important;
  border: 1px solid var(--mgym-cal-border) !important;
  color: var(--mgym-cal-muted) !important;
  border-radius: 999px !important;
  min-height: 38px !important;
  padding: 0 15px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
  transition: .22s ease !important;
}

.mgym-calendar-premium-v290 .btn.ghost:hover,
.mgym-calendar-premium-v290 .calendar-btn-v290:hover {
  color: #fff !important;
  border-color: rgba(168,255,62,.34) !important;
  background: rgba(168,255,62,.08) !important;
}

.mgym-calendar-premium-v290 .mgym-clean-calendar-title,
.mgym-calendar-premium-v290 [data-mgym-desktop-cal-title] {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 920 !important;
  line-height: 1.1 !important;
  letter-spacing: -.03em !important;
}

.mgym-calendar-premium-v290 .mgym-clean-calendar-title-wrap small,
.mgym-calendar-premium-v290 [data-mgym-desktop-cal-subtitle] {
  color: var(--mgym-cal-muted) !important;
  font-size: 12px !important;
}

.mgym-calendar-premium-v290 .mgym-clean-weekdays,
.mgym-calendar-premium-v290 .desktop-cal-weekdays-v290 {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
  text-align: center !important;
}

.mgym-calendar-premium-v290 .mgym-clean-weekdays span,
.mgym-calendar-premium-v290 .desktop-cal-weekdays-v290 span {
  color: var(--mgym-cal-muted-2) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

.mgym-calendar-premium-v290 .mgym-clean-calendar-grid,
.mgym-calendar-premium-v290 .desktop-cal-grid-v290 {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

.mgym-calendar-premium-v290 .mgym-clean-calendar-grid.is-year-view,
.mgym-calendar-premium-v290 .desktop-cal-grid-v290.is-year-view {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.mgym-calendar-premium-v290 .mgym-clean-day,
.mgym-calendar-premium-v290 .desktop-cal-day-v290 {
  min-height: 88px !important;
  border-radius: 14px !important;
  padding: 8px !important;
  border: 1px solid rgba(255,255,255,.045) !important;
  background: rgba(255,255,255,.026) !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, opacity .2s ease !important;
}

.mgym-calendar-premium-v290 .mgym-clean-day:hover,
.mgym-calendar-premium-v290 .desktop-cal-day-v290:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(168,255,62,.28) !important;
  background: rgba(255,255,255,.045) !important;
}

.mgym-calendar-premium-v290 .mgym-clean-day.is-empty,
.mgym-calendar-premium-v290 .desktop-cal-day-v290.is-empty {
  opacity: .16 !important;
  pointer-events: none !important;
}

.mgym-calendar-premium-v290 .mgym-clean-day.is-planned,
.mgym-calendar-premium-v290 .desktop-cal-day-v290.is-planned {
  border-left: 3px solid var(--meso-accent-color, var(--mgym-cal-cyan)) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(0,0,0,.16)) !important;
}

.mgym-calendar-premium-v290 .mgym-clean-day.is-selected-day,
.mgym-calendar-premium-v290 .desktop-cal-day-v290.is-selected-day {
  border-color: var(--mgym-cal-amber) !important;
  box-shadow: 0 0 0 1px rgba(255,176,32,.26), 0 0 22px rgba(255,176,32,.15) !important;
}

.mgym-calendar-premium-v290 .mgym-clean-day b,
.mgym-calendar-premium-v290 .desktop-cal-day-v290 b {
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.mgym-calendar-premium-v290 .mgym-clean-day-pill,
.mgym-calendar-premium-v290 .desktop-cal-day-pill-v290 {
  display: block !important;
  margin-top: 6px !important;
  color: var(--meso-accent-color, var(--mgym-cal-cyan)) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.mgym-calendar-premium-v290 .mgym-clean-day small,
.mgym-calendar-premium-v290 .desktop-cal-day-v290 small {
  display: block !important;
  margin-top: 4px !important;
  color: var(--mgym-cal-muted) !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
}

.mgym-calendar-premium-v290 .mgym-meso-tone-adaptacion,
.mgym-meso-tone-adaptacion { --meso-accent-color: #35d6e8; }
.mgym-calendar-premium-v290 .mgym-meso-tone-descarga,
.mgym-meso-tone-descarga { --meso-accent-color: #34d399; }
.mgym-calendar-premium-v290 .mgym-meso-tone-carga-1,
.mgym-meso-tone-carga-1 { --meso-accent-color: #a8ff3e; }
.mgym-calendar-premium-v290 .mgym-meso-tone-carga-2,
.mgym-meso-tone-carga-2 { --meso-accent-color: #ec4899; }
.mgym-calendar-premium-v290 .mgym-meso-tone-carga-3,
.mgym-meso-tone-carga-3 { --meso-accent-color: #f59e0b; }
.mgym-calendar-premium-v290 .mgym-meso-tone-carga-4,
.mgym-meso-tone-carga-4 { --meso-accent-color: #3b82f6; }
.mgym-calendar-premium-v290 .mgym-meso-tone-carga-5,
.mgym-meso-tone-carga-5 { --meso-accent-color: #8b5cf6; }

.mgym-calendar-premium-v290 .mgym-clean-summary-card,
.mgym-calendar-premium-v290 .calendar-inspector-panel-v290,
.mgym-calendar-premium-v290 .desktop-cal-meso-card-v290,
.mgym-calendar-premium-v290 .desktop-cal-month-card-v290 {
  background: rgba(0,0,0,.20) !important;
  border: 1px solid var(--mgym-cal-border) !important;
  border-radius: 16px !important;
  padding: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.mgym-calendar-premium-v290 .calendar-inspector-panel-v290 h4,
.mgym-calendar-premium-v290 .desktop-cal-meso-card-v290 strong,
.mgym-calendar-premium-v290 .desktop-cal-month-card-v290 strong {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.mgym-calendar-premium-v290 .calendar-inspector-panel-v290 small,
.mgym-calendar-premium-v290 .desktop-cal-meso-card-v290 span,
.mgym-calendar-premium-v290 .desktop-cal-month-card-v290 span {
  color: var(--mgym-cal-muted) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
}

.mgym-calendar-switcher-v290 {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px !important;
  border-radius: 999px !important;
  border: 1px solid var(--mgym-cal-border) !important;
  background: rgba(0,0,0,.18) !important;
  margin-left: auto !important;
}

.mgym-calendar-switcher-v290 button {
  appearance: none !important;
  border: none !important;
  background: transparent !important;
  color: var(--mgym-cal-muted) !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.mgym-calendar-switcher-v290 button.is-active {
  color: #111 !important;
  background: linear-gradient(135deg, var(--mgym-cal-lime), #79db18) !important;
}

/* Móvil: calendario app exacto / limpio */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .mgym-mobile-stack-v288 {
    width: 100% !important;
    max-width: 100% !important;
    gap: 14px !important;
  }

  .mgym-mobile-card-v288,
  .mgym-mobile-cycle-v288 {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 22px !important;
    border-color: rgba(255,255,255,.055) !important;
    background: #111214 !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.035) !important;
  }

  .mgym-mobile-card-body-v288,
  .mgym-mobile-cycle-content-v288 {
    width: 100% !important;
    padding: 18px 14px !important;
  }

  .mgym-mobile-field-grid-v288,
  .mgym-mobile-kpi-grid-v288,
  .mgym-mobile-structure-grid-v288,
  .mgym-mobile-detail-list-v288,
  .mgym-mobile-routine-library-grid-v288 {
    width: 100% !important;
    max-width: 100% !important;
  }

  .mgym-mobile-assignment-track-v288 {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-rows: repeat(2, auto) !important;
    grid-auto-columns: minmax(236px, 76vw) !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    padding: 6px 2px 18px !important;
    scrollbar-width: none !important;
  }
  .mgym-mobile-assignment-track-v288::-webkit-scrollbar { display: none !important; }

  .mgym-mobile-assignment-card-v288 {
    min-height: 248px !important;
    scroll-snap-align: start !important;
    text-align: left !important;
    border-radius: 22px !important;
    padding: 18px !important;
    background: #15171a !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 28px rgba(0,0,0,.25) !important;
  }

  .mgym-mobile-assignment-card-v288.is-selected {
    border-color: rgba(168,255,62,.72) !important;
    box-shadow: 0 0 0 1px rgba(168,255,62,.20), 0 18px 42px rgba(0,0,0,.36) !important;
  }

  .mgym-mobile-assignment-card-v288 .mgym-mobile-assignment-check-v288 {
    background: var(--mg-lime) !important;
    color: #071007 !important;
    box-shadow: 0 0 18px rgba(168,255,62,.28) !important;
  }

  .mgym-mobile-assignment-data-v288 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .mgym-mobile-calendar-toolbar-v290,
  .mgym-mobile-calendar-shell-v290,
  .mgym-mobile-calendar-main-v290,
  .mgym-mobile-calendar-grid-v290,
  .mgym-mobile-calendar-meso-block-v290,
  .mgym-mobile-calendar-meso-track-v290 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .mgym-mobile-calendar-toolbar-v290 {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 12px 0 16px !important;
  }

  .mgym-calendar-view-switcher-v290 {
    display: flex !important;
    gap: 4px !important;
    padding: 4px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    background: rgba(0,0,0,.22) !important;
  }

  .mgym-calendar-view-switcher-v290 button {
    appearance: none !important;
    border: none !important;
    min-height: 32px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--mg-muted) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
  }

  .mgym-calendar-view-switcher-v290 button.is-active {
    background: linear-gradient(135deg, var(--mg-lime), #78db15) !important;
    color: #0a0f0a !important;
  }

  .mgym-calendar-design-badge-v290 {
    display: inline-flex !important;
    min-height: 32px !important;
    align-items: center !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: rgba(53,214,232,.10) !important;
    border: 1px solid rgba(53,214,232,.22) !important;
    color: var(--mgym-cal-cyan) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
  }

  .mgym-mobile-calendar-meso-track-v290 {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    padding: 6px 2px 16px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
  }
  .mgym-mobile-calendar-meso-track-v290::-webkit-scrollbar { display: none !important; }

  .mgym-mobile-cal-meso-card-v290 {
    flex: 0 0 232px !important;
    scroll-snap-align: start !important;
    border-radius: 20px !important;
    padding: 16px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    background: radial-gradient(circle at 12% 0%, rgba(255,255,255,.055), transparent 42%), #15171a !important;
    color: #fff !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: .22s ease !important;
  }

  .mgym-mobile-cal-meso-card-v290.is-selected {
    border-color: rgba(168,255,62,.65) !important;
    box-shadow: 0 0 0 1px rgba(168,255,62,.16), 0 14px 34px rgba(0,0,0,.34) !important;
  }

  .mgym-mobile-cal-meso-card-v290 small,
  .mgym-mobile-cal-meso-card-v290 span {
    color: var(--mg-muted) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
  }

  .mgym-mobile-cal-meso-card-v290 strong {
    display: block !important;
    margin: 8px 0 4px !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 920 !important;
    letter-spacing: -.025em !important;
  }

  .mgym-mobile-calendar-shell-v290 {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 8px !important;
  }

  .mgym-mobile-calendar-inspector-v290,
  .mgym-mobile-calendar-main-v290 {
    background: rgba(0,0,0,.18) !important;
    border: 1px solid rgba(255,255,255,.065) !important;
    border-radius: 20px !important;
    padding: 12px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
  }

  .mgym-mobile-calendar-nav-v290 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  .mgym-mobile-calendar-nav-v290 button {
    appearance: none !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    background: rgba(255,255,255,.03) !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 900 !important;
  }

  .mgym-mobile-calendar-nav-v290 strong {
    display: block !important;
    color: #fff !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 920 !important;
  }

  .mgym-mobile-calendar-nav-v290 small {
    display: block !important;
    color: var(--mg-muted) !important;
    text-align: center !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .mgym-mobile-calendar-weekdays-v290 {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin-bottom: 8px !important;
  }

  .mgym-mobile-calendar-weekdays-v290 span {
    text-align: center !important;
    color: var(--mg-muted-2) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
  }

  .mgym-mobile-calendar-grid-v290 {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }

  .mgym-mobile-calendar-grid-v290.is-year-view {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .mgym-mobile-cal-day-v290 {
    position: relative !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    border-radius: 9px !important;
    border: 1px solid rgba(255,255,255,.055) !important;
    background: rgba(255,255,255,.025) !important;
    color: #fff !important;
    cursor: pointer !important;
    overflow: hidden !important;
  }

  .mgym-mobile-cal-day-v290.is-empty {
    opacity: .14 !important;
    pointer-events: none !important;
  }

  .mgym-mobile-cal-day-v290.is-planned {
    background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(0,0,0,.14)) !important;
    border-color: rgba(255,255,255,.095) !important;
  }

  .mgym-mobile-cal-day-v290.is-planned::after {
    content: '' !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: var(--meso-accent-color, var(--mgym-cal-cyan)) !important;
    box-shadow: 0 0 7px var(--meso-accent-color, var(--mgym-cal-cyan)) !important;
  }

  .mgym-mobile-cal-day-v290.is-selected-day {
    outline: 2px solid var(--mgym-cal-amber) !important;
    outline-offset: -2px !important;
  }

  .mgym-mobile-cal-day-v290 b {
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }

  .mgym-mobile-cal-day-v290 small,
  .mgym-mobile-cal-day-v290 span {
    display: none !important;
  }

  .mgym-mobile-cal-month-v290 {
    min-height: 82px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    background: rgba(255,255,255,.026) !important;
    padding: 12px !important;
    text-align: left !important;
    color: #fff !important;
  }

  .mgym-mobile-cal-month-v290 strong {
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  .mgym-mobile-cal-month-v290 small,
  .mgym-mobile-cal-month-v290 span {
    display: block !important;
    margin-top: 5px !important;
    color: var(--mg-muted) !important;
    font-size: 10px !important;
  }

  .mgym-mobile-cal-inspector-head-v290 {
    display: flex !important;
    justify-content: space-between !important;
    gap: 8px !important;
    align-items: flex-start !important;
    border-bottom: 1px solid rgba(255,255,255,.055) !important;
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
  }

  .mgym-mobile-cal-inspector-head-v290 span {
    color: var(--mg-muted) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
  }

  .mgym-mobile-cal-inspector-head-v290 strong {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 920 !important;
  }

  .mgym-mobile-cal-inspector-list-v290 {
    display: grid !important;
    gap: 8px !important;
  }

  .mgym-mobile-cal-inspector-list-v290 div {
    display: flex !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 42px !important;
    align-items: center !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.055) !important;
    background: rgba(255,255,255,.025) !important;
  }

  .mgym-mobile-cal-inspector-list-v290 span {
    color: var(--mg-lime) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .mgym-mobile-cal-inspector-list-v290 strong {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-align: right !important;
  }
}
/* [MGYM-CONFIG-CALENDAR-PREMIUM-V290-END] */

/* ============================================================
   [MGYM-CONFIG-MOBILE-APP-V291-FIXES-START]
   Función:
   - Ajuste final pedido por el usuario: interiores al 100%, Organización semanal
     con días reales dentro, tarjetas oscuras sin gris, rutinas en carrusel,
     calendario más claro y cuadrado.
   - No toca lógica ni app.js global.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288.mgym-config-mobile-app-v288 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 6px 74px !important;
    margin: 0 !important;
    gap: 14px !important;
  }

  .mgym-config-mobile-app-v288 .mgym-mobile-stack-v288,
  .mgym-config-mobile-app-v288 .mgym-mobile-card-v288,
  .mgym-config-mobile-app-v288 .mgym-mobile-cycle-v288,
  .mgym-config-mobile-app-v288 .mgym-mobile-card-body-v288,
  .mgym-config-mobile-app-v288 .mgym-mobile-cycle-content-v288,
  .mgym-config-mobile-app-v288 .mgym-mobile-card-body-v288 > *,
  .mgym-config-mobile-app-v288 .mgym-mobile-cycle-content-v288 > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .mgym-config-mobile-app-v288 .mgym-mobile-card-v288,
  .mgym-config-mobile-app-v288 .mgym-mobile-cycle-v288 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: #111214 !important;
    border-color: rgba(255,255,255,.065) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04) !important;
  }

  .mgym-config-mobile-app-v288 .mgym-mobile-card-body-v288 {
    padding: 18px 14px !important;
  }

  /* Organización semanal: días reales dentro del mismo apartado */
  .mgym-mobile-weekdays-inside-v291 {
    display: grid !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 12px 0 14px !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background: #141414 !important;
    border: 1px solid rgba(255,255,255,.065) !important;
  }

  .mgym-mobile-inline-head-v291 {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .mgym-mobile-inline-head-v291 span,
  .mgym-mobile-selected-days-v291 span {
    color: var(--mg-lime) !important;
    font-family: var(--font-title) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  .mgym-mobile-inline-head-v291 strong,
  .mgym-mobile-selected-days-v291 strong {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  .mgym-mobile-weekday-grid-v291,
  .mgym-mobile-weekday-grid-v288 {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 5px !important;
    width: 100% !important;
  }

  .mgym-mobile-weekday-v288 {
    appearance: none !important;
    min-width: 0 !important;
    min-height: 48px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    background: rgba(255,255,255,.025) !important;
    color: #fff !important;
    display: grid !important;
    place-items: center !important;
    gap: 1px !important;
    padding: 5px 2px !important;
    cursor: pointer !important;
  }

  .mgym-mobile-weekday-v288 b {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }

  .mgym-mobile-weekday-v288 small {
    display: none !important;
  }

  .mgym-mobile-weekday-v288.is-selected {
    background: var(--mg-lime) !important;
    border-color: var(--mg-lime) !important;
    color: #0d120c !important;
    box-shadow: 0 0 16px rgba(168,255,62,.22) !important;
  }

  .mgym-mobile-weekday-v288.is-selected b {
    color: #0d120c !important;
  }

  .mgym-mobile-field-v291--split {
    margin-top: 0 !important;
  }

  /* Selects: método base y predeterminados legibles */
  .mgym-config-mobile-app-v288 .mgym-mobile-field-v288 select,
  .mgym-config-mobile-app-v288 .mgym-mobile-field-v288 input,
  .mgym-config-mobile-app-v288 .mgym-mobile-field-v288 textarea {
    background-color: #101112 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border-color: rgba(255,255,255,.09) !important;
  }

  .mgym-config-mobile-app-v288 .mgym-mobile-field-v288 select option {
    background: #101112 !important;
    color: #fff !important;
  }

  /* Objetivo activo: sin desplegables, información extendida y estética oscura/lima */
  .mgym-mobile-info-grid-v291 {
    display: grid !important;
    gap: 10px !important;
    margin-top: 16px !important;
    width: 100% !important;
  }

  .mgym-mobile-info-card-v291 {
    width: 100% !important;
    border-radius: 16px !important;
    padding: 14px !important;
    background: #101112 !important;
    border: 1px solid rgba(168,255,62,.15) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
  }

  .mgym-mobile-info-card-v291 small {
    display: block !important;
    color: var(--mg-lime) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
  }

  .mgym-mobile-info-card-v291 strong {
    display: block !important;
    margin-top: 5px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 920 !important;
  }

  .mgym-mobile-info-card-v291 p {
    margin: 7px 0 0 !important;
    color: var(--mg-muted) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  /* Mesociclos/microciclos: comprimidos por defecto, encabezados sobrios */
  .mgym-mobile-cycle-v288:not(.is-open) .mgym-mobile-cycle-panel-v288 {
    grid-template-rows: 0fr !important;
  }

  .mgym-mobile-cycle-trigger-v288 {
    background: #111214 !important;
    border-bottom: 1px solid transparent !important;
  }

  .mgym-mobile-cycle-v288.is-open .mgym-mobile-cycle-trigger-v288 {
    border-bottom-color: rgba(168,255,62,.10) !important;
  }

  .mgym-mobile-cycle-option-v288 {
    border-radius: 16px !important;
    background: #101112 !important;
    border-color: rgba(255,255,255,.075) !important;
  }

  .mgym-mobile-cycle-option-v288.is-active {
    background: #141614 !important;
    border-color: rgba(168,255,62,.58) !important;
  }

  .mgym-mobile-detail-list-v288 > div,
  .mgym-mobile-structure-grid-v288 > div,
  .mgym-mobile-kpi-grid-v288 > div {
    background: #101112 !important;
    border-color: rgba(255,255,255,.065) !important;
    border-radius: 16px !important;
  }

  /* Asignación: tarjetas oscuras, rectas y consistentes */
  .mgym-mobile-assignment-track-v288 {
    grid-auto-columns: minmax(238px, 78vw) !important;
    grid-template-rows: repeat(2, auto) !important;
    gap: 12px !important;
    padding: 8px 2px 18px !important;
  }

  .mgym-mobile-assignment-card-v288 {
    min-height: 236px !important;
    border-radius: 16px !important;
    background: #101112 !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 24px rgba(0,0,0,.26) !important;
  }

  .mgym-mobile-assignment-card-v288.is-selected {
    background: #111611 !important;
    border-color: rgba(168,255,62,.72) !important;
  }

  .mgym-mobile-assignment-data-v288 > div,
  .mgym-mobile-assignment-routine-v288 {
    background: #141414 !important;
    border: 1px solid rgba(255,255,255,.055) !important;
    border-radius: 12px !important;
  }

  /* Biblioteca de rutinas: carrusel horizontal, no grid roto */
  .mgym-mobile-routine-library-grid-v288 {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 8px 2px 16px !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .mgym-mobile-routine-library-grid-v288::-webkit-scrollbar {
    display: none !important;
  }

  .mgym-mobile-routine-card-v288 {
    flex: 0 0 min(78vw, 310px) !important;
    min-height: 148px !important;
    scroll-snap-align: start !important;
    border-radius: 16px !important;
    background: #101112 !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    padding: 16px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 24px rgba(0,0,0,.24) !important;
  }

  .mgym-mobile-routine-card-v288 span {
    color: var(--mg-lime) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
  }

  .mgym-mobile-routine-card-v288 strong {
    display: block !important;
    margin-top: 8px !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    font-weight: 920 !important;
  }

  .mgym-mobile-routine-card-v288 small {
    display: block !important;
    margin-top: 8px !important;
    color: var(--mg-muted) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  /* Calendario: más claro, cuadrado y compacto para que quepan todos los días */
  .mgym-mobile-calendar-main-v290,
  .mgym-mobile-calendar-inspector-v290 {
    background: #101112 !important;
    border-radius: 16px !important;
    border-color: rgba(255,255,255,.07) !important;
  }

  .mgym-mobile-calendar-grid-v290 {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 3px !important;
  }

  .mgym-mobile-calendar-weekdays-v290 {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 3px !important;
  }

  .mgym-mobile-calendar-weekdays-v290 span {
    font-size: 8px !important;
    color: #8b919b !important;
  }

  .mgym-mobile-cal-day-v290 {
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    border-radius: 7px !important;
    padding: 0 !important;
    background: #151515 !important;
    border-color: rgba(255,255,255,.055) !important;
  }

  .mgym-mobile-cal-day-v290 b {
    font-size: 11px !important;
    color: #fff !important;
  }

  .mgym-mobile-cal-day-v290.is-planned {
    background: #191b1d !important;
    border-left: 2px solid var(--meso-accent-color, var(--mg-lime)) !important;
  }

  .mgym-mobile-cal-day-v290.is-planned::after {
    width: 4px !important;
    height: 4px !important;
    margin-top: 1px !important;
  }

  .mgym-mobile-cal-day-v290.is-selected-day {
    outline: 2px solid var(--mg-lime) !important;
    box-shadow: 0 0 12px rgba(168,255,62,.20) !important;
  }
}

@media (min-width: 821px) {
  .mgym-calendar-premium-v290 .desktop-cal-day-v290,
  .mgym-calendar-premium-v290 .mgym-clean-day {
    border-radius: 10px !important;
  }

  .mgym-calendar-premium-v290 .desktop-cal-day-v290.is-planned,
  .mgym-calendar-premium-v290 .mgym-clean-day.is-planned {
    border-left: 3px solid var(--meso-accent-color, var(--mgym-cal-lime)) !important;
  }
}
/* [MGYM-CONFIG-MOBILE-APP-V291-FIXES-END] */

/* ============================================================
   [MGYM-CONFIG-MOBILE-V292-FINAL-FIXES-START]
   MacroGym · Remate visual/funcional móvil tipo app.
   Función:
   - Interior al 100% útil en todos los bloques.
   - Asignación de rutinas conectada con botón aplicar.
   - Rutinas en carrusel con etiquetas y ejercicios compactos.
   - Último bloque integrado en la estética oscura/lima.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288,
  #mgymConfigMobileAppV288 * {
    box-sizing: border-box !important;
  }

  #mgymConfigMobileAppV288 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 4px 96px !important;
    margin: 0 auto !important;
    overflow-x: hidden !important;
    background: #191919 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-stack-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-card-body-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-content-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-card-body-v288 > *,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-content-v288 > *,
  #mgymConfigMobileAppV288 .mgym-mobile-field-grid-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-kpi-grid-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-structure-grid-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-detail-list-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-assignment-track-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-routine-library-grid-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-calendar-shell-v290,
  #mgymConfigMobileAppV288 .mgym-mobile-calendar-main-v290,
  #mgymConfigMobileAppV288 .mgym-mobile-calendar-grid-v290,
  #mgymConfigMobileAppV288 .mgym-mobile-saved-placeholder-v288 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-v288 {
    border-radius: 18px !important;
    background: #101112 !important;
    border: 1px solid rgba(255,255,255,.065) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 14px 34px rgba(0,0,0,.24) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-body-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-content-v288 {
    padding: 16px 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-field-v288 select,
  #mgymConfigMobileAppV288 .mgym-mobile-field-v288 input,
  #mgymConfigMobileAppV288 .mgym-mobile-field-v288 textarea {
    color: #ffffff !important;
    background: #0b0c0d !important;
    border-color: rgba(255,255,255,.10) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-field-v288 select option {
    color: #ffffff !important;
    background: #101112 !important;
  }

  /* Asignación de rutinas: selección + botón aplicar */
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--assignment {
    background: #101112 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-track-v288 {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-rows: repeat(2, auto) !important;
    grid-auto-columns: minmax(242px, 78vw) !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 8px 2px 18px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-track-v288::-webkit-scrollbar {
    display: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-card-v292 {
    border-radius: 14px !important;
    background: #0d0f10 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    padding: 15px !important;
    min-height: 238px !important;
    color: #ffffff !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-card-v292.is-selected {
    background: #111610 !important;
    border-color: rgba(168,255,62,.72) !important;
    box-shadow: 0 0 0 1px rgba(168,255,62,.16), 0 14px 32px rgba(0,0,0,.30) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-title-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-assignment-card-v292 b {
    color: #ffffff !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-badge-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-routine-status-v292 {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    border-radius: 999px !important;
    padding: 5px 9px !important;
    background: rgba(168,255,62,.10) !important;
    border: 1px solid rgba(168,255,62,.24) !important;
    color: #a8ff3e !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-data-v288 > div,
  #mgymConfigMobileAppV288 .mgym-mobile-assignment-routine-v288 {
    border-radius: 10px !important;
    background: #141515 !important;
    border: 1px solid rgba(255,255,255,.06) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-routine-v288 b {
    color: #a8ff3e !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-apply-panel-v292 {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 12px !important;
    padding: 14px !important;
    border-radius: 14px !important;
    background: #0d0f10 !important;
    border: 1px solid rgba(168,255,62,.18) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-apply-panel-v292 span,
  #mgymConfigMobileAppV288 .mgym-mobile-assignment-apply-panel-v292 small {
    display: block !important;
    color: #8f968d !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-assignment-apply-panel-v292 strong {
    display: block !important;
    margin: 5px 0 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-apply-routine-button-v292 {
    width: 100% !important;
    min-height: 48px !important;
    border: none !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, #a8ff3e, #79db18) !important;
    color: #071007 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    letter-spacing: -.01em !important;
    cursor: pointer !important;
    box-shadow: 0 12px 28px rgba(168,255,62,.18) !important;
  }

  /* Biblioteca: tarjetas con etiqueta, ejercicios y carrusel */
  #mgymConfigMobileAppV288 .mgym-mobile-library-tabs-v288 {
    width: 100% !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-library-grid-v288 {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 8px 2px 18px !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-library-grid-v288::-webkit-scrollbar {
    display: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-card-v292 {
    appearance: none !important;
    flex: 0 0 min(82vw, 318px) !important;
    min-height: 260px !important;
    scroll-snap-align: start !important;
    text-align: left !important;
    border-radius: 14px !important;
    background: #0d0f10 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    padding: 15px !important;
    color: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 12px 28px rgba(0,0,0,.25) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-card-v292.is-active {
    border-color: rgba(168,255,62,.72) !important;
    background: #111610 !important;
    box-shadow: 0 0 0 1px rgba(168,255,62,.16), 0 16px 32px rgba(0,0,0,.32) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-card-v292.is-compatible .mgym-mobile-routine-status-v292 {
    color: #ffffff !important;
    border-color: rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.055) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-card-v292 strong {
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.18 !important;
    margin: 10px 0 6px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-card-v292 small {
    color: #aeb4aa !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-exercise-list-v292 {
    display: grid !important;
    gap: 7px !important;
    padding: 0 !important;
    margin: 12px 0 0 !important;
    list-style: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-exercise-list-v292 li {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    min-width: 0 !important;
    padding: 8px 9px !important;
    border-radius: 10px !important;
    background: #141515 !important;
    border: 1px solid rgba(255,255,255,.055) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-exercise-list-v292 b {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 850 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-routine-exercise-list-v292 em {
    color: #a8ff3e !important;
    font-style: normal !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  /* Calendario: días cuadrados y lectura más clara */
  #mgymConfigMobileAppV288 .mgym-mobile-calendar-grid-v290 {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cal-day-v290 {
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    padding: 4px 2px !important;
    border-radius: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cal-day-v290 b {
    font-size: 11px !important;
    line-height: 1 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cal-day-v290 small,
  #mgymConfigMobileAppV288 .mgym-mobile-cal-day-v290 span {
    display: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cal-day-v290.is-planned::after {
    content: '' !important;
    width: 5px !important;
    height: 5px !important;
    margin-top: 4px !important;
    border-radius: 999px !important;
    background: #a8ff3e !important;
    box-shadow: 0 0 8px rgba(168,255,62,.45) !important;
  }

  /* Último bloque integrado */
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--saved {
    background: #101112 !important;
    border-color: rgba(168,255,62,.12) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-saved-placeholder-v288 {
    background: #0d0f10 !important;
    border: 1px solid rgba(168,255,62,.16) !important;
    border-radius: 14px !important;
    padding: 16px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-saved-placeholder-v288 span {
    color: #a8ff3e !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-saved-placeholder-v288 strong {
    color: #ffffff !important;
  }
}
/* [MGYM-CONFIG-MOBILE-V292-FINAL-FIXES-END] */

/* ============================================================
   [MGYM-CONFIG-MOBILE-APP-SAFE-SCOPE-START]
   MacroGym · Configuración móvil · alcance seguro
   Función:
   - No toca html, body, header, masthead, page, main ni wrappers globales.
   - Ajusta el ancho solo desde #mgym-config-top hacia dentro.
   - Mantiene carruseles contenidos dentro de su bloque.
   ============================================================ */

@media (max-width: 820px) {
  /* [MGYM-SAFE-CONFIG-ROOT-START] */
  #mgym-config-top,
  #mgym-config-top.mgym-ent-page,
  #mgym-config-top.mgym-html-config-page,
  #mgym-config-top.mgym-ent-page.mgym-html-config-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    background: #191919 !important;
  }

  #mgym-config-top > section,
  #mgym-config-top > section > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  /* [MGYM-SAFE-CONFIG-ROOT-END] */

  /* [MGYM-SAFE-MOBILE-APP-WIDTH-START] */
  #mgymConfigMobileAppV288,
  #mgym-config-top .mgym-config-mobile-app-v288 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px 6px 96px !important;
    overflow-x: hidden !important;
    background: #191919 !important;
    box-sizing: border-box !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-stack-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-card-body-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-content-v288 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-body-v288,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-content-v288 {
    overflow-x: hidden !important;
  }
  /* [MGYM-SAFE-MOBILE-APP-WIDTH-END] */

  /* [MGYM-MOBILE-ORGANIZATION-ORDER-START]
     Bloque Organización semanal:
     - El selector de división semanal queda arriba.
     - La selección de días reales queda debajo.
     - El resumen técnico vuelve a mostrarse como tarjetas, no como texto pegado.
     Alcance: solo vista móvil de Configuración.
  */
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-weekdays-inside-v291 {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 16px 0 18px !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: #111214 !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-field-v291--split {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-days-panel-v288 {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 13px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background: #0c0d0e !important;
    border: 1px solid rgba(255,255,255,.065) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-inline-head-v291,
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-selected-days-v291 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-selected-days-v291 {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-selected-days-v291 strong {
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-weekday-grid-v291,
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-weekday-grid-v288 {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-weekday-v288 {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 5px 0 !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-structure-grid-v288 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 14px 0 0 !important;
    box-sizing: border-box !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-structure-grid-v288 > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 92px !important;
    padding: 13px !important;
    border-radius: 18px !important;
    background: #0c0d0e !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-structure-grid-v288 span,
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-structure-grid-v288 strong,
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-structure-grid-v288 small {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-structure-grid-v288 span {
    color: #a8ff3e !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-structure-grid-v288 strong {
    color: #f4f5f7 !important;
    font-size: clamp(17px, 4vw, 22px) !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-structure-grid-v288 small {
    color: #aeb4be !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }
  /* [MGYM-MOBILE-ORGANIZATION-ORDER-END] */

  /* [MGYM-SAFE-CAROUSELS-START]
     Scroll horizontal permitido solo en carruseles internos.
  */
  #mgymConfigMobileAppV288 :is(
    .mgym-mobile-carousel-track-v288,
    .mgym-mobile-assignment-track-v288,
    .mgym-mobile-routine-library-grid-v288,
    .mgym-mobile-calendar-meso-track-v290
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }
  /* [MGYM-SAFE-CAROUSELS-END] */
}

/* ============================================================
   [MGYM-CONFIG-MOBILE-APP-SAFE-SCOPE-END]
   ============================================================ */

/* ============================================================
   [MGYM-MOBILE-DAYS-AND-DROPDOWNS-UX-START]
   MacroGym · Configuración móvil · selección de días + desplegables
   Alcance:
   - Solo vista móvil de Configuración.
   - No toca lógica, app.js global, escritorio ni campos reales.
   - Refuerza el estado visual de días seleccionados y convierte
     Mesociclos/Microciclos/Semana en desplegables negros/cuadrados.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-weekday-v288 {
    position: relative !important;
    isolation: isolate !important;
    min-height: 44px !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    color: #f4f5f7 !important;
    transform: translateZ(0) scale(1) !important;
    transition:
      transform .18s cubic-bezier(.22,.61,.36,1),
      background .22s cubic-bezier(.22,.61,.36,1),
      border-color .22s cubic-bezier(.22,.61,.36,1),
      box-shadow .22s cubic-bezier(.22,.61,.36,1),
      color .22s cubic-bezier(.22,.61,.36,1) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-weekday-v288::after {
    content: "" !important;
    position: absolute !important;
    inset: 5px !important;
    z-index: -1 !important;
    border-radius: 10px !important;
    background: transparent !important;
    opacity: 0 !important;
    transform: scale(.82) !important;
    transition:
      opacity .22s cubic-bezier(.22,.61,.36,1),
      transform .22s cubic-bezier(.22,.61,.36,1),
      background .22s cubic-bezier(.22,.61,.36,1) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-weekday-v288:active {
    transform: translateZ(0) scale(.94) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-weekday-v288.is-selected {
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
    color: #081008 !important;
    transform: translateZ(0) scale(1.06) !important;
    box-shadow:
      0 0 0 2px rgba(168,255,62,.16),
      0 8px 18px rgba(168,255,62,.22),
      inset 0 1px 0 rgba(255,255,255,.34) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-weekday-v288.is-selected::after {
    opacity: 1 !important;
    transform: scale(1) !important;
    background: rgba(255,255,255,.22) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-weekday-v288.is-selected b {
    color: #081008 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-selected-days-v291 strong {
    color: #f4f5f7 !important;
    transition: color .22s cubic-bezier(.22,.61,.36,1), transform .22s cubic-bezier(.22,.61,.36,1) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--structure .mgym-mobile-selected-days-v291 strong:not(:empty) {
    color: #ffffff !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-v288 {
    border-radius: 14px !important;
    background: #070808 !important;
    border: 1px solid rgba(168,255,62,.18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 22px rgba(0,0,0,.22) !important;
    overflow: hidden !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-trigger-v288 {
    min-height: 76px !important;
    padding: 14px !important;
    border-radius: 0 !important;
    background: #070808 !important;
    border: 0 !important;
    border-left: 3px solid #a8ff3e !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-v288.is-open .mgym-mobile-cycle-trigger-v288 {
    background: #0a0c0a !important;
    border-bottom: 1px solid rgba(168,255,62,.16) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-trigger-v288 small {
    color: #a8ff3e !important;
    font-size: 10px !important;
    letter-spacing: .09em !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-trigger-v288 strong {
    color: #a8ff3e !important;
    font-size: clamp(16px, 4.2vw, 20px) !important;
    letter-spacing: -.02em !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-trigger-v288 span {
    color: #b8bcc4 !important;
    font-size: 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-trigger-v288 i {
    width: 30px !important;
    height: 30px !important;
    border-radius: 10px !important;
    background: rgba(168,255,62,.10) !important;
    border: 1px solid rgba(168,255,62,.28) !important;
    color: #a8ff3e !important;
    box-shadow: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-content-v288 {
    background: #070808 !important;
    border-top: 1px solid rgba(168,255,62,.12) !important;
  }
}
/* [MGYM-MOBILE-DAYS-AND-DROPDOWNS-UX-END] */

/* ============================================================
   [MGYM-MOBILE-HERO-SESSION-ROUTE-START]
   MacroGym · Aviso compacto del primer bloque móvil
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - No toca body, header, escritorio ni lógica.
   - Coloca el aviso debajo del subtítulo y compacta píldoras <=463px.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288 {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 14px 14px !important;
    box-sizing: border-box !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)), #111214 !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.20) !important;
    overflow: hidden !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
    background: #e5e7eb !important;
    color: #050505 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.10) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages {
    min-width: 0 !important;
    margin: 0 !important;
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 12.5px !important;
    line-height: 1.38 !important;
    font-weight: 850 !important;
    letter-spacing: -.015em !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-card-body-v288 {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-meta-row-v288 {
    gap: 6px !important;
    margin-bottom: 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-pill-v288 {
    min-height: 22px !important;
    padding: 0 7px !important;
    font-size: 8.5px !important;
    letter-spacing: .025em !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--hero h2 {
    font-size: 21px !important;
    line-height: 1.08 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-lead-v288 {
    font-size: 11px !important;
    line-height: 1.38 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288 {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 9px !important;
    margin-top: 11px !important;
    padding: 11px 10px !important;
    border-radius: 15px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages {
    font-size: 10.8px !important;
    line-height: 1.32 !important;
    font-weight: 800 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-chip-row-v288 {
    gap: 6px !important;
    margin-top: 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-chip-row-v288 button {
    min-height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 8.8px !important;
    letter-spacing: .01em !important;
    line-height: 1 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-secondary-button-v288 {
    min-height: 42px !important;
    margin-top: 12px !important;
    border-radius: 15px !important;
    font-size: 9.8px !important;
  }
}
/* [MGYM-MOBILE-HERO-SESSION-ROUTE-END] */

/* ============================================================
   [MGYM-MOBILE-HERO-SESSION-ROUTE-ROTATOR-UX-START]
   MacroGym · Animación de avisos rotativos del primer bloque móvil
   Alcance: solo #mgymConfigMobileAppV288.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    min-height: 54px !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages p {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 12.5px !important;
    line-height: 1.38 !important;
    font-weight: 850 !important;
    letter-spacing: -.015em !important;
    opacity: 0 !important;
    transform: translateY(8px) !important;
    transition: opacity .34s ease, transform .34s ease !important;
    pointer-events: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages p.is-active {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages {
    min-height: 50px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages p {
    font-size: 10.8px !important;
    line-height: 1.32 !important;
    font-weight: 800 !important;
  }
}
/* [MGYM-MOBILE-HERO-SESSION-ROUTE-ROTATOR-UX-END] */

/* ============================================================
   [MGYM-MOBILE-HERO-SESSION-ROUTE-FEATURED-START]
   MacroGym · Aviso rotativo más visible en primer bloque móvil
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - No toca body, header, escritorio ni lógica.
   - Hace el aviso más grande y llamativo para clientes.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288 {
    position: relative !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 16px !important;
    margin: 18px 0 18px !important;
    padding: 18px 18px !important;
    min-height: 104px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(168,255,62,.34) !important;
    background:
      radial-gradient(circle at 8% 18%, rgba(168,255,62,.16), transparent 34%),
      linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
      #101112 !important;
    box-shadow:
      0 18px 36px rgba(0,0,0,.34),
      0 0 0 1px rgba(255,255,255,.035),
      0 0 28px rgba(168,255,62,.12) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 5px !important;
    background: linear-gradient(180deg, #a8ff3e, rgba(168,255,62,.18)) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__icon {
    width: 56px !important;
    height: 56px !important;
    border-radius: 18px !important;
    font-size: 22px !important;
    background:
      radial-gradient(circle at 35% 28%, #ffffff, #dfe5ec 72%),
      #e5e7eb !important;
    color: #050505 !important;
    box-shadow:
      inset 0 -2px 0 rgba(0,0,0,.12),
      0 10px 22px rgba(0,0,0,.30),
      0 0 22px rgba(168,255,62,.18) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages {
    min-height: 72px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages p {
    font-size: 15px !important;
    line-height: 1.42 !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
    text-wrap: balance !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages p::first-letter {
    color: #a8ff3e !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288 {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 12px !important;
    margin: 14px 0 16px !important;
    padding: 15px 13px 15px 14px !important;
    min-height: 96px !important;
    border-radius: 20px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 16px !important;
    font-size: 19px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages {
    min-height: 68px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-session-route-v288__messages p {
    font-size: 13.2px !important;
    line-height: 1.38 !important;
    font-weight: 900 !important;
  }
}
/* [MGYM-MOBILE-HERO-SESSION-ROUTE-FEATURED-END] */

/* ============================================================
   [MGYM-MOBILE-PLAN-SUMMARY-V296-START]
   MacroGym · Resumen único del bloque Configura tu plan
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - Un solo bloque de lectura, sin grid de tarjetas internas.
   - No toca escritorio, body, header ni lógica.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 18px !important;
    padding: 16px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(168,255,62,.24) !important;
    background:
      radial-gradient(circle at 10% 0%, rgba(168,255,62,.12), transparent 36%),
      linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
      #0b0c0d !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.04),
      0 14px 28px rgba(0,0,0,.26) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__head {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 0 13px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__head span {
    color: #a8ff3e !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__head strong {
    color: #f4f5f7 !important;
    font-size: 18px !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    letter-spacing: -.03em !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__head small {
    color: rgba(244,245,247,.66) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__body {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 14px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    background: rgba(255,255,255,.026) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
    box-sizing: border-box !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__body > strong {
    display: block !important;
    color: #f4f5f7 !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__body > p {
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(244,245,247,.70) !important;
    font-size: 12.5px !important;
    line-height: 1.34 !important;
    font-weight: 780 !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__body > p:nth-of-type(1),
  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__body > p:nth-of-type(2) {
    color: rgba(168,255,62,.92) !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296 {
    margin: 12px 0 16px !important;
    padding: 13px !important;
    border-radius: 19px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__head strong {
    font-size: 16px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__body {
    padding: 12px !important;
    border-radius: 16px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__body > strong {
    font-size: 13.5px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-plan-summary-v296__body > p {
    font-size: 11.8px !important;
  }
}
/* [MGYM-MOBILE-PLAN-SUMMARY-V296-END] */

/* ============================================================
   [MGYM-MOBILE-METHOD-BOXES-DESKTOP-MIRROR-START]
   MacroGym · Box de métricas móvil igual que escritorio
   Alcance:
   - Solo #mgymConfigMobileAppV288.
   - Oculta el box antiguo de descanso entre series/rondas si quedó en DOM.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 [data-mgym-mobile-prescription="restBetween"] {
    display: none !important;
  }

  #mgymConfigMobileAppV288 [data-mgym-mobile-prescription="restBetween"] {
    visibility: hidden !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-kpi-grid-v288[data-mgym-mobile-prescription-grid] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-kpi-grid-v288[data-mgym-mobile-prescription-grid] > div {
    min-width: 0 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-kpi-grid-v288[data-mgym-mobile-prescription-grid] span {
    overflow-wrap: anywhere !important;
  }
}
/* [MGYM-MOBILE-METHOD-BOXES-DESKTOP-MIRROR-END] */

/* ============================================================
   [MGYM-MOBILE-METHOD-SIX-FIELDS-UI-START]
   MacroGym · Ajuste visual de los 6 campos de métodos en móvil
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-field-grid-v288--method-mirror {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-field-grid-v288--method-mirror .mgym-mobile-field-v288 {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-field-grid-v288--method-mirror select,
  #mgymConfigMobileAppV288 .mgym-mobile-field-grid-v288--method-mirror input {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}
/* [MGYM-MOBILE-METHOD-SIX-FIELDS-UI-END] */

/* ============================================================
   [MGYM-MOBILE-METHOD-INFO-SCROLL-BOTTOM-SAVE-START]
   MacroGym · Métodos móvil: Guardar abajo + tarjetas técnicas en scroll lateral
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - No toca escritorio, body, header ni lógica.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom {
    margin: 18px 0 0 !important;
    padding: 14px 14px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(168,255,62,.20) !important;
    background:
      radial-gradient(circle at 10% 0%, rgba(168,255,62,.10), transparent 36%),
      rgba(255,255,255,.035) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.04),
      0 12px 24px rgba(0,0,0,.22) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom span {
    max-width: 58% !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom button {
    min-width: 108px !important;
    min-height: 48px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288.mgym-mobile-info-grid-v291 {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 2px 2px 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x mandatory !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288.mgym-mobile-info-grid-v291::-webkit-scrollbar {
    height: 4px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288.mgym-mobile-info-grid-v291::-webkit-scrollbar-thumb {
    background: rgba(168,255,62,.52) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 {
    flex: 0 0 min(82vw, 340px) !important;
    min-width: min(82vw, 340px) !important;
    min-height: 188px !important;
    scroll-snap-align: start !important;
    padding: 20px 18px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(168,255,62,.28) !important;
    background:
      radial-gradient(circle at 15% 0%, rgba(168,255,62,.10), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.014)),
      #101112 !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.04),
      0 16px 28px rgba(0,0,0,.26) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 small {
    display: block !important;
    margin: 0 0 10px !important;
    color: rgba(168,255,62,.96) !important;
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 strong {
    display: block !important;
    margin: 0 0 10px !important;
    color: #f4f5f7 !important;
    font-size: 20px !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
    letter-spacing: -.035em !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 p {
    margin: 0 !important;
    color: rgba(244,245,247,.74) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 760 !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom {
    padding: 12px !important;
    border-radius: 16px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom span {
    max-width: 56% !important;
    font-size: 10.8px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom button {
    min-width: 94px !important;
    min-height: 44px !important;
    font-size: 10px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 {
    flex-basis: 84vw !important;
    min-width: 84vw !important;
    min-height: 176px !important;
    padding: 18px 16px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 strong {
    font-size: 18px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 p {
    font-size: 12.2px !important;
  }
}
/* [MGYM-MOBILE-METHOD-INFO-SCROLL-BOTTOM-SAVE-END] */

/* ============================================================
   [MGYM-MOBILE-INFO-DOTS-SAVE-CHECK-START]
   MacroGym · Dots para tarjetas informativas + check guardado real
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - No toca escritorio, body, header ni lógica global.
   ============================================================ */
@media (max-width: 820px) {
  /* Quita la barra inferior del carrusel de tarjetas informativas */
  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288.mgym-mobile-info-grid-v291 {
    scrollbar-width: none !important;
    padding-bottom: 4px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288.mgym-mobile-info-grid-v291::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* Puntos inferiores: un punto por tarjeta */
  #mgymConfigMobileAppV288 .mgym-mobile-info-dots-v296 {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 10px 0 2px !important;
    padding: 0 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296 {
    width: 8px !important;
    height: 8px !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 0 !important;
    background: rgba(255,255,255,.22) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.08) !important;
    cursor: pointer !important;
    transition:
      width .22s ease,
      background .22s ease,
      box-shadow .22s ease,
      transform .22s ease !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296.is-active {
    width: 22px !important;
    background: #a8ff3e !important;
    box-shadow:
      0 0 0 1px rgba(168,255,62,.32),
      0 0 14px rgba(168,255,62,.36) !important;
    transform: translateY(-1px) !important;
  }

  /* Botón real de guardado abajo */
  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "text button"
      "check check" !important;
    row-gap: 8px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom > span {
    grid-area: text !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom > button {
    grid-area: button !important;
    transition:
      background .22s ease,
      color .22s ease,
      border-color .22s ease,
      box-shadow .22s ease,
      transform .18s ease !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom > button.is-saving {
    opacity: .86 !important;
    pointer-events: none !important;
    transform: scale(.98) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileLogicV288 .mgym-mobile-action-bar-v288--bottom > button.is-saved {
    background: #a8ff3e !important;
    border-color: rgba(168,255,62,.88) !important;
    color: #071007 !important;
    box-shadow:
      0 0 0 1px rgba(168,255,62,.36),
      0 0 18px rgba(168,255,62,.28) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-save-check-v296 {
    grid-area: check !important;
    display: none !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 20px !important;
    color: rgba(244,245,247,.78) !important;
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-save-check-v296.is-visible {
    display: flex !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-save-check-v296::before {
    content: "✓" !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 999px !important;
    background: #a8ff3e !important;
    color: #071007 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    box-shadow: 0 0 12px rgba(168,255,62,.32) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-save-check-v296.is-error::before {
    content: "!" !important;
    background: #ff6b6b !important;
    color: #fff !important;
    box-shadow: 0 0 12px rgba(255,107,107,.32) !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296 {
    width: 7px !important;
    height: 7px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296.is-active {
    width: 19px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-save-check-v296 {
    font-size: 10.8px !important;
  }
}
/* [MGYM-MOBILE-INFO-DOTS-SAVE-CHECK-END] */

/* ============================================================
   [MGYM-MOBILE-INFO-DOTS-TEXT-PRESENCE-START]
   MacroGym · Dots discretos + tarjetas informativas con más presencia
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - Reduce los puntos del carrusel para que solo orienten.
   - Aumenta la presencia tipográfica de las tarjetas informativas.
   ============================================================ */
@media (max-width: 820px) {
  /* Circulitos mucho más discretos: solo indican cuántas tarjetas hay y cuál está activa */
  #mgymConfigMobileAppV288 .mgym-mobile-info-dots-v296 {
    gap: 6px !important;
    margin: 7px 0 0 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296 {
    width: 5px !important;
    height: 5px !important;
    min-width: 5px !important;
    min-height: 5px !important;
    opacity: .62 !important;
    background: rgba(255,255,255,.24) !important;
    box-shadow: none !important;
    transform: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296.is-active {
    width: 10px !important;
    height: 5px !important;
    min-width: 10px !important;
    min-height: 5px !important;
    opacity: 1 !important;
    background: #a8ff3e !important;
    box-shadow: 0 0 8px rgba(168,255,62,.32) !important;
    transform: none !important;
  }

  /* Tarjetas scrolleables: más presencia en texto sin hacerlas pesadas */
  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 {
    min-height: 196px !important;
    padding: 22px 19px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 small {
    font-size: 11px !important;
    line-height: 1.18 !important;
    letter-spacing: .09em !important;
    margin-bottom: 12px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 strong {
    font-size: 22px !important;
    line-height: 1.1 !important;
    margin-bottom: 12px !important;
    letter-spacing: -.04em !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 800 !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-info-dots-v296 {
    gap: 5px !important;
    margin-top: 6px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296 {
    width: 4px !important;
    height: 4px !important;
    min-width: 4px !important;
    min-height: 4px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296.is-active {
    width: 9px !important;
    height: 4px !important;
    min-width: 9px !important;
    min-height: 4px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 {
    min-height: 188px !important;
    padding: 20px 17px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 small {
    font-size: 10.2px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 strong {
    font-size: 20px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileParqAccordionV288 .mgym-mobile-info-card-v291 p {
    font-size: 13px !important;
    line-height: 1.48 !important;
  }
}
/* [MGYM-MOBILE-INFO-DOTS-TEXT-PRESENCE-END] */

/* ============================================================
   [MGYM-MOBILE-INFO-DOTS-PUNTOS-START]
   MacroGym · Indicadores del carrusel como puntos discretos
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - Los indicadores dejan de verse como píldoras/botones.
   - El activo se marca en verde, pero sigue siendo un punto.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-info-dots-v296 {
    gap: 5px !important;
    margin: 6px 0 0 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296,
  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296.is-active {
    width: 4px !important;
    height: 4px !important;
    min-width: 4px !important;
    min-height: 4px !important;
    max-width: 4px !important;
    max-height: 4px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    transform: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296 {
    opacity: .55 !important;
    background: rgba(255,255,255,.28) !important;
    box-shadow: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296.is-active {
    opacity: 1 !important;
    background: #a8ff3e !important;
    box-shadow: 0 0 6px rgba(168,255,62,.34) !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-info-dots-v296 {
    gap: 4px !important;
    margin-top: 5px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296,
  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296.is-active {
    width: 3px !important;
    height: 3px !important;
    min-width: 3px !important;
    min-height: 3px !important;
    max-width: 3px !important;
    max-height: 3px !important;
  }
}
/* [MGYM-MOBILE-INFO-DOTS-PUNTOS-END] */

/* ============================================================
   [MGYM-MOBILE-INFO-DOTS-CIRCULOS-REALES-START]
   MacroGym · Indicadores como círculos reales, sin heredar estilo de botón
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - Corrige puntos que se estiran en vertical por estilos globales de button.
   - El activo sigue siendo verde, pero todos son círculos pequeños.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-info-dots-v296 {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    height: 12px !important;
    min-height: 12px !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
  }

  #mgymConfigMobileAppV288 button.mgym-mobile-info-dot-v296,
  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296,
  #mgymConfigMobileAppV288 button.mgym-mobile-info-dot-v296.is-active,
  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296.is-active {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    flex: 0 0 4px !important;
    width: 4px !important;
    height: 4px !important;
    min-width: 4px !important;
    min-height: 4px !important;
    max-width: 4px !important;
    max-height: 4px !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    outline: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    transform: none !important;
    box-shadow: none !important;
  }

  #mgymConfigMobileAppV288 button.mgym-mobile-info-dot-v296,
  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296 {
    opacity: .55 !important;
    background: rgba(255,255,255,.30) !important;
  }

  #mgymConfigMobileAppV288 button.mgym-mobile-info-dot-v296.is-active,
  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296.is-active {
    opacity: 1 !important;
    background: #a8ff3e !important;
    box-shadow: 0 0 5px rgba(168,255,62,.34) !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-info-dots-v296 {
    gap: 4px !important;
    height: 10px !important;
    min-height: 10px !important;
    margin-top: 5px !important;
  }

  #mgymConfigMobileAppV288 button.mgym-mobile-info-dot-v296,
  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296,
  #mgymConfigMobileAppV288 button.mgym-mobile-info-dot-v296.is-active,
  #mgymConfigMobileAppV288 .mgym-mobile-info-dot-v296.is-active {
    flex-basis: 3px !important;
    width: 3px !important;
    height: 3px !important;
    min-width: 3px !important;
    min-height: 3px !important;
    max-width: 3px !important;
    max-height: 3px !important;
  }
}
/* [MGYM-MOBILE-INFO-DOTS-CIRCULOS-REALES-END] */

/* ============================================================
   [MGYM-MOBILE-WEEKLY-CONSTRUCTOR-ORDER-START]
   MacroGym · Orden móvil del Constructor de semana tipo
   Alcance:
   - Solo dentro de #mgym-config-top / Configuración.
   - No toca JS, app.js global ni lógica.
   - Orden móvil:
     1) Resumen heredado: días, minutos, material, objetivo, método
     2) Mesociclos del plan
     3) Elige los días reales
     4) Estructura de entrenamiento
     5) Semana generada
   ============================================================ */
@media (max-width: 820px) {
  #mgym-config-top #mgymWeeklyConstructorV270E7 {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 12px 18px !important;
    margin: 18px 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__header {
    order: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 10px !important;
    margin: 0 !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__header h4 {
    font-size: 20px !important;
    line-height: 1.05 !important;
    margin: 0 0 6px !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__header p {
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }

  #mgym-config-top #mgymWeeklyConstructorStatusV270E7 {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding: 9px 12px !important;
    font-size: 10px !important;
  }

  /* 1) Resumen heredado desde configuración superior */
  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-inherited-v270e7 {
    order: 1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-inherited-v270e7 > div {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 12px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-inherited-v270e7 > div:last-child {
    grid-column: 1 / -1 !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-inherited-v270e7 span {
    font-size: 9px !important;
    line-height: 1.1 !important;
    letter-spacing: .08em !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-inherited-v270e7 strong {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.18 !important;
    margin-top: 5px !important;
    overflow-wrap: anywhere !important;
  }

  /* 2) Mesociclos del plan */
  #mgym-config-top #mgymWeeklyMesoAssignmentV270E30 {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 16px 12px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #mgym-config-top #mgymWeeklyMesoAssignmentV270E30 .mgym-weekly-meso-assign-v270e30__head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
  }

  #mgym-config-top #mgymWeeklyMesoAssignmentV270E30 .mgym-weekly-meso-assign-v270e30__head strong {
    font-size: 16px !important;
    line-height: 1.1 !important;
  }

  #mgym-config-top #mgymWeeklyMesoAssignmentV270E30 .mgym-weekly-meso-assign-v270e30__head p {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    margin: 5px 0 0 !important;
  }

  #mgym-config-top #mgymWeeklyMesoStatusV270E30 {
    flex: 0 0 auto !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    white-space: nowrap !important;
  }

  #mgym-config-top #mgymWeeklyMesoSelectorV270E30 {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 4px 2px 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
  }

  #mgym-config-top #mgymWeeklyMesoSelectorV270E30 > * {
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
  }

  #mgym-config-top #mgymWeeklyMesoAssignmentV270E30 .mgym-weekly-meso-assign-v270e30__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin: 8px 0 0 !important;
  }

  #mgym-config-top #mgymWeeklyMesoAssignmentV270E30 .mgym-weekly-meso-assign-v270e30__message {
    margin: 10px 0 0 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }

  /* 3/4/5: el grid deja de ser dos columnas y baja todo en vertical */
  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__grid {
    order: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__left {
    order: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* 3) Elige los días reales */
  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__left > .mgym-weekly-constructor-v270e7__box:nth-child(1) {
    order: 1 !important;
  }

  /* 4) Estructura de entrenamiento */
  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__left > .mgym-weekly-constructor-v270e7__box:nth-child(2) {
    order: 2 !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__box,
  #mgym-config-top #mgymWeeklyPreviewV270E7 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 16px 12px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__box h5,
  #mgym-config-top #mgymWeeklyPreviewV270E7 h5 {
    font-size: 16px !important;
    line-height: 1.12 !important;
    margin: 0 0 8px !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__box p,
  #mgym-config-top #mgymWeeklyPreviewV270E7 p {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    margin: 0 0 12px !important;
  }

  #mgym-config-top #mgymWeeklyDaysPickerV270E7 {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #mgym-config-top #mgymWeeklyDaysPickerV270E7 .mgym-weekly-day-v270e7 {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 42px !important;
    border-radius: 14px !important;
  }

  #mgym-config-top #mgymWeeklySplitV270E7 {
    width: 100% !important;
    max-width: 100% !important;
  }

  #mgym-config-top #mgymWeeklyCompatibleSplitsV270E7 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 5) Semana generada */
  #mgym-config-top #mgymWeeklyPreviewV270E7 {
    order: 2 !important;
  }

  #mgym-config-top #mgymWeeklyPreviewDaysV270E7 {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #mgym-config-top #mgymWeeklyPreviewDaysV270E7 .mgym-weekly-preview-day-v270e7 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 12px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-confirm-v270e7 {
    order: 4 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px 12px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
  }

  #mgym-config-top #mgymConfirmWeeklyStructureV270E7 {
    width: 100% !important;
    min-height: 48px !important;
  }
}

@media (max-width: 463px) {
  #mgym-config-top #mgymWeeklyConstructorV270E7 {
    padding: 14px 10px 16px !important;
    gap: 12px !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__header {
    flex-direction: column !important;
  }

  #mgym-config-top #mgymWeeklyConstructorStatusV270E7 {
    align-self: flex-start !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-inherited-v270e7 {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  #mgym-config-top #mgymWeeklyConstructorV270E7 .mgym-weekly-inherited-v270e7 > div:last-child {
    grid-column: auto !important;
  }

  #mgym-config-top #mgymWeeklyDaysPickerV270E7 {
    gap: 6px !important;
  }

  #mgym-config-top #mgymWeeklyDaysPickerV270E7 .mgym-weekly-day-v270e7 {
    min-height: 38px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
  }
}
/* [MGYM-MOBILE-WEEKLY-CONSTRUCTOR-ORDER-END] */

/* ============================================================
   [MGYM-MOBILE-WEEKLY-CONSTRUCTOR-ORDER-REAL-START]
   MacroGym · Orden real del Constructor de semana tipo en vista móvil/tablet
   Motivo:
   - En DevTools este bloque puede seguir entrando como 1024px.
   - Por eso el corte 820px no siempre saltaba.
   Alcance:
   - Solo #mgymWeeklyConstructorV270E7.
   - No toca body, header, escritorio ancho ni lógica.
   - Orden visual:
     1) Resumen heredado
     2) Mesociclos del plan
     3) Elige los días reales
     4) Estructura de entrenamiento
     5) Semana generada
   ============================================================ */
@media (max-width: 1180px) {
  #mgymWeeklyConstructorV270E7,
  .mgym-weekly-constructor-v270e7 {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding: 16px 12px 18px !important;
    margin: 18px 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #mgymWeeklyConstructorV270E7 > .mgym-weekly-constructor-v270e7__header {
    order: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  #mgymWeeklyConstructorV270E7 > .mgym-weekly-inherited-v270e7 {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #mgymWeeklyConstructorV270E7 > .mgym-weekly-inherited-v270e7 > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 14px 12px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
  }

  #mgymWeeklyConstructorV270E7 > .mgym-weekly-inherited-v270e7 > div:last-child {
    grid-column: 1 / -1 !important;
  }

  #mgymWeeklyConstructorV270E7 > #mgymWeeklyMesoAssignmentV270E30,
  #mgymWeeklyMesoAssignmentV270E30.mgym-weekly-meso-assign-v270e30 {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: unset !important;
    margin: 0 !important;
    padding: 16px 12px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #mgymWeeklyMesoAssignmentV270E30 .mgym-weekly-meso-assign-v270e30__head {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
  }

  #mgymWeeklyMesoSelectorV270E30 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 4px 2px 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #mgymWeeklyConstructorV270E7 > .mgym-weekly-constructor-v270e7__grid {
    order: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__left {
    grid-column: 1 / -1 !important;
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__left > .mgym-weekly-constructor-v270e7__box:nth-child(1) {
    order: 1 !important;
  }

  #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__left > .mgym-weekly-constructor-v270e7__box:nth-child(2) {
    order: 2 !important;
  }

  #mgymWeeklyPreviewV270E7,
  #mgymWeeklyConstructorV270E7 .mgym-weekly-preview-v270e7 {
    grid-column: 1 / -1 !important;
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__box,
  #mgymWeeklyPreviewV270E7 {
    padding: 16px 12px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  #mgymWeeklyDaysPickerV270E7 {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  #mgymWeeklyDaysPickerV270E7 .mgym-weekly-day-v270e7 {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 42px !important;
    border-radius: 14px !important;
  }

  #mgymWeeklySplitV270E7,
  #mgymWeeklyCompatibleSplitsV270E7,
  #mgymWeeklyPreviewDaysV270E7 {
    width: 100% !important;
    max-width: 100% !important;
  }

  #mgymWeeklyPreviewDaysV270E7 {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  #mgymWeeklyPreviewDaysV270E7 .mgym-weekly-preview-day-v270e7 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 12px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }

  #mgymWeeklyConstructorV270E7 > .mgym-weekly-confirm-v270e7 {
    order: 4 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px 12px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 520px) {
  #mgymWeeklyConstructorV270E7 > .mgym-weekly-inherited-v270e7 {
    grid-template-columns: 1fr !important;
  }

  #mgymWeeklyConstructorV270E7 > .mgym-weekly-inherited-v270e7 > div:last-child {
    grid-column: auto !important;
  }

  #mgymWeeklyDaysPickerV270E7 {
    gap: 6px !important;
  }

  #mgymWeeklyDaysPickerV270E7 .mgym-weekly-day-v270e7 {
    min-height: 38px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
  }
}
/* [MGYM-MOBILE-WEEKLY-CONSTRUCTOR-ORDER-REAL-END] */


/* ============================================================
   [MGYM-MOBILE-CONSTRUCTOR-ORDER-FINAL-V296-START]
   MacroGym · Constructor de semana tipo · orden móvil real
   Alcance:
   - Solo Configuración.
   - No toca body, header, escritorio global ni app.js global.
   - Orden móvil solicitado:
     1) Resumen heredado desde arriba
     2) Mesociclos del plan
     3) Elige los días reales
     4) Estructura de entrenamiento
     5) Semana generada
   ============================================================ */
@media (max-width: 820px) {
  /* Orden real de los bloques de la app móvil */
  #mgymConfigMobileAppV288 .mgym-mobile-stack-v288 {
    display: flex !important;
    flex-direction: column !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileSetupV288 { order: 10 !important; }
  #mgymConfigMobileAppV288 #mgymMobilePlanV288 { order: 20 !important; }
  #mgymConfigMobileAppV288 #mgymMobileLogicV288 { order: 30 !important; }

  #mgymConfigMobileAppV288 #mgymMobileWeeklySummaryV296 {
    order: 40 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileCyclesV288 {
    order: 50 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 {
    order: 60 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeekV288 {
    order: 70 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileMicroV288 {
    order: 80 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 { order: 90 !important; }
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 { order: 100 !important; }
  #mgymConfigMobileAppV288 #mgymMobileCalendarV290 { order: 110 !important; }
  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 { order: 120 !important; }

  /* 1) Resumen heredado */
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--weekly-summary {
    background:
      radial-gradient(circle at 12% 0%, rgba(168,255,62,.10), transparent 36%),
      linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012)),
      #101112 !important;
    border-color: rgba(168,255,62,.18) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 14px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 > div {
    min-width: 0 !important;
    padding: 13px 12px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    background: rgba(255,255,255,.026) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 > div:last-child {
    grid-column: 1 / -1 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 span {
    display: block !important;
    margin: 0 0 5px !important;
    color: #a8ff3e !important;
    font-size: 9.5px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 strong {
    display: block !important;
    color: #f4f5f7 !important;
    font-size: 14px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    overflow-wrap: anywhere !important;
  }

  /* 3/4: dentro del bloque de estructura, días primero y división después */
  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 .mgym-mobile-weekdays-inside-v291 {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 .mgym-mobile-days-panel-v288 {
    order: 1 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 .mgym-mobile-field-v291--split {
    order: 2 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 .mgym-mobile-structure-grid-v288 {
    order: 3 !important;
    margin-top: 14px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 .mgym-mobile-card-head-v288 p::after {
    content: " Orden: días reales → estructura de entrenamiento." !important;
    color: rgba(168,255,62,.86) !important;
    font-weight: 850 !important;
  }

  /* 5) Semana generada con presencia propia */
  #mgymConfigMobileAppV288 #mgymMobileWeekV288 {
    border-color: rgba(168,255,62,.20) !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 > div:last-child {
    grid-column: auto !important;
  }
}

/* Constructor real de escritorio cuando se ve en tablet/móvil por encima de 820px */
@media (max-width: 1180px) {
  #mgymWeeklyConstructorV270E7 {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #mgymWeeklyConstructorV270E7 .mgym-weekly-inherited-v270e7 {
    order: 1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  #mgymWeeklyConstructorV270E7 #mgymWeeklyMesoAssignmentV270E30 {
    order: 2 !important;
  }

  #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__grid {
    order: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #mgymWeeklyConstructorV270E7 .mgym-weekly-constructor-v270e7__left {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #mgymWeeklyConstructorV270E7 #mgymWeeklyPreviewV270E7 {
    order: 4 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #mgymWeeklyConstructorV270E7 .mgym-weekly-confirm-v270e7 {
    order: 5 !important;
  }

  #mgymWeeklyConstructorV270E7 #mgymWeeklyDaysPickerV270E7 {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
}
/* [MGYM-MOBILE-CONSTRUCTOR-ORDER-FINAL-V296-END] */

/* ============================================================
   [MGYM-MOBILE-WEEKLY-COMPACT-MESO-REAL-V297-START]
   MacroGym · Constructor móvil compacto + mesociclos reales
   Alcance:
   - Solo #mgymConfigMobileAppV288.
   - Orden pedido:
     1) Configuración heredada compacta
     2) Mesociclos del plan para aplicar días
     3) Elige los días reales
     4) Estructura de entrenamiento
     5) Semana generada
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-stack-v288 {
    display: flex !important;
    flex-direction: column !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileSetupV288 { order: 10 !important; }
  #mgymConfigMobileAppV288 #mgymMobilePlanV288 { order: 20 !important; }
  #mgymConfigMobileAppV288 #mgymMobileLogicV288 { order: 30 !important; }
  #mgymConfigMobileAppV288 #mgymMobileWeeklySummaryV296 { order: 40 !important; }
  #mgymConfigMobileAppV288 #mgymMobileWeeklyMesoAssignV297 { order: 50 !important; }
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 { order: 60 !important; }
  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 { order: 70 !important; }
  #mgymConfigMobileAppV288 #mgymMobileWeekV288 { order: 80 !important; }
  #mgymConfigMobileAppV288 #mgymMobileCyclesV288 { order: 90 !important; }
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 { order: 100 !important; }
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 { order: 110 !important; }
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 { order: 120 !important; }
  #mgymConfigMobileAppV288 #mgymMobileCalendarV290 { order: 130 !important; }
  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 { order: 140 !important; }

  /* Resumen heredado: compacto, sin huecos vacíos */
  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--weekly-summary .mgym-mobile-card-body-v288 {
    padding: 14px 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--weekly-summary .mgym-mobile-card-head-v288 {
    margin-bottom: 10px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-v288--weekly-summary .mgym-mobile-card-head-v288 p {
    font-size: 11.5px !important;
    line-height: 1.34 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 10px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 > div {
    min-height: 54px !important;
    padding: 9px 10px !important;
    border-radius: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 3px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 > div:last-child {
    grid-column: 1 / -1 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 span {
    margin: 0 !important;
    font-size: 8.6px !important;
    line-height: 1.05 !important;
    letter-spacing: .06em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 strong {
    font-size: 12.8px !important;
    line-height: 1.12 !important;
  }

  /* Mesociclos para aplicar días: equivalente móvil del bloque escritorio */
  #mgymConfigMobileAppV288 #mgymMobileWeeklyMesoAssignV297 {
    border-color: rgba(168,255,62,.20) !important;
    background: #101112 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyMesoAssignV297 .mgym-mobile-card-body-v288,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-card-body-v288,
  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 .mgym-mobile-card-body-v288 {
    padding: 15px 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-head-v288--compact {
    align-items: flex-start !important;
    margin-bottom: 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-card-head-v288--compact p {
    margin-top: 5px !important;
    font-size: 11.4px !important;
    line-height: 1.35 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-status-v297,
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-days-count-v297 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(168,255,62,.26) !important;
    background: rgba(168,255,62,.08) !important;
    color: #a8ff3e !important;
    font-family: var(--font-title) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-selector-v297 {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 4px 2px 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-selector-v297::-webkit-scrollbar {
    display: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297 {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.045) !important;
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    padding: 0 !important;
    cursor: pointer !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-selected {
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
    color: #081008 !important;
    box-shadow: 0 0 0 2px rgba(168,255,62,.18), 0 10px 22px rgba(168,255,62,.22) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-actions-v297 {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 5px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-actions-v297 button {
    min-height: 34px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.045) !important;
    color: #f4f5f7 !important;
    padding: 0 13px !important;
    font-family: var(--font-title) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-actions-v297 button.is-primary {
    flex: 1 1 190px !important;
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
    color: #071007 !important;
    box-shadow: 0 10px 22px rgba(168,255,62,.18) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-message-v297 {
    margin: 9px 0 0 !important;
    color: rgba(244,245,247,.64) !important;
    font-size: 11px !important;
    line-height: 1.32 !important;
    font-weight: 750 !important;
  }

  /* Días reales separados */
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-grid-v297 {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin-top: 10px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288 {
    min-height: 42px !important;
    border-radius: 14px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-selected-days-v297 {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-top: 11px !important;
  }

  /* Estructura: ya no contiene días; solo división y resumen técnico */
  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 .mgym-mobile-weekdays-inside-v291 {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 .mgym-mobile-field-v291--split {
    margin: 0 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 .mgym-mobile-card-head-v288 p::after {
    content: "" !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileCyclesV288 .mgym-mobile-cycle-trigger-v288 small::after {
    content: " · detalle" !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 > div {
    min-height: 50px !important;
    padding: 8px 9px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-summary-grid-v296 > div:last-child {
    grid-column: 1 / -1 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297 {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    font-size: 13px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-grid-v297 {
    gap: 5px !important;
  }
}
/* [MGYM-MOBILE-WEEKLY-COMPACT-MESO-REAL-V297-END] */



/* ============================================================
   [MGYM-MOBILE-MESO-SCROLL-DAYS-HOVER-V298-START]
   MacroGym · Mesociclos sin fijo + scrollbar visible + días con hover verde
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - No toca escritorio, body, header ni app.js global.
   ============================================================ */
@media (max-width: 820px) {
  /* Mesociclos más compactos */
  #mgymConfigMobileAppV288 #mgymMobileWeeklyMesoAssignV297 .mgym-mobile-card-body-v288 {
    padding: 13px 12px 14px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyMesoAssignV297 .mgym-mobile-card-head-v288--compact {
    margin-bottom: 10px !important;
    gap: 8px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyMesoAssignV297 .mgym-mobile-section-kicker-v288 {
    font-size: 9.5px !important;
    margin-bottom: 4px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyMesoAssignV297 .mgym-mobile-title-v288 {
    font-size: 18px !important;
    line-height: 1.08 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyMesoAssignV297 .mgym-mobile-card-head-v288--compact p {
    font-size: 10.8px !important;
    line-height: 1.32 !important;
    margin-top: 4px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-status-v297 {
    min-height: 24px !important;
    padding: 0 9px !important;
    font-size: 9.2px !important;
  }

  /* Selector con scroll horizontal y barra visible abajo */
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-selector-v297 {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 6px !important;
    padding: 3px 2px 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(168,255,62,.70) rgba(255,255,255,.075) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-selector-v297::-webkit-scrollbar {
    display: block !important;
    height: 5px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-selector-v297::-webkit-scrollbar-track {
    background: rgba(255,255,255,.075) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-selector-v297::-webkit-scrollbar-thumb {
    background: rgba(168,255,62,.78) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 8px rgba(168,255,62,.22) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297 {
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    scroll-snap-align: start !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.045) !important;
    color: #f4f5f7 !important;
    box-shadow: none !important;
    transition:
      background .2s ease,
      color .2s ease,
      border-color .2s ease,
      box-shadow .2s ease,
      transform .18s ease !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297:hover,
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297:focus-visible {
    background: rgba(168,255,62,.16) !important;
    border-color: rgba(168,255,62,.72) !important;
    color: #a8ff3e !important;
    box-shadow: 0 0 0 2px rgba(168,255,62,.10), 0 8px 18px rgba(168,255,62,.10) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-selected {
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
    color: #081008 !important;
    box-shadow: 0 0 0 2px rgba(168,255,62,.18), 0 10px 22px rgba(168,255,62,.22) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-selected:hover,
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-selected:focus-visible {
    color: #081008 !important;
    transform: translateY(-1px) scale(1.03) !important;
  }

  /* Botonera compacta */
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-actions-v297 {
    gap: 7px !important;
    margin-top: 7px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-actions-v297 button {
    min-height: 31px !important;
    padding: 0 11px !important;
    font-size: 9.4px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-actions-v297 button.is-primary {
    min-height: 34px !important;
    flex: 1 1 168px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-message-v297 {
    margin-top: 7px !important;
    font-size: 10.5px !important;
  }

  /* Días reales: mismo lenguaje visual hover/verde que mesociclos */
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288 {
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    color: #f4f5f7 !important;
    box-shadow: none !important;
    transition:
      background .2s ease,
      color .2s ease,
      border-color .2s ease,
      box-shadow .2s ease,
      transform .18s ease !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288 b {
    color: currentColor !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288:hover,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288:focus-visible {
    background: rgba(168,255,62,.16) !important;
    border-color: rgba(168,255,62,.72) !important;
    color: #a8ff3e !important;
    box-shadow: 0 0 0 2px rgba(168,255,62,.10), 0 8px 18px rgba(168,255,62,.10) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288.is-selected {
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
    color: #081008 !important;
    box-shadow: 0 0 0 2px rgba(168,255,62,.18), 0 10px 22px rgba(168,255,62,.22) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288.is-selected:hover,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288.is-selected:focus-visible {
    color: #081008 !important;
    transform: translateY(-1px) scale(1.03) !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297 {
    flex-basis: 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-selector-v297 {
    gap: 7px !important;
    padding-bottom: 9px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288 {
    min-height: 39px !important;
    border-radius: 13px !important;
  }
}
/* [MGYM-MOBILE-MESO-SCROLL-DAYS-HOVER-V298-END] */



/* ============================================================
   [MGYM-MOBILE-MESO-DESELECT-DAYS-STYLE-V299-START]
   MacroGym · Mesociclos deseleccionables + días con selección verde
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - No toca escritorio ni lógica global.
   ============================================================ */
@media (max-width: 820px) {
  /* El selector de mesociclos no hereda ninguna selección fija */
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297:not(.is-selected) {
    background: rgba(255,255,255,.045) !important;
    border-color: rgba(255,255,255,.14) !important;
    color: #f4f5f7 !important;
    box-shadow: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297:not(.is-selected):hover,
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297:not(.is-selected):focus-visible {
    background: rgba(168,255,62,.16) !important;
    border-color: rgba(168,255,62,.72) !important;
    color: #a8ff3e !important;
    box-shadow: 0 0 0 2px rgba(168,255,62,.10), 0 8px 18px rgba(168,255,62,.10) !important;
    transform: translateY(-1px) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-selected {
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
    color: #081008 !important;
    box-shadow: 0 0 0 2px rgba(168,255,62,.18), 0 10px 22px rgba(168,255,62,.22) !important;
  }

  /* Días reales: misma lógica visual que mesociclos */
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 [data-mgym-mobile-day-button] {
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    color: #f4f5f7 !important;
    box-shadow: none !important;
    transition:
      background .2s ease,
      color .2s ease,
      border-color .2s ease,
      box-shadow .2s ease,
      transform .18s ease !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288 b,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 [data-mgym-mobile-day-button] b {
    color: currentColor !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288:not(.is-selected):not(.is-active):hover,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288:not(.is-selected):not(.is-active):focus-visible,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 [data-mgym-mobile-day-button]:not(.is-selected):not(.is-active):hover,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 [data-mgym-mobile-day-button]:not(.is-selected):not(.is-active):focus-visible {
    background: rgba(168,255,62,.16) !important;
    border-color: rgba(168,255,62,.72) !important;
    color: #a8ff3e !important;
    box-shadow: 0 0 0 2px rgba(168,255,62,.10), 0 8px 18px rgba(168,255,62,.10) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288.is-selected,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288.is-active,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 [data-mgym-mobile-day-button].is-selected,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 [data-mgym-mobile-day-button].is-active,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 [data-mgym-mobile-day-button][aria-pressed="true"] {
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
    color: #081008 !important;
    box-shadow: 0 0 0 2px rgba(168,255,62,.18), 0 10px 22px rgba(168,255,62,.22) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288.is-selected:hover,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 .mgym-mobile-weekday-v288.is-active:hover,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 [data-mgym-mobile-day-button].is-selected:hover,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 [data-mgym-mobile-day-button].is-active:hover,
  #mgymConfigMobileAppV288 #mgymMobileWeeklyDaysV297 [data-mgym-mobile-day-button][aria-pressed="true"]:hover {
    color: #081008 !important;
    transform: translateY(-1px) scale(1.03) !important;
  }
}
/* [MGYM-MOBILE-MESO-DESELECT-DAYS-STYLE-V299-END] */



/* ============================================================
   [MGYM-MOBILE-MESO-ASSIGNED-COLOR-V300-START]
   MacroGym · Color de mesociclos ya configurados + contador superior
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - is-selected = selección actual para aplicar.
   - is-configured = ya recibió asignación de días.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-status-v297 {
    min-height: 28px !important;
    padding: 0 11px !important;
    font-size: 9.6px !important;
    white-space: nowrap !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-status-v297.has-progress {
    border-color: rgba(255, 204, 51, .52) !important;
    color: #ffd65a !important;
    background: rgba(255, 204, 51, .10) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-status-v297.is-complete {
    border-color: rgba(168,255,62,.72) !important;
    color: #a8ff3e !important;
    background: rgba(168,255,62,.13) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured:not(.is-selected) {
    background: rgba(168,255,62,.13) !important;
    border-color: rgba(168,255,62,.50) !important;
    color: #a8ff3e !important;
    box-shadow:
      inset 0 0 0 1px rgba(168,255,62,.10),
      0 0 14px rgba(168,255,62,.12) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured:not(.is-selected)::after {
    content: "✓" !important;
    position: absolute !important;
    right: -2px !important;
    top: -3px !important;
    width: 14px !important;
    height: 14px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #a8ff3e !important;
    color: #081008 !important;
    font-size: 9px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    box-shadow: 0 0 10px rgba(168,255,62,.28) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-selected {
    position: relative !important;
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
    color: #081008 !important;
    box-shadow: 0 0 0 2px rgba(168,255,62,.18), 0 10px 22px rgba(168,255,62,.22) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297 {
    position: relative !important;
  }
}
/* [MGYM-MOBILE-MESO-ASSIGNED-COLOR-V300-END] */



/* ============================================================
   [MGYM-MOBILE-MESO-CONFIGURED-DARK-CHECK-V301-START]
   MacroGym · Mesociclos configurados oscuros con check
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - is-selected sin configurar = verde lima.
   - is-configured = oscuro + borde/check, nunca fondo verde.
   ============================================================ */
@media (max-width: 820px) {
  /* Solo los pendientes seleccionados se pintan en verde fuerte */
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-selected:not(.is-configured) {
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
    color: #081008 !important;
    box-shadow:
      0 0 0 2px rgba(168,255,62,.18),
      0 10px 22px rgba(168,255,62,.22) !important;
  }

  /* Configurado: siempre oscuro, aunque esté seleccionado otra vez */
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured,
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured.is-selected,
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured[aria-pressed="true"] {
    background:
      radial-gradient(circle at 50% 0%, rgba(168,255,62,.10), transparent 48%),
      rgba(255,255,255,.045) !important;
    border-color: rgba(168,255,62,.46) !important;
    color: #f4f5f7 !important;
    box-shadow:
      inset 0 0 0 1px rgba(168,255,62,.08),
      0 0 12px rgba(168,255,62,.10) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured:hover,
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured:focus-visible {
    background:
      radial-gradient(circle at 50% 0%, rgba(168,255,62,.14), transparent 48%),
      rgba(255,255,255,.06) !important;
    border-color: rgba(168,255,62,.70) !important;
    color: #f4f5f7 !important;
    transform: translateY(-1px) !important;
    box-shadow:
      inset 0 0 0 1px rgba(168,255,62,.12),
      0 8px 18px rgba(168,255,62,.12) !important;
  }

  /* Check visible para configurados */
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured::after {
    content: "✓" !important;
    position: absolute !important;
    right: -2px !important;
    top: -3px !important;
    width: 14px !important;
    height: 14px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #a8ff3e !important;
    color: #081008 !important;
    font-size: 9px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    box-shadow: 0 0 10px rgba(168,255,62,.28) !important;
  }
}
/* [MGYM-MOBILE-MESO-CONFIGURED-DARK-CHECK-V301-END] */



/* ============================================================
   [MGYM-MOBILE-MESO-APPLY-CLEAR-SELECTION-V302-START]
   MacroGym · Configurado siempre oscuro con check
   Alcance:
   - Solo dentro de #mgymConfigMobileAppV288.
   - Pendiente seleccionado = verde.
   - Configurado = oscuro + check, aunque se pulse.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-selected:not(.is-configured) {
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
    color: #081008 !important;
    box-shadow:
      0 0 0 2px rgba(168,255,62,.18),
      0 10px 22px rgba(168,255,62,.22) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured,
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured.is-selected,
  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured[aria-pressed="true"] {
    background:
      radial-gradient(circle at 50% 0%, rgba(168,255,62,.10), transparent 48%),
      rgba(255,255,255,.045) !important;
    border-color: rgba(168,255,62,.46) !important;
    color: #f4f5f7 !important;
    box-shadow:
      inset 0 0 0 1px rgba(168,255,62,.08),
      0 0 12px rgba(168,255,62,.10) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-weekly-meso-dot-v297.is-configured::after {
    content: "✓" !important;
    position: absolute !important;
    right: -2px !important;
    top: -3px !important;
    width: 14px !important;
    height: 14px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #a8ff3e !important;
    color: #081008 !important;
    font-size: 9px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    box-shadow: 0 0 10px rgba(168,255,62,.28) !important;
  }
}
/* [MGYM-MOBILE-MESO-APPLY-CLEAR-SELECTION-V302-END] */


/* ============================================================
   [MGYM-MOBILE-CYCLES-PHP-POSITION-FINAL-V310-START]
   MacroGym · Posición PHP final + tarjetas rectangulares
   Alcance:
   - Solo #mgymConfigMobileAppV288.
   - Corrige los order antiguos del CSS que subían Mesociclo/Semana.
   - Sin círculos, sin píldoras como scroll visible.
   ============================================================ */
@media (max-width: 820px) {
  /* Orden final: después de Estructura y antes de Asignación */
  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 {
    order: 70 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileCyclesV288 {
    order: 80 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileMicroV288 {
    order: 90 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileWeekV288 {
    order: 100 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 {
    order: 110 !important;
  }

  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileCyclesV288,
  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileMicroV288,
  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileWeekV288 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 0 12px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(168,255,62,.18) !important;
    background: #101112 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 20px rgba(0,0,0,.18) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    transform: none !important;
  }

  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileCyclesV288 .mgym-mobile-cycle-trigger-v288,
  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileMicroV288 .mgym-mobile-cycle-trigger-v288,
  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileWeekV288 .mgym-mobile-cycle-trigger-v288 {
    min-height: 62px !important;
    padding: 12px !important;
    border-radius: 0 !important;
    background: #101112 !important;
    border-left: 3px solid #a8ff3e !important;
  }

  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileCyclesV288 .mgym-mobile-cycle-content-v288,
  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileMicroV288 .mgym-mobile-cycle-content-v288,
  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileWeekV288 .mgym-mobile-cycle-content-v288 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 11px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }

  /* Las píldoras M1/M2/S1/S2 no son el scroll visible */
  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileCyclesV288 .mgym-mobile-carousel-meta-v288,
  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileMicroV288 .mgym-mobile-carousel-meta-v288,
  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileCyclesV288 [data-mgym-mobile-cycle-track],
  #mgymConfigMobileAppV288.mgym-mobile-cycles-php-position-final-v310 #mgymMobileMicroV288 [data-mgym-mobile-cycle-track] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    max-width: 1px !important;
    max-height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-detail-list-v288--legacy-v310 {
    display: none !important;
  }

  /* Scroll horizontal del bloque completo: rectangular, no circular */
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-track-v310,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310::before,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310::after {
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    aspect-ratio: auto !important;
    transform: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-track-v310 {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 10px 0 0 !important;
    padding: 0 2px 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(168,255,62,.82) rgba(255,255,255,.08) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-track-v310::-webkit-scrollbar {
    display: block !important;
    height: 5px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-track-v310::-webkit-scrollbar-track {
    background: rgba(255,255,255,.08) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-track-v310::-webkit-scrollbar-thumb {
    background: rgba(168,255,62,.84) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 8px rgba(168,255,62,.24) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310 {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    flex: 0 0 calc(100% - 10px) !important;
    width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 14px !important;
    background: #101112 !important;
    color: #f4f5f7 !important;
    text-align: left !important;
    scroll-snap-align: start !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 20px rgba(0,0,0,.16) !important;
    overflow: hidden !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310::before,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310::after {
    display: none !important;
    content: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310.is-active {
    border-color: rgba(168,255,62,.58) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 0 0 1px rgba(168,255,62,.10), 0 12px 24px rgba(168,255,62,.08) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v310 {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    background: linear-gradient(90deg, rgba(168,255,62,.09), rgba(255,255,255,.018)) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v310 small {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    background: rgba(168,255,62,.13) !important;
    color: #a8ff3e !important;
    border: 1px solid rgba(168,255,62,.38) !important;
    font-family: var(--font-title) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v310 strong {
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-body-v310 {
    display: grid !important;
    gap: 9px !important;
    padding: 11px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-row-v310 {
    display: grid !important;
    grid-template-columns: minmax(92px, .40fr) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 52px !important;
    padding: 11px 12px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.026) !important;
    border: 1px solid rgba(255,255,255,.075) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-row-v310 span {
    color: #a8ff3e !important;
    font-family: var(--font-title) !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-row-v310 strong {
    color: #f4f5f7 !important;
    font-size: 13.5px !important;
    line-height: 1.28 !important;
    font-weight: 900 !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310 {
    flex-basis: calc(100% - 8px) !important;
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    border-radius: 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v310 {
    padding: 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-row-v310 {
    grid-template-columns: minmax(88px, .40fr) minmax(0, 1fr) !important;
    min-height: 50px !important;
    padding: 10px 11px !important;
  }
}
/* [MGYM-MOBILE-CYCLES-PHP-POSITION-FINAL-V310-END] */


/* ============================================================
   [MGYM-MOBILE-NO-CIRCULAR-CARDS-V311-START]
   MacroGym · Sin tarjetas circulares en Configuración móvil
   Alcance:
   - Solo #mgymConfigMobileAppV288.
   - Quita cualquier círculo/óvalo grande heredado en:
     1) Asignación de rutinas a mesociclos.
     2) Detalle de Mesociclo/Microciclo.
   - Mantiene los checks pequeños; no toca lógica ni escritorio.
   ============================================================ */
@media (max-width: 820px) {
  /* 1) Asignación inteligente: las tarjetas son rectangulares, nunca círculos */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v288,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v292,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 button[data-mgym-mobile-assignment-meso] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 238px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    border-radius: 14px !important;
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    transform: none !important;
    overflow: hidden !important;
    background: #101112 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.035),
      0 10px 22px rgba(0,0,0,.22) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v288.is-selected,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v292.is-selected,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 button[data-mgym-mobile-assignment-meso].is-selected {
    border-radius: 14px !important;
    background: #111611 !important;
    border-color: rgba(168,255,62,.72) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.04),
      0 0 0 1px rgba(168,255,62,.14),
      0 12px 24px rgba(0,0,0,.24) !important;
  }

  /* Mata pseudo-elementos que puedan estar pintando un aro/óvalo encima */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v288::before,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v288::after,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v292::before,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v292::after,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 button[data-mgym-mobile-assignment-meso]::before,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 button[data-mgym-mobile-assignment-meso]::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
  }

  /* El check se queda pequeño y cuadrado, no como círculo grande */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-check-v288 {
    position: relative !important;
    z-index: 2 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    aspect-ratio: auto !important;
    border-radius: 4px !important;
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    background: #a8ff3e !important;
    color: #071007 !important;
    box-shadow: 0 0 10px rgba(168,255,62,.18) !important;
  }

  /* Datos interiores: rectangulares, no cápsulas gigantes */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-data-v288 > div,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-routine-v288 {
    border-radius: 10px !important;
    aspect-ratio: auto !important;
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    overflow: hidden !important;
  }

  /* 2) Mesociclo/Microciclo detalle: tarjetas rectangulares sin aro circular */
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-track-v310,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310,
  #mgymConfigMobileAppV288 .mgym-mobile-detail-carousel-v308,
  #mgymConfigMobileAppV288 .mgym-mobile-detail-card-v308 {
    aspect-ratio: auto !important;
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    transform: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310,
  #mgymConfigMobileAppV288 .mgym-mobile-detail-card-v308 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #101112 !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.035),
      0 10px 20px rgba(0,0,0,.16) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310.is-active,
  #mgymConfigMobileAppV288 .mgym-mobile-detail-card-v308.is-active {
    border-radius: 14px !important;
    border-color: rgba(168,255,62,.58) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.045),
      0 0 0 1px rgba(168,255,62,.10),
      0 12px 24px rgba(168,255,62,.08) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310::before,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310::after,
  #mgymConfigMobileAppV288 .mgym-mobile-detail-card-v308::before,
  #mgymConfigMobileAppV288 .mgym-mobile-detail-card-v308::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-body-v310,
  #mgymConfigMobileAppV288 .mgym-mobile-detail-card-body-v308 {
    border-radius: 0 !important;
    aspect-ratio: auto !important;
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v288,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v292,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 button[data-mgym-mobile-assignment-meso],
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-v310,
  #mgymConfigMobileAppV288 .mgym-mobile-detail-card-v308 {
    border-radius: 12px !important;
  }
}
/* [MGYM-MOBILE-NO-CIRCULAR-CARDS-V311-END] */





/* ============================================================
   [MGYM-MOBILE-NO-CIRCLES-SCROLL-RESTORE-START]
   MacroGym · Scroll restaurado manteniendo cero círculos
   Alcance:
   - Solo #mgymConfigMobileAppV288.
   - Tarjetas: overflow hidden.
   - Tracks/carruseles: overflow-x auto.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288,
  #mgymConfigMobileAppV288 * {
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
  }

  /* Tarjetas y bloques visuales: rectangulares */
  #mgymConfigMobileAppV288 [class*="card"],
  #mgymConfigMobileAppV288 [class*="assignment-card"],
  #mgymConfigMobileAppV288 [class*="cycle-detail-card"],
  #mgymConfigMobileAppV288 [class*="detail-card"],
  #mgymConfigMobileAppV288 [data-mgym-mobile-assignment-meso],
  #mgymConfigMobileAppV288 article,
  #mgymConfigMobileAppV288 section {
    border-radius: 14px !important;
    aspect-ratio: auto !important;
    transform: none !important;
    overflow: hidden !important;
  }

  /* Tracks y carruseles: nunca círculos, pero siempre scrolleables */
  #mgymConfigMobileAppV288 [class*="track"],
  #mgymConfigMobileAppV288 [class*="carousel"],
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-track],
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-detail-track-v308],
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-detail-track-v310],
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-detail-track-v312],
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-detail-track-v313],
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-detail-track-v314],
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-detail-track-v315],
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-detail-track-v316] {
    border-radius: 0 !important;
    aspect-ratio: auto !important;
    transform: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    touch-action: pan-x pan-y !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(168,255,62,.82) rgba(255,255,255,.08) !important;
  }

  #mgymConfigMobileAppV288 [class*="track"]::-webkit-scrollbar,
  #mgymConfigMobileAppV288 [class*="carousel"]::-webkit-scrollbar,
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-track]::-webkit-scrollbar {
    display: block !important;
    height: 5px !important;
  }

  #mgymConfigMobileAppV288 [class*="track"]::-webkit-scrollbar-track,
  #mgymConfigMobileAppV288 [class*="carousel"]::-webkit-scrollbar-track,
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-track]::-webkit-scrollbar-track {
    background: rgba(255,255,255,.08) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 [class*="track"]::-webkit-scrollbar-thumb,
  #mgymConfigMobileAppV288 [class*="carousel"]::-webkit-scrollbar-thumb,
  #mgymConfigMobileAppV288 [data-mgym-mobile-cycle-track]::-webkit-scrollbar-thumb {
    background: rgba(168,255,62,.84) !important;
    border-radius: 999px !important;
  }

  /* Elementos pequeños: no círculos */
  #mgymConfigMobileAppV288 [class*="pill"],
  #mgymConfigMobileAppV288 [class*="dot"],
  #mgymConfigMobileAppV288 [class*="badge"],
  #mgymConfigMobileAppV288 [class*="chip"],
  #mgymConfigMobileAppV288 [class*="check"],
  #mgymConfigMobileAppV288 [class*="option"],
  #mgymConfigMobileAppV288 [class*="day"],
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v308 small,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v310 small,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v312 small,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v313 small,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v314 small,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v315 small,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-detail-card-head-v316 small {
    border-radius: 8px !important;
    aspect-ratio: auto !important;
  }

  /* Aros creados por pseudo-elementos: fuera */
  #mgymConfigMobileAppV288 [class*="card"]::before,
  #mgymConfigMobileAppV288 [class*="card"]::after,
  #mgymConfigMobileAppV288 [class*="assignment"]::before,
  #mgymConfigMobileAppV288 [class*="assignment"]::after,
  #mgymConfigMobileAppV288 [class*="cycle"]::before,
  #mgymConfigMobileAppV288 [class*="cycle"]::after,
  #mgymConfigMobileAppV288 [class*="detail"]::before,
  #mgymConfigMobileAppV288 [class*="detail"]::after,
  #mgymConfigMobileAppV288 [data-mgym-mobile-assignment-meso]::before,
  #mgymConfigMobileAppV288 [data-mgym-mobile-assignment-meso]::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Encabezados limpios */
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-intro-v288 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    text-align: left !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-intro-v288 span,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-intro-v288 strong,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-intro-v288 small,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-intro-v288 p {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-cycle-intro-v288 p,
  #mgymConfigMobileAppV288 .mgym-mobile-cycle-intro-v288 small {
    color: rgba(244,245,247,.74) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 [class*="card"],
  #mgymConfigMobileAppV288 [class*="assignment-card"],
  #mgymConfigMobileAppV288 [class*="cycle-detail-card"],
  #mgymConfigMobileAppV288 [class*="detail-card"],
  #mgymConfigMobileAppV288 [data-mgym-mobile-assignment-meso],
  #mgymConfigMobileAppV288 article,
  #mgymConfigMobileAppV288 section {
    border-radius: 12px !important;
  }
}
/* [MGYM-MOBILE-NO-CIRCLES-SCROLL-RESTORE-END] */


/* ============================================================
   [MGYM-MOBILE-MESO-MICRO-SYNC-SCROLL-V317-START]
   MacroGym · Mesociclo sincronizado con Microciclo y scroll real
   Alcance:
   - Solo #mgymConfigMobileAppV288.
   - Sin círculos/óvalos.
   - Tracks con overflow-x:auto.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 #mgymMobileTrainingStructureV288 { order: 70 !important; }
  #mgymConfigMobileAppV288 #mgymMobileCyclesV288 { order: 80 !important; }
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 { order: 90 !important; }
  #mgymConfigMobileAppV288 #mgymMobileWeekV288 { order: 100 !important; }
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 { order: 110 !important; }

  /* Ocultar controles antiguos, usar V317 */
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 [data-mgym-mobile-cycle-track="meso"],
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 [data-mgym-mobile-cycle-track="micro"],
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 .mgym-mobile-carousel-meta-v288,
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 .mgym-mobile-detail-list-v288--legacy-v317,
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 .mgym-mobile-cycle-detail-track-v316,
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 .mgym-mobile-cycle-detail-track-v315,
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 .mgym-mobile-cycle-detail-track-v314,
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 .mgym-mobile-cycle-detail-track-v313,
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 .mgym-mobile-cycle-detail-track-v312,
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 .mgym-mobile-cycle-detail-track-v310,
  #mgymConfigMobileAppV288.mgym-mobile-meso-micro-sync-scroll-v317 .mgym-mobile-detail-carousel-v308 {
    display: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-track-v317 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 10px 0 0 !important;
    padding: 0 2px 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x mandatory !important;
    touch-action: pan-x pan-y !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(168,255,62,.82) rgba(255,255,255,.08) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    aspect-ratio: auto !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-track-v317::-webkit-scrollbar {
    display: block !important;
    height: 5px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-track-v317::-webkit-scrollbar-track {
    background: rgba(255,255,255,.08) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-track-v317::-webkit-scrollbar-thumb {
    background: rgba(168,255,62,.84) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-v317 {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    flex: 0 0 calc(100% - 10px) !important;
    width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
    min-width: calc(100% - 10px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 14px !important;
    background: #101112 !important;
    color: #f4f5f7 !important;
    text-align: left !important;
    scroll-snap-align: start !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 20px rgba(0,0,0,.16) !important;
    overflow: hidden !important;
    transform: none !important;
    outline: none !important;
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-v317.is-active {
    border-color: rgba(168,255,62,.62) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.045),
      0 0 0 1px rgba(168,255,62,.12),
      0 12px 24px rgba(168,255,62,.08) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-v317::before,
  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-v317::after,
  #mgymConfigMobileAppV288 .mgym-mobile-sync-track-v317::before,
  #mgymConfigMobileAppV288 .mgym-mobile-sync-track-v317::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-head-v317 {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    background: linear-gradient(90deg, rgba(168,255,62,.09), rgba(255,255,255,.018)) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-head-v317 small {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    background: rgba(168,255,62,.13) !important;
    color: #a8ff3e !important;
    border: 1px solid rgba(168,255,62,.38) !important;
    font-family: var(--font-title) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-head-v317 strong {
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-body-v317 {
    display: grid !important;
    gap: 9px !important;
    padding: 11px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-row-v317 {
    display: grid !important;
    grid-template-columns: minmax(92px, .40fr) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 52px !important;
    padding: 11px 12px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.026) !important;
    border: 1px solid rgba(255,255,255,.075) !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-row-v317 span {
    color: #a8ff3e !important;
    font-family: var(--font-title) !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-row-v317 strong {
    color: #f4f5f7 !important;
    font-size: 13.5px !important;
    line-height: 1.28 !important;
    font-weight: 900 !important;
    overflow-wrap: anywhere !important;
  }

  /* Cero círculos */
  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-v317,
  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-v317 *,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [class*="card"] {
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    aspect-ratio: auto !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-mobile-sync-card-v317 {
    flex-basis: calc(100% - 8px) !important;
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    min-width: calc(100% - 8px) !important;
    border-radius: 12px !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-sync-row-v317 {
    grid-template-columns: minmax(88px, .40fr) minmax(0, 1fr) !important;
    min-height: 50px !important;
    padding: 10px 11px !important;
  }
}
/* [MGYM-MOBILE-MESO-MICRO-SYNC-SCROLL-V317-END] */


/* ============================================================
   [MGYM-MOBILE-MICRO-CIRCLE-KILL-V318-START]
   MacroGym · Microciclo sin círculo/óvalo
   Alcance:
   - Solo #mgymConfigMobileAppV288 #mgymMobileMicroV288.
   - Mantiene sincronización y scroll V317.
   - Mata el aro/círculo grande del detalle de Microciclo.
   ============================================================ */
@media (max-width: 820px) {
  /* El bloque Microciclo no puede pintar aros circulares */
  #mgymConfigMobileAppV288 #mgymMobileMicroV288,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 * {
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
  }

  /* Track de Microciclo: scrollea, pero nunca es círculo */
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-track-v317,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 [data-mgym-mobile-sync-track-v317="micro"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border-radius: 0 !important;
    aspect-ratio: auto !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    touch-action: pan-x pan-y !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  /* Tarjeta de Microciclo: rectangular sí o sí */
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-card-v317,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 [data-mgym-mobile-sync-card-v317="micro"] {
    display: block !important;
    flex: 0 0 calc(100% - 10px) !important;
    width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
    min-width: calc(100% - 10px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    transform: none !important;
    background: #101112 !important;
    background-image: none !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 20px rgba(0,0,0,.16) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-card-v317.is-active,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 [data-mgym-mobile-sync-card-v317="micro"].is-active {
    border-radius: 14px !important;
    border-color: rgba(168,255,62,.62) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.045),
      0 0 0 1px rgba(168,255,62,.12),
      0 12px 24px rgba(168,255,62,.08) !important;
  }

  /* Cabeza y cuerpo rectangulares */
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-card-head-v317,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-card-body-v317 {
    border-radius: 0 !important;
    aspect-ratio: auto !important;
    background-image: none !important;
  }

  /* Badge S1/S2: rectángulo pequeño, no círculo */
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-card-head-v317 small {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 42px !important;
    max-width: none !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    padding: 0 10px !important;
    border-radius: 7px !important;
    aspect-ratio: auto !important;
  }

  /* Filas internas rectangulares */
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-row-v317 {
    border-radius: 12px !important;
    aspect-ratio: auto !important;
  }

  /* Pseudo-elementos que puedan estar pintando el aro/círculo */
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-track-v317::before,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-track-v317::after,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-card-v317::before,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-card-v317::after,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 [data-mgym-mobile-sync-card-v317="micro"]::before,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 [data-mgym-mobile-sync-card-v317="micro"]::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  /* Oculta cualquier carrusel antiguo dentro de Microciclo para que no salga el aro viejo */
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-cycle-detail-track-v310,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-cycle-detail-track-v312,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-cycle-detail-track-v313,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-cycle-detail-track-v314,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-cycle-detail-track-v315,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-cycle-detail-track-v316,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-detail-carousel-v308 {
    display: none !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 .mgym-mobile-sync-card-v317,
  #mgymConfigMobileAppV288 #mgymMobileMicroV288 [data-mgym-mobile-sync-card-v317="micro"] {
    flex-basis: calc(100% - 8px) !important;
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    min-width: calc(100% - 8px) !important;
    border-radius: 12px !important;
  }
}
/* [MGYM-MOBILE-MICRO-CIRCLE-KILL-V318-END] */


/* ============================================================
   [MGYM-MOBILE-ASSIGNMENT-STATE-V319-START]
   MacroGym · Estados correctos en Asignación móvil
   Estados:
   - Pendiente: fondo negro, sin check.
   - Seleccionado: borde verde, sin check si no está configurado.
   - Configurado: fondo negro + check pequeño.
   Alcance:
   - Solo #mgymConfigMobileAppV288 #mgymMobileAssignmentV288.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-status-v319 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 14px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-status-v319 > div {
    min-width: 0 !important;
    padding: 10px 11px !important;
    border-radius: 12px !important;
    background: #101112 !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-status-v319 span {
    display: block !important;
    color: rgba(244,245,247,.68) !important;
    font-family: var(--font-title) !important;
    font-size: 9.5px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-status-v319 strong {
    display: block !important;
    margin-top: 5px !important;
    color: #a8ff3e !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v288,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-card-v292,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso] {
    position: relative !important;
    background: #101112 !important;
    border-color: rgba(255,255,255,.085) !important;
    border-radius: 14px !important;
    transition:
      border-color .18s ease,
      box-shadow .18s ease,
      transform .18s ease,
      background .18s ease !important;
  }

  /* Check oculto por defecto: seleccionar no significa configurado */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-check-v288,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-check] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* Pendiente: negro y sin check */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso]:not(.is-configured) {
    background: #101112 !important;
    border-color: rgba(255,255,255,.085) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso]:not(.is-configured) .mgym-mobile-assignment-routine-v288 {
    border-color: rgba(255,255,255,.07) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso]:not(.is-configured) [data-mgym-mobile-assigned-routine] {
    color: rgba(244,245,247,.70) !important;
  }

  /* Seleccionado ahora: borde/glow verde, sin check si aún no está configurado */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-selected {
    background: #101511 !important;
    border-color: rgba(168,255,62,.72) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.04),
      0 0 0 1px rgba(168,255,62,.16),
      0 12px 24px rgba(0,0,0,.26) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-selected:not(.is-configured) .mgym-mobile-assignment-check-v288,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-selected:not(.is-configured) [data-mgym-mobile-assignment-check] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* Configurado: vuelve a fondo negro y muestra check pequeño */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured {
    background: #101112 !important;
    border-color: rgba(168,255,62,.30) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.035),
      0 10px 22px rgba(0,0,0,.24) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured .mgym-mobile-assignment-check-v288,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured [data-mgym-mobile-assignment-check] {
    position: relative !important;
    z-index: 2 !important;
    display: inline-grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    place-items: center !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    margin: 0 0 8px !important;
    border-radius: 4px !important;
    background: #a8ff3e !important;
    color: #071007 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    box-shadow: 0 0 10px rgba(168,255,62,.18) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured .mgym-mobile-assignment-routine-v288 {
    border-color: rgba(168,255,62,.28) !important;
    background: rgba(168,255,62,.045) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured [data-mgym-mobile-assigned-routine] {
    color: #a8ff3e !important;
  }

  /* Panel inferior: feedback tras aplicar */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-apply-panel-v292 {
    transition: border-color .18s ease, box-shadow .18s ease !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288.is-saved-v319 .mgym-mobile-assignment-apply-panel-v292 {
    border-color: rgba(168,255,62,.62) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.04),
      0 0 0 1px rgba(168,255,62,.12),
      0 12px 26px rgba(168,255,62,.08) !important;
  }

  /* Sin círculos ni aros en este bloque */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso] *,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-status-v319,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-status-v319 * {
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    aspect-ratio: auto !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso]::before,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso]::after {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-status-v319 {
    gap: 7px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-status-v319 > div {
    padding: 9px 10px !important;
    border-radius: 10px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-status-v319 strong {
    font-size: 17px !important;
  }
}
/* [MGYM-MOBILE-ASSIGNMENT-STATE-V319-END] */


/* ============================================================
   [MGYM-MOBILE-ASSIGNMENT-PARAGRAPH-CHECKS-V320-START]
   MacroGym · Párrafo limpio + check correcto en tarjetas
   Alcance:
   - Solo #mgymConfigMobileAppV288 #mgymMobileAssignmentV288.
   - Mantiene bloquecitos/contadores V319.
   ============================================================ */
@media (max-width: 820px) {
  /* Cabecera del bloque: párrafo legible, sin apelotonarse */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-card-head-v288 {
    align-items: flex-start !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-card-head-v288 > div {
    display: grid !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-card-head-v288 p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: rgba(244,245,247,.76) !important;
    font-size: 12.5px !important;
    line-height: 1.48 !important;
    font-weight: 650 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Paso 1: cada texto en su línea; nada de "Paso 1Mesociclos..." */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-step-v288 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    text-align: left !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-step-v288 span,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-step-v288 strong,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-step-v288 small {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-step-v288 span {
    color: #a8ff3e !important;
    font-family: var(--font-title) !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-step-v288 strong {
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 17px !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-step-v288 small {
    color: rgba(244,245,247,.72) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
  }

  /* Check: fuera del flujo. Si está oculto, no deja hueco. */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso] {
    position: relative !important;
    padding-top: 16px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-check-v288 {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 4 !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 4px !important;
    background: #a8ff3e !important;
    color: #071007 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    place-items: center !important;
    box-shadow: 0 0 10px rgba(168,255,62,.18) !important;
    pointer-events: none !important;
  }

  /* La selección temporal nunca enseña check */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-selected:not(.is-configured) [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-selected:not(.is-configured) .mgym-mobile-assignment-check-v288 {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* Solo configurado real: check visible */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured[data-mgym-mobile-assignment-configured="1"] [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured[data-mgym-mobile-assignment-configured="1"] .mgym-mobile-assignment-check-v288 {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Cualquier tarjeta no configurada: check bloqueado */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso]:not(.is-configured) [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso]:not(.is-configured) .mgym-mobile-assignment-check-v288,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-configured="0"] [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-configured="0"] .mgym-mobile-assignment-check-v288 {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* La tarjeta configurada mantiene fondo negro; no verde permanente */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured[data-mgym-mobile-assignment-configured="1"] {
    background: #101112 !important;
    border-color: rgba(168,255,62,.32) !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-card-head-v288 p {
    font-size: 12px !important;
    line-height: 1.46 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-step-v288 strong {
    font-size: 16px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 .mgym-mobile-assignment-step-v288 small {
    font-size: 11.5px !important;
  }
}
/* [MGYM-MOBILE-ASSIGNMENT-PARAGRAPH-CHECKS-V320-END] */


/* ============================================================
   [MGYM-MOBILE-ASSIGNMENT-NO-LOOP-CLEAR-V322-START]
   MacroGym · Checks y limpiar sin bucle
   Alcance:
   - Solo #mgymConfigMobileAppV288 #mgymMobileAssignmentV288.
   ============================================================ */
@media (max-width: 820px) {
  /* Por defecto no puede verse ningún check si no hay estado configurado real */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso]:not(.is-configured) [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso]:not(.is-configured) .mgym-mobile-assignment-check-v288,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-configured="0"] [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-configured="0"] .mgym-mobile-assignment-check-v288,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-selected:not(.is-configured) [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-selected:not(.is-configured) .mgym-mobile-assignment-check-v288 {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* Check solo creado/visible en configurados */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured[data-mgym-mobile-assignment-configured="1"] [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured[data-mgym-mobile-assignment-configured="1"] .mgym-mobile-assignment-check-v288 {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 8 !important;
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    place-items: center !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 4px !important;
    background: #a8ff3e !important;
    color: #071007 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    pointer-events: none !important;
    box-shadow: 0 0 10px rgba(168,255,62,.18) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-selected:not(.is-configured) {
    background: #101511 !important;
    border-color: rgba(168,255,62,.72) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-pending,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-card-state="pending"] {
    background: #101112 !important;
    border-color: rgba(255,255,255,.085) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso].is-configured[data-mgym-mobile-assignment-configured="1"] {
    background: #101112 !important;
    border-color: rgba(168,255,62,.32) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288.is-saved-v322 .mgym-mobile-assignment-apply-panel-v292 {
    border-color: rgba(168,255,62,.62) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.04),
      0 0 0 1px rgba(168,255,62,.12),
      0 12px 26px rgba(168,255,62,.08) !important;
  }
}
/* [MGYM-MOBILE-ASSIGNMENT-NO-LOOP-CLEAR-V322-END] */


/* ============================================================
   [MGYM-MOBILE-ASSIGNMENT-CLEAR-RESET-V323-START]
   MacroGym · Estado visual tras limpiar asignaciones
   Alcance:
   - Solo #mgymConfigMobileAppV288 #mgymMobileAssignmentV288.
   ============================================================ */
@media (max-width: 820px) {
  /* Limpio/pendiente: negro, sin check y sin verde de configurado */
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-card-state="pending"],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-configured="0"]:not(.is-selected) {
    background: #101112 !important;
    border-color: rgba(255,255,255,.085) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.035),
      0 10px 22px rgba(0,0,0,.22) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-configured="0"] [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-configured="0"] .mgym-mobile-assignment-check-v288,
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-card-state="pending"] [data-mgym-mobile-assignment-check],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-card-state="pending"] .mgym-mobile-assignment-check-v288 {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-card-state="pending"] [data-mgym-mobile-assigned-routine],
  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288 [data-mgym-mobile-assignment-meso][data-mgym-mobile-assignment-configured="0"] [data-mgym-mobile-assigned-routine] {
    color: rgba(244,245,247,.72) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileAssignmentV288.is-cleared-v323 .mgym-mobile-assignment-status-v319 {
    border-color: rgba(168,255,62,.32) !important;
  }
}
/* [MGYM-MOBILE-ASSIGNMENT-CLEAR-RESET-V323-END] */


/* ============================================================
   [MGYM-MOBILE-MORE-ROUTINES-BUTTONS-V325-START]
   MacroGym · Feedback visual y más rutinas
   Alcance:
   - Solo #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-feedback-v325 {
    display: grid !important;
    gap: 5px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 12px 13px !important;
    border-radius: 14px !important;
    background: #101112 !important;
    border: 1px solid rgba(168,255,62,.26) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.035),
      0 10px 22px rgba(0,0,0,.22) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-feedback-v325[hidden] {
    display: none !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-feedback-v325 strong {
    color: #a8ff3e !important;
    font-family: var(--font-title) !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-feedback-v325 span {
    color: rgba(244,245,247,.76) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 650 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-feedback-v325.is-error {
    border-color: rgba(255,196,87,.45) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-feedback-v325.is-error strong {
    color: #ffc457 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-feedback-v325.is-success {
    border-color: rgba(168,255,62,.55) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-feedback-v325.is-pulse {
    animation: mgymRoutineFeedbackPulseV325 .62s ease both !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288.is-needs-selection-v325 {
    animation: mgymRoutineNeedSelectionV325 .38s ease both !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-assign-button-v324 {
    position: relative !important;
    overflow: hidden !important;
    transition:
      transform .16s ease,
      box-shadow .16s ease,
      background .16s ease,
      color .16s ease !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-assign-button-v324::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent) !important;
    transform: translateX(-120%) !important;
    pointer-events: none !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-assign-button-v324.is-assigning::after,
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-assign-button-v324.is-assigned::after {
    animation: mgymRoutineButtonShineV325 .72s ease both !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-assign-button-v324.is-assigning {
    transform: translateY(-1px) scale(1.01) !important;
    box-shadow: 0 14px 30px rgba(168,255,62,.22) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-assign-button-v324.is-assigned {
    background: #a8ff3e !important;
    color: #071007 !important;
    box-shadow: 0 0 0 1px rgba(168,255,62,.36), 0 14px 30px rgba(168,255,62,.18) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-assign-button-v324.is-need-selection {
    background: #ffc457 !important;
    color: #14110a !important;
    animation: mgymRoutineButtonShakeV325 .34s ease both !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-card-v324.is-assigned-v325 {
    animation: mgymRoutineCardAssignedV325 .58s ease both !important;
  }

  @keyframes mgymRoutineFeedbackPulseV325 {
    0% { transform: scale(.985); opacity: .72; }
    55% { transform: scale(1.01); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
  }

  @keyframes mgymRoutineNeedSelectionV325 {
    0%, 100% { transform: translateX(0); }
    30% { transform: translateX(-5px); }
    65% { transform: translateX(5px); }
  }

  @keyframes mgymRoutineButtonShineV325 {
    from { transform: translateX(-120%); }
    to { transform: translateX(120%); }
  }

  @keyframes mgymRoutineButtonShakeV325 {
    0%, 100% { transform: translateX(0); }
    30% { transform: translateX(-4px); }
    65% { transform: translateX(4px); }
  }

  @keyframes mgymRoutineCardAssignedV325 {
    0% { transform: scale(.992); }
    55% { transform: scale(1.012); box-shadow: 0 0 0 1px rgba(168,255,62,.24), 0 14px 30px rgba(168,255,62,.10); }
    100% { transform: scale(1); }
  }
}
/* [MGYM-MOBILE-MORE-ROUTINES-BUTTONS-V325-END] */


/* ============================================================
   [MGYM-MOBILE-SAVE-CASCADE-V327-START]
   MacroGym · Cascada visual y tarjeta de rutina limpia
   Alcance:
   - Solo Configuración móvil.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-mobile-feedback-v288.is-visible,
  #mgymConfigMobileAppV288 .mgym-mobile-feedback-v288.is-saved {
    display: block !important;
    margin: 10px 0 0 !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    background: rgba(168,255,62,.08) !important;
    border: 1px solid rgba(168,255,62,.28) !important;
    color: #a8ff3e !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  /* Meta de rutina: label arriba y valor debajo, no pegados */
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    align-items: start !important;
    min-height: 58px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 > div span,
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 > div b {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li {
    list-style: none !important;
    margin: 0 0 6px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li::marker {
    content: "" !important;
  }
}
/* [MGYM-MOBILE-SAVE-CASCADE-V327-END] */


/* ============================================================
   [MGYM-MOBILE-ROUTINE-META-COMPACT-FINAL-START]
   MacroGym · Tarjetas de rutinas compactas en 2 columnas
   Función:
   - La información de la rutina vuelve a verse como tarjetas pequeñas.
   - Objetivo/Estructura/Método/Días/Bloques/Estado en 2 columnas.
   - Evita tarjetas demasiado largas.
   - No toca cascada, lógica, Mesociclo/Microciclo ni app.js global.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-card-v324 {
    gap: 12px !important;
    padding: 14px !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)),
      #101112 !important;
    border: 1px solid rgba(255,255,255,.085) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-card-v324.is-active {
    background:
      linear-gradient(180deg, rgba(168,255,62,.045), rgba(255,255,255,.010)),
      #101112 !important;
    border-color: rgba(168,255,62,.62) !important;
  }

  /* Cabecera compacta y limpia */
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-head-v324 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    min-width: 0 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-head-v324 strong {
    display: block !important;
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 17px !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-head-v324 small {
    display: block !important;
    color: rgba(244,245,247,.70) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
    margin: 0 !important;
  }

  /* Meta en 2 columnas: esto corrige el bloque largo de la captura */
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: start !important;
    gap: 5px !important;
    min-width: 0 !important;
    min-height: 58px !important;
    padding: 10px 11px !important;
    border-radius: 12px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018)) !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 > div span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    color: #a8ff3e !important;
    font-family: var(--font-title) !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 > div b {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    color: #f4f5f7 !important;
    font-size: 12.5px !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Distribución más compacta y bonita */
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px !important;
    border-radius: 13px !important;
    background: rgba(0,0,0,.20) !important;
    border: 1px solid rgba(255,255,255,.065) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 > span {
    display: block !important;
    margin: 0 !important;
    color: #a8ff3e !important;
    font-family: var(--font-title) !important;
    font-size: 9.5px !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 ul {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li {
    display: grid !important;
    grid-template-columns: minmax(50px, .32fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 7px 8px !important;
    list-style: none !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.026) !important;
    border: 1px solid rgba(255,255,255,.055) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li::marker {
    content: "" !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li b {
    color: #f4f5f7 !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li em {
    color: rgba(244,245,247,.74) !important;
    font-size: 11.5px !important;
    line-height: 1.22 !important;
    font-style: normal !important;
    font-weight: 750 !important;
    overflow-wrap: anywhere !important;
  }

  /* Botón como antes: más visible e integrado */
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-assign-button-v324 {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #a8ff3e !important;
    color: #071007 !important;
    font-family: var(--font-title) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    box-shadow: 0 12px 26px rgba(168,255,62,.16) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-assign-button-v324:disabled {
    background: #373f49 !important;
    color: rgba(244,245,247,.76) !important;
    box-shadow: none !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 > div {
    min-height: 56px !important;
    padding: 9px 10px !important;
    border-radius: 11px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 > div span {
    font-size: 8.6px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-meta-v324 > div b {
    font-size: 12px !important;
  }
}
/* [MGYM-MOBILE-ROUTINE-META-COMPACT-FINAL-END] */


/* ============================================================
   [MGYM-MOBILE-DISTRIBUTION-2COLS-FINAL-START]
   MacroGym · Distribución en 2 columnas compactas
   Función:
   - La distribución de la rutina se muestra en 2 columnas.
   - Cada item se apila verticalmente:
     arriba "Día X"
     abajo "Full Body A"
   - Reduce la altura total de la tarjeta.
   - No toca lógica ni cascada.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 {
    gap: 9px !important;
    padding: 10px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    align-content: start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    list-style: none !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018)) !important;
    border: 1px solid rgba(255,255,255,.065) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li::marker {
    content: "" !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li b,
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li em {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li b {
    color: #f4f5f7 !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li em {
    color: rgba(244,245,247,.78) !important;
    font-size: 11px !important;
    line-height: 1.18 !important;
    font-style: normal !important;
    font-weight: 760 !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li {
    min-height: 52px !important;
    padding: 7px 8px !important;
    border-radius: 9px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li b {
    font-size: 10.8px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-distribution-v324 li em {
    font-size: 10.8px !important;
  }
}
/* [MGYM-MOBILE-DISTRIBUTION-2COLS-FINAL-END] */


/* ============================================================
   [MGYM-MOBILE-ROUTINE-PROGRESS-BAR-FINAL-START]
   MacroGym · Barra de progreso bajo Rutinas
   Función:
   - Indica cuántas rutinas hay y en cuál está el carrusel.
   - No toca lógica de cascada, asignación, Mesociclo/Microciclo ni app.js global.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-progress-vfinal {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: -4px 0 14px !important;
    padding: 0 2px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-progress-vfinal[hidden] {
    display: none !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-progress-vfinal__meta {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 3px !important;
    min-width: max-content !important;
    color: rgba(244,245,247,.72) !important;
    font-family: var(--font-title) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-progress-vfinal__meta span:first-child {
    color: #a8ff3e !important;
    font-size: 13px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-progress-vfinal__meta em {
    color: rgba(244,245,247,.36) !important;
    font-style: normal !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-progress-vfinal__meta b {
    color: rgba(244,245,247,.58) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-progress-vfinal__track {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 5px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.075) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-progress-vfinal__track i {
    display: block !important;
    width: 0% !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: #a8ff3e !important;
    box-shadow: 0 0 12px rgba(168,255,62,.34) !important;
    transition: width .18s ease !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-progress-vfinal {
    gap: 8px !important;
    margin: -3px 0 12px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileRoutineLibraryV288 .mgym-mobile-routine-progress-vfinal__track {
    height: 4px !important;
  }
}
/* [MGYM-MOBILE-ROUTINE-PROGRESS-BAR-FINAL-END] */


/* ============================================================
   [MGYM-CONFIG-FINAL-DRAFTS-ACTIVATION-FINAL-START]
   MacroGym · Resumen final, borradores y activación
   Función:
   - Bloque gestor final integrado con Configuración móvil.
   - Rectangular, oscuro/glass, acento verde lima.
   - Scroll lateral de 6 borradores recientes.
   - Sin círculos ni aros.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 {
    order: 150 !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288,
  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 * {
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-mobile-final-manager-vfinal .mgym-mobile-card-body-v288 {
    gap: 14px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-vfinal {
    display: grid !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 14px !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014)),
      #101112 !important;
    border: 1px solid rgba(168,255,62,.24) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.035),
      0 12px 26px rgba(0,0,0,.24) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-vfinal header {
    display: grid !important;
    gap: 5px !important;
    min-width: 0 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-vfinal header span,
  #mgymConfigMobileAppV288 .mgym-final-drafts-head-vfinal span {
    color: #a8ff3e !important;
    font-family: var(--font-title) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-vfinal header strong {
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-vfinal header small {
    color: rgba(244,245,247,.72) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-grid-vfinal {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-grid-vfinal > div {
    display: grid !important;
    gap: 5px !important;
    min-height: 55px !important;
    padding: 10px 11px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.028) !important;
    border: 1px solid rgba(255,255,255,.075) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-grid-vfinal span {
    color: rgba(168,255,62,.94) !important;
    font-family: var(--font-title) !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-grid-vfinal b {
    color: #f4f5f7 !important;
    font-size: 12.5px !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-actions-vfinal {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-action-vfinal {
    width: 100% !important;
    min-height: 45px !important;
    border: 0 !important;
    border-radius: 14px !important;
    font-family: var(--font-title) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-action-vfinal--draft {
    background: rgba(255,255,255,.045) !important;
    color: #f4f5f7 !important;
    border: 1px solid rgba(255,255,255,.10) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-action-vfinal--activate {
    background: #a8ff3e !important;
    color: #071007 !important;
    box-shadow: 0 12px 26px rgba(168,255,62,.16) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-action-vfinal.is-loading {
    opacity: .72 !important;
    pointer-events: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-feedback-vfinal {
    display: none !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    background: rgba(168,255,62,.08) !important;
    border: 1px solid rgba(168,255,62,.26) !important;
    color: #a8ff3e !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-feedback-vfinal.is-visible {
    display: block !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-feedback-vfinal.is-error {
    color: #ffc457 !important;
    border-color: rgba(255,196,87,.38) !important;
    background: rgba(255,196,87,.08) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-head-vfinal {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 2px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-head-vfinal > div {
    display: grid !important;
    gap: 4px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-head-vfinal strong {
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 15px !important;
    font-weight: 950 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-head-vfinal small {
    color: rgba(244,245,247,.56) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-track-vfinal {
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 2px 14px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(168,255,62,.82) rgba(255,255,255,.08) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-track-vfinal::-webkit-scrollbar {
    display: block !important;
    height: 5px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-track-vfinal::-webkit-scrollbar-track {
    background: rgba(255,255,255,.08) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-track-vfinal::-webkit-scrollbar-thumb {
    background: rgba(168,255,62,.84) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal {
    display: grid !important;
    gap: 8px !important;
    flex: 0 0 calc(82% - 10px) !important;
    width: calc(82% - 10px) !important;
    min-width: calc(82% - 10px) !important;
    max-width: calc(82% - 10px) !important;
    padding: 13px !important;
    border-radius: 15px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.014)),
      #101112 !important;
    border: 1px solid rgba(255,255,255,.085) !important;
    scroll-snap-align: start !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal.is-active {
    border-color: rgba(168,255,62,.55) !important;
    box-shadow: 0 0 0 1px rgba(168,255,62,.10), 0 12px 26px rgba(168,255,62,.08) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal > span {
    width: fit-content !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    color: #a8ff3e !important;
    background: rgba(168,255,62,.10) !important;
    border: 1px solid rgba(168,255,62,.26) !important;
    font-family: var(--font-title) !important;
    font-size: 9px !important;
    font-weight: 950 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal strong {
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 14px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal small {
    color: rgba(244,245,247,.54) !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal div {
    display: grid !important;
    gap: 4px !important;
    padding: 9px !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.026) !important;
    border: 1px solid rgba(255,255,255,.065) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal div b {
    color: #f4f5f7 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal div em {
    color: rgba(244,245,247,.72) !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 750 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal button {
    min-height: 38px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #a8ff3e !important;
    color: #071007 !important;
    font-family: var(--font-title) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal.is-empty button {
    display: none !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal {
    flex-basis: calc(88% - 8px) !important;
    width: calc(88% - 8px) !important;
    min-width: calc(88% - 8px) !important;
    max-width: calc(88% - 8px) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-grid-vfinal {
    gap: 7px !important;
  }
}
/* [MGYM-CONFIG-FINAL-DRAFTS-ACTIVATION-FINAL-END] */


/* ============================================================
   [MGYM-CONFIG-FINAL-DRAFTS-CLEAR-STATES-FINAL-START]
   MacroGym · Estados claros en Resumen final / borradores
   Función:
   - Deja claro qué es configuración actual, qué es borrador y cuál está activo.
   - Mejora encabezado y tarjetas para integrarlo con la página.
   - Mantiene diseño rectangular oscuro/glass sin círculos.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 {
    display: block !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288,
  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 * {
    clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 .mgym-mobile-card-body-v288 {
    padding: 16px !important;
    border-radius: 20px !important;
    background:
      radial-gradient(circle at 14% 0%, rgba(168,255,62,.08), transparent 30%),
      linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.012)),
      #101112 !important;
    border: 1px solid rgba(168,255,62,.22) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 .mgym-mobile-card-head-v288 {
    padding: 0 0 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;
    margin-bottom: 2px !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 .mgym-mobile-card-head-v288 .mgym-mobile-section-kicker-v288 {
    display: inline-flex !important;
    width: fit-content !important;
    min-height: 24px !important;
    align-items: center !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    color: #a8ff3e !important;
    background: rgba(168,255,62,.10) !important;
    border: 1px solid rgba(168,255,62,.28) !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 .mgym-mobile-title-v288 {
    margin-top: 9px !important;
    font-size: 23px !important;
    line-height: 1.05 !important;
    letter-spacing: -.02em !important;
  }

  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 .mgym-mobile-card-head-v288 p {
    max-width: 100% !important;
    margin-top: 8px !important;
    color: rgba(244,245,247,.76) !important;
    font-size: 12.5px !important;
    line-height: 1.48 !important;
    font-weight: 680 !important;
  }

  /* Bloque "configuración actual": debe parecer estado actual, no borrador */
  #mgymConfigMobileAppV288 .mgym-final-current-vfinal {
    position: relative !important;
    border-color: rgba(168,255,62,.34) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-current-vfinal::before {
    content: "ACTUAL EN PANTALLA" !important;
    display: inline-flex !important;
    width: fit-content !important;
    min-height: 24px !important;
    align-items: center !important;
    padding: 0 9px !important;
    margin-bottom: 2px !important;
    border-radius: 999px !important;
    color: #071007 !important;
    background: #a8ff3e !important;
    font-family: var(--font-title) !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-actions-vfinal {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-action-vfinal--draft {
    background: rgba(255,255,255,.045) !important;
    color: #f4f5f7 !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-action-vfinal--draft::before {
    content: "BORRADOR · " !important;
    color: #a8ff3e !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-action-vfinal--activate::before {
    content: "ACTIVAR · " !important;
    color: #071007 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-head-vfinal {
    margin-top: 8px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(255,255,255,.075) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-head-vfinal span {
    color: #a8ff3e !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-head-vfinal strong {
    font-size: 17px !important;
  }

  /* Scroll lateral claro */
  #mgymConfigMobileAppV288 .mgym-final-drafts-track-vfinal {
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 6px 2px 16px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(168,255,62,.82) rgba(255,255,255,.08) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-track-vfinal::-webkit-scrollbar {
    display: block !important;
    height: 5px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-track-vfinal::-webkit-scrollbar-track {
    background: rgba(255,255,255,.08) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-drafts-track-vfinal::-webkit-scrollbar-thumb {
    background: rgba(168,255,62,.84) !important;
    border-radius: 999px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal {
    flex: 0 0 calc(88% - 10px) !important;
    width: calc(88% - 10px) !important;
    min-width: calc(88% - 10px) !important;
    max-width: calc(88% - 10px) !important;
    scroll-snap-align: start !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014)),
      #101112 !important;
    border: 1px solid rgba(255,255,255,.09) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal.is-active {
    border-color: rgba(168,255,62,.68) !important;
    box-shadow:
      0 0 0 1px rgba(168,255,62,.14),
      0 12px 26px rgba(168,255,62,.10) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal.is-active > span {
    color: #071007 !important;
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal:not(.is-active) > span {
    color: rgba(244,245,247,.78) !important;
    background: rgba(255,255,255,.055) !important;
    border-color: rgba(255,255,255,.12) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal.is-active button {
    background: rgba(168,255,62,.12) !important;
    color: #a8ff3e !important;
    border: 1px solid rgba(168,255,62,.30) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal:not(.is-active) button {
    background: #a8ff3e !important;
    color: #071007 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal button::before {
    content: "↳ " !important;
  }
}

@media (max-width: 463px) {
  #mgymConfigMobileAppV288 #mgymMobileSavedPlansV288 .mgym-mobile-title-v288 {
    font-size: 22px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal {
    flex-basis: calc(92% - 8px) !important;
    width: calc(92% - 8px) !important;
    min-width: calc(92% - 8px) !important;
    max-width: calc(92% - 8px) !important;
  }
}
/* [MGYM-CONFIG-FINAL-DRAFTS-CLEAR-STATES-FINAL-END] */


/* ============================================================
   [MGYM-CONFIG-FINAL-DRAFTS-SELECT-ACTIVATE-FINAL-START]
   MacroGym · Seleccionar borrador y activar/dejar borrador
   Función:
   - Las tarjetas de borrador se seleccionan.
   - La activación se hace desde un panel claro.
   - Se diferencia: Activa ahora / Seleccionado / Borrador guardado.
   ============================================================ */
@media (max-width: 820px) {
  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal {
    position: relative !important;
    cursor: pointer !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal.is-selected {
    border-color: rgba(168,255,62,.78) !important;
    box-shadow:
      0 0 0 1px rgba(168,255,62,.20),
      0 14px 30px rgba(168,255,62,.11) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal.is-selected::after {
    content: "SELECCIONADO" !important;
    position: absolute !important;
    top: 11px !important;
    right: 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 22px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: #a8ff3e !important;
    color: #071007 !important;
    font-family: var(--font-title) !important;
    font-size: 8.5px !important;
    font-weight: 950 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    pointer-events: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal.is-selected > span {
    color: #071007 !important;
    background: #a8ff3e !important;
    border-color: #a8ff3e !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal [data-mgym-config-select-draft] {
    background: rgba(255,255,255,.055) !important;
    color: #f4f5f7 !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal.is-selected [data-mgym-config-select-draft] {
    background: #a8ff3e !important;
    color: #071007 !important;
    border-color: #a8ff3e !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-draft-card-vfinal.is-active [data-mgym-config-select-draft] {
    background: rgba(168,255,62,.12) !important;
    color: #a8ff3e !important;
    border: 1px solid rgba(168,255,62,.30) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-selected-actions-vfinal {
    display: grid !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 13px !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, rgba(168,255,62,.050), rgba(255,255,255,.012)),
      #101112 !important;
    border: 1px solid rgba(168,255,62,.32) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.035),
      0 12px 26px rgba(0,0,0,.22) !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-selected-actions-vfinal[hidden] {
    display: none !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-selected-actions-vfinal > div:first-child {
    display: grid !important;
    gap: 5px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-selected-actions-vfinal span {
    color: #a8ff3e !important;
    font-family: var(--font-title) !important;
    font-size: 9.5px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-selected-actions-vfinal strong {
    color: #f4f5f7 !important;
    font-family: var(--font-title) !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    overflow-wrap: anywhere !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-selected-actions-vfinal small {
    color: rgba(244,245,247,.70) !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-selected-actions-vfinal__buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  #mgymConfigMobileAppV288 .mgym-final-selected-actions-vfinal__buttons button {
    min-height: 42px !important;
    border-radius: 13px !important;
    border: 0 !important;
    font-family: var(--font-title) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }

  #mgymConfigMobileAppV288 [data-mgym-config-activate-selected] {
    background: #a8ff3e !important;
    color: #071007 !important;
    box-shadow: 0 12px 24px rgba(168,255,62,.15) !important;
  }

  #mgymConfigMobileAppV288 [data-mgym-config-keep-draft] {
    background: rgba(255,255,255,.055) !important;
    color: #f4f5f7 !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }
}
/* [MGYM-CONFIG-FINAL-DRAFTS-SELECT-ACTIVATE-FINAL-END] */

