@font-face {
  font-family: 'TT24 Yekan';
  src: url('fonts/byekan-regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'TT24 Yekan';
  src: url('fonts/byekan-bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'TT24 Koodak';
  src: url('fonts/bkoodak-bold.TTF') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'B Mitra';
  src: url('fonts/BMitra.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'B Mitra';
  src: url('fonts/BMitraBold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-main: 'TT24 Yekan', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, sans-serif;
  /* TT24_FONT_DISPLAY_YEKAN_V1 (owner 2026-10-03): titles, headings, company name and buttons were in B Mitra (a serif
     newspaper face) -- the owner wants the house font everywhere: B Yekan Plus (same as the login page/brand). */
  --font-display: 'TT24 B Yekan Plus', 'TT24 Yekan', system-ui, sans-serif;
  --tt24-text: 16px;
  --tt24-small: 14px;
  --tt24-caption: 13px;
  --tt24-label: 14.5px;
  --tt24-button: 15px;
  --tt24-title: 20px;
}

html,
body,
button,
input,
select,
textarea,
.table,
.card,
.modal,
.toast,
.badge,
.nav-item,
.page,
.app,
.app-shell {
  font-family: var(--font-main) !important;
}

/* پایه خوانایی: کمی درشت‌تر از نسخه قبلی */
html,
body {
  font-size: var(--tt24-text) !important;
  line-height: 1.85 !important;
}

/* تیترها */
h1,
h2,
h3,
h4,
h5,
h6,
.brand-title,
.logo-title,
.page-title,
.card-title,
.modal-title,
.stat-value,
.hero-title {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}

.page-title,
.topbar .page-title {
  font-size: 21px !important;
  line-height: 1.6 !important;
}

.card-title,
.card-h h3,
.m-panel > h4,
.info-card h4 {
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.modal-title,
.modal-h h3 {
  font-size: 20px !important;
  line-height: 1.7 !important;
}

/* منو و سایدبار */
.nav-item,
.nav-item span,
.sidebar,
.sidebar * {
  font-size: 15px !important;
}

.nav-sep,
.sidebar .nav-sep {
  font-size: 12.5px !important;
}

.sidebar-head .t,
.logo-title,
.brand-title {
  font-size: 17px !important;
}

.sidebar-head .s,
.user-chip .rl {
  font-size: 12.5px !important;
}

.user-chip .nm {
  font-size: 14px !important;
}

/* فرم‌ها */
label,
.form-label,
.field-label {
  font-size: var(--tt24-label) !important;
  line-height: 1.8 !important;
  font-weight: 700 !important;
}

input,
select,
textarea,
.input,
.form-control {
  font-size: 16px !important;
  line-height: 1.8 !important;
}

input,
select,
.input,
.form-control {
  min-height: 48px !important;
}

textarea {
  min-height: 120px !important;
}

input::placeholder,
textarea::placeholder {
  font-family: var(--font-main) !important;
  font-size: 15px !important;
}

/* دکمه‌ها — فونت نمایشی (B Yekan Plus)؛ متن اطلاعاتی (کوتاژ/مشتری/شماره‌پرونده) دست‌نخورده با --font-main باقی می‌ماند */
button,
.btn,
.btn-sm,
.btn-primary,
.btn-secondary,
.btn-ghost,
.btn-danger {
  font-family: var(--font-display) !important;
  font-size: var(--tt24-button) !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

/* برچسب‌های stepper واحد ۱۱مرحله‌ای */
.tt24-new-cases-step b,
.tt24-new-cases-step span {
  font-family: var(--font-display) !important;
}

.btn-sm {
  font-size: 14px !important;
  min-height: 38px !important;
}

/* جدول‌ها */
table,
.table,
tbody,
td {
  font-size: 15.5px !important;
  line-height: 1.9 !important;
}

th {
  font-size: 14px !important;
  line-height: 1.8 !important;
  font-weight: 800 !important;
}

td,
th {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* badge و status */
.badge,
.badge-s,
.tag,
.m-head .mh-badge {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

/* مودال پرونده و مراحل */
.m-head .mh-num {
  font-size: 24px !important;
  line-height: 1.5 !important;
}

.m-head .mh-cust,
.info-row,
.step .st .tt,
.lic .nm {
  font-size: 15.5px !important;
  line-height: 1.85 !important;
}

.step .meta,
.muted,
.tl-sec,
.tl-i {
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.tl-i .mt,
.lic .rt {
  font-size: 12.5px !important;
}

/* Toast و پیام‌ها */
.toast,
.alert,
.notice,
.empty {
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* اعداد و کدها */
code,
pre,
.kotaj,
.file-number,
.number,
.ltr,
.template-id {
  font-family: var(--font-main) !important;
  direction: ltr;
  unicode-bidi: plaintext;
}

/* موبایل: خوانایی بیشتر */
@media (max-width: 768px) {
  :root {
    --tt24-text: 16.5px;
    --tt24-button: 15.5px;
    --tt24-label: 15px;
  }

  .page-title,
  .topbar .page-title {
    font-size: 22px !important;
  }

  input,
  select,
  textarea,
  .input,
  .form-control {
    font-size: 16.5px !important;
    min-height: 50px !important;
  }

  button,
  .btn {
    min-height: 44px !important;
  }
}

/* TT24_FONT_DISPLAY_YEKAN_V1: B Yekan Plus is otherwise only declared in the login stylesheet; declare it here too so every
   page that loads this file (app, transport, auditor) has the display face. */
@font-face {
  font-family: 'TT24 B Yekan Plus';
  src: url('fonts/TT24-BYekanPlus.ttf') format('truetype');
  font-style: normal;
  font-weight: 400 950;
  font-display: swap;
}
