/* Classeto 7.5 — fonts supplied separately by the site owner.
   These TTF files are not redistributed in the downloadable package.
   Loading this layer after existing style sheets preserves dark/light theme colors. */
@font-face {
  font-family: "ClassetoIRANSans";
  src: url("/assets/fonts/IRANSansWeb.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ClassetoIRANSans";
  src: url("/assets/fonts/IRANSans_Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ClassetoIRANSans";
  src: url("/assets/fonts/IRANSans_Medium.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ClassetoIRANSans";
  src: url("/assets/fonts/IRANSans_Medium.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ClassetoIRANSans";
  src: url("/assets/fonts/IRANSans_Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ClassetoIRANSans";
  src: url("/assets/fonts/IRANSans_Black.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ClassetoYekan";
  src: url("/assets/fonts/IRANYekanRegular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  /* Only digits are taken from FaNum; all other glyphs use IRANYekan/IRANSans. */
  font-family: "ClassetoFaNum";
  src: url("/assets/fonts/IRANSansFaNum.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0030-0039, U+06F0-06F9, U+0660-0669;
}
:root {
  --classeto-ui-font: "ClassetoFaNum", "ClassetoYekan", "ClassetoIRANSans", Tahoma, Arial, sans-serif;
  --classeto-heading-font: "ClassetoFaNum", "ClassetoIRANSans", "ClassetoYekan", Tahoma, Arial, sans-serif;
}
/* Main interface + public teacher pages, without changing each site's accent/theme. */
:where(html, body, .app-shell, .auth-wrap, .public, .public.dark) {
  font-family: var(--classeto-ui-font) !important;
}
:where(.app-shell, .auth-wrap, .public) :is(input, textarea, button, select, option, label, table, a, p, small, span) {
  font-family: var(--classeto-ui-font) !important;
}
:where(.app-shell, .auth-wrap, .public) :is(h1, h2, h3, h4, .brand, .btn, .number, .stat .number) {
  font-family: var(--classeto-heading-font) !important;
}
/* Keep data compact and readable in central admin; unit remains تومان. */
html.classeto-admin-ui .app-shell .stat .number {
  font-size: clamp(1.35rem, 2vw, 1.65rem) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums;
}
html.classeto-admin-ui .app-shell :is(.table, .cp-finance-list .table) {
  font-size: .81rem !important;
}
html.classeto-admin-ui .app-shell .table :is(td, th) {
  font-size: .81rem !important;
  font-variant-numeric: tabular-nums;
}
html.classeto-admin-ui .app-shell .cp-admin-data strong {
  font-size: .82rem !important;
  line-height: 1.7 !important;
}
html.classeto-admin-ui .app-shell .cp-admin-count strong {
  font-size: .89rem !important;
}
html.classeto-admin-ui .app-shell :is(.cp-admin-field input, .cp-admin-field select, .cp-admin-settings-forms input[type="number"]) {
  font-size: .87rem !important;
  font-variant-numeric: tabular-nums;
}
html.classeto-admin-ui .app-shell .cp-finance-list td {
  font-size: .8rem !important;
}
/* Prevent awkward overflow of money amounts and Jalali dates on narrower displays. */
html.classeto-admin-ui .app-shell :is(.cp-admin-data, .cp-finance-list, .cp-admin-controls) {
  min-width: 0;
}
@media (max-width: 800px) {
  html.classeto-admin-ui .app-shell .stat .number { font-size: 1.4rem !important; }
  html.classeto-admin-ui .app-shell :is(.cp-finance-list td, .cp-admin-data strong) { font-size: .79rem !important; }
}
