:root{--azul:#1d4ed8;--azul-claro:#e7eefc;--fondo:#f4f6fb;--tarjeta:#fff;--texto:#1b2333;--suave:#5b6578;--borde:#dfe4ee;--verde:#1f9d55;--verde-claro:#e5f4e4;--ambar:#b7791f;--ambar-claro:#fbf1dd;--rojo:#c53030;--rojo-claro:#fbebeb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--texto);background:var(--fondo);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{background:var(--fondo);margin:0}.app{flex-direction:column;max-width:640px;min-height:100vh;margin:0 auto;display:flex}.cabecera{z-index:2;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:var(--azul);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.marca{font-weight:700}.cabecera .chip{color:#fff;background:#ffffff2e}.contenido{flex:1;padding:16px 16px 96px}.navegacion{z-index:2;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--tarjeta);border-top:1px solid var(--borde);justify-content:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.navegacion a{text-align:center;max-width:150px;color:var(--suave);border-radius:10px;flex:1;padding:10px 4px;font-size:14px;font-weight:600;text-decoration:none}.navegacion a.active{background:var(--azul-claro);color:var(--azul)}.tarjeta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:14px;margin-bottom:14px;padding:16px}.tarjeta .tarjeta{border:none;margin:0;padding:12px 0 0}h1,h2,h3{margin:0 0 8px;line-height:1.25}h1{font-size:1.4rem}h2{font-size:1.15rem}h3{margin-top:12px;font-size:1rem}p{margin:6px 0}.suave{color:var(--suave);font-size:.93rem}.margen{margin:0 4px 14px}.fila-titulo{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.chip{white-space:nowrap;background:var(--azul-claro);color:var(--azul);border-radius:999px;padding:3px 9px;font-size:.8rem;font-weight:600;display:inline-block}.chip.ambar{background:var(--ambar-claro);color:var(--ambar)}.bloque{color:var(--azul);text-transform:uppercase;letter-spacing:.03em;margin:0 0 4px;font-size:.8rem;font-weight:700}label{margin:12px 0;font-weight:600;display:block}label input:not([type]),label textarea,label input[type=text]{margin-top:6px}input:not([type=checkbox]):not([type=radio]),textarea{width:100%;font:inherit;border:1px solid var(--borde);background:#fff;border-radius:10px;padding:11px 12px;font-weight:400;display:block}textarea{min-height:80px}fieldset{border:none;margin:12px 0;padding:0}legend{margin-bottom:4px;font-weight:600}.opcion{align-items:flex-start;gap:10px;margin:8px 0;font-weight:400;display:flex}.opcion input{flex:none;width:18px;height:18px;margin-top:4px}button,.boton{font:inherit;cursor:pointer;text-align:center;border:1px solid var(--borde);color:var(--texto);background:#fff;border-radius:10px;padding:11px 16px;font-weight:600;text-decoration:none;display:inline-block}button.principal,.boton{background:var(--azul);color:#fff;border-color:var(--azul);width:100%;margin-top:10px}button.secundario{color:var(--azul);border-color:var(--azul);background:#fff;margin-top:8px}button.peligro{color:var(--rojo);border-color:var(--rojo);width:100%}button:disabled{opacity:.45;cursor:not-allowed}button.enlace{color:var(--azul);text-align:left;background:0 0;border:none;padding:0;font-size:1.02rem;text-decoration:underline}button.enlace.pequeño{margin-top:6px;font-size:.85rem}.botones{flex-wrap:wrap;gap:8px;display:flex}.botones button{flex:1;min-width:120px}.escala{grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px;display:grid}.escala button{padding:12px 0}.escala button.activo{background:var(--azul);color:#fff;border-color:var(--azul)}.dias{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.dias button{padding:12px 0;font-size:.85rem}.dias button.activo{background:var(--azul);color:#fff;border-color:var(--azul)}.sesion,.niveles{margin:12px 0 0;padding:0;list-style:none}.ejercicio,.nivel{border-top:1px solid var(--borde);padding:12px 0}.cabecera-ejercicio{justify-content:space-between;gap:8px;display:flex}.dosis{font-size:.93rem}.sustituto{background:var(--ambar-claro);color:#6b4a12;border-radius:8px;padding:6px 10px;font-size:.9rem}.nivel.bloqueado,.nivel.techo{color:var(--suave)}.nivel.techo{opacity:.6}.criterios{background:var(--fondo);border-radius:10px;margin-top:8px;padding:8px 12px}.estado-rojo{border-color:var(--rojo);background:var(--rojo-claro)}.estado-ambar{background:var(--ambar-claro);border-radius:8px;padding:8px 10px}.aviso-fijo{background:var(--fondo);border-left:3px solid var(--rojo);border-radius:4px;padding:6px 10px;font-size:.88rem}.aviso-prueba{background:var(--ambar-claro);border:1px solid #f0d9a8;border-radius:12px;padding:12px 14px}.calendario{grid-template-columns:repeat(7,1fr);gap:5px;margin-top:8px;display:grid}.dia{text-align:center;border:1px solid var(--borde);border-radius:8px;padding:8px 0;font-size:.85rem}.dia.verde{background:var(--verde-claro);color:var(--verde);border-color:#0000}.dia.rojo{background:var(--rojo-claro);color:var(--rojo);border-color:#0000}.desplegable summary{cursor:pointer;font-weight:700}.velo{z-index:5;background:#0f172a73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.dialogo{width:100%;max-width:640px;max-height:90vh;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;margin:0;overflow:auto}.fotos{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;display:grid}.foto-vacia{aspect-ratio:4/3;background:var(--fondo);border:1px dashed var(--borde);color:var(--suave);border-radius:10px;place-items:center;font-size:.85rem;display:grid}a{color:var(--azul)}.cabecera a{color:#fff;text-decoration:none}.chip.verde{background:var(--verde-claro);color:var(--verde);text-decoration:none}.chip.gris{background:var(--fondo);color:var(--suave)}a.chip,a.bloque{text-decoration:none}.estado-verde{background:var(--verde-claro);color:#16623a;border-radius:8px;padding:6px 10px;font-size:.9rem}.resumen{padding:4px 16px}.resumen-fila{color:var(--texto);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:flex}.resumen-fila+.resumen-fila{border-top:1px solid var(--borde)}.resumen-fila strong{text-align:right}.resumen-fila strong:after{content:" ›";color:var(--suave)}.resumen-fila.ambar strong{color:var(--ambar)}.titulo-seccion{color:var(--azul);text-transform:uppercase;letter-spacing:.04em;border-top:2px solid var(--azul-claro);margin:14px 0 0;padding:6px 0 0;font-size:.8rem;font-weight:700;list-style:none}.titulo-seccion+.ejercicio{border-top:none}.fases{grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0 14px;padding:0;list-style:none;display:grid}.fases li{text-align:center;color:var(--suave);flex-direction:column;align-items:center;gap:4px;font-size:.72rem;display:flex}.fases .numero{border:2px solid var(--borde);background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.fases li.pasada .numero{background:var(--verde-claro);border-color:var(--verde);color:var(--verde)}.fases li.actual{color:var(--azul);font-weight:700}.fases li.actual .numero{background:var(--azul);border-color:var(--azul);color:#fff}.indice{z-index:1;background:var(--fondo);gap:6px;margin:0 -16px 4px;padding:6px 16px 10px;display:flex;position:sticky;top:48px;overflow-x:auto}.indice button{border-radius:999px;flex:none;padding:7px 12px;font-size:.85rem}.seccion{margin:22px 0 8px;scroll-margin-top:110px}.seccion>.fila-titulo,.seccion>p{margin-left:4px;margin-right:4px}.bloque-plan{margin-top:10px;scroll-margin-top:110px}.bloque-plan.cerrado{opacity:.75}#siguiente-fase{margin-top:22px;scroll-margin-top:70px}.resumen-bloque{text-align:left;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;padding:0;font-weight:400;display:flex}.resumen-bloque .linea{margin-top:2px;display:block}.lista-enlaces{margin:8px 0;padding:0;list-style:none}.lista-enlaces li{border-top:1px solid var(--borde);padding:8px 0}.lista-enlaces li:first-child{border-top:none}.lista-enlaces a{font-weight:600;text-decoration:none}.cifras{grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0;display:grid}.cifras div{background:var(--fondo);border-radius:10px;flex-direction:column;padding:10px;display:flex}.cifras strong{font-size:1.5rem}.cifras span{color:var(--suave);font-size:.8rem}.cifras .rojo strong{color:var(--rojo)}button.dia{padding:8px 0;font-weight:600;position:relative}button.dia.blanco{background:#fff}.dia.elegido{outline:2px solid var(--azul);outline-offset:1px}.marca-hecho{color:var(--azul);font-size:.65rem;position:absolute;top:1px;right:4px}.detalle-dia{background:var(--fondo);border-radius:10px;margin-top:10px;padding:10px 12px}.mensajes{margin:8px 0 0;padding:0;list-style:none}.mensajes li{border-top:1px solid var(--borde);padding:8px 0}.respuesta{background:var(--azul-claro);border-radius:8px;padding:6px 10px}.semana{margin:6px 0;padding:0;list-style:none}.semana li{border-top:1px solid var(--borde);justify-content:space-between;gap:10px;padding:7px 0;font-size:.9rem;display:flex}.semana li.fuerza strong{color:var(--azul)}.semana li span{text-align:right}.material{border-top:1px solid var(--borde);padding:2px 0 6px}.material .opcion{margin-bottom:0}.usos{margin:0 0 0 28px;font-size:.85rem}.secundario-enlace{color:var(--azul)!important;background:#fff!important}.cabecera{flex-wrap:nowrap}.cabecera .marca{flex:none}.cabecera .chip{text-overflow:ellipsis;min-width:0;overflow:hidden}.cabecera-ejercicio .chip,.fila-titulo .chip{flex:none}select{width:100%;font:inherit;border:1px solid var(--borde);color:var(--texto);background:#fff;border-radius:10px;margin-top:6px;padding:11px 12px;font-weight:400;display:block}.sangria{margin-left:16px;font-weight:400}.estado-rojo-texto{background:var(--rojo-claro);color:var(--rojo);border-radius:8px;padding:8px 10px;font-weight:600}.pasos{margin:8px 0;padding-left:20px}.pasos li{margin:8px 0}.sintomas{border-top:1px solid var(--borde);margin-top:14px;padding-top:10px}.enlaces-fila{flex-direction:column;gap:6px;margin-top:6px;display:flex}a.pequeño{font-size:.85rem}.ejercicio-detalle{border-top:1px solid var(--borde);margin-top:8px;padding-top:8px}
