/* تایپوگرافی یکپارچه — دو فونت لوکال در همه پنل‌ها */
:root {
    --font-fa: 'Vazirmatn', Tahoma, 'Segoe UI', sans-serif;
    --font-en: 'Inter', system-ui, -apple-system, sans-serif;
    --font-body: var(--font-fa);
    --font-heading: var(--font-fa);
    --font-num: var(--font-en);
    --text-base: 15px;
    --leading: 1.65;
    --tracking-tight: -0.02em;
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: var(--leading);
    font-feature-settings: 'kern' 1, 'liga' 1;
}

h1, h2, h3, h4, h5, h6,
.page-title,
.page-header h1,
.modal-title,
.table-title,
.sidebar-header h2 {
    font-family: var(--font-heading);
    font-weight: 700;
    letter-spacing: var(--tracking-tight);
    line-height: 1.35;
}

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

/* اعداد، کدها، زمان‌ها — Inter */
.font-num,
.num,
.tabular-nums,
code,
pre,
kbd,
.user-username,
.user-national-code,
.student-number,
.national-code,
.exam-time,
.exam-date,
.course-code,
.badge:not(.status-badge),
.stat-number,
.pagination-info,
.submission-time,
time,
input[type="number"],
input[type="date"],
input[type="time"],
input[inputmode="numeric"] {
    font-family: var(--font-num);
    font-variant-numeric: tabular-nums;
    font-feature-settings: 'tnum' 1;
}

.font-en {
    font-family: var(--font-num);
}

/* ظرافت بصری */
::selection {
    background: rgba(184, 59, 117, 0.22);
    color: inherit;
}

strong, b {
    font-weight: 700;
}

small {
    font-size: 0.875em;
}

table {
    font-size: 0.9375rem;
}

th {
    font-weight: 600;
}
