/**
 * Autonomize Design System — Colors & Type, plus the Genesis product layer,
 * skinned for Centene.
 *
 * Imported from the Claude Design project
 *   autonomize-design-system-genesis-ui-a0f37b9a-197c-4502-b092-61f1b1a56886
 * (colors_and_type.css + all_components/genesis-product/azp.css).
 *
 * ── THE CENTENE SKIN ─────────────────────────────────────────────────────
 * The palette below is read back from `Centene Claims Dashboard.dc.html` in
 * the design project 6bd3a9ae-d3b5-430e-89e5-8e9d16ca0ed5. That file applies
 * a Centene skin OVER the Genesis design system rather than changing it: the
 * base tokens are still the ones shipped in colors_and_type.css, and every
 * value this file overrides is listed in the block marked CENTENE below so the
 * two can be told apart.
 *
 * The move is warm and navy where Genesis is cool and purple:
 *
 *     Genesis                      Centene
 *     --az-primary  #4d129d   ->   #024069   deep navy, the sidebar and CTAs
 *     app surface   #faf8fc   ->   #f5f4f1   warm off-white, not lilac
 *     divider       #ebe5f3   ->   #e4e1db   warm grey
 *     link          #4d129d   ->   #1a6fb5   a lighter blue, for text links
 *
 * Every colour in the app still resolves through a token. Re-skinning is a
 * one-file edit and a test enforces that app.css hard-codes no hex.
 *
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500&display=swap");

/* The brand typeface, imported from the design project alongside the skin.
   Two weights only: Regular for everything, Medium for emphasis. Manrope
   above stays as the metric-aware fallback if a woff2 fails to load.

   NOTE ON LICENSING: PPNeue Montreal is a commercial face. These files came
   from the design project they are used in; if this repo is distributed
   outside that licence, delete static/fonts/ and the two rules below and the
   type falls back to Manrope without any other change. */
@font-face {
  font-family: "PPNeue Montreal";
  src: url("fonts/PPneuemontreal-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "PPNeue Montreal";
  src: url("fonts/PPneuemontreal-Medium.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}

/* ── Foundation Tokens (--az-*) ────────────────────────────── */

:root {
  /* ── CENTENE ── Brand navy, three depths. */
  --az-primary:        #024069;
  --az-primary-dark:   #012c49;
  --az-primary-light:  #1a6fb5;
  --az-on-primary:     #ffffff;

  --az-secondary:      #1a6fb5;
  --az-on-secondary:   #ffffff;
  --az-accent:         #efd9a0;
  --az-on-accent:      #1a1a1a;

  /* Surfaces — warm neutrals rather than lilac. */
  --az-surface:               #ffffff;
  --az-on-surface:            #1a1a1a;
  --az-on-surface-variant:    #6b6b6b;   /* CENTENE, was #666666 */
  --az-surface-variant:       #eeece7;   /* CENTENE, was #f4f1f8 */
  --az-background:            #ffffff;
  --az-background-dark:       #024069;   /* CENTENE, was #1f0448 */
  --az-on-background-dark:    #ffffff;

  /* Outlines (no shadows — contrast-only) */
  --az-outline:           #98958c;       /* CENTENE, was #999999 */
  --az-outline-variant:   #e4e1db;       /* CENTENE, was #ebe5f3 */

  /* Status */
  --az-error:        #c01818;            /* CENTENE, was #e9040e */
  --az-success:      #069306;

  /* A text link is a lighter blue than the navy, so it reads as a link on a
     white surface rather than as body weight. */
  --azp-link:        #1a6fb5;

  /* Brand gradients. The hero is navy with a lighter blue bloom off the top
     right, which is the one gradient the Centene screens use. */
  --az-gradient-button: linear-gradient(90deg, #024069 0%, #012c49 100%);
  --az-gradient-hero:   radial-gradient(ellipse at 85% 0%, rgba(26, 111, 181, 0.55), transparent 55%), #024069;
  /* A reviewed-clean claim gets a calmer rail than an open finding. */
  --azp-hero-clean:     linear-gradient(135deg, #4a4a4a 0%, #383838 60%, #2b2b2b 100%);

  /* Type families */
  --az-font-display: "PPNeue Montreal", "Manrope", system-ui, -apple-system, sans-serif;
  --az-font-body:    "PPNeue Montreal", "Manrope", system-ui, -apple-system, sans-serif;
  --az-font-medium:  "PPNeue Montreal", "Manrope", system-ui, -apple-system, sans-serif;

  --az-weight-regular: 400;
  --az-weight-medium:  500;

  /* Radii — engineered, not playful */
  --az-radius-sm:   4px;
  --az-radius-md:   6px;
  --az-radius-lg:   8px;
  --az-radius-pill: 9999px;

  --az-duration-fast: 300ms;
  --az-ease:          ease;

  /* ── Product layer (azp-*) ─────────────────────────────── */
  --az-body-xs:   12px;
  --az-body-2xs:  11px;
  --az-label-xs:  10px;

  /* Severity scale. The Centene screens use the same four severities the
     Genesis product layer already shipped, so only the low tier moves onto
     the warm neutral. */
  --azp-severity-critical:    #c01818;
  --azp-severity-critical-bg: #fbe9e9;
  --azp-severity-high:        #b44a08;   /* CENTENE tint, darkened to 4.67:1 */
  --azp-severity-high-bg:     #fbede2;
  --azp-severity-medium:      #8d6112;   /* CENTENE tint, darkened to 4.85:1 */
  --azp-severity-medium-bg:   #faf1dc;
  --azp-severity-low:         #3a3a3a;   /* CENTENE, was #666666 */
  --azp-severity-low-bg:      #f0efeb;   /* CENTENE, was #f4f1f8 */

  --azp-positive:    #067806;            /* CENTENE tint, darkened to 4.99:1 */
  --azp-positive-bg: #e6f4e6;            /* CENTENE, was #eef7ee */

  /* Code badge tiers — diagnosis / procedure / identifier. Navy, blue and a
     retained violet, which is the one place the Centene screens keep a purple
     so three code kinds stay distinguishable. */
  --azp-code-diagnosis:  #024069;        /* CENTENE, was #4d129d */
  --azp-code-procedure:  #1a6fb5;        /* CENTENE, was #731ee3 */
  --azp-code-identifier: #4d3a80;        /* CENTENE, was #5a5a6e */
  --azp-code-bg:         #eef5fb;        /* CENTENE, was #f4f1f8 */
  --azp-code-bg-neutral: #f0efeb;        /* CENTENE, was #f2f2f5 */
  --azp-code-border:     #d5e6f5;        /* the citation chip's outline */

  /* SOP node methods. Every pair is measured against its own tint: rule 9.37,
     lookup 9.89, formula 7.71, retrieval 4.79, drafted 6.27, scoped 4.85. */
  --azp-method-rule:       #024069;  --azp-method-rule-bg:       #e6f0f8;
  --azp-method-lookup:     #3a3a3a;  --azp-method-lookup-bg:     #f0efeb;
  --azp-method-formula:    #4d3a80;  --azp-method-formula-bg:    #ece6f5;
  --azp-method-retrieval:  #1a6fb5;  --azp-method-retrieval-bg:  #eef5fb;
  --azp-method-drafted:    #5a5a5a;  --azp-method-drafted-bg:    #f5f4f1;
  --azp-method-scoped:     #8d6112;  --azp-method-scoped-bg:     #faf1dc;

  /* Product surfaces — warm, not lilac. */
  --azp-surface-app: #f5f4f1;            /* CENTENE, was #faf8fc */
  --azp-surface-th:  #faf9f7;            /* CENTENE, was #fcfaff */
  --azp-row-hover:   #f7f6f3;            /* CENTENE, was #f4f1f8 */
  --azp-divider:     #e4e1db;            /* CENTENE, was #ebe5f3 */
  --azp-divider-soft: #eeece7;           /* the lighter rule between rows */
  --azp-track:       #eeece7;            /* CENTENE, was #f1ecf8 */
  --azp-chart-track: #d6d3cc;            /* CENTENE, unfilled analytics bars */
  --azp-row-deny:    #fdf7f7;            /* wash behind a denied service line */
  --azp-status-ok:   #7ed37e;            /* CENTENE, models-reachable indicator */
  --azp-row-picked:  #eef5fb;            /* CENTENE, selected queue row */
  --azp-warn-num:    #ffd27a;            /* a count that needs attention, on navy */
  /* The nav's active marker keeps the design's warm grey; it is a 3px rule,
     not text, so the contrast floor that applies to the label does not. */
  --azp-nav-marker:  #98958c;

  /* The dark shell: the sidebar and the hero sit on navy, and everything on
     them is an alpha of white so one token moves the whole surface. */
  --azp-on-dark:        rgba(255, 255, 255, 0.85);
  --azp-on-dark-strong: #ffffff;
  /* 0.55 is the design's value and measures 4.40:1 on the navy — just
     under AA for the 10px labels that use it. 0.60 clears it at 4.94. */
  --azp-on-dark-muted:  rgba(255, 255, 255, 0.60);
  --azp-on-dark-faint:  rgba(255, 255, 255, 0.72);
  --azp-on-dark-rule:   rgba(255, 255, 255, 0.14);
  --azp-on-dark-wash:   rgba(255, 255, 255, 0.10);
  --azp-on-dark-track:  rgba(255, 255, 255, 0.22);
  /* The modal scrim, tinted to the brand rather than to neutral black. */
  --azp-scrim:          rgba(1, 26, 43, 0.45);
  --azp-on-dark-label:  #b0ada3;   /* design ships #98958c; 3.61:1 on navy, lifted to 4.82 */

  /* Source-document viewer: paper, and the ink on a fax header. */
  --azp-paper:       #fbfbf9;
  --azp-ink:         #1a1a1a;
  --azp-ink-fax:     #333333;
}

/* ── Eyebrow / label utility (uppercase tracked) ──────────── */
.azp-eyebrow {
  font-family: var(--az-font-medium);
  font-size: var(--az-label-xs);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--az-on-surface-variant);
}
.azp-eyebrow--primary { color: var(--az-primary); }
/* The warm grey label works on the FLAT navy rail (4.82:1) but not on the
   gradient surfaces — the hero's blue bloom lifts the background to
   rgb(15,90,147), where it falls to 3.23. White at 72% carries all three:
   6.40 on the navy, 4.59 on the bloom, 5.54 on the clean rail. */
.azp-eyebrow--on-dark { color: var(--azp-on-dark-faint); }

/* ── Tabular numerics for money / scores ──────────────────── */
.azp-num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
