.school{--school-line:#334a62}.school h1{max-width:760px}.school p{color:#b8c8da;line-height:1.7}.school-heading{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:24px}.school-heading .eyebrow{color:var(--mint);margin-bottom:10px}.school-heading h1+p{margin-top:14px}.school-heading>button{flex-shrink:0}.school-notice{display:flex;gap:12px;padding:17px 20px;border:1px solid #695b3d;border-radius:10px;background:#28261f;margin:20px 0 28px;color:#ffd18b}.school-notice .icon{margin-top:3px}.school-notice p{font-size:.875rem;color:#e4d5b9}.school-notice strong{color:#ffe3b3}.school-warning,.school-error{padding:16px;border:1px solid #ba8666;border-radius:8px;background:#33251f;margin:18px 0}.school .school-error{color:#ffcfb7}.school-login-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.school-login-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #425268;background:linear-gradient(135deg,#1b2740,#121e30);padding:32px;border-radius:15px}.school-login-card.teacher{background:linear-gradient(135deg,#1b383c,#121e30);border-color:#44766e}.school-role-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:#ffffff09;border:1px solid #ffffff25;color:var(--mint);margin-bottom:25px}.school-role-icon .icon{width:27px;height:27px}.school-login-card h2{font-size:1.85rem;line-height:1.25;margin:12px 0 18px}.school-domain{border-top:1px solid #506475;margin:24px 0;padding-top:18px;width:100%;overflow-wrap:anywhere}.school-domain span{display:block;font-size:.875rem;color:#b3c4d8}.school-domain strong{display:block;color:#d8fff5;font-size:1.1rem;margin-top:7px}.school-login-card>button{margin-top:22px}.school-login-card.teacher>button{margin-top:auto}.school label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:600;color:#dbe8f5}.school select,.school input{background:#0d192a;border:1px solid #52677d;border-radius:8px;color:#f2f5fa;padding:12px 14px;font:inherit;min-height:46px;min-width:0;max-width:100%}.school select{font:inherit}.school select:focus-visible{outline:3px solid white;outline-offset:3px}.school-login-card select{width:100%;margin-top:8px}.school-next{margin-top:26px;padding:25px;border-left:3px solid var(--mint);background:#132532;border-radius:0 12px 12px 0}.school-next h2{font-size:1.3rem;margin-bottom:14px}.school-next p+p{margin-top:13px}.school-session{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 40px;background:#263028;border-bottom:1px solid #657151;color:#e0edca;font-size:.875rem}.school-session>span{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.school-session>div{display:flex;gap:12px}.school-session button{min-height:40px;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}.school-session .icon{width:18px}.school-teacher-pill{display:flex;align-items:center;gap:10px;color:var(--mint);font-size:.875rem}.school-teacher-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}.school-teacher-tools label{min-width:250px}.school-form{border:1px solid #55706a;padding:24px;background:#152b32;border-radius:12px;margin:20px 0}.school-form h2{font-size:1.4rem}.school-form p{margin:12px 0 20px}.school-form>div{display:grid;grid-template-columns:2fr 1fr;gap:18px}.school-form label{max-width:600px}.school-form>button{margin-top:20px}.school-class-code{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:20px 22px;border:1px dashed #6b8b88;border-radius:10px;margin:22px 0}.school-class-code strong,.school-class-code span{display:block}.school-class-code span{font-size:.875rem;color:#a5bfcb}.school-class-code code{font:700 1.1rem ui-monospace,monospace;letter-spacing:.06em;padding:9px 12px;background:#244345;border-radius:6px;color:var(--mint);user-select:all}.school-class-code p{font-size:.875rem;flex-basis:100%}.school-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:25px 0}.school-stat{padding:23px;border:1px solid #36485e;border-radius:12px;background:#152237}.school-stat strong{display:block;font-size:2rem;line-height:1.2;color:#e9fff9;letter-spacing:-.04em}.school-stat span{display:block;margin-top:12px;color:#d2dfeb;font-size:.9rem}.school-stat small{display:block;margin-top:6px;font-size:.78rem;line-height:1.6;color:#a6bacd}.school-roster,.school-panel,.school-chart{border:1px solid var(--school-line);border-radius:14px;background:#121f31;padding:26px}.school-section-head{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:15px}.school-section-head h2{font-size:1.45rem}.school-section-head p{margin-top:7px}.school-search{width:250px}.school .school-small{font-size:.8125rem;color:#aec0d3;margin:14px 0}.school-table-wrap{overflow-x:auto;max-width:100%;border:1px solid #30445b;border-radius:9px;margin:18px 0}.school-table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem;white-space:nowrap}.school-table th,.school-table td{padding:17px 14px;border-bottom:1px solid #2d4055}.school-table thead{background:#1d2c41;color:#b8d1dd}.school-table tbody tr:last-child>*{border:0}.school-table tbody tr:hover{background:#1c2d42}.school-table td small{display:block;font-size:.78rem;color:#9eb3c8;margin-top:5px}.school-person{display:flex;gap:12px;align-items:center;text-align:left;background:transparent;font-size:.94rem;font-weight:650;min-height:44px}.school-person img{width:42px;height:42px;flex-shrink:0;border-radius:50%}.school-person small{display:block;color:var(--mint);font-weight:400;font-size:.8rem;margin-top:4px}.school-status{font-size:.78rem;background:#2c3645;color:#c3d1de;padding:6px 8px;border-radius:5px}.school-status.practice{color:#ffda98;background:#3a3225}.school-status.advance{color:#aaf6df;background:#23463d}.school-class-list{margin-top:30px}.school-class-list h2{font-size:1.3rem;margin-bottom:20px}.school-class-list>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.school-class-list button{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;border:1px solid #3d536b;background:#15283a;border-radius:10px;padding:20px}.school-class-list button:hover{border-color:var(--mint)}.school-class-list span{font-size:.875rem;color:#b5c8db}.school-class-list code{color:var(--mint);font-size:.9rem}.school-empty{padding:25px;border:1px dashed #496078;border-radius:10px;margin:18px 0;color:#aebfd2}.school-empty h3{margin-bottom:12px}.school-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;margin-top:22px}.school-panel h2,.school-chart h2{font-size:1.4rem;margin-bottom:12px}.school-panel>p,.school-chart>p{font-size:.875rem}.school-modules{list-style:none;margin:22px 0 0;padding:0}.school-modules li{margin:24px 0}.school-modules li>div{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.school-modules strong{font-size:.94rem;line-height:1.5}.school-modules span{color:var(--mint);font-size:.875rem;white-space:nowrap}.school-modules progress{width:100%;margin:10px 0 3px;height:7px}.school-modules small{font-size:.8rem;color:#acbed1}.school-activity{list-style:none;padding:0 0 0 13px;margin:25px 0 0;border-left:1px solid #4b746f}.school-activity li{padding:0 0 25px 10px}.school-activity time,.school-activity strong,.school-activity span,.school-activity small{display:block}.school-activity time{font-size:.78rem;color:var(--mint);margin-bottom:7px}.school-activity strong{font-size:.94rem;line-height:1.5}.school-activity span{font-size:.875rem;color:#bacddd;margin-top:5px}.school-activity small{font-size:.78rem;color:#a8bacb;margin-top:5px}.school-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,2vw,20px);height:210px;margin:25px 0 0;align-items:end}.school-bars>div{display:grid;grid-template-rows:22px 150px 26px;gap:6px;text-align:center;min-width:0}.school-bars strong{font-size:.8rem;color:#d0ebe5}.school-bars span{width:100%;max-width:62px;justify-self:center;align-self:end;height:var(--bar-height);min-height:3px;border-radius:5px 5px 0 0;background:linear-gradient(0deg,#28625e,#68efd1)}.school-bars small{font-size:.75rem;color:#b9cadb}.school-student-card{display:flex;gap:22px;align-items:center;padding:26px;border:1px solid #416a6b;background:#142e36;border-radius:13px}.school-student-card>img{width:82px;height:82px;border-radius:18px;flex-shrink:0}.school-student-card h2{margin:10px 0;font-size:1.7rem}.school-student-card>button{margin-left:auto;flex-shrink:0}.school-student-card p{font-size:.94rem}
@media(max-width:1100px){.school-heading{align-items:flex-start;flex-direction:column}.school-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.school-login-card{padding:24px}.school-student-card{flex-wrap:wrap}.school-student-card>button{margin-left:0}.school-detail-grid{grid-template-columns:1fr}.school-class-list>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.sidebar .nav-item span{font-size:.56rem}.school-session{padding:12px 18px;align-items:flex-start;flex-direction:column;gap:5px}.school-session>div{flex-wrap:wrap}.school-session button{font-size:.8rem}.school-login-grid{grid-template-columns:1fr}.school-login-card h2{font-size:1.65rem}.school-login-card.teacher>button{margin-top:20px}.school-teacher-tools,.school-section-head{align-items:stretch;flex-direction:column}.school-teacher-tools label,.school-search{min-width:0;width:100%}.school-stat{padding:19px 15px}.school-stat strong{font-size:1.65rem}.school-stat span{font-size:.875rem}.school-roster,.school-panel,.school-chart{padding:20px 16px}.school-class-list>div{grid-template-columns:1fr}.school-form>div{grid-template-columns:1fr}.school-student-card{padding:23px 18px}.school-student-card>div{flex-basis:100%}.school-modules li>div{flex-direction:column;gap:5px}.school-notice{padding:15px;gap:9px}.school-notice>.icon{width:18px}.school-table{font-size:.875rem}.school-form{padding:20px 16px}.school-bars{gap:6px}.school-bars small{font-size:.7rem}.school-stats{gap:10px}.school-domain strong{font-size:1rem}.school-teacher-pill{font-size:.8rem}.school-heading>button{width:100%}}

.school-investigations{margin:24px 0}.school-investigations .school-modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
