/* Student suite: clean top navigation, task-first dashboard, performance and achievements. */
  #student-nav.mv-student-nav-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap:.65rem; }
  .mv-student-nav-btn { min-height:54px; padding:.7rem .8rem; border:1px solid #e2e8f0; border-radius:17px; background:#fff; color:#64748b; display:flex; align-items:center; justify-content:center; gap:.55rem; font-family:'Fredoka',sans-serif; font-size:.79rem; font-weight:700; box-shadow:0 5px 16px rgba(15,23,42,.035); transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease,color .12s ease; }
  .mv-student-nav-btn:hover { border-color:#bae6fd; background:#f8fcff; color:#0369a1; transform:translateY(-1px); box-shadow:0 9px 20px rgba(14,165,233,.08); }
  .mv-student-nav-btn.is-active { color:#fff; border-color:#0284c7; background:linear-gradient(135deg,#38bdf8,#4EA8DE); box-shadow:0 10px 22px rgba(14,165,233,.20); }
  .mv-student-nav-icon { width:1.8rem; height:1.8rem; border-radius:.65rem; display:grid; place-items:center; background:#f1f5f9; color:#64748b; flex:0 0 1.8rem; }
  .mv-student-nav-btn.is-active .mv-student-nav-icon { background:rgba(255,255,255,.19); color:#fff; }
  @media (min-width:780px){ #student-nav.mv-student-nav-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
  @media (max-width:460px){ .mv-student-nav-btn { font-size:.72rem; padding:.65rem .55rem; } #snav-leaderboard { grid-column:1 / -1; } }

  .mv-student-page { width:100%; max-width:none; margin-inline:0; }
  #view-dashboard, #view-missions, #view-report, #view-achievements, #view-leaderboard { width:100%; max-width:none; margin-inline:0; }
  .mv-student-welcome { position:relative; overflow:hidden; min-height:170px; padding:1.65rem 1.8rem; border-radius:28px; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:1rem; background:radial-gradient(circle at 86% 15%,rgba(255,255,255,.20),transparent 28%),linear-gradient(135deg,#0284c7 0%,#4EA8DE 54%,#6366f1 100%); box-shadow:0 18px 42px rgba(14,116,144,.20); }
  .mv-student-welcome:after { content:""; position:absolute; width:230px; height:230px; border-radius:50%; right:-80px; bottom:-120px; background:rgba(255,255,255,.09); }
  .mv-student-welcome-copy { position:relative; z-index:2; }
  .mv-student-welcome h2,.mv-student-page-hero h2 { font-family:'Fredoka',sans-serif; font-size:clamp(1.8rem,4vw,2.7rem); line-height:1.05; font-weight:700; margin:.3rem 0 .45rem; }
  .mv-student-welcome p { color:#e0f2fe; font-weight:700; font-size:.93rem; }
  .mv-student-welcome-lion { position:relative; z-index:2; font-size:clamp(4rem,10vw,6.8rem); filter:drop-shadow(0 12px 16px rgba(15,23,42,.18)); transform:rotate(3deg); }
  .mv-eyebrow { display:inline-flex; align-items:center; gap:.35rem; font-size:.64rem; line-height:1; letter-spacing:.12em; text-transform:uppercase; font-weight:900; color:#64748b; }
  .mv-student-welcome .mv-eyebrow { color:#dff6ff; }
  .mv-eyebrow-blue{color:#0284c7}.mv-eyebrow-green{color:#059669}.mv-eyebrow-purple{color:#7c3aed}.mv-eyebrow-amber{color:#d97706}
  .mv-student-panel { background:#fff; border:1px solid #e2e8f0; border-radius:24px; padding:1.35rem; box-shadow:0 10px 26px rgba(15,23,42,.045); }
  .mv-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.15rem; }
  .mv-panel-heading.compact { margin-bottom:1rem; }
  .mv-panel-heading h3 { margin:.25rem 0 .2rem; color:#0f172a; font-family:'Fredoka',sans-serif; font-size:1.35rem; font-weight:700; }
  .mv-panel-heading p { color:#64748b; font-size:.79rem; font-weight:650; }
  .mv-text-action { flex:0 0 auto; padding:.65rem .9rem; border-radius:12px; background:#f0f9ff; color:#0369a1; font-size:.74rem; font-weight:900; }
  .mv-dashboard-todo-list { display:grid; gap:.8rem; }
  .mv-todo-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:center; padding:1rem 1.05rem; border:1px solid #e2e8f0; border-radius:18px; background:linear-gradient(180deg,#fff,#fbfdff); }
  .mv-todo-card.is-resume { border-color:#fde68a; background:linear-gradient(180deg,#fff,#fffbeb); }
  .mv-todo-card-title { margin:.2rem 0; color:#0f172a; font-family:'Fredoka',sans-serif; font-size:1.05rem; font-weight:700; }
  .mv-todo-meta { display:flex; flex-wrap:wrap; gap:.38rem .75rem; color:#64748b; font-size:.69rem; font-weight:800; }
  .mv-todo-meta span { display:inline-flex; align-items:center; gap:.3rem; }
  .mv-todo-action { min-width:108px; padding:.72rem .95rem; border-radius:13px; background:#FFD166; color:#713f12; font-family:'Fredoka',sans-serif; font-size:.79rem; font-weight:700; box-shadow:0 4px 0 #f59e0b; }
  .mv-todo-action:active { transform:translateY(2px); box-shadow:0 2px 0 #f59e0b; }
  .mv-dashboard-recent { display:grid; gap:.65rem; }
  .mv-recent-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem .95rem; border-radius:16px; background:#f8fafc; border:1px solid #e2e8f0; }
  .mv-recent-score { flex:0 0 auto; font-family:'Fredoka',sans-serif; font-size:1rem; font-weight:700; color:#059669; }
  .mv-empty-state { padding:1.6rem 1rem; border:1px dashed #cbd5e1; border-radius:18px; text-align:center; color:#64748b; background:#f8fafc; }
  .mv-empty-state .big { font-size:2rem; margin-bottom:.4rem; }
  .mv-empty-state strong { color:#334155; display:block; font-family:'Fredoka',sans-serif; }

  .mv-assignment-filterbar { display:flex; gap:.45rem; flex-wrap:wrap; padding:.35rem; width:max-content; max-width:100%; border-radius:14px; background:rgba(255,255,255,.85); border:1px solid #e2e8f0; }
  .mv-assignment-filter { padding:.52rem .85rem; border-radius:10px; color:#64748b; font-size:.72rem; font-weight:900; }
  .mv-assignment-filter.is-active { background:#e0f2fe; color:#0369a1; }
  .mv-assignment-card { position:relative; overflow:hidden; min-height:286px; height:100%; border:1px solid #e2e8f0; border-radius:24px; background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%); padding:1.25rem; box-shadow:0 10px 24px rgba(15,23,42,.045); display:flex; flex-direction:column; gap:1rem; }
  .mv-assignment-card:before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:#38bdf8; }
  .mv-assignment-card.is-completed:before { background:#34d399; }
  .mv-assignment-card .status-pill { padding:.35rem .6rem; border-radius:999px; font-size:.62rem; font-weight:900; }
  .mv-assignment-card .status-pill.todo { background:#e0f2fe; color:#0369a1; }
  .mv-assignment-card .status-pill.done { background:#dcfce7; color:#166534; }
  .mv-assignment-card h3 { color:#0f172a; font-family:'Fredoka',sans-serif; font-size:1.12rem; font-weight:700; }
  .mv-assignment-meta-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
  .mv-assignment-meta { min-height:58px; padding:.68rem .75rem; border-radius:14px; background:#f8fafc; border:1px solid #edf2f7; display:flex; flex-direction:column; justify-content:center; }
  .mv-assignment-meta label { display:block; color:#94a3b8; font-size:.55rem; line-height:1; text-transform:uppercase; letter-spacing:.08em; font-weight:900; margin-bottom:.3rem; }
  .mv-assignment-meta span { color:#475569; font-size:.72rem; font-weight:850; }

  .mv-student-page-hero { width:100%; min-height:150px; height:150px; padding:1.5rem 1.65rem; border-radius:27px; display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid #bae6fd; box-shadow:0 14px 34px rgba(15,23,42,.055); box-sizing:border-box; }
  .mv-student-page-hero p { max-width:620px; color:#64748b; font-size:.84rem; line-height:1.45; font-weight:700; }
  .mv-student-page-hero .mv-eyebrow { font-size:.64rem; line-height:1; letter-spacing:.12em; }
  .mv-student-page-hero h2 { font-size:clamp(1.8rem,4vw,2.7rem); line-height:1.05; margin:.3rem 0 .45rem; }
  .mv-performance-hero { border-color:#bae6fd; background:radial-gradient(circle at 88% 12%,rgba(56,189,248,.14),transparent 28%),linear-gradient(135deg,#fff,#f0f9ff); }
  .mv-assignment-hero { border-color:#bae6fd; background:radial-gradient(circle at 88% 12%,rgba(56,189,248,.14),transparent 28%),linear-gradient(135deg,#fff,#f0f9ff); }
  .mv-leaderboard-hero { border-color:#bae6fd; background:radial-gradient(circle at 88% 12%,rgba(56,189,248,.14),transparent 28%),linear-gradient(135deg,#fff,#f0f9ff); }
  .mv-achievement-hero { border-color:#fde68a; background:radial-gradient(circle at 88% 12%,rgba(251,191,36,.16),transparent 28%),linear-gradient(135deg,#fff,#fffbeb); }
  .mv-hero-symbol { width:82px; height:82px; flex:0 0 82px; display:grid; place-items:center; border-radius:24px; font-size:2.2rem; color:#fff; background:linear-gradient(145deg,#38bdf8,#4EA8DE); box-shadow:0 14px 28px rgba(14,165,233,.19); }
  .mv-achievement-hero .mv-hero-symbol { background:linear-gradient(145deg,#fbbf24,#f59e0b); box-shadow:0 14px 28px rgba(245,158,11,.18); }
  .mv-performance-summary,.mv-achievement-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; align-items:stretch; }
  .mv-summary-card { min-height:148px; height:100%; padding:1rem; border-radius:19px; background:#fff; border:1px solid #e2e8f0; box-shadow:0 8px 20px rgba(15,23,42,.035); display:flex; flex-direction:column; }
  .mv-summary-card .icon { width:2.45rem; height:2.45rem; display:grid; place-items:center; border-radius:.85rem; background:#f0f9ff; color:#0284c7; margin-bottom:.65rem; }
  .mv-summary-card label { display:block; color:#94a3b8; font-size:.58rem; text-transform:uppercase; letter-spacing:.08em; font-weight:900; }
  .mv-summary-card strong { display:block; color:#0f172a; font-family:'Fredoka',sans-serif; font-size:1.55rem; line-height:1.1; margin-top:.25rem; }
  .mv-summary-card small { display:block; color:#64748b; font-size:.65rem; font-weight:750; margin-top:auto; padding-top:.35rem; }
  .mv-performance-layout { display:grid; grid-template-columns:1fr; gap:1rem; align-items:stretch; }
  .mv-radar-wrap { min-height:330px; display:grid; place-items:center; }
  .mv-radar-svg { width:min(100%,430px); height:auto; overflow:visible; }
  .mv-radar-axis-label { font-family:'Nunito',sans-serif; font-size:10px; font-weight:900; fill:#475569; }
  .mv-skill-list { display:grid; gap:.65rem; }
  .mv-skill-row { padding:.8rem .9rem; border:1px solid #e2e8f0; border-radius:15px; background:#fff; }
  .mv-skill-row-head { display:flex; justify-content:space-between; gap:.8rem; font-size:.75rem; font-weight:900; color:#475569; }
  .mv-skill-track { height:7px; border-radius:999px; background:#f1f5f9; overflow:hidden; margin-top:.55rem; }
  .mv-skill-fill { height:100%; border-radius:inherit; background:linear-gradient(90deg,#38bdf8,#06D6A0); }
  .mv-skill-row small { display:block; color:#94a3b8; font-size:.6rem; font-weight:800; margin-top:.4rem; }
  .mv-results-table-wrap { border:1px solid #e2e8f0; border-radius:17px; overflow:hidden; }
  .mv-results-table thead { background:#f8fafc; color:#94a3b8; font-size:.62rem; text-transform:uppercase; letter-spacing:.05em; font-weight:900; }
  .mv-results-table th,.mv-results-table td { padding:.8rem .75rem; border-bottom:1px solid #f1f5f9; }
  .mv-results-table tbody { font-size:.75rem; font-weight:750; color:#475569; }
  #mission-list { align-items:stretch; }
  #mission-list > * { height:100%; }
  .mv-assignment-card > :last-child { margin-top:auto; }
  .mv-performance-layout > .mv-student-panel { height:100%; display:flex; flex-direction:column; }
  .mv-performance-layout > .mv-student-panel .mv-radar-wrap,
  .mv-performance-layout > .mv-student-panel .mv-skill-list { flex:1; }

  .mv-latest-badge { border-radius:24px; padding:1.25rem; color:#fff; background:linear-gradient(135deg,#7c3aed,#a855f7); box-shadow:0 16px 34px rgba(124,58,237,.19); }
  .mv-latest-badge-inner { display:flex; align-items:center; gap:1rem; }
  .mv-latest-badge-icon { width:76px; height:76px; flex:0 0 76px; display:grid; place-items:center; border-radius:22px; font-size:2.6rem; background:rgba(255,255,255,.17); border:1px solid rgba(255,255,255,.22); }
  .mv-latest-badge small { display:block; text-transform:uppercase; letter-spacing:.1em; font-size:.58rem; font-weight:900; color:#ede9fe; }
  .mv-latest-badge h3 { font-family:'Fredoka',sans-serif; font-size:1.4rem; font-weight:700; margin:.2rem 0; }
  .mv-latest-badge p { color:#f5f3ff; font-size:.72rem; font-weight:750; }
  .mv-badge-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
  .mv-badge-card { min-height:170px; padding:1rem .8rem; border-radius:19px; border:1px solid #e2e8f0; background:#fff; text-align:center; position:relative; overflow:hidden; }
  .mv-badge-card.is-earned { border-color:#fde68a; background:linear-gradient(180deg,#fff,#fffbeb); }
  .mv-badge-card.is-locked { background:#f8fafc; color:#94a3b8; }
  .mv-badge-icon { width:62px; height:62px; display:grid; place-items:center; margin:0 auto .7rem; border-radius:19px; background:#f1f5f9; font-size:2rem; filter:grayscale(1); opacity:.55; }
  .mv-badge-card.is-earned .mv-badge-icon { background:#fef3c7; filter:none; opacity:1; box-shadow:inset 0 0 0 1px #fde68a; }
  .mv-badge-card h4 { color:#334155; font-family:'Fredoka',sans-serif; font-size:.9rem; font-weight:700; }
  .mv-badge-card.is-locked h4 { color:#64748b; }
  .mv-badge-card p { margin-top:.3rem; color:#94a3b8; font-size:.61rem; line-height:1.4; font-weight:750; }
  .mv-badge-state { display:inline-flex; margin-top:.55rem; padding:.28rem .5rem; border-radius:999px; background:#dcfce7; color:#166534; font-size:.55rem; font-weight:900; }
  .mv-badge-card.is-locked .mv-badge-state { background:#e2e8f0; color:#64748b; }

  @media (min-width:680px){ .mv-performance-summary,.mv-achievement-summary { grid-template-columns:repeat(4,minmax(0,1fr)); } .mv-badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
  @media (min-width:980px){ .mv-performance-layout { grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); } .mv-badge-grid{grid-template-columns:repeat(4,minmax(0,1fr));} }
  @media (max-width:640px){ .mv-student-welcome,.mv-student-page-hero { padding:1.25rem; border-radius:22px; } .mv-student-page-hero { height:auto; min-height:132px; } .mv-student-welcome-lion,.mv-hero-symbol{display:none}.mv-panel-heading{flex-direction:column}.mv-text-action{width:100%;text-align:center}.mv-todo-card{grid-template-columns:1fr}.mv-todo-action{width:100%}.mv-student-panel{padding:1rem;border-radius:20px}.mv-radar-wrap{min-height:270px}.mv-results-table{min-width:720px}.mv-latest-badge-inner{align-items:flex-start}.mv-badge-grid{gap:.6rem}.mv-badge-card{min-height:158px;padding:.85rem .6rem} }

  /* Student dashboard — reference-inspired two-column layout. */
  .mv-reference-dashboard { width:100%; max-width:none; }
  .mv-reference-dashboard-grid { display:grid; grid-template-columns:minmax(280px,34%) minmax(0,1fr); gap:1.35rem; align-items:start; }
  .mv-reference-dashboard-left { display:grid; gap:1.1rem; min-width:0; }
  .mv-reference-welcome { min-height:300px; padding:1.6rem 1.4rem; flex-direction:column; justify-content:center; text-align:center; border-radius:28px; background:linear-gradient(145deg,#0ea5e9 0%,#18aee8 48%,#22b8df 100%); }
  .mv-reference-welcome:before { content:""; position:absolute; inset:0; opacity:.13; background-image:radial-gradient(circle at 18% 22%,#fff 0 4px,transparent 5px),radial-gradient(circle at 73% 66%,#fff 0 5px,transparent 6px),radial-gradient(circle at 46% 82%,#fff 0 3px,transparent 4px); background-size:78px 78px,96px 96px,62px 62px; }
  .mv-reference-welcome:after { display:none; }
  .mv-reference-avatar { position:relative; z-index:2; width:116px; height:116px; border-radius:50%; display:grid; place-items:center; margin:0 auto .85rem; background:rgba(255,255,255,.86); border:8px solid rgba(255,255,255,.25); box-shadow:0 12px 28px rgba(3,105,161,.18); }
  .mv-reference-avatar span { font-size:3.55rem; line-height:1; }
  .mv-reference-welcome h2 { font-size:clamp(1.75rem,3vw,2.35rem); margin:.25rem 0 .35rem; }
  .mv-reference-welcome p { color:rgba(255,255,255,.9); }
  .mv-reference-performance-card,.mv-reference-leaderboard-card { border-radius:24px; padding:1.25rem; }
  .mv-reference-section-title { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; margin-bottom:.75rem; text-align:center; }
  .mv-reference-section-title > div { width:100%; }
  .mv-reference-section-title h3 { width:100%; font-family:'Fredoka',sans-serif; color:#172554; font-size:1.2rem; font-weight:700; }
  .mv-reference-section-title p { margin-top:.12rem; color:#94a3b8; font-size:.72rem; font-weight:700; }
  .mv-reference-section-title button { color:#0891b2; font-size:.73rem; font-weight:900; white-space:nowrap; }
  .mv-dashboard-performance { min-height:270px; display:grid; place-items:center; }
  .mv-dashboard-performance .mv-radar-svg { width:100%; max-width:330px; }
  .mv-dashboard-performance .mv-skill-list { width:100%; }
  .mv-reference-todo-column { min-width:0; }
  .mv-reference-todo-heading { padding:.25rem .2rem .7rem; }
  .mv-reference-todo-heading h2 { color:#172554; font-family:'Fredoka',sans-serif; font-size:2.45rem; line-height:1; font-weight:700; }
  .mv-reference-todo-heading p { margin-top:.35rem; color:#94a3b8; font-size:.78rem; font-weight:700; }
  .mv-reference-todo-list { gap:1rem; }
  .mv-reference-todo-list .mv-todo-card { min-height:210px; grid-template-columns:minmax(0,1fr) auto; align-content:center; padding:1.45rem 1.55rem; border-radius:26px; box-shadow:0 12px 28px rgba(15,23,42,.055); }
  .mv-reference-todo-list .mv-todo-card-title { font-size:1.35rem; color:#172554; margin:.35rem 0 .7rem; }
  .mv-reference-todo-list .mv-todo-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem 1rem; max-width:590px; font-size:.72rem; }
  .mv-reference-todo-list .mv-todo-action { min-width:112px; background:#0ea5e9; color:#fff; box-shadow:0 4px 0 #0284c7; }
  .mv-dashboard-leaderboard { display:grid; gap:.42rem; }
  .mv-dashboard-board-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:.55rem; padding:.48rem .55rem; border-radius:13px; color:#475569; font-size:.76rem; font-weight:800; }
  .mv-dashboard-board-row.is-me { background:#f1f5f9; color:#0f172a; }
  .mv-dashboard-board-rank { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; background:#e2e8f0; color:#64748b; font-size:.7rem; font-weight:900; }
  .mv-dashboard-board-row:nth-child(1) .mv-dashboard-board-rank { background:#fbbf24; color:#fff; }
  .mv-dashboard-board-row:nth-child(2) .mv-dashboard-board-rank { background:#fb923c; color:#fff; }
  .mv-dashboard-board-row:nth-child(3) .mv-dashboard-board-rank { background:#f97316; color:#fff; }
  .mv-dashboard-board-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .mv-dashboard-board-points { padding:.38rem .62rem; border-radius:999px; background:#4338ca; color:#fff; font-size:.7rem; font-weight:900; }
  .mv-reference-see-all { width:100%; margin-top:.75rem; padding:.6rem .5rem; color:#0891b2; font-size:.75rem; font-weight:900; text-align:center; }
  @media (max-width:900px){ .mv-reference-dashboard-grid { grid-template-columns:1fr; } .mv-reference-dashboard-left { grid-template-columns:1fr; } .mv-reference-welcome { min-height:220px; } .mv-reference-todo-column { grid-row:auto; } }
  @media (max-width:640px){ .mv-reference-welcome { min-height:200px; } .mv-reference-avatar { width:90px; height:90px; border-width:6px; } .mv-reference-avatar span { font-size:2.8rem; } .mv-reference-todo-heading h2 { font-size:2rem; } .mv-reference-todo-list .mv-todo-card { min-height:0; grid-template-columns:1fr; padding:1.1rem; border-radius:21px; } .mv-reference-todo-list .mv-todo-meta { grid-template-columns:1fr; } .mv-dashboard-performance { min-height:230px; } }
