/* NABD LIVE — design tokens (UI guide "NABD LIVE — Brand Identity" §2, verbatim).
   One file, consumed by every surface (viewer TASK-033, dashboards TASK-050/051).
   Rule: cyan is the ONE accent; --live red appears only on the "مباشر" badge. */

:root{
  /* base surfaces — deep blue-black, never pure #000 */
  --bg-0:#05070A;      /* app background            */
  --bg-1:#0A0E14;      /* panels / cards            */
  --bg-2:#121821;      /* elevated cards / hover     */
  --line:#1E2733;      /* hairline borders          */

  /* signature signal — glowing cyan/teal */
  --accent:#22E0D6;        /* primary cyan (pulse, links, active) */
  --accent-strong:#00B8B0; /* pressed / deeper cyan               */
  --accent-glow:rgba(34,224,214,.35); /* glows/shadows          */

  /* LIVE state — single warm signal, used ONLY for live badge */
  --live:#FF4D5E;

  /* text */
  --text-0:#EAF2F5;    /* primary text  */
  --text-1:#9DB0BC;    /* secondary     */
  --text-2:#5C6A76;    /* muted/labels  */

  /* status */
  --ok:#22E0D6; --warn:#F5B44B; --danger:#FF4D5E; --offline:#5C6A76;

  --radius:14px; --radius-sm:9px;
  --shadow:0 8px 30px rgba(0,0,0,.45);
  --glow:0 0 20px var(--accent-glow);
}

/* Brand faces (UI guide Brand §3) — self-hosted so hotspot walled gardens
   never block them; font-display:swap keeps first paint under budget. */
@font-face{
  font-family:'IBM Plex Sans Arabic'; font-style:normal; font-weight:400;
  font-display:swap;
  src:url(/static/fonts/IBMPlexSansArabic-400-arabic.woff2) format('woff2');
  unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}
@font-face{
  font-family:'IBM Plex Sans Arabic'; font-style:normal; font-weight:400;
  font-display:swap;
  src:url(/static/fonts/IBMPlexSansArabic-400-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:'IBM Plex Sans Arabic'; font-style:normal; font-weight:700;
  font-display:swap;
  src:url(/static/fonts/IBMPlexSansArabic-700-arabic.woff2) format('woff2');
  unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}
@font-face{
  font-family:'IBM Plex Sans Arabic'; font-style:normal; font-weight:700;
  font-display:swap;
  src:url(/static/fonts/IBMPlexSansArabic-700-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:'IBM Plex Mono'; font-style:normal; font-weight:400;
  font-display:swap;
  src:url(/static/fonts/IBMPlexMono-400-latin.woff2) format('woff2');
}

/* Serials / codes / MACs: LTR monospace inline spans (UI guide §1.1, Brand §3). */
.ltr{
  direction:ltr; unicode-bidi:isolate;
  font-family:'IBM Plex Mono',monospace;
}

/* ── Latin numerals, enforced at the glyph level ──────────────────────────────
   Every page pins `-u-nu-latn` on its formatters, which settles what the STRING
   contains. This settles what the SCREEN shows, and the two are not the same
   thing: inside `lang="ar" dir="rtl"` a font's `locl` feature is entitled to
   substitute Arabic-Indic digits (U+0660-0669) for the ASCII ones
   (U+0030-0039). When that happens the served HTML contains a perfectly clean
   "117" and the subscriber still reads it as Arabic-Indic — which is why
   inspecting the source proves nothing here and the rendered output has to be
   the check.

   Applied to everything rather than to a `.num` opt-in: the failure mode is a
   numeral someone forgot to tag, so the default has to be correct and the
   exception explicit. Arabic text is unaffected — `locl` only ever rewrites
   digits in this stack, and no surface here wants Arabic-Indic ones. */
html:lang(ar),html:lang(ar) *{font-feature-settings:'locl' 0}

/* Figures that sit in a column (stat tiles, table cells, chart values) line up
   only with fixed-width digits. Opt-in, because proportional digits still read
   better inline inside a sentence. */
.num{font-variant-numeric:tabular-nums}
