:root{--noche:#12332a;--verde2:#1c4a3d;--coral:#ff5f3d;--mango:#ffc23d;--crema:#fff6ea;--tinta:#141414;--sec:#d9e2dd;--exito:#9be3b0;--apagado:#b9c7c1;--fondo-alumno:linear-gradient(172deg, #12332a 0%, #1c4a3d 42%, #a9503a 80%, #e4774f 100%);--vidrio:#fff6ea1f;--vidrio-borde:#fff6ea33;--staff-fondo:#fbf7f0;--staff-sombra:0 2px 10px #12332a0d;--staff-sec:#4a5e57;--staff-linea:#f0e9dc;--cond-texto:#b23a1e;--cond-borde:#f0a08c;--sem-verde:#3e9b6e;--sem-ambar:#ffc23d;--sem-rojo:#d9472a;--titulo:"Bricolage Grotesque", system-ui, sans-serif;--texto:"Nunito Sans", system-ui, sans-serif;--resorte:linear(0, .1, .35, .7, 1.02, 1.14, 1.12, 1.05, 1, .98, 1);--resorte-pop:linear(0, .12, .4, .75, 1.02, 1.12, 1.1, 1.04, 1, .99, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--texto);background:var(--noche);color:var(--crema);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font-family:var(--texto);cursor:pointer}input,select,textarea{font-family:var(--texto);font-size:16px}a{color:inherit}h1,h2,h3{margin:0}.titulo{font-family:var(--titulo);font-weight:800}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.alumno{isolation:isolate;min-height:100dvh;color:var(--crema);padding:env(safe-area-inset-top) 0 calc(108px + env(safe-area-inset-bottom));max-width:480px;margin:0 auto;position:relative}.alumno:before{content:"";z-index:-1;background:var(--fondo-alumno);position:fixed;inset:0}.alumno.hitos:before{background:linear-gradient(8deg,#e4774f 0%,#a9503a 18%,#1c4a3d 55%,#12332a 100%)}.alumno.sin-nav{padding-bottom:24px}.alumno-head{flex-direction:column;gap:2px;padding:28px 22px 4px;display:flex}.alumno-head .sub{color:var(--sec);font-size:14px;font-weight:700}.alumno-head h1{font-family:var(--titulo);font-size:32px;font-weight:800}.volver{height:44px;color:var(--mango);background:0 0;border:0;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:15px;font-weight:800;text-decoration:none;display:flex}.vidrio{background:var(--vidrio);border:1px solid var(--vidrio-borde);-webkit-backdrop-filter:blur(14px);border-radius:26px;flex-direction:column;gap:12px;margin:12px 16px 0;padding:16px;display:flex}.vidrio.r22{border-radius:22px}.crema-card{background:var(--crema);color:var(--noche);border-radius:24px;flex-direction:column;gap:8px;margin:12px 16px 0;padding:16px 18px;text-decoration:none;display:flex}.rotulo{letter-spacing:.08em;text-transform:uppercase;color:var(--mango);font-size:12px;font-weight:800}.crema-card .rotulo{color:var(--staff-sec);letter-spacing:.06em}.fila{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sec{color:var(--sec)}.nota{color:var(--sec);margin:8px 24px 0;font-size:13px;font-weight:600;line-height:1.45}.btn{border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:52px;padding:0 20px;font-size:17px;font-weight:800;text-decoration:none;transition:transform .16s ease-out;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.ancho{width:100%}.btn-mango{background:var(--mango);color:var(--tinta)}.btn-coral{background:var(--coral);color:var(--tinta)}.btn-oscuro{background:var(--noche);color:var(--crema)}.btn-contorno{color:var(--crema);background:#fff6ea1f;border:1px solid #fff6ea66}.btn-chico{height:44px;padding:0 16px;font-size:14px}.press{transition:transform .16s ease-out}.press:active{transform:scale(.96)}.accion-fija{width:min(448px,100% - 32px);left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:20;position:fixed;transform:translate(-50%)}.accion-fija .btn:active{transform:scale(.97)}.chips{scrollbar-width:none;gap:8px;padding:2px 16px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{height:42px;color:var(--crema);background:#fff6ea24;border:0;border-radius:999px;flex-shrink:0;padding:0 15px;font-size:14px;font-weight:800}.chip[aria-pressed=true]{background:var(--mango);color:var(--tinta)}.nav-alumno{width:min(452px,100% - 28px);left:50%;bottom:calc(16px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);z-index:30;background:#0c261fd1;border:1px solid #fff6ea24;border-radius:999px;justify-content:space-around;align-items:center;height:68px;display:flex;position:fixed;transform:translate(-50%)}.nav-alumno a{width:48px;height:48px;color:var(--crema);border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:flex}.nav-alumno a.activa{background:var(--mango);width:auto;color:var(--tinta);gap:6px;height:auto;padding:11px 15px;font-size:14px;font-weight:800}.campo{flex-direction:column;gap:6px;font-size:14px;font-weight:800;display:flex}.campo input,.campo select,.campo textarea{min-height:52px;color:var(--crema);background:#12332a80;border:1px solid #fff6ea40;border-radius:16px;padding:12px 14px;font-weight:700}.campo textarea{resize:vertical;min-height:88px}.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--mango);outline-offset:1px}.error{color:#ffd3c7;background:#d9472a40;border:1px solid #ff8a6b80;border-radius:14px;padding:10px 12px;font-size:14px;font-weight:700}.ok{color:var(--exito);font-weight:800}.sino{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sino button{height:44px;color:var(--crema);background:0 0;border:1px solid #fff6ea4d;border-radius:999px;font-size:15px;font-weight:800}.sino button[aria-pressed=true]{background:var(--mango);color:var(--tinta);border-color:var(--mango)}.check{text-align:left;min-height:52px;color:var(--crema);background:#12332a73;border:1px solid #fff6ea1a;border-radius:16px;align-items:center;gap:12px;width:100%;padding:8px 12px;transition:transform .16s ease-out;display:flex}.check:active{transform:scale(.97)}.check .caja{border:1.5px solid #fff6ea66;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.check[aria-pressed=true] .caja{background:var(--mango);border-color:var(--mango)}.check .nombre{font-size:16px;font-weight:700}.check[aria-pressed=true] .nombre{color:var(--apagado);text-decoration:line-through}.hex{clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.avatar{color:var(--tinta);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.staff{background:var(--staff-fondo);min-height:100dvh;color:var(--noche);padding-bottom:calc(96px + env(safe-area-inset-bottom))}.staff-marco{max-width:760px;margin:0 auto}.staff-head{color:var(--crema);padding:calc(18px + env(safe-area-inset-top)) 18px 18px;background:linear-gradient(165deg,#12332a 0%,#1c4a3d 65%,#a9503a 140%);border-radius:0 0 28px 28px;flex-direction:column;gap:12px;display:flex}.staff-head h1{font-family:var(--titulo);font-size:28px;font-weight:800}.staff-head .sub{color:var(--sec);font-size:14px;font-weight:700}.staff-head .volver{color:var(--crema)}.badge-staff{background:var(--mango);color:var(--tinta);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800}.blanca{box-shadow:var(--staff-sombra);background:#fff;border-radius:22px;flex-direction:column;gap:10px;margin:12px 14px 0;padding:16px;display:flex}.blanca h2{letter-spacing:.06em;color:var(--staff-sec);text-transform:uppercase;font-size:13px;font-weight:800}.staff .sec{color:var(--staff-sec)}.staff .btn-contorno{color:var(--noche);border:2px solid var(--noche);background:0 0}.segmentado{background:#fff6ea1f;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;display:grid}.segmentado button{height:42px;color:var(--crema);background:0 0;border:0;border-radius:999px;font-size:15px;font-weight:800}.segmentado button[aria-pressed=true]{background:var(--mango);color:var(--tinta)}.contador{background:#fff;border-radius:18px;flex-direction:column;padding:10px 12px;display:flex;box-shadow:0 2px 8px #12332a0d}.contador b{font-family:var(--titulo);font-size:24px;font-weight:800}.contador span{color:var(--staff-sec);font-size:12px;font-weight:700}.punto{border-radius:50%;flex-shrink:0;width:10px;height:10px}.etiqueta{color:var(--tinta);border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.cond{min-height:26px;color:var(--cond-texto);border:1px solid var(--cond-borde);background:0 0;border-radius:8px;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.fila-alumno{border-bottom:1px solid var(--staff-linea);align-items:center;gap:10px;min-height:58px;padding:6px 0;display:flex}.staff .campo{color:var(--noche)}.staff .campo input,.staff .campo select,.staff .campo textarea{color:var(--noche);background:#fff;border:1px solid #e2d8c6}.staff .campo input:focus,.staff .campo select:focus,.staff .campo textarea:focus{outline-color:var(--noche)}.staff .error{color:var(--cond-texto);border-color:var(--cond-borde);background:#fff1ec}.staff .sino button{color:var(--noche);border-color:#d7ccb8}.staff .sino button[aria-pressed=true]{background:var(--noche);color:var(--crema);border-color:var(--noche)}.staff .chip{color:var(--noche);background:#f1e6d4}.staff .chip[aria-pressed=true]{background:var(--noche);color:var(--crema)}.nav-staff{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:30;background:#fff;border-radius:999px;justify-content:space-around;width:min(560px,100% - 20px);padding:6px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #12332a24}.nav-staff a{min-height:48px;color:var(--staff-sec);border-radius:999px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:800;text-decoration:none;display:flex;position:relative}.nav-staff a.activa{background:var(--noche);color:var(--crema)}.nav-staff .num{background:var(--coral);min-width:18px;height:18px;color:var(--tinta);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;display:flex;position:absolute;top:2px;right:calc(50% - 22px)}.tabla{border-collapse:collapse;width:100%;font-size:14px}.tabla td,.tabla th{text-align:left;border-bottom:1px solid var(--staff-linea);padding:8px 4px}.jk-masc{transform-box:fill-box;transform-origin:50% 100%;animation:jk-in .7s var(--resorte)}@keyframes jk-in{0%{transform:scale(.4)}to{transform:scale(1)}}.jk-lift-a,.jk-lift-b{transform-box:fill-box;transform-origin:50%}.jk-lift-a{animation:.64s ease-in-out .3s 3 jk-lift-a}.jk-lift-b{animation:.64s ease-in-out 3 jk-lift-b}@keyframes jk-lift-a{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes jk-lift-b{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.jk-glow{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out 3 jk-glow}@keyframes jk-glow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.jk-pop{animation:jk-pop .52s var(--resorte-pop)}@keyframes jk-pop{0%{transform:scale(.4)}to{transform:scale(1)}}.jk-dot{opacity:0;border-radius:50%;width:9px;height:9px;animation:.8s cubic-bezier(.2,.8,.3,1) forwards jk-burst;position:absolute;top:50%;left:50%}@keyframes jk-burst{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1);opacity:0}}.jk-now{animation:1.4s ease-in-out 5 jk-now}@keyframes jk-now{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.jk-bob{animation:1.2s ease-in-out 5 jk-bob}@keyframes jk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.jk-emb{animation:jk-emb .9s linear(0, .08, .3, .62, .95, 1.16, 1.2, 1.12, 1.03, .98, .99, 1) .15s both}@keyframes jk-emb{0%{transform:scale(.2)rotate(-20deg)}to{transform:scale(1)rotate(0)}}.jk-conf{opacity:0;border-radius:3px;width:10px;height:16px;animation:1.3s cubic-bezier(.15,.7,.3,1) forwards jk-conf;position:absolute;top:34%;left:50%}@keyframes jk-conf{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--r));opacity:0}}.jk-fade{animation:.3s ease-out jk-fade}@keyframes jk-fade{0%{opacity:0}to{opacity:1}}.jk-up{animation:jk-up .42s var(--resorte-pop)}@keyframes jk-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.jk-face{transition:transform .3s cubic-bezier(.3,1.5,.5,1)}@media (prefers-reduced-motion:reduce){.jk-masc,.jk-lift-a,.jk-lift-b,.jk-glow,.jk-pop,.jk-dot,.jk-now,.jk-bob,.jk-emb,.jk-conf,.jk-fade,.jk-up{animation:none!important}.jk-dot,.jk-conf{display:none}.jk-face,.btn,.press,.check{transition:none!important}.btn:active,.press:active,.check:active{transform:none}}
