.rutinas-admin { display: flex; flex-direction: column; gap: 1.25rem; min-height: calc(100vh - 150px); }
.rutinas-admin-encabezado, .rutinas-editor-cabecera, .rutinas-dias-encabezado { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.rutinas-admin-encabezado > div > p:last-child, .rutinas-editor-cabecera p, .rutinas-dias-encabezado p { color: var(--color-texto-secundario); font-size: .86rem; margin: .25rem 0 0; }
.rutinas-eyebrow { color: var(--color-primario); font-size: .72rem; font-weight: 800; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.rutinas-admin-encabezado .vista-titulo { margin: .15rem 0; }
.rutinas-resumen { display: flex; gap: .6rem; }
.rutinas-resumen span { align-items: center; background: var(--color-superficie); border: 1px solid var(--color-borde); border-radius: var(--radio-md); color: var(--color-texto-secundario); display: flex; font-size: .78rem; gap: .35rem; padding: .55rem .7rem; white-space: nowrap; }
.rutinas-resumen strong { color: var(--color-texto-principal); }
.rutinas-resumen svg { color: var(--color-primario); height: 1rem; width: 1rem; }
.rutinas-admin-layout { display: grid; flex: 1; gap: 1.25rem; grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); min-height: 0; }
.rutinas-clientes-panel, .rutinas-editor-panel { background: var(--color-superficie); border: 1px solid var(--color-borde); border-radius: var(--radio-lg); box-shadow: var(--sombra-sm); min-height: 0; }
.rutinas-clientes-panel { display: flex; flex-direction: column; overflow: hidden; }
.rutinas-clientes-cabecera { border-bottom: 1px solid var(--color-borde); padding: 1rem; }
.rutinas-clientes-cabecera h2 { font-size: 1rem; margin: 0 0 .75rem; }
.rutinas-buscador { align-items: center; background: var(--color-fondo); border: 1px solid var(--color-borde); border-radius: var(--radio-md); display: flex; gap: .45rem; padding: .5rem .6rem; }
.rutinas-buscador:focus-within { border-color: var(--color-primario); box-shadow: 0 0 0 3px var(--color-primario-light); }
.rutinas-buscador input { background: transparent; border: 0; font: inherit; min-width: 0; outline: 0; width: 100%; }
.rutinas-buscador svg { color: var(--color-texto-terciario); height: 1rem; width: 1rem; }
.rutinas-clientes-lista { overflow-y: auto; padding: .5rem; }
.rutina-cliente { align-items: center; background: transparent; border: 1px solid transparent; border-radius: var(--radio-md); cursor: pointer; display: flex; gap: .7rem; margin-bottom: .3rem; padding: .7rem; text-align: left; transition: background var(--transicion-base), border-color var(--transicion-base); width: 100%; }
.rutina-cliente:hover, .rutina-cliente.activo { background: var(--color-primario-light); border-color: #bfdbfe; }
.rutina-cliente-avatar { align-items: center; background: #e0f2fe; border-radius: 50%; color: #0369a1; display: flex; flex: 0 0 auto; font-size: .85rem; font-weight: 800; height: 2.25rem; justify-content: center; width: 2.25rem; }
.rutina-cliente-info { min-width: 0; }.rutina-cliente-info strong, .rutina-cliente-info span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.rutina-cliente-info strong { color: var(--color-texto-principal); font-size: .86rem; }.rutina-cliente-info span { color: var(--color-texto-terciario); font-size: .76rem; margin-top: .15rem; }
.rutina-cliente-estado { color: var(--color-exito) !important; font-size: .7rem !important; font-weight: 700; }
.rutinas-editor-panel { display: flex; flex-direction: column; opacity: .55; overflow: hidden; pointer-events: none; transition: opacity var(--transicion-base); }.rutinas-editor-panel.activo { opacity: 1; pointer-events: auto; }
.rutinas-editor-cabecera { background: var(--color-fondo); border-bottom: 1px solid var(--color-borde); padding: 1rem 1.25rem; }.rutinas-editor-cabecera h2 { align-items: center; color: var(--color-texto-principal); display: flex; font-size: 1.05rem; gap: .45rem; margin: .2rem 0 0; }.rutinas-editor-cabecera h2 svg { color: var(--color-primario); height: 1.1rem; width: 1.1rem; }
.rutinas-editor-contenido { display: flex; flex: 1; flex-direction: column; gap: 1.15rem; overflow-y: auto; padding: 1.25rem; }
.rutinas-configuracion { display: grid; gap: .8rem; grid-template-columns: minmax(180px, 2fr) repeat(3, minmax(120px, 1fr)); }.rutinas-configuracion .grupo-form { margin: 0; }
.rutinas-acciones-rapidas { align-items: center; border-bottom: 1px solid var(--color-borde); border-top: 1px solid var(--color-borde); display: flex; flex-wrap: wrap; gap: .5rem; padding: .75rem 0; }.rutinas-acciones-rapidas > span { color: var(--color-texto-secundario); font-size: .8rem; margin-right: .1rem; }.rutinas-acciones-rapidas .btn { font-size: .78rem; padding: .4rem .55rem; }
.rutinas-dias-encabezado h3 { font-size: 1rem; margin: 0; }.rutinas-dias-encabezado > span { background: var(--color-primario-light); border-radius: var(--radio-sm); color: var(--color-primario); font-size: .75rem; font-weight: 700; padding: .35rem .5rem; }
.rutinas-dias-lista { display: flex; flex-direction: column; gap: .75rem; }.rutina-editor-vacio { align-items: center; color: var(--color-texto-terciario); display: flex; flex-direction: column; gap: .5rem; padding: 3rem 1rem; text-align: center; }.rutina-editor-vacio svg { height: 2rem; width: 2rem; }
.rutina-dia-editor { border: 1px solid var(--color-borde); border-radius: var(--radio-md); overflow: hidden; }.rutina-dia-editor-cabecera { align-items: center; background: var(--color-fondo); display: flex; gap: .75rem; padding: .75rem; }.rutina-dia-editor-cabecera .input-control { font-weight: 700; }.rutina-dia-editor-cuerpo { padding: .75rem; }.rutina-ejercicios-tabla { border-collapse: collapse; width: 100%; }.rutina-ejercicios-tabla th { color: var(--color-texto-terciario); font-size: .68rem; font-weight: 800; padding: 0 .25rem .45rem; text-align: left; text-transform: uppercase; }.rutina-ejercicios-tabla td { border-top: 1px solid var(--color-borde); padding: .35rem .25rem; vertical-align: top; }.rutina-ejercicios-tabla .input-control { font-size: .8rem; padding: .42rem .5rem; }.rutina-ejercicios-tabla .ej-notas { min-width: 150px; }.rutina-ejercicio-vacio { color: var(--color-texto-terciario); font-size: .8rem; padding: 1rem !important; text-align: center; }.rutina-dia-acciones { display: flex; justify-content: space-between; margin-top: .6rem; }.rutina-dia-acciones .btn { font-size: .75rem; padding: .35rem .5rem; }
@media (max-width: 900px) { .rutinas-admin-layout { grid-template-columns: 1fr; }.rutinas-clientes-panel { max-height: 270px; }.rutinas-configuracion { grid-template-columns: repeat(2, 1fr); }.rutina-campo-nombre { grid-column: 1 / -1; } }
@media (max-width: 620px) { .rutinas-admin-encabezado, .rutinas-editor-cabecera, .rutinas-dias-encabezado { align-items: flex-start; flex-direction: column; }.rutinas-resumen { width: 100%; }.rutinas-resumen span { flex: 1; justify-content: center; }.rutinas-editor-cabecera .btn { width: 100%; }.rutinas-configuracion { grid-template-columns: 1fr; }.rutina-ejercicios-tabla thead { display: none; }.rutina-ejercicios-tabla, .rutina-ejercicios-tabla tbody, .rutina-ejercicios-tabla tr, .rutina-ejercicios-tabla td { display: block; width: 100%; }.rutina-ejercicios-tabla tr { border-top: 1px solid var(--color-borde); padding: .4rem 0; }.rutina-ejercicios-tabla td { border: 0; padding: .2rem; }.rutina-ejercicios-tabla td:last-child { text-align: right; } }

/* Editor compacto: la asignación no comparte el espacio flexible de los ejercicios. */
.rutinas-admin { min-height: 0; gap: 1rem; }
.rutinas-admin-layout { align-items: start; grid-template-columns: 250px minmax(0, 1fr); gap: 1rem; }
.rutinas-admin-encabezado .vista-titulo { font-size: 1.6rem; letter-spacing: -.025em; }
.rutinas-clientes-panel { position: sticky; top: 1rem; max-height: calc(100vh - 170px); border-radius: 12px; }
.rutinas-editor-panel { border-radius: 12px; }
.rutinas-editor-cabecera { padding: .85rem 1rem; background: white; }
.rutinas-editor-cabecera > div { min-width: 0; }
.rutinas-editor-cabecera h2 { overflow-wrap: anywhere; }
.rutinas-editor-cabecera > .btn { flex-shrink: 0; }
.rutinas-asignacion { flex: 0 0 auto; border-bottom: 1px solid var(--color-borde); background: #f8fafc; }
.rutinas-asignacion summary { display: flex; align-items: center; gap: .65rem; cursor: pointer; padding: .7rem 1rem; list-style: none; }
.rutinas-asignacion summary::-webkit-details-marker { display: none; }
.rutinas-asignacion summary:focus-visible { outline: 2px solid var(--color-primario); outline-offset: -3px; }
.rutinas-asignacion-icono { display: grid; place-items: center; color: var(--color-primario); background: #eff6ff; border-radius: 9px; width: 34px; height: 34px; flex-shrink: 0; }
.rutinas-asignacion-icono svg { width: 17px; height: 17px; }
.rutinas-asignacion summary > span:nth-child(2) { min-width: 0; }
.rutinas-asignacion-etiqueta { display: block; color: #64748b; font-size: .68rem; }
#estadoInstructorVIP { display: block; font-size: .78rem; color: var(--color-texto-principal); overflow-wrap: anywhere; }
.rutinas-asignacion-cambiar { display: flex; align-items: center; gap: .4rem; margin-left: auto; color: var(--color-primario); font-size: .75rem; flex-shrink: 0; }
.rutinas-asignacion-cambiar svg { width: 15px; height: 15px; transition: transform .15s; }
.rutinas-asignacion[open] .rutinas-asignacion-cambiar svg { transform: rotate(180deg); }
.rutinas-asignacion-controles { display: flex; align-items: flex-end; gap: .75rem; padding: 0 1rem .85rem; }
.rutinas-asignacion-controles .grupo-form { flex: 1; min-width: 0; margin: 0; }
.rutinas-asignacion-controles label { font-size: .75rem; }
.rutinas-asignacion-controles .btn { flex-shrink: 0; min-height: 38px; font-size: .78rem; }
.rutinas-editor-contenido { flex: 0 1 auto; overflow: visible; gap: .85rem; padding: 1rem; }
.rutinas-configuracion { grid-template-columns: minmax(150px, 1.8fr) repeat(3, minmax(0, 1fr)); gap: .65rem; }
.rutinas-configuracion label { font-size: .75rem; }
.rutinas-configuracion .input-control { min-width: 0; font-size: .8rem; padding: .55rem .6rem; }
.rutinas-acciones-rapidas { margin: 0; padding: .6rem 0; }
.rutinas-dias-encabezado { flex-wrap: wrap; gap: .6rem; }
.rutinas-dias-encabezado p { font-size: .75rem; }
.rutinas-dias-herramientas { display: flex; align-items: center; gap: .6rem; }
#contadorDiasRutina { white-space: nowrap; font-size: .75rem; color: #64748b; }
.rutinas-dias-herramientas .btn { font-size: .78rem; }
.rutina-editor-vacio { border: 1px dashed var(--color-borde); border-radius: 10px; background: #f8fafc; padding: 1.75rem 1rem; font-size: .82rem; }
.rutina-dia-editor-cuerpo { overflow-x: auto; }
.rutina-ejercicios-tabla { min-width: 550px; }
.rutina-ejercicios-tabla .ej-nombre { min-width: 130px; }
.rutina-ejercicios-tabla .ej-series, .rutina-ejercicios-tabla .ej-reps, .rutina-ejercicios-tabla .ej-descanso { min-width: 65px; }
@media (max-width: 1100px) {
    .rutinas-admin-layout { grid-template-columns: 220px minmax(0, 1fr); }
    .rutinas-configuracion { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rutina-campo-nombre { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .rutinas-admin-layout { grid-template-columns: 1fr; }
    .rutinas-clientes-panel { position: static; max-height: 210px; }
    .rutinas-clientes-cabecera { display: flex; align-items: center; gap: .75rem; padding: .75rem; }
    .rutinas-clientes-cabecera h2 { font-size: .85rem; margin: 0; }
    .rutinas-buscador { flex: 1; min-width: 0; font-size: .8rem; }
    .rutinas-clientes-lista { display: flex; gap: .5rem; overflow-x: auto; padding: .5rem; }
    .rutina-cliente { width: 210px; flex: 0 0 210px; margin: 0; }
}
@media (max-width: 620px) {
    .rutinas-admin-encabezado { gap: .6rem; }
    .rutinas-admin-encabezado > div > p:last-child { font-size: .78rem; }
    .rutinas-editor-cabecera { flex-direction: row; align-items: center; gap: .5rem; }
    .rutinas-editor-cabecera h2 { font-size: .92rem; }
    .rutinas-editor-cabecera .btn { width: auto; font-size: .73rem; padding: .5rem; }
    .rutinas-editor-cabecera .rutinas-eyebrow { display: none; }
    .rutinas-editor-cabecera p { font-size: .72rem; }
    .rutinas-configuracion { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rutinas-asignacion-controles { flex-wrap: wrap; }
    .rutinas-asignacion-controles .grupo-form { flex-basis: 100%; }
    .rutinas-dias-encabezado { flex-direction: row; align-items: center; }
    .rutinas-dias-encabezado > div:first-child p { display: none; }
    .rutina-ejercicios-tabla { min-width: 0; }
    .rutina-ejercicios-tabla tr:has(.fila-ejercicio), .rutina-ejercicios-tabla tr.fila-ejercicio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; }
    .rutina-ejercicios-tabla td { min-width: 0; }
    .rutina-ejercicios-tabla td:first-child, .rutina-ejercicios-tabla td:nth-child(5) { grid-column: 1 / -1; }
    .rutina-ejercicios-tabla td[data-etiqueta]::before { content: attr(data-etiqueta); display: block; color: #64748b; font-size: .68rem; margin-bottom: .2rem; }
    .rutina-ejercicios-tabla .input-control { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { .rutinas-asignacion-cambiar svg { transition: none; } }

.rutinas-admin .btn-icono { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid var(--color-borde); border-radius: 6px; background: white; color: #64748b; flex-shrink: 0; }
.rutinas-admin .btn-icono:hover { color: var(--color-error); background: var(--color-error-bg); }
.rutinas-admin .btn-icono svg { width: 16px; height: 16px; }
.rutinas-admin .btn svg { width: 17px; height: 17px; }

/* Estado de publicación y acciones rápidas del editor. */
.rutina-estado-editor{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border:1px solid #dbe8ff;border-radius:10px;background:linear-gradient(100deg,#f6f9ff,#fff)}.rutina-estado-editor span{display:flex;align-items:center;gap:.4rem;color:#2457b6;font-size:.78rem;font-weight:750}.rutina-estado-editor span svg{width:16px;height:16px}.rutina-estado-editor small{color:#718096;font-size:.72rem;text-align:right}.rutina-dia-resumen{margin-left:auto;color:#64748b;font-size:.69rem;font-weight:700;white-space:nowrap}@media(max-width:620px){.rutina-estado-editor{align-items:flex-start;flex-direction:column;gap:.25rem}.rutina-estado-editor small{text-align:left}.rutina-dia-resumen{display:none}}
