/* ad-tokens.css — AutoDraft.AI shared design tokens (locked).
   Source of truth: UI-UX/CLAUDE.md. Build against these tokens, NEVER raw hex.
   Reused by the query page and the report renderer so the two read as one product.
   Do not edit token values here — change UI-UX/CLAUDE.md first, then mirror. */

/* Fonts — Spectral (serif/display), IBM Plex Sans (body/UI), IBM Plex Mono (IDs/refs).
   @import lives here so any surface that links this file inherits the type system. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&family=Spectral:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  /* foundation — warm neutral ramp */
  --ad-ink:        #0E1A2B;  /* surfaces, display text */
  --ad-slate:      #44515F;  /* body text */
  --ad-muted:      #6B7682;  /* secondary text */
  --ad-faint:      #9AA0A8;  /* labels, captions */
  --ad-line:       #C9CDD2;  /* borders */
  --ad-hairline:   #ECEAE4;  /* dividers */
  --ad-paper:      #F6F4EF;  /* app canvas */
  --ad-paper-2:    #FBFAF7;  /* raised rows */
  --ad-surface:    #FFFFFF;  /* cards */

  /* signal — the ONE accent */
  --ad-violet:     #6D28C9;
  --ad-magenta:    #B81C86;
  --ad-pink:       #E5175E;
  --ad-signal-ink: #9A2F63;  /* accent TEXT, AA-passing on white */
  --ad-signal: linear-gradient(120deg, #6D28C9, #B81C86 58%, #E5175E);

  /* semantic — application states */
  --ad-success:  #1F8A5B;   /* tint bg #ECF6F1 */
  --ad-warning:  #B26A00;   /* tint bg #FBF4E6 */
  --ad-critical: #C2341D;   /* tint bg #FCF1EF — deliberately orange-red, NOT magenta */
  --ad-info:     #6D28C9;   /* tint bg #F3ECFB */

  /* verification tiers — the canonical harmonized palette (CC_Harmonize_Tier_Colors). One muted,
     cohesive family on --ad-paper; each tier keeps its hue + label + meaning (shade-only). Distinct
     from the brand gradient (purple is held apart from --ad-magenta). The server-side renderers
     MIRROR these (report_renderer.RATING_COLOR / segment_display.BAND_COLOR) the way the report
     inlines --ad-* for offline use. Verified == --ad-success. */
  --ad-tier-verified: #1F8A5B;  /* green  — Verbatim / Calculated / Verified (proven) */
  --ad-tier-probable: #2D6EAE;  /* blue   — Restated (Probable), 4-Eyes attested */
  --ad-tier-possible: #9A6E0C;  /* yellow — Restated (Possible) */
  --ad-tier-summary:  #BE7A1A;  /* orange — Synthesized */
  --ad-tier-conflict: #7B51C4;  /* purple — Conflict (disagreeing sources) */
  --ad-tier-unverified:#CB2A2A; /* red    — Unverified */
  --ad-tier-authored: #6B7682;  /* gray   — Model Authored (engine reasoning, unsourced) */

  /* type */
  --ad-serif: 'Spectral', Georgia, serif;
  --ad-sans:  'IBM Plex Sans', system-ui, sans-serif;
  --ad-mono:  'IBM Plex Mono', ui-monospace, monospace;

  /* space — 4px base; scale: 4 8 12 16 24 32 40 64 */
  --ad-space: 4px;

  /* radius */
  --ad-r-frame: 3px;    /* page/frame */
  --ad-r-control: 7px;  /* buttons, inputs */
  --ad-r-card: 10px;    /* cards, panels */
  --ad-r-chip: 999px;   /* chips, badges */

  /* elevation */
  --ad-shadow-sm:      0 1px 3px rgba(20,28,40,.10);
  --ad-shadow-card:    0 1px 3px rgba(20,28,40,.10), 0 8px 28px rgba(20,28,40,.06);
  --ad-shadow-overlay: 0 18px 48px rgba(14,26,43,.18);
}
