:root{--acento: #C6FF00;--sobre-acento: #0A0A0A;--fondo: #0A0A0A;--tarjeta: #1E1E1E;--tarjeta-2: #262626;--texto: #FFFFFF;--texto-tenue: #A3A3A3;--borde: #333333;--sem-verde: #22C55E;--sem-amarillo: #FACC15;--sem-rojo: #F87171;--nivel-bronce: #CD7F32;--nivel-plata: #C0C0C8;--nivel-oro: #E6B422;--nivel-elite: #C6FF00;--fuente-titulo: "Bebas Neue", "Arial Narrow", sans-serif;--fuente-texto: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--fuente-texto);background:var(--fondo);color:var(--texto);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--fuente-titulo);font-weight:400;letter-spacing:.04em;line-height:1.05}h1{font-size:2.6rem}h2{font-size:2.2rem;margin:0 0 6px}h3{font-size:1.45rem}.contenido>h2:after,.encabezado-seccion h2:after{content:"";display:block;width:44px;height:3px;margin-top:6px;background:var(--acento)}a{color:var(--acento)}.logo-r90{font-family:var(--fuente-texto);font-weight:800;font-style:italic;letter-spacing:-.02em;color:var(--texto);line-height:1}.logo-r90 .logo-90{color:var(--acento)}.lema{font-size:.68rem;letter-spacing:.35em;color:var(--texto-tenue);text-transform:uppercase}.contenedor-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.tarjeta-login{background:var(--tarjeta);border:1px solid var(--borde);border-radius:12px;padding:40px;width:100%;max-width:380px}.tarjeta-login h1{font-size:1.6rem;margin:0 0 4px;letter-spacing:.5px}.tarjeta-login .subtitulo{color:var(--texto-tenue);margin:0 0 28px;font-size:.9rem}label{display:block;font-size:.85rem;color:var(--texto-tenue);margin-bottom:6px;margin-top:16px}.rejilla-campos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:12px}.rejilla-campos label{margin-top:0}button.boton-chico{width:auto;margin-top:0;padding:8px 16px;font-size:.85rem}button.boton-chico:not(.primario){background:none;border:1px solid var(--borde);color:var(--texto-tenue);border-radius:8px}.boton,button{font-family:inherit}.boton{display:inline-block;padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;text-align:center;border:1px solid var(--borde);background:none;color:var(--texto)}.boton.secundario{background:none;border:1px solid var(--borde);color:var(--texto-tenue)}.boton.peligro{background:#3a1414;border:1px solid #f87171;color:#f87171}.boton.peligro:hover{background:#4a1818}.boton:disabled{opacity:.6;cursor:not-allowed}.semaforos{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.semaforo{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--texto-tenue);padding:4px 10px;border-radius:20px;border:1px solid var(--borde)}.semaforo .punto{width:9px;height:9px;border-radius:50%;display:inline-block}.semaforo .punto.verde{background:var(--sem-verde)}.semaforo .punto.amarillo{background:var(--sem-amarillo)}.semaforo .punto.rojo{background:var(--sem-rojo)}.semaforo .punto.gris{background:var(--texto-tenue)}.punto.verde{background:var(--sem-verde)}.punto.amarillo{background:var(--sem-amarillo)}.punto.rojo{background:var(--sem-rojo)}.punto.gris{background:var(--texto-tenue)}.area-oportunidad{margin-top:10px;padding:10px 12px;background:var(--tarjeta);border-left:3px solid var(--acento);border-radius:6px;font-size:.85rem;color:var(--texto)}input,select,textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--borde);background:var(--tarjeta-2);color:var(--texto);font-size:16px;min-height:44px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--acento);outline-offset:1px}button.primario{width:100%;margin-top:24px;padding:12px;border-radius:8px;border:none;background:var(--acento);color:var(--sobre-acento);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;min-height:48px;font-family:inherit;cursor:pointer}button.primario:hover{filter:brightness(1.08)}button.primario:disabled{opacity:.6;cursor:not-allowed}.error{color:#ff8080;font-size:.85rem;margin-top:12px}.barra-superior{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--borde);background:var(--fondo);flex-wrap:wrap;gap:12px}.barra-superior .marca{font-size:1.6rem;cursor:pointer}.barra-superior button{background:none;border:1px solid var(--borde);color:var(--texto-tenue);padding:8px 14px;min-height:40px;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.contenido{padding:28px;max-width:1100px;margin:0 auto}.rejilla-atletas{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px}.tarjeta-atleta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:10px;padding:18px;cursor:pointer;transition:border-color .15s}.tarjeta-atleta:hover{border-color:var(--acento)}.tarjeta-atleta h3{font-size:1.5rem!important}.tarjeta-atleta h3{margin:0 0 4px;font-size:1.05rem}.tarjeta-atleta p{margin:0;color:var(--texto-tenue);font-size:.85rem}.insignia-nivel{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:700;margin-top:10px}.insignia-nivel.bronce{background:var(--nivel-bronce);color:#2a1d0c}.insignia-nivel.plata{background:var(--nivel-plata);color:#21232b}.insignia-nivel.oro{background:var(--nivel-oro);color:#2a1d0c}.insignia-nivel.elite{background:var(--nivel-elite);color:var(--sobre-acento)}.encabezado-seccion{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.enlace-volver{color:var(--texto-tenue);text-decoration:none;font-size:.85rem;display:inline-block;margin-bottom:16px}.tabla-historial{width:100%;border-collapse:collapse;margin-top:20px;font-size:.88rem}.tabla-historial th,.tabla-historial td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--borde)}.tabla-historial th{color:var(--texto-tenue);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}.estado-vacio{text-align:center;color:var(--texto-tenue);padding:60px 20px}:root{--nivel-iniciacion: #60a5fa;--nivel-desarrollo: #f4a300;--nivel-especializacion: #c084fc}.texto-tenue-chico{color:var(--texto-tenue);font-size:.82rem}.subtitulo-seccion{margin:26px 0 12px;font-size:1.05rem}.numero-clase{display:inline-block;font-size:.75em;font-weight:700;color:var(--acento);border:1px solid var(--acento);border-radius:6px;padding:1px 7px;margin-right:8px;vertical-align:middle}.titulo-clase{font-size:2.4rem;margin:6px 0 4px;line-height:1.2}.tarjeta-sesion.destacada{border-color:var(--acento)}.barra-acciones{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.barra-acciones button{min-height:44px}.bloque-comun{margin-top:18px;padding:12px 16px;background:var(--tarjeta);border:1px solid var(--borde);border-radius:10px;font-size:.92rem}.bloque-comun p{margin:6px 0}.caja-foco{margin-top:16px;padding:14px 16px;border-radius:10px;border:1px solid var(--borde);border-left:3px solid var(--acento);background:var(--tarjeta);font-size:.92rem}.caja-foco h3{margin:0 0 4px;font-size:1rem}.futbol-niveles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}@media (max-width: 900px){.futbol-niveles{grid-template-columns:1fr}.titulo-clase{font-size:1.5rem}}.nivel-col{background:var(--tarjeta);border:1px solid var(--borde);border-top:4px solid var(--color-nivel, var(--acento));border-radius:10px;padding:14px 16px;font-size:.9rem;line-height:1.45}.nivel-col.iniciacion{--color-nivel: var(--nivel-iniciacion)}.nivel-col.desarrollo{--color-nivel: var(--nivel-desarrollo)}.nivel-col.especializacion{--color-nivel: var(--nivel-especializacion)}.nivel-col-encabezado{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.nivel-col h3{margin:0;color:var(--color-nivel);font-size:1.1rem}.nivel-col h4{margin:14px 0 4px;font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:var(--texto-tenue)}.nivel-col p{margin:0}.lista-alumnos{margin-top:8px!important;font-weight:600}.lista-errores{margin:0;padding-left:18px}.lista-errores li{margin:3px 0}.chip-nivel{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:700;color:#0f1b17;background:var(--texto-tenue);white-space:nowrap}.chip-nivel.iniciacion{background:var(--nivel-iniciacion)}.chip-nivel.desarrollo{background:var(--nivel-desarrollo)}.chip-nivel.especializacion{background:var(--nivel-especializacion)}.chip-nivel.sin-nivel{background:none;color:var(--texto-tenue);border:1px dashed var(--borde)}.chip-estado{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.75rem;border:1px solid var(--borde);color:var(--texto-tenue);white-space:nowrap}.chip-estado.cerrada{border-color:var(--sem-verde);color:var(--sem-verde)}.aviso{margin-top:16px;padding:10px 14px;border-radius:8px;border:1px solid #7f1d1d;background:#2a1212;font-size:.88rem}.aviso a{color:var(--acento)}.caja-formulario{background:var(--tarjeta);border:1px solid var(--borde);border-radius:10px;padding:16px;max-width:640px;width:100%}.selector-dias,.selector-asistencia{display:flex;gap:6px;flex-wrap:wrap}.selector-dias button,.selector-asistencia button{min-width:52px;min-height:40px;border-radius:8px;border:1px solid var(--borde);background:none;color:var(--texto-tenue);cursor:pointer}.selector-dias button.activo,.selector-asistencia button.activo{background:var(--acento);color:var(--sobre-acento);border-color:var(--acento);font-weight:700}.selector-asistencia button.activo.ausente{background:var(--sem-rojo);border-color:var(--sem-rojo)}.fila-hoy td{background:#c6ff0014}.tarjeta-retro{background:var(--tarjeta);border:1px solid var(--borde);border-radius:10px}.tarjeta-retro.completa{border-color:var(--sem-verde)}.tarjeta-retro.ausente{opacity:.7}.tarjeta-retro-encabezado{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;min-height:52px}.tarjeta-retro-cuerpo{padding:0 16px 16px;border-top:1px solid var(--borde)}.tarjeta-retro-cuerpo .selector-asistencia{margin-top:12px}.fila-error{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--borde);flex-wrap:wrap}.fila-error-texto{flex:1 1 260px;font-size:.92rem}.semaforo-botones{display:flex;gap:6px}.btn-sem{min-width:78px;min-height:44px;border-radius:8px;border:1px solid var(--borde);background:none;color:var(--texto-tenue);font-size:.85rem;cursor:pointer}.btn-sem.rojo.activo{background:var(--sem-rojo);border-color:var(--sem-rojo);color:#1a0505;font-weight:700}.btn-sem.amarillo.activo{background:var(--sem-amarillo);border-color:var(--sem-amarillo);color:#1a1200;font-weight:700}.btn-sem.verde.activo{background:var(--sem-verde);border-color:var(--sem-verde);color:#062012;font-weight:700}.btn-sem:disabled{opacity:.6;cursor:not-allowed}.barra-inferior{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--tarjeta);border-top:1px solid var(--borde);z-index:10}.barra-inferior button{min-height:44px}.mensaje-flotante{position:fixed;left:50%;transform:translate(-50%);bottom:86px;background:var(--tarjeta-2);border:1px solid var(--borde);border-radius:10px;padding:10px 16px;z-index:11;display:flex;align-items:center;max-width:calc(100% - 32px)}.aviso-clase{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0;padding:14px 18px;border:1px solid var(--acento);border-radius:10px;background:#c6ff000f;cursor:pointer}.aviso-clase-titulo{font-size:1.2rem;font-weight:700;margin-top:4px}@media (max-width: 640px){h1{font-size:2.1rem}h2{font-size:1.8rem}.contenido{padding:18px 16px}.barra-superior{padding:12px 16px}.tarjeta-login{padding:28px 22px}}.bloque-rpe{padding:12px 0;border-bottom:1px solid var(--borde);display:grid;gap:8px}.selector-rpe{display:grid;grid-template-columns:repeat(11,minmax(36px,1fr));gap:4px}@media (max-width: 520px){.selector-rpe{grid-template-columns:repeat(6,1fr)}}.btn-rpe{min-height:44px;border-radius:8px;border:1px solid var(--borde);background:none;color:var(--texto);font-size:1rem;font-weight:600;cursor:pointer}.btn-rpe.verde{border-bottom:3px solid var(--sem-verde)}.btn-rpe.amarillo{border-bottom:3px solid var(--sem-amarillo)}.btn-rpe.rojo{border-bottom:3px solid var(--sem-rojo)}.btn-rpe.verde.activo{background:var(--sem-verde);color:#062012}.btn-rpe.amarillo.activo{background:var(--sem-amarillo);color:#1a1200}.btn-rpe.rojo.activo{background:var(--sem-rojo);color:#1a0505}.btn-rpe:disabled{opacity:.6;cursor:not-allowed}.select-carga{min-height:36px;padding:4px 8px;width:auto}.chip-dolor{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--sem-rojo);color:#1a0505;font-size:.75rem;font-weight:700}.caja-sala{border:1px solid var(--borde);border-radius:12px;padding:14px;margin-top:8px}.sala-tema{font-size:1.15rem;font-weight:700;color:var(--acento)}.tramos-sala{display:grid;gap:4px;margin:12px 0 4px;font-size:.9rem}.chip-disciplina{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid var(--borde)}.chip-disciplina.fit{border-color:var(--acento);color:var(--acento)}.chip-disciplina.futbol{border-color:var(--texto-tenue);color:var(--texto)}.dia-adultos{margin-top:18px}.dia-adultos h3{margin:0 0 8px}.clase-adulto{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--borde);border-radius:10px;margin-bottom:8px;cursor:pointer}.clase-adulto.cancelada{opacity:.5}.clase-adulto.llena{border-style:dashed}.clase-adulto.inscrito{border-color:var(--acento)}.clase-adulto-hora{font-weight:700;min-width:64px}.chip-pago{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;border:1px solid var(--borde)}.chip-pago.verde{border-color:var(--sem-verde);color:var(--sem-verde)}.chip-pago.amarillo{border-color:var(--sem-amarillo);color:var(--sem-amarillo)}.chip-pago.rojo{border-color:var(--sem-rojo);color:var(--sem-rojo)}.chip-pago.gris{color:var(--texto-tenue)}.opciones-pago{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:8px 0 4px}.opcion-pago{text-align:left;padding:14px;border-radius:10px;border:1px solid var(--borde);background:var(--tarjeta-2);color:var(--texto);cursor:pointer;display:grid;gap:4px;margin:0;width:100%}.opcion-pago.activo{border-color:var(--acento);box-shadow:0 0 0 1px var(--acento) inset}.opcion-pago .precio{font-size:1.25rem;font-weight:800;color:var(--acento)}.caja-instrucciones-pago{border:1px dashed var(--acento);border-radius:10px;padding:14px;margin-top:10px;display:grid;gap:6px}.dato-grande{font-size:1.3rem;font-weight:800;letter-spacing:.04em;word-break:break-all}.resumen-pagos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:12px 0}.resumen-pagos button{margin:0;padding:12px;border-radius:10px;border:1px solid var(--borde);background:var(--tarjeta);color:var(--texto);text-align:left;cursor:pointer;display:grid;gap:2px}.resumen-pagos button.activo{border-color:var(--acento)}.resumen-pagos strong{font-size:1.5rem}.tabla-scroll{overflow-x:auto}.paquetes-adultos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.tarjeta-paquete{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:12px;background:var(--tarjeta);border:1px solid var(--borde);color:var(--texto)}.tarjeta-paquete.activo{border-color:var(--acento);box-shadow:0 0 0 1px var(--acento) inset}.paquete-nombre{font-size:1.15rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.paquete-precio{font-size:1.9rem;font-weight:900;color:var(--acento);line-height:1.1}.paquete-msi{font-size:.85rem;font-weight:700;color:var(--texto)}.paquete-beneficios{margin:0;padding-left:18px;display:grid;gap:3px;font-size:.86rem}.paquete-beneficios li::marker{color:var(--acento)}.servicios-paquete{display:grid;gap:6px;margin-top:4px}.servicio-fila{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--borde);border-radius:8px}.etiqueta-paquete{align-self:flex-start;background:var(--acento);color:var(--sobre-acento);font-weight:900;font-size:.72rem;letter-spacing:.08em;padding:3px 10px;border-radius:999px}.resumen-total{display:grid;gap:4px;padding:14px;border-radius:10px;border:1px solid var(--acento)}.resumen-total .fila{display:flex;justify-content:space-between;gap:12px}.resumen-total .total{font-size:1.3rem;font-weight:900;color:var(--acento)}.seccion-programa{background:var(--tarjeta);border:1px solid var(--borde);border-radius:12px;padding:16px;margin-top:14px;display:grid;gap:8px}.seccion-programa h3{margin:0}
