.school{--ink:#183d37;--muted:#657871;--line:#dce5dd;--green:#245e47;--cream:#f7f8f2;background:var(--cream);min-height:100vh;color:var(--ink);font-family:Nunito,sans-serif;font-size:16px}.school *{box-sizing:border-box}.school a{color:var(--green);text-underline-offset:3px;text-decoration:underline}.school header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:20px max(24px,50vw - 620px);display:flex}.school header strong{letter-spacing:-.5px;font-family:Fredoka,sans-serif;font-size:26px}.school header span{color:var(--muted);font-size:13px;display:block}.school main{max-width:1240px;margin:auto;padding:36px 24px}.school h1{margin:0 0 10px;font-size:32px;font-weight:800;line-height:1.2}.school h2{margin:0 0 16px;font-size:21px;font-weight:800}.school h3{font-size:17px;font-weight:800}.school p{line-height:1.65}.school .muted{color:var(--muted);font-size:14px}.school .layout{grid-template-columns:220px minmax(0,1fr);gap:28px;margin-top:28px;display:grid}.school .panel{border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:20px;padding:24px}.school .row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.school .spread{justify-content:space-between}.school .stack{gap:14px;display:grid}.school .grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;display:grid}.school label{gap:7px;font-size:14px;font-weight:700;display:grid}.school input:not([type=checkbox]),.school select,.school textarea{color:var(--ink);width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #aebfb3;border-radius:10px;padding:10px 12px}.school input:focus,.school select:focus,.school textarea:focus,.school button:focus-visible,.school a:focus-visible{outline-offset:3px;outline:3px solid #8bb3ff}.school button{font:inherit;cursor:pointer;border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:10px;padding:9px 15px;font-weight:700}.school button:hover{background:#eef4ed}.school button.primary{background:var(--green);color:#fff;border-color:var(--green)}.school button.active{background:#e5f0df;border-color:#9cb68d}.school button:disabled{opacity:.5;cursor:wait}.school .tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.school .notice{background:#edf3e7;border:1px solid #cadabd;border-radius:12px;margin:16px 0;padding:14px 18px}.school .error{background:#fff0e8;border-color:#e5b499}.school .badge{background:#edf3e7;border-radius:30px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-block}.school .stat{font-size:30px;font-weight:800}.school .check{align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.school input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}.school .facts{flex-wrap:wrap;gap:8px;max-height:200px;margin-top:12px;display:flex;overflow:auto}.school .fact{border:1px solid var(--line);background:#f0f5ec;border-radius:8px;padding:8px 12px}.school .table-wrap{overflow:auto}.school table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.school th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.school th,.school td{border-bottom:1px solid var(--line);vertical-align:top;padding:14px 10px}.school .narrow{max-width:600px;margin:auto}.school .answer{text-align:center;padding:24px;font-size:36px;font-weight:800}.school .number-pad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.school .number-pad button{min-height:58px;font-size:24px}.school .login-card{overflow-wrap:anywhere;border:2px dashed #91ab92;border-radius:12px;margin:12px 0;padding:20px}.school .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.school .class-join-card{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.school .class-join-qr{flex:0 0 208px}.school .class-join-qr svg{max-width:100%;height:auto;display:block}.school .class-join-details{flex:280px;min-width:0}.school .class-join-details input{width:100%}.school .class-join-details .row{margin-top:12px}@media (width<=760px){.school .layout{grid-template-columns:1fr}.school main{padding:24px 16px}.school header{padding:16px}.school h1{font-size:27px}.school .panel{padding:18px}.school .sidebar{gap:12px;display:grid}.school .grid{grid-template-columns:1fr 1fr}}@media print{.school header,.school .no-print{display:none!important}.school main{padding:0}.school .print-card{break-inside:avoid;display:block!important}.school:has(.print-card) main>:not(.print-card){display:none!important}.school .login-card{break-inside:avoid}.school{background:#fff}}
