/* =====================================================================
   OSHOrbit Governed Typography Foundation  (Phase 2 — Typography Standardisation)
   ---------------------------------------------------------------------
   ONE source of truth for application-chrome typography. The families match the
   Template Builder / Template Studio reference design, measured with
   getComputedStyle():

     - Manrope        -> body / UI / forms / navigation / buttons / table cells
     - Archivo        -> display headings (page titles, card titles); letter-spacing -0.01em
     - IBM Plex Mono  -> technical identifiers: table headers, status pills, codes/versions

   HARD BOUNDARY (see Phase 2 spec §8/§9): this file styles APPLICATION CHROME only.
   User-authored / compiled DOCUMENT content (Document Engine A4 canvas, Safety File
   compiled documents, imported Word content, document preview, generated PDFs,
   certificates, email templates) carries its OWN font model (per-document
   font_family, default Calibri) and MUST NOT be forced into the UI font. Every rule
   below is scoped to shell/chrome classes and never targets a document canvas.
   ===================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800&family=Manrope:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap");

:root {
  /* Governed font families — the single source of truth. */
  --osh-font-body: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --osh-font-heading: "Archivo", "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --osh-font-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;

  /* Governed weight scale (matches the Template Builder). */
  --osh-weight-normal: 400;
  --osh-weight-medium: 500;
  --osh-weight-semibold: 600;
  --osh-weight-bold: 700;

  /* Governed line-height scale. */
  --osh-line-body: 1.5;
  --osh-line-heading: 1.2;
}

/* --- Application-chrome headings -> Archivo -----------------------------
   Scoped to verified shell title classes so authored document headings are
   never affected. */
.workspace-shell .osh-page-title,
.workspace-shell .osh-hero h1,
.workspace-shell .osh-card-header h2,
.workspace-shell .osh-card-header h3,
.workspace-shell .osh-section-title,
.workspace-shell .osh-panel-title {
  font-family: var(--osh-font-heading);
  letter-spacing: -0.01em;
}

/* --- Technical identifiers -> IBM Plex Mono ----------------------------
   Table column headers and status pills, matching the Template Builder.
   Chrome table/pill classes only; authored tables inside documents do not use
   these classes. */
.workspace-shell .osh-table-shell thead th,
.workspace-shell .crm-table thead th,
.workspace-shell .osh-card-body > table thead th,
.workspace-shell .osh-data-table thead th {
  font-family: var(--osh-font-mono);
}
.workspace-shell .osh-pill,
.workspace-shell .status-badge,
.workspace-shell .status-pill {
  font-family: var(--osh-font-mono);
}
