@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/vazirmatn-arabic.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}

@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/vazirmatn-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-024F;
}

:root {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

body,
button,
input,
select,
textarea {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}

body {
  font-size: 15px;
  line-height: 1.8;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #38bdf8 !important;
  outline-offset: 3px;
}

button,
[type="button"],
[type="submit"],
.ui-button {
  min-height: 44px;
}

input,
select,
textarea {
  font-size: 14px !important;
}

/* Field-sales demo readability */
.visit-sidebar nav a { min-height: 44px; display: flex; align-items: center; font-size: 13px !important; }
.visit-brand strong { font-size: 14px !important; }
.visit-brand small, .visit-exclusive span { font-size: 10px !important; }
.visit-exclusive small { font-size: 9px !important; }
.visit-heading p { font-size: 13px !important; }
.visit-heading span { font-size: 13px !important; }
.visit-kpis span { font-size: 12px !important; color: #475569 !important; }
.visit-kpis small { font-size: 11px !important; }
.visit-panel > header strong { font-size: 14px !important; }
.visit-panel > header span, .visit-panel > header a { font-size: 10px !important; }
.visit-row { min-height: 62px; }
.visit-row strong, .team article strong { font-size: 13px !important; }
.visit-row small, .team article small { font-size: 11px !important; }
.visit-row time, .team article em { font-size: 11px !important; }
.outcome { padding: 5px 9px; font-size: 11px !important; }
.trend-days strong { font-size: 10px !important; }
.trend-days span { font-size: 9px !important; }
.visit-list-page p { font-size: 11px !important; }
.visit-filters input, .visit-filters select { font-size: 12px !important; }
.visit-table > header strong { font-size: 13px !important; }
.visit-table > header span { font-size: 11px !important; }
.visit-table th { font-size: 11px !important; }
.visit-table td { padding-block: 13px; font-size: 12px !important; }
.visit-table td > a strong { font-size: 12px !important; }
.visit-table td > a small { font-size: 10px !important; }
.reviewed, .pending { font-size: 10px !important; }
.visit-hero p, .visit-hero small { font-size: 11px !important; }
.report-body article span { font-size: 10px !important; }
.report-body article p, .next-action p, .manager-review p { font-size: 12px !important; }
.next-action time, .manager-review small { font-size: 10px !important; }
.products strong, .timeline article strong { font-size: 11px !important; }
.products small, .timeline article small { font-size: 10px !important; }
.visit-form-page header p { font-size: 13px !important; }
.visit-form-page form label, .manager-review form label { font-size: 13px !important; }
.visit-form-page input, .visit-form-page select, .visit-form-page textarea { min-height: 44px; font-size: 14px !important; }
.visit-form-page form button, .manager-review button { font-size: 14px !important; }

/* Main dashboard readability and actionable controls */
.panel-header p, .task-item small, .kpi-card > small { font-size: 11px !important; }
.panel-header h2 { font-size: 16px !important; }
.task-item strong, .customer-cell strong, table { font-size: 12px !important; }
.text-button, .add-task { min-height: 40px; display: inline-flex; align-items: center; font-size: 12px !important; }
.icon-button { display: grid; place-items: center; }
.profile-button { text-decoration: none; }
.mobile-nav .mobile-create {
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin: -12px auto 0;
  align-self: start;
  display: grid;
  place-items: center;
  color: white;
  background: var(--color-primary-600);
  border: 4px solid var(--color-neutral-50);
  border-radius: 15px;
  box-shadow: 0 7px 16px rgba(79, 70, 229, .28);
  font-size: 22px;
}

@media (max-width: 760px) {
  .visit-mobile-nav a { min-height: 48px; }
  .visit-heading h1 { font-size: 24px !important; }
  .visit-kpis article { min-height: 112px; }
  .visit-row { min-height: 68px; }
  .visit-row strong { font-size: 13px !important; }
  .visit-row small { font-size: 10px !important; }
}
