/*
 * NBDS Dashboard Visual Theme v607
 * Emulates the interface and colour system of the uploaded reference dashboard.
 * VISUAL ONLY: no dashboard routes, forms, data, IDs, actions or workflows are changed.
 */

body.student-dashboard-body{
  --mp-navy:#15173a;
  --mp-navy-2:#242657;
  --mp-ink:#20243f;
  --mp-muted:#737b96;
  --mp-line:#e7eaf2;
  --mp-soft:#f3f5fa;
  --mp-white:#ffffff;
  --mp-role:#18a47a;
  --mp-role-dark:#11785a;
  --mp-role-soft:#e6faf4;
  --mp-role-rgb:24,164,122;
  --mp-shadow:0 18px 55px rgba(33,38,84,.10);
  --green-900:#11785a;
  --green-800:#148a68;
  --green-700:#18a47a;
  --green-600:#23b98d;
  --green-100:#e6faf4;
  --green-50:#f3fcf9;
  --gold:#f59e3f;
  --ink:#20243f;
  --muted:#737b96;
  --line:#e7eaf2;
  background:var(--mp-soft)!important;
  color:var(--mp-ink)!important;
}
body.teacher-dashboard-body{
  --mp-role:#197dc8;
  --mp-role-dark:#12629f;
  --mp-role-soft:#e8f5ff;
  --mp-role-rgb:25,125,200;
  --green-900:#12629f;
  --green-800:#176fab;
  --green-700:#197dc8;
  --green-600:#2792df;
  --green-100:#e8f5ff;
  --green-50:#f4faff;
}
body.parent-dashboard-body{
  --mp-role:#d97721;
  --mp-role-dark:#a85312;
  --mp-role-soft:#fff2e5;
  --mp-role-rgb:217,119,33;
  --green-900:#a85312;
  --green-800:#bd6417;
  --green-700:#d97721;
  --green-600:#e78b3d;
  --green-100:#fff2e5;
  --green-50:#fff9f3;
}
body.admin-oriented-body{
  --mp-role:#6657e8;
  --mp-role-dark:#4d3dd2;
  --mp-role-soft:#efedff;
  --mp-role-rgb:102,87,232;
  --green-900:#4d3dd2;
  --green-800:#5a49db;
  --green-700:#6657e8;
  --green-600:#786af0;
  --green-100:#efedff;
  --green-50:#f8f7ff;
}

/* Overall shell: same NBDS structure, reference-dashboard finish */
body.student-dashboard-body .student-app-shell{
  min-height:100vh!important;
  height:100vh!important;
  grid-template-columns:278px minmax(0,1fr)!important;
  background:var(--mp-soft)!important;
  overflow:hidden!important;
}
body.student-dashboard-body .student-main{
  min-width:0!important;
  height:100vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 27px 55px!important;
  background:
    radial-gradient(circle at 93% 2%,rgba(var(--mp-role-rgb),.055),transparent 24%),
    var(--mp-soft)!important;
  color:var(--mp-ink)!important;
}

/* Reference-style dark sidebar */
body.student-dashboard-body .student-sidebar{
  position:sticky!important;
  top:0!important;
  height:100vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:22px 17px 16px!important;
  background:linear-gradient(175deg,#17183d 0%,#20224e 58%,#171839 100%)!important;
  border-right:0!important;
  box-shadow:12px 0 35px rgba(21,23,58,.14)!important;
  color:#fff!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(255,255,255,.18) transparent!important;
}
body.student-dashboard-body .student-sidebar::-webkit-scrollbar{width:7px!important}
body.student-dashboard-body .student-sidebar::-webkit-scrollbar-track{background:transparent!important}
body.student-dashboard-body .student-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18)!important;border-radius:999px!important}

body.student-dashboard-body .student-brand{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:62px!important;
  margin:0 6px 16px!important;
  padding:0 0 18px!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
body.student-dashboard-body .student-brand-mark,
body.student-dashboard-body .student-brand .school-logo-mark{
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  padding:5px!important;
  background:linear-gradient(145deg,var(--mp-role),var(--mp-role-dark))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.22)!important;
}
body.student-dashboard-body .student-brand-mark img,
body.student-dashboard-body .student-brand .school-logo-mark img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:10px!important;
  background:#fff!important;
}
body.student-dashboard-body .student-brand > span:last-child{
  color:#fff!important;
  font-size:.94rem!important;
  line-height:1.25!important;
}

body.student-dashboard-body .student-mini-profile{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:8px 2px 10px!important;
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:none!important;
}
body.student-dashboard-body .student-avatar{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:var(--mp-role)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:none!important;
  font-size:.9rem!important;
}
body.student-dashboard-body .student-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
body.student-dashboard-body .student-mini-profile strong{
  color:#fff!important;
  font-size:.86rem!important;
  font-weight:800!important;
}
body.student-dashboard-body .student-mini-profile small{
  color:#aeb3d4!important;
  font-size:.75rem!important;
  margin-top:3px!important;
}

body.student-dashboard-body .student-nav-group{margin:12px 2px 0!important}
body.student-dashboard-body .student-nav-group p{
  display:block!important;
  margin:16px 11px 7px!important;
  color:#7f87b3!important;
  font-size:.70rem!important;
  font-weight:800!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}
body.student-dashboard-body .student-nav-link,
body.student-dashboard-body .student-sidebar .student-nav-link{
  position:relative!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:42px!important;
  margin:2px 0!important;
  padding:10px 11px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#c0c5e0!important;
  box-shadow:none!important;
  font-size:.84rem!important;
  font-weight:650!important;
  text-align:left!important;
  text-decoration:none!important;
  transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
body.student-dashboard-body .student-nav-link .nav-icon{
  width:20px!important;
  min-width:20px!important;
  height:20px!important;
  color:#aeb5d4!important;
}
body.student-dashboard-body .student-nav-link .nav-icon svg{
  width:18px!important;
  height:18px!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
}
body.student-dashboard-body .student-nav-link:hover{
  transform:translateX(2px)!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
}
body.student-dashboard-body .student-nav-link:hover .nav-icon{color:#fff!important}
body.student-dashboard-body .student-nav-link.active,
body.student-dashboard-body .student-sidebar .student-nav-link.active{
  background:linear-gradient(100deg,var(--mp-role),var(--mp-role-dark))!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(var(--mp-role-rgb),.25)!important;
  transform:none!important;
}
body.student-dashboard-body .student-nav-link.active::after{display:none!important}
body.student-dashboard-body .student-nav-link.active .nav-icon,
body.student-dashboard-body .student-nav-link.active .nav-icon svg{color:#fff!important;stroke:#fff!important}
body.student-dashboard-body .student-nav-link em,
body.student-dashboard-body .student-nav-link .nbds-unread-badge,
body.student-dashboard-body .student-nav-link .nav-live-count{
  margin-left:auto!important;
  color:#fff!important;
  background:rgba(255,255,255,.14)!important;
  border:0!important;
  box-shadow:none!important;
}
body.student-dashboard-body .student-logout,
body.student-dashboard-body .student-logout-bottom,
body.student-dashboard-body .student-top-logout{
  margin-top:9px!important;
  background:rgba(255,255,255,.045)!important;
  color:#c7cbe2!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
body.student-dashboard-body .student-logout:hover,
body.student-dashboard-body .student-logout-bottom:hover,
body.student-dashboard-body .student-top-logout:hover{
  background:rgba(220,75,98,.15)!important;
  color:#fff!important;
  border-color:rgba(220,75,98,.25)!important;
}
body.student-dashboard-body .student-logout .nav-icon{color:currentColor!important}

/* Full-width white topbar like the reference dashboard */
body.student-dashboard-body .student-topbar{
  min-height:88px!important;
  margin:0 -27px 25px!important;
  padding:15px 27px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid rgba(226,229,239,.95)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:none!important;
  backdrop-filter:blur(16px)!important;
  position:sticky!important;
  top:0!important;
  z-index:30!important;
}
body.student-dashboard-body .student-topbar small{
  color:var(--mp-role)!important;
  font-size:.66rem!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
body.student-dashboard-body .student-topbar strong{
  color:var(--mp-ink)!important;
  font-size:1.38rem!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
}

/* Dashboard hero / page cover */
body.student-dashboard-body .dashboard-hero,
body.student-dashboard-body .student-cover.student-page-hero.dashboard-hero,
body.student-dashboard-body .student-page-hero,
body.student-dashboard-body .student-page .student-cover,
body.student-dashboard-body .student-page .student-cover.compact{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  width:100%!important;
  min-height:230px!important;
  margin:0 0 26px!important;
  padding:30px 40px!important;
  border-radius:25px!important;
  color:#fff!important;
  background:linear-gradient(120deg,#1d1e49 0%,var(--mp-role-dark) 52%,var(--mp-role) 100%)!important;
  background-image:linear-gradient(120deg,#1d1e49 0%,var(--mp-role-dark) 52%,var(--mp-role) 100%)!important;
  box-shadow:var(--mp-shadow)!important;
}
body.student-dashboard-body .student-page .student-cover.compact{min-height:205px!important}
body.student-dashboard-body .dashboard-hero::before,
body.student-dashboard-body .student-page-hero::before,
body.student-dashboard-body .student-page .student-cover::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  width:280px!important;
  height:280px!important;
  right:-45px!important;
  top:-110px!important;
  border:48px solid rgba(255,255,255,.07)!important;
  border-radius:50%!important;
  background:none!important;
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  z-index:-1!important;
  pointer-events:none!important;
}
body.student-dashboard-body .dashboard-hero::after,
body.student-dashboard-body .student-page-hero::after,
body.student-dashboard-body .student-page .student-cover::after{
  content:""!important;
  position:absolute!important;
  width:90px!important;
  height:90px!important;
  right:230px!important;
  bottom:-50px!important;
  top:auto!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.08)!important;
  opacity:1!important;
  z-index:-1!important;
  pointer-events:none!important;
}
body.student-dashboard-body .dashboard-hero > *,
body.student-dashboard-body .student-page-hero > *,
body.student-dashboard-body .student-page .student-cover > *{position:relative!important;z-index:2!important}
body.student-dashboard-body .dashboard-hero > span,
body.student-dashboard-body .student-page-hero span,
body.student-dashboard-body .student-page .student-cover span{
  color:rgba(255,255,255,.72)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
  margin-bottom:8px!important;
}
body.student-dashboard-body .dashboard-hero h1,
body.student-dashboard-body .student-page-hero h1,
body.student-dashboard-body .student-page .student-cover h1,
body.student-dashboard-body .student-page .student-cover.compact h1{
  max-width:860px!important;
  margin:6px 0 8px!important;
  color:#fff!important;
  font-size:clamp(2rem,3.5vw,2.75rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:800!important;
}
body.student-dashboard-body .dashboard-hero p,
body.student-dashboard-body .student-page-hero p,
body.student-dashboard-body .student-page .student-cover p,
body.student-dashboard-body .student-page .student-cover.compact p{
  max-width:780px!important;
  margin:0!important;
  color:rgba(255,255,255,.80)!important;
  font-size:.95rem!important;
  line-height:1.7!important;
}
body.student-dashboard-body .student-live-pill{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  margin-top:16px!important;
  padding:8px 12px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.student-dashboard-body .student-live-pill span{color:#fff!important}

/* Reference-style statistic cards */
body.student-dashboard-body .student-stats-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0 0 24px!important;
}
body.student-dashboard-body .student-stat,
body.student-dashboard-body .student-stat-card,
body.student-dashboard-body .teacher-summary-stat-card,
body.student-dashboard-body .teacher-referral-stat-card,
body.student-dashboard-body .admin-user-summary-card{
  position:relative!important;
  overflow:hidden!important;
  min-height:118px!important;
  padding:20px!important;
  border:1px solid var(--mp-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(33,38,84,.06)!important;
  color:var(--mp-ink)!important;
}
body.student-dashboard-body .student-stat::before,
body.student-dashboard-body .student-stat-card::before{
  display:none!important;
}
body.student-dashboard-body .student-stat span,
body.student-dashboard-body .student-stat-card span{
  color:var(--mp-muted)!important;
  font-size:.78rem!important;
  font-weight:700!important;
}
body.student-dashboard-body .student-stat strong,
body.student-dashboard-body .student-stat-card strong{
  display:block!important;
  margin:6px 0 4px!important;
  color:var(--mp-ink)!important;
  font-size:1.85rem!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
}
body.student-dashboard-body .student-stat small,
body.student-dashboard-body .student-stat-card small{color:#9097ad!important;font-weight:600!important}
body.student-dashboard-body .student-stat-link{
  color:inherit!important;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
body.student-dashboard-body .student-stat-link:hover,
body.student-dashboard-body .student-stat-link:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(var(--mp-role-rgb),.32)!important;
  box-shadow:0 14px 30px rgba(var(--mp-role-rgb),.10)!important;
  outline:none!important;
}

/* Cards, panels and content containers */
body.student-dashboard-body .student-card,
body.student-dashboard-body .student-message-card,
body.student-dashboard-body .dashboard-panel,
body.student-dashboard-body .dashboard-card,
body.student-dashboard-body .profile-summary-card,
body.student-dashboard-body .profile-form-card,
body.student-dashboard-body .result-session-card,
body.student-dashboard-body .assignment-action-card,
body.student-dashboard-body .message-thread-card,
body.student-dashboard-body .admin-record-editor-card,
body.student-dashboard-body .admin-student-filter-card,
body.student-dashboard-body .admin-student-record-editor-card,
body.student-dashboard-body .class-leaderboard-card{
  border:1px solid var(--mp-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(33,38,84,.06)!important;
}
body.student-dashboard-body .student-card h2,
body.student-dashboard-body .student-message-card strong,
body.student-dashboard-body .dashboard-panel h2,
body.student-dashboard-body .dashboard-panel h3,
body.student-dashboard-body .dashboard-card h2,
body.student-dashboard-body .profile-summary-card h2,
body.student-dashboard-body .profile-form-head h2,
body.student-dashboard-body .result-session-card h2,
body.student-dashboard-body .class-leaderboard-head h2{
  color:var(--mp-ink)!important;
}
body.student-dashboard-body .student-card p,
body.student-dashboard-body .student-message-card p,
body.student-dashboard-body .profile-form-head p,
body.student-dashboard-body .class-leaderboard-head p{color:var(--mp-muted)!important}

/* Dashboard widgets emitted with inline legacy green styles */
body.student-dashboard-body .nbds-phet-widget,
body.student-dashboard-body .nbds-scheme-widget,
body.student-dashboard-body .nbds-class-pdf-widget{
  margin:18px 0 24px!important;
  padding:22px!important;
  border:1px solid var(--mp-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:0 10px 28px rgba(33,38,84,.06)!important;
  color:var(--mp-ink)!important;
}
body.student-dashboard-body .nbds-learning-widget{
  margin:18px 0 24px!important;
  padding:22px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:20px!important;
  background:linear-gradient(120deg,#1d1e49 0%,var(--mp-role-dark) 58%,var(--mp-role) 100%)!important;
  box-shadow:var(--mp-shadow)!important;
}
body.student-dashboard-body .nbds-phet-widget h2,
body.student-dashboard-body .nbds-scheme-widget h2,
body.student-dashboard-body .nbds-class-pdf-widget h2{color:var(--mp-ink)!important}
body.student-dashboard-body .nbds-phet-widget p,
body.student-dashboard-body .nbds-scheme-widget p,
body.student-dashboard-body .nbds-class-pdf-widget p{color:var(--mp-muted)!important}
body.student-dashboard-body .nbds-phet-widget-kicker,
body.student-dashboard-body .nbds-phet-mini small,
body.student-dashboard-body .nbds-scheme-widget small,
body.student-dashboard-body .nbds-class-pdf-widget small{color:var(--mp-role)!important}
body.student-dashboard-body .nbds-phet-context span{
  background:var(--mp-role-soft)!important;
  border-color:rgba(var(--mp-role-rgb),.18)!important;
  color:var(--mp-role-dark)!important;
}
body.student-dashboard-body .nbds-phet-mini{
  border-color:var(--mp-line)!important;
  background:#fff!important;
  color:var(--mp-ink)!important;
}
body.student-dashboard-body .nbds-phet-mini:hover{
  border-color:rgba(var(--mp-role-rgb),.38)!important;
  box-shadow:0 9px 22px rgba(var(--mp-role-rgb),.10)!important;
}
body.student-dashboard-body .nbds-phet-open,
body.student-dashboard-body .nbds-scheme-widget a,
body.student-dashboard-body .nbds-class-pdf-widget a{
  background:linear-gradient(135deg,var(--mp-role),var(--mp-role-dark))!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(var(--mp-role-rgb),.18)!important;
}
body.student-dashboard-body .nbds-learning-widget h2{color:#fff!important}
body.student-dashboard-body .nbds-learning-widget p{color:rgba(255,255,255,.80)!important}
body.student-dashboard-body .nbds-learning-widget small{color:rgba(255,255,255,.72)!important}
body.student-dashboard-body .nbds-learning-widget a{
  background:#fff!important;
  color:var(--mp-role-dark)!important;
}

/* Leaderboard */
body.student-dashboard-body .class-leaderboard-card{overflow:hidden!important}
body.student-dashboard-body .class-leaderboard-head{
  padding:22px!important;
  background:linear-gradient(180deg,#fff,#fafbfe)!important;
  border-bottom:1px solid var(--mp-line)!important;
}
body.student-dashboard-body .class-leaderboard-head>div:first-child>span{color:var(--mp-role)!important}
body.student-dashboard-body .class-leaderboard-table th{
  background:#f7f8fb!important;
  color:#666f89!important;
  border-color:var(--mp-line)!important;
}
body.student-dashboard-body .class-leaderboard-table td{color:var(--mp-ink)!important;border-color:var(--mp-line)!important}
body.student-dashboard-body .class-leaderboard-table tr.is-current-student td{background:var(--mp-role-soft)!important}

/* Tables */
body.student-dashboard-body .data-table,
body.student-dashboard-body .table-wrap{
  border-color:var(--mp-line)!important;
}
body.student-dashboard-body .data-table th,
body.student-dashboard-body table.data-table thead th{
  background:#f7f8fb!important;
  color:#656d86!important;
  border-color:var(--mp-line)!important;
}
body.student-dashboard-body .data-table td{border-color:var(--mp-line)!important;color:var(--mp-ink)!important}
body.student-dashboard-body .data-table tbody tr:hover{background:#fafbfe!important}

/* Buttons and form controls */
body.student-dashboard-body .btn-primary,
body.student-dashboard-body button.btn-primary,
body.student-dashboard-body a.btn-primary,
body.student-dashboard-body .button.primary{
  background:linear-gradient(135deg,var(--mp-role),var(--mp-role-dark))!important;
  color:#fff!important;
  border-color:var(--mp-role)!important;
  box-shadow:0 8px 20px rgba(var(--mp-role-rgb),.20)!important;
}
body.student-dashboard-body .btn-primary:hover,
body.student-dashboard-body button.btn-primary:hover,
body.student-dashboard-body a.btn-primary:hover{filter:brightness(.96)!important}
body.student-dashboard-body .btn-outline,
body.student-dashboard-body button.btn-outline,
body.student-dashboard-body a.btn-outline{
  color:var(--mp-role-dark)!important;
  border-color:rgba(var(--mp-role-rgb),.28)!important;
  background:#fff!important;
}
body.student-dashboard-body .btn-outline:hover{background:var(--mp-role-soft)!important}
body.student-dashboard-body input:focus,
body.student-dashboard-body select:focus,
body.student-dashboard-body textarea:focus{
  border-color:var(--mp-role)!important;
  box-shadow:0 0 0 4px rgba(var(--mp-role-rgb),.10)!important;
  outline:none!important;
}
body.student-dashboard-body input[type="checkbox"],
body.student-dashboard-body input[type="radio"]{accent-color:var(--mp-role)!important}

/* Profile and status elements */
body.student-dashboard-body .profile-progress-track div{background:linear-gradient(90deg,var(--mp-role),var(--mp-role-dark))!important}
body.student-dashboard-body .profile-status.complete,
body.student-dashboard-body .assignment-submitted-badge,
body.student-dashboard-body .status-pill{
  color:var(--mp-role-dark)!important;
  background:var(--mp-role-soft)!important;
  border-color:rgba(var(--mp-role-rgb),.18)!important;
}
body.student-dashboard-body .result-average-box{
  background:var(--mp-role-soft)!important;
  border-color:rgba(var(--mp-role-rgb),.18)!important;
}
body.student-dashboard-body .result-average-box strong,
body.student-dashboard-body .result-group-footer strong{color:var(--mp-role)!important}

/* Mobile dashboard controls use the same dark/navy language */
body.student-dashboard-body .nbds-mobile-sidebar-toggle,
body.student-dashboard-body .nbds-dashboard-drawer-toggle,
body.student-dashboard-body .nbds-persistent-mobile-menu-toggle{
  background:var(--mp-navy)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 10px 24px rgba(21,23,58,.22)!important;
}
body.student-dashboard-body .nbds-mobile-sidebar-backdrop,
body.student-dashboard-body .nbds-dashboard-drawer-backdrop{background:rgba(10,12,31,.50)!important}

/* Responsive behaviour remains the same workflow, only spacing adapts. */
@media (max-width:1280px){
  body.student-dashboard-body .student-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:1000px){
  body.student-dashboard-body .student-app-shell{grid-template-columns:250px minmax(0,1fr)!important}
  body.student-dashboard-body .student-main{padding:0 20px 45px!important}
  body.student-dashboard-body .student-topbar{margin:0 -20px 22px!important;padding:14px 20px!important}
  body.student-dashboard-body .student-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:800px){
  body.student-dashboard-body .student-app-shell{display:block!important;height:auto!important;min-height:100vh!important}
  body.student-dashboard-body .student-main{height:auto!important;min-height:100vh!important;padding:0 15px 45px!important}
  body.student-dashboard-body .student-topbar{min-height:76px!important;margin:0 -15px 18px!important;padding:13px 16px!important}
  body.student-dashboard-body .student-topbar strong{font-size:1.15rem!important}
  body.student-dashboard-body .dashboard-hero,
  body.student-dashboard-body .student-page-hero,
  body.student-dashboard-body .student-page .student-cover,
  body.student-dashboard-body .student-page .student-cover.compact{min-height:210px!important;padding:25px 24px!important;border-radius:20px!important}
  body.student-dashboard-body .dashboard-hero h1,
  body.student-dashboard-body .student-page-hero h1,
  body.student-dashboard-body .student-page .student-cover h1,
  body.student-dashboard-body .student-page .student-cover.compact h1{font-size:clamp(1.8rem,7vw,2.35rem)!important}
}
@media (max-width:580px){
  body.student-dashboard-body .student-stats-grid{grid-template-columns:1fr!important;gap:10px!important}
  body.student-dashboard-body .student-stat,
  body.student-dashboard-body .student-stat-card{min-height:105px!important;padding:17px!important}
  body.student-dashboard-body .dashboard-hero,
  body.student-dashboard-body .student-page-hero,
  body.student-dashboard-body .student-page .student-cover,
  body.student-dashboard-body .student-page .student-cover.compact{padding:22px 18px!important;border-radius:18px!important}
}

@media print{
  body.student-dashboard-body .student-sidebar,
  body.student-dashboard-body .student-topbar,
  body.student-dashboard-body .nbds-mobile-sidebar-toggle,
  body.student-dashboard-body .nbds-mobile-sidebar-backdrop{display:none!important}
  body.student-dashboard-body .student-main{padding:0!important;background:#fff!important}
  body.student-dashboard-body .student-card,
  body.student-dashboard-body .student-stat,
  body.student-dashboard-body .dashboard-panel{box-shadow:none!important}
}


/* ===== v608 readability/polish layer ===== */
/*
 * NBDS Dashboard Professional Polish v608
 * Visual-only refinement for Student, Teacher, Parent and Admin dashboards.
 * Keeps existing markup, routes, workflows, permissions, actions and data logic intact.
 */

/* --------------------------------------------------------------------------
   1. Design system
   -------------------------------------------------------------------------- */
html body.student-dashboard-body{
  --nbds-shell:#f4f6fb;
  --nbds-sidebar:#16183d;
  --nbds-sidebar-2:#20234f;
  --nbds-sidebar-text:#e8ebf8;
  --nbds-sidebar-muted:#9ba4cb;
  --nbds-ink:#1e2440;
  --nbds-copy:#46506b;
  --nbds-muted:#7a849e;
  --nbds-line:#e4e8f1;
  --nbds-card:#ffffff;
  --nbds-shadow:0 12px 34px rgba(26,31,70,.08);
  --nbds-shadow-hover:0 18px 42px rgba(26,31,70,.12);
  background:var(--nbds-shell)!important;
  color:var(--nbds-ink)!important;
}

/* --------------------------------------------------------------------------
   2. Desktop shell and workspace
   -------------------------------------------------------------------------- */
@media (min-width:901px){
  html body.student-dashboard-body .student-app-shell{
    grid-template-columns:286px minmax(0,1fr)!important;
    background:var(--nbds-shell)!important;
  }
  html body.student-dashboard-body .student-main{
    padding:0 30px 56px!important;
    background:
      radial-gradient(circle at 96% 0%,rgba(var(--mp-role-rgb),.055),transparent 24%),
      var(--nbds-shell)!important;
  }
}

/* --------------------------------------------------------------------------
   3. Sidebar: high-contrast, professional and readable on every role
   -------------------------------------------------------------------------- */
html body.student-dashboard-body aside.student-sidebar,
html body.student-dashboard-body aside.student-sidebar[data-sidebar-scope],
html body.student-dashboard-body #nbdsDashboardSidebar.student-sidebar,
html body.student-dashboard-body .static-dashboard-sidebar.student-sidebar,
html body.student-dashboard-body .admin-oriented-sidebar.student-sidebar,
html body.student-dashboard-body .parent-sidebar.student-sidebar,
html body.student-dashboard-body .teacher-sidebar.student-sidebar{
  background:linear-gradient(180deg,var(--nbds-sidebar) 0%,var(--nbds-sidebar-2) 58%,#151735 100%)!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.05)!important;
  box-shadow:10px 0 30px rgba(19,22,54,.12)!important;
}

html body.student-dashboard-body aside.student-sidebar .student-brand,
html body.student-dashboard-body #nbdsDashboardSidebar .student-brand{
  color:#fff!important;
  border-bottom-color:rgba(255,255,255,.10)!important;
}
html body.student-dashboard-body aside.student-sidebar .student-brand > span:last-child,
html body.student-dashboard-body #nbdsDashboardSidebar .student-brand > span:last-child{
  display:block!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  font-weight:800!important;
}

html body.student-dashboard-body aside.student-sidebar .student-mini-profile,
html body.student-dashboard-body #nbdsDashboardSidebar .student-mini-profile{
  background:rgba(255,255,255,.065)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
html body.student-dashboard-body aside.student-sidebar .student-mini-profile strong,
html body.student-dashboard-body #nbdsDashboardSidebar .student-mini-profile strong{
  display:block!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:.88rem!important;
  line-height:1.25!important;
  font-weight:800!important;
}
html body.student-dashboard-body aside.student-sidebar .student-mini-profile small,
html body.student-dashboard-body #nbdsDashboardSidebar .student-mini-profile small{
  display:block!important;
  color:#b5bcda!important;
  opacity:1!important;
  visibility:visible!important;
  font-weight:600!important;
}

/* Section/page-group labels: deliberately brighter than v607. */
html body.student-dashboard-body aside.student-sidebar .student-nav-group > p,
html body.student-dashboard-body aside.student-sidebar .parent-reference-nav-group > p,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-group > p,
html body.student-dashboard-body #nbdsDashboardSidebar .parent-reference-nav-group > p,
html body.student-dashboard-body .admin-oriented-sidebar[data-sidebar-scope="admin"] .student-nav-group > p,
html body.student-dashboard-body .parent-sidebar[data-sidebar-scope="parent"] .student-nav-group > p,
html body.student-dashboard-body .parent-sidebar[data-sidebar-scope="parent"] .parent-reference-nav-group > p{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  line-height:1.2!important;
  margin:18px 10px 8px!important;
  color:#aeb7dc!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:.69rem!important;
  font-weight:850!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

/* Every sidebar item, including labels which were too faint in the screenshot. */
html body.student-dashboard-body aside.student-sidebar .student-nav-link,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link,
html body.student-dashboard-body .admin-oriented-sidebar[data-sidebar-scope="admin"] .student-nav-link,
html body.student-dashboard-body .parent-sidebar[data-sidebar-scope="parent"] .student-nav-link{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:43px!important;
  height:auto!important;
  max-height:none!important;
  margin:3px 0!important;
  padding:10px 12px!important;
  gap:11px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:transparent!important;
  color:var(--nbds-sidebar-text)!important;
  box-shadow:none!important;
  font-size:.86rem!important;
  font-weight:680!important;
  line-height:1.25!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link > span:not(.nav-icon),
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link > span:not(.nav-icon),
html body.student-dashboard-body .admin-oriented-sidebar[data-sidebar-scope="admin"] .student-nav-link > span:not(.nav-icon),
html body.student-dashboard-body .parent-sidebar[data-sidebar-scope="parent"] .student-nav-link > span:not(.nav-icon){
  display:block!important;
  color:inherit!important;
  opacity:1!important;
  visibility:visible!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.25!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link .nav-icon,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link .nav-icon{
  color:#b8c0de!important;
  opacity:1!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link:hover,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link:hover,
html body.student-dashboard-body .admin-oriented-sidebar[data-sidebar-scope="admin"] .student-nav-link:hover,
html body.student-dashboard-body .parent-sidebar[data-sidebar-scope="parent"] .student-nav-link:hover{
  background:rgba(255,255,255,.075)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.055)!important;
  transform:translateX(2px)!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link:hover .nav-icon,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link:hover .nav-icon{
  color:#fff!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link.active,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link.active,
html body.student-dashboard-body .admin-oriented-sidebar[data-sidebar-scope="admin"] .student-nav-link.active,
html body.student-dashboard-body .parent-sidebar[data-sidebar-scope="parent"] .student-nav-link.active{
  background:linear-gradient(105deg,var(--mp-role),var(--mp-role-dark))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 10px 22px rgba(var(--mp-role-rgb),.24)!important;
  transform:none!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link.active .nav-icon,
html body.student-dashboard-body aside.student-sidebar .student-nav-link.active .nav-icon svg,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link.active .nav-icon,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link.active .nav-icon svg{
  color:#fff!important;
  stroke:#fff!important;
}

html body.student-dashboard-body aside.student-sidebar .student-logout,
html body.student-dashboard-body aside.student-sidebar .student-logout-bottom,
html body.student-dashboard-body #nbdsDashboardSidebar .student-logout,
html body.student-dashboard-body #nbdsDashboardSidebar .student-logout-bottom{
  background:rgba(255,255,255,.045)!important;
  color:#d8dcef!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:12px!important;
}
html body.student-dashboard-body aside.student-sidebar .student-logout:hover,
html body.student-dashboard-body #nbdsDashboardSidebar .student-logout:hover{
  background:rgba(224,75,92,.14)!important;
  border-color:rgba(224,75,92,.28)!important;
  color:#fff!important;
}

/* --------------------------------------------------------------------------
   4. Current-page header: compact, clear and prominent
   -------------------------------------------------------------------------- */
html body.student-dashboard-body .student-topbar{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  min-height:76px!important;
  margin:18px 0 24px!important;
  padding:13px 18px 13px 20px!important;
  border:1px solid var(--nbds-line)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 8px 24px rgba(26,31,70,.055)!important;
  backdrop-filter:blur(14px)!important;
  overflow:hidden!important;
}
html body.student-dashboard-body .student-topbar::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:14px!important;
  bottom:14px!important;
  width:4px!important;
  border-radius:0 6px 6px 0!important;
  background:var(--mp-role)!important;
}
html body.student-dashboard-body .student-topbar > div:first-child{
  min-width:0!important;
  padding-left:3px!important;
}
html body.student-dashboard-body .student-topbar small{
  display:block!important;
  margin:0 0 4px!important;
  color:var(--mp-role-dark)!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:.70rem!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
html body.student-dashboard-body .student-topbar strong,
html body.student-dashboard-body #currentPageTitle{
  display:block!important;
  color:var(--nbds-ink)!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:1.5rem!important;
  line-height:1.15!important;
  font-weight:850!important;
  letter-spacing:-.025em!important;
}

/* --------------------------------------------------------------------------
   5. Hero: polished but less oversized, preserving the same content
   -------------------------------------------------------------------------- */
html body.student-dashboard-body .dashboard-hero,
html body.student-dashboard-body .student-cover.student-page-hero.dashboard-hero,
html body.student-dashboard-body .student-page-hero,
html body.student-dashboard-body .student-page .student-cover,
html body.student-dashboard-body .student-page .student-cover.compact{
  min-height:210px!important;
  margin-bottom:24px!important;
  padding:30px 36px!important;
  border-radius:24px!important;
  box-shadow:0 18px 42px rgba(26,31,70,.13)!important;
}
html body.student-dashboard-body .dashboard-hero > span,
html body.student-dashboard-body .student-page-hero > span,
html body.student-dashboard-body .student-page .student-cover > span{
  color:rgba(255,255,255,.78)!important;
  font-size:.71rem!important;
  font-weight:900!important;
}
html body.student-dashboard-body .dashboard-hero h1,
html body.student-dashboard-body .student-page-hero h1,
html body.student-dashboard-body .student-page .student-cover h1,
html body.student-dashboard-body .student-page .student-cover.compact h1{
  max-width:820px!important;
  font-size:clamp(2rem,3.1vw,2.55rem)!important;
  line-height:1.08!important;
  font-weight:850!important;
}
html body.student-dashboard-body .dashboard-hero p,
html body.student-dashboard-body .student-page-hero p,
html body.student-dashboard-body .student-page .student-cover p{
  max-width:820px!important;
  color:rgba(255,255,255,.86)!important;
  font-size:.96rem!important;
  line-height:1.6!important;
}

/* --------------------------------------------------------------------------
   6. Cards, panels and typography
   -------------------------------------------------------------------------- */
html body.student-dashboard-body .student-stat,
html body.student-dashboard-body .student-stat-card,
html body.student-dashboard-body .teacher-summary-stat-card,
html body.student-dashboard-body .teacher-referral-stat-card,
html body.student-dashboard-body .admin-user-summary-card,
html body.student-dashboard-body .student-card,
html body.student-dashboard-body .student-message-card,
html body.student-dashboard-body .dashboard-panel,
html body.student-dashboard-body .dashboard-card,
html body.student-dashboard-body .profile-summary-card,
html body.student-dashboard-body .profile-form-card,
html body.student-dashboard-body .result-session-card,
html body.student-dashboard-body .assignment-action-card,
html body.student-dashboard-body .message-thread-card,
html body.student-dashboard-body .admin-record-editor-card,
html body.student-dashboard-body .admin-student-filter-card,
html body.student-dashboard-body .admin-student-record-editor-card,
html body.student-dashboard-body .class-leaderboard-card{
  border:1px solid var(--nbds-line)!important;
  border-radius:18px!important;
  background:var(--nbds-card)!important;
  box-shadow:var(--nbds-shadow)!important;
}
html body.student-dashboard-body .student-card h1,
html body.student-dashboard-body .student-card h2,
html body.student-dashboard-body .student-card h3,
html body.student-dashboard-body .dashboard-panel h1,
html body.student-dashboard-body .dashboard-panel h2,
html body.student-dashboard-body .dashboard-panel h3,
html body.student-dashboard-body .dashboard-card h1,
html body.student-dashboard-body .dashboard-card h2,
html body.student-dashboard-body .dashboard-card h3,
html body.student-dashboard-body .profile-summary-card h2,
html body.student-dashboard-body .profile-form-head h2{
  color:var(--nbds-ink)!important;
  font-weight:820!important;
  letter-spacing:-.018em!important;
}
html body.student-dashboard-body .student-card p,
html body.student-dashboard-body .dashboard-panel p,
html body.student-dashboard-body .dashboard-card p,
html body.student-dashboard-body .profile-form-head p{
  color:var(--nbds-copy)!important;
}

html body.student-dashboard-body .student-stat,
html body.student-dashboard-body .student-stat-card,
html body.student-dashboard-body .teacher-summary-stat-card,
html body.student-dashboard-body .teacher-referral-stat-card,
html body.student-dashboard-body .admin-user-summary-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
html body.student-dashboard-body .student-stat:hover,
html body.student-dashboard-body .student-stat-card:hover,
html body.student-dashboard-body .teacher-summary-stat-card:hover,
html body.student-dashboard-body .teacher-referral-stat-card:hover,
html body.student-dashboard-body .admin-user-summary-card:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(var(--mp-role-rgb),.22)!important;
  box-shadow:var(--nbds-shadow-hover)!important;
}

/* Make secondary labels and meta text readable rather than washed out. */
html body.student-dashboard-body .student-stat span,
html body.student-dashboard-body .student-stat-card span,
html body.student-dashboard-body .student-stat small,
html body.student-dashboard-body .student-stat-card small,
html body.student-dashboard-body .card-label,
html body.student-dashboard-body .meta-label,
html body.student-dashboard-body .field-label,
html body.student-dashboard-body label{
  opacity:1!important;
}
html body.student-dashboard-body .student-stat span,
html body.student-dashboard-body .student-stat-card span{
  color:#626d89!important;
  font-weight:750!important;
}
html body.student-dashboard-body .student-stat small,
html body.student-dashboard-body .student-stat-card small{
  color:#8791aa!important;
}

/* --------------------------------------------------------------------------
   7. Forms, controls and tables
   -------------------------------------------------------------------------- */
html body.student-dashboard-body input:not([type="checkbox"]):not([type="radio"]),
html body.student-dashboard-body select,
html body.student-dashboard-body textarea{
  border-color:#dfe4ee!important;
  background:#fff!important;
  color:var(--nbds-ink)!important;
  border-radius:11px!important;
}
html body.student-dashboard-body input:not([type="checkbox"]):not([type="radio"]):focus,
html body.student-dashboard-body select:focus,
html body.student-dashboard-body textarea:focus{
  border-color:rgba(var(--mp-role-rgb),.65)!important;
  box-shadow:0 0 0 3px rgba(var(--mp-role-rgb),.11)!important;
  outline:none!important;
}
html body.student-dashboard-body table{
  color:var(--nbds-ink)!important;
}
html body.student-dashboard-body table thead th{
  color:#55617b!important;
  background:#f8f9fc!important;
  font-weight:800!important;
  border-bottom-color:var(--nbds-line)!important;
}
html body.student-dashboard-body table tbody td{
  border-bottom-color:#edf0f5!important;
}

/* --------------------------------------------------------------------------
   8. Mobile/tablet refinements: retain the existing drawer workflow
   -------------------------------------------------------------------------- */
@media (max-width:900px){
  html body.student-dashboard-body .student-main{
    background:var(--nbds-shell)!important;
  }
  html body.student-dashboard-body aside.student-sidebar,
  html body.student-dashboard-body #nbdsDashboardSidebar.student-sidebar{
    background:linear-gradient(180deg,var(--nbds-sidebar),var(--nbds-sidebar-2))!important;
  }
  html body.student-dashboard-body .student-topbar{
    min-height:68px!important;
    margin:12px 0 18px!important;
    padding:11px 14px 11px 17px!important;
    border-radius:14px!important;
  }
  html body.student-dashboard-body .student-topbar strong,
  html body.student-dashboard-body #currentPageTitle{
    font-size:1.25rem!important;
  }
  html body.student-dashboard-body .dashboard-hero,
  html body.student-dashboard-body .student-page-hero,
  html body.student-dashboard-body .student-page .student-cover,
  html body.student-dashboard-body .student-page .student-cover.compact{
    min-height:190px!important;
    padding:24px 22px!important;
    border-radius:19px!important;
  }
  html body.student-dashboard-body .dashboard-hero h1,
  html body.student-dashboard-body .student-page-hero h1,
  html body.student-dashboard-body .student-page .student-cover h1{
    font-size:clamp(1.75rem,7vw,2.15rem)!important;
  }
}

@media (max-width:560px){
  html body.student-dashboard-body .student-main{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  html body.student-dashboard-body .student-topbar{
    margin-left:0!important;
    margin-right:0!important;
  }
  html body.student-dashboard-body .dashboard-hero,
  html body.student-dashboard-body .student-page-hero,
  html body.student-dashboard-body .student-page .student-cover,
  html body.student-dashboard-body .student-page .student-cover.compact{
    padding:21px 18px!important;
  }
}

/* Print remains clean. */
@media print{
  html body.student-dashboard-body .student-topbar,
  html body.student-dashboard-body .dashboard-hero,
  html body.student-dashboard-body .student-page-hero{
    box-shadow:none!important;
  }
}

/* ========================================================================== 
   NBDS Professional Unified Interface v609
   Consistent dark-navy shell + role accent across every dashboard page.
   This layer intentionally overrides older page-specific green themes.
   ========================================================================== */

/* --- Role tokens: consistent shell, role-specific accent only --- */
html body.student-dashboard-body,
html body.workflow-role-student{
  --mp-role:#18a47a;
  --mp-role-dark:#11785a;
  --mp-role-soft:#e8f8f3;
  --mp-role-rgb:24,164,122;
  --nbds-accent-2:#2f7de1;
  --nbds-accent-3:#f2a23a;
  --nbds-accent-4:#7c63e7;
  --nbds-accent-5:#ef6d5b;
}
html body.teacher-dashboard-body,
html body.workflow-role-teacher{
  --mp-role:#2f7de1;
  --mp-role-dark:#1f5eae;
  --mp-role-soft:#eaf3ff;
  --mp-role-rgb:47,125,225;
  --nbds-accent-2:#18a47a;
  --nbds-accent-3:#f2a23a;
  --nbds-accent-4:#7c63e7;
  --nbds-accent-5:#ef6d5b;
}
html body.parent-dashboard-body,
html body.workflow-role-parent{
  --mp-role:#e38a2e;
  --mp-role-dark:#b86417;
  --mp-role-soft:#fff3e6;
  --mp-role-rgb:227,138,46;
  --nbds-accent-2:#2f7de1;
  --nbds-accent-3:#18a47a;
  --nbds-accent-4:#7c63e7;
  --nbds-accent-5:#ef6d5b;
}
html body.admin-oriented-body,
html body.workflow-role-admin{
  --mp-role:#705de5;
  --mp-role-dark:#5140c3;
  --mp-role-soft:#efedff;
  --mp-role-rgb:112,93,229;
  --nbds-accent-2:#2f7de1;
  --nbds-accent-3:#18a47a;
  --nbds-accent-4:#f2a23a;
  --nbds-accent-5:#ef6d5b;
}

html body.student-dashboard-body{
  --nbds-shell:#f4f7fb;
  --nbds-sidebar:#171a3d;
  --nbds-sidebar-2:#202653;
  --nbds-sidebar-text:#edf1ff;
  --nbds-sidebar-muted:#aab3d7;
  --nbds-ink:#1c2440;
  --nbds-copy:#4a5672;
  --nbds-muted:#7a859f;
  --nbds-line:#e2e7f1;
  --nbds-card:#ffffff;
  --nbds-soft-blue:#edf5ff;
  --nbds-soft-teal:#e9faf5;
  --nbds-soft-amber:#fff5e8;
  --nbds-soft-violet:#f2efff;
  --nbds-soft-coral:#fff0ed;
  --nbds-shadow:0 14px 38px rgba(31,39,82,.075);
  --nbds-shadow-hover:0 20px 48px rgba(31,39,82,.115);
  background:var(--nbds-shell)!important;
  color:var(--nbds-ink)!important;
}

/* --- Shell consistency, including Workflow Hub --- */
html body.student-dashboard-body .student-app-shell,
html body.student-dashboard-body .workflow-hub-shell{
  grid-template-columns:286px minmax(0,1fr)!important;
  background:var(--nbds-shell)!important;
}
html body.student-dashboard-body .student-main,
html body.student-dashboard-body .workflow-main{
  background:
    radial-gradient(circle at 95% 1%,rgba(var(--mp-role-rgb),.06),transparent 23%),
    linear-gradient(180deg,#f7f9fc 0%,var(--nbds-shell) 100%)!important;
  color:var(--nbds-ink)!important;
}

/* --- Sidebar never changes to a page-specific green/white skin --- */
html body.student-dashboard-body aside.student-sidebar,
html body.student-dashboard-body #nbdsDashboardSidebar.student-sidebar,
html body.student-dashboard-body .workflow-role-sidebar.student-sidebar,
html body.student-dashboard-body .workflow-student-sidebar.student-sidebar{
  background:linear-gradient(180deg,#171a3d 0%,#202653 55%,#151833 100%)!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.055)!important;
  box-shadow:12px 0 34px rgba(20,25,58,.15)!important;
}
html body.student-dashboard-body aside.student-sidebar .student-brand,
html body.student-dashboard-body #nbdsDashboardSidebar .student-brand{
  color:#fff!important;
  border-bottom-color:rgba(255,255,255,.09)!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-group > p,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-group > p{
  color:#9fa9d0!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link{
  color:#d9def2!important;
  background:transparent!important;
  border-color:transparent!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link .nav-icon,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link .nav-icon{
  color:#aeb7d7!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link:hover,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link:hover{
  color:#fff!important;
  background:rgba(255,255,255,.075)!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link.active,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link.active{
  color:#fff!important;
  background:linear-gradient(105deg,var(--mp-role),var(--mp-role-dark))!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 10px 24px rgba(var(--mp-role-rgb),.26)!important;
}
html body.student-dashboard-body aside.student-sidebar .student-mini-profile,
html body.student-dashboard-body #nbdsDashboardSidebar .student-mini-profile{
  background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.045))!important;
  border-color:rgba(255,255,255,.10)!important;
}
html body.student-dashboard-body aside.student-sidebar .student-mini-profile strong,
html body.student-dashboard-body #nbdsDashboardSidebar .student-mini-profile strong{color:#fff!important}
html body.student-dashboard-body aside.student-sidebar .student-mini-profile small,
html body.student-dashboard-body #nbdsDashboardSidebar .student-mini-profile small{color:#aeb7d7!important}

/* --- Current-page label/header: very visible on every page --- */
html body.student-dashboard-body .student-topbar{
  min-height:76px!important;
  margin:18px 0 24px!important;
  padding:14px 20px 14px 23px!important;
  border:1px solid var(--nbds-line)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 10px 28px rgba(31,39,82,.065)!important;
}
html body.student-dashboard-body .student-topbar::before{
  width:5px!important;
  top:13px!important;
  bottom:13px!important;
  background:linear-gradient(180deg,var(--mp-role),var(--mp-role-dark))!important;
}
html body.student-dashboard-body .student-topbar small{
  color:var(--mp-role-dark)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.15em!important;
}
html body.student-dashboard-body .student-topbar strong,
html body.student-dashboard-body #currentPageTitle{
  color:#18213d!important;
  font-size:1.52rem!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
}

/* --- One hero language across dashboard, inner pages and Workflow Hub --- */
html body.student-dashboard-body .dashboard-hero,
html body.student-dashboard-body .student-cover.student-page-hero.dashboard-hero,
html body.student-dashboard-body .student-page-hero,
html body.student-dashboard-body .student-page .student-cover,
html body.student-dashboard-body .workflow-hero,
html body.student-dashboard-body .teacher-hero-cover,
html body.student-dashboard-body .parent-hero-cover,
html body.student-dashboard-body .admin-hero-cover{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 12%,rgba(255,255,255,.10),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.12),transparent 24%),
    linear-gradient(130deg,#171a3d 0%,#25315d 42%,var(--mp-role-dark) 78%,var(--mp-role) 100%)!important;
  background-image:
    radial-gradient(circle at 12% 12%,rgba(255,255,255,.10),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.12),transparent 24%),
    linear-gradient(130deg,#171a3d 0%,#25315d 42%,var(--mp-role-dark) 78%,var(--mp-role) 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 20px 48px rgba(29,36,76,.17)!important;
  color:#fff!important;
}
html body.student-dashboard-body .dashboard-hero::before,
html body.student-dashboard-body .student-page-hero::before,
html body.student-dashboard-body .workflow-hero::before{
  content:""!important;
  position:absolute!important;
  width:220px!important;
  height:220px!important;
  right:-60px!important;
  top:-90px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.075)!important;
  opacity:1!important;
  pointer-events:none!important;
}
html body.student-dashboard-body .dashboard-hero::after,
html body.student-dashboard-body .student-page-hero::after,
html body.student-dashboard-body .workflow-hero::after{
  content:""!important;
  position:absolute!important;
  width:160px!important;
  height:160px!important;
  right:95px!important;
  bottom:-105px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.055)!important;
  opacity:1!important;
  pointer-events:none!important;
}
html body.student-dashboard-body .dashboard-hero > *,
html body.student-dashboard-body .student-page-hero > *,
html body.student-dashboard-body .workflow-hero > *{position:relative!important;z-index:1!important}
html body.student-dashboard-body .dashboard-hero > span,
html body.student-dashboard-body .student-page-hero > span,
html body.student-dashboard-body .workflow-hero > span{
  color:#dbe4ff!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
}
html body.student-dashboard-body .dashboard-hero h1,
html body.student-dashboard-body .student-page-hero h1,
html body.student-dashboard-body .workflow-hero h1{color:#fff!important}
html body.student-dashboard-body .dashboard-hero p,
html body.student-dashboard-body .student-page-hero p,
html body.student-dashboard-body .workflow-hero p{color:rgba(255,255,255,.86)!important}

/* --- Cards: crisp white surfaces with complementary accents --- */
html body.student-dashboard-body .student-card,
html body.student-dashboard-body .student-stat-card,
html body.student-dashboard-body .student-stat,
html body.student-dashboard-body .dashboard-card,
html body.student-dashboard-body .dashboard-panel,
html body.student-dashboard-body .profile-summary-card,
html body.student-dashboard-body .profile-form-card,
html body.student-dashboard-body .result-session-card,
html body.student-dashboard-body .assignment-action-card,
html body.student-dashboard-body .message-thread-card,
html body.student-dashboard-body .admin-record-editor-card,
html body.student-dashboard-body .admin-student-filter-card,
html body.student-dashboard-body .admin-student-record-editor-card,
html body.student-dashboard-body .class-leaderboard-card{
  border:1px solid var(--nbds-line)!important;
  background:#fff!important;
  box-shadow:var(--nbds-shadow)!important;
}
html body.student-dashboard-body .student-card{
  position:relative!important;
  overflow:hidden!important;
}
html body.student-dashboard-body .student-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,var(--mp-role),var(--nbds-accent-2),var(--nbds-accent-4));
  opacity:.82;
}

/* Four complementary stat accents without changing any data or markup. */
html body.student-dashboard-body .student-stat-grid > :nth-child(4n+1),
html body.student-dashboard-body .parent-stat-grid > :nth-child(4n+1){--nbds-card-accent:var(--mp-role);--nbds-card-soft:var(--mp-role-soft)}
html body.student-dashboard-body .student-stat-grid > :nth-child(4n+2),
html body.student-dashboard-body .parent-stat-grid > :nth-child(4n+2){--nbds-card-accent:#2f7de1;--nbds-card-soft:#edf5ff}
html body.student-dashboard-body .student-stat-grid > :nth-child(4n+3),
html body.student-dashboard-body .parent-stat-grid > :nth-child(4n+3){--nbds-card-accent:#f2a23a;--nbds-card-soft:#fff5e8}
html body.student-dashboard-body .student-stat-grid > :nth-child(4n+4),
html body.student-dashboard-body .parent-stat-grid > :nth-child(4n+4){--nbds-card-accent:#7c63e7;--nbds-card-soft:#f2efff}
html body.student-dashboard-body .student-stat-card,
html body.student-dashboard-body .student-stat{
  position:relative!important;
  overflow:hidden!important;
  border-top:3px solid var(--nbds-card-accent,var(--mp-role))!important;
  background:linear-gradient(180deg,#fff 0%,var(--nbds-card-soft,#f8f9fc) 180%)!important;
}
html body.student-dashboard-body .student-stat-card strong,
html body.student-dashboard-body .student-stat strong{color:#1a2340!important}
html body.student-dashboard-body .student-stat-card:hover,
html body.student-dashboard-body .student-stat:hover{
  border-color:var(--nbds-card-accent,var(--mp-role))!important;
  box-shadow:var(--nbds-shadow-hover)!important;
}

/* --- Buttons and action links --- */
html body.student-dashboard-body .btn,
html body.student-dashboard-body button.btn,
html body.student-dashboard-body a.btn{
  border-radius:11px!important;
  font-weight:800!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
html body.student-dashboard-body .btn-primary,
html body.student-dashboard-body button.btn-primary,
html body.student-dashboard-body a.btn-primary{
  background:linear-gradient(105deg,var(--mp-role),var(--mp-role-dark))!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(var(--mp-role-rgb),.23)!important;
}
html body.student-dashboard-body .btn-primary:hover,
html body.student-dashboard-body button.btn-primary:hover,
html body.student-dashboard-body a.btn-primary:hover{
  transform:translateY(-1px)!important;
  filter:saturate(1.05)!important;
  box-shadow:0 12px 28px rgba(var(--mp-role-rgb),.29)!important;
}
html body.student-dashboard-body .btn-secondary,
html body.student-dashboard-body .btn-outline{
  background:#fff!important;
  color:#26304f!important;
  border-color:#d9dfec!important;
}

/* Workflow quick actions should feel like dashboard actions, not a separate green site. */
html body.student-dashboard-body .workflow-action-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
html body.student-dashboard-body .workflow-action-grid a{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:64px!important;
  padding:14px 16px 14px 18px!important;
  border:1px solid #dfe5ef!important;
  border-left:4px solid var(--mp-role)!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#fff,var(--mp-role-soft))!important;
  color:#24304d!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-shadow:0 7px 18px rgba(31,39,82,.055)!important;
}
html body.student-dashboard-body .workflow-action-grid a:nth-child(4n+2){border-left-color:#2f7de1!important;background:linear-gradient(135deg,#fff,#edf5ff)!important}
html body.student-dashboard-body .workflow-action-grid a:nth-child(4n+3){border-left-color:#f2a23a!important;background:linear-gradient(135deg,#fff,#fff5e8)!important}
html body.student-dashboard-body .workflow-action-grid a:nth-child(4n+4){border-left-color:#7c63e7!important;background:linear-gradient(135deg,#fff,#f2efff)!important}
html body.student-dashboard-body .workflow-action-grid a:hover{transform:translateY(-2px)!important;box-shadow:0 12px 26px rgba(31,39,82,.10)!important}
html body.student-dashboard-body .workflow-rule-list{display:grid!important;gap:10px!important;padding-left:0!important;list-style:none!important}
html body.student-dashboard-body .workflow-rule-list li{
  position:relative!important;
  margin:0!important;
  padding:11px 12px 11px 38px!important;
  border:1px solid #e5e9f2!important;
  border-radius:12px!important;
  background:#f9fafc!important;
  color:#495571!important;
}
html body.student-dashboard-body .workflow-rule-list li::before{
  content:"✓"!important;
  position:absolute!important;
  left:12px!important;
  top:10px!important;
  width:18px!important;
  height:18px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:var(--mp-role-soft)!important;
  color:var(--mp-role-dark)!important;
  font-size:.72rem!important;
  font-weight:900!important;
}

/* --- Tables: readable, colorful enough, still academic/professional --- */
html body.student-dashboard-body .table-wrap{
  border:1px solid var(--nbds-line)!important;
  border-radius:14px!important;
  overflow:auto!important;
  background:#fff!important;
}
html body.student-dashboard-body table.data-table,
html body.student-dashboard-body table{
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
}
html body.student-dashboard-body table thead th{
  background:#f2f5fa!important;
  color:#33405f!important;
  border-bottom:1px solid #dfe5ef!important;
  font-size:.75rem!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
}
html body.student-dashboard-body table tbody tr:nth-child(even) td{background:#fbfcfe!important}
html body.student-dashboard-body table tbody tr:hover td{background:var(--mp-role-soft)!important}
html body.student-dashboard-body table tbody td{color:#35415f!important}
html body.student-dashboard-body table small{color:#7c87a1!important}

/* --- Status chips / badges --- */
html body.student-dashboard-body .status-pill,
html body.student-dashboard-body .badge,
html body.student-dashboard-body .status-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:27px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:var(--mp-role-soft)!important;
  color:var(--mp-role-dark)!important;
  border:1px solid rgba(var(--mp-role-rgb),.18)!important;
  font-size:.72rem!important;
  font-weight:850!important;
}

/* --- Forms --- */
html body.student-dashboard-body label{color:#46526f!important;font-weight:760!important}
html body.student-dashboard-body input:not([type="checkbox"]):not([type="radio"]),
html body.student-dashboard-body select,
html body.student-dashboard-body textarea{
  min-height:43px!important;
  border:1px solid #dbe1ec!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#1f2947!important;
}
html body.student-dashboard-body textarea{min-height:110px!important}
html body.student-dashboard-body input::placeholder,
html body.student-dashboard-body textarea::placeholder{color:#9aa3b8!important}

/* --- Alerts / empty states --- */
html body.student-dashboard-body .alert{
  border-radius:13px!important;
  border:1px solid #dfe5ef!important;
  box-shadow:0 8px 20px rgba(31,39,82,.05)!important;
}
html body.student-dashboard-body .alert-error{background:#fff1f0!important;color:#8d2f2f!important;border-color:#f2c7c3!important}
html body.student-dashboard-body .alert-success{background:#ecfaf5!important;color:#11684f!important;border-color:#c5ebdd!important}

/* --- Page-section headings --- */
html body.student-dashboard-body .student-page h2,
html body.student-dashboard-body .student-page h3,
html body.student-dashboard-body .student-card h2,
html body.student-dashboard-body .student-card h3{
  color:#1d2745!important;
}
html body.student-dashboard-body .student-card > h2:first-child,
html body.student-dashboard-body .student-card > h3:first-child{
  position:relative!important;
  padding-left:13px!important;
}
html body.student-dashboard-body .student-card > h2:first-child::before,
html body.student-dashboard-body .student-card > h3:first-child::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:.18em!important;
  bottom:.18em!important;
  width:4px!important;
  border-radius:999px!important;
  background:var(--mp-role)!important;
}

/* --- Mobile: keep same color language and improve dense pages --- */
@media (max-width:900px){
  html body.student-dashboard-body .student-app-shell,
  html body.student-dashboard-body .workflow-hub-shell{grid-template-columns:1fr!important}
  html body.student-dashboard-body .workflow-action-grid{grid-template-columns:1fr!important}
  html body.student-dashboard-body .student-topbar{margin-top:12px!important}
  html body.student-dashboard-body .student-main,
  html body.student-dashboard-body .workflow-main{padding-left:14px!important;padding-right:14px!important}
}
@media (max-width:560px){
  html body.student-dashboard-body .student-topbar strong,
  html body.student-dashboard-body #currentPageTitle{font-size:1.22rem!important}
  html body.student-dashboard-body .dashboard-hero,
  html body.student-dashboard-body .student-page-hero,
  html body.student-dashboard-body .workflow-hero{padding:22px 18px!important;border-radius:18px!important}
  html body.student-dashboard-body .student-card{border-radius:15px!important}
}

@media print{
  html body.student-dashboard-body .student-sidebar,
  html body.student-dashboard-body .student-topbar{box-shadow:none!important}
  html body.student-dashboard-body .student-card,
  html body.student-dashboard-body .student-stat-card{box-shadow:none!important}
}


/* ========================================================================== 
   NBDS Executive Dashboard Interface v610
   Reference-inspired presentation layer: cleaner white command bar, richer
   role gradient, clearer page titles, modern metric cards and polished content.
   Visual enhancement only: routes, permissions, database operations and page
   workflows remain unchanged.
   ========================================================================== */

html body.student-dashboard-body{
  --v610-bg:#f2f5fa;
  --v610-bg-2:#f8fafc;
  --v610-card:#ffffff;
  --v610-ink:#18213d;
  --v610-copy:#53607b;
  --v610-muted:#8893ab;
  --v610-line:#e2e7f0;
  --v610-navy:#1b2448;
  --v610-navy-2:#23335a;
  --v610-shadow:0 16px 44px rgba(27,36,72,.08);
  --v610-shadow-lg:0 26px 64px rgba(27,36,72,.13);
  background:var(--v610-bg)!important;
  color:var(--v610-ink)!important;
}

/* Main workspace */
html body.student-dashboard-body .student-main,
html body.student-dashboard-body .workflow-main{
  padding:0 30px 64px!important;
  background:
    radial-gradient(circle at 95% 0%,rgba(var(--mp-role-rgb),.065),transparent 24%),
    linear-gradient(180deg,var(--v610-bg-2) 0%,var(--v610-bg) 44%,#eef2f8 100%)!important;
}

/* Full-width professional command bar */
html body.student-dashboard-body .student-topbar{
  position:sticky!important;
  top:0!important;
  z-index:38!important;
  display:grid!important;
  grid-template-columns:minmax(220px,.85fr) minmax(430px,1.65fr)!important;
  align-items:center!important;
  gap:22px!important;
  min-height:104px!important;
  margin:0 -30px 30px!important;
  padding:18px 30px!important;
  border:0!important;
  border-bottom:1px solid #dfe5ee!important;
  border-radius:0!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 7px 24px rgba(27,36,72,.055)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
html body.student-dashboard-body .student-topbar::before{display:none!important}
html body.student-dashboard-body .nbds-header-left{min-width:0!important}
html body.student-dashboard-body .student-topbar .nbds-header-left small,
html body.student-dashboard-body .student-topbar > div:first-child small{
  display:block!important;
  margin-bottom:5px!important;
  color:var(--mp-role)!important;
  font-size:.70rem!important;
  font-weight:900!important;
  letter-spacing:.17em!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
html body.student-dashboard-body .student-topbar .nbds-header-left strong,
html body.student-dashboard-body .student-topbar > div:first-child strong,
html body.student-dashboard-body #currentPageTitle,
html body.student-dashboard-body #currentParentPageTitle{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  color:var(--v610-ink)!important;
  font-size:clamp(1.55rem,2vw,2.05rem)!important;
  font-weight:900!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body.student-dashboard-body .nbds-header-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:13px!important;
  min-width:0!important;
}
html body.student-dashboard-body .nbds-top-search{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:1 1 360px!important;
  min-width:200px!important;
  max-width:500px!important;
  height:50px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid #dfe5ef!important;
  border-radius:15px!important;
  background:#f7f9fc!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
  color:#7d889f!important;
}
html body.student-dashboard-body .nbds-top-search:focus-within{
  border-color:rgba(var(--mp-role-rgb),.45)!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(var(--mp-role-rgb),.08)!important;
}
html body.student-dashboard-body .nbds-top-search svg{
  width:18px!important;height:18px!important;min-width:18px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:2!important;
}
html body.student-dashboard-body .nbds-top-search input{
  flex:1!important;
  min-width:0!important;
  height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#33405d!important;
  font-size:.88rem!important;
  font-weight:650!important;
  outline:none!important;
}
html body.student-dashboard-body .nbds-top-search input::placeholder{color:#8e98ad!important}
html body.student-dashboard-body .nbds-top-search kbd{
  padding:4px 7px!important;
  border:1px solid #d8deea!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#8b95aa!important;
  font-family:inherit!important;
  font-size:.64rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
html body.student-dashboard-body .nbds-top-icon-btn{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:50px!important;height:50px!important;min-width:50px!important;
  border:1px solid #dfe5ef!important;
  border-radius:15px!important;
  background:#fff!important;
  color:#27324f!important;
  text-decoration:none!important;
  box-shadow:0 6px 16px rgba(27,36,72,.045)!important;
}
html body.student-dashboard-body .nbds-top-icon-btn:hover{color:var(--mp-role)!important;border-color:rgba(var(--mp-role-rgb),.35)!important;background:var(--mp-role-soft)!important}
html body.student-dashboard-body .nbds-top-icon-btn svg{width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important}
html body.student-dashboard-body .nbds-top-icon-btn::after{
  content:""!important;
  position:absolute!important;
  top:10px!important;right:11px!important;
  width:5px!important;height:5px!important;
  border-radius:50%!important;
  background:#ef5a6f!important;
  box-shadow:0 0 0 2px #fff!important;
}
html body.student-dashboard-body .nbds-top-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:50px!important;
  padding:10px 18px!important;
  border:0!important;
  border-radius:15px!important;
  background:linear-gradient(105deg,var(--mp-role),var(--mp-role-dark))!important;
  color:#fff!important;
  font-size:.83rem!important;
  font-weight:900!important;
  line-height:1.1!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:0 12px 24px rgba(var(--mp-role-rgb),.22)!important;
}
html body.student-dashboard-body .nbds-top-primary:hover{transform:translateY(-1px)!important;box-shadow:0 15px 30px rgba(var(--mp-role-rgb),.28)!important}
html body.student-dashboard-body .nbds-top-primary .plus{font-size:1.22rem!important;line-height:1!important}
html body.student-dashboard-body .nbds-top-profile{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  padding-left:13px!important;
  border-left:1px solid #e4e8f0!important;
}
html body.student-dashboard-body .nbds-top-avatar{
  display:grid!important;
  place-items:center!important;
  width:46px!important;height:46px!important;min-width:46px!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,var(--mp-role),var(--mp-role-dark))!important;
  color:#fff!important;
  font-size:.82rem!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  box-shadow:0 9px 20px rgba(var(--mp-role-rgb),.22)!important;
}
html body.student-dashboard-body .nbds-top-profile-copy{min-width:0!important;max-width:190px!important}
html body.student-dashboard-body .nbds-top-profile strong{
  display:block!important;
  overflow:hidden!important;
  color:#26304d!important;
  font-size:.76rem!important;
  font-weight:850!important;
  line-height:1.25!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body.student-dashboard-body .nbds-top-profile small{
  display:block!important;
  margin-top:3px!important;
  color:#8a94a9!important;
  font-size:.67rem!important;
  font-weight:700!important;
}
html body.student-dashboard-body .nbds-top-extra{display:flex!important;align-items:center!important}
html body.student-dashboard-body .nbds-top-extra select{max-width:210px!important;min-height:44px!important}

/* Hero: reference-style navy-to-role banner */
html body.student-dashboard-body .dashboard-hero,
html body.student-dashboard-body .student-page-hero,
html body.student-dashboard-body .student-page .student-cover,
html body.student-dashboard-body .workflow-hero,
html body.student-dashboard-body .teacher-hero-cover,
html body.student-dashboard-body .parent-hero-cover,
html body.student-dashboard-body .admin-hero-cover{
  min-height:235px!important;
  margin:0 0 26px!important;
  padding:38px 42px!important;
  border:0!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 92% 12%,rgba(255,255,255,.15),transparent 24%),
    radial-gradient(circle at 72% 105%,rgba(255,255,255,.09),transparent 27%),
    linear-gradient(112deg,var(--v610-navy) 0%,#24425a 29%,var(--mp-role-dark) 62%,var(--mp-role) 100%)!important;
  box-shadow:var(--v610-shadow-lg)!important;
}
html body.student-dashboard-body .dashboard-hero::before,
html body.student-dashboard-body .student-page-hero::before,
html body.student-dashboard-body .workflow-hero::before{
  width:235px!important;height:235px!important;right:62px!important;top:-78px!important;
  border:42px solid rgba(255,255,255,.055)!important;
  background:transparent!important;
}
html body.student-dashboard-body .dashboard-hero::after,
html body.student-dashboard-body .student-page-hero::after,
html body.student-dashboard-body .workflow-hero::after{
  width:150px!important;height:150px!important;right:-20px!important;bottom:-68px!important;
  background:rgba(255,255,255,.08)!important;
}
html body.student-dashboard-body .dashboard-hero > span,
html body.student-dashboard-body .student-page-hero > span,
html body.student-dashboard-body .workflow-hero > span{
  color:#d6e1ff!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
html body.student-dashboard-body .dashboard-hero h1,
html body.student-dashboard-body .student-page-hero h1,
html body.student-dashboard-body .workflow-hero h1{
  max-width:780px!important;
  margin:14px 0 9px!important;
  color:#fff!important;
  font-size:clamp(2rem,3.15vw,3.15rem)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
}
html body.student-dashboard-body .dashboard-hero p,
html body.student-dashboard-body .student-page-hero p,
html body.student-dashboard-body .workflow-hero p{
  max-width:850px!important;
  margin:0!important;
  color:rgba(255,255,255,.86)!important;
  font-size:.97rem!important;
  line-height:1.65!important;
}
html body.student-dashboard-body .student-live-pill{
  display:inline-flex!important;
  margin-top:20px!important;
  padding:9px 14px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.11)!important;
  color:#fff!important;
  font-weight:800!important;
  backdrop-filter:blur(6px)!important;
}

/* Metric cards */
html body.student-dashboard-body .student-stats-grid,
html body.student-dashboard-body .student-stat-grid,
html body.student-dashboard-body .admin-user-summary-grid,
html body.student-dashboard-body .teacher-summary-stat-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;
  gap:18px!important;
  margin-bottom:28px!important;
}
html body.student-dashboard-body .student-stats-grid > .student-stat,
html body.student-dashboard-body .student-stat-grid > .student-stat-card,
html body.student-dashboard-body .admin-user-summary-grid > .student-stat-card,
html body.student-dashboard-body .teacher-summary-stat-grid > .student-stat-card{
  --metric-accent:var(--mp-role);
  --metric-soft:var(--mp-role-soft);
  --metric-symbol:"✓";
  min-height:138px!important;
  padding:24px 22px 20px 88px!important;
  border:1px solid var(--v610-line)!important;
  border-radius:21px!important;
  background:#fff!important;
  box-shadow:var(--v610-shadow)!important;
}
html body.student-dashboard-body .student-stats-grid > :nth-child(4n+2),
html body.student-dashboard-body .student-stat-grid > :nth-child(4n+2),
html body.student-dashboard-body .admin-user-summary-grid > :nth-child(4n+2),
html body.student-dashboard-body .teacher-summary-stat-grid > :nth-child(4n+2){--metric-accent:#2f7de1;--metric-soft:#eaf3ff;--metric-symbol:"↗"}
html body.student-dashboard-body .student-stats-grid > :nth-child(4n+3),
html body.student-dashboard-body .student-stat-grid > :nth-child(4n+3),
html body.student-dashboard-body .admin-user-summary-grid > :nth-child(4n+3),
html body.student-dashboard-body .teacher-summary-stat-grid > :nth-child(4n+3){--metric-accent:#18a47a;--metric-soft:#e8f8f3;--metric-symbol:"▤"}
html body.student-dashboard-body .student-stats-grid > :nth-child(4n+4),
html body.student-dashboard-body .student-stat-grid > :nth-child(4n+4),
html body.student-dashboard-body .admin-user-summary-grid > :nth-child(4n+4),
html body.student-dashboard-body .teacher-summary-stat-grid > :nth-child(4n+4){--metric-accent:#ef9738;--metric-soft:#fff2e3;--metric-symbol:"?"}
html body.student-dashboard-body .student-stats-grid > .student-stat::before,
html body.student-dashboard-body .student-stat-grid > .student-stat-card::before,
html body.student-dashboard-body .admin-user-summary-grid > .student-stat-card::before,
html body.student-dashboard-body .teacher-summary-stat-grid > .student-stat-card::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:22px!important;top:34px!important;
  width:46px!important;height:46px!important;
  border:0!important;border-radius:15px!important;
  background:var(--metric-soft)!important;
  opacity:1!important;
}
html body.student-dashboard-body .student-stats-grid > .student-stat::after,
html body.student-dashboard-body .student-stat-grid > .student-stat-card::after,
html body.student-dashboard-body .admin-user-summary-grid > .student-stat-card::after,
html body.student-dashboard-body .teacher-summary-stat-grid > .student-stat-card::after{
  content:var(--metric-symbol)!important;
  position:absolute!important;
  left:22px!important;top:34px!important;
  display:grid!important;
  place-items:center!important;
  width:46px!important;height:46px!important;
  color:var(--metric-accent)!important;
  font-size:1.15rem!important;
  font-weight:900!important;
  z-index:2!important;
}
html body.student-dashboard-body .student-stat span,
html body.student-dashboard-body .student-stat-card span{
  color:#69748d!important;
  font-size:.75rem!important;
  font-weight:800!important;
}
html body.student-dashboard-body .student-stat strong,
html body.student-dashboard-body .student-stat-card strong{
  margin:7px 0 5px!important;
  color:#18213d!important;
  font-size:1.9rem!important;
  font-weight:900!important;
  letter-spacing:-.035em!important;
}
html body.student-dashboard-body .student-stat small,
html body.student-dashboard-body .student-stat-card small{color:#8f98ad!important;font-weight:650!important}
html body.student-dashboard-body .student-stat:hover,
html body.student-dashboard-body .student-stat-card:hover{transform:translateY(-3px)!important;border-color:rgba(var(--mp-role-rgb),.20)!important;box-shadow:0 20px 42px rgba(27,36,72,.11)!important}

/* Content panels */
html body.student-dashboard-body .student-card,
html body.student-dashboard-body .dashboard-card,
html body.student-dashboard-body .dashboard-panel,
html body.student-dashboard-body .profile-summary-card,
html body.student-dashboard-body .profile-form-card,
html body.student-dashboard-body .result-session-card,
html body.student-dashboard-body .assignment-action-card,
html body.student-dashboard-body .message-thread-card,
html body.student-dashboard-body .admin-record-editor-card,
html body.student-dashboard-body .admin-student-filter-card,
html body.student-dashboard-body .admin-student-record-editor-card,
html body.student-dashboard-body .class-leaderboard-card{
  border:1px solid var(--v610-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:var(--v610-shadow)!important;
}
html body.student-dashboard-body .student-card{padding:24px!important}
html body.student-dashboard-body .student-card::before{height:0!important;display:none!important}
html body.student-dashboard-body .student-card h2,
html body.student-dashboard-body .student-card h3,
html body.student-dashboard-body .dashboard-card h2,
html body.student-dashboard-body .dashboard-panel h2,
html body.student-dashboard-body .dashboard-panel h3{
  color:#17213c!important;
  letter-spacing:-.025em!important;
}
html body.student-dashboard-body .student-card p,
html body.student-dashboard-body .dashboard-card p,
html body.student-dashboard-body .dashboard-panel p{color:#66718a!important;line-height:1.65!important}
html body.student-dashboard-body .admin-page-grid,
html body.student-dashboard-body .parent-dashboard-grid,
html body.student-dashboard-body .profile-grid,
html body.student-dashboard-body .dashboard-grid{gap:22px!important}

/* Modern tables */
html body.student-dashboard-body .table-wrap{
  border:1px solid var(--v610-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body.student-dashboard-body table thead th{
  padding-top:13px!important;padding-bottom:13px!important;
  background:#f5f7fb!important;
  color:#55617a!important;
  border-bottom:1px solid #e1e6ef!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
html body.student-dashboard-body table tbody td{padding-top:14px!important;padding-bottom:14px!important;color:#3e4a66!important}
html body.student-dashboard-body table tbody tr:hover td{background:#f7fbfa!important}

/* Buttons, forms, badges */
html body.student-dashboard-body .btn,
html body.student-dashboard-body button:not(.nbds-mobile-sidebar-toggle){border-radius:12px!important}
html body.student-dashboard-body .btn-primary,
html body.student-dashboard-body button.btn-primary,
html body.student-dashboard-body a.btn-primary{background:linear-gradient(105deg,var(--mp-role),var(--mp-role-dark))!important;color:#fff!important;box-shadow:0 10px 22px rgba(var(--mp-role-rgb),.20)!important}
html body.student-dashboard-body input:not([type="checkbox"]):not([type="radio"]),
html body.student-dashboard-body select,
html body.student-dashboard-body textarea{
  border:1px solid #dce2ec!important;
  border-radius:12px!important;
  background:#fbfcfe!important;
}
html body.student-dashboard-body input:not([type="checkbox"]):not([type="radio"]):focus,
html body.student-dashboard-body select:focus,
html body.student-dashboard-body textarea:focus{background:#fff!important;border-color:rgba(var(--mp-role-rgb),.55)!important;box-shadow:0 0 0 4px rgba(var(--mp-role-rgb),.08)!important}
html body.student-dashboard-body .status-pill,
html body.student-dashboard-body .badge,
html body.student-dashboard-body .status-badge{border-radius:999px!important;font-weight:850!important}

/* Workflow inherits the exact same interface */
html body.student-dashboard-body .workflow-hub-shell,
html body.student-dashboard-body .workflow-main{background:transparent!important}
html body.student-dashboard-body .workflow-action-grid a{
  min-height:72px!important;
  border:1px solid var(--v610-line)!important;
  border-left:0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(27,36,72,.055)!important;
}
html body.student-dashboard-body .workflow-action-grid a::before{
  content:"↗"!important;
  display:grid!important;
  place-items:center!important;
  width:36px!important;height:36px!important;min-width:36px!important;
  margin-right:12px!important;
  border-radius:11px!important;
  background:var(--mp-role-soft)!important;
  color:var(--mp-role)!important;
  font-weight:900!important;
}

/* Responsive command bar */
@media (max-width:1280px){
  html body.student-dashboard-body .student-topbar{grid-template-columns:minmax(190px,.7fr) minmax(0,1.6fr)!important}
  html body.student-dashboard-body .nbds-top-profile-copy{display:none!important}
  html body.student-dashboard-body .nbds-top-profile{padding-left:10px!important}
}
@media (max-width:1080px){
  html body.student-dashboard-body .student-topbar{position:relative!important;grid-template-columns:1fr!important;gap:13px!important;min-height:auto!important;padding:17px 20px!important}
  html body.student-dashboard-body .nbds-header-tools{justify-content:flex-start!important;flex-wrap:wrap!important}
  html body.student-dashboard-body .nbds-top-search{order:5!important;flex:1 1 100%!important;max-width:none!important}
  html body.student-dashboard-body .nbds-top-profile-copy{display:block!important}
}
@media (max-width:900px){
  html body.student-dashboard-body .student-main,
  html body.student-dashboard-body .workflow-main{padding:0 14px 48px!important}
  html body.student-dashboard-body .student-topbar{margin:0 -14px 20px!important;border-radius:0!important}
  html body.student-dashboard-body .dashboard-hero,
  html body.student-dashboard-body .student-page-hero,
  html body.student-dashboard-body .student-page .student-cover,
  html body.student-dashboard-body .workflow-hero{min-height:205px!important;padding:28px 24px!important;border-radius:22px!important}
  html body.student-dashboard-body .dashboard-hero h1,
  html body.student-dashboard-body .student-page-hero h1,
  html body.student-dashboard-body .workflow-hero h1{font-size:clamp(1.8rem,7vw,2.45rem)!important}
}
@media (max-width:620px){
  html body.student-dashboard-body .nbds-header-tools{gap:9px!important}
  html body.student-dashboard-body .nbds-top-primary{flex:1!important;min-width:130px!important}
  html body.student-dashboard-body .nbds-top-profile{border-left:0!important;padding-left:0!important}
  html body.student-dashboard-body .nbds-top-profile-copy{display:none!important}
  html body.student-dashboard-body .student-stats-grid > .student-stat,
  html body.student-dashboard-body .student-stat-grid > .student-stat-card,
  html body.student-dashboard-body .admin-user-summary-grid > .student-stat-card,
  html body.student-dashboard-body .teacher-summary-stat-grid > .student-stat-card{min-height:124px!important;padding-top:20px!important;padding-bottom:18px!important}
}

@media print{
  html body.student-dashboard-body .nbds-header-tools{display:none!important}
  html body.student-dashboard-body .student-topbar{position:static!important;box-shadow:none!important}
}

/* ========================================================================== 
   NBDS Professional Clarity Layer v611
   Purpose: smoother spacing, stronger visual hierarchy, cleaner page rhythm,
   clearer controls and calmer complementary colours across every portal role.
   Visual-only: routes, permissions, forms, data and workflows remain unchanged.
   ========================================================================== */

html body.student-dashboard-body{
  --v611-bg:#f4f7fb;
  --v611-bg-top:#f8fafc;
  --v611-card:#ffffff;
  --v611-ink:#17213c;
  --v611-copy:#56627b;
  --v611-muted:#8792a8;
  --v611-line:#e3e8f1;
  --v611-line-strong:#d9e0eb;
  --v611-navy:#172342;
  --v611-navy-2:#22395a;
  --v611-blue:#3278d5;
  --v611-teal:#18a47a;
  --v611-amber:#ee9b3a;
  --v611-violet:#7565df;
  --v611-coral:#e96962;
  --v611-radius:18px;
  --v611-radius-lg:24px;
  --v611-shadow:0 10px 30px rgba(31,43,78,.065);
  --v611-shadow-hover:0 18px 40px rgba(31,43,78,.10);
  --v611-shadow-hero:0 24px 56px rgba(24,36,72,.14);
  background:var(--v611-bg)!important;
  color:var(--v611-ink)!important;
}

/* ---------- calmer, better-proportioned shell ---------- */
@media (min-width:901px){
  html body.student-dashboard-body .student-app-shell,
  html body.student-dashboard-body .workflow-hub-shell{
    grid-template-columns:278px minmax(0,1fr)!important;
  }
  html body.student-dashboard-body .student-main,
  html body.student-dashboard-body .workflow-main{
    padding:0 30px 64px!important;
  }
}
html body.student-dashboard-body .student-main,
html body.student-dashboard-body .workflow-main{
  background:
    radial-gradient(circle at 96% 0%,rgba(var(--mp-role-rgb),.045),transparent 22%),
    linear-gradient(180deg,var(--v611-bg-top) 0%,var(--v611-bg) 36%,#f1f4f9 100%)!important;
}
html body.student-dashboard-body .student-page{
  width:100%!important;
  max-width:1480px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ---------- sidebar: crisp rather than heavy ---------- */
html body.student-dashboard-body aside.student-sidebar,
html body.student-dashboard-body #nbdsDashboardSidebar.student-sidebar,
html body.student-dashboard-body .workflow-role-sidebar.student-sidebar{
  padding:20px 15px 18px!important;
  background:linear-gradient(180deg,#151a37 0%,#1c2548 58%,#151b38 100%)!important;
  box-shadow:8px 0 28px rgba(16,24,52,.10)!important;
}
html body.student-dashboard-body aside.student-sidebar .student-brand,
html body.student-dashboard-body #nbdsDashboardSidebar .student-brand{
  min-height:58px!important;
  margin:0 5px 14px!important;
  padding-bottom:16px!important;
}
html body.student-dashboard-body aside.student-sidebar .student-mini-profile,
html body.student-dashboard-body #nbdsDashboardSidebar .student-mini-profile{
  margin:7px 2px 12px!important;
  padding:11px 12px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.055)!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-group > p,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-group > p{
  margin:18px 11px 7px!important;
  color:#aeb8d6!important;
  font-size:.67rem!important;
  letter-spacing:.15em!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link{
  min-height:42px!important;
  margin:2px 0!important;
  padding:10px 12px!important;
  border-radius:11px!important;
  color:#d9dff0!important;
  font-size:.84rem!important;
  font-weight:700!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link.active,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link.active{
  background:linear-gradient(100deg,var(--mp-role),var(--mp-role-dark))!important;
  box-shadow:0 8px 18px rgba(var(--mp-role-rgb),.20)!important;
}

/* ---------- command bar: one clean horizontal band ---------- */
html body.student-dashboard-body .student-topbar{
  position:sticky!important;
  top:0!important;
  z-index:35!important;
  display:grid!important;
  grid-template-columns:minmax(220px,.76fr) minmax(0,1.55fr)!important;
  align-items:center!important;
  gap:22px!important;
  min-height:88px!important;
  margin:0 -30px 30px!important;
  padding:16px 30px!important;
  border:0!important;
  border-bottom:1px solid var(--v611-line)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 5px 18px rgba(31,43,78,.035)!important;
  backdrop-filter:blur(16px)!important;
  overflow:visible!important;
}
html body.student-dashboard-body .student-topbar::before{display:none!important}
html body.student-dashboard-body .nbds-header-left{min-width:0!important}
html body.student-dashboard-body .student-topbar small{
  margin-bottom:5px!important;
  color:var(--mp-role)!important;
  font-size:.66rem!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
}
html body.student-dashboard-body .student-topbar strong,
html body.student-dashboard-body #currentPageTitle{
  color:var(--v611-ink)!important;
  font-size:1.55rem!important;
  line-height:1.08!important;
  font-weight:900!important;
  letter-spacing:-.035em!important;
}
html body.student-dashboard-body .nbds-header-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  min-width:0!important;
}
html body.student-dashboard-body .nbds-top-search{
  flex:1 1 360px!important;
  max-width:500px!important;
  min-width:220px!important;
  height:50px!important;
  padding:0 14px!important;
  border:1px solid var(--v611-line)!important;
  border-radius:14px!important;
  background:#f7f9fc!important;
  color:#7b879e!important;
  box-shadow:none!important;
}
html body.student-dashboard-body .nbds-top-search:focus-within{
  border-color:rgba(var(--mp-role-rgb),.42)!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(var(--mp-role-rgb),.075)!important;
}
html body.student-dashboard-body .nbds-top-icon-btn{
  width:50px!important;height:50px!important;min-width:50px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
html body.student-dashboard-body .nbds-top-primary{
  min-height:50px!important;
  padding:10px 17px!important;
  border-radius:14px!important;
  box-shadow:0 8px 18px rgba(var(--mp-role-rgb),.18)!important;
}
html body.student-dashboard-body .nbds-top-profile{gap:10px!important;padding-left:14px!important}
html body.student-dashboard-body .nbds-top-avatar{
  width:46px!important;height:46px!important;min-width:46px!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
html body.student-dashboard-body .nbds-top-profile strong{font-size:.78rem!important;color:#2a3551!important}
html body.student-dashboard-body .nbds-top-profile small{font-size:.67rem!important}

/* ---------- hero: clean hierarchy and more breathing room ---------- */
html body.student-dashboard-body .dashboard-hero,
html body.student-dashboard-body .student-page-hero,
html body.student-dashboard-body .student-page .student-cover,
html body.student-dashboard-body .workflow-hero,
html body.student-dashboard-body .teacher-hero-cover,
html body.student-dashboard-body .parent-hero-cover,
html body.student-dashboard-body .admin-hero-cover{
  min-height:218px!important;
  margin:0 0 26px!important;
  padding:34px 40px!important;
  border-radius:var(--v611-radius-lg)!important;
  background:
    radial-gradient(circle at 91% 10%,rgba(255,255,255,.13),transparent 22%),
    radial-gradient(circle at 74% 112%,rgba(255,255,255,.075),transparent 28%),
    linear-gradient(115deg,var(--v611-navy) 0%,#25455d 32%,var(--mp-role-dark) 66%,var(--mp-role) 100%)!important;
  box-shadow:var(--v611-shadow-hero)!important;
}
html body.student-dashboard-body .dashboard-hero::before,
html body.student-dashboard-body .student-page-hero::before,
html body.student-dashboard-body .workflow-hero::before{
  right:74px!important;top:-92px!important;
  width:250px!important;height:250px!important;
  border-width:40px!important;
  border-color:rgba(255,255,255,.045)!important;
}
html body.student-dashboard-body .dashboard-hero::after,
html body.student-dashboard-body .student-page-hero::after,
html body.student-dashboard-body .workflow-hero::after{
  right:-18px!important;bottom:-78px!important;
  width:160px!important;height:160px!important;
  background:rgba(255,255,255,.065)!important;
}
html body.student-dashboard-body .dashboard-hero > span,
html body.student-dashboard-body .student-page-hero > span,
html body.student-dashboard-body .workflow-hero > span{
  color:rgba(255,255,255,.78)!important;
  font-size:.68rem!important;
  letter-spacing:.16em!important;
}
html body.student-dashboard-body .dashboard-hero h1,
html body.student-dashboard-body .student-page-hero h1,
html body.student-dashboard-body .workflow-hero h1{
  max-width:820px!important;
  margin:11px 0 10px!important;
  font-size:clamp(2rem,3vw,2.8rem)!important;
  line-height:1.04!important;
  letter-spacing:-.042em!important;
}
html body.student-dashboard-body .dashboard-hero p,
html body.student-dashboard-body .student-page-hero p,
html body.student-dashboard-body .workflow-hero p{
  max-width:900px!important;
  color:rgba(255,255,255,.84)!important;
  font-size:.94rem!important;
  line-height:1.65!important;
}
html body.student-dashboard-body .student-live-pill{
  margin-top:18px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  font-size:.78rem!important;
}

/* ---------- metric row: calmer, consistent, colourful but not loud ---------- */
html body.student-dashboard-body .student-stats-grid,
html body.student-dashboard-body .student-stat-grid,
html body.student-dashboard-body .admin-user-summary-grid,
html body.student-dashboard-body .teacher-summary-stat-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:16px!important;
  margin:0 0 28px!important;
}
html body.student-dashboard-body .student-stats-grid > .student-stat,
html body.student-dashboard-body .student-stat-grid > .student-stat-card,
html body.student-dashboard-body .admin-user-summary-grid > .student-stat-card,
html body.student-dashboard-body .teacher-summary-stat-grid > .student-stat-card{
  min-height:126px!important;
  padding:20px 20px 18px 78px!important;
  border:1px solid var(--v611-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--v611-shadow)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
html body.student-dashboard-body .student-stats-grid > .student-stat::before,
html body.student-dashboard-body .student-stat-grid > .student-stat-card::before,
html body.student-dashboard-body .admin-user-summary-grid > .student-stat-card::before,
html body.student-dashboard-body .teacher-summary-stat-grid > .student-stat-card::before,
html body.student-dashboard-body .student-stats-grid > .student-stat::after,
html body.student-dashboard-body .student-stat-grid > .student-stat-card::after,
html body.student-dashboard-body .admin-user-summary-grid > .student-stat-card::after,
html body.student-dashboard-body .teacher-summary-stat-grid > .student-stat-card::after{
  left:19px!important;top:27px!important;
  width:43px!important;height:43px!important;
  border-radius:13px!important;
}
html body.student-dashboard-body .student-stat span,
html body.student-dashboard-body .student-stat-card span{
  color:#65718a!important;
  font-size:.74rem!important;
  font-weight:800!important;
}
html body.student-dashboard-body .student-stat strong,
html body.student-dashboard-body .student-stat-card strong{
  margin:5px 0 3px!important;
  color:#17213c!important;
  font-size:1.82rem!important;
  font-weight:900!important;
}
html body.student-dashboard-body .student-stat small,
html body.student-dashboard-body .student-stat-card small{
  color:#8a95aa!important;
  font-size:.70rem!important;
  line-height:1.45!important;
}
html body.student-dashboard-body .student-stat:hover,
html body.student-dashboard-body .student-stat-card:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(var(--mp-role-rgb),.18)!important;
  box-shadow:var(--v611-shadow-hover)!important;
}

/* ---------- shared cards/panels: consistent surface and internal rhythm ---------- */
html body.student-dashboard-body .student-card,
html body.student-dashboard-body .student-message-card,
html body.student-dashboard-body .dashboard-card,
html body.student-dashboard-body .dashboard-panel,
html body.student-dashboard-body .profile-summary-card,
html body.student-dashboard-body .profile-form-card,
html body.student-dashboard-body .result-session-card,
html body.student-dashboard-body .assignment-action-card,
html body.student-dashboard-body .message-thread-card,
html body.student-dashboard-body .admin-record-editor-card,
html body.student-dashboard-body .admin-student-filter-card,
html body.student-dashboard-body .admin-student-record-editor-card,
html body.student-dashboard-body .class-leaderboard-card,
html body.student-dashboard-body .parent-child-summary-card,
html body.student-dashboard-body .admin-registered-users-summary{
  border:1px solid var(--v611-line)!important;
  border-radius:var(--v611-radius)!important;
  background:var(--v611-card)!important;
  box-shadow:var(--v611-shadow)!important;
}
html body.student-dashboard-body .student-card,
html body.student-dashboard-body .dashboard-card,
html body.student-dashboard-body .dashboard-panel,
html body.student-dashboard-body .profile-summary-card,
html body.student-dashboard-body .profile-form-card{
  padding:24px!important;
}
html body.student-dashboard-body .student-card + .student-card,
html body.student-dashboard-body .dashboard-card + .dashboard-card,
html body.student-dashboard-body .dashboard-panel + .dashboard-panel{margin-top:20px!important}
html body.student-dashboard-body .student-card h2,
html body.student-dashboard-body .student-card h3,
html body.student-dashboard-body .dashboard-card h2,
html body.student-dashboard-body .dashboard-panel h2,
html body.student-dashboard-body .dashboard-panel h3,
html body.student-dashboard-body .profile-summary-card h2,
html body.student-dashboard-body .profile-form-head h2,
html body.student-dashboard-body .class-leaderboard-head h2{
  margin-top:0!important;
  color:var(--v611-ink)!important;
  letter-spacing:-.025em!important;
  line-height:1.25!important;
}
html body.student-dashboard-body .student-card p,
html body.student-dashboard-body .dashboard-card p,
html body.student-dashboard-body .dashboard-panel p,
html body.student-dashboard-body .profile-form-head p,
html body.student-dashboard-body .class-leaderboard-head p{
  color:var(--v611-copy)!important;
  line-height:1.65!important;
}
html body.student-dashboard-body .admin-page-grid,
html body.student-dashboard-body .parent-dashboard-grid,
html body.student-dashboard-body .profile-grid,
html body.student-dashboard-body .dashboard-grid{
  gap:20px!important;
}

/* Parent/learner identity cards */
html body.parent-dashboard-body .parent-child-summary-card{
  display:flex!important;
  align-items:center!important;
  gap:15px!important;
  margin:0 0 22px!important;
  padding:18px 20px!important;
}
html body.parent-dashboard-body .parent-child-summary-card h2{margin:0 0 4px!important;font-size:1.08rem!important}
html body.parent-dashboard-body .parent-child-summary-card p{margin:0!important;color:var(--v611-muted)!important}

/* ---------- page sections / widgets ---------- */
html body.student-dashboard-body .nbds-phet-widget,
html body.student-dashboard-body .nbds-scheme-widget,
html body.student-dashboard-body .nbds-class-pdf-widget,
html body.student-dashboard-body .nbds-learning-widget{
  margin:0 0 22px!important;
  border-radius:18px!important;
}
html body.student-dashboard-body .nbds-phet-widget,
html body.student-dashboard-body .nbds-scheme-widget,
html body.student-dashboard-body .nbds-class-pdf-widget{
  padding:22px!important;
  border:1px solid var(--v611-line)!important;
  box-shadow:var(--v611-shadow)!important;
}
html body.student-dashboard-body .nbds-learning-widget{
  padding:24px!important;
  background:linear-gradient(120deg,#182644 0%,var(--mp-role-dark) 72%,var(--mp-role) 100%)!important;
  box-shadow:var(--v611-shadow)!important;
}

/* ---------- tables: clearer rows and quieter headers ---------- */
html body.student-dashboard-body .table-wrap,
html body.student-dashboard-body .leaderboard-table-wrap{
  overflow:auto!important;
  border:1px solid var(--v611-line)!important;
  border-radius:14px!important;
  background:#fff!important;
}
html body.student-dashboard-body table{border-collapse:separate!important;border-spacing:0!important}
html body.student-dashboard-body table thead th{
  padding:12px 14px!important;
  background:#f6f8fb!important;
  color:#66728a!important;
  border-bottom:1px solid var(--v611-line)!important;
  font-size:.69rem!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
html body.student-dashboard-body table tbody td{
  padding:13px 14px!important;
  color:#3f4b65!important;
  border-bottom:1px solid #edf0f5!important;
  line-height:1.45!important;
}
html body.student-dashboard-body table tbody tr:last-child td{border-bottom:0!important}
html body.student-dashboard-body table tbody tr:hover td{background:#f8fbfd!important}

/* ---------- forms and actions ---------- */
html body.student-dashboard-body label{color:#48546d!important;font-weight:750!important}
html body.student-dashboard-body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
html body.student-dashboard-body select,
html body.student-dashboard-body textarea{
  min-height:44px!important;
  padding:10px 12px!important;
  border:1px solid var(--v611-line-strong)!important;
  border-radius:11px!important;
  background:#fbfcfe!important;
  color:#2d3954!important;
  box-shadow:none!important;
}
html body.student-dashboard-body textarea{min-height:110px!important;resize:vertical!important}
html body.student-dashboard-body input:not([type="checkbox"]):not([type="radio"]):focus,
html body.student-dashboard-body select:focus,
html body.student-dashboard-body textarea:focus{
  border-color:rgba(var(--mp-role-rgb),.52)!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(var(--mp-role-rgb),.075)!important;
}
html body.student-dashboard-body .btn,
html body.student-dashboard-body button:not(.nbds-mobile-sidebar-toggle),
html body.student-dashboard-body a.btn-primary,
html body.student-dashboard-body a.btn-outline{
  min-height:42px!important;
  border-radius:11px!important;
  font-weight:800!important;
}
html body.student-dashboard-body .btn-primary,
html body.student-dashboard-body button.btn-primary,
html body.student-dashboard-body a.btn-primary{
  box-shadow:0 8px 18px rgba(var(--mp-role-rgb),.16)!important;
}

/* ---------- alerts, badges and statuses ---------- */
html body.student-dashboard-body .alert{
  max-width:1480px!important;
  margin:0 auto 18px!important;
  padding:13px 16px!important;
  border-radius:12px!important;
  box-shadow:none!important;
  font-size:.83rem!important;
  line-height:1.5!important;
}
html body.student-dashboard-body .status-pill,
html body.student-dashboard-body .badge,
html body.student-dashboard-body .status-badge{
  padding:5px 9px!important;
  border-radius:999px!important;
  font-size:.68rem!important;
  font-weight:850!important;
}

/* ---------- workflow: exactly the same visual language as dashboard ---------- */
html body.student-dashboard-body .workflow-main{background:inherit!important}
html body.student-dashboard-body .workflow-action-grid{
  gap:14px!important;
}
html body.student-dashboard-body .workflow-action-grid a{
  min-height:68px!important;
  padding:14px 16px!important;
  border:1px solid var(--v611-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(31,43,78,.05)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
html body.student-dashboard-body .workflow-action-grid a:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(var(--mp-role-rgb),.25)!important;
  box-shadow:var(--v611-shadow-hover)!important;
}

/* ---------- subtle entrance motion, disabled for accessibility preference ---------- */
@media (prefers-reduced-motion:no-preference){
  html body.student-dashboard-body .student-page.active > .dashboard-hero,
  html body.student-dashboard-body .student-page.active > .student-page-hero,
  html body.student-dashboard-body .student-page.active > .student-stats-grid,
  html body.student-dashboard-body .student-page.active > .student-stat-grid,
  html body.student-dashboard-body .student-page.active > .student-card,
  html body.student-dashboard-body .student-page.active > .dashboard-card,
  html body.student-dashboard-body .student-page.active > .dashboard-panel{
    animation:nbdsV611Rise .28s ease both!important;
  }
  @keyframes nbdsV611Rise{
    from{opacity:.72;transform:translateY(5px)}
    to{opacity:1;transform:none}
  }
}

/* ---------- responsive cleanup ---------- */
@media (max-width:1280px){
  html body.student-dashboard-body .student-topbar{
    grid-template-columns:minmax(190px,.68fr) minmax(0,1.5fr)!important;
    gap:16px!important;
  }
  html body.student-dashboard-body .nbds-top-search{max-width:390px!important}
}
@media (max-width:1080px){
  html body.student-dashboard-body .student-topbar{
    position:relative!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    min-height:auto!important;
    margin:0 -20px 24px!important;
    padding:16px 20px!important;
  }
  html body.student-dashboard-body .nbds-header-tools{justify-content:flex-start!important;flex-wrap:wrap!important}
  html body.student-dashboard-body .nbds-top-search{order:5!important;flex:1 1 100%!important;max-width:none!important}
  html body.student-dashboard-body .nbds-top-profile-copy{display:block!important}
}
@media (max-width:900px){
  html body.student-dashboard-body .student-main,
  html body.student-dashboard-body .workflow-main{padding:0 14px 48px!important}
  html body.student-dashboard-body .student-topbar{margin:0 -14px 20px!important;padding:14px!important}
  html body.student-dashboard-body .dashboard-hero,
  html body.student-dashboard-body .student-page-hero,
  html body.student-dashboard-body .student-page .student-cover,
  html body.student-dashboard-body .workflow-hero{
    min-height:195px!important;
    padding:26px 23px!important;
    border-radius:20px!important;
  }
  html body.student-dashboard-body .dashboard-hero h1,
  html body.student-dashboard-body .student-page-hero h1,
  html body.student-dashboard-body .workflow-hero h1{font-size:clamp(1.75rem,7vw,2.35rem)!important}
}
@media (max-width:620px){
  html body.student-dashboard-body .student-topbar strong,
  html body.student-dashboard-body #currentPageTitle{font-size:1.28rem!important}
  html body.student-dashboard-body .nbds-header-tools{gap:8px!important}
  html body.student-dashboard-body .nbds-top-icon-btn{width:46px!important;height:46px!important;min-width:46px!important}
  html body.student-dashboard-body .nbds-top-primary{min-height:46px!important;flex:1!important;min-width:126px!important}
  html body.student-dashboard-body .nbds-top-profile{border-left:0!important;padding-left:0!important}
  html body.student-dashboard-body .nbds-top-profile-copy{display:none!important}
  html body.student-dashboard-body .student-stats-grid,
  html body.student-dashboard-body .student-stat-grid{grid-template-columns:1fr!important;gap:12px!important}
  html body.student-dashboard-body .student-stats-grid > .student-stat,
  html body.student-dashboard-body .student-stat-grid > .student-stat-card{min-height:112px!important;padding:18px 18px 16px 72px!important}
  html body.student-dashboard-body .student-stats-grid > .student-stat::before,
  html body.student-dashboard-body .student-stat-grid > .student-stat-card::before,
  html body.student-dashboard-body .student-stats-grid > .student-stat::after,
  html body.student-dashboard-body .student-stat-grid > .student-stat-card::after{left:17px!important;top:24px!important;width:40px!important;height:40px!important}
  html body.student-dashboard-body .student-card,
  html body.student-dashboard-body .dashboard-card,
  html body.student-dashboard-body .dashboard-panel,
  html body.student-dashboard-body .profile-summary-card,
  html body.student-dashboard-body .profile-form-card{padding:18px!important}
}

@media print{
  html body.student-dashboard-body .student-topbar{position:static!important;margin:0 0 18px!important;border-bottom:1px solid #ddd!important}
  html body.student-dashboard-body .student-page{max-width:none!important}
  html body.student-dashboard-body .student-card,
  html body.student-dashboard-body .dashboard-card,
  html body.student-dashboard-body .dashboard-panel,
  html body.student-dashboard-body .student-stat,
  html body.student-dashboard-body .student-stat-card{box-shadow:none!important}
}

/* ========================================================================
   NBDS PROFESSIONAL COMPACT UI v612
   Smaller typography + true 100% content width across every dashboard page.
   Keeps the existing workflow, navigation, role accents and responsive shell.
   ======================================================================== */

html body.student-dashboard-body{
  font-size:14px!important;
  line-height:1.5!important;
}

/* Full-width application/content canvas */
html body.student-dashboard-body .student-app-shell,
html body.student-dashboard-body .workflow-hub-shell{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
html body.student-dashboard-body .student-main,
html body.student-dashboard-body .workflow-main,
html body.student-dashboard-body .teacher-main,
html body.student-dashboard-body .parent-main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
html body.student-dashboard-body .student-page,
html body.student-dashboard-body .student-page.active{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
html body.student-dashboard-body .student-page > .student-cover,
html body.student-dashboard-body .student-page > .dashboard-hero,
html body.student-dashboard-body .student-page > .student-page-hero,
html body.student-dashboard-body .student-page > .student-stats-grid,
html body.student-dashboard-body .student-page > .student-stat-grid,
html body.student-dashboard-body .student-page > .admin-page-grid,
html body.student-dashboard-body .student-page > .parent-dashboard-grid,
html body.student-dashboard-body .student-page > .student-card,
html body.student-dashboard-body .student-page > .dashboard-card,
html body.student-dashboard-body .student-page > .dashboard-panel,
html body.student-dashboard-body .student-page > .profile-summary-card,
html body.student-dashboard-body .student-page > .profile-form-card,
html body.student-dashboard-body .student-page > .table-wrap,
html body.student-dashboard-body .student-page > .leaderboard-table-wrap,
html body.student-dashboard-body .student-page > section:not(.student-page),
html body.student-dashboard-body .admin-page-grid,
html body.student-dashboard-body .parent-dashboard-grid,
html body.student-dashboard-body .teacher-summary-stat-grid,
html body.student-dashboard-body .admin-user-summary-grid,
html body.student-dashboard-body .workflow-action-grid,
html body.student-dashboard-body .table-wrap,
html body.student-dashboard-body .leaderboard-table-wrap{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
html body.student-dashboard-body .alert{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
html body.student-dashboard-body table{
  width:100%!important;
  max-width:none!important;
}

/* Compact sidebar typography */
html body.student-dashboard-body aside.student-sidebar .student-nav-group > p,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-group > p{
  font-size:.62rem!important;
  letter-spacing:.14em!important;
}
html body.student-dashboard-body aside.student-sidebar .student-nav-link,
html body.student-dashboard-body #nbdsDashboardSidebar .student-nav-link{
  font-size:.79rem!important;
  line-height:1.28!important;
}
html body.student-dashboard-body aside.student-sidebar .student-mini-profile strong,
html body.student-dashboard-body #nbdsDashboardSidebar .student-mini-profile strong{
  font-size:.78rem!important;
}
html body.student-dashboard-body aside.student-sidebar .student-mini-profile small,
html body.student-dashboard-body #nbdsDashboardSidebar .student-mini-profile small{
  font-size:.65rem!important;
}

/* Compact top command bar */
html body.student-dashboard-body .student-topbar small{
  font-size:.61rem!important;
  letter-spacing:.14em!important;
}
html body.student-dashboard-body .student-topbar strong,
html body.student-dashboard-body #currentPageTitle{
  font-size:1.38rem!important;
  line-height:1.08!important;
}
html body.student-dashboard-body .nbds-top-search,
html body.student-dashboard-body .nbds-top-search input{
  font-size:.80rem!important;
}
html body.student-dashboard-body .nbds-top-primary{
  font-size:.76rem!important;
}
html body.student-dashboard-body .nbds-top-profile strong{
  font-size:.73rem!important;
}
html body.student-dashboard-body .nbds-top-profile small{
  font-size:.62rem!important;
}

/* Hero typography: strong, but no longer oversized */
html body.student-dashboard-body .dashboard-hero > span,
html body.student-dashboard-body .student-page-hero > span,
html body.student-dashboard-body .workflow-hero > span{
  font-size:.63rem!important;
  letter-spacing:.145em!important;
}
html body.student-dashboard-body .dashboard-hero h1,
html body.student-dashboard-body .student-page-hero h1,
html body.student-dashboard-body .workflow-hero h1{
  max-width:920px!important;
  font-size:clamp(1.72rem,2.45vw,2.38rem)!important;
  line-height:1.06!important;
}
html body.student-dashboard-body .dashboard-hero p,
html body.student-dashboard-body .student-page-hero p,
html body.student-dashboard-body .workflow-hero p{
  max-width:980px!important;
  font-size:.86rem!important;
  line-height:1.58!important;
}
html body.student-dashboard-body .student-page .student-cover.compact{
  min-height:150px!important;
  padding:24px 30px!important;
}
html body.student-dashboard-body .student-page .student-cover.compact h1{
  font-size:clamp(1.48rem,2vw,1.86rem)!important;
  line-height:1.08!important;
}
html body.student-dashboard-body .student-page .student-cover.compact p{
  font-size:.82rem!important;
}
html body.student-dashboard-body .student-live-pill{
  font-size:.70rem!important;
}

/* Cards and dashboard content typography */
html body.student-dashboard-body .student-card,
html body.student-dashboard-body .dashboard-card,
html body.student-dashboard-body .dashboard-panel,
html body.student-dashboard-body .profile-summary-card,
html body.student-dashboard-body .profile-form-card,
html body.student-dashboard-body .admin-card{
  font-size:.82rem!important;
}
html body.student-dashboard-body .student-card h2,
html body.student-dashboard-body .dashboard-card h2,
html body.student-dashboard-body .dashboard-panel h2,
html body.student-dashboard-body .profile-summary-card h2,
html body.student-dashboard-body .profile-form-card h2,
html body.student-dashboard-body .admin-card h2{
  font-size:1rem!important;
  line-height:1.28!important;
}
html body.student-dashboard-body .student-card h3,
html body.student-dashboard-body .dashboard-card h3,
html body.student-dashboard-body .dashboard-panel h3,
html body.student-dashboard-body .admin-card h3{
  font-size:.90rem!important;
  line-height:1.3!important;
}
html body.student-dashboard-body .student-card p,
html body.student-dashboard-body .dashboard-card p,
html body.student-dashboard-body .dashboard-panel p,
html body.student-dashboard-body .admin-card p{
  font-size:.80rem!important;
  line-height:1.55!important;
}

/* Metric cards */
html body.student-dashboard-body .student-stats-grid > .student-stat .stat-label,
html body.student-dashboard-body .student-stat-grid > .student-stat-card .stat-label,
html body.student-dashboard-body .student-stat .label,
html body.student-dashboard-body .student-stat-card .label{
  font-size:.67rem!important;
}
html body.student-dashboard-body .student-stats-grid > .student-stat strong,
html body.student-dashboard-body .student-stat-grid > .student-stat-card strong,
html body.student-dashboard-body .student-stat .value,
html body.student-dashboard-body .student-stat-card .value{
  font-size:1.62rem!important;
  line-height:1!important;
}
html body.student-dashboard-body .student-stats-grid > .student-stat small,
html body.student-dashboard-body .student-stat-grid > .student-stat-card small,
html body.student-dashboard-body .student-stat small,
html body.student-dashboard-body .student-stat-card small{
  font-size:.65rem!important;
}

/* Tables */
html body.student-dashboard-body table thead th{
  font-size:.62rem!important;
  padding:11px 12px!important;
}
html body.student-dashboard-body table tbody td{
  font-size:.77rem!important;
  padding:12px!important;
}

/* Forms, buttons, notices and status pills */
html body.student-dashboard-body label{
  font-size:.74rem!important;
}
html body.student-dashboard-body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
html body.student-dashboard-body select,
html body.student-dashboard-body textarea{
  font-size:.79rem!important;
}
html body.student-dashboard-body .btn,
html body.student-dashboard-body button:not(.nbds-mobile-sidebar-toggle),
html body.student-dashboard-body a.btn-primary,
html body.student-dashboard-body a.btn-outline{
  font-size:.76rem!important;
}
html body.student-dashboard-body .alert{
  font-size:.77rem!important;
}
html body.student-dashboard-body .status-pill,
html body.student-dashboard-body .badge,
html body.student-dashboard-body .status-badge{
  font-size:.62rem!important;
}

/* Keep all two/three-column page sections fluid and proportional */
html body.student-dashboard-body .admin-page-grid,
html body.student-dashboard-body .parent-dashboard-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important;
}
html body.student-dashboard-body .student-stats-grid,
html body.student-dashboard-body .student-stat-grid,
html body.student-dashboard-body .admin-user-summary-grid,
html body.student-dashboard-body .teacher-summary-stat-grid{
  width:100%!important;
  max-width:none!important;
}

/* Responsive scaling keeps the interface compact without squeezing content */
@media (max-width:1080px){
  html body.student-dashboard-body .student-topbar strong,
  html body.student-dashboard-body #currentPageTitle{font-size:1.28rem!important}
  html body.student-dashboard-body .dashboard-hero h1,
  html body.student-dashboard-body .student-page-hero h1,
  html body.student-dashboard-body .workflow-hero h1{font-size:clamp(1.55rem,4.5vw,2rem)!important}
}
@media (max-width:620px){
  html body.student-dashboard-body{font-size:13.5px!important}
  html body.student-dashboard-body .student-topbar strong,
  html body.student-dashboard-body #currentPageTitle{font-size:1.18rem!important}
  html body.student-dashboard-body .dashboard-hero h1,
  html body.student-dashboard-body .student-page-hero h1,
  html body.student-dashboard-body .workflow-hero h1{font-size:clamp(1.42rem,7vw,1.82rem)!important}
  html body.student-dashboard-body .dashboard-hero p,
  html body.student-dashboard-body .student-page-hero p,
  html body.student-dashboard-body .workflow-hero p{font-size:.80rem!important}
  html body.student-dashboard-body table thead th{font-size:.60rem!important}
  html body.student-dashboard-body table tbody td{font-size:.74rem!important}
}
