.student-login-gate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px;overflow:auto;background:radial-gradient(circle at 15% 15%,rgba(91,83,230,.25),transparent 35%),linear-gradient(135deg,#eef2ff,#e9fbff)}
.student-login-gate[hidden]{display:none}
.student-login-card{width:min(520px,100%);padding:30px;border:1px solid #d8ddff;border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(35,45,105,.2)}
.login-brand-mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:14px;border-radius:15px;background:linear-gradient(135deg,#5e4fe0,#139ac5);color:#fff;font-size:27px;font-weight:900}
.student-login-card>small{color:#6254dc;font-weight:900}.student-login-card h1{margin:6px 0 8px;color:#10264b;font-size:27px}.student-login-card>p{color:#61708a;line-height:1.7}
.student-login-card label{display:grid;gap:7px;margin:14px 0;color:#263858;font-size:13px;font-weight:800}.student-login-card input,.student-login-card select{width:100%;min-height:44px;padding:0 13px;border:1px solid #ccd5e5;border-radius:11px;background:#fff;color:#172b4d;font:inherit;box-sizing:border-box}.student-login-card input:focus,.student-login-card select:focus{outline:3px solid rgba(88,79,224,.16);border-color:#5d50df}
.student-login-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.student-login-card>button{width:100%;min-height:48px;margin-top:7px;border:0;border-radius:12px;background:linear-gradient(90deg,#5d4fe1,#139ac4);color:#fff;font-size:16px;font-weight:900;cursor:pointer}.student-login-card>button:disabled{opacity:.55}.student-login-card footer{margin-top:18px;text-align:center;color:#77849a;font-size:12px}.student-login-card footer a{color:#4f46d6;font-weight:800}.student-login-error{min-height:20px!important;margin:4px 0!important;color:#c23b4b!important;font-size:12px;font-weight:800}.student-identity{padding:7px 10px;border-radius:10px;background:#eef1ff;color:#3f3a9b;font-size:11px;font-weight:800;white-space:nowrap}
.research-notice{margin:14px 0;padding:14px 16px;border-left:4px solid #5c51df;border-radius:10px;background:#f0f4ff;color:#334b72}.research-notice b{color:#132950}.research-notice p{margin:5px 0 0;font-size:13px;line-height:1.65}.student-login-card label small{color:#6c7890;font-weight:500}.student-login-card .consent-check{grid-template-columns:22px 1fr;align-items:start;padding:12px;border:1px solid #cbd6eb;border-radius:12px;background:#fbfcff;line-height:1.55}.student-login-card .consent-check input{width:18px;min-height:18px;margin-top:2px}
.student-account-home{width:min(920px,100%);max-height:calc(100vh - 44px);overflow:auto;padding:26px;border:1px solid #d8ddff;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(35,45,105,.2)}.student-account-home>header{display:flex;justify-content:space-between;gap:20px;align-items:center}.student-account-home h1{margin:4px 0;color:#10264b}.student-account-home button,.account-modal button{min-height:42px;padding:0 18px;border:1px solid #cad4e6;border-radius:11px;background:#fff;color:#243757;font-weight:800;cursor:pointer}.student-history-list{display:grid;gap:14px;margin:22px 0}.history-card{padding:18px;border:1px solid #d9e0ef;border-radius:16px;background:#fbfcff}.history-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.history-card header div{display:grid;gap:4px}.history-card header small{color:#77839a}.history-card header>strong{font-size:28px;color:#5148d8}.history-card header>strong small{font-size:12px}.history-score-row{display:flex;flex-wrap:wrap;gap:10px 24px;margin:14px 0;color:#596983}.history-card details{padding-top:10px;border-top:1px solid #e3e7f0}.history-card summary{cursor:pointer;color:#4740c9;font-weight:800}.student-review-list p{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px;border-radius:10px;background:#fff}.student-review-list small{grid-column:1/-1;color:#6e7a90}.student-dimension-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.student-dimension-list span{display:flex;justify-content:space-between;padding:8px;background:#eef3fb;border-radius:8px;font-size:12px}.history-empty{display:grid;gap:5px;padding:28px;text-align:center;background:#f4f7fc;border-radius:14px}.account-actions{display:flex;gap:12px;flex-wrap:wrap}.primary-account-action{border:0!important;background:linear-gradient(90deg,#5d4fe1,#139ac4)!important;color:#fff!important}.account-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:20px;background:#12234699}.account-modal[hidden]{display:none}.account-modal form{width:min(440px,100%);padding:24px;border-radius:20px;background:#fff;box-shadow:0 24px 80px #12234655}.account-modal header{display:flex;justify-content:space-between;align-items:center}.account-modal h2{margin:0;color:#14284c}.account-modal label{display:grid;gap:7px;margin:16px 0;color:#263858;font-weight:800}.account-modal input,.account-modal select{min-height:44px;padding:0 12px;border:1px solid #cbd5e5;border-radius:10px}.form-message{min-height:20px;color:#16825e}
.history-card.unfinished{border-color:#f0b646;background:#fffbef}.unfinished-actions{display:grid;gap:8px;padding:12px;border-radius:12px;background:#fff4cf;color:#604b18}.unfinished-actions>div,.student-artifact-list{display:flex;flex-wrap:wrap;gap:8px}.unfinished-actions .continue-progress,.student-artifact-list button{border:0;background:linear-gradient(90deg,#5d4fe1,#139ac4);color:#fff}.unfinished-actions .delete-progress{border-color:#e9a3aa;color:#b52f3e}.account-actions button:disabled{cursor:not-allowed;opacity:.55}.student-artifact-list{margin-top:12px}.student-history-artifact{width:min(720px,90vw)}.student-history-artifact header{margin-bottom:12px}.student-history-artifact h2{margin:4px 0;color:#14284c}.student-history-artifact iframe{width:100%;height:min(70vh,720px);border:1px solid #d4dbeb;border-radius:16px;background:#fff}
@media(max-width:620px){.student-login-gate{place-items:start center;padding:12px}.student-login-card{padding:20px 17px}.student-login-grid{grid-template-columns:1fr 1fr}.student-login-card h1{font-size:23px}.student-identity{display:none}.student-account-home{max-height:none;padding:18px}.student-dimension-list{grid-template-columns:1fr}.history-score-row{display:grid}.account-actions{display:grid}.student-account-home>header{align-items:flex-start}}
