.rutina-hoy { display: grid; gap: 1.25rem; max-width: 1280px; margin: 0 auto; }
.rutina-hoy-estado { align-items: center; background: #eff6ff; border-radius: 999px; color: #2457b6; display: inline-flex; font-size: .78rem; font-weight: 750; gap: .45rem; padding: .55rem .8rem; white-space: nowrap; }
.rutina-hoy-estado svg { height: 1rem; width: 1rem; }
.rutina-hoy-layout { align-items: start; display: grid; gap: 1.25rem; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.7fr); }
.rutina-hoy-editor, .rutina-hoy-tablero { background: var(--color-superficie); border: 1px solid var(--color-borde); border-radius: var(--radio-lg); box-shadow: var(--sombra-sm); }
.rutina-hoy-editor { overflow: hidden; position: sticky; top: 1rem; }
.rutina-hoy-editor-cabecera { align-items: center; background: linear-gradient(135deg, #f8fbff, #fff); border-bottom: 1px solid var(--color-borde); display: flex; gap: .7rem; padding: 1rem; }
.rutina-hoy-editor-cabecera span { align-items: center; background: #eaf2ff; border-radius: 10px; color: var(--color-primario); display: grid; height: 2.2rem; place-items: center; width: 2.2rem; }
.rutina-hoy-editor-cabecera span svg { height: 1.1rem; width: 1.1rem; }
.rutina-hoy-editor-cabecera h2 { font-size: .98rem; margin: 0; }.rutina-hoy-editor-cabecera p { color: var(--color-texto-terciario); font-size: .76rem; margin: .16rem 0 0; }
.rutina-hoy-form { display: grid; gap: 1rem; padding: 1rem; }.rutina-hoy-form[hidden] { display: none; }
.rutina-hoy-form-grid { display: grid; gap: .7rem; grid-template-columns: 1fr 1fr; }.rutina-hoy-form .grupo-form { margin: 0; }.rutina-hoy-form label { color: var(--color-texto-secundario); display: grid; font-size: .76rem; font-weight: 700; gap: .35rem; }.rutina-hoy-form .input-control { font-size: .85rem; padding: .58rem .65rem; }
.rutina-hoy-plantillas { border-bottom: 1px solid var(--color-borde); border-top: 1px solid var(--color-borde); display: grid; gap: .55rem; margin: .1rem 0; padding: .85rem 0; }.rutina-hoy-plantillas > span { color: var(--color-texto-secundario); font-size: .74rem; font-weight: 750; }.rutina-hoy-plantillas-lista { display: flex; flex-wrap: wrap; gap: .45rem; }.rutina-hoy-plantilla { align-items: center; background: #f8fafc; border: 1px solid var(--color-borde); border-radius: 8px; color: var(--color-texto-principal); cursor: pointer; display: inline-flex; font: inherit; font-size: .75rem; font-weight: 700; gap: .35rem; padding: .42rem .55rem; }.rutina-hoy-plantilla:hover { background: var(--color-primario-light); border-color: #bfdbfe; color: var(--color-primario); }.rutina-hoy-plantilla svg { height: .9rem; width: .9rem; }
.rutina-hoy-bloques-editor { display: grid; gap: .7rem; }.rutina-hoy-bloques-cabecera { align-items: center; display: flex; justify-content: space-between; }.rutina-hoy-bloques-cabecera strong { font-size: .84rem; }.rutina-hoy-bloques-cabecera .btn { font-size: .73rem; padding: .35rem .5rem; }.rutina-hoy-bloque-editor { border: 1px solid var(--color-borde); border-radius: 10px; overflow: hidden; }.rutina-hoy-bloque-editor-head { align-items: center; background: #f8fafc; display: grid; gap: .5rem; grid-template-columns: minmax(0, 1fr) 4.7rem 1.9rem; padding: .55rem; }.rutina-hoy-bloque-editor-head input { font-weight: 750; }.rutina-hoy-bloque-editor-head .btn-icono { justify-self: end; }.rutina-hoy-ejercicios-editor { display: grid; gap: .45rem; padding: .55rem; }.rutina-hoy-ejercicio-editor { align-items: center; display: grid; gap: .4rem; grid-template-columns: 2.1rem minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, .8fr) 1.9rem; }.rutina-hoy-ejercicio-editor select, .rutina-hoy-ejercicio-editor input { min-width: 0; }.rutina-hoy-ejercicio-editor .input-control { padding: .45rem .48rem; }.rutina-hoy-icono-editor { align-items: center; background: #eff6ff; border-radius: 8px; color: var(--color-primario); display: grid; height: 2rem; justify-content: center; }.rutina-hoy-icono-editor svg { height: 1rem; width: 1rem; }.rutina-hoy-agregar-ejercicio { color: var(--color-primario); font-size: .74rem; justify-self: start; margin: 0 .55rem .55rem; padding: .35rem .4rem; }.rutina-hoy-acciones { display: grid; gap: .55rem; grid-template-columns: 1fr 1fr; margin-top: .15rem; }.rutina-hoy-acciones .btn { justify-content: center; }.rutina-hoy-vista-aviso { align-items: flex-start; background: #fff8eb; border: 1px solid #fde2a5; border-radius: 10px; color: #8a5b12; display: flex; font-size: .78rem; gap: .5rem; line-height: 1.45; padding: .7rem; }.rutina-hoy-vista-aviso svg { flex: 0 0 auto; height: 1rem; margin-top: .05rem; width: 1rem; }
.rutina-hoy-tablero { min-height: 32rem; overflow: hidden; }.rutina-hoy-tablero-top { align-items: flex-start; background: linear-gradient(135deg, #132b55, #1d4ed8); color: white; display: flex; gap: 1rem; justify-content: space-between; padding: 1.3rem; position: relative; }.rutina-hoy-tablero-top::after { border: 1px solid rgba(255,255,255,.18); border-radius: 50%; content: ''; height: 10rem; opacity: .65; position: absolute; right: -2.7rem; top: -5.7rem; width: 10rem; }.rutina-hoy-tablero-top > * { position: relative; z-index: 1; }.rutina-hoy-tablero-kicker { font-size: .68rem; font-weight: 800; letter-spacing: .1em; margin: 0 0 .35rem; opacity: .78; text-transform: uppercase; }.rutina-hoy-tablero-top h2 { font-size: clamp(1.35rem, 2.5vw, 1.85rem); letter-spacing: -.025em; line-height: 1.1; margin: 0; }.rutina-hoy-tablero-top p:not(.rutina-hoy-tablero-kicker) { font-size: .85rem; line-height: 1.45; margin: .55rem 0 0; max-width: 38rem; opacity: .88; }.rutina-hoy-meta { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: flex-end; }.rutina-hoy-meta span { align-items: center; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; display: inline-flex; font-size: .72rem; gap: .32rem; padding: .43rem .55rem; white-space: nowrap; }.rutina-hoy-meta svg { height: .9rem; width: .9rem; }.rutina-hoy-bloques { display: grid; gap: .85rem; padding: 1rem; }.rutina-hoy-bloque { border: 1px solid var(--color-borde); border-radius: 12px; overflow: hidden; }.rutina-hoy-bloque-head { align-items: center; background: #f8fafc; border-bottom: 1px solid var(--color-borde); display: flex; justify-content: space-between; padding: .75rem .85rem; }.rutina-hoy-bloque-head h3 { font-size: .93rem; margin: 0; }.rutina-hoy-bloque-head span { background: #eaf2ff; border-radius: 999px; color: #2457b6; font-size: .7rem; font-weight: 800; padding: .3rem .5rem; }.rutina-hoy-ejercicios { display: grid; gap: .55rem; padding: .7rem; }.rutina-hoy-ejercicio { align-items: center; border: 1px solid #edf0f5; border-radius: 10px; display: grid; gap: .65rem; grid-template-columns: 2.4rem minmax(0, 1fr) auto; padding: .62rem; }.rutina-hoy-ejercicio-icono { align-items: center; background: #eff6ff; border-radius: 9px; color: #2563eb; display: grid; height: 2.35rem; justify-content: center; width: 2.35rem; }.rutina-hoy-ejercicio-icono svg { height: 1.15rem; width: 1.15rem; }.rutina-hoy-ejercicio-nombre { color: var(--color-texto-principal); font-size: .84rem; font-weight: 800; }.rutina-hoy-ejercicio-detalle { color: var(--color-texto-terciario); font-size: .74rem; margin-top: .15rem; }.rutina-hoy-ejercicio-tiempo { color: #2457b6; font-size: .75rem; font-weight: 800; text-align: right; }.rutina-hoy-vacio { align-items: center; color: var(--color-texto-terciario); display: flex; flex-direction: column; gap: .55rem; justify-content: center; min-height: 25rem; padding: 2rem; text-align: center; }.rutina-hoy-vacio svg { color: var(--color-primario); height: 2.5rem; width: 2.5rem; }.rutina-hoy-vacio h2 { color: var(--color-texto-principal); font-size: 1.1rem; margin: 0; }.rutina-hoy-vacio p { font-size: .85rem; line-height: 1.5; margin: 0; max-width: 22rem; }
@media (max-width: 980px) { .rutina-hoy-layout { grid-template-columns: 1fr; }.rutina-hoy-editor { position: static; }.rutina-hoy-tablero { min-height: 0; } }
@media (max-width: 640px) { .rutina-hoy-form-grid { grid-template-columns: 1fr; }.rutina-hoy-bloque-editor-head { grid-template-columns: minmax(0, 1fr) 4.5rem 1.9rem; }.rutina-hoy-tablero-top { flex-direction: column; }.rutina-hoy-meta { justify-content:flex-start; }.rutina-hoy-acciones { grid-template-columns: 1fr; }.rutina-hoy-ejercicio { grid-template-columns: 2.2rem minmax(0, 1fr); }.rutina-hoy-ejercicio-datos { grid-column: 2; justify-content: flex-start; }.rutina-hoy-ejercicio-editor { grid-template-columns: 2rem minmax(0, 1fr) 1.9rem; }.rutina-hoy-ejercicio-editor > :is([data-ejercicio-series],[data-ejercicio-trabajo],[data-ejercicio-descanso],[data-ejercicio-movimiento]) { grid-column: 2; }.rutina-hoy-ejercicio-editor > [data-ejercicio-movimiento] { grid-column: 1 / -1; } }

/* Biblioteca visual para construir rutinas: zonas del cuerpo y movimiento base. */
.rutina-hoy-enfoques { border: 0; border-bottom: 1px solid var(--color-borde); border-top: 1px solid var(--color-borde); margin: 0; padding: .8rem 0; }.rutina-hoy-enfoques legend { color: var(--color-texto-principal); font-size: .8rem; font-weight: 800; padding: 0; }.rutina-hoy-enfoques p { color: var(--color-texto-terciario); font-size: .72rem; line-height: 1.35; margin: .25rem 0 .55rem; }.rutina-hoy-zonas { display: flex; flex-wrap: wrap; gap: .38rem; }.rutina-hoy-zona { cursor: pointer; display: inline-flex !important; }.rutina-hoy-zona input { height: 1px; opacity: 0; position: absolute; width: 1px; }.rutina-hoy-zona span { align-items: center; background: #f8fafc; border: 1px solid #dce5f1; border-radius: 999px; color: #50627e; display: inline-flex; font-size: .7rem; font-weight: 750; gap: .25rem; padding: .35rem .48rem; transition: .16s ease; }.rutina-hoy-zona span svg { height: .76rem; width: .76rem; }.rutina-hoy-zona input:checked + span { background: #eaf2ff; border-color: #93c5fd; color: #1d4ed8; }.rutina-hoy-zona input:focus-visible + span { outline: 2px solid #2563eb; outline-offset: 2px; }
.rutina-hoy-ejercicio-editor { background: #fbfdff; border: 1px solid #edf2f8; border-radius: 9px; grid-template-columns: 2.1rem minmax(8rem,1.4fr) minmax(3.8rem,.55fr) minmax(4.4rem,.7fr) minmax(4.4rem,.7fr) minmax(6.7rem,.9fr) 1.9rem; padding: .38rem; }.rutina-hoy-ejercicio-editor > [data-ejercicio-icono] { display: none; }.rutina-hoy-ejercicio-icono[data-movimiento="sentadilla"] { background:#eef2ff; color:#4f46e5; }.rutina-hoy-ejercicio-icono[data-movimiento="bisagra"] { background:#fff1ed; color:#c2410c; }.rutina-hoy-ejercicio-icono[data-movimiento="empuje"] { background:#ecfdf5; color:#047857; }.rutina-hoy-ejercicio-icono[data-movimiento="traccion"] { background:#f5f3ff; color:#7c3aed; }.rutina-hoy-ejercicio-icono[data-movimiento="core"] { background:#fff7ed; color:#c2410c; }.rutina-hoy-ejercicio-icono[data-movimiento="movilidad"] { background:#eff6ff; color:#2563eb; }.rutina-hoy-ejercicio-icono[data-movimiento="cardio"] { background:#fff1f2; color:#e11d48; }
.rutina-hoy-ejercicio-datos { display: flex; gap: .42rem; }.rutina-hoy-ejercicio-datos span { color:#2457b6; display:grid; font-size:.75rem; font-weight:800; text-align:right; }.rutina-hoy-ejercicio-datos b { color:#94a3b8; font-size:.59rem; letter-spacing:.04em; text-transform:uppercase; }

/* Flujo en dos pasos: evita un editor lateral estrecho y separa creación de resultado. */
.rutina-hoy-pasos { align-items: center; background: var(--color-superficie); border: 1px solid var(--color-borde); border-radius: 14px; display: flex; gap: .65rem; padding: .55rem; }.rutina-hoy-pasos > svg { color: #94a3b8; height: 1rem; width: 1rem; }.rutina-hoy-paso { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 10px; color: var(--color-texto-secundario); cursor: pointer; display: flex; flex: 1; font: inherit; gap: .6rem; min-width: 0; padding: .65rem; text-align: left; }.rutina-hoy-paso b { align-items: center; background: #e2e8f0; border-radius: 50%; color: #475569; display: grid; flex: 0 0 auto; font-size: .76rem; height: 1.65rem; justify-content: center; width: 1.65rem; }.rutina-hoy-paso span { display: grid; min-width: 0; }.rutina-hoy-paso strong { color: inherit; font-size: .8rem; }.rutina-hoy-paso small { font-size: .7rem; margin-top: .1rem; }.rutina-hoy-paso.activo { background: #f2f7ff; border-color: #c9dcff; color: #1d4ed8; }.rutina-hoy-paso.activo b { background: var(--color-primario); color: white; }
.rutina-hoy-layout { grid-template-columns: minmax(0, 1fr); }.rutina-hoy-editor { position: static; }.rutina-hoy-layout.paso-editor .rutina-hoy-tablero { display: none; }.rutina-hoy-layout.paso-vista .rutina-hoy-editor { display: none; }.rutina-hoy-layout.paso-vista .rutina-hoy-tablero { max-width: 1060px; margin: 0 auto; width: 100%; }.rutina-hoy-editor-cabecera { padding: 1.15rem 1.25rem; }.rutina-hoy-form { margin: 0 auto; max-width: 1100px; padding: 1.25rem; }.rutina-hoy-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 680px; }.rutina-hoy-tablero-acciones { align-items: center; border-bottom: 1px solid var(--color-borde); display: flex; gap: .55rem; justify-content: flex-end; padding: .65rem .8rem; }.rutina-hoy-tablero-acciones .btn { font-size: .76rem; padding: .45rem .65rem; }.rutina-hoy-acciones { grid-template-columns: auto auto 1fr; justify-content: end; }.rutina-hoy-acciones #btnPublicarRutinaHoy { min-width: 12rem; }
@media (max-width: 640px) { .rutina-hoy-pasos { align-items: stretch; gap: .3rem; }.rutina-hoy-pasos > svg { display: none; }.rutina-hoy-paso { padding: .5rem; }.rutina-hoy-paso small { display: none; }.rutina-hoy-paso b { height: 1.5rem; width: 1.5rem; }.rutina-hoy-tablero-acciones { align-items: stretch; flex-direction: column; }.rutina-hoy-tablero-acciones .btn { justify-content: center; }.rutina-hoy-acciones { grid-template-columns: 1fr; }.rutina-hoy-acciones #btnPublicarRutinaHoy { min-width: 0; } }
