/* =============================================================================
   PALETTE — raw colour ramps. The base layer of the token system.
   =============================================================================

   SSOT: this file is the ONLY place in static/css where a colour literal is
   written. Every other stylesheet reads a semantic role from tokens/semantic.css,
   and semantic.css reads from here.

   Rules:
   * Nothing outside tokens/semantic.css may reference a --c-* value directly.
     If a component needs a colour, the role it needs is missing from semantic.css
     — add the role there, do not reach past it into the ramp.
   * A theme MAY override a ramp entry (that is what makes a dark or rustic
     palette possible) but may never introduce a bare literal of its own.
   * Ramp entries are named by hue and lightness step, never by usage. There is
     no --c-danger here; "danger" is a role and lives in semantic.css.

   Every value below is lifted verbatim from what themes/base.css already
   shipped, so introducing this file changes no pixel.
   ========================================================================== */

:root {
    /* ── Brand blue ────────────────────────────────────────────────────── */
    --c-brand-900: #042C61;
    --c-brand-800: #063F8C;
    --c-brand-700: #0752B6;
    --c-brand-700-rgb: 7, 82, 182;
    --c-brand-600: #2E6FD0;
    --c-brand-500: #5B91DD;
    --c-brand-400: #6B9CE6;
    --c-brand-300: #9DBDEF;
    --c-brand-200: #80bdff;
    --c-brand-100: #E3EDF9;

    /* ── Neutrals ──────────────────────────────────────────────────────── */
    --c-neutral-000: #ffffff;
    --c-neutral-050: #f8f9fa;
    --c-neutral-100: #f1f1f1;
    --c-neutral-200: #e9ecef;
    --c-neutral-300: #dee2e6;
    --c-neutral-350: #ced4da;
    --c-neutral-400: #c1c1c1;
    --c-neutral-450: #a8a8a8;
    --c-neutral-500: #adb5bd;
    --c-neutral-600: #6c757d;
    --c-neutral-650: #545862;
    --c-neutral-700: #495057;
    --c-neutral-800: #343a40;
    --c-neutral-900: #212529;
    --c-neutral-1000: #000000;

    /* ── Status hues ───────────────────────────────────────────────────── */
    --c-green-500: #28a745;
    --c-green-600: #198754;
    --c-green-700: #1e7e34;
    --c-amber-500: #ffc107;
    --c-amber-600: #e0a800;
    --c-red-500: #dc3545;
    --c-red-600: #c82333;
    --c-orange-500: #fd7e14;
    --c-purple-500: #6f42c1;

    /* ── Alert tints ───────────────────────────────────────────────────── */
    --c-tint-success-bg: #d1edff;
    --c-tint-success-border: #bee5eb;
    --c-tint-success-text: #0c5460;
    --c-tint-info-bg: #d1ecf1;
    --c-tint-info-border: #bee5eb;
    --c-tint-info-text: #0c5460;
    --c-tint-warning-bg: #fff3cd;
    --c-tint-warning-border: #ffeaa7;
    --c-tint-warning-text: #856404;
    --c-tint-danger-bg: #f8d7da;
    --c-tint-danger-border: #f5c6cb;
    --c-tint-danger-text: #721c24;

    /* ── Inks ──────────────────────────────────────────────────────────────
       Bare rgb triples, consumed inside rgba() by the elevation roles. Kept as
       triples rather than finished colours so one ink can serve several
       opacities without a literal appearing at the call site. */
    --c-ink-shadow: 16, 24, 40;   /* cool near-black, light-theme elevation */
    --c-ink-black: 0, 0, 0;
    --c-ink-white: 255, 255, 255;
}
