/* ============================================================
   MacroGym · Rutinas · CSS único
   Archivo: assets/css/mgym-rutinas.css
   Alcance:
   - Solo afecta a .mgym-routines-page--cyber-v1.
   - No cambia guardado, REST, PAR-Q, mesociclos ni lógica.
   - Solo existe un bloque responsive móvil al final del archivo.
   ============================================================ */

/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-TOKENS-START] */
html body .mgym-routines-page.mgym-routines-page--cyber-v1 {
  --mgr-font-head: "Outfit", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mgr-font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mgr-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;

  --mgr-bg-page: #060709;
  --mgr-bg-deep: #0b0c10;
  --mgr-card: rgba(18, 20, 26, 0.78);
  --mgr-card-strong: rgba(26, 29, 38, 0.92);
  --mgr-card-soft: rgba(255, 255, 255, 0.025);
  --mgr-input: rgba(19, 21, 27, 0.92);
  --mgr-input-focus: rgba(29, 33, 44, 0.96);

  --mgr-line: rgba(255, 255, 255, 0.075);
  --mgr-line-strong: rgba(255, 255, 255, 0.14);
  --mgr-text: #f8fafc;
  --mgr-muted: #94a3b8;
  --mgr-muted-2: #64748b;

  --mgr-lime: #a3ff33;
  --mgr-lime-soft: rgba(163, 255, 51, 0.10);
  --mgr-lime-glow: rgba(163, 255, 51, 0.18);
  --mgr-lime-border: rgba(163, 255, 51, 0.28);
  --mgr-danger: #ff453a;
  --mgr-warning: #ffb020;
  --mgr-success: #10b981;

  --mgr-radius-sm: 10px;
  --mgr-radius-md: 16px;
  --mgr-radius-lg: 24px;
  --mgr-blur: 20px;
  --mgr-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
  --mgr-shadow-soft: 0 14px 38px rgba(0, 0, 0, 0.30);

  position: relative !important;
  isolation: isolate !important;
  width: 98vw !important;
  max-width: 98vw !important;
  margin: 5px calc(50% - 49vw) 48px !important;
  padding: 24px 1vw 84px !important;
  box-sizing: border-box !important;
  color: var(--mgr-text) !important;
  font-family: var(--mgr-font-body) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(163, 255, 51, 0.055), transparent 36%),
    radial-gradient(circle at 0% 80%, rgba(255, 255, 255, 0.035), transparent 32%),
    linear-gradient(180deg, rgba(6, 7, 9, 0.98), rgba(10, 11, 15, 0.96)) !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

html body .mgym-routines-page.mgym-routines-page--cyber-v1,
html body .mgym-routines-page.mgym-routines-page--cyber-v1 *,
html body .mgym-routines-page.mgym-routines-page--cyber-v1 *::before,
html body .mgym-routines-page.mgym-routines-page--cyber-v1 *::after {
  box-sizing: border-box !important;
}

html body .mgym-routines-page.mgym-routines-page--cyber-v1::before,
html body .mgym-routines-page.mgym-routines-page--cyber-v1::after {
  content: "" !important;
  position: fixed !important;
  pointer-events: none !important;
  z-index: -1 !important;
  width: 430px !important;
  height: 430px !important;
  border-radius: 999px !important;
  filter: blur(125px) !important;
  opacity: 0.10 !important;
}

html body .mgym-routines-page.mgym-routines-page--cyber-v1::before {
  top: -120px !important;
  right: -90px !important;
  background: var(--mgr-lime) !important;
}

html body .mgym-routines-page.mgym-routines-page--cyber-v1::after {
  bottom: -140px !important;
  left: -110px !important;
  background: #64748b !important;
  opacity: 0.08 !important;
}
/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-TOKENS-END] */

/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-GLOBAL-ELEMENTS-START] */
html body .mgym-routines-page--cyber-v1 :is(h1, h2, h3, h4, strong) {
  font-family: var(--mgr-font-head) !important;
  color: var(--mgr-text) !important;
  letter-spacing: -0.025em !important;
}

html body .mgym-routines-page--cyber-v1 :is(p, small, em, span) {
  line-height: 1.45 !important;
}

html body .mgym-routines-page--cyber-v1 a {
  text-decoration: none !important;
}

html body .mgym-routines-page--cyber-v1 :is(input, select, textarea) {
  width: 100% !important;
  min-height: 46px !important;
  padding: 11px 14px !important;
  border-radius: var(--mgr-radius-sm) !important;
  border: 1px solid var(--mgr-line) !important;
  background: var(--mgr-input) !important;
  color: var(--mgr-text) !important;
  font-family: var(--mgr-font-body) !important;
  font-size: 0.92rem !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

html body .mgym-routines-page--cyber-v1 textarea {
  min-height: 78px !important;
  resize: vertical !important;
}

html body .mgym-routines-page--cyber-v1 select option {
  background: #060709 !important;
  color: #fff !important;
}

html body .mgym-routines-page--cyber-v1 :is(input, select, textarea):focus {
  outline: none !important;
  border-color: var(--mgr-lime-border) !important;
  background: var(--mgr-input-focus) !important;
  box-shadow: 0 0 0 3px rgba(163, 255, 51, 0.065), 0 0 18px rgba(163, 255, 51, 0.10) !important;
}

html body .mgym-routines-page--cyber-v1 :is(button, a, input, select, textarea) {
  -webkit-tap-highlight-color: transparent !important;
}
/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-GLOBAL-ELEMENTS-END] */

/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-HERO-START] */
html body .mgym-routines-page--cyber-v1 .mgym-routines-feedback,
html body .mgym-routines-page--cyber-v1 .mgym-routines-master,
html body .mgym-routines-page--cyber-v1 .mgym-routines-builder,
html body .mgym-routines-page--cyber-v1 .mgym-routines-collection {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-master__hero {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 30px !important;
  border-radius: var(--mgr-radius-lg) !important;
  border: 1px solid var(--mgr-line) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(163, 255, 51, 0.055), transparent 56%),
    linear-gradient(145deg, rgba(18, 20, 26, 0.84), rgba(10, 12, 16, 0.92)) !important;
  box-shadow: var(--mgr-shadow) !important;
  backdrop-filter: blur(var(--mgr-blur)) !important;
  -webkit-backdrop-filter: blur(var(--mgr-blur)) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-master__hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 55%) !important;
  opacity: .55 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-master__hero > * {
  position: relative !important;
  z-index: 1 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
  color: var(--mgr-lime) !important;
  font-family: var(--mgr-font-head) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-kicker::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: var(--mgr-lime) !important;
  box-shadow: 0 0 14px var(--mgr-lime) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-title {
  margin: 0 0 10px !important;
  font-size: clamp(2.15rem, 4.2vw, 4.35rem) !important;
  font-weight: 950 !important;
  line-height: .94 !important;
  background: linear-gradient(135deg, #ffffff 35%, #94a3b8 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-subtitle,
html body .mgym-routines-page--cyber-v1 .mgym-routines-muted {
  max-width: 790px !important;
  margin: 0 !important;
  color: var(--mgr-muted) !important;
  font-size: .95rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-stats {
  display: flex !important;
  gap: 12px !important;
  align-items: stretch !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-pill {
  min-width: 94px !important;
  min-height: 74px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 2px !important;
  padding: 12px 16px !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(0, 0, 0, 0.32) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-pill strong {
  display: block !important;
  color: var(--mgr-lime) !important;
  font-family: var(--mgr-font-mono) !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  text-shadow: 0 0 12px rgba(163,255,51,.18) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-pill span {
  color: var(--mgr-muted) !important;
  font-size: .67rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-primarylink,
html body .mgym-routines-page--cyber-v1 .mgym-routines-btn,
html body .mgym-routines-page--cyber-v1 .mgym-routine-mini-btn,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__btn,
html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__actions button,
html body .mgym-routines-page--cyber-v1 .mgym-routine-day-dropzone__button,
html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-arrow,
html body .mgym-routines-page--cyber-v1 .mgym-routines-sidearrow {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  border-radius: var(--mgr-radius-sm) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(255,255,255,.035) !important;
  color: var(--mgr-text) !important;
  font-family: var(--mgr-font-head) !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-primarylink,
html body .mgym-routines-page--cyber-v1 .mgym-routines-btn.is-primary,
html body .mgym-routines-page--cyber-v1 .mgym-routine-save-top,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__btn.is-detail,
html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__actions .is-add-day,
html body .mgym-routines-page--cyber-v1 .mgym-routine-day-dropzone__button {
  border-color: var(--mgr-lime-border) !important;
  background: var(--mgr-lime-soft) !important;
  color: var(--mgr-lime) !important;
}

html body .mgym-routines-page--cyber-v1 :is(.mgym-routines-primarylink,.mgym-routines-btn,.mgym-routine-mini-btn,.mgym-routine-card__btn,.mgym-routine-bank-card__actions button,.mgym-routine-day-dropzone__button,.mgym-routine-bank-arrow,.mgym-routines-sidearrow):hover {
  transform: translateY(-1px) !important;
  border-color: var(--mgr-lime-border) !important;
  box-shadow: 0 0 18px rgba(163,255,51,.12) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-primarylink:hover,
html body .mgym-routines-page--cyber-v1 .mgym-routines-btn.is-primary:hover,
html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__actions .is-add-day:hover,
html body .mgym-routines-page--cyber-v1 .mgym-routine-day-dropzone__button:hover,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__btn.is-detail:hover {
  background: var(--mgr-lime) !important;
  color: #050607 !important;
  box-shadow: 0 0 24px rgba(163,255,51,.26) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-primarylink.is-secondary,
html body .mgym-routines-page--cyber-v1 .mgym-routines-btn.is-ghost,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__btn:not(.is-detail) {
  background: rgba(255,255,255,.035) !important;
  border-color: var(--mgr-line) !important;
  color: var(--mgr-text) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-activebar {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 18px 0 24px !important;
  padding: 15px 20px !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px solid var(--mgr-lime-border) !important;
  background: rgba(163,255,51,.045) !important;
  backdrop-filter: blur(var(--mgr-blur)) !important;
  -webkit-backdrop-filter: blur(var(--mgr-blur)) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-activebar strong {
  color: var(--mgr-lime) !important;
  text-transform: uppercase !important;
  font-size: .82rem !important;
  letter-spacing: .05em !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-activebar span {
  color: var(--mgr-text) !important;
  font-weight: 850 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-activebar em {
  color: var(--mgr-muted) !important;
  font-style: normal !important;
}
/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-HERO-END] */

/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-BUILDER-START] */
html body .mgym-routines-page--cyber-v1 .mgym-routines-builder,
html body .mgym-routines-page--cyber-v1 .mgym-routines-collection {
  margin-top: 24px !important;
  padding: 24px !important;
  border-radius: var(--mgr-radius-lg) !important;
  border: 1px solid var(--mgr-line) !important;
  background: var(--mgr-card) !important;
  box-shadow: var(--mgr-shadow) !important;
  backdrop-filter: blur(var(--mgr-blur)) !important;
  -webkit-backdrop-filter: blur(var(--mgr-blur)) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-builder__head,
html body .mgym-routines-page--cyber-v1 .mgym-routines-collection__head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 18px !important;
  padding-bottom: 16px !important;
  margin-bottom: 20px !important;
  border-bottom: 1px solid var(--mgr-line) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-sectiontitle {
  margin: 0 0 5px !important;
  font-size: clamp(1.45rem, 2vw, 2.25rem) !important;
  font-weight: 920 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-real-form {
  display: grid !important;
  gap: 20px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-builder__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-field {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-field > span {
  color: var(--mgr-muted) !important;
  font-family: var(--mgr-font-head) !important;
  font-size: .73rem !important;
  font-weight: 900 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-field.is-wide {
  grid-column: 1 / -1 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-builder-toolbar {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 6px 0 0 !important;
  padding: 16px !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(0, 0, 0, 0.20) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-builder-toolbar strong {
  display: block !important;
  font-size: 1.02rem !important;
  font-weight: 900 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-builder-toolbar span {
  display: block !important;
  margin-top: 3px !important;
  color: var(--mgr-muted) !important;
  font-size: .82rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-builder-toolbar__actions {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-tabs {
  display: flex !important;
  gap: 5px !important;
  flex-wrap: wrap !important;
  padding: 4px !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(0, 0, 0, .26) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-tabs button {
  min-height: 36px !important;
  padding: 7px 13px !important;
  border-radius: calc(var(--mgr-radius-md) - 5px) !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--mgr-muted) !important;
  font-family: var(--mgr-font-head) !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-tabs button:is(.is-active, :hover) {
  border-color: var(--mgr-lime-border) !important;
  background: rgba(163,255,51,.08) !important;
  color: var(--mgr-lime) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-days-builder {
  display: grid !important;
  gap: 14px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-builder {
  display: grid !important;
  gap: 18px !important;
  padding: 20px !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px solid var(--mgr-line) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(163,255,51,.035), transparent 34%),
    rgba(255,255,255,.018) !important;
  box-shadow: var(--mgr-shadow-soft) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-builder:not(.is-active) {
  display: none !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-builder__head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--mgr-line) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-builder__head span {
  display: block !important;
  color: var(--mgr-lime) !important;
  font-family: var(--mgr-font-mono) !important;
  font-size: .70rem !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-builder__head strong {
  display: block !important;
  margin-top: 2px !important;
  font-size: 1.18rem !important;
  font-weight: 920 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-builder__head em {
  display: block !important;
  color: var(--mgr-muted) !important;
  font-size: .80rem !important;
  font-style: normal !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-builder__head button,
html body .mgym-routines-page--cyber-v1 [data-remove-routine-day] {
  min-height: 36px !important;
  padding: 8px 12px !important;
  border-radius: var(--mgr-radius-sm) !important;
  border: 1px solid rgba(255, 69, 58, .22) !important;
  background: rgba(255, 69, 58, .055) !important;
  color: var(--mgr-danger) !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-dropzone {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 14px 16px !important;
  border-radius: var(--mgr-radius-sm) !important;
  border: 1.5px dashed var(--mgr-line-strong) !important;
  background: rgba(0,0,0,.16) !important;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-dropzone.is-active,
html body .mgym-routines-page--cyber-v1 .mgym-routine-day-dropzone:hover {
  border-color: var(--mgr-lime-border) !important;
  background: rgba(163,255,51,.025) !important;
  box-shadow: inset 0 0 16px rgba(163,255,51,.045) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-dropzone__head span {
  display: block !important;
  color: var(--mgr-text) !important;
  font-weight: 850 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-dropzone__head em {
  display: block !important;
  color: var(--mgr-muted) !important;
  font-style: normal !important;
  font-size: .78rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  min-width: 0 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-chips span {
  display: inline-flex !important;
  align-items: center !important;
  max-width: 100% !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(255,255,255,.032) !important;
  color: var(--mgr-muted) !important;
  font-size: .74rem !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-day-chips .is-empty {
  border-color: transparent !important;
  background: transparent !important;
  color: var(--mgr-muted-2) !important;
  font-style: italic !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-exercise-selects {
  display: grid !important;
  gap: 8px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-exercise-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 34px 34px 34px !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 8px 10px !important;
  border-radius: var(--mgr-radius-sm) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(255,255,255,.020) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-exercise-row button {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(255,255,255,.035) !important;
  color: var(--mgr-muted) !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-exercise-row button:hover {
  color: var(--mgr-lime) !important;
  border-color: var(--mgr-lime-border) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-hidden-add-row {
  width: 100% !important;
  border-style: dashed !important;
}
/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-BUILDER-END] */

/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-BANK-START] */
html body .mgym-routines-page--cyber-v1 .mgym-routine-builder-bank {
  margin-top: 18px !important;
  padding-top: 22px !important;
  border-top: 1px solid var(--mgr-line) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-carousel-wrap,
html body .mgym-routines-page--cyber-v1 .mgym-routines-carousel-shell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) 46px !important;
  gap: 12px !important;
  align-items: center !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bankrail,
html body .mgym-routines-page--cyber-v1 .mgym-routines-carousel {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(280px, 360px) !important;
  gap: 16px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 4px 2px 16px !important;
  scroll-snap-type: x proximity !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(163,255,51,.42) rgba(255,255,255,.06) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card {
  position: relative !important;
  overflow: hidden !important;
  min-width: 0 !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px solid var(--mgr-line) !important;
  background: var(--mgr-card) !important;
  box-shadow: var(--mgr-shadow-soft) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card:hover,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card:hover,
html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card.is-selected-exercise {
  transform: translateY(-2px) !important;
  border-color: var(--mgr-lime-border) !important;
  box-shadow: 0 20px 54px rgba(0,0,0,.46), 0 0 0 1px rgba(163,255,51,.06) inset !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card.is-selected-exercise::after {
  content: "Seleccionado" !important;
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 4 !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: var(--mgr-lime) !important;
  color: #050607 !important;
  font-size: .68rem !important;
  font-weight: 950 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card {
  display: grid !important;
  grid-template-columns: 92px minmax(0,1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px !important;
  min-height: 156px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__media {
  width: 92px !important;
  height: 112px !important;
  border-radius: var(--mgr-radius-sm) !important;
  border: 1px solid var(--mgr-line) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(163,255,51,.12), transparent 55%),
    rgba(255,255,255,.025) !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  color: var(--mgr-lime) !important;
  font-family: var(--mgr-font-head) !important;
  font-size: 2rem !important;
  font-weight: 950 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__body {
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__top,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__top {
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
  align-items: center !important;
  color: var(--mgr-muted) !important;
  font-size: .66rem !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__top span {
  color: var(--mgr-lime) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__top em,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__status {
  color: var(--mgr-muted-2) !important;
  font-style: normal !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-card__status.is-active,
html body .mgym-routines-page--cyber-v1 .mgym-routine-mini-btn.is-current {
  color: var(--mgr-lime) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card h3,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card h3 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card p,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__meta {
  margin: 0 !important;
  color: var(--mgr-muted) !important;
  font-size: .78rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__tags,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__tags span,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__tags span,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__badge,
html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__chips span {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(255,255,255,.032) !important;
  color: var(--mgr-muted) !important;
  font-size: .70rem !important;
  font-weight: 800 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__actions,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__actions {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  margin-top: 6px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__actions button,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__btn {
  flex: 1 1 auto !important;
  min-height: 36px !important;
  padding: 8px 10px !important;
  font-size: .76rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card__actions .is-remove-bank {
  flex: 0 0 auto !important;
  border-color: rgba(255,69,58,.18) !important;
  background: rgba(255,69,58,.045) !important;
  color: var(--mgr-danger) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-arrow,
html body .mgym-routines-page--cyber-v1 .mgym-routines-sidearrow {
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  font-size: 1.1rem !important;
}
/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-BANK-END] */

/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-CARDS-START] */
html body .mgym-routines-page--cyber-v1 .mgym-routine-card {
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  scroll-snap-align: start !important;
  padding: 0 !important;
  min-height: 330px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-card.is-active {
  border-color: var(--mgr-lime-border) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.48), 0 0 26px rgba(163,255,51,.06) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-card.is-active::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  background: var(--mgr-lime) !important;
  box-shadow: 0 0 18px var(--mgr-lime) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-card__media {
  min-height: 110px !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(163,255,51,.14), transparent 52%),
    linear-gradient(145deg, rgba(255,255,255,.035), rgba(0,0,0,.15)) !important;
  color: var(--mgr-lime) !important;
  font-family: var(--mgr-font-head) !important;
  font-size: 2.35rem !important;
  font-weight: 950 !important;
  border-bottom: 1px solid var(--mgr-line) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-card__body {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 18px !important;
  min-width: 0 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-card__daypreview {
  display: grid !important;
  gap: 6px !important;
  padding: 11px 12px !important;
  border-radius: var(--mgr-radius-sm) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(0,0,0,.18) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-card__daypreview span {
  color: var(--mgr-muted) !important;
  font-size: .75rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-card__daypreview strong {
  color: #fff !important;
  font-size: .78rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-card__minirow {
  margin-top: auto !important;
  width: 100% !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-mini-btn {
  width: 100% !important;
  min-height: 38px !important;
  padding: 8px 10px !important;
  font-size: .78rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-mini-btn.is-current {
  border-color: var(--mgr-lime) !important;
  background: var(--mgr-lime) !important;
  color: #050607 !important;
  pointer-events: none !important;
  box-shadow: 0 0 16px rgba(163,255,51,.22) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-stats.is-inline {
  align-items: center !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-empty {
  padding: 24px !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--mgr-muted) !important;
  text-align: center !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-feedback {
  margin-bottom: 16px !important;
  padding: 14px 18px !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(255,255,255,.035) !important;
  color: var(--mgr-text) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-feedback.is-success {
  border-color: var(--mgr-lime-border) !important;
  background: rgba(163,255,51,.06) !important;
  color: var(--mgr-lime) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-feedback.is-error {
  border-color: rgba(255,69,58,.22) !important;
  background: rgba(255,69,58,.06) !important;
  color: var(--mgr-danger) !important;
}
/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-CARDS-END] */

/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-MODAL-START] */
html body .mgym-routines-page--cyber-v1 .mgym-routines-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100050 !important;
  display: grid !important;
  place-items: center !important;
  padding: 20px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal[hidden] {
  display: none !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(4,5,7,.86) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__card {
  position: relative !important;
  z-index: 1 !important;
  width: min(920px, 96vw) !important;
  max-height: 90vh !important;
  overflow: hidden !important;
  border-radius: var(--mgr-radius-lg) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(18,20,26,.92) !important;
  box-shadow: 0 36px 90px rgba(0,0,0,.75) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__grid {
  display: grid !important;
  grid-template-columns: minmax(220px, .36fr) minmax(0,1fr) !important;
  gap: 0 !important;
  max-height: 90vh !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__visual {
  position: relative !important;
  min-height: 420px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 22%, rgba(163,255,51,.18), transparent 45%),
    linear-gradient(180deg, rgba(0,0,0,.20), rgba(0,0,0,.48)) !important;
  border-right: 1px solid var(--mgr-line) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__visual span {
  color: var(--mgr-lime) !important;
  font-family: var(--mgr-font-head) !important;
  font-size: clamp(4rem, 8vw, 7rem) !important;
  font-weight: 950 !important;
  text-shadow: 0 0 36px rgba(163,255,51,.20) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__content {
  display: grid !important;
  gap: 14px !important;
  padding: 28px !important;
  overflow: auto !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__close {
  position: absolute !important;
  top: 12px !important;
  right: 14px !important;
  z-index: 5 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(255,255,255,.045) !important;
  color: var(--mgr-muted) !important;
  font-size: 1.5rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__close:hover {
  color: #fff !important;
  border-color: var(--mgr-lime-border) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__content h3 {
  margin: 0 !important;
  font-size: clamp(1.55rem, 2.4vw, 2.25rem) !important;
  font-weight: 940 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__meta {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 10px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__meta div {
  padding: 12px !important;
  border-radius: var(--mgr-radius-sm) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(0,0,0,.18) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__meta strong,
html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__meta span {
  display: block !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__meta strong {
  color: var(--mgr-muted) !important;
  font-size: .70rem !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__meta span {
  margin-top: 4px !important;
  color: #fff !important;
  font-weight: 850 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__notes {
  margin: 0 !important;
  padding: 13px 14px !important;
  border-radius: var(--mgr-radius-sm) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--mgr-muted) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__days {
  display: grid !important;
  gap: 10px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-day {
  padding: 14px !important;
  border-radius: var(--mgr-radius-sm) !important;
  border: 1px solid var(--mgr-line) !important;
  background: rgba(0,0,0,.18) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-day strong,
html body .mgym-routines-page--cyber-v1 .mgym-routines-day small {
  display: block !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-day small {
  color: var(--mgr-muted) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-day ul {
  display: grid !important;
  gap: 5px !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-day li {
  position: relative !important;
  padding-left: 14px !important;
  color: var(--mgr-text) !important;
  font-size: .85rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-day li::before {
  content: "•" !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--mgr-lime) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__actions {
  display: flex !important;
  gap: 10px !important;
  justify-content: flex-end !important;
  margin-top: 4px !important;
}
/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-MODAL-END] */

/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-RESPONSIVE-START] */



/* [MGYM-RUTINAS-CYBER-GLASS-V270E77-RESPONSIVE-END] */

/* ============================================================
   [MGYM-RUTINAS-CYBER-GLASS-V270E77-END]
   ============================================================ */

/* ============================================================
   [MGYM-RUTINAS-SELECTED-TRAY-V270E79-START]
   Rutinas · Bandeja visual de ejercicios seleccionados
   Función:
   - Muestra las tarjetas marcadas en el banco antes de meterlas al día activo.
   - Muestra un resumen compacto de ejercicios ya asignados al día activo.
   - Reduce el bloque de notas para que no domine el constructor.
   ============================================================ */
html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  display: grid !important;
  gap: 14px !important;
  padding: 16px !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px solid var(--mgr-line) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(163,255,51,.065), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.025), rgba(0,0,0,.20)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 16px 34px rgba(0,0,0,.20) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__head {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__head strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: var(--mgr-text) !important;
  font-family: var(--mgr-font-head) !important;
  font-size: 1.08rem !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__head em {
  display: block !important;
  color: var(--mgr-muted) !important;
  font-style: normal !important;
  font-size: .82rem !important;
  line-height: 1.35 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__grid,
html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__mini {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__mini {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__card {
  position: relative !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0,1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 10px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(163,255,51,.22) !important;
  background: linear-gradient(145deg, rgba(163,255,51,.075), rgba(0,0,0,.24)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 10px 22px rgba(0,0,0,.18) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__avatar {
  width: 54px !important;
  height: 54px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(0,0,0,.34) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: var(--mgr-lime) !important;
  font-family: var(--mgr-font-head) !important;
  font-weight: 950 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__card strong {
  display: block !important;
  color: #fff !important;
  font-family: var(--mgr-font-head) !important;
  font-size: .88rem !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__card small {
  display: block !important;
  margin-top: 3px !important;
  color: var(--mgr-muted) !important;
  font-size: .72rem !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__remove {
  width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,69,58,.22) !important;
  background: rgba(255,69,58,.08) !important;
  color: #ff6b62 !important;
  font-weight: 950 !important;
  cursor: pointer !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__remove:hover {
  background: #ff453a !important;
  color: #fff !important;
  border-color: #ff453a !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__assigned {
  display: grid !important;
  gap: 10px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  background: rgba(0,0,0,.18) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__subhead {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__subhead span {
  color: var(--mgr-muted) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__subhead strong {
  color: var(--mgr-lime) !important;
  font-family: var(--mgr-font-head) !important;
  font-weight: 900 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__empty {
  grid-column: 1 / -1 !important;
  min-height: 58px !important;
  display: grid !important;
  place-items: center !important;
  padding: 12px !important;
  border-radius: 16px !important;
  border: 1px dashed rgba(255,255,255,.10) !important;
  color: var(--mgr-muted) !important;
  background: rgba(0,0,0,.16) !important;
  text-align: center !important;
  font-size: .82rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-notes-field {
  grid-column: 1 / span 2 !important;
  width: min(100%, 560px) !important;
  max-width: 560px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-notes-field textarea {
  min-height: 44px !important;
  height: 48px !important;
  max-height: 170px !important;
  resize: vertical !important;
  line-height: 1.35 !important;
  overflow: auto !important;
}


/* ============================================================
   [MGYM-RUTINAS-SELECTED-TRAY-V270E79-END]
   ============================================================ */

/* ============================================================
   [MGYM-RUTINAS-FILTERS-MODAL-NAV-V270E80-START]
   Rutinas · Filtro visual del banco + modal scroll + ocultar nav inferior
   Función:
   - Filtro cliente-side del banco global de Biblioteca.
   - Scroll real dentro del modal para no cortar información.
   - Oculta nav inferior mientras el modal esté abierto.
   ============================================================ */
html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter {
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 14px !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px solid var(--mgr-line) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(163,255,51,.07), transparent 40%),
    linear-gradient(145deg, rgba(255,255,255,.025), rgba(0,0,0,.24)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 14px 32px rgba(0,0,0,.20) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__head {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__head strong {
  display: block !important;
  color: #fff !important;
  font-family: var(--mgr-font-head) !important;
  font-size: 1rem !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__head em {
  display: block !important;
  margin-top: 3px !important;
  color: var(--mgr-muted) !important;
  font-style: normal !important;
  font-size: .78rem !important;
  line-height: 1.35 !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__count {
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(163,255,51,.22) !important;
  background: rgba(163,255,51,.055) !important;
  color: var(--mgr-muted) !important;
  font-size: .75rem !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__count b {
  color: var(--mgr-lime) !important;
  font-family: var(--mgr-font-mono) !important;
  font-size: .9rem !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__search input {
  width: 100% !important;
  min-height: 42px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(0,0,0,.30) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__search input:focus {
  border-color: var(--mgr-lime-border) !important;
  box-shadow: 0 0 0 1px rgba(163,255,51,.10), 0 0 18px rgba(163,255,51,.09) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__chips button {
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.032) !important;
  color: var(--mgr-muted) !important;
  font-family: var(--mgr-font-head) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__chips button:hover,
html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__chips button.is-active {
  transform: translateY(-1px) !important;
  border-color: var(--mgr-lime-border) !important;
  background: rgba(163,255,51,.12) !important;
  color: var(--mgr-lime) !important;
  box-shadow: 0 0 16px rgba(163,255,51,.08) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-card.is-filter-hidden {
  display: none !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routine-bankrail.is-filtered-empty::after {
  content: "No hay ejercicios visibles con este filtro." !important;
  grid-column: 1 / -1 !important;
  min-height: 132px !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  border-radius: var(--mgr-radius-md) !important;
  border: 1px dashed rgba(255,255,255,.12) !important;
  color: var(--mgr-muted) !important;
  background: rgba(0,0,0,.18) !important;
}

/* Modal: barra/scroll visible para que no se corte la ficha. */
html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__card {
  max-height: min(90dvh, 820px) !important;
  display: flex !important;
  flex-direction: column !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__grid {
  min-height: 0 !important;
  height: min(90dvh, 820px) !important;
  max-height: min(90dvh, 820px) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__content {
  min-height: 0 !important;
  max-height: min(90dvh, 820px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: 34px !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(163,255,51,.54) rgba(255,255,255,.06) !important;
  overscroll-behavior: contain !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__content::-webkit-scrollbar {
  width: 8px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__content::-webkit-scrollbar-track {
  background: rgba(255,255,255,.045) !important;
  border-radius: 999px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__content::-webkit-scrollbar-thumb {
  background: rgba(163,255,51,.54) !important;
  border-radius: 999px !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__actions {
  position: sticky !important;
  bottom: -1px !important;
  z-index: 4 !important;
  padding-top: 12px !important;
  background: linear-gradient(180deg, rgba(18,20,26,0), rgba(18,20,26,.94) 35%, rgba(18,20,26,.98)) !important;
}

/* Oculta cualquier navegación inferior mientras el modal de Rutinas está abierto. */
html.mgym-rutinas-modal-open :is(.nav_com, .mgym-mobile-nav, .mgym-ent-mobile-nav, .mgym-bottom-nav, .mgym-config-local-nav, [data-mgym-mobile-nav]),
body.mgym-rutinas-modal-open :is(.nav_com, .mgym-mobile-nav, .mgym-ent-mobile-nav, .mgym-bottom-nav, .mgym-config-local-nav, [data-mgym-mobile-nav]),
body.mgym-lib-modal-open :is(.nav_com, .mgym-mobile-nav, .mgym-ent-mobile-nav, .mgym-bottom-nav, .mgym-config-local-nav, [data-mgym-mobile-nav]) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(120%) !important;
}


/* ============================================================
   [MGYM-RUTINAS-FILTERS-MODAL-NAV-V270E80-END]
   ============================================================ */

/* ============================================================
   [MGYM-RUTINAS-MOBILE-SCROLL-FIX-V270E82-START]
   MacroGym · Rutinas · Corrección real de scroll móvil
   Función:
   - En móvil, el banco de ejercicios se muestra en carrusel lateral de 2 filas.
   - En móvil, las rutinas guardadas se muestran en carrusel lateral de 1 fila.
   - Mantiene el modal con scroll interno y nav inferior oculto cuando el modal abre.
   ============================================================ */

/* ============================================================
   [MGYM-RUTINAS-MOBILE-SCROLL-FIX-V270E82-END]
   ============================================================ */

/* ============================================================
 * [MGYM-RUTINAS-MODAL-NAV-HARD-FIX-V270E83-START]
 * Función:
 * - Oculta el nav inferior real de mobile-nav.php al abrir modal de Rutinas.
 * - Cubre clases específicas y genéricas usadas por MacroGym/WordPress.
 * - Evita que el nav tape botones del modal en móvil.
 * ============================================================ */
html.mgym-rutinas-modal-open,
body.mgym-rutinas-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

html.mgym-rutinas-modal-open body :is(
  nav.mgym-mobile-bottom-nav,
  .mgym-mobile-bottom-nav,
  .mgym-mobile-bottom-nav--rutinas,
  .mgym-mobile-bottom-nav--biblioteca,
  .nav_com,
  .nav_com_mobile,
  .mgym-mobile-nav,
  .mgym-ent-mobile-nav,
  .mgym-bottom-nav,
  .mgym-config-local-nav,
  [data-mgym-mobile-nav],
  [class*="mobile-bottom-nav"],
  [class*="bottom-nav"]
),
body.mgym-rutinas-modal-open :is(
  nav.mgym-mobile-bottom-nav,
  .mgym-mobile-bottom-nav,
  .mgym-mobile-bottom-nav--rutinas,
  .mgym-mobile-bottom-nav--biblioteca,
  .nav_com,
  .nav_com_mobile,
  .mgym-mobile-nav,
  .mgym-ent-mobile-nav,
  .mgym-bottom-nav,
  .mgym-config-local-nav,
  [data-mgym-mobile-nav],
  [class*="mobile-bottom-nav"],
  [class*="bottom-nav"]
) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(140%) !important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-modal {
  z-index: 2147483000 !important;
}


/* [MGYM-RUTINAS-MODAL-NAV-HARD-FIX-V270E83-END] */

/* ============================================================
   [MGYM-RUTINAS-MOBILE-100-MODAL-BUTTONS-V270E84-START]
   MacroGym · Rutinas · Móvil 100% + modal sin botones flotantes
   Función:
   - En móvil todos los bloques internos principales ocupan el 100% real.
   - Evita desbordes horizontales del contenedor y de los brillos decorativos.
   - Convierte banco y rutinas en tarjetas a 1 columna / 100% cuando el usuario quiere lectura vertical.
   - Quita el sticky de botones del modal para que no floten encima del contenido.
   - Refuerza ocultación de nav inferior y overlays fijos mientras el modal está abierto.
   ============================================================ */


/* Modal: botones dentro del flujo, nunca flotando sobre el texto. */
html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__actions {
  position: static !important;
  bottom: auto !important;
  z-index: auto !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  background: transparent !important;
  border-top: 1px solid var(--mgr-line) !important;
}



html.mgym-rutinas-modal-open :is(
  nav,
  .nav_com,
  .nav_com_mobile,
  .mgym-mobile-bottom-nav,
  .mgym-mobile-bottom-nav--rutinas,
  .mgym-mobile-nav,
  .mgym-ent-mobile-nav,
  .mgym-bottom-nav,
  .mgym-floating-nav,
  .mobile-nav,
  .bottom-nav,
  .fixed-bottom,
  [data-mgym-mobile-nav],
  [class*="bottom-nav"],
  [class*="mobile-nav"],
  [class*="fixed-bottom"]
),
body.mgym-rutinas-modal-open :is(
  nav,
  .nav_com,
  .nav_com_mobile,
  .mgym-mobile-bottom-nav,
  .mgym-mobile-bottom-nav--rutinas,
  .mgym-mobile-nav,
  .mgym-ent-mobile-nav,
  .mgym-bottom-nav,
  .mgym-floating-nav,
  .mobile-nav,
  .bottom-nav,
  .fixed-bottom,
  [data-mgym-mobile-nav],
  [class*="bottom-nav"],
  [class*="mobile-nav"],
  [class*="fixed-bottom"]
) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(160%) !important;
}
/* [MGYM-RUTINAS-MOBILE-100-MODAL-BUTTONS-V270E84-END] */

/* ============================================================
   [MGYM-RUTINAS-SYSTEM-RECOMMENDED-V270E85-START]
   MacroGym · Rutinas creadas por el sistema
   Función:
   - Bloque Cyber-Glass para propuestas generadas por PAR-Q/perfil/configuración.
   - Las tarjetas son virtuales: no pisan rutinas manuales ni núcleo.
   ============================================================ */
html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated{
  width:100%!important;
  margin:18px 0 22px!important;
  padding:24px!important;
  border-radius:28px!important;
  border:1px solid rgba(163,255,51,.20)!important;
  background:
    radial-gradient(circle at 8% 0%, rgba(163,255,51,.075), transparent 34%),
    linear-gradient(145deg, rgba(18,20,26,.82), rgba(6,7,9,.72))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 22px 60px rgba(0,0,0,.38)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  overflow:hidden!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:start!important;
  margin-bottom:18px!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__legend{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:8px!important;
  max-width:420px!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__legend span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  border:1px solid rgba(163,255,51,.18)!important;
  background:rgba(163,255,51,.045)!important;
  color:rgba(248,250,252,.82)!important;
  font-size:.68rem!important;
  font-weight:850!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr))!important;
  gap:16px!important;
  width:100%!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  gap:16px!important;
  min-height:260px!important;
  padding:18px!important;
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  background:
    radial-gradient(circle at 0% 0%, rgba(163,255,51,.09), transparent 36%),
    rgba(8,10,14,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 40px rgba(0,0,0,.28)!important;
  overflow:hidden!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:4px!important;
  background:linear-gradient(180deg,#a3ff33,rgba(163,255,51,.18))!important;
  opacity:.95!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__orb{
  position:relative!important;
  min-height:100%!important;
  display:grid!important;
  place-items:center!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,rgba(163,255,51,.12),rgba(0,0,0,.22))!important;
  border:1px solid rgba(163,255,51,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 34px rgba(163,255,51,.08)!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__orb span{
  color:#a3ff33!important;
  font-size:clamp(3rem,7vw,5.4rem)!important;
  line-height:1!important;
  font-weight:950!important;
  text-shadow:0 0 30px rgba(163,255,51,.32)!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__body{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__top{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:10px!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__badge{
  display:inline-flex!important;
  width:max-content!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:rgba(163,255,51,.11)!important;
  border:1px solid rgba(163,255,51,.26)!important;
  color:#a3ff33!important;
  font-size:.66rem!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__top em{
  color:rgba(203,213,225,.82)!important;
  font-size:.68rem!important;
  line-height:1.25!important;
  font-style:normal!important;
  text-align:right!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card h3{
  margin:0!important;
  color:#fff!important;
  font-size:1.18rem!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card p{
  margin:0!important;
  color:rgba(203,213,225,.78)!important;
  font-size:.82rem!important;
  line-height:1.45!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__tags span{
  padding:5px 8px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.07)!important;
  background:rgba(255,255,255,.035)!important;
  color:rgba(226,232,240,.84)!important;
  font-size:.68rem!important;
  font-weight:750!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__preview{
  display:grid!important;
  gap:7px!important;
  padding:10px!important;
  border-radius:15px!important;
  border:1px solid rgba(255,255,255,.07)!important;
  background:rgba(0,0,0,.22)!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__preview span{
  color:rgba(203,213,225,.78)!important;
  font-size:.74rem!important;
  line-height:1.35!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__preview strong{
  color:#fff!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:auto!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__review{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:6px 8px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,176,32,.22)!important;
  background:rgba(255,176,32,.055)!important;
  color:rgba(255,236,204,.92)!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__review span,
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__review strong{
  font-size:.62rem!important;
  line-height:1!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__review span{
  color:#ffb020!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routine-card__review strong{
  color:rgba(255,255,255,.78)!important;
}

/* ============================================================
   [MGYM-RUTINAS-SYSTEM-RECOMMENDED-V270E85-END]
   ============================================================ */

/* ============================================================
   [MGYM-RUTINAS-SYSTEM-LIBRARY-SCROLL-V270E87-START]
   MacroGym · Rutinas del sistema · carrusel dos filas
   Función:
   - Muestra las rutinas virtuales generadas por PAR-Q/perfil/configuración.
   - Mantiene dos filas con scroll lateral y flechas.
   - No toca la lógica de guardado ni las rutinas del usuario.
   ============================================================ */
html body .mgym-routines-page--cyber-v1 .mgym-routines-system-carousel-shell{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-system-arrow{
  width:44px!important;
  min-width:44px!important;
  height:64px!important;
  min-height:64px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:18px!important;
  border:1px solid rgba(163,255,51,.22)!important;
  background:rgba(163,255,51,.06)!important;
  color:#a3ff33!important;
  font-size:1.25rem!important;
  font-weight:950!important;
  cursor:pointer!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 34px rgba(0,0,0,.28)!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-system-arrow:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(163,255,51,.46)!important;
  background:rgba(163,255,51,.12)!important;
  box-shadow:0 0 22px rgba(163,255,51,.16),0 14px 34px rgba(0,0,0,.32)!important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__grid.mgym-routines-system-generated__rail{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(2,minmax(270px,auto))!important;
  grid-auto-columns:minmax(360px,440px)!important;
  grid-template-columns:none!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:4px 4px 16px!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(163,255,51,.55) rgba(255,255,255,.06)!important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__grid.mgym-routines-system-generated__rail::-webkit-scrollbar{
  height:9px!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__grid.mgym-routines-system-generated__rail::-webkit-scrollbar-track{
  background:rgba(255,255,255,.045)!important;
  border-radius:999px!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__grid.mgym-routines-system-generated__rail::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,rgba(163,255,51,.35),rgba(163,255,51,.78))!important;
  border-radius:999px!important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__rail .mgym-system-routine-card{
  width:100%!important;
  min-width:0!important;
  scroll-snap-align:start!important;
}

html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__rail.has-scroll-left{
  mask-image:linear-gradient(90deg,transparent 0,#000 30px,#000 calc(100% - 16px),#000 100%)!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__rail.has-scroll-right{
  mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent 100%)!important;
}
html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__rail.has-scroll-left.has-scroll-right{
  mask-image:linear-gradient(90deg,transparent 0,#000 30px,#000 calc(100% - 34px),transparent 100%)!important;
}


/* ============================================================
   [MGYM-RUTINAS-SYSTEM-LIBRARY-SCROLL-V270E87-END]
   ============================================================ */

/* ============================================================
   [MGYM-RUTINAS-MOBILE-APP-CLEAN-V270E89-START]
   MacroGym · Rutinas · Móvil limpio tipo app
   Función:
   - Sustituye los responsive antiguos por un único bloque móvil.
   - Mantiene desktop intacto.
   - En móvil fuerza contenedores al 100% sin desbordes.
   - Banco de ejercicios: 2 filas con scroll lateral.
   - Rutinas usuario: 1 fila con scroll lateral.
   - Rutinas sistema: 1 fila con scroll lateral.
   - Modal: scroll interno, botones en flujo normal, nav inferior oculto.
   ============================================================ */

@media (max-width: 781px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  html body .entry-content:has(.mgym-routines-page--cyber-v1),
  html body .site-main:has(.mgym-routines-page--cyber-v1),
  html body .ct-container:has(.mgym-routines-page--cyber-v1),
  html body .wp-block-post-content:has(.mgym-routines-page--cyber-v1) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
  }

  html body .mgym-routines-page.mgym-routines-page--cyber-v1 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px 8px 150px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    background: transparent !important;
  }

  html body .mgym-routines-page.mgym-routines-page--cyber-v1::before,
  html body .mgym-routines-page.mgym-routines-page--cyber-v1::after {
    display: none !important;
    content: none !important;
  }

  /* 100% real en todos los contenedores internos normales. */
  html body .mgym-routines-page--cyber-v1,
  html body .mgym-routines-page--cyber-v1 > *,
  html body .mgym-routines-page--cyber-v1 :is(section, header, footer, form, fieldset, article, div) {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(
    .mgym-routines-master__hero,
    .mgym-routines-builder,
    .mgym-routines-collection,
    .mgym-routines-system-generated,
    .mgym-routine-day-builder,
    .mgym-routines-selected-tray,
    .mgym-routine-bank-filter,
    .mgym-routine-bank-section,
    .mgym-routine-bank-carousel-wrap,
    .mgym-routines-carousel-shell,
    .mgym-routines-system-carousel-shell
  ) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(
    .mgym-routines-master__hero,
    .mgym-routines-builder,
    .mgym-routines-collection,
    .mgym-routines-system-generated
  ) {
    padding: 14px !important;
    border-radius: 18px !important;
    margin-top: 12px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-title {
    font-size: clamp(1.65rem, 8vw, 2.15rem) !important;
    line-height: .98 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-subtitle,
  html body .mgym-routines-page--cyber-v1 p {
    max-width: 100% !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-pill {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
    padding: 8px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-activebar,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-collection__head,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__head,
  html body .mgym-routines-page--cyber-v1 .mgym-routine-builder-toolbar,
  html body .mgym-routines-page--cyber-v1 .mgym-routine-builder-toolbar__actions,
  html body .mgym-routines-page--cyber-v1 .mgym-routine-day-builder__head,
  html body .mgym-routines-page--cyber-v1 .mgym-routine-day-dropzone,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__head,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__actions,
  html body .mgym-routines-page--cyber-v1 .mgym-routine-bank-filter__head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    text-align: center !important;
    align-items: stretch !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(
    .mgym-routines-builder__grid,
    .mgym-routines-modal__grid,
    .mgym-routines-modal__meta,
    .mgym-routines-selected-tray__grid,
    .mgym-routines-selected-tray__mini
  ) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 10px !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(input, select, textarea, button, .mgym-routines-btn) {
    max-width: 100% !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-builder-toolbar__actions .mgym-routines-btn,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-selected-tray__actions .mgym-routines-btn,
  html body .mgym-routines-page--cyber-v1 .mgym-routine-day-dropzone .mgym-routines-btn {
    width: 100% !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-day-tabs {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-day-tabs button {
    flex: 1 1 72px !important;
    min-width: 72px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-exercise-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-exercise-row select {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-exercise-row button {
    width: 100% !important;
  }

  /* Flechas laterales visibles pero compactas. */
  html body .mgym-routines-page--cyber-v1 :is(.mgym-routine-bank-carousel-wrap, .mgym-routines-carousel-shell, .mgym-routines-system-carousel-shell) {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 6px !important;
    align-items: center !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routine-bank-arrow, .mgym-routines-sidearrow, .mgym-routines-system-arrow) {
    width: 34px !important;
    min-width: 34px !important;
    height: 58px !important;
    min-height: 58px !important;
    border-radius: 15px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
  }

  /* Banco de ejercicios: 2 filas con scroll lateral. */
  html body .mgym-routines-page--cyber-v1 .mgym-routine-bankrail {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-rows: repeat(2, minmax(0, auto)) !important;
    grid-auto-columns: minmax(235px, calc(100vw - 96px)) !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 2px 14px !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-bankrail .mgym-routine-bank-card {
    width: 100% !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
  }

  /* Rutinas creadas por usuario: 1 fila con scroll lateral. */
  html body .mgym-routines-page--cyber-v1 .mgym-routines-carousel {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-rows: 1fr !important;
    grid-auto-columns: minmax(270px, calc(100vw - 96px)) !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 2px 14px !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-carousel .mgym-routine-card {
    width: 100% !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
  }

  /* Rutinas creadas por el sistema: 1 fila en móvil. */
  html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__grid.mgym-routines-system-generated__rail {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-rows: 1fr !important;
    grid-auto-columns: minmax(275px, calc(100vw - 96px)) !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 2px 14px !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__rail .mgym-system-routine-card {
    width: 100% !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routine-bankrail, .mgym-routines-carousel, .mgym-routines-system-generated__rail)::-webkit-scrollbar {
    height: 8px !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routine-bankrail, .mgym-routines-carousel, .mgym-routines-system-generated__rail)::-webkit-scrollbar-track {
    background: rgba(255,255,255,.04) !important;
    border-radius: 999px !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routine-bankrail, .mgym-routines-carousel, .mgym-routines-system-generated__rail)::-webkit-scrollbar-thumb {
    background: rgba(163,255,51,.55) !important;
    border-radius: 999px !important;
  }

  /* Modal tipo app: nada flotando, todo con scroll interno. */
  html body .mgym-routines-page--cyber-v1 .mgym-routines-modal {
    z-index: 2147483000 !important;
    padding: 8px !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__card {
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100dvh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-rows: 1fr !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(163,255,51,.55) rgba(255,255,255,.06) !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__visual {
    min-height: 210px !important;
    height: 210px !important;
    border-radius: 0 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__content {
    display: block !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    padding: 22px 18px 28px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__actions {
    position: static !important;
    inset: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__actions > *,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__actions .mgym-routines-btn {
    width: 100% !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-modal__close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 20 !important;
  }

  /* Ocultar nav inferior real al abrir modal. Incluye selector moderno :has para Chrome Android. */
  html.mgym-rutinas-modal-open :is(.nav_com, .nav-com, .mgym-mobile-nav, .mgym-ent-mobile-nav, .mgym-bottom-nav, .bottom-nav, .mobile-bottom-nav, .mgym-config-local-nav, [data-mgym-mobile-nav], [class*="bottom"][class*="nav"], [class*="mobile"][class*="nav"]),
  body.mgym-rutinas-modal-open :is(.nav_com, .nav-com, .mgym-mobile-nav, .mgym-ent-mobile-nav, .mgym-bottom-nav, .bottom-nav, .mobile-bottom-nav, .mgym-config-local-nav, [data-mgym-mobile-nav], [class*="bottom"][class*="nav"], [class*="mobile"][class*="nav"]),
  html:has(.mgym-routines-page--cyber-v1 .mgym-routines-modal:not([hidden])) body :is(.nav_com, .nav-com, .mgym-mobile-nav, .mgym-ent-mobile-nav, .mgym-bottom-nav, .bottom-nav, .mobile-bottom-nav, .mgym-config-local-nav, [data-mgym-mobile-nav], [class*="bottom"][class*="nav"], [class*="mobile"][class*="nav"]) {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(140%) !important;
  }



  /* [MGYM-RUTINAS-MOBILE-DOTS-APP-START]
     Móvil:
     - Sustituye flechas laterales por indicadores tipo app.
     - Oculta la barra/"subrayado" del scroll nativo.
     - Da más anchura útil a las tarjetas.
     - Formatea párrafos de cabecera para que no se rompan.
  */
  html body .mgym-routines-page--cyber-v1 :is(.mgym-routine-bank-carousel-wrap, .mgym-routines-carousel-shell, .mgym-routines-system-carousel-shell) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routine-bank-arrow, .mgym-routines-sidearrow, .mgym-routines-system-arrow) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-bankrail {
    grid-auto-columns: minmax(286px, calc(100vw - 34px)) !important;
    gap: 12px !important;
    padding: 2px 0 8px !important;
    scrollbar-width: none !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-carousel,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__grid.mgym-routines-system-generated__rail {
    grid-auto-columns: minmax(292px, calc(100vw - 34px)) !important;
    gap: 12px !important;
    padding: 2px 0 8px !important;
    scrollbar-width: none !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routine-bankrail, .mgym-routines-carousel, .mgym-routines-system-generated__rail)::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-card,
  html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card {
    min-height: 360px !important;
    border-radius: 24px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-card__media,
  html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__media {
    min-height: 132px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-card__body,
  html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__body {
    padding: 18px !important;
    gap: 12px !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routines-builder__head, .mgym-routines-collection__head, .mgym-routines-system-generated__head) {
    text-align: left !important;
    align-items: start !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routines-builder__head p, .mgym-routines-collection__head p, .mgym-routines-system-generated__head p, .mgym-routines-muted) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 10px 12px !important;
    border-radius: 15px !important;
    border: 1px solid rgba(255,255,255,.065) !important;
    background: rgba(255,255,255,.025) !important;
    color: rgba(226,232,240,.78) !important;
    font-size: .82rem !important;
    line-height: 1.45 !important;
    letter-spacing: -.01em !important;
    overflow-wrap: anywhere !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-scroll-dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 9px 0 2px !important;
    padding: 0 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-scroll-dot {
    appearance: none !important;
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    min-height: 7px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: rgba(148,163,184,.45) !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: width .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-scroll-dot.is-active {
    width: 22px !important;
    background: var(--mgr-lime) !important;
    box-shadow: 0 0 14px rgba(163,255,51,.45) !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-scroll-dots.is-hidden {
    display: none !important;
  }
  /* [MGYM-RUTINAS-MOBILE-DOTS-APP-END] */

  /* [MGYM-RUTINAS-MOBILE-FIRST-BLOCK-EDGE-START]
     Ajuste final móvil:
     - El primer bloque vuelve a ocupar el 100% real tipo app.
     - Se pega al borde lateral de la pantalla.
     - Evita que el hero quede estrecho, alto o con contenido oculto.
  */
  html body .mgym-routines-page.mgym-routines-page--cyber-v1 {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 calc(50% - 50vw) 0 !important;
    padding: 0 0 128px !important;
    overflow-x: clip !important;
    background:
      radial-gradient(circle at 90% 0%, rgba(163,255,51,.055), transparent 34%),
      linear-gradient(180deg, #050607 0%, #060709 100%) !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-feedback,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-master,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-builder,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-collection,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-system-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-master {
    padding: 0 !important;
    margin: 0 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-master__hero {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 18px 14px 16px !important;
    border-radius: 0 0 26px 26px !important;
    border-left: 0 !important;
    border-right: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-master__hero > div,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-master__hero > section,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-master__hero > article {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-kicker {
    margin: 0 0 8px !important;
    font-size: 10px !important;
    letter-spacing: .16em !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-title {
    display: block !important;
    margin: 0 0 10px !important;
    font-size: clamp(2rem, 11vw, 3rem) !important;
    line-height: .92 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-subtitle,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-muted {
    display: block !important;
    max-width: 100% !important;
    font-size: .86rem !important;
    line-height: 1.48 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-stats {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    justify-content: stretch !important;
    align-items: stretch !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-pill {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 62px !important;
    padding: 10px 8px !important;
    border-radius: 16px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-stats .mgym-routines-primarylink {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-activebar {
    width: calc(100% - 16px) !important;
    margin: 12px 8px 14px !important;
    border-radius: 18px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-builder,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-collection,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-system-section {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    margin: 14px 8px 0 !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }
  /* [MGYM-RUTINAS-MOBILE-FIRST-BLOCK-EDGE-END] */


  /* [MGYM-RUTINAS-MOBILE-CAROUSEL-DOTS-FIX-START]
     Ajuste fino móvil:
     - Los puntos quedan siempre debajo del carrusel, sin flotar ni desbordar.
     - Los rails vuelven a tener scroll real para que el JS pueda marcar el punto activo.
     - Las tarjetas del tercer bloque ganan anchura útil.
     - Los tres bloques KPI del encabezado se alinean a la izquierda.
  */
  html body .mgym-routines-page--cyber-v1 .mgym-routines-master__hero {
    text-align: left !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-content: start !important;
    align-items: stretch !important;
    text-align: left !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-pill {
    place-items: start !important;
    align-content: center !important;
    text-align: left !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-pill strong,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-pill span {
    width: 100% !important;
    text-align: left !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routines-builder__head p, .mgym-routines-collection__head p, .mgym-routines-system-generated__head p, .mgym-routines-muted) {
    text-align: left !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routine-bank-carousel-wrap, .mgym-routines-carousel-shell, .mgym-routines-system-carousel-shell) {
    position: relative !important;
    display: block !important;
    overflow: visible !important;
    padding-bottom: 4px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routine-bankrail {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    grid-auto-columns: minmax(288px, calc(100vw - 32px)) !important;
    padding: 2px 0 10px !important;
    scroll-snap-type: x mandatory !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-carousel {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    grid-auto-columns: minmax(312px, calc(100vw - 32px)) !important;
    padding: 2px 0 10px !important;
    scroll-snap-type: x mandatory !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-system-generated__grid.mgym-routines-system-generated__rail {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    grid-auto-columns: minmax(326px, calc(100vw - 28px)) !important;
    padding: 2px 0 10px !important;
    scroll-snap-type: x mandatory !important;
  }

  html body .mgym-routines-page--cyber-v1 :is(.mgym-routine-bank-card, .mgym-routine-card, .mgym-system-routine-card) {
    scroll-snap-align: start !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card {
    min-height: 0 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card__body {
    padding: 16px !important;
    gap: 10px !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card h3 {
    font-size: 1.04rem !important;
    line-height: 1.12 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-system-routine-card p {
    font-size: .78rem !important;
    line-height: 1.35 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-scroll-dots {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    z-index: 1 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-scroll-dot {
    flex: 0 0 auto !important;
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    min-height: 7px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(148,163,184,.42) !important;
    opacity: 1 !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-scroll-dot.is-active,
  html body .mgym-routines-page--cyber-v1 .mgym-routines-scroll-dot[aria-current="true"] {
    width: 24px !important;
    min-width: 24px !important;
    background: var(--mgr-lime) !important;
    box-shadow: 0 0 14px rgba(163,255,51,.50) !important;
  }

  html body .mgym-routines-page--cyber-v1 .mgym-routines-scroll-dots.is-hidden {
    display: none !important;
  }
  /* [MGYM-RUTINAS-MOBILE-CAROUSEL-DOTS-FIX-END] */

}

/* ============================================================
   [MGYM-RUTINAS-MOBILE-APP-CLEAN-V270E89-END]
   ============================================================ */
