:root{color-scheme:light;--color-texto: #1f2933;--color-texto-suave: #5b6876;--color-fondo: #f2f6f6;--color-superficie: #ffffff;--color-borde: #d5e0e1;--color-primario: #0f766e;--color-primario-hover: #115e59;--color-sobre-primario: #ffffff;--color-primario-suave: #e3f3f0;--color-error: #b91c1c;--color-error-fondo: #fef2f2;--color-error-borde: #fecaca;--color-peligro: #b91c1c;--color-sobre-peligro: #ffffff;--color-ok: #047857;--color-ok-fondo: #ecfdf5;--color-ok-borde: #a7f3d0;--color-aviso: #b45309;--color-aviso-fondo: #fffbeb;--color-aviso-borde: #fde68a;--color-visor: #cbd2d9;--opacidad-marca-agua: .07;--logo-fondo: #0f2a44;--logo-flecha: #ff6b2c;--sombra: 0 1px 2px rgba(16, 42, 67, .05), 0 4px 12px rgba(16, 42, 67, .05);--sombra-alta: 0 2px 4px rgba(16, 42, 67, .07), 0 8px 20px rgba(16, 42, 67, .09);--radio: 10px;--serie-1: #2a78d6;--serie-2: #eb6834;--grafico-grilla: #e4e9f0}:root[data-tema=oscuro]{color-scheme:dark;--color-texto: #e6edf3;--color-texto-suave: #a3b3c2;--color-fondo: #0f1720;--color-superficie: #17212b;--color-borde: #2e3d4b;--color-primario: #2dd4bf;--color-primario-hover: #5eead4;--color-sobre-primario: #04302b;--color-primario-suave: #143b3a;--color-error: #f87171;--color-error-fondo: #3a1d20;--color-error-borde: #7f2b2f;--color-peligro: #f87171;--color-sobre-peligro: #3a0d0d;--color-ok: #6ee7b7;--color-ok-fondo: #10322b;--color-ok-borde: #1f6b58;--color-aviso: #fcd34d;--color-aviso-fondo: #3a2c0f;--color-aviso-borde: #7a5a14;--color-visor: #2a3642;--opacidad-marca-agua: .13;--logo-fondo: #ffffff;--sombra: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .25);--sombra-alta: 0 2px 4px rgba(0, 0, 0, .35), 0 8px 20px rgba(0, 0, 0, .35);--serie-1: #3f8ae6;--serie-2: #e56530;--grafico-grilla: #2b3947}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--color-texto);background:var(--color-fondo);font-weight:600}h1{margin:0 0 8px;font-size:1.6rem;letter-spacing:-.01em}:focus-visible{outline:2px solid var(--color-primario);outline-offset:2px}.icono{width:22px;height:22px;flex-shrink:0}.logo{width:28px;height:28px;flex-shrink:0}.logo-fondo{fill:var(--logo-fondo)}.logo-flecha{stroke:var(--logo-flecha)}@keyframes aparecer{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){*,*:after{animation:none!important;transition:none!important}}.contenedor{position:relative;max-width:960px;margin:0 auto;padding:24px 16px}.marca-agua{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;opacity:var(--opacidad-marca-agua);color:var(--color-texto);font-size:min(9vw,4.5rem);font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.marca-agua .logo{width:min(45vw,45vh);height:min(45vw,45vh)}@media print{.marca-agua{display:none}}.texto-suave{color:var(--color-texto-suave);margin:0 0 16px}.tarjeta{background:var(--color-superficie);border:2px solid var(--color-borde);border-radius:var(--radio);padding:24px;box-shadow:var(--sombra)}.campo{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;font-weight:600}.campo input,.campo select,.campo textarea,.filtros input,.filtros select{padding:10px 12px;border:2px solid var(--color-borde);border-radius:var(--radio);font:inherit;font-weight:600;background:var(--color-superficie);color:inherit;width:100%}.campo textarea{resize:vertical}.campo input:focus,.campo select:focus,.campo textarea:focus,.filtros input:focus,.filtros select:focus{outline:2px solid var(--color-primario);outline-offset:-1px}.obligatorio{color:var(--color-error)}.ayuda{color:var(--color-texto-suave);font-weight:600}.error-campo{color:var(--color-error);font-weight:600}.grilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 16px}.mensaje-error{color:var(--color-error);background:var(--color-error-fondo);border-radius:var(--radio);padding:8px 12px;margin:0 0 16px}.boton,.boton-secundario{display:inline-block;font:inherit;border-radius:var(--radio);padding:10px 16px;cursor:pointer;text-decoration:none;text-align:center;transition:background-color .15s,border-color .15s,transform .1s}.boton:active:not(:disabled),.boton-secundario:active:not(:disabled){transform:translateY(1px)}.boton{background:var(--color-primario);color:var(--color-sobre-primario);border:none;font-weight:600;box-shadow:var(--sombra)}.boton-eliminar{font:inherit;font-weight:600;padding:10px 16px;border:none;border-radius:var(--radio);background:var(--color-peligro);color:var(--color-sobre-peligro);cursor:pointer}.boton-eliminar:disabled{opacity:.6;cursor:default}.boton:hover:not(:disabled){background:var(--color-primario-hover)}.boton:disabled{opacity:.6;cursor:default}.boton-secundario{background:var(--color-superficie);color:var(--color-texto);border:2px solid var(--color-borde)}.boton-secundario:hover:not(:disabled){background:var(--color-fondo);border-color:var(--color-primario)}.boton-secundario:disabled{opacity:.6;cursor:default}.encabezado .boton-secundario{padding:6px 12px;white-space:nowrap}.boton-menu,.solo-angosto{display:none}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 50% 0%,var(--color-primario-suave),var(--color-fondo) 60%)}.login-formulario{width:100%;max-width:400px;padding:32px;box-shadow:var(--sombra-alta);animation:aparecer .25s ease-out}.login-marca{display:flex;align-items:center;gap:12px;margin-bottom:8px}.login-marca h1{margin:0;line-height:1.1}.login-marca .texto-suave{margin:0;font-size:.9rem}.login-marca .logo{width:40px;height:40px}.login-formulario .boton{width:100%}.encabezado{position:relative;background:var(--color-superficie);border-bottom:2px solid var(--color-borde);box-shadow:var(--sombra)}.encabezado-contenido{max-width:960px;margin:0 auto;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.marca{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--color-texto);text-decoration:none;white-space:nowrap}.encabezado-usuario{display:flex;align-items:center;gap:12px}.menu{display:flex;gap:4px;flex:1}.menu a{color:var(--color-texto-suave);text-decoration:none;padding:6px 10px;border-radius:var(--radio);transition:background-color .15s,color .15s}.menu a:hover{background:var(--color-fondo);color:var(--color-texto)}.menu a.active{background:var(--color-primario-suave);color:var(--color-primario);font-weight:600}a{color:var(--color-primario)}h2{margin:0 0 16px;font-size:1.1rem}.pagina-encabezado{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}.volver{display:inline-block;margin-bottom:12px;text-decoration:none}.acciones{display:flex;gap:8px;flex-wrap:wrap}.seccion{margin-bottom:16px}.filtros{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-bottom:16px}.filtros select{width:auto}.insignias{display:flex;gap:6px;flex-wrap:wrap}.insignia{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.85rem;background:var(--color-fondo);border:2px solid var(--color-borde);color:var(--color-texto-suave)}.insignia-ok{background:var(--color-ok-fondo);border-color:var(--color-ok-borde);color:var(--color-ok)}.tabla-contenedor{overflow-x:auto}.tabla{width:100%;border-collapse:collapse;background:var(--color-superficie);margin-bottom:8px}.tabla th,.tabla td{text-align:left;padding:10px 12px;border-bottom:2px solid var(--color-borde);vertical-align:top}.tabla th{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-texto-suave);font-weight:700}.tabla tbody tr{transition:background-color .12s}.tabla tbody tr:hover{background:var(--color-primario-suave)}.sin-salto{white-space:nowrap}.texto-largo{white-space:pre-line}.datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:0}.datos-texto{grid-template-columns:1fr}.dato dt{font-size:.85rem;color:var(--color-texto-suave);margin-bottom:2px}.dato dd{margin:0;white-space:pre-line}.ultimos-ingresos{margin-top:24px}.indicadores{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:8px 0 16px}.indicador{display:flex;flex-direction:column;gap:4px;padding:16px;font:inherit;font-weight:600;color:inherit;text-align:left;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}a.indicador,button.indicador{cursor:pointer}a.indicador:hover,button.indicador:hover{border-color:var(--color-primario);box-shadow:var(--sombra-alta);transform:translateY(-2px)}.indicador.activo{border-color:var(--color-primario);background:var(--color-primario-suave)}.indicador .icono{color:var(--color-primario)}.saludo-inicio{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-bottom:16px}.saludo-inicio h1,.saludo-inicio p{margin:0}.acciones-inicio{margin-bottom:16px}.indicador-etiqueta{font-size:.85rem;color:var(--color-texto-suave)}.indicador-valor{font-size:2rem;font-weight:700;line-height:1.15}.filtros-asistencia{grid-template-columns:1fr auto}.lista-asistencia{display:grid;gap:8px;margin:0;padding:0;list-style:none}.lista-asistencia button{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:12px 16px;border:2px solid var(--color-borde);border-radius:var(--radio);background:var(--color-superficie);color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.lista-asistencia button:hover,.lista-asistencia button.presente{border-color:var(--color-primario)}.lista-asistencia button.presente{background:var(--color-primario-suave)}.fila-configuracion{padding:12px 0;border-top:2px solid var(--color-borde)}.fila-configuracion:first-child{padding-top:0;border-top:none}.fila-configuracion-dato{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:40px}.fila-configuracion .formulario-pago{margin:12px 0 0}.mensaje-ok{padding:10px 12px;border:2px solid var(--color-ok-borde);border-radius:var(--radio);background:var(--color-ok-fondo);color:var(--color-ok);animation:aparecer .2s ease-out}.lista-panel{margin:0;padding:0;list-style:none}.lista-panel li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:10px 0;border-top:2px solid var(--color-borde)}.opciones-bloque{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:16px}.opcion-bloque{font:inherit;font-weight:600;text-align:left;padding:20px;border:2px solid var(--color-borde);border-radius:var(--radio);background:var(--color-superficie);color:var(--color-texto);cursor:pointer;transition:border-color .15s,color .15s,box-shadow .15s}.opcion-bloque:hover{box-shadow:var(--sombra-alta);border-color:var(--color-primario);color:var(--color-primario)}.visor-pdf-marco{position:relative;height:78vh;border:2px solid var(--color-borde);border-radius:var(--radio);background:var(--color-visor);overflow:hidden}.visor-pdf{position:absolute;inset:0;overflow:auto;color-scheme:light}.visor-pdf .pdfViewer .page{box-sizing:content-box}.visor-pdf .annotationLayer{--annotation-unfocused-field-background: none}.visor-pdf-cargando{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;color:var(--color-texto-suave)}.desplegable{padding:0}.desplegable summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;cursor:pointer;list-style:none;border-radius:var(--radio)}.desplegable summary::-webkit-details-marker{display:none}.desplegable summary:hover{background:var(--color-fondo)}.desplegable summary:focus-visible{outline:2px solid var(--color-primario);outline-offset:-2px}.desplegable summary h2{margin:0}.desplegable summary:after{content:"";width:8px;height:8px;border-right:3px solid var(--color-texto-suave);border-bottom:3px solid var(--color-texto-suave);transform:rotate(45deg);transition:transform .15s;flex-shrink:0}.desplegable[open] summary:after{transform:rotate(-135deg)}.desplegable[open] summary{border-bottom:2px solid var(--color-borde);border-radius:var(--radio) var(--radio) 0 0}.desplegable[open] .desplegable-contenido{animation:aparecer .18s ease-out}.desplegable-contenido{padding:16px 24px 24px}.separador{border-top:2px solid var(--color-borde);margin:8px 0 16px}.lista-encabezado{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.lista-encabezado select{padding:6px 10px;border:2px solid var(--color-borde);border-radius:var(--radio);font:inherit;background:var(--color-superficie);color:inherit}.lista-anotaciones{list-style:none;margin:0;padding:0}.anotacion{border-top:2px solid var(--color-borde);padding:12px 0}.anotacion p{margin:6px 0 0}.anotacion-cabecera{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.anotacion-acciones{margin-left:auto;display:flex;gap:4px}.boton-desplegar{width:100%;margin-top:4px}.boton-link{background:none;border:none;padding:4px 6px;font:inherit;font-size:.9rem;color:var(--color-primario);cursor:pointer;border-radius:var(--radio)}.boton-link:hover{background:var(--color-fondo)}.boton-ampliar{padding:0 4px;margin-left:4px}.boton-link.peligro{color:var(--color-error)}.insignia-alerta{background:var(--color-error-fondo);border-color:var(--color-error-borde);color:var(--color-error)}.insignia-aviso{background:var(--color-aviso-fondo);border-color:var(--color-aviso-borde);color:var(--color-aviso)}.proxima-evaluacion{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px}.fila-resultado{border:2px solid var(--color-borde);border-radius:var(--radio);padding:12px 12px 0;margin-bottom:12px}.fila-resultado-campos{display:grid;grid-template-columns:2fr 1fr 1fr .8fr 1.4fr;gap:0 12px}.fila-resultado-pie{display:flex;align-items:flex-start;gap:12px}.fila-resultado-pie .campo{flex:1}.fila-resultado-pie .boton-link{margin-top:28px}.formulario-prueba{display:grid;grid-template-columns:2fr 1.2fr .8fr auto;gap:0 12px;align-items:start}.formulario-prueba-acciones{margin-top:26px}.casilla{display:flex;align-items:center;gap:8px;margin-bottom:12px}.numero{text-align:right}.primera-mayuscula:first-letter{text-transform:uppercase}.pago-plan{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-weight:600}.pago-plan select{padding:6px 10px;border:2px solid var(--color-borde);border-radius:var(--radio);font:inherit;background:var(--color-superficie);color:inherit;max-width:100%}.pago-estado{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.pago-saldo{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:var(--color-error-fondo);border-radius:var(--radio);padding:8px 12px;margin-bottom:12px}.fila-plan{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.link-discreto{font-size:.9rem;color:var(--color-texto-suave);text-decoration:none;white-space:nowrap;padding-top:6px}.link-discreto:hover{color:var(--color-primario);text-decoration:underline}.deuda-titulo{margin:0 0 4px}.lista-deuda{margin:0;padding-left:18px;font-size:.9rem;color:var(--color-texto-suave)}.boton-whatsapp{display:inline-block;background:#16a34a;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;padding:6px 12px;border-radius:var(--radio)}.boton-whatsapp:hover{background:#15803d}.formulario-pago{border:2px solid var(--color-borde);border-radius:var(--radio);padding:16px;margin-bottom:8px}.formulario-pago h3{margin:0 0 12px;font-size:1rem}.opciones-tipo{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.opciones-tipo label{display:flex;align-items:center;gap:6px;cursor:pointer}.filtros-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.chip{font:inherit;font-size:.9rem;padding:6px 12px;border-radius:999px;border:2px solid var(--color-borde);background:var(--color-superficie);color:var(--color-texto);cursor:pointer}.chip-activo{background:var(--color-primario);border-color:var(--color-primario);color:var(--color-sobre-primario)}.filtros-rango{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:8px}.filtros-rango .campo input{width:auto}.filtros-rango .acciones{margin-bottom:16px}.totales{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.total{display:flex;flex-direction:column;gap:4px;padding:16px}.total strong{font-size:1.2rem}.total-principal{border-color:var(--color-primario)}.total-principal strong{color:var(--color-primario)}.graficos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:16px;margin-bottom:16px}.grafico{margin:0;padding:16px}.grafico h3{margin:0 0 8px;font-size:1rem}.grafico-metricas{display:flex;flex-wrap:wrap;gap:4px 24px;margin:0 0 8px;font-size:.9rem}.grafico-metricas dd{margin:0;color:var(--color-texto-suave)}.grafico-svg{width:100%;height:auto;display:block;overflow:visible}.grafico-grilla{stroke:var(--grafico-grilla);stroke-width:2}.grafico-eje{fill:var(--color-texto-suave);font-size:13px;font-weight:600}.grafico-linea{fill:none;stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round}.grafico-punto{stroke:var(--color-superficie);stroke-width:2.5}.grafico-zona{fill:transparent;cursor:default}.grafico-eje-numero{fill:var(--color-texto);font-weight:700}.subtitulo{margin:0}.grafico-rotulo{fill:var(--color-texto);font-size:14px;font-weight:700}.grafico-leyenda{display:flex;gap:16px;font-size:.85rem;color:var(--color-texto-suave);margin-top:4px}.muestra-serie{display:inline-block;width:14px;height:5px;border-radius:2px;vertical-align:middle;margin-right:6px}.filtros-simple{grid-template-columns:minmax(0,420px)}.acciones-columna{display:flex;flex-direction:column;gap:8px}.buscador{width:100%;padding:10px 12px;border:2px solid var(--color-borde);border-radius:var(--radio);font:inherit;background:var(--color-superficie);color:inherit;margin-bottom:12px}.lista-seleccion{list-style:none;margin:0;padding:0}.lista-seleccion button{width:100%;text-align:left;font:inherit;background:none;border:none;border-top:2px solid var(--color-borde);padding:10px 8px;cursor:pointer;color:inherit}.lista-seleccion button:hover{background:var(--color-fondo)}.texto-recortado{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boton-peligro{color:var(--color-error)}.edicion-precio{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.edicion-precio input{padding:8px 10px;border:2px solid var(--color-borde);border-radius:var(--radio);font:inherit;background:var(--color-superficie);color:inherit;width:160px}.edicion-precio .boton,.edicion-precio .boton-secundario{padding:8px 12px}.nota{margin:12px 0 0;font-size:.85rem}@media(max-width:800px){.fila-resultado-campos,.formulario-prueba{grid-template-columns:1fr 1fr}.formulario-prueba-acciones{margin-top:0;margin-bottom:16px}}@media(max-width:760px){.boton-menu{display:inline-block;min-height:40px}.solo-angosto{display:inline}.solo-ancho,.menu,.encabezado-usuario{display:none}.menu-abierto .menu{display:flex;flex-direction:column;width:100%}.menu-abierto .menu a{padding:12px}.menu-abierto .encabezado-usuario{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:8px}.menu-abierto .encabezado-usuario .boton-secundario{padding:10px 12px}}@media(max-width:640px){input,select,textarea{font-size:16px}.contenedor{padding:16px 12px}.tarjeta{padding:16px}.desplegable{padding:0}.desplegable summary{padding:14px 16px}.desplegable-contenido{padding:12px 16px 16px}.indicador{padding:12px}.filtros,.filtros-asistencia,.filtros-simple{grid-template-columns:minmax(0,1fr)}.filtros select{width:100%}.fila-resultado-campos,.formulario-prueba{grid-template-columns:minmax(0,1fr)}.acciones-columna{width:100%}.acciones .boton,.acciones .boton-secundario,.acciones .boton-eliminar{flex:1 1 auto}.boton-link{min-height:40px;padding:8px 10px}.chip{padding:8px 14px}.link-discreto{padding:8px 0}.pago-plan select{width:100%}.sin-salto{white-space:normal}.texto-recortado{max-width:none;white-space:normal}.tabla,.tabla tbody,.tabla tr,.tabla td{display:block;width:100%}.tabla{background:none}.tabla thead{display:none}.tabla tbody tr{margin-bottom:10px;padding:4px 12px;border:2px solid var(--color-borde);border-radius:var(--radio);background:var(--color-superficie)}.tabla td,.tabla td.numero{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 12px;padding:8px 0;border-bottom:2px solid var(--color-borde);text-align:right}.tabla td:last-child{border-bottom:none}.tabla td:empty{display:none}.tabla td:before{content:attr(data-etiqueta);font-size:.85rem;color:var(--color-texto-suave);text-align:left}.tabla td[data-etiqueta=Alumno]{font-size:1.05rem;text-align:left}.tabla td[data-etiqueta=Alumno]:before,.tabla td[data-etiqueta=""]:before{display:none}.tabla td[data-etiqueta=""]{justify-content:flex-start}.tabla td a:not(.boton-link,.boton-whatsapp){padding:4px 0}.boton-whatsapp{padding:10px 14px}.grafico-eje{font-size:17px}.grafico-rotulo{font-size:19px}}@media(hover:none){a.indicador:hover,button.indicador:hover{transform:none;box-shadow:var(--sombra)}}
