:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#18243b;background:#f3f7fc}*{box-sizing:border-box}body{margin:0}.wrap{max-width:640px;margin:auto;padding:22px 18px}header{color:white;background:linear-gradient(120deg,#173d88,#2475dd);border-radius:0 0 25px 25px}header span{font-size:11px;letter-spacing:1px}h1{font-size:28px;margin:15px 0 8px}header p{font-size:14px;line-height:1.7;color:#e4efff}.card{background:white;border:1px solid #e0e8f2;border-radius:18px;padding:24px 20px;margin-bottom:20px;box-shadow:0 4px 20px #173d8806}label{display:block;font-weight:650;font-size:14px;margin-bottom:9px}input{display:block;width:100%;font:16px system-ui;color:inherit;border:1px solid #cad6e6;border-radius:11px;padding:14px;scroll-margin-block:100px}input:focus{outline:2px solid #2675da;outline-offset:2px}input[aria-invalid=true]{border:2px solid #c43f2c}.hint{font-size:13px;line-height:1.7;color:#6a7c94;margin:9px 0 23px}button{width:100%;border:0;border-radius:12px;background:#1f67c9;color:white;font-size:17px;font-weight:700;padding:15px;margin-top:4px;cursor:pointer}button:disabled{opacity:.55}.error{color:#ae2d20;background:#fff1ed;padding:13px;border-radius:10px;font-size:14px;line-height:1.8}.success{background:#dff7e9;border-bottom:2px solid #5dad7a;color:#126235;padding:22px 18px;text-align:center;font-size:21px;font-weight:750;line-height:1.6}.success small{font-weight:400;display:block;font-size:13px}.teacher{font-size:21px;font-weight:700}h2{font-size:19px;margin-top:0}h3{font-size:16px}.session{padding:15px 0;border-top:1px solid #e5ecf5}.session strong{display:block;color:#1958ac}.session p{font-size:14px;margin-bottom:0;line-height:1.7}footer{text-align:center;font-size:12px;color:#7b8aa0;line-height:1.9;padding:8px 0 30px}[hidden]{display:none!important}
.modal-mask{position:fixed;inset:0;z-index:1000;background:#13274299;display:flex;align-items:center;justify-content:center;padding:16px;overscroll-behavior:contain}.modal-dialog{width:min(500px,100%);max-height:calc(100dvh - 32px);max-height:min(90dvh,850px);overflow:auto;overscroll-behavior:contain;background:#f3f7fc;border-radius:20px;box-shadow:0 20px 65px #0003}.modal-dialog .success{border-bottom:0;font-size:20px;padding:22px 16px}.modal-dialog .card{margin:14px 14px 0;padding:22px 18px}.modal-dialog .hint{margin-bottom:18px}.modal-actions{position:sticky;bottom:0;background:#f3f7fc;padding:14px}.modal-actions button{margin:0}.modal-actions button:focus-visible{outline:3px solid #173d88;outline-offset:3px}
