/* ============================================================================
   TYPOGRAPHY — R-041 LOCKED (Brand Book §11).
   Families, weights, the type scale and its paired Arabic line heights are
   approved and must not be altered. Arabic letterspacing is always zero.
   All-caps must not be used as the primary hierarchy mechanism.
   ========================================================================= */
:root{
--font-latin:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;
--font-arabic:"IBM Plex Sans Arabic","IBM Plex Sans",system-ui,sans-serif;
--font-ui:var(--font-latin);

/* Approved English weights */
--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700;
/* Approved Arabic weights: Light 300, Medium 500, SemiBold 600. No Arabic Bold. */
--weight-ar-light:300;
--weight-ar-medium:500;
--weight-ar-semibold:600;

/* ---------------- R-041 approved type scale ------------------------------ */
--text-display-xl:56px;
--text-h1:40px;
--text-h2:32px;
--text-h3:24px;
--text-h4:20px;
--text-body-lg:18px;
--text-body:16px;
--text-small:14px;
--text-caption:12px;

/* English line heights */
--leading-display-xl:64px;
--leading-h1:48px;
--leading-h2:40px;
--leading-h3:32px;
--leading-h4:28px;
--leading-body-lg:28px;
--leading-body:24px;
--leading-small:20px;
--leading-caption:18px;

/* Arabic line heights — taller at every step, per R-041 */
--leading-ar-display-xl:72px;
--leading-ar-h1:56px;
--leading-ar-h2:48px;
--leading-ar-h3:40px;
--leading-ar-h4:34px;
--leading-ar-body-lg:32px;
--leading-ar-body:28px;
--leading-ar-small:24px;
--leading-ar-caption:20px;

/* Tracking. English display may tighten up to -1%; body is normal.
   Arabic is always zero — see the [dir="rtl"] block at the end of this file. */
--tracking-display:-0.01em;
--tracking-normal:0;

/* ---------------- Named roles, composed from the approved scale ----------- */
--type-display-xl:var(--weight-semibold) var(--text-display-xl)/var(--leading-display-xl) var(--font-ui);
--type-h1:var(--weight-semibold) var(--text-h1)/var(--leading-h1) var(--font-ui);
--type-h2:var(--weight-semibold) var(--text-h2)/var(--leading-h2) var(--font-ui);
--type-h3:var(--weight-semibold) var(--text-h3)/var(--leading-h3) var(--font-ui);
--type-h4:var(--weight-medium) var(--text-h4)/var(--leading-h4) var(--font-ui);
--type-body-lg:var(--weight-regular) var(--text-body-lg)/var(--leading-body-lg) var(--font-ui);
--type-body:var(--weight-regular) var(--text-body)/var(--leading-body) var(--font-ui);
--type-small:var(--weight-regular) var(--text-small)/var(--leading-small) var(--font-ui);
--type-caption:var(--weight-regular) var(--text-caption)/var(--leading-caption) var(--font-ui);

/* Product UI working roles. Sizes are drawn only from the approved scale;
   the ROLE MAPPING is R-050 APPROVED — v1.0 (DEC-03). */
--type-page-title:var(--weight-semibold) var(--text-h3)/var(--leading-h3) var(--font-ui);
--type-section-title:var(--weight-semibold) var(--text-h4)/var(--leading-h4) var(--font-ui);
--type-card-title:var(--weight-semibold) var(--text-small)/var(--leading-small) var(--font-ui);
--type-ui:var(--weight-regular) var(--text-small)/var(--leading-small) var(--font-ui);
--type-ui-medium:var(--weight-medium) var(--text-small)/var(--leading-small) var(--font-ui);
--type-label:var(--weight-medium) var(--text-caption)/var(--leading-caption) var(--font-ui);
--type-meta:var(--weight-regular) var(--text-caption)/var(--leading-caption) var(--font-ui);
--type-table-header:var(--weight-semibold) var(--text-caption)/var(--leading-caption) var(--font-ui);
--type-metric:var(--weight-semibold) var(--text-h2)/var(--leading-h2) var(--font-ui);

/* Tabular figures are required for financial tables, KPIs, axes and
   comparable numeric data (R-041 §11). */
--numeric-figures:tabular-nums; /* @kind other */

/* ---------------------------------------------------------------------------
   R-050 APPROVED WITH RESTRICTION — v1.0 (DEC-03)
   Dense Product UI sizes below the approved 12px Caption floor. R-041 defines
   no size under 12px. EXCEPTION-ONLY utility sizes: they must never become
   standard body, label, table, form, navigation, status or critical-action
   text. Not used by any component in this system.
   ------------------------------------------------------------------------ */
--r050-text-dense-13:13px;
--r050-text-dense-11:11px;
}

/* Arabic / RTL: switch family, apply the approved Arabic line heights, and
   force letterspacing to zero. R-041 LOCKED. */
[dir="rtl"],:root:lang(ar){
--font-ui:var(--font-arabic);
--leading-display-xl:var(--leading-ar-display-xl);
--leading-h1:var(--leading-ar-h1);
--leading-h2:var(--leading-ar-h2);
--leading-h3:var(--leading-ar-h3);
--leading-h4:var(--leading-ar-h4);
--leading-body-lg:var(--leading-ar-body-lg);
--leading-body:var(--leading-ar-body);
--leading-small:var(--leading-ar-small);
--leading-caption:var(--leading-ar-caption);
--tracking-display:0;
}
[dir="rtl"] *,[lang="ar"] *{letter-spacing:0 !important}
