@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--ink:#18213b;--muted:#78829a;--blue:#5267d8;--purple:#8b5cf6;--line:#e7eaf2}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#f4f6fc}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}
.brand-panel{padding:9vh 9%;display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 80% 20%,#9272ed 0,transparent 35%),linear-gradient(140deg,#263d91,#6848bb 70%,#8c5ed0)}
.brand-mark{width:54px;height:54px;border-radius:17px;background:#fff;color:#584dc0;display:grid;place-items:center;font-size:30px;font-weight:800}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;opacity:.8;margin-top:35px}.brand-panel h1{font-size:clamp(36px,5vw,62px);line-height:1.08;margin:15px 0}.brand-panel h1 span{color:#d8d0ff}.brand-panel>p:last-child{max-width:420px;line-height:1.8;color:#e5e5ff}
.form-panel{width:min(440px,82%);margin:auto;padding:50px 0}.back-link,.text-link{color:var(--blue);text-decoration:none;font-size:13px;font-weight:600}.form-panel h2{font-size:30px;margin:42px 0 8px}.muted{color:var(--muted);font-size:14px;line-height:1.6}.form-panel form{margin-top:28px}.form-panel label{display:block;font-size:13px;font-weight:600;margin:17px 0}.form-panel input{display:block;width:100%;margin-top:8px;padding:14px 15px;border:1px solid var(--line);border-radius:11px;font:inherit;outline:none}.form-panel input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #5267d81c}
.primary{display:block;border:0;border-radius:11px;background:linear-gradient(100deg,var(--blue),var(--purple));color:#fff;text-align:center;padding:14px 20px;font-weight:700;text-decoration:none;cursor:pointer;width:100%;margin-top:24px}.primary.inline{display:inline-block;width:auto}.switch{text-align:center;font-size:13px;color:var(--muted);margin-top:22px}.switch a{color:var(--blue);font-weight:700;text-decoration:none}.alert{padding:12px 14px;border-radius:10px;font-size:13px;margin:18px 0}.alert.error{background:#fff0f0;color:#a12c39}.alert.success{background:#eaf9f0;color:#207448}
.dashboard{max-width:1120px;margin:auto;padding:0 28px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-weight:800;letter-spacing:1px;color:#4d59b9;text-decoration:none}.logout{color:#6b7280;text-decoration:none;font-size:13px}.welcome{padding:55px 0 25px}.welcome .eyebrow{color:var(--blue);margin:0}.welcome h1{font-size:34px;margin:12px 0 0}.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0 60px}.dash-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:0 8px 28px #26335b08}.card-icon{font-size:26px}.dash-card h3{margin:15px 0 8px}.dash-card p{font-size:13px;color:var(--muted);line-height:1.7;min-height:66px}.coming{font-size:12px;color:#7b65c7;font-weight:700}footer{text-align:center;color:#9aa1b2;font-size:12px;padding:25px}
@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.brand-panel{padding:38px 9%}.brand-panel .eyebrow{margin-top:22px}.brand-panel h1{font-size:38px}.form-panel{padding:38px 0}.form-panel h2{margin-top:30px}.dash-grid{grid-template-columns:1fr}.welcome{padding-top:35px}}

/* Authenticated dashboard — visual language shared with the public homepage */
.student-dashboard{background:#f6f7fc;color:#202744;font-family:Inter,system-ui,sans-serif}.student-dashboard .app-shell{min-height:100vh}.student-dashboard .sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fff;border-right:1px solid #e9ecf4;padding:25px 17px;display:flex;flex-direction:column;z-index:5}.student-dashboard .brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#202744;font-weight:900;letter-spacing:.5px;font-size:14px;padding:4px 8px}.student-dashboard .brand small{display:block;font-size:8px;letter-spacing:1.5px;color:#929bb0;margin-top:4px}.student-dashboard .mark{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#5267d8,#965bd2);font-size:23px}.student-dashboard .side-label{font-size:9px;font-weight:800;letter-spacing:1.5px;color:#a0a7b8;margin:42px 10px 13px}.student-dashboard .side-link{display:flex;align-items:center;gap:13px;padding:12px 13px;margin:3px 0;border-radius:10px;color:#69738b;text-decoration:none;font-size:12px;font-weight:600}.student-dashboard .side-link span{font-size:17px;width:19px;text-align:center}.student-dashboard .side-link.active{background:#f0efff;color:#6259c8}.student-dashboard .side-bottom{margin-top:auto}.student-dashboard .side-help{background:linear-gradient(145deg,#f1efff,#f4f6ff);padding:16px;border-radius:13px}.student-dashboard .side-help strong{font-size:12px}.student-dashboard .side-help p{font-size:10px;line-height:1.6;color:#77819a}.student-dashboard .side-help a,.student-dashboard .side-logout{font-size:11px;font-weight:800;color:#6259c8;text-decoration:none}.student-dashboard .side-logout{display:block;padding:15px 8px 0}.student-dashboard .side-copy{display:block;font-size:9px;color:#a0a7b8;margin:17px 8px 0}.student-dashboard .main-area{margin-left:248px;min-height:100vh}.student-dashboard .topbar{height:70px;background:#fff;border-bottom:1px solid #e9ecf4;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%}.student-dashboard .breadcrumb{font-size:11px;color:#a0a7b8}.student-dashboard .topbar strong{font-size:12px}.student-dashboard .top-actions{display:flex;align-items:center;gap:9px}.student-dashboard .visitor-chip{font-size:10px;color:#7a8298;background:#f4f5fa;padding:9px 11px;border-radius:30px;margin-right:8px}.student-dashboard .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:10px 15px;border-radius:9px;text-decoration:none;font-size:11px;font-weight:800;white-space:nowrap}.student-dashboard .btn-primary{background:linear-gradient(100deg,#5267d8,#8958d8);color:#fff;box-shadow:0 7px 18px #665bd32b}.student-dashboard .btn-outline{border:1px solid #e0e4f0;color:#505db9;background:#fff}.student-dashboard .btn-light{background:#fff;color:#5b60b8;border:1px solid #e6e5f5}.student-dashboard .btn-large{padding:13px 17px;font-size:11px}.student-dashboard .content{max-width:1400px;margin:auto;padding:30px 4.5% 25px}.student-dashboard .welcome-strip{background:radial-gradient(circle at 80% 15%,#9b8be7 0,transparent 30%),linear-gradient(110deg,#354b9d,#6652bb 68%,#8060c7);border-radius:18px;color:#fff;padding:38px 4.5%;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;min-height:270px;overflow:hidden}.student-dashboard .welcome-strip .eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:800;color:#d8d3ff;margin:0}.student-dashboard .welcome-strip h1{font-size:31px;letter-spacing:-1px;margin:13px 0 9px}.student-dashboard .welcome-strip p{font-size:12px;line-height:1.8;color:#e5e4ff;max-width:600px}.student-dashboard .welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:19px}.student-dashboard .welcome-visual{height:200px;position:relative;display:grid;place-items:center}.student-dashboard .visual-orbit{position:absolute;width:225px;height:155px;border:1px dashed #d2caff;border-radius:50%;transform:rotate(-28deg)}.student-dashboard .visual-globe{width:130px;height:130px;border-radius:48%;display:grid;place-items:center;background:linear-gradient(145deg,#a5b9ff,#d6a8f5);font-size:68px;box-shadow:0 20px 50px #22235d55;transform:rotate(-8deg)}.student-dashboard .visual-tag{position:absolute;background:#fff;color:#414b78;border:1px solid #ecebff;border-radius:10px;padding:9px 12px;font-size:10px;font-weight:800;box-shadow:0 8px 25px #1d235833}.student-dashboard .tag-one{left:0;top:20px}.student-dashboard .tag-two{right:0;top:50px}.student-dashboard .tag-three{left:18px;bottom:12px}.student-dashboard .quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 32px}.student-dashboard .quick-stats article{background:#fff;border:1px solid #e9ecf4;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px}.student-dashboard .stat-icon{width:38px;height:38px;border-radius:11px;background:#f0efff;display:grid;place-items:center;font-size:18px}.student-dashboard .quick-stats strong,.student-dashboard .quick-stats small{display:block}.student-dashboard .quick-stats strong{font-size:11px}.student-dashboard .quick-stats small{font-size:9px;color:#77819a;margin-top:5px}.student-dashboard .section-block{margin:30px 0 38px}.student-dashboard .section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:17px}.student-dashboard .section-title h2,.student-dashboard .info-panel h2{font-size:21px;letter-spacing:-.6px;margin:7px 0}.student-dashboard .section-title p,.student-dashboard .info-panel p{font-size:11px;line-height:1.8;color:#77819a;margin:0;max-width:650px}.student-dashboard .feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.student-dashboard .feature{background:#fff;border:1px solid #e9ecf4;border-radius:14px;padding:17px;min-height:205px;display:flex;flex-direction:column;box-shadow:0 5px 18px #26335b06}.student-dashboard .feature-head{display:flex;align-items:center;justify-content:space-between}.student-dashboard .feature-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;font-size:19px}.student-dashboard .purple{background:#f0ebff}.student-dashboard .pink{background:#ffedf4}.student-dashboard .orange{background:#fff1e5}.student-dashboard .green{background:#e8f8ee}.student-dashboard .lock-pill{font-size:8px;color:#7569c9;background:#f4f1ff;padding:6px 8px;border-radius:20px}.student-dashboard .feature h3{font-size:12px;margin:15px 0 7px}.student-dashboard .feature p{font-size:10px;line-height:1.7;color:#77819a;flex:1}.student-dashboard .feature-link{font-size:10px;font-weight:800;color:#5d5cc7;text-decoration:none;margin-top:9px}.student-dashboard .about-guide{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:38px 0}.student-dashboard .info-panel{background:#fff;border:1px solid #e9ecf4;border-radius:14px;padding:23px}.student-dashboard .info-panel .eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:800;color:#8c83dc;margin:0}.student-dashboard .mini-steps{display:grid;gap:12px;margin-top:14px}.student-dashboard .mini-steps>div{display:flex;align-items:center;gap:13px}.student-dashboard .mini-steps b{font-size:17px;color:#7065cd}.student-dashboard .mini-steps strong,.student-dashboard .mini-steps small{display:block}.student-dashboard .mini-steps strong{font-size:10px}.student-dashboard .mini-steps small{font-size:9px;color:#77819a;margin-top:4px}.student-dashboard footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e9ecf4;padding:20px 0;color:#9aa1b2;font-size:9px;text-align:left}.student-dashboard footer strong{color:#5e62b9;letter-spacing:1px}
@media(max-width:1100px){.student-dashboard .feature-grid{grid-template-columns:repeat(2,1fr)}.student-dashboard .sidebar{width:210px}.student-dashboard .main-area{margin-left:210px}.student-dashboard .welcome-strip{grid-template-columns:1fr .7fr}}
@media(max-width:720px){.student-dashboard .sidebar{position:static;width:auto;height:auto;padding:12px 16px;border-right:0;border-bottom:1px solid #e9ecf4}.student-dashboard .side-label,.student-dashboard .side-link,.student-dashboard .side-bottom{display:none}.student-dashboard .main-area{margin-left:0}.student-dashboard .topbar{padding:0 16px}.student-dashboard .visitor-chip{display:none}.student-dashboard .content{padding:18px 15px}.student-dashboard .welcome-strip{grid-template-columns:1fr;padding:25px 22px}.student-dashboard .welcome-strip h1{font-size:25px}.student-dashboard .welcome-visual{height:170px}.student-dashboard .quick-stats{grid-template-columns:1fr;gap:8px}.student-dashboard .section-title{align-items:start;flex-direction:column}.student-dashboard .feature-grid{grid-template-columns:1fr 1fr}.student-dashboard .about-guide{grid-template-columns:1fr}.student-dashboard .btn{padding:9px 11px;font-size:10px}}
@media(max-width:420px){.student-dashboard .feature-grid{grid-template-columns:1fr}.student-dashboard .topbar{height:62px}.student-dashboard .welcome-actions{flex-direction:column;align-items:stretch}.student-dashboard .welcome-actions .btn{width:100%}.student-dashboard footer{flex-wrap:wrap}}
