:root{--student-blue:#0757c9;--student-ink:#10243a;--student-muted:#657487;--student-line:#dce5ee;--student-bg:#f4f7fa;--student-yellow:#ffd84d}
.student-auth-page,.student-dashboard-page{min-height:100vh;background:var(--student-bg);color:var(--student-ink)}
.auth-nav{position:relative!important;top:0!important;left:0!important;right:0!important;width:100%!important;transform:none!important;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(16,36,58,.08);box-shadow:0 8px 30px rgba(16,36,58,.05);padding:14px clamp(20px,5vw,72px);z-index:20}
.auth-nav .brand-logo{height:52px;width:auto}.auth-home-link,.dashboard-actions a,.dashboard-actions button{font-weight:700;color:var(--student-ink);text-decoration:none}.auth-home-link{font-size:.9rem}.dashboard-actions{display:flex;align-items:center;gap:24px}.dashboard-actions button{background:none;border:0;font:inherit;cursor:pointer}
.auth-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;min-height:calc(100vh - 81px);display:grid;grid-template-columns:1fr minmax(400px,500px);gap:clamp(40px,8vw,110px);align-items:center;padding:70px 0}
.auth-intro{padding-bottom:20px}.auth-kicker{font-size:.72rem;letter-spacing:.16em;font-weight:800;color:var(--student-blue)}.auth-intro h1{font-family:Manrope,DM Sans,sans-serif;font-size:clamp(3rem,6vw,5.7rem);line-height:.98;letter-spacing:-.055em;margin:18px 0 25px}.auth-intro h1 em{color:var(--student-blue);font-style:normal}.auth-intro>p{max-width:530px;font-size:1.05rem;line-height:1.7;color:var(--student-muted)}.auth-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.auth-points span{padding:10px 13px;background:#fff;border:1px solid var(--student-line);border-radius:999px;font-size:.78rem;font-weight:700}
.auth-card{background:#fff;border:1px solid var(--student-line);border-radius:26px;padding:30px;box-shadow:0 25px 70px rgba(16,36,58,.10)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f4f7;padding:5px;border-radius:14px;margin-bottom:24px}.auth-tab{border:0;background:transparent;border-radius:10px;padding:12px;font-weight:800;color:#6a7786;cursor:pointer}.auth-tab.active{background:#fff;color:var(--student-ink);box-shadow:0 3px 12px rgba(16,36,58,.08)}.auth-message{min-height:0;padding:0;margin:0 0 15px;font-size:.85rem;line-height:1.5}.auth-message:empty{display:none}.auth-message.error{color:#b42318;background:#fff1f0;border:1px solid #ffd4cf;border-radius:10px;padding:10px 12px}.auth-message.success{color:#16704a;background:#eefaf4;border:1px solid #c9eedb;border-radius:10px;padding:10px 12px}
.auth-form{display:none}.auth-form.active{display:block}.auth-form-head span,.dashboard-card>span{font-size:.68rem;letter-spacing:.14em;font-weight:800;color:var(--student-blue)}.auth-form-head h2{font-size:1.8rem;margin:7px 0 5px}.auth-form-head p{margin:0 0 20px;color:var(--student-muted);font-size:.88rem;line-height:1.5}.auth-form label{display:block;font-size:.78rem;font-weight:800;margin:13px 0;color:var(--student-ink)}.auth-form input{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid var(--student-line);border-radius:11px;padding:13px 14px;font:inherit;font-size:.92rem;outline:none;background:#fbfcfd}.auth-form input:focus{border-color:var(--student-blue);box-shadow:0 0 0 3px rgba(7,87,201,.10)}.auth-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-check{display:flex!important;align-items:flex-start;gap:9px;font-weight:600!important;color:var(--student-muted)!important}.auth-check input{width:auto!important;margin:1px 0 0!important}.auth-submit{width:100%;border:0;border-radius:12px;background:var(--student-blue);color:#fff;padding:14px 16px;font:inherit;font-weight:800;cursor:pointer;margin-top:14px}.auth-submit:hover{filter:brightness(.94)}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-submit span{float:right}.forgot-btn{display:block;margin:15px auto 0;border:0;background:none;color:var(--student-blue);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.auth-note{font-size:.7rem;line-height:1.5;color:#8793a0;margin:22px 0 0;text-align:center}
.dashboard-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:80px 0}.dashboard-hero{margin-bottom:38px}.dashboard-hero h1{font-family:Manrope,DM Sans,sans-serif;font-size:clamp(2.8rem,6vw,5.2rem);line-height:1;letter-spacing:-.05em;margin:15px 0}.dashboard-hero h1 span{color:var(--student-blue)}.dashboard-hero p{max-width:680px;color:var(--student-muted);line-height:1.7}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.dashboard-card{background:#fff;border:1px solid var(--student-line);border-radius:22px;padding:27px;min-height:190px;box-shadow:0 15px 45px rgba(16,36,58,.06)}.dashboard-card h2{margin:10px 0 8px;font-size:1.45rem}.dashboard-card p{margin:7px 0;color:var(--student-muted);line-height:1.5}.locked-card{position:relative}.lock-icon{position:absolute;right:22px;top:20px;font-size:1.1rem}.locked-card small{display:inline-block;margin-top:14px;padding:6px 9px;border-radius:999px;background:#f0f4f7;color:#687788;font-weight:800;font-size:.68rem}.dashboard-message{position:fixed;right:22px;bottom:22px;max-width:420px;z-index:30}
@media(max-width:850px){.auth-shell{grid-template-columns:1fr;gap:30px;padding:45px 0}.auth-intro h1{font-size:clamp(2.8rem,13vw,4.5rem)}.auth-card{padding:22px}.dashboard-grid{grid-template-columns:1fr}.dashboard-shell{padding:50px 0}.auth-nav{padding:12px 20px}.auth-nav .brand-logo{height:45px}.dashboard-actions{gap:13px;font-size:.8rem}}
@media(max-width:520px){.auth-two-col{grid-template-columns:1fr}.auth-home-link{font-size:.75rem}.auth-points{display:none}.dashboard-card{min-height:150px}}


.auth-form select, .auth-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(20, 25, 30, .14);
  border-radius: 12px;
  padding: 13px 14px;
  font: inherit;
  background: #fff;
  color: inherit;
  outline: none;
}
.auth-form textarea { resize: vertical; min-height: 92px; }
.auth-form select:focus, .auth-form textarea:focus { border-color: rgba(20, 25, 30, .35); }
