/**
 * Institute Management System — typography
 * Self-hosted Inter (Latin). CSP-safe, no external CDN.
 */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter/inter-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter/inter-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter/inter-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter/inter-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/inter/inter-latin-800-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --font-sans: 'Inter', 'Segoe UI Variable', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'Cascadia Code', 'Consolas', 'SF Mono', ui-monospace, 'Roboto Mono', monospace;
  --font-stack: var(--font-sans);

  /* Type scale — institute admin UI */
  --text-xs:   .75rem;
  --text-sm:   .8125rem;
  --text-base: .9375rem;
  --text-md:   1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;

  --font-normal:   400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;
  --font-extrabold: 800;

  --leading-tight:   1.25;
  --leading-snug:    1.375;
  --leading-normal:  1.55;
  --leading-relaxed: 1.65;

  --tracking-tight:  -.025em;
  --tracking-normal: -.011em;
  --tracking-wide:   .025em;
  --tracking-wider:  .045em;
  --tracking-label:  .04em;
}

/* ── Base ── */
body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: var(--font-normal);
  line-height: var(--leading-relaxed);
  letter-spacing: var(--tracking-normal);
  font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11', 'ss01';
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-sans);
  font-weight: var(--font-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
}

h1 { font-size: var(--text-2xl); font-weight: var(--font-extrabold); }
h2 { font-size: var(--text-xl);  font-weight: var(--font-bold); }
h3 { font-size: var(--text-lg);  font-weight: var(--font-semibold); }
h4 { font-size: var(--text-md);  font-weight: var(--font-semibold); }
h5 { font-size: var(--text-base); font-weight: var(--font-semibold); }

button, input, select, textarea {
  font-family: inherit;
  letter-spacing: inherit;
}

/* ── App chrome ── */
.brand-name,
.topbar-school-name,
.user-name {
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-normal);
}

.brand-sub,
.breadcrumb,
.page-date,
.footer-version,
.topbar-module-crumb {
  font-weight: var(--font-medium);
}

.nav-link {
  font-weight: var(--font-medium);
  font-size: var(--text-sm);
}

.nav-group-label,
.module-nav__link,
.topbar-home-btn {
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-wide);
}

.nav-item.active .nav-link,
.topbar-module-crumb__name {
  font-weight: var(--font-semibold);
}

/* ── Page titles ── */
.page-title,
.ux-page-title,
.auth-card-title,
.enq-title,
.odoo-dash__title {
  font-family: var(--font-sans);
  font-weight: var(--font-extrabold);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
}

.page-date,
.ux-page-subtitle,
.auth-card-subtitle,
.enq-sub {
  font-weight: var(--font-normal);
  line-height: var(--leading-normal);
}

.ux-breadcrumbs {
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
}

.section-title,
.card-header h3,
.chart-header h3 {
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-normal);
}

/* ── Data & stats ── */
.stat-value,
.dash-stat-value,
.odoo-dash__stat strong {
  font-family: var(--font-sans);
  font-weight: var(--font-extrabold);
  letter-spacing: var(--tracking-tight);
  font-variant-numeric: tabular-nums;
}

.stat-label,
.dash-stat-label,
.odoo-dash__stat span {
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.data-table {
  font-size: var(--text-sm);
}

.data-table th {
  font-size: var(--text-xs);
  font-weight: var(--font-bold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.data-table td {
  font-weight: var(--font-normal);
}

.flex-cell strong {
  font-weight: var(--font-semibold);
}

/* ── Forms ── */
.form-label {
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-normal);
}

.form-control,
.lang-select {
  font-size: var(--text-sm);
  font-weight: var(--font-normal);
}

.form-section-title {
  font-weight: var(--font-bold);
  letter-spacing: var(--tracking-wider);
}

/* ── Buttons & badges ── */
.btn {
  font-weight: var(--font-semibold);
  font-size: var(--text-sm);
  letter-spacing: var(--tracking-wide);
}

.btn-sm { font-size: var(--text-xs); }
.btn-xs { font-size: .7rem; font-weight: var(--font-bold); }

.badge,
.nav-badge,
.notif-badge {
  font-weight: var(--font-bold);
  letter-spacing: var(--tracking-wide);
}

.page-btn {
  font-weight: var(--font-semibold);
}

/* ── Alerts & auth ── */
.alert {
  font-size: var(--text-sm);
  font-weight: var(--font-normal);
  line-height: var(--leading-normal);
}

.auth-left h2 {
  font-weight: var(--font-extrabold);
  letter-spacing: var(--tracking-tight);
}

.auth-brand-mark {
  font-weight: var(--font-extrabold);
  letter-spacing: var(--tracking-tight);
}

.auth-feature {
  font-weight: var(--font-normal);
  line-height: var(--leading-normal);
}

.odoo-app-card__title {
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-normal);
}

.odoo-app-card__desc {
  font-size: var(--text-xs);
  font-weight: var(--font-normal);
  line-height: var(--leading-snug);
}

/* ── Monospace (codes, OTP, IDs) ── */
code,
kbd,
.form-control--otp,
.auth-form .form-control--otp,
pre,
.font-mono {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

.page-footer {
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
}

/* Urdu — keep readable body; Latin UI chrome still uses Inter where applicable */
[dir='rtl'] body {
  font-family: 'Noto Naskh Arabic', 'Segoe UI', Tahoma, sans-serif;
  letter-spacing: 0;
}

[dir='rtl'] h1,
[dir='rtl'] h2,
[dir='rtl'] h3,
[dir='rtl'] .page-title,
[dir='rtl'] .ux-page-title,
[dir='rtl'] .btn,
[dir='rtl'] .form-label,
[dir='rtl'] .data-table th {
  font-family: 'Noto Naskh Arabic', 'Segoe UI', Tahoma, sans-serif;
  letter-spacing: 0;
}
