/*
 * ============================================================================
 * TRINITY DESIGN SYSTEM — Token Contract
 * ============================================================================
 *
 * Source of truth for all Trinity Design System tokens across themes.
 * Extracted from Figma variable collections (Base primitives + Theme semantics).
 *
 * USAGE:
 *   Add data-theme="bill" | "aire" | "amex" | "chase" to any container.
 *   Components inside will inherit the correct token values.
 *
 *   <div data-theme="bill">
 *     <button class="tri-btn-primary">Pay Now</button>
 *   </div>
 *
 * TOKEN ARCHITECTURE (3-tier):
 *   Base (primitives)  → Color scales, raw values (not exposed as CSS vars)
 *   Semantic           → Color.Text.*, Color.Fill.*, Color.Stroke.*, etc.
 *   Component          → Button.*, Input.*, Switch.*, Tag.*, etc.
 *
 * This file flattens all three tiers into resolved CSS custom properties
 * scoped per theme via data-theme attribute selectors.
 *
 * Last synced: Figma variable export, March 2026
 * ============================================================================
 */


/* ============================================================================
 * GLOBAL BASE — Tokens that are identical across all themes
 * (each theme block only overrides what actually differs)
 * ============================================================================ */
:root {

  /* ── Banner fill tokens (theme-agnostic variants only; info is per-theme) ── */
  --tri-banner-color-fill-success: #CEF9E2;
  --tri-banner-color-fill-warning: #FFECE2;
  --tri-banner-color-fill-danger: #FFDAD4;
  --tri-banner-color-fill-ai: #FFEAFF;
  --tri-banner-color-fill-neutral: #E7E6E1;

  /* ── Tag color tokens (same across all themes; only --tri-tag-radius differs) ── */
  --tri-tag-fill-high-info: #000000;
  --tri-tag-fill-high-success: #006736;
  --tri-tag-fill-high-warning: #FABA68;
  --tri-tag-fill-high-error: #B32820;
  --tri-tag-fill-high-neutral: #E7E6E1;
  --tri-tag-fill-high-ai: #B828F0;
  --tri-tag-text-high-info: #FFFFFF;
  --tri-tag-text-high-success: #FFFFFF;
  --tri-tag-text-high-warning: #1C1B1B;
  --tri-tag-text-high-error: #FFFFFF;
  --tri-tag-text-high-neutral: #232121;
  --tri-tag-text-default-success: #006736;
  --tri-tag-text-default-warning: #1C1B1B;
  --tri-tag-text-default-error: #B32820;
  --tri-tag-text-default-neutral: #5E5E5C;
  --tri-tag-stroke-default-success: #006736;
  --tri-tag-stroke-default-warning: #FABA68;
  --tri-tag-stroke-default-error: #B32820;
  --tri-tag-stroke-default-neutral: #E7E6E1;
}


/* ============================================================================
 * BILL (Default Theme)
 * Primary: Purple (#473CC5) · Pill buttons · 4px input radius
 * ============================================================================ */
[data-theme="bill"], .theme-bill {

  /* ── Text ── */
  --tri-color-text-primary: #1C1B1B;
  --tri-color-text-secondary: #5E5E5C;
  --tri-color-text-tertiary: #7B7974;
  --tri-color-text-caption: #5E5E5C;
  --tri-color-text-danger: #B32820;
  --tri-color-text-success: #006736;
  --tri-color-text-disabled: #CCC9C3;
  --tri-color-text-ai: #B828F0;
  --tri-color-text-primary-inverse: #FFFFFF;
  --tri-color-text-secondary-inverse: #F1F0EC;
  --tri-color-text-tertiary-inverse: #CCC9C3;
  --tri-color-text-danger-inverse: #D64236;
  --tri-color-text-success-inverse: #00A557;

  /* ── Icon ── */
  --tri-color-icon-primary: #1C1B1B;
  --tri-color-icon-secondary: #5E5E5C;
  --tri-color-icon-info: #473CC5;
  --tri-color-icon-success: #006736;
  --tri-color-icon-danger: #B32820;
  --tri-color-icon-warning: #FABA68;
  --tri-color-icon-disabled: #CCC9C3;
  --tri-color-icon-ai: #B828F0;
  --tri-color-icon-primary-inverse: #FFFFFF;
  --tri-color-icon-secondary-inverse: #F1F0EC;
  --tri-color-icon-info-inverse: #6C64EC;
  --tri-color-icon-success-inverse: #00A557;
  --tri-color-icon-danger-inverse: #F95B4C;

  /* ── Fill ── */
  --tri-color-fill-primary: #FFFFFF;
  --tri-color-fill-secondary: #E7E6E1;
  --tri-color-fill-tertiary: #F6F6F3;
  --tri-color-fill-accent-primary: #FFECE2;
  --tri-color-fill-accent-secondary: #FF5A0A;
  --tri-color-fill-accent-tertiary: #FFF2EC;
  --tri-color-fill-warning: #FABA68;
  --tri-color-fill-success: #7ED6A7;
  --tri-color-fill-ai: #FFEAFF;
  --tri-color-fill-primary-inverse: #000000;
  --tri-color-fill-secondary-inverse: #302F2F;
  --tri-color-fill-tertiary-inverse: #1C1B1B;
  --tri-color-fill-danger-inverse: #B32820;
  --tri-color-fill-success-inverse: #006736;
  --tri-color-fill-info-inverse: #473CC5;

  /* ── Stroke ── */
  --tri-color-stroke-primary: #96948E;
  --tri-color-stroke-secondary: #F1F0EC;
  --tri-color-stroke-tertiary: #5E5E5C;
  --tri-color-stroke-warning: #FABA68;
  --tri-color-stroke-danger: #B32820;
  --tri-color-stroke-success: #006736;
  --tri-color-stroke-ai: #B828F0;
  --tri-color-stroke-primary-inverse: #494846;
  --tri-color-stroke-secondary-inverse: #302F2F;
  --tri-color-stroke-tertiary-inverse: #CCC9C3;

  /* ── Rule ── */
  --tri-color-rule-primary: #E7E6E1;
  --tri-color-rule-secondary: #B0AEA8;
  --tri-color-rule-emphasis: #1C1B1B;

  /* ── Interactive / Focus ── */
  --tri-color-interactive-focus: #6C64EC;

  /* ── Interactive / Foreground ── */
  --tri-interactive-fg-action-normal: #473CC5;
  --tri-interactive-fg-action-hover: #2100A4;
  --tri-interactive-fg-action-pressed: #0F0069;
  --tri-interactive-fg-action-disabled: #CCC9C3;
  --tri-interactive-fg-danger-normal: #B32820;
  --tri-interactive-fg-danger-hover: #680002;
  --tri-interactive-fg-danger-pressed: #410001;
  --tri-interactive-fg-success-normal: #006736;
  --tri-interactive-fg-success-hover: #00341B;
  --tri-interactive-fg-success-pressed: #001209;
  --tri-interactive-fg-neutral-normal: #494846;
  --tri-interactive-fg-neutral-hover: #302F2F;
  --tri-interactive-fg-neutral-pressed: #1C1B1B;
  --tri-interactive-fg-neutral-disabled: #CCC9C3;
  --tri-interactive-fg-ai-normal: #B828F0;
  --tri-interactive-fg-ai-hover: #7400A1;
  --tri-interactive-fg-ai-pressed: #520073;

  /* ── Interactive / Background ── */
  --tri-interactive-bg-action-normal: #FFFFFF;
  --tri-interactive-bg-action-hover: #F2F0FF;
  --tri-interactive-bg-action-pressed: #E4DFFF;
  --tri-interactive-bg-action-selected: #F2F0FF;
  --tri-interactive-bg-action-normal-inverse: #473CC5;
  --tri-interactive-bg-action-hover-inverse: #2100A4;
  --tri-interactive-bg-action-pressed-inverse: #0F0069;
  --tri-interactive-bg-danger-normal: #FFFFFF;
  --tri-interactive-bg-danger-hover: #FFEDE9;
  --tri-interactive-bg-danger-pressed: #FFDAD4;
  --tri-interactive-bg-danger-normal-inverse: #B32820;
  --tri-interactive-bg-danger-hover-inverse: #680002;
  --tri-interactive-bg-danger-pressed-inverse: #410001;
  --tri-interactive-bg-neutral-normal: #FFFFFF;
  --tri-interactive-bg-neutral-hover: #F1F0EC;
  --tri-interactive-bg-neutral-pressed: #E7E6E1;
  --tri-interactive-bg-success-normal-inverse: #006736;
  --tri-interactive-bg-ai-hover: #FFEAFF;
  --tri-interactive-bg-ai-pressed: #FAD7FF;

  /* ── Surface ── */
  --tri-surface-base-paper: #FFFFFF;
  --tri-surface-base-cement: #F6F6F3;
  --tri-surface-base-chalkboard: #1C1B1B;

  /* ── Button (Component Tokens) ── */
  --tri-btn-fill-primary-normal: #473CC5;
  --tri-btn-fill-primary-hover: #2100A4;
  --tri-btn-fill-primary-pressed: #0F0069;
  --tri-btn-fill-primary-disabled: #CCC9C3;
  --tri-btn-fill-secondary-normal: #FFFFFF;
  --tri-btn-fill-secondary-hover: #F2F0FF;
  --tri-btn-fill-secondary-pressed: #E4DFFF;
  --tri-btn-fill-secondary-disabled: #FFFFFF;
  --tri-btn-fill-tertiary-normal: #FFFFFF;
  --tri-btn-fill-tertiary-hover: #F2F0FF;
  --tri-btn-fill-tertiary-pressed: #E4DFFF;
  --tri-btn-fill-danger-normal: #B32820;
  --tri-btn-fill-danger-hover: #680002;
  --tri-btn-fill-danger-pressed: #410001;
  --tri-btn-fill-danger-disabled: #CCC9C3;
  --tri-btn-fill-danger-secondary-normal: #FFFFFF;
  --tri-btn-fill-danger-secondary-hover: #FFEDE9;
  --tri-btn-fill-danger-secondary-pressed: #FFDAD4;
  --tri-btn-fill-neutral-normal: #FFFFFF;
  --tri-btn-fill-neutral-hover: #F1F0EC;
  --tri-btn-fill-neutral-pressed: #E7E6E1;
  --tri-btn-fill-neutral-disabled: #FFFFFF;
  --tri-btn-fill-transparent-normal: #FFFFFF;
  --tri-btn-fill-transparent-hover: #FFFFFF;
  --tri-btn-fill-transparent-pressed: #FFFFFF;
  --tri-btn-fill-success-normal: #006736;
  --tri-btn-fill-success-hover: #00341B;
  --tri-btn-fill-success-pressed: #001209;
  --tri-btn-fill-ai-primary-normal: #B828F0;
  --tri-btn-fill-ai-primary-hover: #7400A1;
  --tri-btn-fill-ai-primary-pressed: #520073;
  --tri-btn-fill-ai-secondary-normal: #FFFFFF;
  --tri-btn-fill-ai-secondary-hover: #FFEAFF;
  --tri-btn-fill-ai-secondary-pressed: #FAD7FF;

  --tri-btn-stroke-secondary-normal: #473CC5;
  --tri-btn-stroke-secondary-hover: #2100A4;
  --tri-btn-stroke-secondary-pressed: #0F0069;
  --tri-btn-stroke-secondary-disabled: #CCC9C3;

  --tri-btn-text-primary-normal: #FFFFFF;
  --tri-btn-text-secondary-normal: #473CC5;
  --tri-btn-text-secondary-hover: #2100A4;
  --tri-btn-text-secondary-pressed: #0F0069;
  --tri-btn-text-secondary-disabled: #CCC9C3;
  --tri-btn-text-tertiary-normal: #473CC5;
  --tri-btn-text-tertiary-hover: #2100A4;
  --tri-btn-text-tertiary-pressed: #0F0069;
  --tri-btn-text-danger-normal: #FFFFFF;
  --tri-btn-text-danger-secondary-normal: #B32820;
  --tri-btn-text-danger-secondary-hover: #680002;
  --tri-btn-text-transparent-normal: #494846;
  --tri-btn-text-transparent-hover: #302F2F;
  --tri-btn-text-transparent-pressed: #1C1B1B;
  --tri-btn-text-neutral-normal: #494846;
  --tri-btn-text-neutral-hover: #302F2F;
  --tri-btn-text-neutral-pressed: #1C1B1B;
  --tri-btn-text-neutral-disabled: #CCC9C3;

  --tri-btn-radius: 100px;
  --tri-btn-radius-icon-only: 100px;

  /* ── Input (Component Tokens) ── */
  --tri-input-fill-normal: #FFFFFF;
  --tri-input-fill-disabled: #F6F6F3;
  --tri-input-stroke-normal: #494846;
  --tri-input-stroke-hover: #302F2F;
  --tri-input-stroke-active: #1C1B1B;
  --tri-input-stroke-danger-normal: #B32820;
  --tri-input-stroke-danger-hover: #680002;
  --tri-input-stroke-danger-active: #B32820;
  --tri-input-stroke-disabled: #CCC9C3;
  --tri-input-radius: 4px;

  /* ── Switch (Component Tokens) ── */
  --tri-switch-fill-default-normal: #5E5E5C;
  --tri-switch-fill-default-hover: #302F2F;
  --tri-switch-fill-default-pressed: #1C1B1B;
  --tri-switch-fill-default-disabled: #CCC9C3;
  --tri-switch-fill-selected-normal: #473CC5;
  --tri-switch-fill-selected-hover: #2100A4;
  --tri-switch-fill-selected-pressed: #0F0069;
  --tri-switch-fill-selected-disabled: #CCC9C3;

  /* ── Tag ── */
  --tri-tag-radius: 2px;

  /* ── Link ── */
  --tri-link-primary-normal: #473CC5;
  --tri-link-primary-hover: #2100A4;
  --tri-link-primary-pressed: #0F0069;
  --tri-link-primary-visited: #7400A1;
  --tri-link-primary-disabled: #CCC9C3;
  --tri-link-secondary-normal: #494846;
  --tri-link-secondary-hover: #302F2F;

  /* ── Table ── */
  --tri-table-header-fill-normal: #F6F6F3;
  --tri-table-header-fill-hover: #E7E6E1;
  --tri-table-row-fill-normal: #FFFFFF;
  --tri-table-row-fill-hover: #F2F0FF;
  --tri-table-row-fill-pressed: #E4DFFF;
  --tri-table-row-fill-selected: #F2F0FF;

  /* ── Tooltip ── */
  --tri-tooltip-fill: #000000;
  --tri-tooltip-text: #FFFFFF;

  /* ── Item (List/Menu) ── */
  --tri-item-fill-normal: #FFFFFF;
  --tri-item-fill-hover: #F2F0FF;
  --tri-item-fill-pressed: #E4DFFF;

  /* ── Sidenav ── */
  --tri-sidenav-fill: #F6F6F3;
  --tri-sidenav-stroke: #E7E6E1;
  --tri-sidenav-text: #1C1B1B;
  --tri-sidenav-item-fill-normal: #FFFFFF;
  --tri-sidenav-item-fill-hover: #F2F0FF;
  --tri-sidenav-item-fill-pressed: #E4DFFF;
  --tri-sidenav-item-fill-selected: #FFECE2;
  --tri-sidenav-item-stroke-normal: #FF5A0A;
  --tri-sidenav-item-fg-normal: #5E5E5C;
  --tri-sidenav-item-fg-hover: #2100A4;
  --tri-sidenav-item-fg-pressed: #0F0069;
  --tri-sidenav-item-fg-selected: #1C1B1B;

  /* ── Banner ── */
  --tri-banner-color-fill-info: #F2F0FF;
  --tri-banner-radius: 0px;

  /* ── Radius (Global) ── */
  --tri-radius-card: 8px;
  --tri-radius-chip: 12px;
  --tri-radius-toast: 8px;
  --tri-radius-focus-button: 100px;
  --tri-radius-focus-input: 6px;
  --tri-radius-focus-breadcrumb: 4px;
}


/* ============================================================================
 * AIRE
 * Primary: Teal (#177575) · Rounded buttons (8px) · 8px input radius
 * ============================================================================ */
[data-theme="aire"], .theme-aire {

  /* ── Text ── */
  --tri-color-text-primary: #1C1B1B;
  --tri-color-text-secondary: #5E5E5C;
  --tri-color-text-tertiary: #7B7974;
  --tri-color-text-caption: #7B7974;
  --tri-color-text-danger: #B32820;
  --tri-color-text-success: #006736;
  --tri-color-text-disabled: #CCC9C3;
  --tri-color-text-ai: #B828F0;
  --tri-color-text-primary-inverse: #FFFFFF;
  --tri-color-text-secondary-inverse: #F1F0EC;
  --tri-color-text-tertiary-inverse: #CCC9C3;
  --tri-color-text-danger-inverse: #D64236;
  --tri-color-text-success-inverse: #00A557;

  /* ── Icon ── */
  --tri-color-icon-primary: #1C1B1B;
  --tri-color-icon-secondary: #5E5E5C;
  --tri-color-icon-info: #285E76;
  --tri-color-icon-success: #006736;
  --tri-color-icon-danger: #B32820;
  --tri-color-icon-warning: #FABA68;
  --tri-color-icon-disabled: #CCC9C3;
  --tri-color-icon-ai: #B828F0;
  --tri-color-icon-primary-inverse: #FFFFFF;
  --tri-color-icon-info-inverse: #0783A1;

  /* ── Fill ── */
  --tri-color-fill-primary: #FFFFFF;
  --tri-color-fill-secondary: #E9E8E2;
  --tri-color-fill-tertiary: #F9F9F7;
  --tri-color-fill-accent-primary: #FFECE2;
  --tri-color-fill-accent-secondary: #FF5A0A;
  --tri-color-fill-accent-tertiary: #FFF2EC;
  --tri-color-fill-warning: #FABA68;
  --tri-color-fill-success: #7ED6A7;
  --tri-color-fill-ai: #FFEAFF;
  --tri-color-fill-primary-inverse: #000000;
  --tri-color-fill-secondary-inverse: #302F2F;
  --tri-color-fill-tertiary-inverse: #1C1B1B;
  --tri-color-fill-danger-inverse: #B32820;
  --tri-color-fill-success-inverse: #006736;
  --tri-color-fill-info-inverse: #285E76;

  /* ── Stroke ── */
  --tri-color-stroke-primary: #C0BDAF;
  --tri-color-stroke-secondary: #F5F4F0;
  --tri-color-stroke-tertiary: #8F8B7C;
  --tri-color-stroke-warning: #FABA68;
  --tri-color-stroke-danger: #B32820;
  --tri-color-stroke-success: #006736;
  --tri-color-stroke-ai: #B828F0;
  --tri-color-stroke-primary-inverse: #767469;

  /* ── Rule ── */
  --tri-color-rule-primary: #E9E8E2;
  --tri-color-rule-secondary: #D2D0C6;
  --tri-color-rule-emphasis: #373634;

  /* ── Interactive / Focus ── */
  --tri-color-interactive-focus: #0783A1;

  /* ── Interactive / Foreground ── */
  --tri-interactive-fg-action-normal: #177575;
  --tri-interactive-fg-action-hover: #115959;
  --tri-interactive-fg-action-pressed: #0A1F1D;
  --tri-interactive-fg-action-disabled: #CCC9C3;
  --tri-interactive-fg-danger-normal: #B32820;
  --tri-interactive-fg-danger-hover: #680002;
  --tri-interactive-fg-neutral-normal: #494846;
  --tri-interactive-fg-neutral-hover: #302F2F;
  --tri-interactive-fg-neutral-pressed: #1C1B1B;

  /* ── Interactive / Background ── */
  --tri-interactive-bg-action-normal: #FFFFFF;
  --tri-interactive-bg-action-hover: #D8F3F1;
  --tri-interactive-bg-action-pressed: #C1EBE8;
  --tri-interactive-bg-action-selected: #D8F3F1;
  --tri-interactive-bg-action-normal-inverse: #177575;
  --tri-interactive-bg-action-hover-inverse: #115959;
  --tri-interactive-bg-action-pressed-inverse: #0A1F1D;
  --tri-interactive-bg-danger-hover: #FFEDE9;
  --tri-interactive-bg-danger-pressed: #FFDAD4;
  --tri-interactive-bg-danger-normal-inverse: #B32820;
  --tri-interactive-bg-neutral-hover: #F5F4F0;
  --tri-interactive-bg-neutral-pressed: #E9E8E2;

  /* ── Surface ── */
  --tri-surface-base-paper: #FFFFFF;
  --tri-surface-base-cement: #F9F9F7;
  --tri-surface-base-chalkboard: #1C1B1B;

  /* ── Button ── */
  --tri-btn-fill-primary-normal: #177575;
  --tri-btn-fill-primary-hover: #115959;
  --tri-btn-fill-primary-pressed: #123A37;
  --tri-btn-fill-primary-disabled: #CCC9C3;
  --tri-btn-fill-secondary-normal: #FFFFFF;
  --tri-btn-fill-secondary-hover: #D8F3F1;
  --tri-btn-fill-secondary-pressed: #83D8D1;
  --tri-btn-fill-tertiary-normal: #FFFFFF;
  --tri-btn-fill-tertiary-hover: #F5F4F0;
  --tri-btn-fill-tertiary-pressed: #E0DED7;
  --tri-btn-fill-danger-normal: #B32820;
  --tri-btn-fill-danger-hover: #680002;
  --tri-btn-fill-danger-pressed: #410001;
  --tri-btn-fill-danger-disabled: #CCC9C3;
  --tri-btn-fill-danger-secondary-normal: #FFFFFF;
  --tri-btn-fill-danger-secondary-hover: #FFEDE9;
  --tri-btn-fill-danger-secondary-pressed: #FFDAD4;
  --tri-btn-fill-neutral-normal: #FFFFFF;
  --tri-btn-fill-neutral-hover: #F5F4F0;
  --tri-btn-fill-neutral-pressed: #E0DED7;
  --tri-btn-fill-neutral-disabled: #FFFFFF;
  --tri-btn-fill-transparent-normal: #FFFFFF;
  --tri-btn-fill-transparent-hover: #FFFFFF;
  --tri-btn-fill-transparent-pressed: #FFFFFF;
  --tri-btn-fill-success-normal: #006736;
  --tri-btn-fill-success-hover: #00341B;
  --tri-btn-fill-success-pressed: #001209;
  --tri-btn-fill-ai-primary-normal: #B828F0;
  --tri-btn-fill-ai-primary-hover: #7400A1;
  --tri-btn-fill-ai-secondary-normal: #FFFFFF;
  --tri-btn-fill-ai-secondary-hover: #FFEAFF;

  --tri-btn-stroke-secondary-normal: #C0BDAF;
  --tri-btn-stroke-secondary-hover: #177575;
  --tri-btn-stroke-secondary-pressed: #177575;
  --tri-btn-stroke-secondary-disabled: #E9E8E2;

  --tri-btn-text-primary-normal: #FFFFFF;
  --tri-btn-text-secondary-normal: #1C1B1B;
  --tri-btn-text-secondary-hover: #1C1B1B;
  --tri-btn-text-secondary-pressed: #1C1B1B;
  --tri-btn-text-secondary-disabled: #CCC9C3;
  --tri-btn-text-tertiary-normal: #1C1B1B;
  --tri-btn-text-tertiary-hover: #1C1B1B;
  --tri-btn-text-tertiary-pressed: #1C1B1B;
  --tri-btn-text-danger-normal: #FFFFFF;
  --tri-btn-text-danger-secondary-normal: #B32820;
  --tri-btn-text-danger-secondary-hover: #680002;
  --tri-btn-text-transparent-normal: #494846;
  --tri-btn-text-transparent-hover: #302F2F;
  --tri-btn-text-transparent-pressed: #1C1B1B;
  --tri-btn-text-neutral-normal: #494846;
  --tri-btn-text-neutral-hover: #302F2F;
  --tri-btn-text-neutral-pressed: #1C1B1B;
  --tri-btn-text-neutral-disabled: #CCC9C3;

  --tri-btn-radius: 8px;
  --tri-btn-radius-icon-only: 100px;

  /* ── Input ── */
  --tri-input-fill-normal: #FFFFFF;
  --tri-input-fill-disabled: #F9F9F7;
  --tri-input-stroke-normal: #C0BDAF;
  --tri-input-stroke-hover: #8F8B7C;
  --tri-input-stroke-active: #1C1B1B;
  --tri-input-stroke-danger-normal: #B32820;
  --tri-input-stroke-danger-hover: #680002;
  --tri-input-stroke-disabled: #CCC9C3;
  --tri-input-radius: 8px;

  /* ── Switch ── */
  --tri-switch-fill-default-normal: #E9E8E2;
  --tri-switch-fill-default-hover: #B0AEA8;
  --tri-switch-fill-default-pressed: #7B7974;
  --tri-switch-fill-default-disabled: #CCC9C3;
  --tri-switch-fill-selected-normal: #41C3B8;
  --tri-switch-fill-selected-hover: #35A79D;
  --tri-switch-fill-selected-pressed: #177575;

  /* ── Tag ── */
  --tri-tag-radius: 50px;

  /* ── Sidenav ── */
  --tri-sidenav-fill: #F9F9F7;
  --tri-sidenav-stroke: #E9E8E2;
  --tri-sidenav-text: #1C1B1B;
  --tri-sidenav-item-fill-hover: #D8F3F1;
  --tri-sidenav-item-fill-pressed: #83D8D1;
  --tri-sidenav-item-fg-normal: #5E5E5C;

  /* ── Banner ── */
  --tri-banner-color-fill-info: #D1E6F0;
  --tri-banner-radius: 8px;

  /* ── Radius (Global) ── */
  --tri-radius-card: 16px;
  --tri-radius-chip: 12px;
  --tri-radius-toast: 8px;
  --tri-radius-focus-button: 10px;
  --tri-radius-focus-input: 10px;
}


/* ============================================================================
 * AMEX (White-label Partner)
 * Primary: Navy (#00175A) · Square buttons (4px) · 4px input radius
 * ============================================================================ */
[data-theme="amex"], .theme-amex {

  /* ── Text ── */
  --tri-color-text-primary: #000000;
  --tri-color-text-secondary: #424242;
  --tri-color-text-tertiary: #616161;
  --tri-color-text-caption: #424242;
  --tri-color-text-danger: #DF0000;
  --tri-color-text-success: #289B31;
  --tri-color-text-disabled: #EAEAEA;
  --tri-color-text-ai: #B828F0;
  --tri-color-text-primary-inverse: #FFFFFF;
  --tri-color-text-secondary-inverse: #F2F0F0;
  --tri-color-text-danger-inverse: #EC150B;
  --tri-color-text-success-inverse: #35A53A;

  /* ── Icon ── */
  --tri-color-icon-primary: #000000;
  --tri-color-icon-secondary: #424242;
  --tri-color-icon-info: #006FCF;
  --tri-color-icon-success: #289B31;
  --tri-color-icon-danger: #DF0000;
  --tri-color-icon-warning: #FFA200;
  --tri-color-icon-disabled: #EAEAEA;
  --tri-color-icon-ai: #B828F0;

  /* ── Fill ── */
  --tri-color-fill-primary: #FFFFFF;
  --tri-color-fill-secondary: #F5F5F5;
  --tri-color-fill-tertiary: #F6F6F3;
  --tri-color-fill-accent-primary: #D5E3F6;
  --tri-color-fill-accent-secondary: #2B70C8;
  --tri-color-fill-accent-tertiary: #E5EEF9;
  --tri-color-fill-warning: #FFB962;
  --tri-color-fill-success: #6FDE6B;
  --tri-color-fill-ai: #FFEAFF;
  --tri-color-fill-primary-inverse: #000000;
  --tri-color-fill-secondary-inverse: #292A2A;
  --tri-color-fill-tertiary-inverse: #000000;
  --tri-color-fill-danger-inverse: #C00000;
  --tri-color-fill-success-inverse: #289B31;
  --tri-color-fill-info-inverse: #006FCF;

  /* ── Stroke ── */
  --tri-color-stroke-primary: #BDBDBD;
  --tri-color-stroke-secondary: #F9F9F9;
  --tri-color-stroke-tertiary: #707070;
  --tri-color-stroke-warning: #FFA200;
  --tri-color-stroke-danger: #DF0000;
  --tri-color-stroke-success: #289B31;
  --tri-color-stroke-ai: #B828F0;

  /* ── Rule ── */
  --tri-color-rule-primary: #F5F5F5;
  --tri-color-rule-secondary: #ACABAB;
  --tri-color-rule-emphasis: #000000;

  /* ── Interactive / Focus ── */
  --tri-color-interactive-focus: #6373B8;

  /* ── Interactive / Foreground ── */
  --tri-interactive-fg-action-normal: #00175A;
  --tri-interactive-fg-action-hover: #001452;
  --tri-interactive-fg-action-pressed: #000000;
  --tri-interactive-fg-action-disabled: #EAEAEA;
  --tri-interactive-fg-danger-normal: #DF0000;
  --tri-interactive-fg-danger-hover: #9C0100;
  --tri-interactive-fg-neutral-normal: #616161;
  --tri-interactive-fg-neutral-hover: #3D3E3E;
  --tri-interactive-fg-neutral-pressed: #272828;

  /* ── Interactive / Background ── */
  --tri-interactive-bg-action-normal: #FFFFFF;
  --tri-interactive-bg-action-hover: #EFEFFF;
  --tri-interactive-bg-action-pressed: #DDE1FF;
  --tri-interactive-bg-action-normal-inverse: #00175A;
  --tri-interactive-bg-action-hover-inverse: #001452;
  --tri-interactive-bg-action-pressed-inverse: #000000;
  --tri-interactive-bg-danger-hover: #FFEDEA;
  --tri-interactive-bg-danger-normal-inverse: #DF0000;
  --tri-interactive-bg-neutral-hover: #F2F0F0;
  --tri-interactive-bg-neutral-pressed: #E4E2E2;

  /* ── Button ── */
  --tri-btn-fill-primary-normal: #00175A;
  --tri-btn-fill-primary-hover: #001452;
  --tri-btn-fill-primary-pressed: #000000;
  --tri-btn-fill-primary-disabled: #EAEAEA;
  --tri-btn-fill-secondary-normal: #FFFFFF;
  --tri-btn-fill-secondary-hover: #EFEFFF;
  --tri-btn-fill-secondary-pressed: #DDE1FF;
  --tri-btn-fill-tertiary-normal: #FFFFFF;
  --tri-btn-fill-tertiary-hover: #EFEFFF;
  --tri-btn-fill-tertiary-pressed: #DDE1FF;
  --tri-btn-fill-danger-normal: #DF0000;
  --tri-btn-fill-danger-hover: #9C0100;
  --tri-btn-fill-danger-pressed: #710000;
  --tri-btn-fill-danger-disabled: #EAEAEA;
  --tri-btn-fill-danger-secondary-normal: #FFFFFF;
  --tri-btn-fill-danger-secondary-hover: #FFEDEA;
  --tri-btn-fill-neutral-normal: #FFFFFF;
  --tri-btn-fill-neutral-hover: #F2F0F0;
  --tri-btn-fill-neutral-pressed: #E4E2E2;
  --tri-btn-fill-neutral-disabled: #FFFFFF;
  --tri-btn-fill-transparent-normal: #FFFFFF;
  --tri-btn-fill-success-normal: #289B31;
  --tri-btn-fill-success-hover: #007117;

  --tri-btn-stroke-secondary-normal: #00175A;
  --tri-btn-stroke-secondary-hover: #001452;
  --tri-btn-stroke-secondary-pressed: #000000;
  --tri-btn-stroke-secondary-disabled: #EAEAEA;

  --tri-btn-text-primary-normal: #FFFFFF;
  --tri-btn-text-secondary-normal: #00175A;
  --tri-btn-text-secondary-hover: #001452;
  --tri-btn-text-secondary-pressed: #000000;
  --tri-btn-text-secondary-disabled: #EAEAEA;
  --tri-btn-text-tertiary-normal: #00175A;
  --tri-btn-text-tertiary-hover: #001452;
  --tri-btn-text-danger-normal: #FFFFFF;
  --tri-btn-text-danger-secondary-normal: #DF0000;
  --tri-btn-text-danger-secondary-hover: #9C0100;
  --tri-btn-text-transparent-normal: #616161;
  --tri-btn-text-transparent-hover: #3D3E3E;
  --tri-btn-text-neutral-normal: #616161;
  --tri-btn-text-neutral-hover: #3D3E3E;
  --tri-btn-text-neutral-pressed: #272828;
  --tri-btn-text-neutral-disabled: #EAEAEA;

  --tri-btn-radius: 4px;
  --tri-btn-radius-icon-only: 4px;

  /* ── Input ── */
  --tri-input-fill-normal: #FFFFFF;
  --tri-input-fill-disabled: #F6F6F3;
  --tri-input-stroke-normal: #616161;
  --tri-input-stroke-hover: #3D3E3E;
  --tri-input-stroke-active: #272828;
  --tri-input-stroke-danger-normal: #DF0000;
  --tri-input-stroke-danger-hover: #9C0100;
  --tri-input-stroke-disabled: #EAEAEA;
  --tri-input-radius: 4px;

  /* ── Switch ── */
  --tri-switch-fill-default-normal: #616161;
  --tri-switch-fill-default-hover: #3D3E3E;
  --tri-switch-fill-default-pressed: #272828;
  --tri-switch-fill-default-disabled: #EAEAEA;
  --tri-switch-fill-selected-normal: #00175A;
  --tri-switch-fill-selected-hover: #001452;
  --tri-switch-fill-selected-pressed: #000000;

  /* ── Tag ── */
  --tri-tag-radius: 2px;

  /* ── Banner ── */
  --tri-banner-color-fill-info: #EFEFFF;
  --tri-banner-radius: 0px;

  /* ── Sidenav ── */
  --tri-sidenav-fill: #006FCF;
  --tri-sidenav-stroke: #00175D;
  --tri-sidenav-text: #FFFFFF;
  --tri-sidenav-item-fill-hover: #1D4B8A;
  --tri-sidenav-item-fill-pressed: #00175D;
  --tri-sidenav-item-fill-selected: #2861B2;

  /* ── Radius (Global) ── */
  --tri-radius-card: 8px;
  --tri-radius-chip: 12px;
  --tri-radius-focus-button: 100px;
  --tri-radius-focus-input: 6px;
}


/* ============================================================================
 * CHASE 360 (White-label Partner)
 * Primary: Blue (#0846A8) · Square buttons (4px) · 4px input radius
 * ============================================================================ */
[data-theme="chase"], .theme-chase {

  /* ── Text ── */
  --tri-color-text-primary: #414042;
  --tri-color-text-secondary: #424242;
  --tri-color-text-tertiary: #616161;
  --tri-color-text-caption: #424242;
  --tri-color-text-danger: #BF2155;
  --tri-color-text-success: #128842;
  --tri-color-text-disabled: #EAEAEA;
  --tri-color-text-ai: #B828F0;
  --tri-color-text-primary-inverse: #FFFFFF;
  --tri-color-text-secondary-inverse: #F2F0F0;
  --tri-color-text-danger-inverse: #D93767;
  --tri-color-text-success-inverse: #39A45A;

  /* ── Icon ── */
  --tri-color-icon-primary: #414042;
  --tri-color-icon-secondary: #424242;
  --tri-color-icon-info: #2666B4;
  --tri-color-icon-success: #128842;
  --tri-color-icon-danger: #BF2155;
  --tri-color-icon-warning: #FFB2BF;
  --tri-color-icon-disabled: #EAEAEA;
  --tri-color-icon-ai: #B828F0;

  /* ── Fill ── */
  --tri-color-fill-primary: #FFFFFF;
  --tri-color-fill-secondary: #F5F5F5;
  --tri-color-fill-tertiary: #F6F6F3;
  --tri-color-fill-accent-primary: #EBF0FF;
  --tri-color-fill-accent-secondary: #0B366A;
  --tri-color-fill-accent-tertiary: #F5F8FF;
  --tri-color-fill-warning: #FFB2BF;
  --tri-color-fill-success: #73DC8B;
  --tri-color-fill-ai: #FFEAFF;
  --tri-color-fill-primary-inverse: #000000;
  --tri-color-fill-secondary-inverse: #292A2A;
  --tri-color-fill-tertiary-inverse: #414042;
  --tri-color-fill-danger-inverse: #B6194F;
  --tri-color-fill-success-inverse: #128842;
  --tri-color-fill-info-inverse: #2666B4;

  /* ── Stroke ── */
  --tri-color-stroke-primary: #BDBDBD;
  --tri-color-stroke-secondary: #F9F9F9;
  --tri-color-stroke-tertiary: #707070;
  --tri-color-stroke-warning: #BF2155;
  --tri-color-stroke-danger: #BF2155;
  --tri-color-stroke-success: #128842;
  --tri-color-stroke-ai: #B828F0;

  /* ── Rule ── */
  --tri-color-rule-primary: #F5F5F5;
  --tri-color-rule-secondary: #ACABAB;
  --tri-color-rule-emphasis: #414042;

  /* ── Interactive / Focus ── */
  --tri-color-interactive-focus: #4773D6;

  /* ── Interactive / Foreground ── */
  --tri-interactive-fg-action-normal: #0846A8;
  --tri-interactive-fg-action-hover: #002664;
  --tri-interactive-fg-action-pressed: #00133B;
  --tri-interactive-fg-action-disabled: #EAEAEA;
  --tri-interactive-fg-danger-normal: #BF2155;
  --tri-interactive-fg-danger-hover: #830034;
  --tri-interactive-fg-neutral-normal: #616161;
  --tri-interactive-fg-neutral-hover: #3D3E3E;
  --tri-interactive-fg-neutral-pressed: #272828;

  /* ── Interactive / Background ── */
  --tri-interactive-bg-action-normal: #FFFFFF;
  --tri-interactive-bg-action-hover: #EEF0FF;
  --tri-interactive-bg-action-pressed: #DAE2FF;
  --tri-interactive-bg-action-normal-inverse: #0846A8;
  --tri-interactive-bg-action-hover-inverse: #002664;
  --tri-interactive-bg-action-pressed-inverse: #00133B;
  --tri-interactive-bg-danger-hover: #FFECEE;
  --tri-interactive-bg-danger-normal-inverse: #BF2155;
  --tri-interactive-bg-neutral-hover: #F2F0F0;
  --tri-interactive-bg-neutral-pressed: #E4E2E2;

  /* ── Button ── */
  --tri-btn-fill-primary-normal: #0846A8;
  --tri-btn-fill-primary-hover: #002664;
  --tri-btn-fill-primary-pressed: #00133B;
  --tri-btn-fill-primary-disabled: #EAEAEA;
  --tri-btn-fill-secondary-normal: #FFFFFF;
  --tri-btn-fill-secondary-hover: #EEF0FF;
  --tri-btn-fill-secondary-pressed: #DAE2FF;
  --tri-btn-fill-tertiary-normal: #FFFFFF;
  --tri-btn-fill-tertiary-hover: #EEF0FF;
  --tri-btn-fill-tertiary-pressed: #DAE2FF;
  --tri-btn-fill-danger-normal: #BF2155;
  --tri-btn-fill-danger-hover: #830034;
  --tri-btn-fill-danger-pressed: #5A0021;
  --tri-btn-fill-danger-disabled: #EAEAEA;
  --tri-btn-fill-danger-secondary-normal: #FFFFFF;
  --tri-btn-fill-danger-secondary-hover: #FFECEE;
  --tri-btn-fill-neutral-normal: #FFFFFF;
  --tri-btn-fill-neutral-hover: #F2F0F0;
  --tri-btn-fill-neutral-pressed: #E4E2E2;
  --tri-btn-fill-neutral-disabled: #FFFFFF;
  --tri-btn-fill-transparent-normal: #FFFFFF;
  --tri-btn-fill-success-normal: #128842;
  --tri-btn-fill-success-hover: #00602B;

  --tri-btn-stroke-secondary-normal: #0846A8;
  --tri-btn-stroke-secondary-hover: #002664;
  --tri-btn-stroke-secondary-pressed: #00133B;
  --tri-btn-stroke-secondary-disabled: #EAEAEA;

  --tri-btn-text-primary-normal: #FFFFFF;
  --tri-btn-text-secondary-normal: #0846A8;
  --tri-btn-text-secondary-hover: #002664;
  --tri-btn-text-secondary-pressed: #00133B;
  --tri-btn-text-secondary-disabled: #EAEAEA;
  --tri-btn-text-tertiary-normal: #0846A8;
  --tri-btn-text-tertiary-hover: #002664;
  --tri-btn-text-danger-normal: #FFFFFF;
  --tri-btn-text-danger-secondary-normal: #BF2155;
  --tri-btn-text-danger-secondary-hover: #830034;
  --tri-btn-text-transparent-normal: #616161;
  --tri-btn-text-transparent-hover: #3D3E3E;
  --tri-btn-text-neutral-normal: #616161;
  --tri-btn-text-neutral-hover: #3D3E3E;
  --tri-btn-text-neutral-pressed: #272828;
  --tri-btn-text-neutral-disabled: #EAEAEA;

  --tri-btn-radius: 4px;
  --tri-btn-radius-icon-only: 4px;

  /* ── Input ── */
  --tri-input-fill-normal: #FFFFFF;
  --tri-input-fill-disabled: #F6F6F3;
  --tri-input-stroke-normal: #616161;
  --tri-input-stroke-hover: #3D3E3E;
  --tri-input-stroke-active: #272828;
  --tri-input-stroke-danger-normal: #BF2155;
  --tri-input-stroke-danger-hover: #830034;
  --tri-input-stroke-disabled: #EAEAEA;
  --tri-input-radius: 4px;

  /* ── Switch ── */
  --tri-switch-fill-default-normal: #616161;
  --tri-switch-fill-default-hover: #3D3E3E;
  --tri-switch-fill-default-pressed: #272828;
  --tri-switch-fill-default-disabled: #EAEAEA;
  --tri-switch-fill-selected-normal: #0846A8;
  --tri-switch-fill-selected-hover: #002664;
  --tri-switch-fill-selected-pressed: #00133B;

  /* ── Tag ── */
  --tri-tag-radius: 2px;

  /* ── Banner ── */
  --tri-banner-color-fill-info: #EEF0FF;
  --tri-banner-radius: 8px;

  /* ── Sidenav ── */
  --tri-sidenav-fill: #0B366A;
  --tri-sidenav-stroke: #003063;
  --tri-sidenav-text: #FFFFFF;
  --tri-sidenav-item-fill-hover: #D5E3FF;
  --tri-sidenav-item-fill-pressed: #F5F8FF;
  --tri-sidenav-item-fill-selected: #EBF0FF;

  /* ── Radius (Global) ── */
  --tri-radius-card: 8px;
  --tri-radius-chip: 12px;
  --tri-radius-focus-button: 100px;
  --tri-radius-focus-input: 6px;
}
