:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20212b;background:#f6f4fa}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}.shell{max-width:1380px;margin:auto;padding:0 26px 60px}.top{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8e4ed}.brand{display:flex;align-items:center;gap:12px;color:#29243c}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#7659bd;color:white;font-size:23px}.brand strong{font-size:19px;display:block}.brand small{display:block;color:#87808f;font-size:12px;margin-top:2px}.top-actions{display:flex;align-items:center;gap:18px;color:#706b7a;font-size:13px}.text-button{border:0;background:transparent;color:#7659bd;font-weight:700}.hero{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:42px 0 26px}.eyebrow{color:#7965b3;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800}.hero h1{font-size:clamp(32px,4vw,48px);margin:8px 0}.hero p{color:#817c89;margin:0}.hero-actions{display:flex;gap:12px;align-items:center}.primary,.outline{border-radius:13px;padding:13px 18px;font-weight:700}.primary{background:#7659bd;color:white;border:1px solid #7659bd}.primary:hover{background:#6044a8}.outline{background:white;border:1px solid #ded8e9;color:#65509d}.outline:hover{border-color:#9d8cc6}.summary{display:flex;gap:10px;flex-wrap:wrap}.summary span{background:#eee9f7;color:#68588e;border-radius:30px;padding:8px 13px;font-size:13px;font-weight:700}.toolbar{display:flex;justify-content:space-between;gap:15px;margin:26px 0 16px}.toolbar input{max-width:440px}.roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.student-card{background:#fff;border:1px solid #e9e4ef;border-radius:18px;text-align:left;padding:20px;box-shadow:0 4px 14px #2d174706;min-height:198px}.student-card:hover{border-color:#bbaee0;box-shadow:0 9px 25px #2d174712}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.student-card h3{margin:0 0 4px;font-size:20px}.pill{border-radius:20px;background:#f1eafa;color:#7259ae;padding:5px 9px;font-size:11px;font-weight:700;white-space:nowrap}.card-label{font-size:11px;color:#a09aa7;text-transform:uppercase;letter-spacing:.06em;margin:18px 0 4px}.student-card p{color:#55515e;font-size:14px;line-height:1.4;margin:0;max-height:58px;overflow:hidden}.hint{color:#aaa4af!important}.empty{background:white;padding:45px;text-align:center;border:1px dashed #d9d2e1;border-radius:18px;color:#574e61}.empty p{color:#8f8798}.login-card{max-width:450px;margin:90px auto;background:#fff;border:1px solid #eee8f2;border-radius:24px;padding:36px;box-shadow:0 20px 60px #301d5311}.login-card h1{font-size:35px;margin:9px 0}.login-card p,.modal p{color:#797381;line-height:1.5}.login-card form{margin-top:26px;display:grid;gap:16px}.login-card .primary{margin-top:5px}label{display:grid;gap:7px;color:#5f5968;font-size:13px;font-weight:700}input,textarea,select{width:100%;border:1px solid #ded9e5;border-radius:10px;padding:12px 13px;background:white;color:#26222d;outline:0}input:focus,textarea:focus,select:focus{border-color:#8167c5;box-shadow:0 0 0 3px #8167c51e}textarea{resize:vertical;line-height:1.5}.shade{position:fixed;inset:0;background:#221a33a8;z-index:5}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(560px,100vw);background:#fff;z-index:6;overflow:auto;padding:25px 30px 50px;box-shadow:-12px 0 50px #160a302b}.drawer-head,.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.drawer h2{margin:8px 0 0;font-size:28px}.drawer-head p{color:#9991a1;margin:4px 0 0}.close{background:#f5f2f8;border:0;border-radius:10px;width:37px;height:37px;font-size:25px;color:#70647d}#detailForm{display:grid;gap:17px;margin:30px 0}.history{border-top:1px solid #ece6f2;padding-top:20px}.history h3{margin:0 0 14px}.entry{border-left:3px solid #a98bce;padding:7px 0 8px 13px;margin:12px 0}.entry small{color:#9a91a2}.entry p{white-space:pre-wrap;margin:6px 0 0;line-height:1.5}.history form{display:grid;gap:12px;margin-top:22px}.modal{position:fixed;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 30px));max-height:85vh;overflow:auto;background:#fff;border-radius:20px;padding:25px 28px;box-shadow:0 20px 80px #120d2d50}.modal h2{margin:0;font-size:22px}.modal details{margin:20px 0}.modal details summary{color:#7659bd;font-weight:700;cursor:pointer}.modal form{display:grid;gap:12px;margin:15px 0}.results{max-height:230px;overflow:auto;margin-top:10px}.result{display:flex;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid #eee7f4;gap:10px}.result small{display:block;color:#999}.result button{border:0;background:#eee8f9;color:#664ba2;border-radius:8px;padding:7px 10px;font-weight:700}.credential{margin-top:18px;padding:13px;background:#f4f0fb;border-radius:12px;word-break:break-all}.credential strong{display:block;margin-bottom:8px}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:9;background:#2e2541;color:white;padding:12px 20px;border-radius:12px;max-width:min(90vw,500px);box-shadow:0 8px 30px #1d123f40}@media(max-width:700px){.shell{padding:0 16px 40px}.top{height:68px}.hero{display:block;margin-top:28px}.hero-actions{margin-top:20px}.hero-actions select{max-width:180px}.toolbar{align-items:center}.roster{grid-template-columns:1fr}.drawer{padding:20px}.login-card{margin:40px auto}}
.suggest-reason{display:block;color:#7d718f;line-height:1.5;margin-top:-8px}
