/* SIMAJAR Font 12+ Booster
   Target: visually closer to Word font size 12 and comfortable for senior teachers
*/
:root{
  --base-font: 18px;
}

/* default larger baseline */
html[data-font-scale="normal"]{ --font-scale:1; }
html[data-font-scale="large"]{ --font-scale:1.12; }
html[data-font-scale="xlarge"]{ --font-scale:1.24; }

body{
  font-size: calc(var(--base-font) * var(--font-scale));
  line-height: 1.62;
}

/* Main navigation and header */
.brand b{font-size:1.28em}
.brand span{font-size:.92em}
.nav{
  font-size:1.08em;
  padding:16px 16px;
}
.topbar{min-height:88px}
.topbar-left b{font-size:1.28em}
.top-user b{font-size:1.08em}
.top-user small{font-size:.92em}
.badge{font-size:.80em}

/* Page titles and supporting text */
.page-head h1{font-size:2.15em}
.page-head p,.muted,.empty,.notice,.success,.issue,.big-status{
  font-size:1.02em;
}
.hero-copy h2{font-size:2.35em}
.hero-copy p{font-size:1.06em}
.hero-score-ring b{font-size:1.8em}

/* Buttons and filters */
.btn{
  font-size:1.02em;
  min-height:48px;
  padding:12px 16px;
}
.btn.sm{
  min-height:40px;
  font-size:.95em;
  padding:9px 13px;
}
.toolbar select,.toolbar input,select,input,textarea{
  min-height:50px;
  font-size:1.01em;
}
label{
  font-size:.98em;
}
.chip,.tag{font-size:.87em}

/* Cards and KPIs */
.card h3,.section-heading-row h3,.today-card h3{
  font-size:1.26em;
}
.kpi span,.kpi small{font-size:.98em}
.kpi b{font-size:2.2em}
.premium-kpis .kpi b{font-size:2.15em}
.active-schedule-card span{font-size:.92em}

/* Tables */
table{
  font-size:1em;
}
th{
  font-size:.98em;
  padding:15px 13px;
}
td{
  font-size:1em;
  padding:14px 13px;
  line-height:1.5;
}
.schedule-table th,.schedule-table td{min-width:165px}
.schedule-table th:first-child,.schedule-table td:first-child{min-width:120px}

.sched{
  font-size:.98em;
  padding:10px 7px;
}
.sched small{
  font-size:.84em;
}

/* Forms and modal */
.modal-head h3{font-size:1.28em}
.modal-card{width:min(940px,100%)}
.modal-body,#modalBody{font-size:1em}
.student-row,.class-card,.journal-header,.identity,.signature{
  font-size:1em;
}
.avail-slot{font-size:.96em}
.avail-slot small{font-size:.84em}

/* Login */
.login-panel h1{font-size:2.15em}
.login-intro{font-size:1.02em!important}
.login-visual-copy h2{font-size:3.15em}
.login-visual-copy p{font-size:1.08em}
.login-feature-pills span{font-size:.88em}
.login-brand-row b{font-size:1.32em}
.login-brand-row span{font-size:.92em}

/* make the A/A+/A++ controls also larger */
.ui-tools-label{font-size:.95em}
.font-btn{
  min-width:46px;
  font-size:.98em;
}

/* On standard desktop keep comfortable density */
@media (min-width: 1200px){
  .content{padding:30px}
}

/* On smaller screens, preserve readability */
@media (max-width: 860px){
  body{font-size: calc(17px * var(--font-scale));}
  .page-head h1{font-size:1.9em}
  .hero-copy h2{font-size:1.9em}
}


/* V5 font scale: A--, A-, A, A+, A++ */
html[data-font-scale="xsmall"]{ --font-scale:.82; }
html[data-font-scale="small"]{ --font-scale:.91; }
html[data-font-scale="normal"]{ --font-scale:1; }
html[data-font-scale="large"]{ --font-scale:1.12; }
html[data-font-scale="xlarge"]{ --font-scale:1.24; }

.btn[href],a.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.account-intro{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
}
.account-callout{
  border-radius:18px;
  padding:20px;
  background:linear-gradient(135deg,#edf6ff,#ecfaf5);
  border:1px solid #d4e8e6;
}
.account-callout h3{margin:0 0 7px}
.account-callout p{margin:0;color:var(--muted)}
.temp-password-card{
  border:1px solid #efdca4;
  background:linear-gradient(135deg,#fff9e9,#fffdf7);
  border-radius:18px;
  padding:20px;
}
.teacher-account-status{
  display:flex;
  align-items:center;
  gap:8px;
}
.account-login-code{
  display:inline-block;
  font-weight:850;
  letter-spacing:.06em;
  padding:6px 10px;
  border-radius:9px;
  background:#e9f3ff;
  color:#115caa;
}
.password-rules{
  margin-top:8px;
  font-size:.88em;
  color:var(--muted);
}
.force-password-note{
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff4ca;
  color:#7f5a00;
  border:1px solid #f2df9e;
}
.import-actions{display:flex;gap:8px;flex-wrap:wrap}

@media(max-width:900px){
  .account-intro{grid-template-columns:1fr}
}
