/* RENOVAR V2.10.9 — tema claro unificado. Se carga al final de todos los estilos.
   No cambia la lógica de entrenamiento, el cronómetro ni los datos. */
:root {
  color-scheme:light;
  --bg:#f4f8ff; --bg-elev:#fff; --panel:#fff; --panel2:#f7faff;
  --line:#e1eaf5; --line-strong:#cbd9ec;
  --text:#1c304d; --muted:#61748f;
  --blue:#246ef1; --blue2:#165bd6;
  --shadow:0 7px 25px rgba(38,76,128,.07);
}
html,body {background:#f4f8ff!important;color:#243954!important;}
.app,.main {background:#f4f8ff;color:#243954;}
/* Acceso: mismo lenguaje visual, sin bloque oscuro en computadoras. */
.auth {background:#f4f8ff;}
.auth-hero {background:radial-gradient(circle at 16% 15%,#e5f0ff,#f5f9ff 55%,#fff);color:#19375b;border-right:1px solid #e1eaf5;}
.auth-hero h1 {color:#172e50;}
.auth-hero p {color:#58718e!important;}
.auth-side {background:#f4f8ff;}
.auth-card {border:1px solid #dfe8f4;box-shadow:0 15px 45px rgba(29,72,132,.08);}
.auth-card h2 {color:#1a304d;}
.auth-card .tabs {background:#eaf1fa;}
/* Alumno: misma estética clara que administración. */
.student-workspace {
  --bg:#f4f8ff;--panel:#fff;--panel2:#f7faff;
  --line:#e1eaf5;--line-strong:#ccdbed;
  --text:#1c304d;--muted:#61748f;
  color:#243954;background:#f4f8ff;
}
.student-workspace .main {background:linear-gradient(135deg,#f9fbff,#f1f6ff 70%,#f7faff)!important;}
.student-workspace .sidebar {background:#fff!important;border-right:1px solid #e0eaf5!important;color:#203a59!important;box-shadow:none!important;}
.student-workspace .sidebar .nav button {color:#4b6686!important;}
.student-workspace .sidebar .nav button:hover {background:#eef5ff!important;color:#1658bf!important;}
.student-workspace .sidebar .nav button.active {background:#2674ec!important;color:#fff!important;}
.student-workspace .sidebar-foot {border-color:#e4ebf5;color:#6e829b;}
.student-workspace .sidebar-foot a {color:#2466d5;}
.student-workspace .topbar {background:rgba(255,255,255,.96)!important;border-bottom:1px solid #e1eaf5!important;box-shadow:0 2px 12px rgba(27,71,131,.035);color:#223955;}
.student-workspace .topbar h2 {color:#213852!important;}
.student-workspace .topbar-kicker {color:#6885a6!important;}
.student-workspace .user-meta b {color:#294363;}
.student-workspace .user-meta small {color:#7387a0;}
.student-workspace .notification-bell,.student-workspace .mobile-menu {background:#f0f6ff!important;border:1px solid #dce7f7!important;color:#2865c2!important;}
.student-workspace .content {color:#243954;}
.student-workspace .content h1,.student-workspace .content h2,.student-workspace .content h3,.student-workspace .content h4,.student-workspace .name {color:#1b3352!important;}
.student-workspace .content p,.student-workspace .content .muted {color:#647b96;}
.student-workspace .hero-panel,.student-workspace .workout-head,.student-workspace .workout-hero {
  background:linear-gradient(118deg,#fff,#f0f6ff)!important;
  border:1px solid #dce7f5!important;color:#203954!important;
  box-shadow:0 5px 20px rgba(39,84,144,.055)!important;
}
.student-workspace .hero-panel:after {display:none;}
.student-workspace .hero-panel p {color:#627b99!important;}
.student-workspace .panel,.student-workspace .stat,.student-workspace .subcard,.student-workspace .profile-card,
.student-workspace .plan-card,.student-workspace .exercise-card,.student-workspace .student-exercise,
.student-workspace .profile-plan,.student-workspace .history-card,.student-workspace .launch-card,
.student-workspace .attention-card,.student-workspace .alert-card {
  background:#fff!important;border:1px solid #e0e9f5!important;color:#263e5c!important;
  box-shadow:0 3px 14px rgba(34,80,145,.045)!important;
}
.student-workspace .stat strong {color:#23446e!important;}
.student-workspace .stat span {color:#667f9b!important;}
.student-workspace .badge.blue,.student-workspace .badge.green,.student-workspace .badge.yellow,.student-workspace .badge.red {border:1px solid transparent;}
.student-workspace .badge.blue {background:#eaf3ff!important;color:#1d60c9!important;border-color:#d9e7fb;}
.student-workspace .badge.green {background:#e6f7ef!important;color:#08774f!important;}
.student-workspace .badge.yellow {background:#fff4db!important;color:#94600b!important;}
.student-workspace .badge.red {background:#ffedf0!important;color:#b73d50!important;}
.student-workspace .btn.ghost,.student-workspace .icon-btn {background:#eff5ff!important;color:#2a609e!important;border:1px solid #dbe6f5!important;}
.student-workspace .btn.primary {background:#246ef1!important;color:#fff!important;}
.student-workspace .input,.student-workspace select,.student-workspace textarea {background:#fff!important;color:#223d5b!important;border-color:#d8e4f3!important;}
.student-workspace .table {background:#fff!important;color:#293e59!important;}
.student-workspace .table th {background:#f5f9ff!important;color:#627e9c!important;border-color:#e2eaf4!important;}
.student-workspace .table td {color:#314a69!important;border-color:#e8eff8!important;}
.student-workspace .table tr:hover td {background:#f4f8ff!important;}
.student-workspace .profile-nav button,.student-workspace .plan-day-tabs button {background:#eef4fc!important;color:#466483!important;}
.student-workspace .profile-nav button.active,.student-workspace .plan-day-tabs button.active {background:#276fe7!important;color:#fff!important;}
.student-workspace .profile-card p,.student-workspace .kv span:first-child {color:#6b819b!important;}
.student-workspace .kv,.student-workspace .doc {border-color:#e2eaf5!important;}
.student-workspace .health-alert {background:#fff8e9!important;color:#8a651e!important;border-color:#f0e0b8!important;}
.student-workspace .progress-line,.student-workspace .exercise-set-progress>i {background:#e5eef9!important;}
.student-workspace .progress-line i {background:#327af0!important;}
.student-workspace .plan-position,.student-workspace .student-week-summary {background:#eef5ff!important;border:1px solid #dce8f9!important;color:#305377!important;}
.student-workspace .plan-position b {color:#2264c6!important;}
.student-workspace .plan-position span,.student-workspace .student-week-summary span {color:#6a7f98!important;}
.student-workspace .history-summary span {background:#eef4fc!important;color:#55718f!important;border-color:#e0eaf6!important;}
.student-workspace .history-summary b,.student-workspace .plan-frequency-summary b {color:#1c3b65!important;}
.student-workspace .footer-sign {border-color:#e3ebf5;color:#7287a0;}
.student-workspace .footer-sign a {color:#2864bf;}
/* Entrenamiento guiado: fondos claros, siguiente ejercicio destacado. */
.student-workspace .guided-block {background:#fff!important;border-color:#dfe8f5!important;box-shadow:0 4px 18px rgba(31,76,137,.05)!important;}
.student-workspace .guided-block-head p {color:#6d829b!important;}
.student-workspace .guided-block-meta {background:#eef5ff!important;border-color:#d9e7fa!important;}
.student-workspace .guided-block-meta b {color:#2157a6;}
.student-workspace .guided-block-meta span {color:#617c9a;}
.student-workspace .guided-round {background:#f7faff!important;border-color:#e1eaf6!important;}
.student-workspace .guided-round>header {border-color:#e0eaf6!important;}
.student-workspace .guided-round>header span {color:#2468c9!important;}
.student-workspace .guided-round>header b,.student-workspace .guided-round>header>strong {color:#637e9d!important;}
.student-workspace .guided-exercise {background:#fff!important;border:1px solid #e2eaf5!important;}
.student-workspace .guided-exercise.next {background:#eaf3ff!important;border:1px solid #80aff6!important;box-shadow:0 0 0 1px rgba(42,115,227,.12)!important;}
.student-workspace .guided-exercise.done {background:#effaf4!important;border-color:#b6e2cb!important;}
.student-workspace .guided-order {background:#e8f1ff!important;color:#2c6aca!important;}
.student-workspace .guided-exercise.done .guided-order {background:#dcf4e8!important;color:#148052!important;}
.student-workspace .guided-name {color:#213a58!important;}
.student-workspace .guided-prescription strong {color:#2467c9!important;}
.student-workspace .guided-prescription span,.student-workspace .guided-note {color:#6b829c!important;}
.student-workspace .guided-actions button:not(.guided-demo-cta) {color:#2264c2!important;}
.student-workspace .guided-actions .tech-btn {color:#5a7798!important;}
.student-workspace .round-done {background:#eaf3ff!important;color:#2562b5!important;border-color:#bad2f4!important;}
.student-workspace .round-done.done {background:#dff5e9!important;color:#127b50!important;border-color:#afe1c8!important;}
.student-workspace .round-rest-preview,.student-workspace .round-rest-preview b {color:#6c8099!important;}
.student-workspace .guided-demo-thumb {background:#f2f7ff;border-color:#c7d9ee;}
.student-workspace .guided-demo-missing {color:#647f9b;}
.student-workspace .history-detail-block {background:#f6faff!important;border-color:#dfeaf6!important;}
.student-workspace .history-detail-round {border-color:#e1eaf5!important;}
.student-workspace .history-detail-round>strong {color:#2468c8!important;}
.student-workspace .history-detail-exercise small,.student-workspace .history-detail-summary p {color:#68829d!important;}
/* Las ventanas se montan fuera de .student-workspace; aplicar tema claro global.
   El video conserva fondo oscuro únicamente dentro del reproductor. */
#modal:not(.focus-timer-mode) .modal-card {background:#fff!important;color:#243d5a!important;border:1px solid #dce7f4!important;}
#modal:not(.focus-timer-mode) .modal-head {background:#fff!important;border-bottom-color:#e0eaf5!important;}
#modal:not(.focus-timer-mode) .subcard,#modal:not(.focus-timer-mode) .builder-item,#modal:not(.focus-timer-mode) .training-block-builder {background:#f8fbff!important;border-color:#dce7f4!important;color:#29415f!important;}
#modal:not(.focus-timer-mode) .modal-body {color:#2d4562!important;}
#modal:not(.focus-timer-mode) .modal-body p,#modal:not(.focus-timer-mode) .modal-body .muted {color:#627b97!important;}
#modal:not(.focus-timer-mode) .modal-body input:not([type=checkbox]):not([type=radio]),#modal:not(.focus-timer-mode) .modal-body select,#modal:not(.focus-timer-mode) .modal-body textarea {background:#fff!important;color:#263e5b!important;border-color:#d7e4f3!important;}
#modal:not(.focus-timer-mode) .demo-technique {background:#eef5ff!important;color:#2b4563!important;border-color:#d5e6fa!important;}
#modal:not(.focus-timer-mode) .demo-technique strong {color:#1e5db7!important;}
#modal.focus-timer-mode .modal-card {background:#fff!important;color:#233c59!important;border:1px solid #dbe7f6!important;}
#modal.focus-timer-mode .modal-head {background:#fff!important;border-color:#e2eaf6!important;}
#modal.focus-timer-mode .modal-head h3 {color:#1d3555!important;}
#modal.focus-timer-mode .focus-kicker {color:#2464c6!important;}
#modal.focus-timer-mode .focus-instruction,#modal.focus-timer-mode .focus-next {color:#607995!important;}
#modal.focus-timer-mode .focus-dial {background:radial-gradient(closest-side,#fff 92%,transparent 94%),conic-gradient(#347ff5 var(--progress),#d9e6f6 0)!important;color:#163b6b!important;box-shadow:0 4px 24px rgba(45,107,196,.08);}
#modal.focus-timer-mode .focus-dial span {color:#6a809c!important;}
#modal.focus-timer-mode .focus-dial small {color:#246ac8!important;}
#modal.focus-timer-mode .focus-demo-overlay {background:#fff!important;color:#253c59!important;}
#modal.focus-timer-mode .focus-demo-head strong {color:#203a5b!important;}
#modal.focus-timer-mode .demo-technique {background:#eef5ff!important;color:#2d4664!important;border-color:#dce7f6!important;}
#modal.focus-timer-mode .demo-technique strong {color:#225fb8!important;}
/* Notificaciones, formularios y elementos flotantes */
.notification-count,.notification-card {background:#fff!important;color:#28415f!important;border-color:#dce8f6!important;}
.notification-card.unread {background:#eef5ff!important;border-color:#bad5f9!important;}
.notification-card p,.notification-card small,.notification-count span {color:#637e9b!important;}
.notification-type {background:#e9f2ff!important;color:#2366c8!important;}
.notification-bell {background:#fff;color:#2d67bf;border-color:#dbe6f5;}
/* La barra móvil del alumno deja de ser negra. */
@media(max-width:760px){
  .student-workspace .mobile-bottom-nav {background:rgba(255,255,255,.98)!important;border:1px solid #dce7f5!important;box-shadow:0 8px 28px rgba(26,70,134,.13)!important;}
  .student-workspace .mobile-bottom-nav button {color:#647e9a!important;min-height:52px;}
  .student-workspace .mobile-bottom-nav button.active {background:#e9f2ff!important;color:#2465c9!important;}
  .student-workspace .mobile-bottom-nav button.active .mnav-ico {color:#2264c9!important;}
  .student-workspace .sidebar {box-shadow:14px 0 40px rgba(29,64,115,.13)!important;}
  .student-workspace .content {padding-bottom:calc(98px + env(safe-area-inset-bottom,0px));}
  .student-workspace .guided-exercise {grid-template-columns:32px minmax(0,1fr) 68px!important;}
  .student-workspace .guided-name {font-size:15px!important;}
  .student-workspace .guided-actions button {min-height:36px;padding:6px 0!important;font-size:12px!important;}
  .student-workspace .guided-actions .guided-demo-cta {padding:8px 10px!important;}
  .student-workspace .guided-exercise .round-done {min-height:43px!important;}
  .auth-hero {display:none;}
}
@media(max-width:760px){
  .student-workspace .mobile-bottom-nav button {font-size:11px!important;font-weight:750!important;}
  .student-workspace .mobile-bottom-nav .mnav-ico {font-size:18px!important;}
}

/* RENOVAR CEI v2.12.3 — Acceso compacto */
@media (min-width: 761px) {
  .auth {
    grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
    min-height: 100vh;
  }

  .auth-hero {
    padding: 36px clamp(32px, 4vw, 58px);
  }

  .auth-hero .brand {
    width: min(270px, 72%);
  }

  .auth-hero h1 {
    font-size: clamp(36px, 3.4vw, 49px);
    line-height: 1.06;
    letter-spacing: -.045em;
    max-width: 570px;
  }

  .auth-hero p {
    font-size: 14px;
    line-height: 1.55;
    max-width: 490px;
  }

  .auth-side {
    padding: 24px;
  }

  .auth-card {
    width: 100%;
    max-width: 440px;
    padding: 25px 28px;
    border-radius: 22px;
  }

  .auth-card > img {
    max-width: 240px;
    max-height: 85px;
    object-fit: contain;
  }

  .auth-card h2 {
    font-size: 25px;
    line-height: 1.15;
    margin: 8px 0;
  }

  .auth-card p {
    font-size: 13px;
    line-height: 1.4;
  }

  .auth-card .tabs button {
    min-height: 40px;
  }

  .auth-card .input {
    min-height: 42px;
  }
}

@media (max-width: 760px) {
  .auth-card {
    border-radius: 20px;
    padding: 22px 20px;
  }

  .auth-card > img {
    max-width: 225px;
    max-height: 80px;
    object-fit: contain;
  }

  .auth-card h2 {
    font-size: 24px;
  }
}

/* RENOVAR CEI v2.12.5 - Fondo institucional */
@media (min-width: 761px) {
  .auth {
    background: #eaf2ff url('/assets/renovar-fondo.png')
      center center / cover no-repeat fixed !important;
  }

  .auth-hero {
    background: transparent !important;
    border-right: 0 !important;
  }

  .auth-hero::after {
    display: none !important;
  }

  .auth-hero h1 {
    color: #ffffff !important;
    text-shadow: 0 2px 12px rgba(0,20,55,.3);
  }

  .auth-hero p {
    color: #e0edff !important;
  }

  .auth-hero .eyebrow {
    color: #67b8ff !important;
  }

  .auth-side {
    background: transparent !important;
  }

  .auth-card {
    background: rgba(255,255,255,.98) !important;
    border: 1px solid #e1e9f5;
    box-shadow: 0 22px 65px rgba(17,48,93,.14);
  }
}

@media (max-width: 760px) {
  .auth {
    background: #f4f8ff !important;
  }

  .auth-side {
    background: transparent !important;
  }
}
/* RENOVAR CEI v2.12.6 - Login responsive */

@media (min-width: 761px) {
  .auth-hero .brand {
    width: min(290px, 75%);
    filter: drop-shadow(0 3px 10px rgba(0, 0, 0, .25));
  }

  .auth-hero h1 {
    color: #fff !important;
  }

  .auth-hero p {
    color: #e8f3ff !important;
  }

  .auth-hero a {
    color: #c9e8ff !important;
    text-decoration-color: #c9e8ff;
  }

  .auth-hero a:hover {
    color: #fff !important;
  }

  .auth-hero .eyebrow {
    color: #9dd5ff !important;
  }

  .auth-card > img {
    width: 220px;
    height: auto;
    max-height: none;
  }
}

@media (max-width: 760px) {
  .auth {
    display: flex !important;
    flex-direction: column;
    min-height: 100dvh;
    background: #071d44 url('/assets/renovar-fondo.png')
      center top / cover no-repeat !important;
  }

  .auth-hero {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    padding: 28px 22px 18px !important;
    background: linear-gradient(
      180deg,
      rgba(4, 20, 55, .22),
      rgba(4, 20, 55, .65)
    ) !important;
    border: 0 !important;
    color: #fff;
  }

  .auth-hero::after {
    display: none !important;
  }

  .auth-hero .brand {
    width: min(230px, 72%);
    margin: 0 0 18px;
  }

  .auth-hero h1 {
    font-size: clamp(25px, 7vw, 32px);
    line-height: 1.12;
    color: #fff !important;
    letter-spacing: -.04em;
  }

  .auth-hero p {
    font-size: 13px;
    line-height: 1.5;
    color: #e7f1ff !important;
  }

  .auth-hero .eyebrow {
    color: #9bd5ff !important;
  }

  .auth-side {
    display: block;
    padding: 0 14px 24px !important;
    background: transparent !important;
  }

  .auth-card {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    padding: 22px 20px;
    border-radius: 20px;
    background: #fff !important;
    box-shadow: 0 16px 40px rgba(0, 15, 45, .25);
  }

  .auth-card > img {
    width: min(210px, 75%);
    max-height: none;
    height: auto;
  }

  .auth-card h2 {
    font-size: 23px;
  }

  .auth-hero a {
    color: #c9e8ff !important;
  }
}
/* RENOVAR CEI v2.12.6 - Mobile login final */
@media (max-width: 760px) {
  .auth {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 100dvh !important;
    background: #071d44 url('/assets/renovar-fondo.png')
      center center / cover no-repeat fixed !important;
  }

  .auth-hero {
    display: none !important;
  }

  .auth-side {
    display: flex !important;
    flex: 1 0 auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 24px 16px !important;
    background: transparent !important;
  }

  .auth-card {
    width: 100% !important;
    max-width: 440px !important;
    margin: 0 auto !important;
    padding: 28px 24px !important;
    background: #fff !important;
    border-radius: 24px !important;
    box-shadow: 0 20px 60px rgba(0, 13, 43, .3) !important;
  }

  .auth-card > img {
    display: block;
    width: min(250px, 85%) !important;
    height: auto !important;
    margin: 0 auto 18px !important;
  }
}
@media(min-width:761px){.auth-hero .small.muted{color:#e2efff!important;text-shadow:0 2px 8px rgba(0,0,0,.65)}}


/* RENOVAR UX 2.12.8 - Tarjetas del entrenamiento guiado */
.guided-workout .guided-exercises{gap:14px!important}
.guided-workout .guided-exercise.ux-exercise{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;
 gap:14px!important;padding:18px!important;border-radius:20px!important;
 background:#fff!important;border:1px solid #dce6f3!important;
 box-shadow:0 9px 28px rgba(22,49,91,.07)!important;opacity:1!important;
 color:#18324f!important;min-width:0!important
}
.guided-workout .guided-exercise.ux-exercise.next{border-color:#4b94e8!important;box-shadow:0 0 0 2px rgba(42,128,223,.10)!important}
.guided-workout .guided-exercise.ux-exercise.done{border-color:#9adbc4!important;background:#f5fffb!important}
.guided-workout .guided-exercise.ux-exercise.skipped{border-color:#f3cfac!important;background:#fffaf5!important}
.guided-workout .ux-exercise-top{display:flex;align-items:center;gap:12px;min-width:0}
.guided-workout .ux-exercise .guided-order{display:grid!important;place-items:center!important;flex:0 0 36px!important;width:36px!important;height:36px!important;border-radius:11px!important;font-size:12px!important}
.guided-workout .ux-exercise .guided-name{flex:1;min-width:0;font-size:17px!important;line-height:1.3!important;font-weight:850!important;color:#162d49!important;overflow-wrap:anywhere}
.guided-workout .ux-series-status{flex-shrink:0;font-size:11px;font-weight:750;color:#58708b;background:#edf4fb;padding:7px 9px;border-radius:9px}
.guided-workout .ux-exercise .guided-main{width:100%!important;min-width:0!important}
.guided-workout .ux-exercise .guided-demo-thumb{width:100%!important;max-width:none!important;height:160px!important;margin:0 0 12px!important;border-radius:14px!important;border:1px solid #dbe6f2!important}
.guided-workout .ux-exercise .guided-demo-thumb img{object-fit:cover!important}
.guided-workout .ux-exercise-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.guided-workout .ux-stat{min-width:0;text-align:center;padding:12px 7px;background:#f0f5fb;border:1px solid #e6edf6;border-radius:12px}
.guided-workout .ux-stat span{display:block;font-size:11px;font-weight:650;color:#5b7088;margin-bottom:5px}
.guided-workout .ux-stat strong{display:block;font-size:18px;font-weight:850;color:#173758;overflow-wrap:anywhere}
.guided-workout .ux-exercise .guided-note{margin-top:10px!important;color:#566d84!important}
.guided-workout .ux-exercise .guided-actions{display:flex!important;gap:9px!important;margin-top:12px!important;flex-wrap:wrap!important}
.guided-workout .ux-exercise .guided-actions button{min-height:42px!important;padding:9px 13px!important;font-size:13px!important;font-weight:750!important;border-radius:10px!important;background:#eef5ff!important;border:1px solid #d6e5fa!important;color:#1763ae!important}
.guided-workout .ux-exercise-footer{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.guided-workout .ux-exercise .round-done{width:100%!important;min-height:48px!important;height:auto!important;padding:12px 14px!important;font-size:14px!important;line-height:1.3!important;white-space:normal!important;background:#166cc4!important;color:white!important;border:1px solid #166cc4!important;border-radius:12px!important}
.guided-workout .ux-exercise .round-done.done{background:#187a58!important;border-color:#187a58!important}
.guided-workout .ux-exercise .round-skip{align-self:center!important;width:auto!important;min-height:38px!important;padding:8px 14px!important;font-size:13px!important;font-weight:750!important;color:#64748b!important;border:0!important;background:transparent!important;white-space:normal!important}
.guided-workout .ux-exercise .round-skip:hover{text-decoration:underline}
.guided-workout .ux-exercise button:focus-visible{outline:3px solid #80b7ff!important;outline-offset:2px}
@media(max-width:760px){
 .guided-workout .guided-exercise.ux-exercise{padding:13px!important;gap:12px!important;border-radius:17px!important}
 .guided-workout .ux-exercise-top{gap:9px;flex-wrap:wrap}
 .guided-workout .ux-exercise .guided-name{font-size:15px!important}
 .guided-workout .ux-series-status{font-size:10px;margin-left:auto}
 .guided-workout .ux-exercise .guided-demo-thumb{height:145px!important}
 .guided-workout .ux-stat{padding:10px 5px}
 .guided-workout .ux-stat span{font-size:10px}
 .guided-workout .ux-stat strong{font-size:16px}
}
/* RENOVAR CEI v2.12.9 - Pulido visual móvil */
@media (max-width:760px) {
  .student-workspace .sidebar .brand {
    width:175px!important;
    max-height:55px!important;
    object-fit:contain;
    object-position:left center;
  }

  .student-workspace .brand-wrap {
    min-height:88px!important;
    padding:12px 52px 14px 8px!important;
    border-bottom:1px solid #e4ebf5!important;
  }

  .student-workspace .mobile-close {
    color:#315477!important;
    background:#eef4fd!important;
    border:1px solid #d5e3f5!important;
    font-size:24px!important;
    font-weight:500!important;
  }

  .student-workspace .mobile-menu {
    background:#edf4ff!important;
    border:1px solid #cbdcf4!important;
    color:#245ca5!important;
  }

  .student-workspace .mobile-menu::before {
    color:#245ca5!important;
    font-size:19px!important;
  }

  .student-workspace .notification-bell {
    color:#245ca5!important;
    background:#edf4ff!important;
    border:1px solid #cbdcf4!important;
  }

  .student-workspace .sidebar .nav button {
    color:#405b7b!important;
    font-weight:650!important;
  }

  .student-workspace .sidebar .nav button.active {
    color:#fff!important;
    background:#286ce7!important;
  }

  .student-workspace .topbar-kicker {
    color:#58799e!important;
  }

  .student-workspace .topbar h2 {
    color:#193756!important;
  }

  .student-workspace .guided-round header,
  .student-workspace .guided-exercise {
    color:#243d5c;
  }

  .student-workspace .guided-exercise .muted {
    color:#536d8b!important;
  }
}

/* RENOVAR 2.12.10 - Editor semanal */
.rw-editor{max-width:100%;overflow:hidden}.rw-scroll{max-height:65vh;overflow:auto;border:1px solid #d5e0e7;border-radius:12px}.rw-table{border-collapse:collapse;min-width:900px;width:100%;font-size:12px}.rw-table th,.rw-table td{border:1px solid #dce4e9;padding:5px;min-width:95px}.rw-table th:first-child{position:sticky;left:0;background:#f4f8fa;z-index:2;min-width:165px;text-align:left}.rw-table thead th{position:sticky;top:0;background:#e7f1f3;z-index:3}.rw-table .rw-section th{background:#cde9e8!important;font-weight:800}.rw-table .rw-exercise{background:#f1f6f8!important;text-align:left}.rw-table .rw-input{min-width:72px;width:100%;padding:6px;font-size:12px}.rw-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:15px}


/* RENOVAR v2.12.11 | Rediseño exclusivo del constructor de plantillas */
#modal:has(#planForm) {padding:16px;background:rgba(8,20,39,.68);backdrop-filter:blur(6px)}
#modal:has(#planForm) .modal-card {width:min(1320px,97vw);max-height:calc(100dvh - 32px);background:#f8fbff!important;color:#122b50!important;border:1px solid #d8e5f7!important;border-radius:20px!important;box-shadow:0 28px 85px rgba(5,22,50,.36)!important;overflow:auto}
#modal:has(#planForm) .modal-head {padding:20px 26px!important;background:linear-gradient(110deg,#f0f6ff,#fff)!important;border-bottom:1px solid #e2eaf6!important;position:sticky;top:0;z-index:10}
#modal:has(#planForm) .modal-head h3 {font-size:1.24rem!important;font-weight:850!important;letter-spacing:-.025em;color:#10264b!important}
#modal:has(#planForm) .modal-head .close {background:#eaf1fb!important;color:#264e83!important;border:1px solid #dce8f7!important}
#modal:has(#planForm) .modal-body {padding:22px 26px 0!important;background:#f8fbff!important;color:#152e51!important}
#planForm {font-size:.88rem!important;color:#152e51!important}
#planForm .plan-editor-intro {margin:0 0 17px;color:#5b7294;font-size:.88rem;line-height:1.5}
#planForm label,#planForm .block-builder-head label {color:#29456d!important;font-size:.76rem!important;font-weight:750!important;letter-spacing:0!important}
#planForm .input,#planForm select,#planForm textarea,#planForm .toolbar .input {background:#fff!important;color:#172f53!important;border:1px solid #cfdcf0!important;border-radius:10px!important;min-height:42px!important;padding:9px 12px!important;font-size:.87rem!important;box-shadow:none!important;min-width:0!important}
#planForm .input:focus,#planForm select:focus {border-color:#176df2!important;box-shadow:0 0 0 3px rgba(23,109,242,.12)!important}
#planForm input::placeholder {color:#8294ad!important}
#planForm .grid3 {gap:14px!important}
#planForm>.grid3 {margin-bottom:16px}
#planForm .plan-frequency-summary {background:#eaf3ff!important;border:1px solid #d4e6ff!important;color:#1957a9!important;padding:14px 17px!important;border-radius:12px!important;margin:12px 0!important;line-height:1.55}
#planForm .plan-frequency-summary span,#planForm .plan-frequency-summary b,#planForm .plan-frequency-summary small {color:#205da9!important}
#planForm>.msg {background:#f1efff!important;border:1px solid #e2ddff!important;color:#5442a8!important;padding:13px 17px!important;border-radius:12px!important;margin:12px 0 18px!important;line-height:1.6}
#planForm>.msg b {color:#4936a0!important}
#planForm .day-builder {background:#fff!important;border:1px solid #dce6f5!important;border-radius:16px!important;padding:16px!important;margin:14px 0!important;box-shadow:0 3px 12px rgba(26,66,130,.045)!important}
#planForm .day-builder>.section-head {border-bottom:1px solid #e8eef7!important;padding-bottom:12px!important;margin-bottom:13px!important;align-items:center!important}
#planForm .day-builder>.section-head>.toolbar:first-child {flex:1;min-width:0;align-items:center}
#planForm .day-builder>.section-head .badge.blue {background:#1269ee!important;color:white!important;border-radius:999px!important;padding:9px 12px!important;white-space:nowrap}
#planForm .day-builder>.section-head input[data-dayname] {font-weight:800!important;border:0!important;background:transparent!important;font-size:1rem!important;box-shadow:none!important;padding-left:4px!important;flex:1;min-width:110px!important}
#planForm .day-copy-note {color:#6c809e!important;background:#f4f8ff!important;border-left:3px solid #b5d1ff!important;padding:9px 12px!important;border-radius:5px!important;font-size:.75rem!important;line-height:1.5}
#planForm .training-block-builder {background:#f9fbff!important;border:1px solid #dbe6f6!important;border-radius:14px!important;padding:16px!important;color:#19365b!important}
#planForm .block-builder-head {grid-template-columns:auto minmax(170px,1fr) 150px 175px auto!important;align-items:end!important;gap:12px!important;border-bottom:0!important}
#planForm .block-builder-head .badge.blue {background:#dceaff!important;color:#1758ba!important;border-radius:99px!important;align-self:center!important}
#planForm .block-builder-head .icon-btn,#planForm .delDay,#planForm .delItem {background:#fff0f1!important;border:1px solid #ffd5db!important;color:#b52d45!important}
#planForm .dupDay {background:#eaf2ff!important;border:1px solid #d3e3fc!important;color:#24538f!important}
#planForm .icon-btn {border-radius:9px!important;min-height:36px!important;padding:8px 11px!important;font-weight:750!important}
#planForm .builder-items {display:grid;gap:9px;margin:15px 0 10px}
#planForm .plan-exercises-heading {font-weight:850;color:#17335a;background:#edf4ff;border:1px solid #e0ebfa;border-radius:9px;padding:11px 13px;font-size:.82rem}
#planForm .plan-exercises-heading span {color:#1668e9;margin-left:4px}
#planForm .builder-item {background:#fff!important;border:1px solid #e0e9f6!important;border-radius:12px!important;padding:13px!important;margin:0!important}
#planForm .builder-item-head {border-bottom:1px solid #eef2f9!important;padding-bottom:8px!important;margin-bottom:10px!important;color:#173b6c!important}
#planForm .builder-item .grid3 {grid-template-columns:minmax(200px,1.6fr) minmax(130px,1fr) minmax(130px,1fr)!important;gap:10px!important}
#planForm .btn.ghost {background:#eaf2ff!important;color:#155ed2!important;border:1px solid #d4e5ff!important}
#planForm .btn.primary {background:#1269f3!important;color:#fff!important;box-shadow:0 5px 12px rgba(18,105,243,.17)!important}
#planForm .btn {min-height:40px!important;border-radius:10px!important;font-weight:800!important}
#planForm #addDay {margin:5px 0 16px!important}
#planForm .modal-save {position:sticky!important;bottom:0!important;z-index:8!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;background:rgba(255,255,255,.97)!important;border-top:1px solid #e1e9f5!important;margin:0 -26px!important;padding:13px 26px!important;box-shadow:0 -7px 20px rgba(21,56,102,.055)!important}
#planForm .plan-save-hint {margin-right:auto;color:#6c7e99;font-size:.76rem}
#planForm .modal-save .btn.primary {min-width:165px!important}
@media(max-width:1050px){#planForm .block-builder-head {grid-template-columns:auto minmax(160px,1fr) 125px 150px!important}#planForm .block-builder-head .delBlock{grid-column:4;justify-self:end}}
@media(max-width:760px){#modal:has(#planForm){padding:0!important;backdrop-filter:none}#modal:has(#planForm) .modal-card{width:100%!important;max-height:100dvh!important;border-radius:0!important}#modal:has(#planForm) .modal-head{padding:15px!important}#modal:has(#planForm) .modal-body{padding:14px 14px 0!important}#planForm>.grid3,#planForm .builder-item .grid3 {grid-template-columns:1fr!important}#planForm .day-builder{padding:12px!important}#planForm .block-builder-head {grid-template-columns:1fr 1fr!important}#planForm .block-builder-head .badge.blue{grid-column:1/-1;justify-self:start}#planForm .block-builder-head .grow{grid-column:1/-1}#planForm .block-builder-head .delBlock{grid-column:1/-1;justify-self:start}#planForm .day-builder>.section-head {flex-direction:column!important;align-items:stretch!important}#planForm .day-builder>.section-head>.toolbar:last-child{width:100%!important}#planForm .builder-item [style*="grid-column"]{grid-column:auto!important}#planForm .modal-save{margin:0 -14px!important;padding:11px 14px!important;flex-wrap:wrap!important}#planForm .plan-save-hint{display:none}#planForm .modal-save .btn{flex:1!important}#planForm .input,#planForm select{font-size:16px!important;min-height:44px!important}}

/* RENOVAR v2.12.12: editor compacto, sin alterar los datos ni los eventos */
#planForm .compact-exercise{padding:9px 11px!important}
#planForm .compact-exercise-row{display:grid!important;grid-template-columns:minmax(220px,2.8fr) minmax(95px,.8fr) minmax(95px,.9fr) minmax(105px,1fr) minmax(125px,1.15fr) 42px;gap:9px;align-items:end;min-width:0}
#planForm .compact-exercise .exercise-col{min-width:0}
#planForm .compact-exercise .exercise-col label{display:block;margin:0 0 5px;font-size:.7rem;white-space:nowrap;color:#365277!important}
#planForm .compact-exercise .input,#planForm .compact-exercise select{width:100%;min-width:0;box-sizing:border-box;height:39px!important;min-height:39px!important;margin:0!important}
#planForm .compact-exercise .exercise-actions{display:flex;justify-content:center;align-items:end;height:39px}
#planForm .compact-exercise .exercise-actions .delItem{width:36px;min-width:36px;height:36px;min-height:36px!important;padding:0!important;font-size:1.15rem}
#planForm .compact-exercise .exercise-notes{margin-top:7px;display:grid;grid-template-columns:155px minmax(0,1fr);align-items:center;gap:10px}
#planForm .compact-exercise .exercise-notes label{font-size:.71rem;color:#617692!important;margin:0}
#planForm .compact-exercise .exercise-notes input{height:32px!important;min-height:32px!important;font-size:.79rem!important;background:#f8fbff!important}
@media(max-width:1050px) and (min-width:761px){#planForm .compact-exercise-row{grid-template-columns:minmax(170px,2fr) repeat(4,minmax(75px,1fr)) 38px;gap:6px}#planForm .compact-exercise{padding:8px!important}}
@media(max-width:760px){#planForm .compact-exercise-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}#planForm .compact-exercise-row .exercise-name{grid-column:1/-1}#planForm .compact-exercise-row .exercise-actions{grid-column:1/-1;justify-content:flex-end;height:auto}#planForm .compact-exercise .exercise-notes{grid-template-columns:1fr;gap:4px}#planForm .compact-exercise .input,#planForm .compact-exercise select{height:44px!important;min-height:44px!important}}

/* RENOVAR 2.12.13 · Gestión de planes */
.rp-page{max-width:1450px;margin:0 auto}.rp-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}.rp-heading h1{font-size:clamp(25px,2.4vw,34px);margin:3px 0 5px;color:#102347}.rp-heading p{color:#647797;margin:0}.rp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.rp-stat{display:flex;align-items:center;gap:14px;padding:19px;background:white;border:1px solid #dce7f6;border-radius:15px;min-width:0}.rp-stat-icon{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:13px;background:#e7f0ff;color:#1568ed;font-size:24px}.rp-stat-icon.green{background:#e6f8ee;color:#0b9c61}.rp-stat-icon.violet{background:#f2eaff;color:#7d39d7}.rp-stat-icon.amber{background:#fff2df;color:#c87600}.rp-stat strong{display:block;font-size:29px;line-height:1.1;color:#12244c}.rp-stat span:not(.rp-stat-icon){font-size:13px;color:#566986}.rp-panel{background:white;border:1px solid #dce7f6;border-radius:15px;overflow:hidden}.rp-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f6f9ff;border-bottom:1px solid #dce7f6}.rp-tab{background:transparent;border:0;border-bottom:3px solid transparent;padding:18px 8px;font:inherit;font-weight:700;color:#536784;cursor:pointer}.rp-tab.active{color:#1262e9;border-bottom-color:#1262e9;background:white}.rp-view{padding:17px}.rp-view[hidden]{display:none!important}.rp-filters{display:flex;gap:12px;margin-bottom:16px}.rp-filters input{flex:1;min-width:160px}.rp-filters select{width:auto;min-width:170px}.rp-list{display:grid;gap:10px}.rp-plan-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;border:1px solid #dce7f6;border-radius:13px;background:#fff}.rp-plan-row:hover{background:#f8fbff;border-color:#bdd3f8}.rp-plan-main{min-width:0;flex:1}.rp-plan-name{font-weight:800;color:#14264a;font-size:15px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.rp-plan-objective{font-size:13px;color:#667b9b;margin:5px 0 10px}.rp-plan-details{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#4e6688}.rp-plan-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.rp-plan-actions button{white-space:nowrap}.rp-count{color:#8191a8;font-size:12px;margin:15px 0 0}.rp-empty{padding:30px;text-align:center;color:#71829d}.rp-ready-info{background:#edf5ff;color:#345b8d;border:1px solid #d7e7fc;border-radius:9px;padding:12px 15px;font-size:13px;margin-bottom:15px}.rp-table-scroll{overflow-x:auto}.rp-table{width:100%;border-collapse:collapse;min-width:920px;font-size:13px}.rp-table th{text-align:left;background:#f5f8fd;color:#526b8f;padding:13px 10px}.rp-table td{padding:12px 10px;border-bottom:1px solid #e9eff8}.rp-table td small{display:block;color:#8290a4;margin-top:3px}.rp-ok{color:#07945d;font-weight:800}.rp-missing{color:#9c6b16;font-size:12px}.rp-table .icon-btn{white-space:nowrap}@media(max-width:1150px){.rp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-plan-row{align-items:flex-start;flex-direction:column}.rp-plan-actions{justify-content:flex-start}}@media(max-width:680px){.rp-heading{align-items:flex-start;flex-direction:column}.rp-stats{gap:8px}.rp-stat{padding:12px;gap:8px}.rp-stat-icon{width:35px;height:35px;font-size:18px}.rp-stat strong{font-size:23px}.rp-tabs{display:flex;overflow-x:auto}.rp-tab{min-width:160px;font-size:12px}.rp-filters{flex-direction:column}.rp-filters select{width:100%}.rp-plan-details{gap:8px}.rp-plan-actions{width:100%}}

/* RENOVAR 2.12.14 · Microciclos */
.rm-cycle-bar{border:1px solid #d7e6f1;background:#f3f8fd;border-radius:16px;padding:16px;margin:16px 0}.rm-cycle-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px}.rm-cycle-heading small{color:#60748b}.rm-cycle-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.rm-cycle-tab,.rm-custom-tab{background:#fff;color:#294c65;border:1px solid #bfd5e5;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700}.rm-cycle-tab.active,.rm-custom-tab.active{background:#116d8e;color:white;border-color:#116d8e}.rm-cycle-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#60748b;font-size:13px}.rm-custom-content{max-height:55vh;overflow:auto}.rm-custom-block{border:1px solid #dce6ef;border-radius:14px;padding:14px;margin:12px 0}.rm-custom-block h4{margin:0 0 12px;color:#16405d}.rm-custom-block>label{display:flex;align-items:center;gap:12px;margin-bottom:12px}.rm-custom-block>label input{max-width:110px}.rm-custom-ex{display:grid;grid-template-columns:minmax(170px,2fr) repeat(3,minmax(95px,1fr));gap:10px;align-items:end;padding:10px 0;border-top:1px solid #e5edf3}.rm-custom-ex label{font-size:12px;color:#456;display:flex;flex-direction:column;gap:5px}.rm-custom-ex .input{min-width:0}@media(max-width:750px){.rm-custom-ex{grid-template-columns:repeat(3,minmax(0,1fr))}.rm-custom-ex>b{grid-column:1/-1}}


/* RENOVAR - BUSCADOR DE ASISTENCIA MANUAL */

#manualAttendance .manual-student-results {
    height: 190px;
    min-height: 190px;
    max-height: 190px;
    overflow-y: auto;
    margin: 8px 0 16px;
    padding: 4px;
    background: #f7faff;
    border: 1px solid #e0e9f6;
    border-radius: 12px;
    box-sizing: border-box;
}

#manualAttendance .manualStudentOption {
    display: block;
    width: 100%;
    text-align: left;
    padding: 11px 13px;
    margin: 0 0 5px;
    background: #ffffff !important;
    color: #193454 !important;
    border: 1px solid #dce6f4 !important;
    border-radius: 9px;
    box-shadow: none !important;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}

#manualAttendance .manualStudentOption:hover,
#manualAttendance .manualStudentOption:focus-visible {
    background: #edf5ff !important;
    color: #1257ad !important;
    border-color: #8bb9fa !important;
    outline: none;
}

#manualAttendance .manualStudentOption strong {
    color: inherit;
    font-weight: 700;
}

#manualAttendance .manualStudentOption span {
    color: #7185a2;
}

#manualAttendance #manualStudentSelected .badge {
    background: #eaf3ff !important;
    color: #1762bc !important;
    border: 1px solid #c9dffc !important;
    padding: 8px 12px;
    border-radius: 8px;
}

#modal:not(.focus-timer-mode) .modal-body select,
#modal:not(.focus-timer-mode) .modal-body select option {
    background-color: #ffffff !important;
    color: #263e5b !important;
}


/* RENOVAR v2.12.18 · Historial claro integrado */
#modal:not(.focus-timer-mode) .history-detail-block {
  background: #f6faff !important;
  border: 1px solid #dce8f6 !important;
  border-radius: 15px;
  color: #243d5a !important;
  padding: 15px;
  margin: 12px 0;
}

#modal:not(.focus-timer-mode) .history-detail-block h3,
#modal:not(.focus-timer-mode) .history-detail-exercise b {
  color: #243d5a !important;
}

#modal:not(.focus-timer-mode) .history-detail-round {
  border-top: 1px solid #e1eaf5 !important;
  padding: 12px 0;
}

#modal:not(.focus-timer-mode) .history-detail-round > strong {
  color: #2468c8 !important;
}

#modal:not(.focus-timer-mode) .history-detail-exercise {
  padding: 9px 5px;
  border-radius: 9px;
  gap: 12px;
}

#modal:not(.focus-timer-mode) .history-detail-exercise b {
  display: block;
  line-height: 1.4;
}

#modal:not(.focus-timer-mode) .history-detail-exercise small,
#modal:not(.focus-timer-mode) .history-detail-summary p {
  color: #68829d !important;
}

#modal:not(.focus-timer-mode) .history-detail-exercise > span.ok {
  color: #15945d !important;
}

#modal:not(.focus-timer-mode) .history-detail-exercise > span:not(.ok) {
  color: #a1afbf !important;
}

.week-day-row.incomplete {
  background: #fff8e9;
  border-color: #f2d9a6;
}

.week-day-row.incomplete > span {
  color: #ad7413;
  font-weight: 800;
}

.week-dot.incomplete {
  background: #fff0cf !important;
  color: #98630c !important;
  border: 1px solid #edcf8e;
}

#modal:not(.focus-timer-mode) .modal-card {
  max-height: min(90dvh, 850px);
  overflow: hidden;
}

#modal:not(.focus-timer-mode) .modal-body {
  overflow-y: auto;
  overscroll-behavior: contain;
}

@media(max-width:600px) {
  #modal:not(.focus-timer-mode) .modal-card {
    width: calc(100% - 20px);
    max-width: none;
    max-height: calc(100dvh - 24px);
    border-radius: 17px;
  }

  #modal:not(.focus-timer-mode) .history-detail-block {
    padding: 11px;
  }

  #modal:not(.focus-timer-mode) .history-detail-exercise {
    align-items: flex-start;
  }
}

/* RENOVAR v2.12.19 - Scroll del detalle de entrenamiento */
#modal:has(.history-detail-block):not(.focus-timer-mode) .modal-card {
  display: flex !important;
  flex-direction: column !important;
  max-height: calc(100dvh - 32px) !important;
  overflow: hidden !important;
}

#modal:has(.history-detail-block):not(.focus-timer-mode) .modal-head {
  flex: 0 0 auto !important;
}

#modal:has(.history-detail-block):not(.focus-timer-mode) .modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 760px) {
  #modal:has(.history-detail-block):not(.focus-timer-mode) .modal-card {
    max-height: calc(100dvh - 16px) !important;
  }
}

/* RENOVAR v2.12.20 - Scroll del creador de planes */
#modal:has(#planForm):not(.focus-timer-mode) .modal-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  max-height: calc(100dvh - 32px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

#modal:has(#planForm):not(.focus-timer-mode) .modal-head {
  position: sticky !important;
  top: 0 !important;
  flex-shrink: 0 !important;
  z-index: 20 !important;
}

#modal:has(#planForm):not(.focus-timer-mode) .modal-body {
  flex: 0 0 auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

@media (max-width: 760px) {
  #modal:has(#planForm):not(.focus-timer-mode) .modal-card {
    max-height: 100dvh !important;
  }
}

/* RENOVAR v2.12.21 - Feedback */
.feedback-form{display:grid;gap:14px}.feedback-feelings{display:flex;flex-wrap:wrap;gap:8px}.feedback-feelings .btn{flex:1 1 120px}.feedback-form textarea{min-height:90px;padding:12px;border-radius:10px}.workout-feedback-detail{margin:16px 0;padding:16px}.workout-feedback-detail p{margin:8px 0}#modal:has(.feedback-form) .modal-card{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}

/* RENOVAR v2.12.22 · Borg CR10 premium, solo modal de feedback */
#modal:has(.borg-form){padding:12px;overflow-y:auto;align-items:center}
#modal:has(.borg-form) .modal-card{width:min(100%,600px);max-width:600px;max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:22px;background:#fff;color:#142346;box-shadow:0 24px 75px rgba(9,24,62,.25);padding:0}
#modal:has(.borg-form) .borg-header{padding:26px 26px 23px;background:linear-gradient(130deg,#101f49,#233c85 72%,#3848a8);color:#fff}
#modal:has(.borg-form) .borg-eyebrow{font-size:13px;font-weight:900;letter-spacing:.12em;margin-bottom:17px}
#modal:has(.borg-form) .borg-eyebrow span{font-weight:500;letter-spacing:.2em}
#modal:has(.borg-form) .borg-header h2{font-size:clamp(23px,5vw,31px);line-height:1.15;letter-spacing:-.035em;margin:0 0 9px;color:#fff}
#modal:has(.borg-form) .borg-header p{margin:0;color:#d7e3ff;line-height:1.5;font-size:14px}
#modal:has(.borg-form) .borg-form{padding:22px 25px 26px;display:grid;gap:22px}
#modal:has(.borg-form) .borg-section{display:grid;gap:13px}
#modal:has(.borg-form) .borg-section-title{display:flex;align-items:center;gap:10px;margin:0;color:#132147}
#modal:has(.borg-form) .borg-section-title h3{font-size:16px;line-height:1.3;margin:0;font-weight:800;color:#132147}
#modal:has(.borg-form) .borg-section-title h3 small{font-size:12px;color:#75819b;font-weight:500}
#modal:has(.borg-form) .borg-icon{width:32px;height:32px;border-radius:10px;background:#eef0ff;color:#4934e8;display:grid;place-items:center;font-size:18px;flex:none}
#modal:has(.borg-form) .feedback-feelings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#modal:has(.borg-form) .feedback-feeling{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:70px;padding:10px 6px;border:1px solid #dbe0f6;border-radius:13px;background:#f8f9ff;color:#16234c;box-shadow:0 3px 8px rgba(23,38,99,.04);white-space:normal}
#modal:has(.borg-form) .feedback-feeling .borg-emoji{font-size:23px}
#modal:has(.borg-form) .feedback-feeling strong{display:block;font-size:12px;font-weight:800}
#modal:has(.borg-form) .feedback-feeling small{display:block;font-size:10px;font-weight:500;opacity:.72;margin-top:3px}
#modal:has(.borg-form) .feedback-feeling.primary{background:linear-gradient(125deg,#6676ff,#4632d9);border-color:#4935e4;color:white;box-shadow:0 5px 12px rgba(78,58,218,.2)}
#modal:has(.borg-form) .borg-rpe-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#5c6b88}
#modal:has(.borg-form) .borg-rpe-head strong{padding:7px 12px;border-radius:10px;background:linear-gradient(130deg,#6575ff,#4831df);color:white;font-size:17px;white-space:nowrap}
#modal:has(.borg-form) #feedbackRpe{width:100%;accent-color:#5140e9;cursor:pointer;margin:3px 0 0}
#modal:has(.borg-form) .borg-ticks{display:flex;justify-content:space-between;color:#364563;font-size:11px}
#modal:has(.borg-form) .borg-explanation{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border-radius:13px;border:1px solid #dce0fb;background:#f4f5ff}
#modal:has(.borg-form) .borg-explanation strong{display:block;font-size:14px;color:#16254b}
#modal:has(.borg-form) .borg-explanation small{display:block;font-size:11px;color:#67738d;margin-top:4px}
#modal:has(.borg-form) .borg-legend{display:grid;gap:3px;flex:none;font-size:10px;color:#4c5c79}
#modal:has(.borg-form) #feedbackComment{box-sizing:border-box;width:100%;min-height:88px;padding:12px;border:1px solid #d9def2;border-radius:12px;background:#fbfcff;color:#16254b;font:inherit;font-size:13px;resize:vertical}
#modal:has(.borg-form) #feedbackComment:focus{outline:2px solid #7b7cf7;outline-offset:1px}
#modal:has(.borg-form) .borg-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
#modal:has(.borg-form) .borg-actions .btn{min-height:45px;border-radius:12px;font-size:13px;font-weight:800;white-space:normal}
#modal:has(.borg-form) #feedbackSkip{background:#f8f9ff;color:#302e94;border:1px solid #cbd0ff}
#modal:has(.borg-form) #feedbackSave{background:linear-gradient(125deg,#5d68fb,#4330d7);color:white;border:0}
@media(max-width:480px){
 #modal:has(.borg-form){padding:8px}
 #modal:has(.borg-form) .modal-card{max-height:calc(100dvh - 16px);border-radius:17px}
 #modal:has(.borg-form) .borg-header{padding:20px 17px 17px}
 #modal:has(.borg-form) .borg-form{padding:17px 14px 20px;gap:18px}
 #modal:has(.borg-form) .feedback-feelings{gap:5px}
 #modal:has(.borg-form) .feedback-feeling{flex-direction:column;gap:4px;min-height:77px;padding:7px 3px}
 #modal:has(.borg-form) .feedback-feeling strong{font-size:11px}
 #modal:has(.borg-form) .feedback-feeling small{font-size:9px}
 #modal:has(.borg-form) .borg-explanation{align-items:flex-start}
 #modal:has(.borg-form) .borg-legend{font-size:9px}
}


/* RENOVAR v2.12.23: asignación - scroll accesible y listado claro */
#modal:has(#assignForm):not(.focus-timer-mode) {
  box-sizing:border-box!important;
  padding:12px!important;
  align-items:center!important;
  overflow-y:auto!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) .modal-card {
  display:flex!important;
  flex-direction:column!important;
  width:min(940px,100%)!important;
  max-width:940px!important;
  height:min(760px,calc(100dvh - 24px))!important;
  max-height:calc(100dvh - 24px)!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
  color:#203651!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) .modal-head {
  flex:0 0 auto!important;
  background:#fff!important;
  border-bottom:1px solid #dce7f5!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) .modal-body {
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
  padding-bottom:0!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) #assignForm {
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  gap:9px;
}
#modal:has(#assignForm):not(.focus-timer-mode) #assignStudentList {
  flex:1 1 auto!important;
  min-height:80px!important;
  max-height:none!important;
  height:auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  background:#fff!important;
  color:#223956!important;
  border:1px solid #dce6f4!important;
  border-radius:12px!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) #assignStudentList .student-check {
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 14px!important;
  background:#fff!important;
  color:#233b59!important;
  border-bottom:1px solid #e6edf6!important;
  cursor:pointer;
}
#modal:has(#assignForm):not(.focus-timer-mode) #assignStudentList .student-check:hover {
  background:#f1f6ff!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) #assignStudentList .student-check:has(input:checked) {
  background:#eaf2ff!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) #assignStudentList .student-check b {
  color:#172d4b!important;
  font-size:13px!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) #assignStudentList .student-check small {
  color:#637b98!important;
  font-size:11px!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) #assignStudentList input[type="checkbox"] {
  accent-color:#2368df!important;
  width:17px!important;
  height:17px!important;
  flex:none!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) .assign-selection-footer {
  flex:0 0 auto!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin:0 -20px!important;
  padding:14px 20px max(14px,env(safe-area-inset-bottom))!important;
  background:#fff!important;
  border-top:1px solid #dce7f5!important;
  box-shadow:0 -5px 18px rgba(20,50,90,.05)!important;
  z-index:2!important;
}
#modal:has(#assignForm):not(.focus-timer-mode) .assign-selection-footer .btn {
  min-height:42px!important;
}
@media(max-width:600px) {
  #modal:has(#assignForm):not(.focus-timer-mode) {padding:8px!important}
  #modal:has(#assignForm):not(.focus-timer-mode) .modal-card {
    width:100%!important;
    height:calc(100dvh - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    border-radius:16px!important;
  }
  #modal:has(#assignForm):not(.focus-timer-mode) .modal-body {
    padding:12px 12px 0!important;
  }
  #modal:has(#assignForm):not(.focus-timer-mode) .assign-selection-footer {
    margin:0 -12px!important;
    padding:11px 12px max(11px,env(safe-area-inset-bottom))!important;
  }
  #modal:has(#assignForm):not(.focus-timer-mode) .assign-selection-footer .btn {
    flex:1 1 0!important;
    min-width:0!important;
    white-space:normal!important;
  }
}

/* RENOVAR 2.12.26 - scroll global */
html,body{overflow-x:clip;min-height:100%;}
.shell,.main,.content{min-height:0;min-width:0}
.main{overflow:visible}
.content{overflow:visible}
#modal:not(.focus-timer-mode):not(.rest-mode){position:fixed;inset:0;overflow-y:auto!important;overscroll-behavior:contain;align-items:safe center;justify-content:center;padding:12px!important}
#modal:not(.focus-timer-mode):not(.rest-mode) .modal-card{display:flex!important;flex-direction:column!important;max-height:calc(100dvh - 24px)!important;min-height:0;overflow:hidden!important;margin:auto}
#modal:not(.focus-timer-mode):not(.rest-mode) .modal-head{flex:0 0 auto}
#modal:not(.focus-timer-mode):not(.rest-mode) .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* El editor de planes conserva su scroll de tarjeta, ya implementado */
#modal:has(#planForm):not(.focus-timer-mode) .modal-card{display:block!important;overflow-y:auto!important}
#modal:has(#planForm):not(.focus-timer-mode) .modal-body{overflow:visible!important}
/* El selector de alumnos necesita un contenedor flexible interno */
#modal:has(#assignForm):not(.focus-timer-mode) .modal-body{display:flex;flex-direction:column;overflow:hidden!important}
#modal:has(#assignForm):not(.focus-timer-mode) #assignForm{min-height:0;flex:1 1 auto}
#modal:has(#assignForm):not(.focus-timer-mode) #assignStudentList{min-height:0;overflow-y:auto!important}
.rd-staff .table-wrap{overflow-x:auto;max-width:100%}
.rd-staff table{width:100%;min-width:680px}
.rd-staff th,.rd-staff td{padding:12px;text-align:left}
@media(max-width:600px){#modal:not(.focus-timer-mode):not(.rest-mode){padding:8px!important}#modal:not(.focus-timer-mode):not(.rest-mode) .modal-card{max-height:calc(100dvh - 16px)!important;width:100%!important}}
