:root{--background:#f5f7fb;--foreground:#101828;--surface:#fff;--line:#d0d7e2;--primary:#005bd3;--danger:#b42318;--text:#101828;--muted:#667085;--font-geist-sans:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-geist-mono:Consolas, "Liberation Mono", "Courier New", monospace}.admin-access-builder{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.admin-access-list,.admin-personnel-access-list{gap:12px;display:grid}.admin-access-list h3,.admin-personnel-access-list h3{margin:0;font-size:1rem}.admin-access-token{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--foreground);cursor:grab;text-align:left;border-radius:8px;padding:12px;display:grid}.admin-access-token:active{cursor:grabbing}.admin-access-token span{font-weight:700}.admin-personnel-access-card p{color:#667085}.admin-personnel-access-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.admin-personnel-access-list h3{grid-column:1/-1}.admin-personnel-access-card{border:1px dashed var(--line);background:var(--surface);border-radius:8px;gap:12px;min-height:160px;padding:14px;display:grid}.admin-personnel-access-card h4,.admin-personnel-access-card p{margin:0}.admin-access-chip-row{align-items:start;gap:8px;min-height:30px;display:grid}.admin-access-chip-stack{width:170px;max-width:100%;display:grid;position:relative}.admin-access-chip{border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:8px;width:100%;padding:8px 10px;font-size:.82rem;line-height:1}.admin-access-chip-combo{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) 30px;width:170px;display:grid;overflow:hidden}.admin-access-chip-combo .admin-access-chip{border:0;border-radius:0}.admin-access-chip{background:var(--surface);color:var(--foreground)}.admin-access-remove-badge{border:0;border-left:1px solid var(--line);background:var(--surface);color:var(--danger);cursor:pointer;place-items:center;font-size:.85rem;font-weight:700;line-height:1;display:grid}.admin-access-remove-badge:hover,.admin-access-remove-badge:focus-visible{background:#fff5f5}.admin-access-remove-badge img{filter:invert(45%)sepia(11%)saturate(657%)hue-rotate(182deg)brightness(91%)}.admin-access-remove-badge:hover img,.admin-access-remove-badge:focus-visible img{filter:invert(20%)sepia(95%)saturate(2944%)hue-rotate(350deg)brightness(83%)}.admin-access-empty{color:#667085;font-size:.85rem}.admin-access-warning{color:#b42318;background:#fef3f2;border:1px solid #fda29b;border-radius:8px;grid-column:1/-1;margin:0 0 12px;padding:10px 12px;font-size:.85rem}.honor-roll-report-message{color:var(--muted);margin:8px 0 0;font-size:.85rem}.admin-access-scope-panel{z-index:5;border:1px solid var(--line);width:170px;min-height:32px;box-shadow:none;background:#f8fafc;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:0;display:grid;position:absolute;top:0;left:calc(100% + 8px)}.admin-access-scope-panel label{border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.82rem;font-weight:700;line-height:1;display:flex}.app-main[data-access-scope=view]:before{border:1px solid var(--line);color:#8a5a00;content:"Modo solo ver: este puesto puede observar la página, pero no editar, generar, descargar ni ejecutar acciones.";background:#fff8e6;border-radius:8px;margin-bottom:12px;padding:10px 12px;display:block}@media (max-width:760px){.admin-access-builder{grid-template-columns:1fr}.admin-access-scope-panel{margin-top:6px;position:static}}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);font-family:var(--font-geist-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}.kicker{text-transform:uppercase;color:#475467;letter-spacing:0;font-size:12px;font-weight:700}.landing-hero .kicker,.landing-section .kicker,.landing-offer .kicker{font-size:24px}.landing-hero .kicker{color:#fff}.landing-shell{color:#172033;background:#fff;min-height:100dvh}.landing-schoolbar{color:#fff;background:#062f56;align-items:center;min-height:96px;padding:12px max(18px,50% - 590px);display:flex}.landing-schoolbar .landing-brand-mark{width:56px;height:56px}.landing-schoolbar .landing-brand-text strong{color:#fff;white-space:nowrap;font-size:2.16rem;line-height:1.05}.landing-schoolbar .landing-brand-text small{color:#ffffffc2;white-space:nowrap;font-size:1.64rem;line-height:1.1}.landing-nav{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #1020331a;justify-content:space-between;align-items:center;gap:16px;width:100%;margin:0 auto;padding:14px max(18px,50% - 590px);display:flex;position:sticky;top:0}.landing-brand{align-items:center;gap:12px;min-width:0;display:inline-flex}.landing-brand-mark{color:#fff;letter-spacing:0;background:#fff;border:1px solid #1020331f;border-radius:8px;place-items:center;width:48px;height:48px;font-weight:800;display:inline-grid;overflow:hidden}.landing-brand-logo-button{cursor:zoom-in;padding:0}.landing-brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.landing-brand-text,.landing-brand-text strong,.landing-brand-text small{display:block}.landing-brand-text strong{color:#102033;font-size:1.02rem}.landing-brand-text small{color:#596579;margin-top:2px;font-size:.82rem}.landing-logo-modal{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#102033d1;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.landing-logo-modal-content{background:#1020336b;border-radius:8px;place-items:center;width:min(820px,92vw);height:min(820px,84vh);padding:24px;display:grid}.landing-logo-modal-content img{object-fit:contain;width:100%;height:100%;display:block}.landing-logo-modal-close{color:#9d1c2f;cursor:pointer;width:44px;height:44px;font:inherit;text-align:center;background:#fff;border:1px solid #ffffffb8;border-radius:8px;justify-content:center;place-items:center;padding:0;font-size:1.15rem;font-weight:900;line-height:1;display:grid;position:fixed;top:18px;right:18px}.landing-menu{color:#172033;flex:1;justify-content:flex-start;align-items:center;gap:24px;font-size:.94rem;font-weight:700;display:flex}.landing-menu a{padding:8px 0;transition:color .16s}.landing-menu a:hover{color:#9d1c2f}.landing-access-links{align-items:center;gap:10px;display:flex}.landing-nav-action,.landing-community-action,.landing-primary-action,.landing-secondary-action{border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:700;line-height:1;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.landing-community-action,.landing-primary-action{color:#fff;background:#9d1c2f;border:1px solid #9d1c2f}.landing-nav-action{color:#172033;background:#fff;border:1px solid #d9e1ec}.landing-secondary-action{color:#172033;background:#fff;border:1px solid #ffffffb8}.landing-community-action:hover,.landing-primary-action:hover{background:#7c1424;border-color:#7c1424;transform:translateY(-1px);box-shadow:0 10px 22px #9d1c2f33}.landing-nav-action:hover{border-color:#9d1c2f;transform:translateY(-1px);box-shadow:0 10px 22px #10203314}.landing-secondary-action:hover{border-color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px #10203314}.landing-nav-action:focus-visible,.landing-community-action:focus-visible,.landing-primary-action:focus-visible,.landing-secondary-action:focus-visible,.landing-brand-logo-button:focus-visible,.landing-logo-modal-close:focus-visible{outline-offset:3px;outline:3px solid #9d1c2f3d}.landing-hero{background-color:#0000;background-image:linear-gradient(90deg,#062f56e0 0%,#062f56b3 42%,#062f5633 100%),url(https://images.unsplash.com/photo-1509062522246-3755977927d7?auto=format&fit=crop&w=1800&q=80);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;align-items:center;min-height:640px;padding:72px max(18px,50% - 590px);display:grid}.landing-copy{color:#fff;max-width:720px}.landing-copy h1{color:#fff;letter-spacing:0;margin-top:12px;font-size:4.8rem;font-weight:850;line-height:1}.landing-lead{color:#ffffffeb;max-width:620px;margin-top:20px;font-size:1.18rem;line-height:1.65}.landing-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.landing-section{background:#fff;padding:60px max(18px,50% - 590px)}.landing-section-heading{max-width:760px}.landing-section-heading h2{color:#102033;letter-spacing:0;margin-top:8px;font-size:2.6rem;line-height:1.15}.landing-pillar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.landing-pillar-card{perspective:1000px;border-radius:8px;outline:none;min-width:0;min-height:170px}.landing-pillar-card-inner{width:100%;height:100%;min-height:170px;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.22,1,.36,1);position:relative}.landing-pillar-card:hover .landing-pillar-card-inner,.landing-pillar-card:focus .landing-pillar-card-inner,.landing-pillar-card:focus-within .landing-pillar-card-inner{transform:rotateY(180deg)}.landing-pillar-card:focus-visible .landing-pillar-card-inner{outline-offset:4px;outline:3px solid #9d1c2f3d}.landing-pillar-card-face{backface-visibility:hidden;border:1px solid #d9e1ec;border-radius:8px;place-items:center;min-height:170px;padding:22px;display:grid;position:absolute;inset:0;box-shadow:0 18px 36px #10203329}.landing-pillar-card-front{background:#fff}.landing-pillar-card-back{background:#062f56;transform:rotateY(180deg)}.landing-pillar-grid h3{color:#102033;text-align:center;font-size:1.2rem;line-height:1.25}.landing-pillar-grid p{color:#fff;text-align:center;line-height:1.58}@media (prefers-reduced-motion:reduce){.landing-pillar-card-inner{transition:none}}.landing-offer{background:#7c1424;padding:60px max(18px,50% - 590px)}.landing-offer .kicker,.landing-offer .landing-section-heading h2{color:#fff}.landing-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.landing-offer-grid article{background:#f4f7fb;border:1px solid #9d1c2f29;border-radius:8px;min-width:0;padding:24px;box-shadow:0 14px 28px #10203312}.landing-offer-grid h3{color:#102033;font-size:1.18rem;line-height:1.25}.landing-offer-grid p{color:#596579;margin-top:10px;line-height:1.6}.landing-community{background:#fff;grid-template-columns:minmax(0,.72fr) minmax(470px,.78fr);align-items:center;gap:42px;padding:60px max(18px,50% - 590px);display:grid}.landing-community h2,.landing-contact h2{color:#102033;letter-spacing:0;margin-top:8px;font-size:2.4rem;line-height:1.16}.landing-community p,.landing-contact p{color:#596579;max-width:620px;margin-top:16px;font-size:1.05rem;line-height:1.65}.landing-community-copy{isolation:isolate;align-content:center;min-height:340px;padding:34px 36px 34px 0;display:grid;position:relative;overflow:hidden}.landing-school-pennant{z-index:-2;aspect-ratio:2;filter:drop-shadow(0 5px 8px #10203329);transform-origin:50%;background:url(https://res.cloudinary.com/du6weikkv/image/upload/v1784189406/Dise%C3%B1o_sin_t%C3%ADtulo_2_tpyok3.svg) 0/contain no-repeat;width:min(500px,96%);margin:0 auto 18px;position:relative;transform:rotate(-15deg)}.landing-community-list{isolation:isolate;align-content:center;gap:12px;min-height:420px;display:grid;position:relative}.landing-community-list:before{z-index:-1;content:"";opacity:.34;transform-origin:50%;background:url(https://res.cloudinary.com/du6weikkv/image/upload/v1784188379/Dise%C3%B1o_sin_t%C3%ADtulo_1_j8sijc.svg) 100%/470px no-repeat;position:absolute;inset:-143px 0;transform:scaleX(-1)}.landing-community-list span{z-index:1;color:#102033;background:#ffffffc7;border:1px solid #d9e1ec;border-radius:8px;padding:16px 18px;font-weight:750;position:relative}.landing-contact{color:#fff;background:#062f56;gap:26px;padding:72px max(18px,50% - 590px);display:grid}.landing-contact-heading{max-width:760px}.landing-contact .kicker{color:#ffffffc2}.landing-contact h2{color:#fff;letter-spacing:0;margin-top:8px;font-size:2.35rem;line-height:1.12}.landing-contact p{color:#ffffffd1;line-height:1.6}.landing-contact-heading p{max-width:620px;margin-top:14px;font-size:1.03rem}.landing-contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.landing-contact-grid article{background:#7c1424;border:1px solid #ffffff2e;border-radius:8px;align-content:start;gap:10px;min-width:0;min-height:190px;padding:20px;display:grid}.landing-contact-grid span{color:#ffffffad;letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.landing-contact-grid strong{color:#fff;font-size:1.24rem;line-height:1.25;display:block}.landing-contact-grid a{color:inherit;text-underline-offset:4px;text-decoration:underline}.landing-contact-grid p{margin:0;font-size:.96rem}.landing-contact-official{color:#ffffffc2;flex-wrap:wrap;gap:10px;font-size:.94rem;font-weight:700;display:flex}.landing-contact-official span{border:1px solid #ffffff2e;border-radius:8px;padding:8px 10px}@media (prefers-reduced-motion:no-preference){.scroll-reveal-ready [data-scroll-reveal]{opacity:0;will-change:opacity, transform;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1)}.scroll-reveal-ready [data-scroll-reveal=fade-in]{transform:translateY(24px)}.scroll-reveal-ready [data-scroll-reveal=slide-up]{transform:translateY(56px)}.scroll-reveal-ready [data-scroll-reveal=slide-in-left]{transform:translate(-44px)}.scroll-reveal-ready [data-scroll-reveal=slide-in-right]{transform:translate(44px)}.scroll-reveal-ready [data-scroll-reveal=scale-up]{transform-origin:top;transform:translateY(18px)scale(.96)}.scroll-reveal-ready [data-scroll-reveal].is-revealed{opacity:1;will-change:auto;transform:none}}@media (prefers-reduced-motion:reduce){[data-scroll-reveal]{opacity:1;transition:none;transform:none}}.family-portal-page{color:#172033;background:#f5f7fb;min-height:100dvh}.family-portal-hero{color:#fff;background-color:#0000;background-image:linear-gradient(90deg,#062f56e0 0%,#062f56b8 100%),url(https://images.unsplash.com/photo-1577896851231-70ef18881754?auto=format&fit=crop&w=1600&q=80);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;padding:56px max(18px,50% - 540px)}.family-portal-back{background:#ffffff1f;border:1px solid #ffffff94;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:8px 12px;font-weight:700;display:inline-flex}.family-portal-hero .kicker,.family-portal-hero h1,.family-portal-hero p{color:#fff}.family-portal-hero .kicker{margin-top:44px}.family-portal-hero h1{letter-spacing:0;max-width:760px;margin-top:10px;font-size:3.2rem;line-height:1.05}.family-portal-hero p{max-width:640px;margin-top:16px;font-size:1.08rem;line-height:1.6}.family-portal-layout{gap:16px;padding:32px max(18px,50% - 540px) 56px;display:grid}.family-student-card,.family-tool-grid article{background:#fff;border:1px solid #d9e1ec;border-radius:8px;box-shadow:0 14px 28px #10203312}.family-student-card{grid-template-columns:auto minmax(0,1fr) minmax(260px,.8fr);align-items:center;gap:18px;padding:22px;display:grid}.family-student-avatar{color:#fff;background:#9d1c2f;border-radius:999px;place-items:center;width:68px;height:68px;font-weight:850;display:inline-grid}.family-student-card h2{color:#102033;margin-top:6px;font-size:1.5rem}.family-student-card p{color:#596579;margin-top:6px}.family-student-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.family-student-summary span{background:#fbfcff;border:1px solid #d9e1ec;border-radius:8px;padding:12px}.family-student-summary small,.family-student-summary strong{display:block}.family-student-summary small{color:#596579;font-size:.82rem}.family-student-summary strong{color:#102033;margin-top:4px;font-size:1.2rem}.family-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.family-tool-grid article{padding:20px}.family-tool-grid h3{color:#102033;font-size:1.08rem}.family-tool-grid p{color:#596579;margin-top:8px;line-height:1.5}.family-access-page{background:#f5f7fb}.family-access-nav{background:#fff;border-bottom:1px solid #d9e1ec;justify-content:flex-end;align-items:center;min-height:64px;padding:10px max(18px,50% - 540px);display:flex}.family-access-home{color:#344054;background:#fff;border:1px solid #d9e1ec;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-size:.9rem;font-weight:750;transition:border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.family-access-home:hover{color:#9d1c2f;border-color:#9d1c2f;box-shadow:0 8px 18px #10203314}.family-access-home:focus-visible{outline-offset:3px;outline:3px solid #9d1c2f38}.family-access-hero{align-content:start;padding-block:32px;display:grid}.family-access-hero h1{margin-top:0}.family-access-layout{gap:22px;padding:32px max(18px,50% - 540px) 64px;display:grid}.family-access-heading{max-width:680px}.family-access-heading h2{color:#102033;letter-spacing:0;margin-top:8px;font-size:2rem;line-height:1.15}.family-access-heading p{color:#596579;max-width:460px;margin-top:10px;line-height:1.6}.family-access-secondary{color:#596579;margin-top:4px;font-size:.95rem}.family-access-secondary a{color:#9d1c2f;font-weight:600;text-decoration:underline}.family-access-action{color:#fff;background:#9d1c2f;border:1px solid #9d1c2f;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:fit-content;min-height:44px;padding:10px 16px;font-weight:750;line-height:1;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.family-access-action:hover{background:#7c1424;border-color:#7c1424;transform:translateY(-1px);box-shadow:0 10px 22px #9d1c2f33}.family-access-action:focus-visible,.family-flow-back:focus-visible{outline-offset:3px;outline:3px solid #9d1c2f3d}.family-flow-page{place-items:center;padding:24px;display:grid}.family-flow-panel{background:#fff;border:1px solid #d9e1ec;border-radius:8px;width:min(680px,100%);padding:28px;box-shadow:0 14px 28px #10203312}.family-flow-back{color:#172033;background:#fff;border-color:#d9e1ec;margin-bottom:28px}.family-flow-panel h1{color:#102033;letter-spacing:0;margin-top:8px;font-size:2.2rem;line-height:1.1}.family-flow-panel p:not(.kicker){color:#596579;margin-top:12px;line-height:1.6}.family-login-form{gap:16px;display:grid}.family-login-form .family-flow-back{justify-self:start;margin-bottom:8px}.family-login-form label{color:#172033;gap:7px;font-weight:750;display:grid}.family-login-form input{color:#172033;min-height:44px;font:inherit;border:1px solid #c8d1df;border-radius:8px;padding:9px 11px}.family-login-form button,.family-profile-header button{color:#fff;cursor:pointer;min-height:42px;font:inherit;background:#9d1c2f;border:1px solid #9d1c2f;border-radius:8px;padding:9px 14px;font-weight:750}.family-login-form>button{justify-self:start;width:fit-content;min-height:44px;padding:10px 16px}.family-login-message{color:#b42318!important}.family-login-form button:disabled,.family-activation-form button:disabled,.family-member-invite-form button:disabled{cursor:wait;opacity:.65}.family-registration-panel{gap:16px;display:grid}.family-invite-summary{background:#f1fbf5;border:1px solid #b8dfc8;border-radius:10px;padding:16px}.family-invite-summary strong{color:#067647}.family-invite-summary ul{color:#344054;gap:5px;margin:10px 0 0;padding-left:20px;display:grid}.family-activation-form{gap:14px;display:grid}.family-activation-form label{color:#172033;gap:7px;font-weight:750;display:grid}.family-activation-form input{color:#172033;min-height:44px;font:inherit;border:1px solid #c8d1df;border-radius:8px;padding:9px 11px}.family-activation-form small{color:#667085;font-size:.8rem;font-weight:500;line-height:1.45}.family-activation-form button{color:#fff;cursor:pointer;width:fit-content;min-height:44px;font:inherit;background:#9d1c2f;border:1px solid #9d1c2f;border-radius:8px;justify-self:start;padding:10px 16px;font-weight:750}.family-profile-page{--family-primary:#9d1c2f;--family-primary-dark:#7c1424;--family-blue:#175cd3;--family-green:#067647;--family-amber:#b54708;--family-red:#b42318;--family-text:#101828;--family-muted:#596579;--family-line:#e4e7ec;--family-surface:#fff;--family-soft:#f6f8fb;--family-radius:20px;--family-shadow:0 18px 40px #10203314;min-height:100dvh;color:var(--family-text);background:radial-gradient(circle at 0 0,#9d1c2f14,#0000 32%),linear-gradient(#fff 0%,#f6f8fb 34%,#eef3f8 100%);padding:24px max(18px,50% - 590px) 48px}.family-profile-header{z-index:5;border-radius:var(--family-radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border:1px solid #e4e7ece6;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;display:flex;position:sticky;top:0;box-shadow:0 10px 28px #1020330f}.family-header-brand,.family-header-actions{align-items:center;min-width:0;display:flex}.family-header-brand{gap:12px}.family-header-actions{justify-content:flex-end;gap:12px}.family-header-actions>span{max-width:260px;color:var(--family-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:700;overflow:hidden}.family-school-mark{background:var(--family-primary);letter-spacing:0;border-radius:16px;flex:none;place-items:center;width:48px;height:48px;display:inline-grid;color:#fff!important;text-transform:none!important;font-size:1rem!important;font-weight:900!important}.family-profile-header h1{color:var(--family-text);letter-spacing:0;margin-top:2px;font-size:1.35rem;line-height:1.1}.family-profile-header p:last-child{color:var(--family-muted);margin-top:4px;font-size:.92rem}.family-profile-header button{justify-content:center;align-items:center;gap:8px;min-width:max-content;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.family-profile-header button:hover{transform:translateY(-1px);box-shadow:0 12px 22px #9d1c2f2e}.family-manage-link{border:1px solid var(--family-line);min-height:42px;color:var(--family-primary);white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:9px 13px;font-size:.88rem;font-weight:800;display:inline-flex}.family-student-switcher{scrollbar-width:thin;margin-top:18px;padding:2px 0 5px;overflow-x:auto}.family-student-switcher>div{border-bottom:1px solid var(--family-line);gap:8px;width:max-content;min-width:100%;padding-bottom:10px;display:flex}.family-student-switcher button{border:1px solid var(--family-line);min-height:42px;color:var(--family-text);cursor:pointer;font:inherit;white-space:nowrap;background:#ffffffdb;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-weight:750;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.family-student-switcher button:hover{background:#fff;border-color:#9d1c2f66}.family-student-switcher button.active{border-color:var(--family-primary);background:var(--family-primary);color:#fff;box-shadow:0 8px 18px #9d1c2f2e}.family-student-switcher button:focus-visible{outline-offset:2px;outline:3px solid #9d1c2f3d}.family-student-switcher img,.family-profile-header button img,.family-download-panel button img{filter:brightness(0)saturate();opacity:.82;flex:none}.family-student-switcher button.active img,.family-profile-header button img,.family-download-panel button img{filter:brightness(0)invert();opacity:1}.family-student-profile{margin-top:22px}.family-student-profile>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.family-student-profile>header span,.student-report-card header span{color:var(--family-primary);text-transform:uppercase;font-size:.78rem;font-weight:800}.family-student-profile>header h2{color:var(--family-text);margin-top:4px}.family-student-profile>header small{color:var(--family-muted)}.family-student-profile>h3{color:var(--family-text);margin-top:24px;font-size:1.05rem}.family-student-hero{border-radius:var(--family-radius);background:linear-gradient(135deg, #9d1c2f14, #175cd30d), var(--family-surface);box-shadow:var(--family-shadow);border:1px solid #e4e7ecf2;grid-template-columns:auto minmax(0,1fr) minmax(230px,.62fr);gap:20px;padding:24px;overflow:hidden;align-items:center!important;display:grid!important}.family-student-avatar{border:4px solid #ffffffe6;width:78px;height:78px;box-shadow:0 14px 28px #9d1c2f33}.family-student-hero p{color:var(--family-muted);margin-top:6px;font-size:1rem}.family-student-hero h2{letter-spacing:0;font-size:1.85rem}.family-invite-member-button{border:1px solid var(--family-primary);background:var(--family-primary);color:#fff;cursor:pointer;min-height:40px;font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:8px 12px;font-size:.88rem;font-weight:800;transition:box-shadow .18s,transform .18s;display:inline-flex}.family-invite-member-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #9d1c2f33}.family-invite-member-button img{filter:brightness(0)invert()}.family-profile-meta{gap:8px;margin:0;display:grid}.family-profile-meta div{background:#ffffffc2;border:1px solid #e4e7ece0;border-radius:16px;gap:2px;padding:10px 12px;display:grid}.family-profile-meta dt{color:var(--family-muted);text-transform:uppercase;font-size:.78rem;font-weight:750}.family-profile-meta dd{color:var(--family-text);margin:0;font-weight:750}.family-summary-grid,.family-attendance-grid,.family-subject-grid{gap:12px;display:grid}.family-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.family-summary-grid article,.family-attendance-grid article,.family-attendance-card,.family-subject-grid article,.family-subject-card,.family-profile-section,.family-attention-panel{border-radius:var(--family-radius);background:var(--family-surface);border:1px solid #e4e7ecf2}.family-summary-grid article,.family-attendance-grid article,.family-attendance-card,.family-subject-grid article,.family-subject-card{min-width:0;padding:16px}.family-summary-grid article{align-content:start;gap:8px;min-height:156px;transition:box-shadow .18s,transform .18s,border-color .18s;display:grid;position:relative;box-shadow:0 12px 28px #1020330f}.family-summary-grid article.family-summary-card-attendance{background:#f2fbf6;border-color:#abefc6}.family-summary-grid article.family-summary-card-academic{background:#eff8ff;border-color:#b2ddff}.family-summary-grid article:hover{border-color:#9d1c2f38;transform:translateY(-2px);box-shadow:0 18px 34px #1020331a}.family-summary-icon,.family-list-icon{background:#eef4ff;border-radius:999px;place-items:center;display:inline-grid}.family-summary-icon{width:38px;height:38px}.family-summary-icon.attendance{color:var(--family-green);background:#ecfdf3}.family-summary-icon.academic{color:var(--family-blue);background:#eef4ff}.family-summary-icon.attention{color:var(--family-amber);background:#fff7e8}.family-summary-icon.reports{color:var(--family-primary);background:#fff1f3}.family-summary-icon img,.family-list-icon img{filter:brightness(0)saturate();opacity:.78}.family-summary-grid span,.family-attendance-grid span{color:var(--family-muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.family-summary-grid strong,.family-attendance-grid strong{color:var(--family-text);margin-top:2px;font-size:1.65rem;line-height:1.1;display:block}.family-summary-grid p,.family-subject-grid p,.family-event-list p,.family-timeline p,.family-attention-item p,.family-section-note,.family-empty-note{color:var(--family-muted);line-height:1.5}.family-summary-grid p,.family-subject-grid p,.family-event-list p,.family-timeline p,.family-attention-item p{margin-top:8px}.family-attention-panel{gap:16px;margin-top:0;padding:18px;display:grid}.family-attention-panel h3,.family-profile-section h3{color:var(--family-text);letter-spacing:0;margin-top:4px;font-size:1.12rem}.family-attention-list{gap:10px;display:grid}.family-attention-item{background:#f6faff;border:1px solid #dbe7ff;border-radius:16px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px 14px;display:grid}.family-attention-item.warning{background:#fff8ed;border-color:#fedf89}.family-attention-item.success{background:#f2fbf6;border-color:#abefc6}.family-recognition-list{gap:12px;margin-top:16px;display:grid}.family-recognition-item{background:#f6faff;border:1px solid #dbe7ff;border-radius:16px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px 14px;display:grid}.family-recognition-item p{color:var(--family-muted);margin-top:8px;line-height:1.5}.family-recognition-item strong{color:var(--family-text)}.family-recognition-item.honor{background:#fffaf0;border-color:#fcd9a4}.family-recognition-item.honor .family-list-icon{color:var(--family-amber);background:#fffaeb}.family-recognition-item.success{background:#f2fbf6;border-color:#abefc6}.family-recognition-item.success .family-list-icon{color:var(--family-green);background:#ecfdf3}.family-recognition-item.warning{background:#fff8ed;border-color:#fedf89}.family-recognition-item.warning .family-list-icon{color:var(--family-amber);background:#fffaeb}.family-list-icon{width:32px;height:32px;color:var(--family-blue)}.family-attention-item.warning .family-list-icon{color:var(--family-amber);background:#fffaeb}.family-attention-item.success .family-list-icon{color:var(--family-green);background:#ecfdf3}.family-attention-item strong,.family-subject-grid strong,.family-event-list strong,.family-timeline strong{color:var(--family-text)}.family-pulse-layout{grid-template-columns:minmax(0,2fr) minmax(280px,.92fr);align-items:start;gap:18px;margin-top:18px;display:grid}.family-pulse-main,.family-pulse-aside{gap:18px;display:grid}.family-pulse-aside{position:sticky;top:96px}.family-profile-section{margin-top:0;padding:20px;box-shadow:0 12px 30px #1020330e}.family-profile-section-academic{background:#eff8ff;border-color:#b2ddff}.family-profile-section-recognition{background:#fffcf5;border-color:#fcd9a4}.family-profile-section-attendance{background:#f2fbf6;border-color:#abefc6}.family-profile-section-udei{background:#fbfaff;border-color:#d9d6fe}.family-udei-list{gap:12px;margin-top:16px;display:grid}.family-udei-card{background:#fff;border:1px solid #ddd6fe;border-radius:16px;padding:14px 16px}.family-udei-card>header{border-bottom:1px solid #ece9fe;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:10px;display:flex}.family-udei-card>header span{color:#5925dc;text-transform:uppercase;font-size:.78rem;font-weight:800}.family-udei-card>header time,.family-udei-agreements time{color:var(--family-muted);font-size:.8rem}.family-udei-goal,.family-udei-agreements{margin-top:12px}.family-udei-goal strong,.family-udei-agreements strong{color:var(--family-text);margin-bottom:4px;font-size:.9rem;display:block}.family-udei-goal p,.family-udei-agreements p{color:var(--family-muted);line-height:1.5}.family-udei-agreements ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.family-udei-agreements li{border-left:3px solid #ddd6fe;padding-left:10px}.family-udei-agreements small{color:var(--family-muted);margin-top:2px;font-size:.78rem;display:block}.udei-family-share-preview{border:1px dashed var(--line);background:#fbfaff;border-radius:10px;gap:6px;margin:10px 0 12px;padding:12px 14px;display:grid}.udei-family-share-preview p{color:#344054;margin:0;line-height:1.5}.udei-family-share button{width:auto;min-width:200px}.family-profile-section>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.family-timeline{gap:0;margin:16px 0 0;padding:0;list-style:none;display:grid}.family-timeline li{border-left:2px solid var(--family-line);gap:4px;padding:0 0 18px 18px;display:grid;position:relative}.family-timeline li:last-child{padding-bottom:0}.family-timeline li:before{background:var(--family-primary);content:"";border:3px solid #fff;border-radius:999px;width:14px;height:14px;position:absolute;top:3px;left:-8px;box-shadow:0 0 0 2px #9d1c2f29}.family-timeline time,.family-event-list time,.family-subject-grid small{color:var(--family-muted);font-size:.82rem}.family-event-list,.family-attendance-grid{margin-top:16px}.family-event-list{gap:0;display:grid}.family-event-list article{border-top:1px solid var(--family-line);grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px 0;display:grid}.family-event-list article:first-child{border-top:0;padding-top:0}.family-event-list article:last-child{padding-bottom:0}.family-list-icon.calendar{color:var(--family-primary);background:#fff1f3}.family-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.family-subject-card{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;transition:border-color .18s,box-shadow .18s,transform .18s}.family-subject-card:hover{border-color:#84caff;transform:translateY(-1px);box-shadow:0 12px 24px #175cd31f}.family-subject-card:focus-visible{outline-offset:2px;outline:3px solid #175cd33d}.family-attendance-card{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;transition:border-color .18s,box-shadow .18s,transform .18s}.family-attendance-card:hover{border-color:#75e0a7;transform:translateY(-1px);box-shadow:0 12px 24px #0676471f}.family-attendance-card:focus-visible{outline-offset:2px;outline:3px solid #0676473d}.family-subject-grid header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.family-subject-grid header span{color:var(--family-blue);background:#eef4ff;border-radius:999px;padding:4px 8px;font-weight:800}.family-profile-section-academic .family-subject-grid article,.family-profile-section-academic .family-subject-card{background:#f8fbff;border-color:#d1e9ff}.family-subject-modal-backdrop{z-index:50;background:#10203394;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.family-subject-modal{background:#fff;border:1px solid #e4e7ecf2;border-radius:20px;width:min(760px,100%);max-height:min(780px,100dvh - 48px);padding:22px;overflow:auto;box-shadow:0 28px 70px #10203347}.family-subject-modal>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.family-subject-modal>header h2{color:var(--family-text);letter-spacing:0;margin-top:4px;font-size:1.65rem}.family-subject-modal>header p:not(.kicker){color:var(--family-muted);margin-top:6px;font-weight:700}.family-subject-modal>header button{border:1px solid var(--family-line);cursor:pointer;background:#fff;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;display:inline-grid}.family-subject-modal>header button:hover{background:#f8fafc}.family-subject-modal>header button:focus-visible{outline-offset:2px;outline:3px solid #175cd33d}.family-subject-modal-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.family-subject-modal-stats article{background:#eff8ff;border:1px solid #d1e9ff;border-radius:16px;min-width:0;padding:12px}.family-subject-modal-stats span{color:var(--family-muted);text-transform:uppercase;font-size:.76rem;font-weight:800;display:block}.family-subject-modal-stats strong{color:var(--family-text);margin-top:5px;font-size:1.45rem;line-height:1.1;display:block}.family-subject-period-list{gap:12px;margin-top:18px;display:grid}.family-subject-period-list>article{border:1px solid var(--family-line);background:#fbfcff;border-radius:16px;padding:14px}.family-subject-period-list>article>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.family-subject-period-list h3{color:var(--family-text);font-size:1rem}.family-subject-period-list header p{color:var(--family-muted);margin-top:4px;font-size:.88rem}.family-subject-period-list>article>header>strong{color:var(--family-blue);background:#eef4ff;border-radius:999px;flex:none;padding:6px 10px;font-size:.96rem}.family-subject-period-list ul{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.family-subject-period-list li{border-top:1px solid var(--family-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:8px;display:grid}.family-subject-period-list li strong,.family-subject-period-list time{display:block}.family-subject-period-list li strong{color:var(--family-text)}.family-subject-period-list time{color:var(--family-muted);margin-top:3px;font-size:.82rem}.family-subject-period-list li span{min-width:38px;min-height:32px;color:var(--family-green);background:#f2fbf6;border-radius:999px;place-items:center;font-weight:900;display:inline-grid}.family-attendance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.family-profile-section-attendance .family-attendance-grid article,.family-profile-section-attendance .family-attendance-card{background:#fbfefc;border-color:#d1fadf}.family-attendance-date-list{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.family-attendance-date-list li{border:1px solid var(--family-line);background:#fbfefc;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.family-attendance-date-list time{color:var(--family-text);font-weight:800}.family-attendance-date-list span{color:var(--family-muted);text-align:right;font-size:.88rem;font-weight:700}.family-section-note,.family-empty-note{margin-top:14px}.family-report-detail{border-left:3px solid var(--family-line);padding-left:12px}.family-report-agreements{background:#f8fafc;border-radius:16px;margin-top:12px;padding:12px}.family-report-agreements strong{color:var(--family-text)}.family-report-agreements p{color:#344054;margin-top:6px;line-height:1.5}.family-profile-page .student-report-list{gap:0}.family-profile-page .student-report-card{border:0;border-top:1px solid var(--family-line);border-radius:0;padding:16px 0}.family-profile-page .student-report-card:first-child{border-top:0;padding-top:0}.family-profile-page .student-report-card:last-child{padding-bottom:0}.family-profile-page .student-report-card footer{gap:8px}.family-profile-page .student-report-card footer span{background:var(--family-soft);border-radius:999px;padding:5px 9px}.family-download-panel{border-radius:var(--family-radius);background:#fffc;border:1px solid #e4e7ece6;justify-content:center;margin-top:22px;padding:18px;display:flex;box-shadow:0 12px 26px #1020330e}.family-download-panel button{border:1px solid var(--family-primary);background:var(--family-primary);color:#fff;cursor:pointer;min-height:46px;font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:850;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.family-download-panel button:hover{border-color:var(--family-primary-dark);background:var(--family-primary-dark);transform:translateY(-1px);box-shadow:0 14px 26px #9d1c2f33}.family-download-panel button:focus-visible{outline-offset:3px;outline:3px solid #9d1c2f3d}@media (prefers-reduced-motion:reduce){.family-profile-header button,.family-summary-grid article,.family-download-panel button{transition:none}.family-profile-header button:hover,.family-summary-grid article:hover,.family-download-panel button:hover{transform:none}}@media (max-width:420px){.family-summary-grid,.family-attendance-grid{grid-template-columns:1fr}.family-school-mark{width:44px;height:44px}.family-student-hero,.family-profile-section,.family-attention-panel{border-radius:18px;padding:16px}.family-student-avatar{width:66px;height:66px}}.student-profile-page{gap:24px;padding-bottom:36px;display:grid}.student-profile-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.student-profile-header h2{color:var(--text);margin-top:5px;font-size:2rem}.student-profile-header>span{border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:8px 10px;font-weight:700}.student-report-list{gap:10px;margin-top:14px;display:grid}.student-report-card{background:#fff;border:1px solid #d9e1ec;border-radius:8px;padding:16px}.student-report-card header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.student-report-card h3{color:#102033;margin-top:4px;font-size:1rem}.student-report-card time,.student-report-card footer,.student-report-empty{color:#667085;font-size:.82rem}.student-report-card>p{color:#344054;margin-top:11px;line-height:1.55}.student-report-card footer{border-top:1px solid #eaecf0;flex-wrap:wrap;gap:8px 18px;margin-top:13px;padding-top:11px;display:flex}.student-report-empty{border:1px dashed #c8d1df;border-radius:8px;margin-top:14px;padding:16px}.auth-page{background:linear-gradient(180deg, #f4f7fb 0 58%, #edf1f7 58%), var(--background);place-items:center;min-height:100dvh;padding:32px;display:grid}.auth-shell{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(280px,340px) minmax(0,1fr);width:min(1180px,100%);min-height:min(660px,100dvh - 64px);display:grid;overflow:hidden;box-shadow:0 24px 60px #10203324}.auth-brand-panel{color:#fff;background:#102033;border-bottom:8px solid #9d1c2f;flex-direction:column;justify-content:space-between;gap:40px;min-width:0;padding:32px;display:flex}.auth-back-link{color:#ffffffd1;align-items:center;gap:8px;width:fit-content;font-size:.9rem;font-weight:700;display:inline-flex}.auth-back-link img,.auth-brand-icon img,.auth-security-note>img{filter:brightness(0)invert()}.auth-back-link:hover{color:#fff}.auth-back-link:focus-visible,.auth-form button:focus-visible,.demo-data-panel button:focus-visible{outline-offset:3px;outline:3px solid #005bd340}.auth-brand-copy{gap:12px;display:grid}.auth-brand-icon{background:#ffffff14;border:1px solid #ffffff38;border-radius:8px;place-items:center;width:64px;height:64px;display:grid}.auth-brand-copy .kicker{color:#c8d8ec}.auth-brand-copy h1{color:#fff;max-width:280px;font-size:2.35rem;line-height:1.08}.auth-brand-copy>p:last-child{color:#ffffffbd;line-height:1.65}.auth-security-note{border-top:1px solid #ffffff29;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;padding-top:20px;display:grid}.auth-security-note strong,.auth-security-note small{display:block}.auth-security-note strong{font-size:.9rem}.auth-security-note small{color:#ffffffa8;margin-top:3px;line-height:1.4}.auth-workspace{background:#fff;min-width:0;padding:32px}.auth-workspace-heading{border-bottom:1px solid #e4e9f1;padding-bottom:22px}.auth-workspace-heading h2{color:#102033;margin-top:6px;font-size:2rem;line-height:1.15}.auth-workspace-heading>p:last-child{color:#596579;max-width:650px;margin-top:8px;line-height:1.55}.auth-demo-area{gap:18px;display:grid}.card p,.card li{line-height:1.5}.auth-form{gap:18px;margin-top:18px;display:grid}.auth-error{color:var(--danger);background:#fff5f5;border:1px solid #f6b4b0;border-radius:8px;padding:10px 12px;font-size:.92rem}.auth-verification-success{color:#17643a;background:#f1fbf5;border:1px solid #9fd9b4;border-radius:8px;padding:10px 12px;font-size:.92rem;line-height:1.5}.auth-form input,.auth-form select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--foreground);font:inherit;background:#fff;border-radius:8px;padding:10px 12px}.auth-form input:focus,.auth-form select:focus{border-color:var(--auth-accent,var(--primary));outline:3px solid color-mix(in srgb, var(--auth-accent,var(--primary)), transparent 82%);outline-offset:1px}.auth-section-heading{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;min-width:0;display:grid}.auth-section-icon{border:1px solid color-mix(in srgb, var(--auth-accent,#9d1c2f), #fff 58%);background:#fff;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.auth-section-icon img{opacity:.82}.auth-section-heading h2{color:#102033;margin-top:3px;font-size:1.18rem;line-height:1.25}.auth-section-heading>div>p:last-child{color:#596579;margin-top:5px;font-size:.9rem;line-height:1.45}.demo-data-panel{--auth-accent:#9d1c2f;border:1px solid #f2c4cc;border-left:5px solid var(--auth-accent);background:#fff7f8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:18px;padding:18px;display:grid}.demo-data-panel button{color:#fff;cursor:pointer;width:fit-content;min-height:42px;font:inherit;background:#9d1c2f;border:1px solid #9d1c2f;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-weight:750;display:inline-flex}.demo-data-panel button img,.auth-submit-button img{filter:brightness(0)invert()}.demo-data-message{background:#f0fdf4;border:1px solid #b7e4c7;border-radius:8px;grid-column:1/-1;padding:10px 12px;color:#166534!important}.auth-flow-section{--auth-accent:#005bd3;--auth-soft:#f4f8ff;border:1px solid color-mix(in srgb, var(--auth-accent), #fff 72%);border-left:5px solid var(--auth-accent);background:var(--auth-soft);border-radius:8px;gap:14px;padding:18px;display:grid}.auth-flow-section[data-auth-tone=modules]{--auth-accent:#005bd3;--auth-soft:#f4f8ff}.auth-flow-section[data-auth-tone=panels]{--auth-accent:#0f766e;--auth-soft:#f1fbf9}.auth-flow-section[data-auth-tone=manual]{--auth-accent:#b54708;--auth-soft:#fff9f2}.demo-module-accesses,.demo-panel-accesses{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.auth-form .demo-module-accesses button,.auth-form .demo-panel-accesses button{border:1px solid color-mix(in srgb, var(--auth-accent), #fff 68%);color:#172033;cursor:pointer;min-width:0;font:inherit;text-align:left;background:#fff;border-radius:8px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:9px;min-height:76px;padding:11px;font-weight:600;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.auth-form .demo-panel-accesses button>img,.auth-form .demo-module-accesses .panel-module-icon{opacity:.7;margin-top:1px}.demo-module-accesses strong,.demo-panel-accesses strong,.demo-panel-accesses span{overflow-wrap:anywhere;min-width:0}.demo-module-accesses strong,.demo-panel-accesses strong{color:#102033;font-size:.88rem;line-height:1.25;display:block}.demo-panel-accesses button>span>span{color:#596579;margin-top:3px;font-size:.8rem;font-weight:500;line-height:1.3;display:block}.auth-form .demo-module-accesses button:hover,.auth-form .demo-module-accesses button:focus-visible,.auth-form .demo-panel-accesses button:hover,.auth-form .demo-panel-accesses button:focus-visible{border-color:var(--auth-accent);transform:translateY(-1px);box-shadow:0 8px 18px #10203317}.demo-module-accesses .panel-module-icon{width:24px;height:24px;box-shadow:none;background:0 0;border:0}.auth-field-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.auth-field-grid label{color:#344054;gap:7px;font-size:.88rem;font-weight:750;display:grid}.auth-submit-button{border:1px solid var(--auth-accent);background:var(--auth-accent);color:#fff;cursor:pointer;min-height:44px;font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:750;display:inline-flex}.auth-form button:disabled,.demo-data-panel button:disabled{cursor:wait;opacity:.62}.danger-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}.danger-btn img{filter:brightness(0)invert()}.app-shell{background:var(--background);width:100%;min-width:0;min-height:100dvh}.app-header{color:#fff;background:#102033;border-bottom:1px solid #ffffff1f}.app-header-inner{justify-content:space-between;align-items:center;gap:12px;width:min(1200px,100%);margin:0 auto;padding:24px 16px 20px;display:flex}.app-header .kicker{color:#ffffffad}.app-header h1{color:#fff;letter-spacing:0;margin-top:4px;font-size:2rem;line-height:1.15}.app-header .meta{color:#ffffffc7;margin-top:6px}.app-header-actions{flex:none}.app-header-actions .danger-btn{border-radius:8px;min-height:40px;padding:10px 14px;box-shadow:0 10px 24px #0000002e}.meta{color:#344054;font-size:14px}.app-main{gap:12px;width:min(1200px,100%);min-width:0;margin:0 auto;padding:20px 16px 40px;display:grid}.app-main>*,.assignment-grid>*{min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;padding:18px;box-shadow:0 10px 24px #10203312}.school-role-panel{gap:18px;padding:20px 0 40px;display:grid}.school-role-panel-heading{background:linear-gradient(135deg,#005bd321,#9d1c2f1a),#fff;border:1px solid #d9e1ec;border-radius:8px;gap:8px;padding:22px;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 30px #10203314}.school-role-panel-heading h2{color:var(--text);margin-top:0;font-size:2rem;line-height:1.18}.school-role-panel-heading>p:last-child{max-width:720px;color:var(--muted);margin-top:0;line-height:1.6}.school-functions-header-block{gap:8px;display:grid}.school-route-navigation{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.school-panel-back-link{color:#344054;width:max-content;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:.9rem;font-weight:700;display:inline-flex}.school-panel-back-link img{filter:invert(45%)sepia(11%)saturate(657%)hue-rotate(182deg)brightness(91%)}.school-panel-back-link:hover,.school-panel-back-link:focus-visible{color:var(--primary)}.school-panel-back-link:hover img,.school-panel-back-link:focus-visible img{filter:invert(31%)sepia(99%)saturate(2441%)hue-rotate(205deg)brightness(86%)}.school-panel-main-link{text-align:right;margin-left:auto}.school-functions-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;margin-top:4px;padding-bottom:10px;display:flex}.school-functions-heading h2{color:var(--text);font-size:1.2rem}.school-functions-heading p{max-width:720px;color:var(--muted);margin-top:4px;font-size:.9rem;line-height:1.5}.school-functions-heading span{color:var(--muted);font-size:.86rem}.app-main .calendar-header .kicker{display:none}.school-functions-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:16px;display:grid}.school-function-card{--panel-accent:#005bd3;--panel-accent-soft:#e8f1ff;--panel-accent-line:#b9d6ff;border:1px solid var(--panel-accent-line);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 62%), var(--surface);min-width:0;min-height:142px;color:var(--text);border-radius:8px;align-content:space-between;gap:12px;padding:16px;transition:border-color .18s,box-shadow .18s,background-color .18s;display:grid;box-shadow:0 8px 18px #1020330f}.school-function-card:hover{border-color:var(--panel-accent);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 58%), #fff;transform:translateY(-1px);box-shadow:0 14px 28px #1020331f}.school-function-card:focus-visible{outline-offset:3px;outline:3px solid #9d1c2f38}.school-functions-grid h4{color:var(--text);font-size:1rem;line-height:1.3}.school-function-card[data-panel-tone="1"],.calendar-generated-category-card[data-panel-tone="1"]{--panel-accent:#005bd3;--panel-accent-soft:#e8f1ff;--panel-accent-line:#b9d6ff}.school-function-card[data-panel-tone="2"],.calendar-generated-category-card[data-panel-tone="2"]{--panel-accent:#0f766e;--panel-accent-soft:#e6fffb;--panel-accent-line:#99f6e4}.school-function-card[data-panel-tone="3"],.calendar-generated-category-card[data-panel-tone="3"]{--panel-accent:#9d1c2f;--panel-accent-soft:#fff1f3;--panel-accent-line:#fecdd6}.school-function-card[data-panel-tone="4"],.calendar-generated-category-card[data-panel-tone="4"]{--panel-accent:#7c3aed;--panel-accent-soft:#f3edff;--panel-accent-line:#ddd6fe}.school-function-card[data-panel-tone="5"],.calendar-generated-category-card[data-panel-tone="5"]{--panel-accent:#b54708;--panel-accent-soft:#fff7ed;--panel-accent-line:#fed7aa}.school-function-card[data-panel-tone="6"],.calendar-generated-category-card[data-panel-tone="6"]{--panel-accent:#2f6b3f;--panel-accent-soft:#ecfdf3;--panel-accent-line:#bbf7d0}.panel-module-icon{border:1px solid color-mix(in srgb, var(--panel-accent), #fff 58%);background:#fff;border-radius:8px;place-items:center;width:42px;height:42px;display:inline-grid;box-shadow:inset 0 0 0 1px #ffffffa6}.panel-module-icon img{filter:invert(26%)sepia(41%)saturate(2084%)hue-rotate(184deg)brightness(92%)contrast(96%);opacity:.92}.school-functions-empty{border:1px dashed var(--line);color:var(--muted);border-radius:8px;margin-top:16px;padding:18px}.administrator-directory{gap:22px;padding:20px 0 40px;display:grid}.administrator-directory-heading{border-bottom:1px solid var(--line);gap:8px;padding:4px 0 18px;display:grid}.administrator-directory-heading h2{color:var(--text);font-size:2rem;line-height:1.18}.administrator-directory-heading>p:last-child{max-width:720px;color:var(--muted);line-height:1.6}.administrator-primary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.administrator-primary-card{--directory-accent:#005bd3;--directory-soft:#e8f1ff;--directory-line:#b9d6ff;border:1px solid var(--directory-line);background:var(--directory-soft);min-width:0;min-height:220px;color:var(--text);border-radius:8px;flex-direction:column;align-items:flex-start;gap:22px;padding:26px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 12px 26px #10203314}.administrator-primary-card[data-directory-tone=modules]{--directory-accent:#9d1c2f;--directory-soft:#fff1f3;--directory-line:#fecdd6}.administrator-primary-card[data-directory-tone=presentation]{--directory-accent:#0f766e;--directory-soft:#eafbf7;--directory-line:#99e6d7}.administrator-primary-card:hover{border-color:var(--directory-accent);transform:translateY(-2px);box-shadow:0 18px 34px #10203324}.administrator-primary-card:focus-visible,.administrator-resource-card:focus-visible{outline-offset:3px;outline:3px solid #9d1c2f38}.administrator-primary-icon{border:1px solid var(--directory-line);background:#fff;border-radius:8px;place-items:center;width:58px;height:58px;display:grid}.administrator-primary-copy{gap:8px;display:grid}.administrator-primary-copy strong{font-size:1.55rem;line-height:1.2}.administrator-primary-copy>span{color:#475467;line-height:1.5}.administrator-resource-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.administrator-resource-card{--panel-accent:#005bd3;--panel-accent-soft:#e8f1ff;--panel-accent-line:#b9d6ff;border:1px solid var(--panel-accent-line);background:var(--panel-accent-soft);min-width:0;min-height:190px;color:var(--text);border-radius:8px;flex-direction:column;align-items:flex-start;gap:15px;padding:18px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 8px 18px #1020330f}.administrator-resource-card:hover{border-color:var(--panel-accent);transform:translateY(-1px);box-shadow:0 14px 28px #1020331f}.administrator-resource-copy{gap:7px;min-width:0;display:grid}.administrator-resource-copy strong{font-size:1rem;line-height:1.35}.administrator-resource-copy>span{color:#475467;font-size:.86rem;line-height:1.5}.administrator-module-card{min-height:170px}.administrator-presentation-panel .demo-data-panel{margin-top:0}.administrator-presentation-modules{gap:16px;display:grid}.administrator-resource-card[data-panel-tone="1"]{--panel-accent:#005bd3;--panel-accent-soft:#e8f1ff;--panel-accent-line:#b9d6ff}.administrator-resource-card[data-panel-tone="2"]{--panel-accent:#0f766e;--panel-accent-soft:#e6fffb;--panel-accent-line:#99f6e4}.administrator-resource-card[data-panel-tone="3"]{--panel-accent:#9d1c2f;--panel-accent-soft:#fff1f3;--panel-accent-line:#fecdd6}.administrator-resource-card[data-panel-tone="4"]{--panel-accent:#7c3aed;--panel-accent-soft:#f3edff;--panel-accent-line:#ddd6fe}.administrator-resource-card[data-panel-tone="5"]{--panel-accent:#b54708;--panel-accent-soft:#fff7ed;--panel-accent-line:#fed7aa}.administrator-resource-card[data-panel-tone="6"]{--panel-accent:#2f6b3f;--panel-accent-soft:#ecfdf3;--panel-accent-line:#bbf7d0}.counseling-panel{gap:18px;min-width:0;padding-bottom:32px;display:grid}.counseling-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.counseling-header h2{color:var(--text);margin-top:4px;font-size:2rem}.counseling-header p:last-child{color:var(--muted);margin-top:6px}.counseling-header button,.counseling-intake button,.counseling-current-action>button,.counseling-action-row button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;min-height:40px;font:inherit;border-radius:8px;padding:8px 14px;font-weight:700}.counseling-action-row .secondary-btn{border-color:var(--line);background:var(--surface);color:var(--foreground)}.counseling-metrics{border-block:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.counseling-metrics span{min-width:0;color:var(--muted);align-items:baseline;gap:8px;padding:14px 16px;display:flex}.counseling-metrics span+span{border-left:1px solid var(--line)}.counseling-metrics strong{color:var(--text);font-size:1.45rem}.counseling-intake{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:12px;padding:16px;display:grid}.counseling-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.counseling-intake label,.counseling-current-action label,.counseling-form-grid label{color:var(--foreground);gap:6px;font-size:.88rem;font-weight:700;display:grid}.counseling-intake input,.counseling-intake select,.counseling-intake textarea,.counseling-current-action input,.counseling-current-action select,.counseling-current-action textarea,.counseling-queue-tools input,.counseling-queue-tools select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:40px;color:var(--foreground);font:inherit;border-radius:8px;padding:8px 10px}.counseling-intake textarea,.counseling-current-action textarea{resize:vertical;min-height:96px}.counseling-intake>button{justify-self:start}.counseling-workspace{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(280px,.34fr) minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.counseling-queue{border-right:1px solid var(--line);background:#f8fafc;min-width:0}.counseling-queue-tools{border-bottom:1px solid var(--line);gap:8px;padding:12px;display:grid}.counseling-case-list{max-height:720px;overflow-y:auto}.counseling-case-list>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:76px;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.counseling-case-list>button:hover,.counseling-case-list>button.is-selected{box-shadow:inset 3px 0 0 var(--primary);background:#fff}.counseling-case-list>button:focus-visible{outline-offset:-3px;outline:3px solid #005bd338}.counseling-case-list button>span:first-child{gap:4px;min-width:0;display:grid}.counseling-case-list strong,.counseling-case-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.counseling-case-list small{color:var(--muted)}.counseling-priority{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;min-height:26px;padding:4px 8px;font-size:.76rem;font-weight:750;display:inline-flex}.counseling-priority-low{color:#067647;background:#ecfdf3;border-color:#a6f4c5}.counseling-priority-medium,.counseling-priority-none{color:#175cd3;background:#eff8ff;border-color:#b2ddff}.counseling-priority-high{color:#b54708;background:#fffaeb;border-color:#fedf89}.counseling-priority-urgent{color:#b42318;background:#fef3f2;border-color:#fecdca}.counseling-empty,.counseling-detail-empty{color:var(--muted);padding:24px}.counseling-detail{min-width:0;min-height:620px}.counseling-detail-empty{text-align:center;place-content:center;min-height:620px;display:grid}.counseling-detail-empty p{margin-top:6px}.counseling-case-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:20px;display:flex}.counseling-case-header span{color:var(--primary);text-transform:uppercase;font-size:.8rem;font-weight:800}.counseling-case-header h3{color:var(--text);margin-top:5px;font-size:1.4rem}.counseling-case-header p{max-width:680px;color:var(--muted);margin-top:7px;line-height:1.5}.counseling-case-header>small{color:var(--muted);white-space:nowrap}.counseling-source-link{color:var(--primary);margin:9px 14px 0 0;font-size:.84rem;font-weight:750;display:inline-block}.counseling-family-report{border-top:1px solid var(--line);background:#f8fafc;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 18px;padding:14px 20px;display:grid}.counseling-family-report strong{color:var(--text)}.counseling-family-report p{color:var(--muted);margin-top:4px;font-size:.86rem}.counseling-family-report button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;min-height:40px;font:inherit;border-radius:8px;padding:8px 12px;font-weight:750}.counseling-family-report .counseling-report-message{color:#175cd3;grid-column:1/-1;margin:0}.counseling-report-delivery{border-top:1px dashed var(--line);grid-column:1/-1;gap:6px;padding-top:12px;display:grid}.counseling-report-delivery label{gap:6px;max-width:320px;font-weight:700;display:grid}.counseling-report-delivery select{border:1px solid var(--line);min-height:40px;font:inherit;background:#fff;border-radius:8px;padding:8px 10px;font-weight:500}.counseling-report-delivery small{color:var(--muted)}@media (max-width:640px){.family-profile-header,.family-student-profile>header,.student-profile-header,.student-report-card header,.counseling-family-report{grid-template-columns:1fr;display:grid}.family-profile-header button,.counseling-family-report button{width:100%}}.counseling-progress{border-block:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));padding:12px 20px;list-style:none;display:grid}.counseling-progress li{min-width:0;color:var(--muted);text-align:center;justify-items:center;gap:6px;font-size:.72rem;display:grid;position:relative}.counseling-progress li:before{z-index:0;background:var(--line);content:"";height:1px;position:absolute;top:12px;left:-50%;right:50%}.counseling-progress li:first-child:before{display:none}.counseling-progress li span{z-index:1;border:1px solid var(--line);background:var(--surface);width:25px;height:25px;color:var(--muted);border-radius:50%;place-items:center;font-weight:800;display:grid}.counseling-progress li.is-current,.counseling-progress li.is-complete{color:var(--foreground)}.counseling-progress li.is-current span,.counseling-progress li.is-complete span{border-color:var(--primary);background:var(--primary);color:#fff}.counseling-progress li.is-complete:before,.counseling-progress li.is-current:before{background:var(--primary)}.counseling-current-action{gap:12px;padding:20px;display:grid}.counseling-current-action h3,.counseling-history h3{color:var(--text);font-size:1.05rem}.counseling-current-action>button{justify-self:start}.counseling-action-row{flex-wrap:wrap;gap:8px;display:flex}.counseling-message{color:var(--danger);font-size:.88rem}.counseling-resolution{color:#067647;background:#ecfdf3;border-left:3px solid #12b76a;padding:12px 14px}.counseling-resolution p{margin-top:5px}.counseling-history{border-top:1px solid var(--line);padding:20px}.counseling-history>ol{gap:0;margin-top:12px;list-style:none;display:grid}.counseling-history li{border-left:2px solid var(--line);padding:0 0 18px 14px}.counseling-history li:last-child{padding-bottom:0}.counseling-history li>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.counseling-history li span,.counseling-history li small{color:var(--muted);font-size:.8rem}.counseling-history li p{color:var(--foreground);margin:5px 0;line-height:1.5}@media (max-width:900px){.counseling-workspace{grid-template-columns:1fr}.counseling-queue{border-right:0;border-bottom:1px solid var(--line)}.counseling-case-list{max-height:280px}}@media (max-width:640px){.counseling-header,.counseling-case-header{display:grid}.counseling-header button{width:100%}.counseling-metrics,.counseling-form-grid{grid-template-columns:1fr 1fr}.counseling-metrics span:nth-child(3){border-left:0;border-top:1px solid var(--line)}.counseling-metrics span:nth-child(4){border-top:1px solid var(--line)}.counseling-progress{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:14px}.counseling-progress li:nth-child(5):before{display:none}.counseling-action-row,.counseling-action-row button{width:100%}}.card ul{margin-top:8px;padding-left:18px}.grid-links{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:16px;display:grid}.assignment-grid{grid-template-columns:1.1fr 1fr;gap:14px;margin-top:14px;display:grid}.assignment-grid label{margin-bottom:6px;font-weight:600;display:block}.assignment-stack{gap:14px;margin-top:14px;display:grid}.assignment-form-panel{max-width:520px}.teacher-assignment-form-panel{max-width:none}.teacher-assignment-layout{grid-template-columns:minmax(110px,.45fr) minmax(200px,1.25fr) minmax(180px,1fr) max-content;align-items:end;gap:10px;display:grid}.teacher-assignment-field{min-width:0}.teacher-assignment-field label{margin-bottom:6px;font-weight:600;display:block}.assignment-stack .teacher-assignment-layout select,.assignment-stack .teacher-assignment-layout button{border-radius:8px;min-height:42px;margin-bottom:0}.assignment-stack .teacher-assignment-layout button{width:auto;min-width:140px}.assignment-grid select,.assignment-grid button,.assignment-grid input,.assignment-stack select,.assignment-stack button,.assignment-stack input{border:1px solid var(--line);width:100%;font:inherit;border-radius:10px;margin-bottom:12px;padding:10px 12px}.assignment-grid button,.assignment-stack button{background:var(--primary);color:#fff;cursor:pointer;border:none;font-weight:600}.assignment-grid button:disabled,.assignment-stack button:disabled{opacity:.6;cursor:not-allowed}.advisor-assignment-layout{grid-template-columns:minmax(0,1fr);gap:14px}.advisor-assignment-form-row{grid-template-columns:minmax(140px,.55fr) minmax(260px,1.45fr) max-content;align-items:end;gap:10px;display:grid}.advisor-assignment-field{min-width:0}.assignment-grid .advisor-assignment-form-row select,.assignment-grid .advisor-assignment-form-row button{border-radius:8px;min-height:42px;margin-bottom:0}.assignment-grid .advisor-assignment-form-row button{width:auto;min-width:150px}.advisor-assignment-message{margin:0}.advisor-assignment-summary .assignment-subtitle{margin-top:0}.group-create-form,.subject-create-form{flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0;display:flex}.group-create-form>div,.subject-create-form>div{flex:150px;min-width:140px;max-width:200px}.group-create-form label,.subject-create-form label{margin-bottom:6px;font-weight:600;display:block}.group-create-form select,.group-create-form button,.subject-create-form input,.subject-create-form button{border:1px solid var(--line);width:100%;min-height:40px;font:inherit;border-radius:10px;padding:8px 10px}.group-create-form button,.subject-create-form button{background:var(--primary);color:#fff;cursor:pointer;border:none;font-weight:600}.group-create-form>button{flex:none;width:auto;min-width:132px}.prefect-assignment-stack{gap:14px;margin-top:14px;display:grid}.prefect-assignment-form{grid-template-columns:minmax(120px,180px) minmax(260px,1fr) auto;align-items:end;gap:10px;display:grid}.prefect-assignment-form label{margin-bottom:6px;font-weight:600;display:block}.prefect-assignment-form select,.prefect-assignment-form button{border:1px solid var(--line);width:100%;min-height:40px;font:inherit;border-radius:8px;padding:8px 10px}.prefect-assignment-form button{border-color:var(--primary);background:var(--primary);color:#fff;cursor:pointer;min-width:160px;font-weight:600}.prefect-assignment-form button:disabled{opacity:.6;cursor:not-allowed}.assignment-subtitle{margin:10px 0;font-size:1rem}.assignment-options{border:1px solid var(--line);border-radius:10px;max-height:190px;margin-bottom:12px;padding:10px;overflow:auto}.assignment-options label{align-items:center;gap:8px;margin-bottom:8px;font-weight:400;display:flex}.assignment-summary{gap:8px;display:grid}.group-list-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.removable-list{gap:8px;display:grid}.removable-row{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:700;display:flex}.removable-row:hover,.removable-row:focus-visible{color:var(--danger);border-color:#fecdca}.delete-icon-button{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:8px;flex:0 0 32px;place-items:center;width:32px;height:32px;padding:0;display:grid}.delete-icon-button img{filter:invert(45%)sepia(11%)saturate(657%)hue-rotate(182deg)brightness(91%)}.delete-icon-button:hover,.delete-icon-button:focus-visible{background:#fff5f5;border-color:#fecdca}.delete-icon-button:hover img,.delete-icon-button:focus-visible img{filter:invert(20%)sepia(95%)saturate(2944%)hue-rotate(350deg)brightness(83%)}.removable-trash-icon{flex:none;place-items:center;width:24px;height:24px;display:grid}.removable-trash-icon img{filter:invert(45%)sepia(11%)saturate(657%)hue-rotate(182deg)brightness(91%)}.removable-row:hover .removable-trash-icon img,.removable-row:focus-visible .removable-trash-icon img{filter:invert(20%)sepia(95%)saturate(2944%)hue-rotate(350deg)brightness(83%)}.assignment-summary article{--section-accent:#005bd3;--section-accent-soft:#edf5ff;border:1px solid color-mix(in srgb, var(--section-accent), #fff 68%);border-left:5px solid var(--section-accent);background:linear-gradient(90deg, var(--section-accent-soft), #fff 42%), #fff;border-radius:8px;padding:12px;box-shadow:0 8px 18px #1020330f}.assignment-summary article:nth-child(6n+1){--section-accent:#005bd3;--section-accent-soft:#edf5ff}.assignment-summary article:nth-child(6n+2){--section-accent:#0f766e;--section-accent-soft:#eafffb}.assignment-summary article:nth-child(6n+3){--section-accent:#9d1c2f;--section-accent-soft:#fff1f3}.assignment-summary article:nth-child(6n+4){--section-accent:#7c3aed;--section-accent-soft:#f5f0ff}.assignment-summary article:nth-child(6n+5){--section-accent:#b54708;--section-accent-soft:#fff7ed}.assignment-summary article:nth-child(6n+6){--section-accent:#2f6b3f;--section-accent-soft:#effaf1}.teacher-assignment-summary-card{flex-direction:column;display:flex}.teacher-assignment-card-header{border-bottom:1px solid color-mix(in srgb, var(--section-accent), #fff 76%);min-height:36px;color:var(--muted);grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px;margin-bottom:10px;padding-bottom:9px;display:grid}.assignment-summary-title{color:var(--text);font-weight:800}.teacher-assignment-card-header .assignment-summary-title{margin:0}.teacher-assignment-advisor{gap:2px;min-width:0;display:grid}.teacher-assignment-advisor small,.teacher-assignment-advisor strong{overflow-wrap:anywhere;display:block}.teacher-assignment-advisor small{color:var(--section-accent,#667085);text-transform:uppercase;font-size:10px;font-weight:800;line-height:1.1}.teacher-assignment-advisor strong{color:#344054;font-size:13px;line-height:1.3}.assignment-summary-details{flex-direction:column;flex:1;padding:0;display:flex}.teacher-subject-list{gap:7px}.assignment-stack .teacher-subject-row{min-height:56px;color:var(--text);background:#fff;border:1px solid #d0d5dd;border-radius:8px;grid-template-columns:minmax(0,1fr) 32px;gap:10px;margin-bottom:0;padding:8px 8px 8px 10px;font-weight:700;display:grid}.assignment-stack .teacher-subject-row:hover,.assignment-stack .teacher-subject-row:focus-visible{color:var(--danger);background:#fff;border-color:#fecdca}.teacher-subject-copy{gap:3px;min-width:0;display:grid}.teacher-subject-copy strong,.teacher-subject-copy span{overflow-wrap:anywhere;display:block}.teacher-subject-copy strong{color:inherit;font-size:13px;line-height:1.25}.teacher-subject-copy span{color:#344054;font-size:12px;font-weight:600;line-height:1.35}.teacher-subject-row .removable-trash-icon{place-self:center end}.teacher-subject-empty{color:#667085;background:#ffffffb8;border:1px dashed #d0d5dd;border-radius:8px;margin:0;padding:10px;font-size:13px}.teacher-assignment-updated{color:#667085;text-align:right;margin:auto 0 0;padding-top:9px;font-size:11px}.group-card{padding-top:42px;position:relative}.group-delete-badge{position:absolute;top:10px;right:10px}.modal-backdrop{z-index:20;background:#1018286b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirmation-modal{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:min(420px,100%);padding:18px;box-shadow:0 18px 40px #10182838}.confirmation-modal h3{margin-bottom:8px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.confirmation-modal .modal-actions button{width:108px}.assignment-summary h4{margin-bottom:6px}.assignment-summary p{margin-bottom:4px}.student-group-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:14px;display:grid}.student-group-card{border:1px solid var(--line);min-height:86px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:10px;padding:12px}.student-group-card strong,.student-group-card span{display:block}.student-group-card strong{margin-bottom:8px}.student-group-card span{color:#475467;font-size:13px}.student-group-card-active{border-color:var(--primary);box-shadow:0 0 0 2px #005bd31f}.student-evaluation-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:12px;overflow-x:auto}.student-evaluation-table{border-collapse:collapse;width:100%;min-width:1100px}.student-evaluation-table th,.student-evaluation-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;padding:8px}.student-evaluation-table thead th{background:#f8fafc;font-size:13px}.student-evaluation-table .student-name-column{z-index:1;text-align:left;background:#fff;min-width:190px;position:sticky;left:0}.student-evaluation-table thead .student-name-column{z-index:2;background:#f8fafc}.concentrado-table-section{border-color:var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 52%), #fff;min-width:0}.concentrado-table-section .assignment-subtitle{color:var(--panel-accent)}.concentrado-panel .student-evaluation-wrap{border-color:var(--panel-accent-line);border-radius:8px;max-width:100%}.concentrado-panel{grid-template-columns:minmax(0,1fr)}.concentrado-panel>*{min-width:0}.student-evaluation-table .concentrado-subject-header[data-panel-tone],.student-evaluation-table .concentrado-subject-subheader[data-panel-tone]{border-bottom-color:var(--panel-accent-line);background:var(--panel-accent-soft);color:var(--panel-accent)}.student-evaluation-table .concentrado-subject-header[data-panel-tone]{border-bottom:3px solid var(--panel-accent)}.student-evaluation-table .concentrado-subject-cell[data-panel-tone]{background:color-mix(in srgb, var(--panel-accent-soft) 42%, #fff)}.student-evaluation-table .concentrado-subject-average[data-panel-tone]{border-right:3px solid var(--panel-accent-line);background:color-mix(in srgb, var(--panel-accent-soft) 72%, #fff)}.student-evaluation-table .concentrado-summary-header{color:#175cd3;background:#eef4ff}.student-evaluation-table .concentrado-summary-cell{background:#f5f8ff}.student-evaluation-table .concentrado-total-header{border-bottom:3px solid var(--primary);color:var(--primary);background:#fdf2f4}.student-evaluation-table .concentrado-total-cell{background:#fff7f8}.student-evaluation-table tbody tr:hover>:is(th,td){box-shadow:inset 0 0 0 999px #ffffff38}.student-evaluation-table .concentrado-group-average-row>*{border-top:3px solid var(--primary);font-weight:800}.student-evaluation-table .concentrado-group-average-label{z-index:3;color:var(--primary);background:#fdf2f4}.student-evaluation-table .concentrado-group-average-cell{color:var(--panel-accent)}.student-evaluation-table .concentrado-group-average-summary{color:#175cd3;background:#e8f1ff}.concentrado-average-section{border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 46%), #fff;border-radius:8px;gap:14px;padding:14px;display:grid}.concentrado-average-heading{gap:4px;display:grid}.concentrado-average-heading h3{color:var(--panel-accent)}.concentrado-average-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.concentrado-average-chart-panel{min-width:0}.concentrado-average-chart-panel h4{color:var(--panel-accent);margin-bottom:8px;font-size:.95rem}.concentrado-chart-button-filters{gap:12px;margin-bottom:10px;display:grid}.concentrado-chart-filter-group{border:0;min-width:0;margin:0;padding:0}.concentrado-chart-filter-group legend{color:var(--foreground);margin-bottom:6px;font-weight:700}.concentrado-chart-filter-buttons{flex-wrap:wrap;gap:7px;display:flex}.concentrado-chart-filter-buttons button{border:1px solid var(--line);color:#344054;min-height:38px;font:inherit;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:7px 11px;font-weight:700;display:inline-flex}.concentrado-chart-filter-buttons button:hover:not(:disabled){border-color:var(--panel-accent-line);background:var(--panel-accent-soft)}.concentrado-chart-filter-buttons button:focus-visible{outline:3px solid color-mix(in srgb, var(--panel-accent) 24%, transparent);outline-offset:2px}.concentrado-chart-filter-buttons .concentrado-chart-filter-active{border-color:var(--panel-accent);background:var(--panel-accent-soft);box-shadow:inset 0 -3px 0 var(--panel-accent);color:var(--panel-accent)}.concentrado-chart-filter-buttons button:disabled{cursor:not-allowed;opacity:.55}.concentrado-chart-period-swatch{border-radius:2px;flex:0 0 10px;width:10px;height:10px}.concentrado-chart-selection{margin-bottom:10px;font-weight:700}.concentrado-average-chart-scroll{border:1px solid var(--panel-accent-line);background:#fff;border-radius:8px;max-height:560px;overflow:auto}.concentrado-average-chart{width:100%;min-width:720px;height:430px;padding:4px 8px 0 0}.concentrado-average-chart .recharts-legend-item-text{font-size:12px;font-weight:700;color:#344054!important}@media (max-width:480px){.concentrado-chart-filter-buttons button{flex:128px}}.grade-analysis-panel{gap:16px;display:grid}.grade-analysis-filter-section,.grade-analysis-summary-section,.grade-analysis-results-section{border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 48%), #fff;border-radius:8px;gap:14px;padding:14px;display:grid}.grade-analysis-panel .planning-section-heading h3{color:var(--panel-accent)}.grade-analysis-filters{grid-template-columns:minmax(180px,260px) minmax(260px,1fr) minmax(180px,240px);align-items:end;gap:12px;display:grid}.grade-analysis-filters>div{min-width:0}.grade-analysis-filters label,.grade-analysis-filters .planning-filter-label{margin-bottom:6px;font-weight:700;display:block}.grade-analysis-filters select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--foreground);font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.academic-alert-counts{flex-wrap:wrap;gap:6px;display:flex}.academic-alert-counts .status-pill{line-height:1.45}.academic-alert-counts .status-pill strong{margin-right:3px}@media (max-width:820px){.grade-analysis-filters{grid-template-columns:1fr;align-items:stretch}}.academic-alert-table-wrap{border:1px solid var(--panel-accent-line);background:#fff;border-radius:8px;overflow-x:auto}.academic-alert-table{border-collapse:collapse;width:100%;min-width:980px}.academic-alert-table th,.academic-alert-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;padding:10px}.academic-alert-table thead th{color:#9a3412;text-transform:uppercase;background:#fff7ed;font-size:12px}.academic-alert-table tbody th{text-align:left;min-width:210px}.academic-alert-table tbody tr:last-child>*{border-bottom:0}.academic-alert-table tr>:last-child{border-right:0}.academic-alert-reason{color:#475467;min-width:280px;font-size:13px;line-height:1.4;text-align:left!important}.academic-alert-row-critical>*,.academic-alert-row-lag-risk>*{background:#fff8f7}.academic-alert-row-preventive>*{background:#fffdf5}.academic-alert-row-insufficient>*{background:#f8fafc}.academic-alert-row-progress>*,.academic-alert-row-outstanding>*{background:#f4fdf8}.academic-alert-row-critical>:first-child{box-shadow:inset 4px 0 #d92d20}.academic-alert-row-lag-risk>:first-child{box-shadow:inset 4px 0 #f04438}.academic-alert-row-preventive>:first-child{box-shadow:inset 4px 0 #f79009}.academic-alert-row-insufficient>:first-child{box-shadow:inset 4px 0 #98a2b3}.academic-alert-row-regular>:first-child{box-shadow:inset 4px 0 #2e90fa}.academic-alert-row-progress>:first-child{box-shadow:inset 4px 0 #0e9384}.academic-alert-row-outstanding>:first-child{box-shadow:inset 4px 0 #12b76a}.academic-status-progress{color:#0f766e;background:#e6fffb}.honor-roll-panel{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.honor-roll-title{align-items:center;gap:10px;margin-top:2px;display:flex}.honor-roll-title h2{margin:0}.honor-roll-title-icon{background:#fffaeb;border:1px solid #f5c451;border-radius:8px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.honor-roll-title-icon img{filter:invert(52%)sepia(93%)saturate(939%)hue-rotate(3deg)brightness(89%)}.honor-roll-group-section,.honor-roll-grade-section{border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);border-radius:8px;gap:14px;min-width:0;padding:14px;display:grid}.honor-roll-group-section h3,.honor-roll-grade-section h3{color:var(--panel-accent)}.honor-roll-group-results{border-top:1px solid var(--panel-accent-line);gap:14px;min-width:0;padding-top:14px;display:grid}.honor-roll-group-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;display:grid}.honor-roll-group-card{border:1px solid var(--panel-accent-line);min-width:0;min-height:76px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;align-content:center;gap:4px;padding:12px;display:grid}.honor-roll-group-card strong{color:var(--panel-accent);font-size:1.15rem}.honor-roll-group-card:hover{background:var(--panel-accent-soft)}.honor-roll-group-card:focus-visible{outline:3px solid color-mix(in srgb, var(--panel-accent) 24%, transparent);outline-offset:2px}.honor-roll-group-card-active{border-color:var(--panel-accent);background:var(--panel-accent-soft);box-shadow:inset 4px 0 0 var(--panel-accent)}.honor-roll-results-heading{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.honor-roll-grade-heading{gap:14px;display:grid}.honor-roll-grade-controls{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.honor-roll-filter-block{gap:6px;min-width:0;display:grid}.honor-roll-filter-block>span{color:#475467;font-size:12px;font-weight:700}.honor-roll-ranking{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.honor-roll-entry{border:1px solid var(--line);background:#fff;border-top:4px solid #98a2b3;border-radius:8px;grid-template-rows:auto 1fr auto;gap:14px;min-width:0;min-height:188px;padding:14px;display:grid}.honor-roll-entry[data-rank="1"]{background:#fffcf5;border-color:#ca8504 #f5c451 #f5c451}.honor-roll-entry[data-rank="2"]{background:#f9fafb;border-color:#667085 #cfd4dc #cfd4dc}.honor-roll-entry[data-rank="3"]{background:#fffaf5;border-color:#b54708 #fed7aa #fed7aa}.honor-roll-rank{color:#475467;align-items:center;gap:8px;display:flex}.honor-roll-medal{background:#fff;border-radius:8px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.honor-roll-entry[data-rank="1"] .honor-roll-medal{background:#fef0c7}.honor-roll-entry[data-rank="2"] .honor-roll-medal{background:#eaecf0}.honor-roll-entry[data-rank="3"] .honor-roll-medal{background:#ffead5}.honor-roll-student{min-width:0}.honor-roll-student h4{overflow-wrap:anywhere;margin-bottom:6px;font-size:1rem}.honor-roll-student a{color:var(--foreground);text-decoration:none}.honor-roll-student a:hover{color:var(--primary);text-decoration:underline}.honor-roll-student span,.honor-roll-average span{color:#667085;font-size:12px}.honor-roll-average{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:10px;padding-top:11px;display:flex}.honor-roll-average strong{color:var(--primary);font-size:1.45rem;line-height:1}@media (max-width:760px){.honor-roll-results-heading{flex-direction:column;align-items:stretch}.honor-roll-results-heading .planning-period-tabs-compact,.honor-roll-filter-block .planning-period-tabs-compact{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.honor-roll-grade-controls,.honor-roll-filter-block{width:100%}.honor-roll-filter-block:first-child .planning-period-tabs-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.honor-roll-ranking{grid-template-columns:1fr}.honor-roll-entry{min-height:160px}}@media (max-width:480px){.honor-roll-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.attendance-toolbar{grid-template-columns:minmax(160px,220px) minmax(160px,220px) minmax(160px,220px) 1fr;align-items:end;gap:10px;margin-top:14px;display:grid}.attendance-controls{min-width:0}.attendance-controls label{margin-bottom:6px;font-weight:600;display:block}.attendance-controls input,.attendance-controls select{border:1px solid var(--line);width:100%;min-height:40px;font:inherit;border-radius:8px;padding:8px 10px}.attendance-toolbar-actions{justify-content:flex-end;align-items:end;gap:8px;display:flex}.attendance-toolbar-actions button{border:1px solid var(--line);min-height:40px;font:inherit;cursor:pointer;border-radius:8px;padding:8px 12px;font-weight:700}.primary-action-btn{background:var(--primary);color:#fff;border-color:var(--primary)!important}.primary-action-btn:disabled{opacity:.6;cursor:not-allowed}.attendance-wrap{isolation:isolate;border:1px solid var(--line);background:#fff;border-radius:10px;max-width:100%;margin-top:14px;overflow-x:auto}.attendance-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1180px}.attendance-table th,.attendance-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;min-width:98px;padding:10px}.attendance-table thead th{background:#f8fafc;font-size:13px}.attendance-table tbody td{background:#fff}.attendance-table tbody tr:last-child th,.attendance-table tbody tr:last-child td{border-bottom:none}.attendance-student-column{z-index:1;text-align:left;background:#fff7ed;width:240px;min-width:240px;position:sticky;left:0}.attendance-table thead .attendance-student-column{z-index:2;background:#ffedd5}.attendance-total-column{z-index:20;width:92px;min-width:92px;box-shadow:-1px 0 0 var(--line), inset 0 -1px 0 var(--line);opacity:1;pointer-events:auto;background-color:#f8fafc;background-clip:border-box;font-weight:800;position:sticky}.attendance-total-present{right:184px}.attendance-total-absent{right:92px}.attendance-total-late{right:0}.attendance-table thead .attendance-total-column{z-index:30;background-color:#eef4ff;font-size:18px}.attendance-check{place-items:center;width:34px;height:34px;display:inline-grid}.attendance-check input{width:18px;height:18px;accent-color:var(--primary)}.attendance-status-actions{grid-template-columns:repeat(3,34px);gap:6px;display:inline-grid}.attendance-status-actions-expanded{grid-template-columns:repeat(3,38px)}.attendance-status-btn{border:1px solid var(--line);width:34px;height:34px;font:inherit;cursor:pointer;background:#fff;border-radius:999px;font-size:13px;font-weight:900;line-height:1}.attendance-status-actions-expanded .attendance-status-btn{width:38px}.attendance-status-btn:disabled{opacity:.45;cursor:not-allowed}.attendance-status-present{color:#067647;border-color:#abefc6}.attendance-status-absent{color:#b42318;border-color:#fecdca}.attendance-status-late{color:#b54708;border-color:#fedf89}.attendance-status-excused{color:#175cd3;border-color:#b2ddff}.attendance-status-early{color:#7a2e0e;border-color:#fed7aa}.attendance-status-suspension{color:#5925dc;border-color:#d9d6fe}.attendance-status-present.attendance-status-active{background:#dcfae6;border-color:#17b26a}.attendance-status-absent.attendance-status-active{background:#fee4e2;border-color:#f04438}.attendance-status-late.attendance-status-active{background:#fffaeb;border-color:#f79009}.attendance-status-excused.attendance-status-active{background:#eff8ff;border-color:#2e90fa}.attendance-status-early.attendance-status-active{background:#fff7ed;border-color:#fb923c}.attendance-status-suspension.attendance-status-active{background:#f4f3ff;border-color:#7a5af8}.attendance-summary-column{background:#f8fafc;min-width:82px;font-weight:800}.grade-value{background:#fff;border:1px solid #e4e7ec;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:32px;font-weight:700;display:inline-flex}.grade-value-warning{color:#b54708;background:#fffaeb;border-color:#f79009}.grade-value-danger{color:#b42318;background:#fee4e2;border-color:#d92d20}.assistant-roster-form{gap:10px;margin-top:14px;display:grid}.assistant-roster-form>div{max-width:240px}.assistant-roster-form label{margin-bottom:6px;font-weight:600;display:block}.assistant-roster-form select,.assistant-roster-form button{border:1px solid var(--line);width:100%;min-height:40px;font:inherit;border-radius:10px;padding:8px 10px}.assistant-roster-form button{background:var(--primary);color:#fff;cursor:pointer;border:none;max-width:240px;font-weight:600}.student-roster-panel{gap:16px;display:grid}.student-roster-form{gap:12px;display:grid}.student-roster-group-select{max-width:260px}.student-roster-form label{margin-bottom:6px;font-weight:700;display:block}.student-roster-form select,.student-roster-form textarea{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;padding:8px 10px}.student-roster-form select{min-height:40px}.student-roster-paste-box{gap:10px;display:grid}.student-roster-paste-box textarea{resize:vertical;min-height:150px}.student-roster-paste-box .primary-action-btn{border:1px solid var(--primary);width:min(220px,100%);min-height:40px;font:inherit;cursor:pointer;border-radius:8px;padding:8px 12px;font-weight:700}.student-roster-message{color:#344054;margin:0;font-size:13px}.student-roster-card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.student-roster-card{border:1px solid var(--line);color:#101828;font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.student-roster-card:hover,.student-roster-card-active{border-color:var(--primary);box-shadow:inset 4px 0 0 var(--primary);background:#eff8ff}.student-roster-card span,.student-roster-card strong{display:block}.student-roster-card strong{font-size:1.05rem}.student-roster-card span,.student-roster-empty{color:#667085;font-size:13px}.student-roster-detail{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.student-roster-detail header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;display:flex}.student-roster-detail h3{color:#101828;margin:0;font-size:1rem}.student-roster-detail header span{color:#667085;font-size:13px}.student-roster-list{gap:8px;display:grid}.student-roster-row{cursor:grab;border:1px solid #edf0f5;border-radius:8px;grid-template-columns:38px minmax(0,1fr) minmax(190px,auto);align-items:center;gap:10px;padding:8px;transition:background .18s,border-color .18s,box-shadow .18s,opacity .18s;display:grid}.student-roster-row strong{color:#101828;overflow-wrap:anywhere;min-width:0;font-size:14px}.student-roster-row-dragging{opacity:.68;cursor:grabbing;background:#eff8ff;border-color:#175cd3;box-shadow:0 0 0 2px #175cd32e}.student-roster-row-drop-ready{animation:1s ease-in-out infinite student-roster-drop-pulse}.student-roster-row-drop-target{background:#ecfdf3;border-color:#079455;box-shadow:0 0 0 2px #0794552e}.student-roster-reassign{grid-template-columns:82px 104px;gap:8px;display:grid}.student-roster-reassign select,.student-roster-reassign button{min-height:36px;font:inherit;border-radius:8px;padding:6px 8px}.student-roster-reassign select{border:1px solid var(--line)}.student-roster-reassign button{white-space:nowrap}.tutor-linking-panel{gap:16px;display:grid}.tutor-group-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.tutor-group-selector{max-width:280px}.tutor-group-selector label{color:#344054;gap:6px;font-size:13px;font-weight:700;display:grid}.tutor-group-selector select{border:1px solid var(--line);color:#101828;width:100%;min-height:40px;font:inherit;border-radius:8px;padding:8px 10px}.tutor-linking-form{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:12px;display:grid}.tutor-linking-form label{color:#344054;gap:6px;font-size:13px;font-weight:700;display:grid}.tutor-linking-form input,.tutor-linking-form select,.tutor-linking-form textarea{border:1px solid var(--line);color:#101828;width:100%;min-height:40px;font:inherit;border-radius:8px;padding:8px 10px}.tutor-linking-notes{grid-column:1/-1}.tutor-linking-form textarea{resize:vertical;min-height:82px}.tutor-linking-form .primary-action-btn{border:1px solid var(--primary);width:min(220px,100%);min-height:40px;font:inherit;cursor:pointer;border-radius:8px;padding:8px 12px;font-weight:700}.tutor-linking-form .student-roster-message{align-self:center}.tutor-linking-list{gap:8px;display:grid}.tutor-linking-row{border:1px solid #edf0f5;border-radius:8px;grid-template-columns:minmax(180px,1.4fr) minmax(160px,1fr) minmax(120px,auto);align-items:center;gap:10px;padding:10px;display:grid}.tutor-linking-row span,.tutor-linking-row p{color:#667085;font-size:13px}.tutor-linking-row strong,.tutor-linking-row span,.tutor-linking-row p{overflow-wrap:anywhere}.tutor-linking-row strong,.tutor-linking-row p{margin:2px 0 0;display:block}.tutor-linking-contact{gap:4px;display:grid}.tutor-linking-row-notes{grid-column:1/-1;margin:0}.tutor-linking-actions{justify-content:flex-end;gap:8px;display:flex}.tutor-linking-row-editing{border-color:var(--primary);box-shadow:0 8px 18px #10203314}.tutor-linking-edit{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:4px;padding-top:12px;display:grid}.tutor-linking-edit label{color:#344054;gap:6px;font-size:13px;font-weight:700;display:grid}.tutor-linking-edit input,.tutor-linking-edit select,.tutor-linking-edit textarea{border:1px solid var(--line);color:#101828;width:100%;min-height:40px;font:inherit;border-radius:8px;padding:8px 10px;font-weight:400}.tutor-linking-edit textarea{resize:vertical;min-height:72px}.tutor-linking-edit-actions{grid-column:1/-1;align-items:center;gap:12px;display:flex}.tutor-linking-edit .primary-action-btn{border:1px solid var(--primary);width:min(220px,100%);min-height:40px;font:inherit;cursor:pointer;border-radius:8px;padding:8px 12px;font-weight:700}.tutor-linking-edit .student-roster-message{margin:0}.family-access-admin{gap:20px;display:grid}.family-access-admin-grid,.family-management-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:stretch;gap:16px;display:grid}.family-access-create-card,.family-access-qr-preview,.family-management-card,.family-members-section{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px}.family-access-create-card,.family-management-card{align-content:start;gap:16px;display:grid}.family-access-create-card>label,.family-member-invite-form>label{color:#344054;gap:6px;font-size:13px;font-weight:750;display:grid}.family-access-create-card select,.family-member-invite-form input,.family-member-invite-form select{border:1px solid var(--line);color:#101828;width:100%;min-height:42px;font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.family-access-create-card>.primary-action-btn{border:1px solid var(--primary);color:#fff;cursor:pointer;min-height:42px;font:inherit;border-radius:8px;padding:9px 14px;font-weight:750}.family-access-section-title{align-items:flex-start;gap:11px;display:flex}.family-access-section-title h2,.family-access-section-title h3{color:#101828}.family-access-section-title p{color:#667085;margin-top:4px;line-height:1.45}.family-student-checklist{border:1px solid #e4e7ec;border-radius:8px;gap:8px;padding:12px;display:grid}.family-student-checklist legend{color:#344054;padding-inline:5px;font-size:13px;font-weight:800}.family-student-checklist label{color:#344054;align-items:center;gap:9px;font-size:.9rem;display:flex}.family-student-checklist input{accent-color:#9d1c2f;width:18px;height:18px}.family-access-qr-preview{text-align:center;align-content:center;place-items:center;gap:10px;min-height:360px;display:grid}.family-access-qr-preview>img{border:1px solid #e4e7ec;border-radius:10px;width:min(280px,100%);height:auto}.family-access-qr-preview>span,.family-access-qr-preview>small{color:#667085;line-height:1.45}.family-access-qr-preview>small{max-width:340px}.family-access-qr-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.family-access-qr-actions a{text-decoration:none}.family-access-qr-actions .secondary-action-btn{color:#344054;cursor:pointer;min-height:40px;font:inherit;background:#fff;border:1px solid #c8d1df;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;font-size:.88rem;font-weight:750;display:inline-flex}.family-access-qr-actions .primary-action-btn,.family-access-qr-actions button.family-access-action{color:#fff;cursor:pointer;min-height:40px;font:inherit;background:#9d1c2f;border:1px solid #9d1c2f;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;font-size:.88rem;font-weight:750;display:inline-flex}.family-invitation-email-status{overflow-wrap:anywhere;background:#f8fafc;border:1px solid #e4e7ec;border-radius:8px;width:100%;padding:9px 10px}.family-invitation-email-status[data-email-available=true]{color:#067647;background:#f1fbf5;border-color:#b8dfc8}.family-selected-email-status{color:#667085;background:#f8fafc;border-left:3px solid #98a2b3;margin:-4px 0 0;padding:8px 10px;font-size:.84rem;line-height:1.45}.family-selected-email-status[data-email-available=true]{color:#067647;background:#f1fbf5;border-left-color:#067647}.family-access-qr-empty{color:#667085;justify-items:center;gap:9px;max-width:320px;display:grid}.family-access-qr-empty img{opacity:.48}.turno-scope-note{border:1px solid var(--line);color:#344054;border-radius:999px;margin:4px 0 10px;padding:5px 14px;font-size:.84rem;font-weight:750;display:inline-block}.attendance-capture-log{color:#667085;margin:10px 0 4px;font-size:.86rem}.attendance-capture-log strong{color:#344054}.family-access-history{gap:12px;display:grid}.family-access-history-filters{flex-wrap:wrap;gap:10px 14px;display:flex}.family-access-history-filters label{color:#344054;gap:5px;min-width:132px;font-size:13px;font-weight:750;display:grid}.family-access-history-filters select{border:1px solid var(--line);color:#101828;min-height:38px;font:inherit;background:#fff;border-radius:8px;padding:7px 10px}.family-access-history-list,.family-member-list{gap:9px;display:grid}.family-access-history-list article,.family-member-list article{background:#fff;border:1px solid #e4e7ec;border-radius:10px;grid-template-columns:minmax(200px,1.4fr) minmax(150px,.8fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.family-access-history-list article>div,.family-member-list article>div{gap:3px;display:grid}.family-access-history-list span,.family-member-list span{color:#9d1c2f;text-transform:uppercase;font-size:.76rem;font-weight:850}.family-access-history-list p,.family-access-history-list small,.family-member-list p,.family-member-list small{color:#667085;overflow-wrap:anywhere;font-size:.86rem}.family-access-history-list article[data-invite-status=used] span{color:#067647}.family-access-history-list article[data-invite-status=revoked] span,.family-access-history-list article[data-invite-status=expired] span{color:#667085}.family-management-page{background:radial-gradient(circle at 0 0,#9d1c2f14,#0000 32%),#f6f8fb;align-content:start;gap:18px;min-height:100dvh;padding:24px max(18px,50% - 560px) 48px;display:grid}.family-management-navigation{justify-content:space-between;align-items:center;gap:12px;display:flex}.family-management-navigation a{color:#344054;background:#fff;border:1px solid #d9e1ec;border-radius:8px;align-items:center;min-height:40px;padding:8px 12px;font-size:.9rem;font-weight:750;display:inline-flex}.family-management-header{background:#fff;border:1px solid #e4e7ec;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.family-management-header h1{color:#101828;margin-top:4px}.family-management-header p:last-child{color:#667085;margin-top:6px}.family-management-header>div:last-child{gap:8px;display:flex}.family-management-header button{cursor:pointer;min-height:42px;font:inherit;color:#fff;background:#9d1c2f;border:1px solid #9d1c2f;border-radius:8px;justify-content:center;align-items:center;padding:9px 13px;font-weight:750;display:inline-flex}.family-member-invite-form{gap:12px;display:grid}.family-member-invite-form>button{color:#fff;cursor:pointer;min-height:42px;font:inherit;background:#9d1c2f;border:1px solid #9d1c2f;border-radius:8px;padding:9px 14px;font-weight:750}.family-management-message{color:#067647;background:#f1fbf5;border:1px solid #b8dfc8;border-radius:8px;padding:11px 13px}.family-member-modal-backdrop{z-index:18;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10182894;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.family-member-modal{background:#fff;border:1px solid #e4e7ec;border-radius:20px;width:min(760px,100%);max-height:calc(100dvh - 40px);padding:22px;overflow-y:auto;box-shadow:0 28px 70px #10182847}.family-member-modal>header{border-bottom:1px solid #e4e7ec;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:16px;display:flex}.family-member-modal>header h2{color:#101828;margin-top:3px;font-size:1.55rem}.family-member-modal>header p:last-child{color:#667085;max-width:580px;margin-top:5px;line-height:1.5}.family-member-modal-close{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:999px;flex:none;place-items:center;width:40px;height:40px;display:inline-grid}.family-member-modal-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.family-member-modal-form .family-student-checklist,.family-member-modal-form>button{grid-column:1/-1}.family-member-current-section{gap:16px;margin-top:18px;display:grid}.family-member-swipe-row{background:#fff;border:1px solid #e4e7ec;border-radius:12px;grid-template-columns:minmax(0,1fr) 74px;display:grid;overflow:hidden}.family-member-delete-button{cursor:pointer;background:#b42318;border:0;place-items:center;width:74px;min-height:94px;display:inline-grid}.family-member-delete-button img{filter:brightness(0)invert()}.family-member-swipe-content{background:#fff;align-content:center;gap:4px;min-height:94px;padding:14px 18px;display:grid}.family-member-swipe-content span{color:#9d1c2f;text-transform:uppercase;font-size:.75rem;font-weight:850}.family-member-swipe-content strong{color:#101828;font-size:1rem}.family-member-swipe-content p{color:#667085;font-size:.88rem}.family-member-qr-panel{text-align:center;background:#f8fafc;border:1px solid #e4e7ec;border-radius:14px;justify-items:center;gap:9px;padding:16px;display:grid}.family-member-qr-panel>img{border:1px solid #e4e7ec;border-radius:10px;width:min(240px,100%);height:auto}.family-member-qr-panel>span{color:#667085;font-size:.88rem}.family-member-pending-note{color:#7a4d00;background:#fffaf0;border:1px solid #f2d6a2;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.family-member-modal>.family-management-message{margin-top:16px}@keyframes student-roster-drop-pulse{0%,to{box-shadow:0 0 #07945500}50%{box-shadow:0 0 0 2px #0794552e}}.roster-management-list{gap:8px;display:grid}.roster-management-row{cursor:grab;grid-template-columns:38px minmax(160px,1fr) auto;align-items:center;gap:10px;display:grid}.roster-management-row h4{margin-bottom:0}.roster-number{border:1px solid var(--line);color:#475467;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:inline-flex}.roster-management-row-dragging{border-color:var(--primary);opacity:.55;background:#eff8ff;box-shadow:0 0 0 2px #005bd32e}.roster-actions{grid-template-columns:72px 86px 76px;gap:8px;display:grid}.roster-actions select,.roster-actions button{min-height:36px;font:inherit;border-radius:8px;padding:6px 8px}.roster-actions select{border:1px solid var(--line)}.roster-actions button{white-space:nowrap}.inline-check{align-items:center;gap:8px;margin-bottom:12px;font-weight:400;display:flex}.status-pill{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.status-danger{color:#b42318;background:#fee4e2}.status-warning{color:#b54708;background:#fffaeb}.status-orange{color:#c4320a;background:#fff4ed}.status-info{color:#175cd3;background:#eff8ff}.status-success{color:#027a48;background:#ecfdf3}.status-neutral{color:#344054;background:#f2f4f7}.feature-link{text-align:center;border-radius:10px;padding:10px 12px}.teacher-gradebook-panel,.teacher-register-panel{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.teacher-register-title{align-items:center;gap:10px;display:flex}.teacher-register-title h2{margin:0}.teacher-register-title-icon{background:#fdf2f4;border:1px solid #f5c2ca;border-radius:8px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.teacher-register-title-icon img{filter:invert(18%)sepia(47%)saturate(2707%)hue-rotate(322deg)brightness(83%)}.teacher-gradebook-groups,.teacher-register-capture{border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:color-mix(in srgb, var(--panel-accent-soft) 34%, #fff);border-radius:8px;gap:14px;min-width:0;padding:14px;display:grid}.teacher-gradebook-groups h3,.teacher-register-capture h3{color:var(--panel-accent)}.teacher-gradebook-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.teacher-register-group-card{border:1px solid var(--panel-accent-line);border-left:5px solid var(--panel-accent);background:linear-gradient(115deg, var(--panel-accent-soft), #fff 64%), #fff;min-width:0;min-height:76px;color:var(--panel-accent);border-radius:8px;place-items:center;padding:14px;transition:border-color .12s,box-shadow .12s,transform .12s;display:grid}.teacher-register-group-card:hover{border-color:var(--panel-accent);transform:translateY(-1px);box-shadow:0 10px 22px #1020331a}.teacher-register-group-card:focus-visible{outline:3px solid color-mix(in srgb, var(--panel-accent) 24%, transparent);outline-offset:2px}.teacher-register-group-card strong{text-align:center;overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.teacher-register-group-card strong span:first-child{color:var(--panel-accent);font-size:1.15rem}.teacher-register-group-card strong span:not(:first-child){color:#344054;font-size:.95rem}.teacher-activities-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.teacher-activities-backlink{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-weight:600;display:inline-flex}.teacher-activities-backlink:hover{border-color:var(--primary);color:var(--primary)}.teacher-evaluation-shell{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-width:0;max-width:100%;overflow-x:auto}.teacher-evaluation-weight-summary{color:#934f00;background:#fffaeb;border:1px solid #f5c451;border-radius:8px;align-items:center;min-height:38px;padding:7px 10px;font-size:13px;font-weight:800;display:inline-flex}.teacher-evaluation-weight-summary[data-complete=true]{color:#027a48;background:#ecfdf3;border-color:#75e0a7}.teacher-evaluation-row{border-bottom:1px solid var(--line);min-width:max-content;display:flex}.teacher-evaluation-row:last-child{border-bottom:none}.teacher-evaluation-row-header{background:#f8fafc}.teacher-evaluation-student-cell{z-index:1;border-right:1px solid var(--line);border-left:4px solid var(--primary);background:#fdf2f4;width:220px;min-width:220px;padding:14px 12px;position:sticky;left:0}.teacher-evaluation-student-cell strong{color:var(--primary);display:block}.teacher-evaluation-student-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.teacher-evaluation-student-summary strong{overflow-wrap:anywhere;min-width:0}.teacher-udei-button{color:#175cd3;min-width:48px;height:26px;font:inherit;cursor:pointer;background:#eff8ff;border:1px solid #84adff;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:800}.teacher-udei-button:hover{background:#d1e9ff;border-color:#1570ef}.teacher-udei-button:focus-visible{outline-offset:2px;outline:3px solid #1570ef33}.teacher-evaluation-student-cell-header{z-index:2;color:var(--primary);background:#fbe8eb;font-weight:700}.teacher-evaluation-criterion-block{border-right:1px solid var(--line);background:var(--criterion-tint,#fff);display:grid}.teacher-evaluation-header-cell,.teacher-evaluation-score-cell,.teacher-evaluation-average-cell,.teacher-evaluation-final-cell,.teacher-evaluation-final-header{border-right:1px solid var(--line);min-height:82px;padding:10px}.teacher-evaluation-header-cell:last-child,.teacher-evaluation-score-cell:last-child,.teacher-evaluation-average-cell:last-child{border-right:none}.teacher-evaluation-activity-header,.teacher-evaluation-criterion-header,.teacher-evaluation-final-header{background:#f8fafc;flex-direction:column;justify-content:space-between;gap:8px;display:flex}.teacher-evaluation-activity-header,.teacher-evaluation-criterion-header{cursor:grab;background:var(--criterion-soft,#f8fafc);border-top:4px solid var(--criterion-accent,var(--line))}.teacher-evaluation-title-input{width:100%;font:inherit;color:var(--foreground);background:#fff;border:1px solid #0000;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700}.teacher-evaluation-title-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #005bd31f}.teacher-evaluation-title-input-criterion{margin-bottom:6px}.teacher-evaluation-weight-field{color:#344054;grid-template-columns:1fr 68px;align-items:center;gap:6px;font-size:12px;font-weight:700;display:grid}.teacher-evaluation-weight-field input{border:1px solid var(--line);width:100%;min-width:0;font:inherit;text-align:center;background:#fff;border-radius:8px;padding:6px 8px}.teacher-evaluation-weight-field input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #005bd31f}.teacher-evaluation-activity-header span,.teacher-evaluation-criterion-header strong,.teacher-evaluation-final-header strong{font-size:13px}.teacher-evaluation-activity-header small,.teacher-evaluation-criterion-header small,.teacher-evaluation-final-header small{color:#475467;font-size:12px}.teacher-evaluation-criterion-header{justify-content:space-between}.teacher-evaluation-criterion-actions{justify-content:flex-end;gap:6px;display:flex}.teacher-evaluation-criterion-actions button{border:1px solid var(--line);width:32px;height:32px;font:inherit;cursor:pointer;background:#fff;border-radius:8px;font-weight:700}.teacher-evaluation-criterion-actions button:disabled{opacity:.45;cursor:not-allowed}.teacher-evaluation-criterion-actions .teacher-evaluation-criterion-toggle{color:var(--muted);place-items:center;display:inline-grid}.teacher-evaluation-criterion-actions .teacher-evaluation-criterion-toggle[aria-pressed=true]{border-color:var(--criterion-accent,var(--line));background:var(--criterion-soft,#fff)}.teacher-evaluation-criterion-block-collapsed .teacher-evaluation-average-cell{border-left:none}.teacher-evaluation-score-cell{background:var(--criterion-tint,#fff);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.teacher-evaluation-score-cell input{border:1px solid var(--line);text-align:center;width:100%;min-width:0;font:inherit;border-radius:8px;padding:10px 12px}.teacher-evaluation-score-cell .teacher-evaluation-score-input-invalid{background:snow;border-color:#d92d20}.teacher-evaluation-warning-backdrop{z-index:40}.teacher-evaluation-warning-modal{text-align:center;max-width:340px}.teacher-evaluation-warning-modal h3{color:var(--danger)}.teacher-evaluation-warning-modal .modal-actions{justify-content:center}.teacher-udei-backdrop{z-index:45}.teacher-udei-modal{width:min(680px,100%);max-height:calc(100vh - 32px);padding:20px;overflow-y:auto}.teacher-udei-modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.teacher-udei-modal-heading .kicker{margin-bottom:4px}.teacher-udei-modal-heading h3{color:var(--foreground);margin:0}.teacher-udei-modal-heading div>span{color:#475467;margin-top:4px;font-size:13px;display:block}.teacher-udei-badge{color:#175cd3;background:#eff8ff;border:1px solid #84adff;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:800}.teacher-udei-section{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.teacher-udei-section h4{margin:0 0 10px;font-size:14px}.teacher-udei-diagnosis-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.teacher-udei-diagnosis-list li{color:#1849a9;background:#eff8ff;border:1px solid #b2ddff;border-radius:6px;padding:6px 8px;font-size:13px;font-weight:700}.teacher-udei-bap-list{gap:14px;display:grid}.teacher-udei-bap-entry{gap:10px;margin:0;display:grid}.teacher-udei-bap-entry+.teacher-udei-bap-entry{border-top:1px solid var(--line);padding-top:14px}.teacher-udei-bap-entry div{gap:3px;display:grid}.teacher-udei-bap-entry dt{color:#475467;font-size:12px;font-weight:800}.teacher-udei-bap-entry dd{color:var(--foreground);margin:0;font-size:14px;line-height:1.45}.teacher-evaluation-average-cell,.teacher-evaluation-final-cell{background:var(--criterion-soft,#f8fafc);justify-content:center;align-items:center;font-weight:700;display:flex}.teacher-evaluation-final-header,.teacher-evaluation-final-cell{background:#ecfdf3;border-top:4px solid #027a48;width:160px;min-width:160px}.teacher-evaluation-final-cell{color:#027a48}.teacher-roulette-panel{gap:18px}.roulette-groups-section,.roulette-main-section{border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);border-radius:8px;padding:16px}.roulette-group-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:14px;display:grid}.roulette-group-card{--panel-accent:#005bd3;--panel-accent-soft:#e8f1ff;--panel-accent-line:#b9d6ff;border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:var(--panel-accent-soft);min-height:58px;color:var(--panel-accent);font:inherit;cursor:pointer;border-radius:8px;padding:10px 12px;font-weight:800;transition:border-color .16s,box-shadow .16s,transform .16s}.roulette-group-card:hover{border-color:var(--panel-accent);transform:translateY(-1px);box-shadow:0 8px 18px #1020331a}.roulette-group-card:focus-visible{outline:3px solid color-mix(in srgb, var(--panel-accent), transparent 76%);outline-offset:2px}.roulette-group-card[data-selected=true]{background:var(--panel-accent);color:#fff;box-shadow:0 8px 18px color-mix(in srgb, var(--panel-accent), transparent 76%)}.roulette-group-card[data-panel-tone="2"]{--panel-accent:#0f766e;--panel-accent-soft:#e6fffb;--panel-accent-line:#99f6e4}.roulette-group-card[data-panel-tone="3"]{--panel-accent:#9d1c2f;--panel-accent-soft:#fff1f3;--panel-accent-line:#fecdd6}.roulette-group-card[data-panel-tone="4"]{--panel-accent:#7c3aed;--panel-accent-soft:#f3edff;--panel-accent-line:#ddd6fe}.roulette-group-card[data-panel-tone="5"]{--panel-accent:#b54708;--panel-accent-soft:#fff7ed;--panel-accent-line:#fed7aa}.roulette-group-card[data-panel-tone="6"]{--panel-accent:#2f6b3f;--panel-accent-soft:#ecfdf3;--panel-accent-line:#bbf7d0}.roulette-workspace{grid-template-columns:minmax(0,1fr) minmax(230px,290px);align-items:center;gap:24px;margin-top:16px;display:grid}.roulette-wheel-column{justify-items:center;gap:12px;min-width:0;display:grid}.roulette-wheel-stage{aspect-ratio:1;width:min(520px,100%);padding:18px;position:relative}.roulette-pointer{z-index:4;filter:drop-shadow(0 3px 3px #10182838);border-top:34px solid #101828;border-left:18px solid #0000;border-right:18px solid #0000;width:0;height:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.roulette-wheel-button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:100%;height:100%;padding:0;display:block;overflow:hidden;box-shadow:0 0 0 2px #d0d5dd,0 18px 42px #1018282e}.roulette-wheel-button:focus-visible{outline-offset:5px;outline:4px solid #005bd33d}.roulette-wheel-button:disabled{cursor:wait}.roulette-wheel-disc{width:100%;height:100%;transform:rotate(var(--roulette-rotation));will-change:transform;border:8px solid #fff;border-radius:50%;transition:transform 4.2s cubic-bezier(.12,.68,.12,1);display:block;position:relative;overflow:hidden}.roulette-wheel-label{z-index:2;transform-origin:0;pointer-events:none;align-items:center;width:45%;height:28px;display:flex;position:absolute;top:50%;left:50%}.roulette-wheel-label>span{color:#fff;width:100%;font-size:var(--roulette-font-size);text-align:right;text-overflow:ellipsis;text-shadow:0 1px 3px #101828b3;white-space:nowrap;padding:0 16px 0 42px;font-weight:800;line-height:1.1;overflow:hidden}.roulette-wheel-label>span[data-flipped=true]{text-align:left;padding:0 42px 0 16px;transform:rotate(180deg)}.roulette-wheel-hub{z-index:3;background:#101828;border:7px solid #fff;border-radius:50%;place-items:center;width:72px;height:72px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 16px #1018284d}.roulette-wheel-hub img{filter:brightness(0)invert()}.roulette-result-panel{background:#fff;border:1px solid #ddd6fe;border-left:4px solid #7c3aed;border-radius:8px;flex-direction:column;justify-content:space-between;gap:20px;min-height:220px;padding:18px;display:flex}.roulette-result-panel>div{gap:8px;display:grid}.roulette-result-label{color:#6941c6;text-transform:uppercase;font-size:.78rem;font-weight:800}.roulette-result-panel strong{overflow-wrap:anywhere;color:#101828;align-items:center;min-block-size:3.36em;font-size:clamp(1.3rem,3vw,2rem);line-height:1.12;display:flex}.roulette-result-panel p{min-block-size:2.9em;color:var(--muted);margin:0;line-height:1.45}.roulette-reset-button{color:#6941c6;min-height:42px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c7b9ef;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 13px;font-size:.84rem;font-weight:800;transition:border-color .14s,background .14s,box-shadow .14s,color .14s;display:inline-flex}.roulette-reset-button img{filter:invert(34%)sepia(42%)saturate(1488%)hue-rotate(216deg)brightness(89%)}.roulette-reset-button:hover:not(:disabled){color:#53389e;background:#f5f0ff;border-color:#7c3aed;box-shadow:0 6px 14px #6941c624}.roulette-reset-button:focus-visible{outline-offset:2px;outline:3px solid #7c3aed33}.roulette-reset-button:disabled{color:#98a2b3;cursor:not-allowed;box-shadow:none;background:#f2f4f7;border-color:#e4e7ec}.roulette-reset-button:disabled img{opacity:.5;filter:grayscale()}.teacher-semaphore-panel{gap:18px}.semaphore-link-panel,.semaphore-rules{border:1px solid var(--panel-accent-line,#b9d6ff);border-left:4px solid var(--panel-accent,#005bd3);background:#fff;border-radius:8px;gap:16px;padding:16px;display:grid}.semaphore-link-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center}.semaphore-link-copy{align-items:flex-start;gap:12px;min-width:0;display:flex}.semaphore-link-copy h3{color:var(--panel-accent,#005bd3);font-size:1rem}.semaphore-link-copy p,.semaphore-rules .meta{max-width:720px;color:var(--muted);margin-top:4px;line-height:1.5}.semaphore-primary-action,.semaphore-session-actions .secondary-action-btn,.semaphore-projection-actions .secondary-action-btn{border:1px solid var(--primary);min-height:42px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 13px;font-size:.86rem;font-weight:800;display:inline-flex}.semaphore-primary-action img{filter:brightness(0)invert()}.semaphore-session-card{background:#f8fbff;border:1px solid #b9d6ff;border-radius:8px;grid-column:1/-1;grid-template-columns:minmax(180px,.65fr) auto minmax(150px,.45fr);align-items:center;gap:16px;padding:14px;display:grid}.semaphore-session-card>div:first-child{gap:3px;display:grid}.semaphore-session-card span,.semaphore-session-card small{color:#475467}.semaphore-session-card span{text-transform:uppercase;font-size:.76rem;font-weight:800}.semaphore-session-card strong{color:#101828;font-family:var(--font-geist-mono);letter-spacing:.16em;font-size:clamp(1.7rem,4vw,2.6rem)}.semaphore-session-card small{line-height:1.4}.semaphore-session-card small[data-connection-mode=firebase],.semaphore-session-card small[data-connection-mode=server]{color:#027a48;font-weight:800}.semaphore-qr-card{text-align:center;background:#fff;border:1px solid #d0d5dd;border-radius:12px;justify-items:center;gap:7px;padding:12px;display:grid}.semaphore-qr-card img{border-radius:6px;width:min(240px,100%);height:auto}.semaphore-qr-card>span{color:#667085;place-items:center;min-height:180px;font-weight:800;display:grid}.semaphore-qr-card p{color:#344054;margin:0;font-size:.82rem;font-weight:800}.semaphore-qr-card small[role=alert]{color:#b42318;font-weight:700}.semaphore-session-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.semaphore-session-actions .secondary-action-btn,.semaphore-projection-actions .secondary-action-btn{color:#175cd3;background:#fff;border-color:#b2ccff}.semaphore-session-actions .secondary-action-btn:hover,.semaphore-projection-actions .secondary-action-btn:hover{background:#eff8ff;border-color:#175cd3}.semaphore-result-board{--semaphore-result-accent:#667085;--semaphore-result-soft:#f2f4f7;border:1px solid color-mix(in srgb, var(--semaphore-result-accent), #fff 68%);border-left:6px solid var(--semaphore-result-accent);background:linear-gradient(110deg, var(--semaphore-result-soft), #fff 58%), #fff;border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(360px,.9fr);align-items:stretch;gap:14px;padding:18px;display:grid}.semaphore-result-board[data-result-tone=green]{--semaphore-result-accent:#067647;--semaphore-result-soft:#ecfdf3}.semaphore-result-board[data-result-tone=green-soft]{--semaphore-result-accent:#0f766e;--semaphore-result-soft:#e6fffb}.semaphore-result-board[data-result-tone=orange]{--semaphore-result-accent:#b54708;--semaphore-result-soft:#fff7ed}.semaphore-result-board[data-result-tone=red]{--semaphore-result-accent:#b42318;--semaphore-result-soft:#fff1f3}.semaphore-result-summary{align-content:center;gap:8px;min-height:190px;padding:8px;display:grid}.semaphore-result-summary>span{color:var(--semaphore-result-accent);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:900}.semaphore-result-summary>strong{color:#101828;max-width:760px;font-size:clamp(1.75rem,4vw,3.1rem);line-height:1.06}.semaphore-result-summary p{color:#475467;margin:0;font-weight:700}.semaphore-count-grid{grid-template-columns:1fr;gap:8px;display:grid}.semaphore-count-card{border:1px solid #d0d5dd;border-left:5px solid var(--semaphore-card-color);background:#fff;border-radius:8px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.semaphore-count-card[data-card-color=green]{--semaphore-card-color:#12b76a}.semaphore-count-card[data-card-color=orange]{--semaphore-card-color:#f79009}.semaphore-count-card[data-card-color=red]{--semaphore-card-color:#f04438}.semaphore-count-card>span{color:var(--semaphore-card-color);place-items:center;font-size:2rem;font-weight:900;display:grid}.semaphore-count-card div{display:grid}.semaphore-count-card strong{color:#101828;font-size:1.55rem}.semaphore-count-card small{color:#667085;font-weight:700}.semaphore-projection-actions{justify-content:flex-end;display:flex}.semaphore-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.semaphore-rule-grid article{--semaphore-rule-color:#667085;border:1px solid color-mix(in srgb, var(--semaphore-rule-color), #fff 70%);border-left:5px solid var(--semaphore-rule-color);background:#fff;border-radius:8px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.semaphore-rule-grid article[data-rule-color=green],.semaphore-rule-grid article[data-rule-color=green-soft]{--semaphore-rule-color:#12b76a}.semaphore-rule-grid article[data-rule-color=orange]{--semaphore-rule-color:#f79009}.semaphore-rule-grid article[data-rule-color=red]{--semaphore-rule-color:#f04438}.semaphore-rule-grid article>span{color:var(--semaphore-rule-color);text-align:center;font-size:1.75rem;font-weight:900}.semaphore-rule-grid strong{color:#101828}.semaphore-rule-grid p{color:#475467;margin-top:3px;line-height:1.4}.semaphore-scanner-page{background:radial-gradient(circle at 100% 0,#12b76a29,#0000 34%),#f5f7fb;flex:1;min-height:100dvh;padding:24px 16px 40px}.semaphore-scanner-header,.semaphore-scanner-shell{width:min(680px,100%);margin-inline:auto}.semaphore-scanner-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.semaphore-scanner-header>span{background:#101828;border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.semaphore-scanner-header>span img{filter:brightness(0)invert()}.semaphore-scanner-header p{color:#667085;text-transform:uppercase;font-size:.78rem;font-weight:900}.semaphore-scanner-header h1{color:#101828;font-size:1.55rem}.semaphore-scanner-shell{background:#fff;border:1px solid #d0d5dd;border-radius:16px;gap:14px;padding:16px;display:grid;box-shadow:0 18px 44px #1018281f}.semaphore-scanner-session{gap:7px;display:grid}.semaphore-scanner-session label{color:#344054;font-size:.82rem;font-weight:800}.semaphore-scanner-session>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.semaphore-scanner-session input{color:#101828;min-width:0;min-height:44px;font:inherit;font-family:var(--font-geist-mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid #98a2b3;border-radius:8px;padding:9px 12px;font-size:1.1rem;font-weight:900}.semaphore-scanner-session button,.semaphore-camera-actions button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#175cd3;border:1px solid #175cd3;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 13px;font-weight:800;display:inline-flex}.semaphore-scanner-session button img,.semaphore-camera-actions button img{filter:brightness(0)invert()}.semaphore-scanner-session button:disabled,.semaphore-camera-actions button:disabled{color:#98a2b3;cursor:not-allowed;background:#e4e7ec;border-color:#d0d5dd}.semaphore-scanner-session p{color:#667085;margin:0;font-size:.8rem;line-height:1.4}.semaphore-scanner-session .semaphore-connected-note{color:#027a48;font-weight:800}.semaphore-scanner-session .semaphore-waiting-note{color:#b54708;font-weight:800}.semaphore-camera-stage{aspect-ratio:4/3;background:#101828;border:1px solid #344054;border-radius:12px;width:100%;position:relative;overflow:hidden}.semaphore-camera-stage video,.semaphore-camera-stage canvas:not([hidden]){object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.semaphore-camera-stage canvas:not([hidden]){z-index:2;pointer-events:none}.semaphore-camera-frozen-badge{z-index:4;color:#fff;background:#027a48eb;border:1px solid #ffffffb8;border-radius:999px;align-items:center;min-height:30px;padding:5px 11px;font-size:.76rem;font-weight:900;display:inline-flex;position:absolute;top:10px;right:10px;box-shadow:0 4px 12px #10182838}.semaphore-camera-placeholder{z-index:3;color:#fff;text-align:center;place-content:center;justify-items:center;gap:8px;padding:24px;display:grid;position:absolute;inset:0}.semaphore-camera-placeholder img{filter:brightness(0)invert()}.semaphore-camera-placeholder p{color:#d0d5dd;max-width:400px;margin:0;font-size:.84rem;line-height:1.45}.semaphore-camera-error{color:#b42318;background:#fff1f3;border-left:4px solid #f04438;border-radius:8px;margin:0;padding:10px 12px;font-weight:700;line-height:1.45}.semaphore-camera-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.semaphore-camera-actions button:only-child{grid-column:1/-1}.semaphore-camera-actions .semaphore-stop-camera-action{color:#344054;background:#fff;border-color:#98a2b3}.semaphore-camera-actions .semaphore-stop-camera-action img{filter:none;opacity:.78}.semaphore-result-board[data-compact=true]{grid-template-columns:1fr;padding:12px}.semaphore-result-board[data-compact=true] .semaphore-result-summary{min-height:0}.semaphore-result-board[data-compact=true] .semaphore-result-summary>strong{font-size:clamp(1.35rem,7vw,2.1rem)}.semaphore-result-board[data-compact=true] .semaphore-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.semaphore-result-board[data-compact=true] .semaphore-count-card{text-align:center;grid-template-columns:1fr;justify-items:center;padding:8px}.semaphore-result-board[data-compact=true] .semaphore-count-card>span{font-size:1.5rem}.semaphore-result-board[data-compact=true] .semaphore-count-card strong{font-size:1.2rem}.semaphore-result-board[data-compact=true] .semaphore-count-card small{font-size:.7rem}.semaphore-card-guide{border-top:1px solid #e4e7ec;gap:9px;padding-top:14px;display:grid}.semaphore-card-guide h2{color:#101828;font-size:.95rem}.semaphore-card-guide>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.semaphore-card-guide span{background:#fff;border:2px solid;border-radius:8px;place-items:center;min-height:58px;font-size:1.8rem;font-weight:900;display:grid}.semaphore-card-guide span[data-guide-color=green]{color:#12b76a}.semaphore-card-guide span[data-guide-color=orange]{color:#f79009}.semaphore-card-guide span[data-guide-color=red]{color:#f04438}.semaphore-card-guide p{color:#667085;margin:0;font-size:.8rem;line-height:1.45}.teacher-teams-panel{gap:18px}.teams-record-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:14px;display:grid}.teams-record-card{text-align:center;place-content:center;gap:3px;min-height:72px;display:grid}.teams-record-card strong,.teams-record-card span{display:block}.teams-record-card strong{font-size:.98rem}.teams-record-card span{color:#475467;font-size:.78rem;font-weight:700}.teams-record-card[data-selected=true] span{color:#fff}.teams-work-section{border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);border-radius:8px;gap:16px;padding:16px;display:grid}.teams-configuration{grid-template-columns:minmax(210px,1fr) minmax(250px,1.08fr) minmax(230px,.9fr);align-items:stretch;gap:12px;display:grid}.teams-option-card,.teams-generation-card{background:#fff;border:1px solid #d0d5dd;border-radius:8px;min-width:0;padding:14px}.teams-option-card{align-content:start;gap:10px;margin:0;display:grid}.teams-option-card legend{color:#344054;padding:0 5px;font-size:.83rem;font-weight:800}.teams-radio-option{color:#344054;cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;display:grid}.teams-radio-option input{width:17px;height:17px;accent-color:var(--primary);margin:2px 0 0}.teams-radio-option span,.teams-radio-option strong,.teams-radio-option small{display:block}.teams-radio-option strong{font-size:.9rem}.teams-radio-option small{color:#667085;margin-top:2px;font-size:.76rem;font-weight:500;line-height:1.35}.teams-number-field,.teams-subject-field,.teams-name-field{color:#475467;gap:6px;font-size:.78rem;font-weight:800;display:grid}.teams-number-field{grid-template-columns:minmax(0,1fr) 76px;align-items:center;margin:-2px 0 2px 26px}.teams-number-field input,.teams-subject-field select,.teams-name-field input{color:#101828;width:100%;min-width:0;min-height:40px;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px}.teams-number-field input{text-align:center}.teams-number-field input:focus,.teams-subject-field select:focus,.teams-name-field input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #005bd31f}.teams-number-field input:disabled,.teams-subject-field select:disabled{color:#667085;cursor:not-allowed;background:#f2f4f7}.teams-generation-card{background:linear-gradient(145deg,#edf5ff,#fff 72%);border-color:#b9d6ff;flex-direction:column;justify-content:space-between;gap:14px;display:flex}.teams-active-record{gap:2px;display:grid}.teams-active-record span{color:#667085;text-transform:uppercase;font-size:.74rem;font-weight:800}.teams-active-record strong{color:#101828;font-size:1rem}.teams-active-record small{color:var(--primary);font-size:.86rem;font-weight:800}.teams-generation-summary{border-left:4px solid var(--primary);gap:2px;padding-left:11px;display:grid}.teams-generation-summary strong{color:var(--primary);font-size:1.28rem}.teams-generation-summary span{color:#475467;font-size:.82rem;font-weight:700}.teams-generation-actions{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.teams-generate-button,.teams-reset-button{border:1px solid var(--line);min-height:42px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;font-size:.84rem;font-weight:800;display:inline-flex}.teams-generate-button img{filter:brightness(0)invert()}.teams-reset-button{color:#344054;background:#fff}.teams-reset-button:disabled{opacity:.55;cursor:not-allowed}.teams-editor{border-top:1px solid #ddd6fe;gap:14px;padding-top:16px;display:grid}.teams-unassigned-pool{background:#f8fafc;border:1px dashed #98a2b3;border-radius:8px;gap:10px;min-height:94px;padding:12px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid}.teams-unassigned-pool[data-drop-active=true],.teams-team-card[data-drop-active=true]{border-color:var(--primary);background:#edf5ff;box-shadow:0 0 0 3px #005bd31f}.teams-unassigned-pool>div:first-child{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.teams-unassigned-pool>div:first-child strong{color:#344054}.teams-unassigned-pool>div:first-child span{color:#667085;font-size:.78rem;font-weight:800}.teams-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:12px;display:grid}.teams-team-card{border:1px solid var(--panel-accent-line);border-left:5px solid var(--panel-accent);background:linear-gradient(145deg, var(--panel-accent-soft), #fff 58%), #fff;border-radius:8px;align-content:start;gap:10px;min-width:0;min-height:210px;padding:13px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid}.teams-name-field input{border-color:var(--panel-accent-line);color:var(--panel-accent);font-weight:800}.teams-team-summary{color:#667085;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:.76rem;font-weight:800;display:flex}.teams-student-list{align-content:start;gap:7px;min-height:50px;display:grid}.teams-student-list>p{color:#667085;align-self:center;margin:0;font-size:.8rem;line-height:1.4}.teams-unassigned-pool .teams-student-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.teams-student-chip{color:#344054;cursor:grab;background:#fff;border:1px solid #d0d5dd;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:8px 9px;display:grid;box-shadow:0 2px 5px #1018280a}.teams-student-chip:active{cursor:grabbing}.teams-student-chip[data-dragging=true]{opacity:.45}.teams-student-chip>img{opacity:.62}.teams-student-chip span,.teams-student-chip strong,.teams-student-chip small{min-width:0;display:block}.teams-student-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.teams-student-chip small{color:#667085;margin-top:2px;font-size:.7rem;font-weight:700}.teams-ready-state{color:#6941c6;text-align:center;background:#faf8ff;border:1px dashed #c7b9ef;border-radius:8px;margin:0;padding:22px;font-size:.88rem;font-weight:700}.teams-save-panel{border:1px solid #b9d6ff;border-left:5px solid var(--primary);background:linear-gradient(120deg,#edf5ff,#fff 58%),#fff;border-radius:8px;grid-template-columns:minmax(220px,1fr) minmax(240px,1.15fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.teams-save-panel>div:first-child{gap:3px;display:grid}.teams-save-panel>div:first-child>strong{color:#101828;font-size:.9rem}.teams-save-panel>div:first-child>small{color:#667085;font-size:.76rem;line-height:1.4}.teams-save-kicker{color:var(--primary);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:800}.teams-save-title-field{color:#475467;gap:6px;font-size:.78rem;font-weight:800;display:grid}.teams-save-title-field input{color:#101828;width:100%;min-width:0;min-height:42px;font:inherit;background:#fff;border:1px solid #b9d6ff;border-radius:8px;padding:9px 11px}.teams-save-title-field input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #005bd31f}.teams-save-button{border:1px solid var(--primary);min-height:42px;font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:.83rem;font-weight:800;display:inline-flex}.teams-save-button img{filter:brightness(0)invert()}.teams-saved-section{background:#fff;border:1px solid #d0d5dd;border-bottom:5px solid #102033;border-radius:8px;gap:12px;padding:15px;display:grid;box-shadow:0 -10px 28px #10203314}.teams-saved-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.teams-saved-heading>div{gap:2px;display:grid}.teams-saved-heading h3{color:#101828;margin:0;font-size:1.05rem}.teams-saved-heading>span{color:#667085;font-size:.78rem;font-weight:800}.teams-saved-card-strip{scroll-snap-type:x proximity;grid-auto-columns:minmax(240px,300px);grid-auto-flow:column;gap:10px;padding:2px 2px 8px;display:grid;overflow-x:auto}.teams-saved-card{border:1px solid var(--panel-accent-line);border-left:5px solid var(--panel-accent);background:linear-gradient(135deg, var(--panel-accent-soft), #fff 68%), #fff;color:#101828;min-width:0;min-height:128px;font:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:12px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid}.teams-saved-card:hover{border-color:var(--panel-accent);transform:translateY(-1px);box-shadow:0 8px 18px #1020331a}.teams-saved-card:focus-visible{outline:3px solid color-mix(in srgb, var(--panel-accent), transparent 76%);outline-offset:2px}.teams-saved-card[data-selected=true]{border-color:var(--panel-accent);box-shadow:inset 0 0 0 1px var(--panel-accent), 0 8px 18px color-mix(in srgb, var(--panel-accent), transparent 82%)}.teams-saved-card-copy{gap:3px;min-width:0;display:grid}.teams-saved-card-copy strong,.teams-saved-card-copy span,.teams-saved-card-copy small{min-width:0;display:block}.teams-saved-card-copy strong{color:var(--panel-accent);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;line-height:1.3;overflow:hidden}.teams-saved-card-copy span{color:#344054;font-size:.76rem;font-weight:700}.teams-saved-card-copy small{color:#667085;font-size:.7rem;font-weight:700}.teams-saved-card time{color:#667085;grid-column:2;font-size:.68rem;font-weight:700}.teams-saved-empty{color:#667085;text-align:center;background:#f8fafc;border:1px dashed #d0d5dd;border-radius:8px;margin:0;padding:14px;font-size:.82rem}.teams-save-message{color:#027a48;background:#ecfdf3;border-radius:8px;margin:0;padding:9px 11px;font-size:.8rem;font-weight:800}.teams-saved-preview{border-top:1px solid #e4e7ec;gap:12px;padding-top:12px;display:grid}.teams-saved-preview>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.teams-saved-preview>header>div{gap:2px;display:grid}.teams-saved-preview h4{color:#101828;margin:0}.teams-saved-preview>header>span{color:#475467;font-size:.78rem;font-weight:800}.teams-saved-preview-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;display:grid}.teams-saved-preview-grid article{background:#f8fafc;border:1px solid #d0d5dd;border-radius:8px;min-width:0;padding:10px}.teams-saved-preview-grid article>strong,.teams-saved-preview-grid article>span{display:block}.teams-saved-preview-grid article>strong{color:#344054;font-size:.84rem}.teams-saved-preview-grid article>span{color:#667085;margin-top:2px;font-size:.72rem;font-weight:700}.teams-saved-preview-grid ul{color:#475467;gap:3px;margin:8px 0 0;padding-left:18px;font-size:.76rem;display:grid}.teams-saved-preview-grid p{color:#667085;margin:8px 0 0;font-size:.76rem}@media (prefers-reduced-motion:reduce){.roulette-wheel-disc{transition-duration:.5s}}@media (max-width:980px){.teams-configuration{grid-template-columns:repeat(2,minmax(0,1fr))}.teams-generation-card{grid-column:1/-1}.teams-save-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.teams-save-panel>div:first-child{grid-column:1/-1}}@media (max-width:720px){.teacher-activities-header{flex-direction:column}.teacher-activities-backlink,.teacher-evaluation-weight-summary{width:100%}.teacher-register-capture-heading{flex-direction:column;align-items:stretch}.teacher-evaluation-student-cell{width:180px;min-width:180px}.roulette-workspace{grid-template-columns:1fr}.roulette-wheel-stage{width:min(100%,440px);padding:14px}.roulette-wheel-label>span{padding-left:34px}.roulette-wheel-label>span[data-flipped=true]{padding-right:34px}.roulette-result-panel{min-height:170px}.teams-configuration{grid-template-columns:1fr}.teams-generation-card{grid-column:auto}.teams-generation-actions,.teams-grid,.teams-unassigned-pool .teams-student-list,.teams-save-panel{grid-template-columns:1fr}.teams-save-panel>div:first-child{grid-column:auto}.teams-saved-card-strip{grid-auto-columns:minmax(220px,86vw)}.teams-saved-preview-grid{grid-template-columns:1fr}}.subpanel{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.panel-title-spaced{margin-top:18px}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.secondary-btn,.text-btn,.capability-admin-forms button{border:1px solid var(--line);color:var(--foreground);font:inherit;cursor:pointer;background:#fff;border-radius:8px;font-weight:600}.secondary-btn{padding:8px 10px}.text-btn{color:var(--danger);margin-top:4px;padding:4px 6px;font-size:12px;display:block}.capability-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:12px}.capability-admin-forms{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:12px;display:grid}.capability-admin-forms label{margin-bottom:6px;font-weight:600;display:block}.capability-admin-forms form>div{grid-template-columns:1fr auto;gap:8px;display:grid}.capability-admin-forms input,.capability-admin-forms button{min-height:40px;padding:8px 10px}.capability-admin-forms input{border:1px solid var(--line);min-width:0;font:inherit;border-radius:8px}.capability-matrix-wrap{border:1px solid var(--line);border-radius:10px;margin-top:14px;overflow-x:auto}.capability-matrix{border-collapse:collapse;background:#fff;width:100%;min-width:920px}.capability-matrix th,.capability-matrix td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:top;padding:10px}.capability-matrix th:first-child{z-index:1;background:#f8fafc;width:190px;position:sticky;left:0}.capability-matrix thead th{background:#eef4ff;font-size:13px}.capability-matrix tbody tr:last-child th,.capability-matrix tbody tr:last-child td{border-bottom:none}.capability-actions{gap:6px;display:grid}.capability-actions label{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.personnel-unassigned-notice{border:1px solid var(--warning,#c9860f);border-radius:10px;margin-top:12px;padding:10px}.personnel-unassigned-notice .personnel-list{margin-top:8px}.personnel-create-form{grid-template-columns:minmax(180px,240px) 1fr auto;align-items:end;gap:10px;margin-top:12px;display:grid}.personnel-create-form label{margin-bottom:6px;font-weight:600;display:block}.personnel-create-form select,.personnel-create-form input,.personnel-create-form button{border:1px solid var(--line);width:100%;min-height:40px;font:inherit;border-radius:8px;padding:8px 10px}.personnel-create-form button{background:var(--primary);color:#fff;cursor:pointer;border:none;font-weight:600}.personnel-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:14px;display:grid}.personnel-position-card{border:1px solid var(--line);background:#fbfcff;border-radius:10px;padding:10px}.personnel-position-card h4{margin-bottom:8px}.personnel-list{gap:8px;display:grid}.personnel-user{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px}.personnel-user-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge-list{flex-wrap:wrap;gap:6px;min-height:26px;margin-top:8px;display:flex}.data-badge{color:#175cd3;font:inherit;cursor:pointer;background:#eff8ff;border:1px solid #b2ddff;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.data-badge img{filter:invert(45%)sepia(11%)saturate(657%)hue-rotate(182deg)brightness(91%)}.data-badge:hover{color:var(--danger);background:#fff5f5;border-color:#fecdca}.data-badge:hover img{filter:invert(20%)sepia(95%)saturate(2944%)hue-rotate(350deg)brightness(83%)}.personnel-access-page{gap:20px;display:grid}.personnel-access-heading{gap:7px;display:grid}.personnel-access-heading h2,.personnel-access-heading p{margin:0}.personnel-access-heading>p:last-child{color:#475467;max-width:760px;line-height:1.55}.personnel-access-panel{gap:18px;display:grid}.personnel-access-notice{background:#eff6ff;border:1px solid #b9d6ff;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.personnel-access-notice-icon,.personnel-credential-icon{color:#175cd3;flex:none;place-items:center;display:grid}.personnel-access-notice p{color:#344054;margin:5px 0 0;line-height:1.5}.personnel-access-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.personnel-access-summary article{border:1px solid var(--line);background:#fff;border-radius:10px;gap:6px;min-width:0;padding:13px 14px;display:grid;box-shadow:0 5px 12px #1020330d}.personnel-access-summary span{color:#667085;font-size:.82rem;font-weight:700}.personnel-access-summary strong{color:var(--text);font-size:1.45rem}.personnel-access-toolbar{grid-template-columns:minmax(260px,1fr) minmax(180px,240px);align-items:end;gap:12px;display:grid}.personnel-access-toolbar label{color:#344054;gap:6px;font-size:.86rem;font-weight:700;display:grid}.personnel-access-search-field{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 11px;display:flex}.personnel-access-search-field img{opacity:.58}.personnel-access-search-field input{width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;padding:9px 0;font-weight:400}.personnel-access-toolbar select{border:1px solid var(--line);width:100%;min-height:42px;font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.personnel-access-list{gap:10px;display:grid}.personnel-access-card{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(230px,1.2fr) minmax(200px,.9fr) minmax(260px,auto);align-items:center;gap:16px;padding:14px;display:grid;box-shadow:0 5px 14px #1020330d}.personnel-access-identity{align-items:center;gap:11px;min-width:0;display:flex}.personnel-access-avatar{color:#175cd3;background:#eff6ff;border:1px solid #b9d6ff;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.personnel-access-identity h3,.personnel-access-identity p,.personnel-access-account p{margin:0}.personnel-access-identity h3{overflow-wrap:anywhere;font-size:1rem}.personnel-access-identity p{color:#667085;margin-top:3px;font-size:.86rem}.personnel-access-account{justify-items:start;gap:5px;min-width:0;display:grid}.personnel-access-account strong{overflow-wrap:anywhere;max-width:100%;font-size:.94rem}.personnel-access-account p,.personnel-access-account small{color:#667085;font-size:.8rem}.personnel-access-status{border:1px solid #0000;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.personnel-access-status-active{color:#067647;background:#ecfdf3;border-color:#a6f4c5}.personnel-access-status-suspended{color:#b42318;background:#fef3f2;border-color:#fecdca}.personnel-access-status-pending{color:#b54708;background:#fffaeb;border-color:#fedf89}.personnel-access-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;display:flex}.personnel-access-actions button,.personnel-credential-actions button{min-height:40px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:.84rem;font-weight:700;display:inline-flex}.danger-outline-btn{color:#b42318;background:#fff;border:1px solid #fda29b}.danger-outline-btn:hover{background:#fef3f2}.personnel-access-empty,.personnel-access-empty-result{text-align:center;background:#f8fafc;border:1px dashed #b8c4d6;border-radius:10px;padding:24px}.personnel-access-empty h3,.personnel-access-empty p{margin:0}.personnel-access-empty p{color:#667085;margin-top:6px}.personnel-access-empty a{background:var(--primary);color:#fff;border-radius:8px;margin-top:14px;padding:9px 13px;font-weight:700;display:inline-flex}.personnel-credential-modal{text-align:center;background:#fff;border-radius:12px;justify-items:center;gap:10px;width:min(520px,100vw - 28px);padding:24px;display:grid;box-shadow:0 24px 70px #10182847}.personnel-credential-icon{background:#eff6ff;border:1px solid #b9d6ff;border-radius:50%;width:54px;height:54px}.personnel-credential-modal h3,.personnel-credential-modal p{margin:0}.personnel-credential-values{gap:9px;width:100%;margin-top:6px;display:grid}.personnel-credential-values div{border:1px solid var(--line);text-align:left;background:#f8fafc;border-radius:8px;gap:4px;padding:11px 12px;display:grid}.personnel-credential-values span{color:#667085;font-size:.76rem;font-weight:700}.personnel-credential-values strong{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1rem}.personnel-credential-warning{color:#b54708;font-size:.84rem;line-height:1.5}.personnel-credential-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%;margin-top:4px;display:flex}@media (max-width:900px){.personnel-access-card{grid-template-columns:1fr;align-items:stretch}.personnel-access-actions{justify-content:flex-start}}@media (max-width:640px){.personnel-access-toolbar{grid-template-columns:1fr}.personnel-access-actions,.personnel-credential-actions{grid-template-columns:1fr;display:grid}.personnel-access-actions button,.personnel-credential-actions button{width:100%}}.statistics-filter-section .grade-analysis-filters{margin-top:14px}.statistics-card-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:16px;display:grid}.statistics-card-grid article,.statistics-card-grid a{border-style:solid;border-width:1px;border-radius:8px;padding:16px}.statistics-card-grid h3{color:#101828;font-size:1.05rem}.statistics-trend-card{grid-column:1/-1}.statistics-bar-list{gap:12px;margin-top:14px;padding:0;list-style:none;display:grid}.statistics-bar-list-label{color:#344054;justify-content:space-between;align-items:baseline;gap:8px;font-size:.9rem;display:flex}.statistics-bar-list-label strong{color:#101828}.statistics-bar-track{background:#eef1f6;border-radius:999px;height:8px;margin-top:5px;overflow:hidden}.statistics-bar-fill{background:var(--module-card-accent,#005bd3);border-radius:999px;height:100%}.statistics-bar-list small{color:#667085;margin-top:4px;font-size:.78rem;display:block}.statistics-rank-list{gap:10px;margin-top:14px;padding:0;list-style:none;display:grid}.statistics-rank-list li{align-items:center;gap:10px;display:flex}.statistics-rank-position{background:var(--module-card-accent,#005bd3);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:.75rem;font-weight:800;display:inline-flex}.statistics-rank-name{color:#344054;flex:1;min-width:0;font-size:.9rem}.statistics-rank-name small{color:#667085}.statistics-rank-list strong{color:#101828}.personnel-report-actions,.teacher-report-actions,.prefect-report-actions,.subject-report-actions,.groups-report-actions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:18px;padding-top:16px;display:flex}.personnel-report-actions button,.teacher-report-actions button,.prefect-report-actions button,.subject-report-actions button,.groups-report-actions button{border:1px solid var(--primary);background:var(--primary);color:#fff;min-height:42px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-weight:700;display:inline-flex}.personnel-report-actions button:hover,.teacher-report-actions button:hover,.prefect-report-actions button:hover,.subject-report-actions button:hover,.groups-report-actions button:hover{background:#0047a6;border-color:#0047a6}.personnel-report-actions button:focus-visible,.teacher-report-actions button:focus-visible,.prefect-report-actions button:focus-visible,.subject-report-actions button:focus-visible,.groups-report-actions button:focus-visible{outline-offset:2px;outline:3px solid #9d1c2f3d}.personnel-report-actions img,.teacher-report-actions img,.prefect-report-actions img,.subject-report-actions img,.groups-report-actions img{filter:brightness(0)invert()}.risk-pill{border-radius:999px;justify-content:center;align-items:center;min-width:76px;min-height:28px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.risk-pill-high{color:#b42318;background:#fee4e2}.risk-pill-medium{color:#b54708;background:#fffaeb}.risk-pill-preventive{color:#175cd3;background:#eff8ff}.analysis-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:10px;margin-top:14px;display:grid}.analysis-filter-block{min-width:0}.analysis-filter-block-wide{grid-column:span 2}.analysis-filter-label{margin-bottom:6px;font-weight:600;display:block}.analysis-button-group{flex-wrap:wrap;gap:6px;display:flex}.analysis-select-btn,.analysis-filter-input,.analysis-download-btn{border:1px solid var(--line);width:100%;min-height:40px;font:inherit;border-radius:8px;padding:8px 10px}.analysis-select-btn{width:auto;min-width:44px;color:var(--foreground);cursor:pointer;background:#fff;font-weight:700}.analysis-select-btn-active{border-color:var(--primary);color:#175cd3;background:#eff8ff;box-shadow:0 0 0 2px #005bd31f}.analysis-filter-input{background:#fff}.analysis-subfilter{margin-top:8px}.analysis-download-btn{cursor:pointer;align-self:end}.analysis-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px;display:grid}.analysis-kpis article{border:1px solid var(--line);background:#fbfcff;border-radius:8px;padding:12px}.analysis-kpis span,.analysis-risk-row span{color:#475467;font-size:13px;display:block}.analysis-kpis strong{margin-top:4px;font-size:1.55rem;display:block}.calendar-shell{gap:16px;display:grid}.calendar-shell [data-panel-tone="1"]{--panel-accent:#005bd3;--panel-accent-soft:#e8f1ff;--panel-accent-line:#b9d6ff}.calendar-shell [data-panel-tone="2"]{--panel-accent:#0f766e;--panel-accent-soft:#e6fffb;--panel-accent-line:#99f6e4}.calendar-shell [data-panel-tone="3"]{--panel-accent:#9d1c2f;--panel-accent-soft:#fff1f3;--panel-accent-line:#fecdd6}.calendar-shell [data-panel-tone="4"]{--panel-accent:#7c3aed;--panel-accent-soft:#f3edff;--panel-accent-line:#ddd6fe}.calendar-shell [data-panel-tone="5"]{--panel-accent:#b54708;--panel-accent-soft:#fff7ed;--panel-accent-line:#fed7aa}.calendar-shell [data-panel-tone="6"]{--panel-accent:#2f6b3f;--panel-accent-soft:#ecfdf3;--panel-accent-line:#bbf7d0}.calendar-tone-panel[data-panel-tone]{border-color:var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 58%), #fff}.calendar-tone-panel .calendar-section-heading h3{color:var(--panel-accent)}.calendar-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.calendar-header h2{margin-top:2px}.calendar-cycle-panel{background:#fbfcff;border:1px solid #d9e2ef;border-radius:8px;padding:14px}.calendar-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.calendar-section-heading h3{font-size:1rem}.calendar-cycle-form{grid-template-columns:minmax(160px,.85fr) repeat(2,minmax(150px,1fr)) auto}.calendar-cycle-form,.calendar-period-form,.calendar-category-form,.calendar-special-event-form{align-items:end}.calendar-cycle-form label,.calendar-period-form label,.calendar-category-form label,.calendar-special-event-form label{margin-bottom:6px;font-weight:600;display:block}.calendar-cycle-form input,.calendar-cycle-form select,.calendar-cycle-form button,.calendar-period-form input,.calendar-period-form select,.calendar-period-form button,.calendar-category-form input,.calendar-category-form select,.calendar-category-form button,.calendar-special-event-form input,.calendar-special-event-form select,.calendar-special-event-form button{border:1px solid var(--line);width:100%;min-height:40px;font:inherit;border-radius:8px;padding:8px 10px}.calendar-cycle-form input,.calendar-cycle-form select,.calendar-period-form input,.calendar-period-form select,.calendar-category-form input,.calendar-category-form select,.calendar-special-event-form input,.calendar-special-event-form select{color:var(--foreground);background:#fff}.calendar-cycle-form button,.calendar-period-form button,.calendar-category-form button,.calendar-special-event-form button{cursor:pointer;align-self:end;font-weight:700}.calendar-category-summary{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.calendar-category-summary span{border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 62%), #fff;color:#344054;border-radius:8px;align-content:center;gap:3px;min-height:78px;padding:10px 12px;font-size:13px;display:grid}.calendar-category-summary strong{color:var(--panel-accent);font-size:1.35rem;line-height:1}.calendar-category-summary small{color:#667085;font-size:12px}.calendar-generated-category-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:8px;display:grid}.calendar-generated-category-card{--panel-accent:#005bd3;--panel-accent-soft:#e8f1ff;--panel-accent-line:#b9d6ff;border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 58%), #fff;border-radius:8px;align-content:start;gap:10px;min-width:0;padding:10px;display:grid}.calendar-generated-category-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.calendar-generated-category-heading strong{color:var(--panel-accent);font-size:.86rem;line-height:1.35}.calendar-generated-category-heading>span{background:var(--panel-accent-soft);color:var(--panel-accent);border-radius:6px;flex:none;padding:3px 6px;font-size:.72rem;font-weight:800;line-height:1.2}.calendar-generated-category-dates{overflow-wrap:anywhere;align-content:start;line-height:1.35}.calendar-generated-category-dates .removable-row{border-color:var(--panel-accent-line)}.calendar-interactive-panel{background:linear-gradient(#fff 0%,#fbfcff 100%);border:1px solid #d9e2ef;border-radius:8px;gap:14px;padding:16px;display:grid;box-shadow:0 16px 40px #10182812}.calendar-legend{flex-wrap:wrap;gap:8px;display:flex}.calendar-legend-item{--calendar-category-accent:#475467;--calendar-category-bg:#f2f4f7;--calendar-category-border:#d0d5dd;--calendar-category-text:#344054;border:1px solid var(--calendar-category-border);background:var(--calendar-category-bg);min-height:34px;color:var(--calendar-category-text);border-radius:999px;align-items:center;gap:7px;padding:5px 8px 5px 10px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.calendar-legend-dot{background:var(--calendar-category-accent);border-radius:999px;flex:none;width:8px;height:8px}.calendar-legend-item strong{min-width:22px;min-height:22px;color:var(--calendar-category-text);background:#fff;border-radius:999px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.school-calendar-fullcalendar{--fc-border-color:#d9e2ef;--fc-button-bg-color:var(--primary);--fc-button-border-color:var(--primary);--fc-button-hover-bg-color:#0046a3;--fc-button-hover-border-color:#0046a3;--fc-button-active-bg-color:#003b87;--fc-button-active-border-color:#003b87;--fc-event-bg-color:transparent;--fc-event-border-color:transparent;--fc-event-text-color:#344054;background:#fff;border:1px solid #d9e2ef;border-radius:8px;position:relative;overflow:hidden}.school-calendar-fullcalendar .fc{color:var(--foreground);font:inherit}.school-calendar-fullcalendar .fc-toolbar{background:#f8fafc;border-bottom:1px solid #d9e2ef;align-items:center;gap:12px;margin:0;padding:12px}.school-calendar-fullcalendar .fc-toolbar-title{color:#101828;font-size:1.08rem;line-height:1.25}.school-calendar-fullcalendar .fc-toolbar-title:first-letter{text-transform:uppercase}.school-calendar-fullcalendar .fc-button{box-shadow:none;border-radius:8px;font-weight:700;line-height:1.2}.school-calendar-fullcalendar .fc-button:focus{box-shadow:0 0 0 3px #005bd32e}.school-calendar-fullcalendar .fc-scrollgrid{border:0}.school-calendar-fullcalendar .fc-theme-standard td,.school-calendar-fullcalendar .fc-theme-standard th{border-color:#e4e7ec}.school-calendar-fullcalendar .fc-col-header-cell{background:#f8fafc}.school-calendar-fullcalendar .fc-col-header-cell-cushion,.school-calendar-fullcalendar .fc-daygrid-day-number{color:#344054;font-size:12px;font-weight:800;text-decoration:none}.school-calendar-fullcalendar .fc-daygrid-day-frame{min-height:62px;padding:3px}.school-calendar-fullcalendar .fc-daygrid-day-top{justify-content:flex-start}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-effective{background:#fff}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-non-effective{background:linear-gradient(135deg,#f8fafcf2 0%,#fffffff2 100%);box-shadow:inset 3px 0 #d0d5dd}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-has-event{--calendar-day-accent:#475467;--calendar-day-bg:#f2f4f7;--calendar-day-border:#d0d5dd;background:var(--calendar-day-bg);cursor:pointer;box-shadow:inset 0 0 0 1px var(--calendar-day-border), inset 4px 0 0 var(--calendar-day-accent)}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-category-consejo-tecnico-escolar-intensivo{--calendar-day-accent:#175cd3;--calendar-day-bg:#eff8ff;--calendar-day-border:#b2ddff}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-category-consejo-tecnico-escolar-ordinario{--calendar-day-accent:#0e9384;--calendar-day-bg:#f0fdf9;--calendar-day-border:#99f6e0}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-category-taller-intensivo{--calendar-day-accent:#b54708;--calendar-day-bg:#fffaeb;--calendar-day-border:#fedf89}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-category-vacaciones-invierno{--calendar-day-accent:#067647;--calendar-day-bg:#ecfdf3;--calendar-day-border:#abefc6}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-category-vacaciones-semana-santa{--calendar-day-accent:#079455;--calendar-day-bg:#f6fef9;--calendar-day-border:#75e0a7}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-category-suspension-labores-docentes{--calendar-day-accent:#b42318;--calendar-day-bg:#fef3f2;--calendar-day-border:#fecdca}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-category-no-contabilizable{--calendar-day-accent:#475467;--calendar-day-bg:#f2f4f7;--calendar-day-border:#d0d5dd}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-category-evento-especial{--calendar-day-accent:#5925dc;--calendar-day-bg:#f4f3ff;--calendar-day-border:#d9d6fe}.school-calendar-fullcalendar .fc-day-today{box-shadow:inset 0 0 0 2px #84caff;background:#eff8ff!important}.school-calendar-fullcalendar .fc-daygrid-day.calendar-day-has-event.fc-day-today{box-shadow:inset 0 0 0 2px #84caff, inset 4px 0 0 var(--calendar-day-accent);background:var(--calendar-day-bg)!important}.school-calendar-fullcalendar .fc-event{color:inherit;cursor:pointer;background:0 0;border-color:#0000;border-radius:0;padding:0;font-size:12px;font-weight:800;overflow:hidden}.school-calendar-fullcalendar .fc-daygrid-event{margin:2px 2px 0}.school-calendar-fullcalendar .fc-event-main{color:inherit}.school-calendar-event-title{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;padding:1px 6px 1px 8px;display:block;overflow:hidden}.school-calendar-fullcalendar .fc-list-event{cursor:pointer}.school-calendar-fullcalendar .fc-list-event-title,.school-calendar-fullcalendar .fc-list-event-time{color:#344054}.calendar-export-modal{--calendar-export-accent:#475467;--calendar-export-bg:#f2f4f7;--calendar-export-border:#d0d5dd;--calendar-export-text:#344054;border-top:4px solid var(--calendar-export-accent);background:var(--calendar-export-bg);width:100%;height:50%;color:var(--calendar-export-text);transform-origin:bottom;border-bottom:0;border-left:0;border-right:0;border-radius:0;flex-direction:column;align-items:center;animation:1s ease-out calendar-export-curtain-up;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -18px 40px #1018282e}.calendar-export-header,.calendar-export-description{width:min(560px,100%);margin-left:auto;margin-right:auto}.calendar-export-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.calendar-export-header h3{color:var(--calendar-export-text);margin:0}.calendar-export-header p{color:var(--calendar-export-text);margin-top:6px;font-weight:700}.calendar-export-close{border:1px solid var(--calendar-export-border);cursor:pointer;background:#fff;border-radius:8px;flex:0 0 38px;place-items:center;width:38px;height:38px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:inline-grid}.calendar-export-close:hover{border-color:var(--calendar-export-accent);background:color-mix(in srgb, var(--calendar-export-bg), #fff 35%)}.calendar-export-close:focus-visible{outline:3px solid color-mix(in srgb, var(--calendar-export-accent), transparent 72%);outline-offset:2px}.calendar-export-close img{opacity:.76}.calendar-export-description{color:var(--calendar-export-text);text-align:left;margin-top:10px;line-height:1.5}.calendar-export-modal-closing{animation:1s ease-in forwards calendar-export-curtain-down}.calendar-export-backdrop{z-index:12;background:#10182842;padding:0;animation:1s ease-out calendar-export-backdrop-in;display:block;position:absolute;overflow:hidden}.calendar-export-backdrop-closing{animation:1s ease-in forwards calendar-export-backdrop-out}.calendar-export-note{gap:6px;margin-top:10px;display:grid}.calendar-export-note span{color:var(--calendar-export-text);text-transform:uppercase;font-size:12px;font-weight:800}.calendar-export-note p{color:var(--calendar-export-text)}.calendar-export-actions{flex-direction:column;justify-content:center;align-items:stretch;width:min(320px,100%);margin:auto auto 0}.calendar-export-actions .primary-action-btn{width:100%;min-height:40px;font:inherit;text-align:center;cursor:pointer;border-radius:8px;padding:8px 10px;font-weight:700}@keyframes calendar-export-curtain-up{0%{opacity:1;clip-path:inset(100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes calendar-export-curtain-down{0%{opacity:1;clip-path:inset(0)}to{opacity:1;clip-path:inset(100% 0 0)}}@keyframes calendar-export-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes calendar-export-backdrop-out{0%{opacity:1}to{opacity:0}}.calendar-planner-grid{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.calendar-category-planner{background:#fff;border:1px solid #d9e2ef;border-radius:8px;gap:12px;padding:14px;display:grid}.calendar-periods-panel,.calendar-events-panel,.calendar-category-panel{grid-area:auto}.calendar-category-form{grid-template-columns:minmax(320px,2.4fr) repeat(2,minmax(110px,.65fr)) minmax(150px,.8fr)}.calendar-category-description-field{grid-area:2/1/auto/-1}.calendar-category-form-actions{grid-area:1/4;gap:8px;display:grid}.calendar-period-form{grid-template-columns:minmax(170px,1.1fr) repeat(2,minmax(140px,1fr)) auto}.calendar-special-event-form{grid-template-columns:minmax(140px,.8fr) minmax(210px,1.2fr)}.calendar-special-event-form button{grid-column:1/-1}.calendar-period-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.calendar-period-summary span{border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 68%), #fff;color:#344054;border-radius:8px;gap:3px;padding:10px;font-size:13px;display:grid}.calendar-period-summary strong{color:var(--panel-accent)}.calendar-category-description,.calendar-empty-state,.calendar-save-message{color:#344054;border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.45}.calendar-category-description{background:#f0f9ff;border:1px solid #b9e6fe}.calendar-empty-state{border:1px dashed var(--line);background:#f8fafc}.calendar-save-message{color:#067647;background:#ecfdf3;border:1px solid #abefc6;font-weight:700}.calendar-event-list{gap:8px;display:grid}.calendar-event-row{border:1px solid var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 68%), #fff;min-height:64px;padding:10px}.calendar-event-copy{gap:2px;min-width:0;display:grid}.calendar-event-copy strong{color:var(--panel-accent)}.calendar-event-copy>span,.calendar-event-copy small{color:#475467;font-size:13px}.calendar-event-copy small{line-height:1.4}.calendar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.calendar-actions button{border:1px solid var(--line);min-height:40px;font:inherit;cursor:pointer;border-radius:8px;padding:8px 10px;font-weight:700}.calendar-actions .primary-action-btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.calendar-actions .primary-action-btn img{filter:brightness(0)invert()}.calendar-footer-actions{border-top:1px solid var(--line);padding-top:14px}.planning-panel{gap:16px;display:grid}.planning-checklist-section,.planning-charts-section{border:1px solid var(--line);background:#fbfcff;border-radius:8px;gap:12px;padding:14px;display:grid}.planning-checklist-section.calendar-tone-panel,.planning-charts-section.calendar-tone-panel{border-color:var(--panel-accent-line);border-left:4px solid var(--panel-accent);background:linear-gradient(180deg, var(--panel-accent-soft), #fff 58%), #fff}.planning-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.planning-section-heading h3{color:var(--panel-accent,var(--foreground))}.planning-toolbar{grid-template-columns:minmax(180px,260px);gap:10px;display:grid}.planning-chart-filters{grid-template-columns:minmax(180px,260px) minmax(260px,1fr)}.planning-toolbar label,.planning-filter-label{margin-bottom:6px;font-weight:700;display:block}.planning-toolbar select{border:1px solid var(--line);width:100%;min-height:40px;font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.planning-period-tabs{flex-wrap:wrap;gap:8px;display:flex}.planning-period-tabs button{border:1px solid var(--line);color:#344054;min-height:40px;font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px;font-weight:800}.planning-period-tabs button:hover{border-color:var(--panel-accent-line,#84caff);background:var(--panel-accent-soft,#f5fbff)}.planning-period-tabs .planning-period-tab-active{border-color:var(--panel-accent,#175cd3);background:var(--panel-accent-soft,#eff8ff);color:var(--panel-accent,#175cd3);box-shadow:inset 0 -3px 0 var(--panel-accent,#175cd3)}.planning-period-tabs-compact button{min-width:64px}.planning-summary-grid,.planning-chart-kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.planning-summary-grid article,.planning-chart-kpis article{background:#fff;border:1px solid #d9e2ef;border-radius:8px;padding:10px}.planning-summary-grid small,.planning-summary-grid strong,.planning-chart-kpis small,.planning-chart-kpis strong{display:block}.planning-summary-grid small,.planning-chart-kpis small{color:#667085;font-size:12px;font-weight:700}.planning-summary-grid strong,.planning-chart-kpis strong{color:#101828;margin-top:4px;font-size:1.45rem;line-height:1}.planning-teacher-list{gap:8px;display:grid}.planning-teacher-row{background:#fff;border:1px solid #d9e2ef;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(300px,1.1fr) minmax(180px,.7fr);align-items:center;gap:10px;padding:10px;display:grid}.planning-teacher-row-header{color:#175cd3;letter-spacing:.04em;text-transform:uppercase;background:#eef4ff;border-color:#0000;padding-block:8px;font-size:12px;font-weight:800}.planning-teacher-row strong,.planning-teacher-row span{display:block}.planning-teacher-row span{color:#667085;margin-top:2px;font-size:13px}.planning-status-actions{grid-template-columns:repeat(2,minmax(104px,1fr));gap:6px;display:grid}.planning-status-actions button{border:1px solid var(--line);color:#344054;min-height:44px;font:inherit;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:6px;font-weight:800;display:flex}.planning-status-actions button img,.planning-period-register strong img{filter:invert(45%)sepia(11%)saturate(657%)hue-rotate(182deg)brightness(91%);display:block}.planning-status-actions button small{color:inherit;font-size:11px;line-height:1.1}.planning-status-delivered.planning-status-active{color:#067647;background:#ecfdf3;border-color:#75e0a7}.planning-status-delivered.planning-status-active img,.planning-period-register-entrego strong img{filter:invert(34%)sepia(76%)saturate(848%)hue-rotate(113deg)brightness(91%)}.planning-status-missing.planning-status-active{color:#b42318;background:#fef3f2;border-color:#fecdca}.planning-status-missing.planning-status-active img,.planning-period-register-no-entrego strong img{filter:invert(20%)sepia(95%)saturate(2944%)hue-rotate(350deg)brightness(83%)}.planning-period-registers{grid-template-columns:repeat(3,minmax(48px,1fr));gap:6px;display:grid}.planning-period-register{color:#667085;text-align:center;background:#f8fafc;border:1px solid #d9e2ef;border-radius:8px;place-items:center;min-height:44px;padding:5px;display:grid}.planning-period-register small{color:inherit;font-size:11px;font-weight:800}.planning-period-register strong{color:inherit;font-size:1.1rem;line-height:1}.planning-period-register-entrego{color:#067647;background:#ecfdf3;border-color:#75e0a7}.planning-period-register-no-entrego{color:#b42318;background:#fef3f2;border-color:#fecdca}.planning-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.planning-chart-card{border:1px solid var(--panel-accent-line,var(--line));background:#fff;border-radius:8px;padding:12px}.planning-chart-card h4{color:var(--panel-accent,var(--foreground));margin-bottom:8px;font-size:.95rem}.planning-chart-body{width:100%;height:280px}.schedule-wrap{isolation:isolate;border:1px solid var(--line);background:#fff;border-radius:10px;max-width:100%;margin-top:14px;overflow-x:auto}.schedule-table{border-collapse:separate;border-spacing:0;width:100%;min-width:900px}.schedule-table th,.schedule-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;padding:8px}.schedule-table thead th{background:#f8fafc;font-size:13px}.schedule-table tbody tr:last-child th,.schedule-table tbody tr:last-child td{border-bottom:none}.schedule-period-column{z-index:1;background:#f8fafc;width:96px;min-width:96px;position:sticky;left:0}.schedule-period-column strong{font-size:15px;display:block}.schedule-period-column small{color:#667085;white-space:nowrap;font-size:11px;display:block}.schedule-table td select{border:1px solid var(--line);width:100%;min-height:34px;font:inherit;background:#fff;border-radius:6px;padding:4px 6px;font-size:12px}.schedule-table td select+select{margin-top:4px}.schedule-recess-row th,.schedule-recess-row td{color:#b54708;background:#fff7ed;font-size:12px;font-weight:700}.schedule-teacher-shift{margin-top:18px}.schedule-teacher-shift h3{margin-bottom:4px}.schedule-cell-empty{color:#98a2b3}.schedule-cell-entry{font-size:12px}.schedule-cell-entry strong{display:block}.schedule-cell-entry small{color:#667085;display:block}.schedule-cell-entry+.schedule-cell-entry{border-top:1px dashed var(--line);margin-top:6px;padding-top:6px}.analysis-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:stretch;gap:10px;margin-top:14px;display:grid}.analysis-chart-card,.analysis-risk-card{border:1px solid var(--line);background:#fbfcff;border-radius:8px;padding:12px}.analysis-chart-body{height:360px;margin-top:10px}.analysis-risk-list{gap:8px;margin-top:10px;display:grid}.analysis-risk-row{background:snow;border:1px solid #fecdca;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.discipline-layout{grid-template-columns:1fr;align-items:start;gap:12px;margin-top:14px;display:grid}.discipline-search-panel,.discipline-detail-panel{border:1px solid var(--line);background:#fbfcff;border-radius:8px;min-width:0;padding:12px}.discipline-search-panel label{margin-bottom:6px;font-weight:700;display:block}.discipline-search-panel input{border:1px solid var(--line);width:100%;min-height:40px;font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.discipline-student-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:10px;display:grid}.discipline-student-row{border:1px solid var(--line);width:100%;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;padding:10px}.discipline-student-row strong,.discipline-student-row small,.discipline-selected-student span,.discipline-selected-student strong,.discipline-selected-student small{display:block}.discipline-student-row small,.discipline-selected-student span,.discipline-selected-student small{color:#475467;margin-top:3px;font-size:13px}.discipline-student-row-active{border-color:var(--primary);background:#eff8ff;box-shadow:0 0 0 2px #005bd31f}.discipline-selected-student,.discipline-empty-state{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:10px;padding:10px}.discipline-reference-card{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:10px;overflow:hidden}.discipline-reference-card>summary,.discipline-reference-subsection>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:10px 12px;list-style:none;display:flex}.discipline-reference-card>summary::-webkit-details-marker{display:none}.discipline-reference-subsection>summary::-webkit-details-marker{display:none}.discipline-reference-card>summary:after,.discipline-reference-subsection>summary:after{content:"+";border:1px solid var(--line);width:24px;height:24px;color:var(--primary);border-radius:999px;flex:none;place-items:center;font-weight:900;display:inline-grid}.discipline-reference-card[open]>summary,.discipline-reference-subsection[open]>summary{border-bottom:1px solid var(--line);background:#f8fafc}.discipline-reference-card[open]>summary:after,.discipline-reference-subsection[open]>summary:after{content:"-"}.discipline-reference-card>summary strong,.discipline-reference-card>summary small,.discipline-reference-subsection>summary strong,.discipline-reference-subsection>summary small{display:block}.discipline-reference-card>summary small,.discipline-reference-subsection>summary small{color:#475467;margin-top:3px;font-size:13px}.discipline-reference-content{gap:10px;padding:10px;display:grid}.discipline-reference-subsection{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.discipline-reference-section-body{gap:10px;padding:10px;display:grid}.discipline-reference-section-title{margin-top:4px;font-size:1rem}.discipline-reference-table-wrap{border:1px solid var(--line);border-radius:8px;max-height:360px;overflow:auto}.discipline-reference-table{border-collapse:collapse;width:100%;min-width:760px}.discipline-reference-table th,.discipline-reference-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 10px}.discipline-reference-table thead th{background:#f8fafc;font-size:13px;position:sticky;top:0}.discipline-reference-table tbody th{background:#fbfcff;width:190px}.discipline-reference-table tr:last-child th,.discipline-reference-table tr:last-child td{border-bottom:none}.discipline-reference-notes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.discipline-reference-notes article{border:1px solid var(--line);background:#fbfcff;border-radius:8px;padding:10px}.discipline-reference-notes h4{margin-bottom:6px}.discipline-reference-notes ul,.discipline-reference-notes ol{padding-left:18px}.discipline-reference-notes li{margin-bottom:4px}.discipline-workflow{gap:12px;margin-top:12px;display:grid}.discipline-step-card,.discipline-summary-card,.discipline-recent-drafts{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.discipline-step-heading{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.discipline-step-heading>span{color:#175cd3;background:#eff8ff;border-radius:999px;flex:none;place-items:center;width:28px;height:28px;font-weight:900;display:inline-grid}.discipline-severity-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.discipline-severity-tab{border:1px solid var(--line);min-height:36px;font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:7px 12px;font-weight:800}.discipline-severity-tab-active{box-shadow:0 0 0 2px #005bd31f}.discipline-severity-success.discipline-severity-tab-active{color:#027a48;background:#ecfdf3;border-color:#17b26a}.discipline-severity-info.discipline-severity-tab-active{color:#175cd3;background:#eff8ff;border-color:#2e90fa}.discipline-severity-warning.discipline-severity-tab-active{color:#b54708;background:#fffaeb;border-color:#f79009}.discipline-severity-danger.discipline-severity-tab-active{color:#b42318;background:snow;border-color:#f04438}.discipline-field,.discipline-textarea{border:1px solid var(--line);width:100%;min-height:40px;font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.discipline-infraction-list{gap:8px;max-height:320px;margin-top:10px;padding-right:2px;display:grid;overflow:auto}.discipline-infraction-card{border:1px solid var(--line);color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:42px 1fr;gap:10px;padding:10px;display:grid}.discipline-infraction-card strong,.discipline-infraction-card small{display:block}.discipline-infraction-card small{color:#475467;margin-top:5px;font-size:13px}.discipline-infraction-card-active{border-color:var(--primary);background:#eff8ff;box-shadow:0 0 0 2px #005bd31f}.discipline-fraction-pill{border:1px solid var(--line);background:#f8fafc;border-radius:8px;place-items:center;min-width:36px;min-height:32px;font-weight:900;display:inline-grid}.discipline-note{color:#93370d;background:#fffaeb;border:1px solid #fedf89;border-radius:8px;margin-bottom:10px;padding:8px 10px;font-size:13px}.discipline-measure-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.discipline-measure-card{border:1px solid var(--line);min-height:108px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;padding:10px}.discipline-measure-card strong,.discipline-measure-card span{display:block}.discipline-measure-card strong{color:#175cd3;margin-bottom:6px;font-size:1.15rem}.discipline-measure-card span{color:#344054;font-size:13px;line-height:1.35}.discipline-measure-card-active{border-color:var(--primary);background:#eff8ff;box-shadow:inset 4px 0 #175cd3}.discipline-form-grid{grid-template-columns:minmax(160px,220px) 1fr;align-items:end;gap:10px;display:grid}.discipline-form-grid label,.discipline-field-label{gap:6px;margin-top:10px;font-weight:700;display:grid}.discipline-inline-check{align-items:center;gap:8px;min-height:40px;font-weight:700;margin-top:0!important;display:flex!important}.discipline-inline-check input{width:18px;height:18px;accent-color:var(--primary)}.discipline-textarea{resize:vertical;min-height:96px}.discipline-textarea-small{min-height:74px}.discipline-summary-card{background:#fbfcff;gap:10px;display:grid}.discipline-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.discipline-summary-grid span{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px}.discipline-summary-grid small,.discipline-summary-grid strong{display:block}.discipline-summary-grid small{color:#475467;font-size:12px}.discipline-summary-card button{min-height:40px;font:inherit;cursor:pointer;border-radius:8px;justify-self:start;padding:8px 12px;font-weight:800}.discipline-recent-drafts{gap:8px;display:grid}.discipline-recent-drafts article{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.discipline-recent-drafts strong,.discipline-recent-drafts span{display:block}.discipline-recent-drafts span{color:#475467;margin-top:2px;font-size:13px}.udei-diagnosis-panel{gap:14px;display:grid}.udei-diagnosis-layout{grid-template-columns:minmax(180px,.35fr) minmax(260px,.65fr) minmax(360px,1fr);align-items:start;gap:12px;display:grid}.udei-group-panel,.udei-student-panel,.udei-detail-panel{border:1px solid var(--line);background:#fbfcff;border-radius:8px;min-width:0;padding:12px}.udei-group-panel h3,.udei-panel-heading h3,.udei-recent-list h3{margin:0;font-size:1rem}.udei-group-list,.udei-student-list,.udei-recent-list{gap:8px;display:grid}.udei-group-list,.udei-student-list{margin-top:10px}.udei-group-card,.udei-student-row,.udei-diagnosis-card{border:1px solid var(--line);width:100%;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px}.udei-group-card{gap:3px;padding:10px;display:grid}.udei-group-card strong,.udei-group-card span,.udei-group-card small,.udei-student-row strong,.udei-student-row small,.udei-selected-student span,.udei-selected-student strong,.udei-selected-student small,.udei-recent-list article strong,.udei-recent-list article span,.udei-recent-list article small{display:block}.udei-group-card span,.udei-group-card small,.udei-student-row small,.udei-selected-student span,.udei-selected-student small,.udei-recent-list article span,.udei-recent-list article small{color:#475467;font-size:13px}.udei-group-card-active{background:#eff8ff;border-color:#1570ef;box-shadow:inset 4px 0 #1570ef}.udei-panel-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.udei-panel-heading span{color:#475467;font-size:13px;font-weight:700}.udei-student-row{grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px 10px;display:grid}.udei-student-row-active{background:#ecfdf3;border-color:#12b76a;box-shadow:0 0 0 2px #12b76a24}.udei-detail-panel{gap:10px;display:grid}.udei-selected-student{background:#eff8ff;border:1px solid #b2ddff;border-radius:8px;padding:10px}.udei-selected-student strong{color:#102033;margin-top:3px;font-size:1.08rem}.udei-diagnosis-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.udei-diagnosis-card{min-height:58px;padding:10px}.udei-diagnosis-card strong{color:#344054;font-size:.92rem;line-height:1.25}.udei-diagnosis-card-active{background:#fff1f3;border-color:#9d1c2f;box-shadow:inset 4px 0 #9d1c2f}.udei-diagnosis-card-active strong{color:#7c1424}.udei-save-button{border:1px solid var(--primary);width:min(220px,100%);min-height:40px;font:inherit;cursor:pointer;border-radius:8px;justify-self:start;padding:8px 12px;font-weight:700}.udei-field-label{gap:6px;font-weight:700;display:grid}.udei-field,.udei-textarea{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:8px;padding:9px 10px}.udei-field{min-height:42px}.udei-textarea{resize:vertical;min-height:96px}.udei-recent-list{margin-top:6px}.udei-recent-list article{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.bap-strategies-layout{gap:12px;display:grid}.bap-selection-block{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.bap-selection-block .udei-group-list{grid-template-columns:none;grid-auto-columns:minmax(128px,156px);grid-auto-flow:column;padding-bottom:3px;overflow-x:auto}.bap-selection-block .udei-group-card{gap:1px;min-height:60px;padding:7px 9px}.bap-selection-block .udei-group-card strong{font-size:14px}.bap-selection-block .udei-group-card span,.bap-selection-block .udei-group-card small{font-size:12px;line-height:1.25}.bap-detail-panel{gap:12px}.bap-type-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.bap-type-tab{border:1px solid var(--line);min-height:38px;color:var(--foreground);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:8px 10px;font-weight:800}.bap-type-tab-active{border-color:var(--primary);color:#175cd3;background:#eff8ff}.bap-subtype-list{gap:8px;max-height:360px;padding-right:2px;display:grid;overflow:auto}.bap-subtype-card{border:1px solid var(--line);width:100%;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;padding:10px}.bap-subtype-card strong,.bap-subtype-card span,.bap-strategy-preview span,.bap-strategy-preview p{display:block}.bap-subtype-card strong{color:#102033;font-size:.95rem}.bap-subtype-card span{color:#475467;margin-top:4px;font-size:13px;line-height:1.35}.bap-subtype-card-active{border-color:var(--primary);background:#eff8ff;box-shadow:inset 4px 0 #175cd3}.bap-strategy-preview{background:#eff8ff;border:1px solid #b2ddff;border-radius:8px;padding:12px}.bap-strategy-preview span{color:#175cd3;text-transform:uppercase;font-size:12px;font-weight:800}.bap-strategy-preview p{color:#102033;margin-top:6px;line-height:1.5}.udei-attention-panel{gap:14px;display:grid}.udei-attention-counters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.udei-attention-counters article,.udei-attention-block,.udei-attention-sidebar,.udei-attention-detail,.udei-attention-reference-grid article{border:1px solid var(--line);background:#fbfcff;border-radius:8px}.udei-attention-counters article{align-content:center;gap:4px;min-height:74px;padding:12px;display:grid}.udei-attention-counters span,.udei-attention-reference-grid span,.udei-attention-student-heading span,.udei-attention-section-heading span{color:#475467;text-transform:uppercase;font-size:12px;font-weight:800}.udei-attention-counters strong{color:#102033;font-size:1.7rem;line-height:1}.udei-attention-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.udei-attention-sidebar,.udei-attention-detail{gap:12px;min-width:0;padding:12px;display:grid}.udei-attention-block{background:#fff;gap:10px;padding:12px;display:grid}.udei-attention-block h3,.udei-attention-section-heading h3{margin:0;font-size:1rem}.udei-attention-block label,.udei-attention-form-grid label,.udei-attention-close-grid label{color:#344054;gap:6px;font-size:13px;font-weight:800;display:grid}.udei-attention-block input,.udei-attention-block select,.udei-attention-block textarea,.udei-attention-form-grid input,.udei-attention-form-grid select,.udei-attention-form-grid textarea,.udei-attention-close-grid input,.udei-attention-close-grid select,.udei-attention-close-grid textarea{border:1px solid var(--line);width:100%;min-height:40px;color:var(--foreground);font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.udei-attention-block textarea,.udei-attention-form-grid textarea,.udei-attention-close-grid textarea{resize:vertical;min-height:76px}.udei-attention-form-grid input[type=file]{color:#475467;min-height:44px;padding:5px}.udei-attention-form-grid input[type=file]::file-selector-button{border:1px solid var(--primary);min-height:32px;color:var(--primary);font:inherit;cursor:pointer;background:#eff8ff;border-radius:8px;margin-right:10px;padding:6px 10px;font-weight:800}.udei-attention-form-grid input[type=file]::file-selector-button:hover{background:#d1e9ff}.udei-attention-block button,.udei-attention-action,.udei-attention-secondary-action{border:1px solid var(--primary);min-height:40px;font:inherit;cursor:pointer;border-radius:8px;padding:8px 12px;font-weight:800}.udei-attention-secondary-action{color:var(--primary);background:#fff;justify-self:start}.udei-attention-list{gap:8px;max-height:460px;padding-right:2px;display:grid;overflow:auto}.udei-attention-student-card{border:1px solid var(--line);width:100%;color:var(--foreground);text-align:left;background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.udei-attention-student-card strong,.udei-attention-student-card span,.udei-attention-student-card small,.udei-attention-reference-grid span,.udei-attention-reference-grid p{display:block}.udei-attention-student-card span,.udei-attention-student-card small{color:#475467;font-size:13px;line-height:1.35}.udei-attention-student-card-active{border-color:var(--primary);background:#eff8ff;box-shadow:inset 4px 0 #175cd3}.udei-attention-student-heading,.udei-attention-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.udei-attention-student-heading h3{color:#102033;margin-top:4px;font-size:1.35rem}.udei-attention-student-heading p{color:#475467;margin-top:3px}.udei-attention-student-heading>strong{color:#175cd3;background:#eff8ff;border:1px solid #b2ddff;border-radius:999px;flex:none;padding:7px 10px;font-size:13px}.udei-attention-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.udei-attention-reference-grid article{background:#f8fafc;align-content:start;gap:6px;padding:12px;display:grid}.udei-attention-reference-grid p{color:#344054;margin:0;line-height:1.45}.udei-attention-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.udei-attention-close-grid{grid-template-columns:minmax(150px,.8fr) minmax(140px,.65fr) minmax(180px,1fr);gap:10px;display:grid}.udei-attention-close-grid label:last-child{grid-column:1/-1}.udei-attention-timeline{gap:10px;display:grid}.udei-attention-timeline article{background:#f8fafc;border-left:4px solid #175cd3;border-radius:8px;gap:8px;padding:10px 12px;display:grid}.udei-attention-timeline header,.udei-attention-timeline footer{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.udei-attention-timeline header strong,.udei-attention-timeline header span,.udei-attention-timeline header small,.udei-attention-timeline footer span{display:block}.udei-attention-timeline header span,.udei-attention-timeline header small,.udei-attention-timeline footer span{color:#475467;font-size:13px}.udei-attention-timeline p{color:#344054;margin:0;line-height:1.5}.udei-attention-meta p{color:#344054;margin:0}.module-color-card,.module-color-grid>:is(article,details,button,a){--module-card-accent:#005bd3;--module-card-soft:#edf5ff;--module-card-line:#b9d6ff;border-color:var(--module-card-line);border-left:5px solid var(--module-card-accent);background:linear-gradient(90deg, var(--module-card-soft), #fff 52%), #fff;box-shadow:0 8px 18px #1020330f}.module-color-grid>a{color:inherit;text-decoration:none;transition:box-shadow .16s,transform .16s;display:block}.module-color-grid>a:hover,.module-color-grid>a:focus-visible{transform:translateY(-1px);box-shadow:0 12px 22px #1020331f}.module-color-grid>:nth-child(6n+2){--module-card-accent:#0f766e;--module-card-soft:#eafffb;--module-card-line:#99f6e4}.module-color-grid>:nth-child(6n+3){--module-card-accent:#9d1c2f;--module-card-soft:#fff1f3;--module-card-line:#fecdd6}.module-color-grid>:nth-child(6n+4){--module-card-accent:#7c3aed;--module-card-soft:#f5f0ff;--module-card-line:#ddd6fe}.module-color-grid>:nth-child(6n+5){--module-card-accent:#b54708;--module-card-soft:#fff7ed;--module-card-line:#fed7aa}.module-color-grid>:nth-child(6n+6){--module-card-accent:#2f6b3f;--module-card-soft:#effaf1;--module-card-line:#bbf7d0}.module-color-grid>.student-roster-card:hover,.module-color-grid>.student-roster-card-active,.module-color-grid>.student-group-card-active{border-color:var(--primary);border-left-color:var(--primary);box-shadow:inset 4px 0 0 var(--primary), 0 0 0 2px #005bd31f;background:#eff8ff}@media (max-width:980px){.auth-page{padding:24px}.auth-shell{grid-template-columns:1fr}.auth-brand-panel{grid-template-columns:minmax(0,1fr) minmax(220px,.72fr);gap:24px;display:grid}.auth-back-link{grid-column:1/-1}.auth-brand-copy h1{max-width:none}.auth-security-note{align-self:end}.landing-hero{min-height:580px;padding-block:60px}.landing-copy{max-width:760px}.landing-copy h1{font-size:4rem}.landing-menu{gap:14px}.landing-pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-offer-grid,.landing-community,.landing-contact-grid{grid-template-columns:1fr}.landing-community-copy{min-height:300px;padding-right:0}.landing-community-list:before{background-size:min(520px,80%);inset:-160px 0}.landing-community-list{min-height:460px}.family-student-card{grid-template-columns:auto minmax(0,1fr)}.family-student-summary{grid-column:1/-1}.family-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.auth-page{background:#fff;place-items:start stretch;padding:0}.auth-shell{min-height:100dvh;box-shadow:none;border:0;border-radius:0}.auth-brand-panel{gap:24px;padding:22px 18px;display:flex}.auth-brand-icon{width:54px;height:54px}.auth-brand-icon img{width:34px;height:34px}.auth-brand-copy h1{font-size:1.9rem}.auth-security-note{display:none}.auth-workspace{padding:22px 16px 34px}.auth-workspace-heading h2{font-size:1.65rem}.demo-data-panel{grid-template-columns:1fr;padding:15px}.demo-data-panel button{width:100%}.auth-flow-section{padding:15px}.demo-module-accesses,.demo-panel-accesses,.auth-field-grid{grid-template-columns:1fr}.auth-submit-button{width:100%}.landing-schoolbar{min-height:68px;padding:10px 12px}.landing-schoolbar .landing-brand-mark{width:48px;height:48px}.landing-schoolbar .landing-brand-text strong{font-size:.96rem}.landing-schoolbar .landing-brand-text small{display:none}.landing-nav{padding:10px 12px;position:static}.landing-access-links{gap:6px;width:100%;margin-left:0}.landing-menu{display:none}.landing-nav-action,.landing-community-action{flex:1;min-height:40px;padding-inline:12px}.landing-hero{background-color:#0000;background-image:linear-gradient(90deg,#062f56e6 0%,#062f56c7 100%),url(https://images.unsplash.com/photo-1509062522246-3755977927d7?auto=format&fit=crop&w=1200&q=80);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:520px;padding:44px 16px}.landing-copy h1{font-size:2.75rem}.landing-lead{font-size:1.02rem}.landing-actions,.landing-actions a{width:100%}.landing-section,.landing-offer,.landing-community,.landing-contact{padding:40px 16px}.landing-section-heading h2{font-size:1.85rem}.landing-pillar-grid{grid-template-columns:1fr}.landing-community h2,.landing-contact h2{font-size:1.85rem}.landing-community-copy{min-height:300px;padding:24px 0}.landing-community-list:before{opacity:.24;background-position:100%;background-size:470px;inset:-143px 0}.landing-community-list{min-height:420px}.landing-contact{gap:18px}.landing-contact-grid article{min-height:auto;padding:18px}.family-portal-hero{padding:36px 16px}.family-portal-hero .kicker{margin-top:32px}.family-portal-hero h1{font-size:2.35rem}.family-portal-layout,.family-access-layout{padding:20px 16px 42px}.family-access-heading h2{font-size:1.65rem}.family-student-card,.family-tool-grid,.family-student-summary{grid-template-columns:1fr}.app-header-inner{gap:14px;padding:20px 16px 18px;display:grid}.app-header h1{font-size:1.7rem}.app-header-actions .danger-btn{width:100%}.app-main{padding:16px 12px 32px}.assignment-grid,.advisor-assignment-form-row{grid-template-columns:1fr}.assignment-grid .advisor-assignment-form-row button{width:100%}.prefect-assignment-form{grid-template-columns:1fr}.prefect-assignment-form button{min-width:0}.teacher-assignment-layout{grid-template-columns:1fr}.assignment-stack .teacher-assignment-layout button{width:100%}.group-create-form>div,.group-create-form>button{flex:100%;width:100%;max-width:none}.attendance-toolbar{grid-template-columns:1fr}.attendance-toolbar-actions{flex-direction:column;justify-content:stretch}.personnel-create-form{grid-template-columns:1fr}.personnel-report-actions button,.teacher-report-actions button,.prefect-report-actions button,.subject-report-actions button,.groups-report-actions button{width:100%}.assistant-roster-form>div,.assistant-roster-form button{max-width:none}.student-roster-group-select,.student-roster-paste-box .primary-action-btn{width:100%;max-width:none}.student-roster-card-grid,.student-roster-row,.student-roster-reassign,.udei-student-row,.tutor-linking-row{grid-template-columns:1fr}.student-roster-row{align-items:stretch}.roster-management-row,.roster-actions{grid-template-columns:1fr}.section-heading{display:grid}.capability-admin-forms form>div,.statistics-workspace,.statistics-chart-grid,.statistics-table-grid,.udei-diagnosis-layout,.bap-selection-block,.analysis-filters,.analysis-grid,.calendar-cycle-form,.calendar-planner-grid,.calendar-category-form,.calendar-period-form,.calendar-special-event-form,.discipline-layout,.discipline-form-grid,.discipline-summary-grid{grid-template-columns:1fr}.calendar-header,.calendar-section-heading{flex-direction:column}.calendar-special-event-form button{grid-column:auto}.calendar-category-description-field,.calendar-category-form-actions,.calendar-periods-panel,.calendar-events-panel,.calendar-category-panel{grid-area:auto}.calendar-actions{flex-direction:column;justify-content:stretch}.planning-chart-filters,.planning-chart-grid,.planning-teacher-row,.planning-toolbar{grid-template-columns:1fr}.planning-status-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-period-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.planning-period-tabs-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.bap-type-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-period-tabs button{padding-inline:8px}.planning-teacher-row-header{display:none}.planning-period-registers{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-interactive-panel{padding:12px}.calendar-legend{grid-template-columns:1fr;display:grid}.school-calendar-fullcalendar .fc-toolbar{flex-direction:column;align-items:stretch}.school-calendar-fullcalendar .fc-toolbar-chunk{justify-content:center;display:flex}.school-calendar-fullcalendar .fc-toolbar-chunk:first-child,.school-calendar-fullcalendar .fc-toolbar-chunk:last-child{justify-content:stretch}.school-calendar-fullcalendar .fc-toolbar-chunk:first-child .fc-button-group,.school-calendar-fullcalendar .fc-toolbar-chunk:last-child .fc-button-group{flex:1;display:flex}.school-calendar-fullcalendar .fc-toolbar-chunk:first-child .fc-button,.school-calendar-fullcalendar .fc-toolbar-chunk:last-child .fc-button{flex:1}.school-calendar-fullcalendar .fc-daygrid-day-frame{min-height:52px;padding:2px}.school-calendar-event-title{font-size:11px}.analysis-filter-block-wide{grid-column:auto}.statistics-sidepanel{position:static}.statistics-chart-body{height:240px}.statistics-chart-body-large{height:320px}.statistics-detail-topbar{flex-direction:column}.udei-attention-counters,.udei-attention-layout,.udei-attention-reference-grid,.udei-attention-form-grid,.udei-attention-close-grid{grid-template-columns:1fr}.udei-attention-close-grid label:last-child{grid-column:auto}.family-profile-page{padding:18px 14px 36px}.family-profile-header{border-radius:18px;grid-template-columns:1fr;display:grid;position:static}.family-header-brand,.family-header-actions{width:100%}.family-header-actions{grid-template-columns:1fr;display:grid}.family-header-actions>span{max-width:100%}.family-manage-link{width:100%}.family-student-hero,.family-attention-panel,.family-pulse-layout,.family-subject-grid{grid-template-columns:1fr}.family-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-profile-meta{width:100%}.family-pulse-aside{order:-1;position:static}.family-attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-subject-modal-backdrop{align-items:end;padding:12px}.family-subject-modal{border-radius:18px;max-height:calc(100dvh - 24px);padding:18px}.family-subject-modal-stats{grid-template-columns:1fr}.family-member-modal-backdrop{align-items:end;padding:10px}.family-member-modal{border-radius:18px;max-height:calc(100dvh - 20px);padding:18px}.family-member-modal-form{grid-template-columns:1fr}.family-member-modal-form>label,.family-member-modal-form .family-student-checklist,.family-member-modal-form>button{grid-column:auto}.family-invite-member-button{width:100%}.family-subject-period-list>article>header{display:grid}.family-subject-grid header{grid-template-columns:1fr;display:grid}.family-profile-header button,.family-download-panel button{width:100%}.family-access-admin-grid,.family-management-grid{grid-template-columns:1fr}.family-management-header,.family-management-header>div:last-child{display:grid}.family-access-history-list article,.family-member-list article{grid-template-columns:1fr}.administrator-directory{padding-top:8px}.administrator-directory-heading h2{font-size:1.65rem}.administrator-primary-grid,.administrator-resource-grid{grid-template-columns:1fr}.administrator-primary-card{min-height:220px;padding:20px}.administrator-resource-card,.administrator-module-card{min-height:0}}@media (max-width:900px){.semaphore-link-panel,.semaphore-session-card,.semaphore-result-board{grid-template-columns:1fr}.semaphore-result-board .semaphore-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.semaphore-result-board .semaphore-count-card{text-align:center;grid-template-columns:1fr;justify-items:center}.semaphore-session-actions{justify-content:stretch}}@media (max-width:720px){.semaphore-link-panel,.semaphore-rules{padding:14px}.semaphore-link-copy{display:grid}.semaphore-primary-action,.semaphore-session-actions .secondary-action-btn,.semaphore-projection-actions .secondary-action-btn{width:100%}.semaphore-session-actions{grid-template-columns:1fr;display:grid}.semaphore-result-board{padding:14px}.semaphore-result-summary{min-height:150px}.semaphore-result-summary>strong{font-size:1.8rem}.semaphore-result-board .semaphore-count-grid,.semaphore-rule-grid{grid-template-columns:1fr}.semaphore-result-board .semaphore-count-card{text-align:left;grid-template-columns:52px minmax(0,1fr);justify-items:stretch}.semaphore-scanner-page{padding:14px 0 0}.semaphore-scanner-header{padding-inline:14px}.semaphore-scanner-shell{border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;padding:14px}.semaphore-scanner-session>div{grid-template-columns:1fr}.semaphore-result-board[data-compact=true] .semaphore-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.semaphore-result-board[data-compact=true] .semaphore-count-card{text-align:center;grid-template-columns:1fr;justify-items:center}}.school-setup-guide{border:1px solid var(--line);background:var(--surface,#fff);border-radius:8px;margin-bottom:26px;padding:20px 22px}.school-setup-guide h2{margin:0 0 6px}.school-setup-steps{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.school-setup-step{border:1px solid var(--line);border-left-width:4px;border-radius:8px;padding:14px 16px}.school-setup-step[data-step-state=listo]{opacity:.72;border-left-color:#1f8b4c}.school-setup-step[data-step-state=pendiente]{border-left-color:#005bd3}.school-setup-step[data-step-state=bloqueado]{border-left-color:#b25c00}.school-setup-step-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.school-setup-step-state{white-space:nowrap;font-size:.82rem;font-weight:600}.school-setup-step-purpose{margin:6px 0 4px;font-size:.92rem}.school-setup-step .meta{margin:2px 0}.school-setup-step-link{margin-top:10px;font-weight:600;display:inline-block}.platform-page{max-width:1100px;margin:0 auto;padding:48px 24px 72px}.platform-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:8px;display:flex}.platform-head h1{margin:4px 0 2px}.platform-signout{border:1px solid var(--line);background:var(--surface,#fff);font:inherit;cursor:pointer;border-radius:8px;align-self:center;padding:8px 18px;font-weight:600}.platform-signout:disabled{opacity:.6;cursor:default}.platform-note{opacity:.78;margin:0 0 26px;font-size:.94rem}.platform-gate{border:1px solid var(--line);background:var(--surface,#fff);border-radius:10px;max-width:420px;margin:64px auto 0;padding:28px 26px}.platform-gate h1{margin:4px 0 10px}.platform-login-form button[type=submit]{color:#fff;cursor:pointer;min-height:44px;font:inherit;background:#005bd3;border:1px solid #005bd3;border-radius:8px;padding:10px 16px;font-weight:700}.platform-login-form button[type=submit]:disabled{cursor:wait;opacity:.62}.platform-school-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.platform-school-card{border:1px solid var(--line);background:var(--surface,#fff);border-left-width:4px;border-radius:10px;padding:18px 20px}.platform-school-card[data-school-state=operando]{border-left-color:#1f8b4c}.platform-school-card[data-school-state=configurando]{border-left-color:#005bd3}.platform-school-card[data-school-state=sin-ciclo]{border-left-color:#b25c00}.platform-school-card[data-school-state=suspendida]{opacity:.72;border-left-color:#9b1c1c}.platform-school-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.platform-school-state{white-space:nowrap;font-size:.82rem;font-weight:600}.platform-school-address{font-family:var(--font-mono,ui-monospace, monospace);margin:6px 0 2px;font-size:.86rem}.platform-school-counts{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 10px;display:grid}.platform-school-counts div{text-align:center}.platform-school-counts dt{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:.74rem}.platform-school-counts dd{margin:2px 0 0;font-size:1.24rem;font-weight:600}.platform-setup-steps{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.platform-setup-steps li{border:1px solid var(--line);border-radius:999px;padding:3px 9px;font-size:.78rem}.platform-setup-steps li[data-step-state=listo]{border-color:#1f8b4c;font-weight:600}.platform-setup-steps li[data-step-state=pendiente]{opacity:.6}.guest-ribbon{color:#fff;text-align:center;background:#7a3b00;margin:0;padding:10px 18px;font-size:.86rem}.guest-ribbon strong{font-weight:700}.platform-school-invite{border:1px solid #7a3b00;border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:.82rem}.platform-school-invite a{font-weight:600}.platform-access-state{margin:0 0 14px;font-weight:600}.platform-access-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.platform-access-form label{flex-direction:column;gap:4px;font-size:.82rem;display:flex}.platform-access-form input,.platform-access-form select{border:1px solid var(--line);min-width:220px;color:inherit;background:0 0;border-radius:8px;padding:7px 9px}.platform-access-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.platform-access-item{border:1px solid var(--line);border-radius:10px;padding:12px 14px}.platform-access-item[data-grant-state=viva]{border-color:#7a3b00}.platform-access-item[data-grant-state=caducada],.platform-access-item[data-grant-state=revocada]{opacity:.65}.platform-access-item-head{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.platform-access-item-state{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.platform-access-revoke{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:999px;margin-top:8px;padding:6px 12px;font-size:.8rem}.platform-back-link{border:1px solid var(--line);white-space:nowrap;border-radius:8px;align-self:center;padding:8px 18px;text-decoration:none}.platform-usage-caveat{border:1px solid var(--line);border-left-width:4px;border-radius:8px;margin:0 0 18px;padding:12px 16px;font-size:.92rem;line-height:1.5}.platform-usage-table-wrap{overflow-x:auto}.platform-usage-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.platform-usage-table th,.platform-usage-table td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:8px 12px}.platform-usage-table thead th,.platform-usage-table tbody th,.platform-usage-table tfoot th{text-align:left}.platform-usage-table tfoot th,.platform-usage-table tfoot td{border-bottom:none;font-weight:600}.app-header-actions{align-items:center;gap:12px;display:flex}.app-header-family-link,.family-header-actions a[data-staff-panel-link]{white-space:nowrap;border:1px solid;border-radius:8px;padding:9px 14px;font-size:.86rem;font-weight:600;text-decoration:none}.app-header-family-link{color:#fff}.family-header-actions a[data-staff-panel-link]{color:var(--family-primary)}
