/* Student screens aligned with the supplied dashboard and login references. */
.student{--bg:#f1f1f1;--blue:#91b1cf;--ink:#29353d;--muted:#77838d}
.student .topbar{height:65px;padding:0 22px}.student .topbar .user{height:65px;padding:0 18px;background:#f5f5f9}.student .topbar .user small{display:none}.student .content{max-width:none;padding:22px 28px}.student .preview-banner{display:none}.student .student-nav{display:none}.student .student-nav.expanded{display:flex;flex-wrap:wrap;padding:0 28px}.student-menu{display:inline-flex}.welcome-strip{min-height:74px;padding:20px 22px;margin-bottom:46px;border-radius:3px;box-shadow:0 3px 4px #00000016}.welcome-strip h1{font-size:15px;font-weight:400;letter-spacing:0;margin:0;line-height:1.5}.welcome-icon{background:#91b1cf;color:white;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;flex-shrink:0}.welcome-strip .welcome-icon .icon{color:white;width:17px;height:17px}.student .dashboard-phases{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dashboard-phases .phase-card{min-height:210px;padding:30px 28px 28px;border-radius:3px;box-shadow:0 3px 4px #00000018;color:var(--ink)}a.phase-card:hover{border-color:#9eb9cc;box-shadow:0 4px 10px #354e6622}.phase-symbol{margin-bottom:23px;color:#91b1cf}.phase-symbol .icon{width:35px;height:35px;filter:drop-shadow(0 2px 2px #00000012)}.dashboard-phases h2{font-size:18px;font-weight:500;margin-bottom:8px}.dashboard-phases p{font-size:13px;line-height:1.5;min-height:0;margin-bottom:29px}.phase-meter{height:15px;position:relative;background:#edf0f1;border-radius:3px;overflow:hidden;margin-top:auto;width:100%}.phase-meter>span{position:absolute;left:0;top:0;bottom:0;background:#67ad7e}.phase-meter>small{position:relative;display:block;font-size:10px;line-height:15px;text-align:center;color:#31463a}.dashboard-summary{border-top:1px solid #cfd4d7;padding:22px 10px 0;margin:28px 0 18px;gap:22px}.summary-tile{min-height:230px;display:flex;flex-direction:column;padding:30px 28px 20px;position:relative;border-radius:3px;box-shadow:0 3px 4px #00000012}.summary-tile h3{font-size:18px;font-weight:400;margin:6px 42px 20px 0}.summary-tile p{font-size:13px;line-height:1.6;margin:0 0 6px}.shortcut-icon{position:absolute;right:27px;top:28px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e2c96c;color:white;box-shadow:0 2px 4px #00000024}.shortcut-icon .icon{width:21px;height:21px}.shortcut-detail{font-size:15px;color:#709abc;min-height:25px}.summary-tile .button{margin-top:auto;width:100%;min-height:36px;padding:8px;background:#91b1cf;font-size:12px;border-radius:3px;color:#ffffff}.dashboard-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;padding:0 10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.student-login{background:#dd5451;isolation:isolate;overflow-x:hidden}.student-login:before,.student-login:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}.student-login:before{background:#e4eef9;clip-path:polygon(0 0,31% 0,27% 30%,74% 30%,64% 100%,0 100%)}.student-login:after{background:#90b1cf;clip-path:polygon(0 30%,27% 30%,18% 100%,0 100%)}.student-login .login-card{max-width:430px;padding:25px 22px 23px;box-shadow:0 20px 28px #24354438}.student-login .login-card>.brand{margin-bottom:24px;font-size:21px}.student-login .login-title{border:0;padding:0;display:flex;justify-content:center;gap:10px;align-items:center;margin:0 0 30px}.student-login .login-title .eyebrow{font-size:11px;letter-spacing:0;text-transform:none;font-weight:400;white-space:nowrap}.student-login .login-title h1{font-size:11px;font-weight:400;letter-spacing:0;border-left:1px solid #bec5cb;padding-left:10px;color:#707b88;margin:0}.student-login .login-title p{display:none}.student-login .login-card label{font-size:12px;margin-top:14px}.student-login .login-card input{min-height:34px;padding:8px 10px;font-size:12px}.student-login .login-submit{min-height:35px;margin-top:25px;background:#91b1cf;color:#ffffff;padding:8px}.student-login .login-submit .icon{display:none}.student-login .login-legal{font-size:10px}.student-login .demo-entry{padding-top:10px;margin-top:12px}.student-login .demo-entry button{min-height:32px;padding:6px;font-size:11px}.student-login .login-card>.hint{font-size:11px;margin-top:20px}
@media(min-width:1600px){.student .content{max-width:1600px}.dashboard-phases .phase-card{min-height:235px}}
@media(max-width:1100px){.student .dashboard-phases{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-tile{min-height:215px}}
@media(max-width:600px){.student .topbar{padding:0 14px}.student .topbar .user{padding:0 4px;background:none}.student .topbar .brand{font-size:18px}.student .topbar .brand-sub{font-size:8px}.student .content{padding:18px 16px}.student .student-nav.expanded{display:grid;padding:0 12px}.welcome-strip{padding:16px;margin-bottom:24px;min-height:70px}.welcome-strip h1{font-size:13px}.student .dashboard-phases{grid-template-columns:1fr;gap:18px}.dashboard-phases .phase-card{min-height:215px}.dashboard-summary{grid-template-columns:1fr;padding:20px 0 0;gap:18px}.summary-tile{min-height:210px}.dashboard-meta{flex-direction:column;gap:9px}.student-login .login-title{gap:7px}.student-login .login-title h1{font-size:10px}.student-login{padding:25px 16px}}

/* Palette sampled from the supplied screenshots. */
.student .icon-box{background:#edf3f8;color:#91b1cf}.student .progress>span{background:#67ad7e}.student .button:not(.secondary):not(.quiet),.student button:not(.secondary):not(.quiet):not(.top-icon){background:#91b1cf;color:white}.student .student-nav button{background:transparent!important;color:#77838d!important}.student .section-actions .secondary{background:#67ad7e;border-color:#67ad7e;color:white}.student .phase-symbol .icon{stroke-width:2}.student .shortcut-icon .icon{stroke-width:1.8}.student .top-right>.top-icon{color:#8593a9}.student .tag.green{background:#eaf5ef;color:#438c5c}

/* Compact candidate login matching the supplied reference form. */
.exact-login .candidate-stage{width:430px;max-width:100%;margin-top:-10px}.exact-login .login-card{width:100%;padding:22px;min-height:396px}.exact-login .login-card>.brand{margin:0 0 24px;min-height:40px;font-size:19px}.exact-login .brand-mark{width:29px;height:32px;font-size:20px}.exact-login .brand-sub{font-size:8px}.exact-login .login-title{margin-bottom:34px}.exact-login .login-title .eyebrow{font-size:12px}.exact-login .login-title h1{font-size:12px}.exact-login .login-card label{margin:0;font-size:12px}.exact-login .login-card input:not([type=checkbox]){min-height:27px;height:27px;padding:5px 9px;margin-top:6px;border-radius:3px;font-size:12px}.password-heading{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.exact-login .login-text-link{display:inline;border:0;background:none;color:#91b1cf;font-weight:400;padding:0;min-height:0;font-size:12px;border-radius:0;text-decoration:underline;cursor:pointer}.exact-login .password-heading .login-text-link{color:#8b90a0;text-decoration:none}.password-field{position:relative}.exact-login .password-field input{padding-right:36px!important}.exact-login .password-toggle{position:absolute;right:1px;top:1px;background:transparent;color:#7b858d;border:0;padding:5px 8px;min-height:25px;height:25px;border-radius:0}.password-toggle .icon{width:15px;height:15px}.exact-login .remember-username{display:flex;gap:6px;align-items:center;margin-top:13px;font-size:12px;color:#30363c}.exact-login .remember-username input{width:14px;height:14px;min-height:14px;margin:0;accent-color:#91b1cf}.exact-login .login-submit{height:31px;min-height:31px;margin-top:17px;padding:5px;font-size:12px}.candidate-account{border-top:1px solid #eee;margin-top:14px;padding:14px 0 10px;text-align:center;color:#8b90a0;font-size:12px}.candidate-powered{text-align:center;color:white;font-size:9px;letter-spacing:2px;margin-top:17px;text-shadow:0 1px 3px #52677b77}.candidate-powered strong{font-size:13px;letter-spacing:0;color:#52606e;margin-left:7px}.candidate-disclaimer{text-align:center;font-size:10px;color:#52606e;margin:12px 0 0}.candidate-demo{text-align:center;margin-top:10px}.candidate-demo summary{color:#52606e;font-size:11px}.candidate-demo button{margin-top:10px;font-size:12px}.exact-login dialog{max-width:420px;width:calc(100% - 36px);border:1px solid #ddd;border-radius:4px;padding:25px;color:#303d47}.exact-login dialog::backdrop{background:#16283c66}.exact-login dialog p{font-size:14px;line-height:1.6}.exact-login .flash{padding:10px;font-size:12px}
@media(max-width:480px){.exact-login{padding:24px 16px}.exact-login .candidate-stage{margin:0}.exact-login .login-card{padding:22px 18px}.exact-login .login-title h1,.exact-login .login-title .eyebrow{font-size:10px}.candidate-account,.exact-login .candidate-account button{font-size:11px}}

.exact-login .login-card label.remember-username{margin-top:13px}

.exact-login .candidate-stage{width:min(430px,calc(100vw - 32px));min-width:0}.exact-login .login-card{min-width:0}
.speaking-pictures{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.speaking-pictures .task-image{flex:1;min-width:240px;max-width:100%;width:45%;object-fit:contain}.speaking-exam .record-area{margin-top:24px}.speaking-exam [data-prep-status]{display:block;font-size:20px;margin:14px 0;color:#385b78}.speaking-exam blockquote{font-size:22px;line-height:1.5}.speaking-exam audio{width:100%}@media(max-width:650px){.speaking-pictures .task-image{width:100%;min-width:0}}

.speaking-exam [hidden], [data-mic-check] [hidden]{display:none!important}

.student .tag.red{background:#fdecec;color:#b42318}
.student .content{-webkit-user-select:none;user-select:none}.student input,.student textarea,.student select,.student [contenteditable="true"]{-webkit-user-select:text;user-select:text}.student-watermark{position:fixed;bottom:12px;right:18px;color:#53677799;font-size:11px;pointer-events:none;z-index:9999;background:#ffffffb8;padding:4px 8px;border-radius:3px}@media print{body.student>*{display:none!important}body.student:before{content:"Printing student portal content is unavailable.";display:block}}
