:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#f5f6f0;background:#111216}*{box-sizing:border-box}body{margin:0}.hidden{display:none!important}button,input,select,textarea{font:inherit}.login{min-height:100vh;display:grid;place-items:center}.login form,.modal form{width:min(430px,90vw);padding:32px;border:1px solid #35363d;border-radius:8px;background:#202127}.login b{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#111216;background:#d7ff4f;font-size:28px}.login p,small{color:#92949d}.login input{width:100%;margin:18px 0 10px;padding:14px;border:1px solid #3b3d45;border-radius:6px;color:#fff;background:#15161b}.login button,.primary{padding:13px 20px;border:0;border-radius:6px;color:#111216;background:#d7ff4f;font-weight:800}.login button{width:100%}.shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}aside{padding:28px 20px;border-right:1px solid #303139;background:#17181d}aside h2{margin:0}aside nav{display:grid;gap:8px;margin:35px 0}aside button,aside a{display:block;width:100%;padding:13px;border:0;border-radius:6px;color:#a7a9b1;background:transparent;text-align:left;text-decoration:none}aside button.active{color:#111216;background:#d7ff4f;font-weight:800}main{padding:30px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}header h1{margin:5px 0 0}header button{padding:9px 14px;border:1px solid #41434b;border-radius:5px;color:#fff;background:#24252b}.grid{display:grid;gap:12px}.card{padding:20px;border:1px solid #33343c;border-radius:7px;background:#202127}.row{display:flex;align-items:center;justify-content:space-between;gap:20px}.meta{margin-top:8px;color:#92949d;font-size:14px}.status{color:#d7ff4f}.card button{padding:9px 13px;border:0;border-radius:5px;color:#111216;background:#d7ff4f;font-weight:700}.student{padding:13px 0;border-top:1px solid #35363d}.student label{display:flex;align-items:center;gap:10px}.student textarea{width:100%;margin-top:8px;padding:10px;border:1px solid #3a3c43;border-radius:5px;color:#fff;background:#15161b}.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.72)}.modal label{display:grid;gap:7px;margin:15px 0;color:#b9bbc2}.modal input,.modal select,.modal textarea{padding:12px;border:1px solid #3b3d45;border-radius:5px;color:#fff;background:#15161b}.modal footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal footer button{padding:11px 18px;border:0;border-radius:5px}.toast{position:fixed;right:24px;bottom:24px;padding:12px 18px;border-radius:5px;color:#111216;background:#d7ff4f;opacity:0;transition:.2s}.toast.show{opacity:1}@media(max-width:760px){.shell{grid-template-columns:1fr}aside{border-right:0}aside nav{grid-template-columns:repeat(3,1fr);margin:20px 0}main{padding:18px}.row{align-items:flex-start;flex-direction:column}}
.user-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}.user-summary button{min-height:74px;padding:14px;border:1px solid #33343c;border-radius:7px;color:#f5f6f0;background:#202127;text-align:left}.user-summary button.active{border-color:#d7ff4f;background:#27301d}.user-summary strong{display:block;color:#d7ff4f;font-size:24px}.user-summary span{display:block;margin-top:5px;color:#cfd1d8;font-size:13px}.table-wrap{overflow:auto;border:1px solid #33343c;border-radius:7px;background:#202127}.user-table{width:100%;min-width:1120px;border-collapse:collapse}.user-table th,.user-table td{padding:13px 12px;border-bottom:1px solid #33343c;text-align:left;vertical-align:top;font-size:13px}.user-table th{position:sticky;top:0;color:#92949d;background:#191a20;font-size:12px}.user-table small{display:block;margin-top:5px;color:#92949d;font-size:11px}.pill{display:inline-block;padding:5px 8px;border-radius:5px;color:#111216;background:#d7ff4f;font-size:12px;font-weight:800}@media(max-width:760px){aside nav{grid-template-columns:repeat(2,1fr)}.user-summary{grid-template-columns:repeat(2,1fr)}}
