/*
 * CBAT Color System
 *
 * Core 4 colors that define the CBAT theme.
 * These defaults can be overridden by theme injection in base.html.
 *
 * USAGE: Always use var(--cbat-*) in CSS, never hardcode hex colors.
 */

:root {
  /* =========================================================================
     CORE 4 COLORS (overridden by theme selection)
     ========================================================================= */
  --cbat-primary: #256eb7;    /* Main blue - buttons, links, headers */
  --cbat-accent: #d82c1f;     /* Red - highlights, alerts, CTAs */
  --cbat-bg: #ffffff;         /* Page background */
  --cbat-text: #222222;       /* Primary text color */

  /* =========================================================================
     DERIVED COLORS (auto-calculated from core 4)
     ========================================================================= */
  --cbat-primary-light: color-mix(in srgb, var(--cbat-primary), white 85%);
  --cbat-primary-dark: color-mix(in srgb, var(--cbat-primary), black 20%);
  --cbat-accent-light: color-mix(in srgb, var(--cbat-accent), white 85%);
  --cbat-accent-dark: color-mix(in srgb, var(--cbat-accent), black 20%);
  --cbat-text-muted: color-mix(in srgb, var(--cbat-text), transparent 40%);
  --cbat-text-secondary: color-mix(in srgb, var(--cbat-text), transparent 25%);
  --cbat-border: color-mix(in srgb, var(--cbat-bg), var(--cbat-text) 20%);
  --cbat-border-light: color-mix(in srgb, var(--cbat-bg), var(--cbat-text) 12%);
  --cbat-bg-secondary: color-mix(in srgb, var(--cbat-bg), var(--cbat-text) 3%);
  --cbat-bg-hover: color-mix(in srgb, var(--cbat-bg), var(--cbat-text) 6%);

  /* =========================================================================
     SEMANTIC COLORS (fixed across all themes)
     ========================================================================= */
  --success: #27ae60;
  --success-bg: rgba(39, 174, 96, 0.1);
  --error: #c0392b;
  --error-bg: rgba(192, 57, 43, 0.1);
  --warning: #f39c12;
  --warning-bg: rgba(243, 156, 18, 0.1);
  --info: #3498db;
  --info-bg: rgba(52, 152, 219, 0.1);

  /* =========================================================================
     LEGACY ALIASES (for backward compatibility with base_test.css)
     These map old variable names to new ones during migration.
     ========================================================================= */
  --main-color: var(--cbat-primary);
  --accent-color: var(--cbat-accent);
  --body-font-color: var(--cbat-text);
  --borderColor: var(--cbat-border);
  --successColor: var(--success);
  --successBGColor: var(--success-bg);
  --errorColor: var(--error);
  --errorBGColor: var(--error-bg);
  --infoColor: var(--info);
  --infoBGColor: var(--info-bg);
}

/* ===========================================================================
   DARK MODE
   Triggered by: html[data-theme="dark"]
   Toggle via JS: document.documentElement.dataset.theme = 'dark'
   =========================================================================== */

html[data-theme="dark"] {
  --cbat-primary: #5a9fd4;
  --cbat-accent: #e74c3c;
  --cbat-bg: #1a1a1a;
  --cbat-text: #e0e0e0;

  /* Semantic colors adjusted for dark mode */
  --success: #2ecc71;
  --success-bg: rgba(46, 204, 113, 0.15);
  --error: #e74c3c;
  --error-bg: rgba(231, 76, 60, 0.15);
  --warning: #f1c40f;
  --warning-bg: rgba(241, 196, 15, 0.15);
  --info: #3498db;
  --info-bg: rgba(52, 152, 219, 0.15);
}

html[data-theme="dark"] body {
  background-color: var(--cbat-bg);
  color: var(--cbat-text);
}
