/* Local OFL fallbacks only. Apple fonts are requested from the device, never bundled. */
/* Inter 4.1, upstream rsms/inter tag v4.1. Loaded only when native SF cannot render. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/fonts/inter-variable-4.1.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/fonts/inter-variable-italic-4.1.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/static/fonts/plus-jakarta-sans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/static/fonts/plus-jakarta-sans-latin.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: 'Quicksand';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/static/fonts/quicksand-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/static/fonts/quicksand-latin.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;
}
/* Prefer native SF where available; otherwise use local Inter before system fallbacks.
   SF Pro Icons is intentionally excluded: it is not a text font. */
:root {
  --apple-font-display: "SF Pro Display", -apple-system, BlinkMacSystemFont, 'Inter', "Helvetica Neue", Helvetica, Arial, sans-serif;
  --apple-font-text: "SF Pro Text", -apple-system, BlinkMacSystemFont, 'Inter', "Helvetica Neue", Helvetica, Arial, sans-serif;
  --apple-font-rounded: "SF Pro Rounded", 'Inter', ui-rounded, "SF Pro Display", -apple-system, BlinkMacSystemFont, sans-serif;
  --apple-font-mono: "SF Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-body: var(--apple-font-text);
  --font-heading: var(--apple-font-display);
  /* Legacy pages declare --font locally; these aliases keep a single family. */
  --font: var(--font-body) !important;
  --mono: var(--apple-font-mono) !important;
  --tpa-font-body: var(--font-body);
  --tpa-font-heading: var(--font-heading);
}
body {
  font-family: var(--font-body) !important;
  letter-spacing: -0.011em;
  font-optical-sizing: auto;
}
/* Family only: retain each control's size, weight, spacing and icon glyphs. */
button, input, select, textarea, table {
  font-family: var(--font-body) !important;
}
/* Explicit title selectors avoid changing numeric KPIs, menus and table headers.
   Important keeps this shared rule above legacy page-local font shorthands. */
h1, h2, h3, h4, h5, h6,
.pg-title, .page-title, .welcome-title, .card-title, .section-title,
.subsection-title, .modal-title, .drawer-title, .panel-title, .table-title,
.t-title, .top-title, .topbar-title, .admin-top-title, .ventas-top-title,
.h-title, .dev-title, .create-title, .reg-title, .form-title, .denied-title,
.package-detail-heading, .package-team-title, .task-title, .week-task-title,
.task-submit-title, .admin-event-title, .agenda-title, .col-title,
.tpa-admin-timer-head, .filter-title, .filter-section-title, .detail-title,
.delete-conciliation-title, .admin-cal-title, .area-card .title,
.brand-row .title, .brand-headline, .modal-h,
.tpa-help-screen-title {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  letter-spacing: -0.022em !important;
}

/* Top bars and notifications also contain titles outside h1-h6. */
.topbar > strong, .tpa-notif-head strong {
  font-family: var(--font-heading) !important;
  letter-spacing: -0.022em !important;
}
/* Restrict rounded figures to actual metric values, never whole cards/tables. */
.stat-n, .stat-val, .stat-value, .card-val, .kpi-value, .kpi-val,
.metric > strong, .stat > strong, .stat > b, .mini-card .val,
.report-item > strong, .bank-check dd, .count, .tpa-notif-count,
[data-tpa-metric] {
  font-family: var(--apple-font-rounded) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.011em;
}
/* Folios, package identifiers and clocks retain fixed-width figures.
   Include explicit legacy inline monospace without changing their content. */
code, pre, kbd, samp, .mono, .folio, .pkg-id, .debug,
.package-detail-eyebrow, .package-detail-box, .timer-remaining, .timer[data-start],
[data-tpa-mono], [style*="font-family:monospace"],
[style*="font-family: monospace"], [style*="font-family:ui-monospace"] {
  font-family: var(--apple-font-mono) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: normal;
}
.tpa-notif-title, .tpa-notif-message, .tpa-notif-time,
.tpa-notif-clear, .tpa-notif-close, .tpa-notif-empty {
  font-family: var(--font-body) !important;
}
