/* MS Academy Salem typography system */
body{font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:1.6}
h1,h2,h3,.page-banner h1,.section-title h2,.process-heading h2{font-family:var(--font-display);font-weight:var(--weight-bold)}
h1,.page-banner h1{font-size:clamp(32px,3vw,var(--text-hero));line-height:1.2}
h2,.section-title h2{font-size:clamp(26px,2.4vw,32px);line-height:1.25}
h3{font-size:clamp(20px,1.8vw,24px);line-height:1.3}
p,li{font-weight:var(--weight-regular)}
.nav-links a{font-family:var(--font-body);font-size:15px;font-weight:var(--weight-medium);line-height:1.4}
.nav-links a.active{font-weight:var(--weight-semibold)}
button,.btn,.student-text-button,.student-sidebar-action,.student-logout-button,.student-mobile-logout{font-family:var(--font-body);font-size:var(--text-button);font-weight:var(--weight-semibold);line-height:1.3}
label{font-family:var(--font-body);font-size:var(--text-small);font-weight:var(--weight-semibold)}
input,textarea,select{font-family:var(--font-body);font-size:14px;font-weight:var(--weight-regular)}
.student-side-link{font-family:var(--font-body);font-size:var(--text-sidebar);font-weight:var(--weight-medium);line-height:1.4}
.student-side-link.active{font-weight:var(--weight-semibold)}
.student-sidebar-head strong{font-family:var(--font-display);font-weight:var(--weight-bold)}
.student-sidebar-head span,.student-hero-kicker,.eyebrow{font-family:var(--font-body);font-size:11px;font-weight:var(--weight-semibold);line-height:1.3;letter-spacing:1.2px}
.student-welcome h2{font-family:var(--font-display);font-size:clamp(28px,2vw,32px);font-weight:var(--weight-bold);line-height:1.2}
.student-welcome small{font-family:var(--font-body);font-size:var(--text-small);font-weight:var(--weight-regular);line-height:1.5}
.student-overview-hero h3{font-family:var(--font-display);font-size:clamp(32px,3vw,44px);font-weight:var(--weight-bold);line-height:1.15}
.student-overview-hero p{font-family:var(--font-body);font-size:clamp(14px,1.1vw,16px);font-weight:var(--weight-regular);line-height:1.6}
.student-card-title h3,.student-card-heading h3,.student-summary-card>h3{font-family:var(--font-body);font-size:clamp(18px,1.3vw,20px);font-weight:var(--weight-semibold);line-height:1.4}
.student-card-title button{font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:1.3}
.student-progress-ring strong,.student-test-summary strong,.student-live-summary strong,.student-test-result strong{font-family:var(--font-body);font-size:clamp(28px,2.2vw,36px);font-weight:var(--weight-bold);line-height:1.1}
.student-progress-ring span,.student-progress-stats,.student-progress-note,.student-mini-list small,.student-user-chip small,.student-dashboard-search input{font-family:var(--font-body);font-size:var(--text-caption);font-weight:var(--weight-regular);line-height:1.4}
.student-mini-list strong,.student-account-card dl,.student-user-chip strong{font-family:var(--font-body);font-size:var(--text-small);line-height:1.5}
.student-mini-list strong{font-weight:var(--weight-semibold)}
.student-dashboard-quote{font-family:var(--font-display);font-size:clamp(18px,1.5vw,22px);font-weight:var(--weight-semibold);line-height:1.4}
.student-dashboard-quote i{font-size:16px}.student-mini-batch em{font-family:var(--font-body);font-size:11px;font-weight:var(--weight-semibold)}
.student-section-heading h3,.app-main-header h3,.test-app-header h3{font-family:var(--font-display);font-size:clamp(26px,2.2vw,30px);font-weight:var(--weight-bold);line-height:1.25}
.student-section-heading p,.app-main-header p,.test-app-header p{font-family:var(--font-body);font-size:clamp(14px,1vw,16px);font-weight:var(--weight-regular);line-height:1.6}
.announcement-card h4,.student-live-details h4,.student-test-card h4{font-family:var(--font-body);font-size:14px;font-weight:var(--weight-semibold);line-height:1.4}
.announcement-card p,.student-live-details p,.student-test-card p{font-family:var(--font-body);font-size:13px;font-weight:var(--weight-regular);line-height:1.5}
.announcement-date,.student-live-time,.student-test-meta{font-family:var(--font-body);font-size:11px;font-weight:var(--weight-regular);line-height:1.4}
.dashboard-header h2,.admin-box h2{font-family:var(--font-display);font-size:clamp(28px,2.3vw,32px);font-weight:var(--weight-bold);line-height:1.2}
@media(max-width:760px){:root{--text-hero:38px;--text-h1:32px;--text-h2:26px;--text-h3:20px}.student-overview-hero h3{font-size:32px}.student-dashboard-quote{font-size:18px}.student-card-title h3{font-size:18px}}

/* Reference-dashboard proportions */
@media(min-width:901px){
  .student-portal-shell{grid-template-columns:250px minmax(0,1fr)}
  .student-sidebar-head{padding:.25rem .4rem 1rem}
  .student-sidebar-head img{width:104px;height:104px;padding:5px;background:#fff;border:1px solid #c9dcf2;border-radius:15px;box-shadow:0 7px 18px rgba(7,86,175,.1)}
  .student-sidebar-head strong,.student-sidebar-head span{display:none}
  .student-side-nav{margin:.8rem 0;gap:.28rem}
  .student-side-link{padding:.58rem .65rem}
  .student-side-icon{width:34px;height:34px}
  .student-overview-topbar{min-height:70px;padding-bottom:.8rem}
  .student-overview-hero{height:220px;min-height:220px;align-items:flex-start;padding:1rem 1.9rem;background:linear-gradient(90deg,#123fbe 0%,#155bd4 62%,#25a7f0 100%)}
  .student-overview-hero:after{content:"";display:block;position:absolute;z-index:0;inset:0;width:auto;height:auto;border:0;border-radius:inherit;background:url('assets/student-dashboard-hero.png') right center/auto 140% no-repeat;pointer-events:none}
  .student-overview-hero:before{content:"";display:block;position:absolute;z-index:1;inset:0;border-radius:inherit;background:linear-gradient(90deg,#123fbe 0%,#123fbe 48%,rgba(18,63,190,.92) 58%,rgba(18,63,190,.62) 68%,rgba(18,63,190,.28) 76%,transparent 84%);pointer-events:none}
  .student-overview-hero>div,.student-overview-hero>button{z-index:1}
  .student-overview-hero>div{max-width:62%}
  .student-overview-hero h3{margin:.4rem 0 .25rem;font-size:clamp(32px,1.8vw,35px);line-height:1.15;white-space:nowrap}
  .student-overview-hero p{max-width:670px;margin:0;font-size:14px;line-height:1.45}
  .student-overview-hero button{left:1.9rem;bottom:2.25rem;padding:.65rem 1.1rem}
  .student-dashboard-grid{margin-top:.9rem;gap:.85rem}
  .student-summary-card{min-height:245px;padding:1rem}
  .student-card-title{margin-bottom:.8rem}
  .student-card-title h3{font-size:18px}
  .student-progress-body{grid-template-columns:140px 1fr;gap:.75rem}
  .student-progress-ring{width:132px;height:132px}
  .student-dashboard-quote{margin-top:.85rem;padding:.62rem .9rem;font-size:18px}
}
@media(min-width:901px) and (max-width:1180px){
  .student-overview-hero h3{font-size:32px;white-space:normal}
  .student-overview-hero>div{max-width:68%}
}
@media(max-width:760px){
  .student-sidebar-head img{width:76px;height:76px;padding:5px;background:#fff;border:2px solid #c9dcf2;border-radius:15px;box-shadow:0 8px 20px rgba(7,86,175,.12)}
  .student-overview-hero:after{display:none}
  .student-overview-hero:before{background:linear-gradient(90deg,rgba(3,42,132,.93),rgba(3,60,153,.45))}
}

/* Complete website font application */
html,body{font-family:var(--font-body);font-weight:var(--weight-regular);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,textarea,select,option,label,a,table,th,td,summary,details{font-family:var(--font-body)}
button,.btn,[class*="button"],[class*="-btn"]{font-weight:var(--weight-semibold)}
small,.muted,.section-note,.announcement-date{font-family:var(--font-body);font-weight:var(--weight-regular)}

/* Public website: academic display headings */
#home h1,#home h2,#home .hero-card h3,#home .home-poster-card h3,
#ugtrb h1,#ugtrb h2,#ugtrb>.container>h3,
#announcements .page-banner h1,#contact .page-banner h1,
.page-banner h1,.section-title h2,.process-heading h2{
  font-family:var(--font-display);font-weight:var(--weight-bold)
}
#home .feature-card h3,#home .process-step h3,#ugtrb .include-card h3,
#contact .contact-card h3,#contact .message-card h3{
  font-family:var(--font-body);font-size:var(--text-card);font-weight:var(--weight-semibold);line-height:1.4
}
.hero-subtitle,.page-banner p,.section-note,.course-panel p,.contact-card p,.message-card p{
  font-family:var(--font-body);font-weight:var(--weight-regular);line-height:1.6
}
.top-bar,.brand,.nav-links,.admission-flash,footer{font-family:var(--font-body)}

/* Student dashboard: functional cards in Poppins */
#studentDashboardBox{font-family:var(--font-body)}
#studentDashboardBox h3,#studentDashboardBox h4,#studentDashboardBox h5,#studentDashboardBox h6{
  font-family:var(--font-body);font-weight:var(--weight-semibold)
}
#studentDashboardBox .student-overview-hero h3,
#studentDashboardBox .student-section-heading h3,
#studentDashboardBox .student-welcome h2,
#studentDashboardBox .student-test-finish h3{
  font-family:var(--font-display);font-weight:var(--weight-bold)
}
#studentDashboardBox .student-dashboard-quote{font-family:var(--font-display);font-weight:var(--weight-semibold)}
#studentDashboardBox p,#studentDashboardBox li,#studentDashboardBox dl,#studentDashboardBox button,#studentDashboardBox a{font-family:var(--font-body)}

/* Instructor dashboard: page titles in Playfair, UI in Poppins */
#dashboardBox{font-family:var(--font-body)}
#dashboardBox h2,#dashboardBox h3,#dashboardBox h4,#dashboardBox h5,#dashboardBox h6{
  font-family:var(--font-body);font-weight:var(--weight-semibold)
}
#dashboardBox>.dashboard-header h2,
#dashboardBox .app-main-header h3,
#dashboardBox .test-app-header h3,
#dashboardBox #adminDashboardTitle{
  font-family:var(--font-display);font-weight:var(--weight-bold)
}
#dashboardBox p,#dashboardBox li,#dashboardBox button,#dashboardBox input,#dashboardBox textarea,#dashboardBox select{font-family:var(--font-body)}
.admin-box h2{font-family:var(--font-display);font-weight:var(--weight-bold)}

/* Forms, data, announcements and assessment UI */
.form-grid h3,.form-card h3,.content-card h3,.panel-card h3,
.announcement-card h4,.student-live-card h4,.student-test-card h4,
.material-stage h4,.material-browser-shell h4{
  font-family:var(--font-body);font-weight:var(--weight-semibold)
}
th{font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:1.4}
td{font-size:var(--text-small);font-weight:var(--weight-regular);line-height:1.5}
.eyebrow,[class*="label"],[class*="caption"]{font-family:var(--font-body)}
@media(max-width:760px){body{font-size:14px}.nav-links a{font-size:14px}}

/* Keep the signed-in student workspace full width. This file loads last, so
   these rules prevent older container sizing from centering portal sections. */
@media(min-width:761px){
  #student .container.section-padding{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  #studentDashboardBox,
  #studentDashboardBox .student-portal-shell,
  #studentDashboardBox .student-portal-main,
  #studentDashboardBox .student-portal-section{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}
