:root {
  /* ===== Brand ===== */
  /* PRIMARY (Atletas Green) */
  --color-primary-50:  #eefcf4;
  --color-primary-100: #d6f5e4;
  --color-primary-200: #aee9c6;
  --color-primary-300: #7cdca3;
  --color-primary-400: #49c97d;
  --color-primary-500: #28b565;      /* vívido */
  --color-primary-600: #168a46;      /* principal / hover */
  --color-primary-700: #0f733a;      /* títulos/contraste */
  --color-primary-800: #0a5d30;
  --color-primary-900: #084e29;

  /* SECONDARY (Field Teal) */
  --color-secondary-50:  #e9fbf8;
  --color-secondary-100: #c9f3ec;
  --color-secondary-200: #9ee6dc;
  --color-secondary-300: #6ad3c6;
  --color-secondary-400: #3ab9ad;
  --color-secondary-500: #239e95;
  --color-secondary-600: #128072;     /* principal / hover */
  --color-secondary-700: #0f6a5f;     /* contraste */
  --color-secondary-800: #0c564e;
  --color-secondary-900: #0a4842;

  /* ACCENT (Gold) – do contorno do brasão */
  --color-accent-50:  #fff8df;
  --color-accent-100: #ffefb3;
  --color-accent-200: #ffe37f;
  --color-accent-300: #ffd84d;
  --color-accent-400: #f8cb2f;
  --color-accent-500: #f2c335;        /* principal */
  --color-accent-600: #d4a92c;
  --color-accent-700: #aa8725;
  --color-accent-800: #85691f;
  --color-accent-900: #6c541b;

  /* Feedback (mantidos com leve ajuste para harmonizar) */
  --color-success-500: #22c55e;
  --color-success-600: #16a34a;
  --color-success-700: #15803d;
  --color-warning-500: var(--color-accent-500); /* dourado como warning elegante */
  --color-warning-600: var(--color-accent-600);
  --color-danger-500:  #ef4444;
  --color-danger-600:  #dc2626;
  --color-info-400:    #2fb7c8;  /* teal-azulado claro para não conflitar com primary */
  --color-info-600:    #0a8ea0;

  /* Neutros (Slate) */
  --color-neutral-50:  #f8fafc;
  --color-neutral-100: #f1f5f9;
  --color-neutral-200: #e2e8f0;
  --color-neutral-300: #cbd5e1;
  --color-neutral-400: #94a3b8;
  --color-neutral-500: #64748b;
  --color-neutral-600: #475569;
  --color-neutral-700: #334155;
  --color-neutral-800: #1e293b;
  --color-neutral-900: #0f172a;

  /* Semantic mappings */
  --color-text-900: var(--color-neutral-900);
  --color-text-700: var(--color-neutral-700);
  --color-text-600: var(--color-neutral-600);

  --color-surface: var(--color-neutral-50);
  --color-card: #ffffff;
  --color-muted: var(--color-neutral-100);

  /* ===== Bootstrap bridge ===== */
  --bs-primary:   var(--color-primary-600);
  --bs-secondary: var(--color-secondary-700);
  --bs-success:   var(--color-success-600);
  --bs-warning:   var(--color-warning-600);
  --bs-danger:    var(--color-danger-600);
  --bs-info:      var(--color-info-400);

  /* RGB (para bg-*, btn-*, alerts, etc.) */
  --bs-primary-rgb:   22,138,70;
  --bs-secondary-rgb: 15,106,95;
  --bs-success-rgb:   22,163,74;
  --bs-warning-rgb:   212,169,44;
  --bs-danger-rgb:    220,38,38;
  --bs-info-rgb:      47,183,200;

  --bs-body-color: var(--color-text-900);
  --bs-body-bg: var(--color-surface);
  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: color-mix(in oklab, var(--bs-primary) 85%, black 15%);
  --bs-border-color: var(--color-neutral-300);

  /* Radii */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-xl: 14px;
  --radius-2xl: 18px;

  --bs-border-radius: var(--radius-md);
  --bs-border-radius-sm: var(--radius-sm);
  --bs-border-radius-lg: var(--radius-lg);
  --bs-border-radius-xl: var(--radius-xl);

  /* Shadows (ligeiramente mais suaves p/ elegância) */
  --shadow-elev-1: 0 4px 10px rgba(0,0,0,.08);
  --shadow-elev-2: 0 12px 24px rgba(0,0,0,.10);
  --shadow-elev-3: 0 22px 35px rgba(0,0,0,.14);

  /* Typography */
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Gradients – para cards “stat-*” e banners */
  --gradient-hero: linear-gradient(135deg, var(--color-primary-700), color-mix(in oklab, var(--color-secondary-500) 70%, var(--color-primary-600) 30%));
  --gradient-stat-green: linear-gradient(135deg, var(--color-primary-700), var(--color-primary-500));
  --gradient-stat-teal:  linear-gradient(135deg, var(--color-secondary-700), var(--color-secondary-500));
  --gradient-stat-blue:  linear-gradient(135deg, #0b7aa6, #39b0d1);
  --gradient-stat-gold:  linear-gradient(135deg, var(--color-accent-700), var(--color-accent-500));
}

/* ===== DARK THEME ===== */
.theme-dark {
  --color-surface: #0a1b19;          /* fundo verde profundo */
  --color-card:    #0f2a27;
  --color-muted:   #123632;

  --color-text-900: #e6eaf2;
  --color-text-700: #cbd5e1;
  --color-text-600: #9fb0c4;

  --bs-primary:   var(--color-primary-500);
  --bs-secondary: var(--color-secondary-500);
  --bs-success:   var(--color-success-500);
  --bs-warning:   var(--color-warning-500);
  --bs-danger:    var(--color-danger-500);
  --bs-info:      var(--color-info-400);

  --bs-body-bg: var(--color-surface);
  --bs-body-color: var(--color-text-900);
  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: color-mix(in oklab, var(--bs-primary) 78%, white 22%);
  --bs-border-color: color-mix(in oklab, white 14%, var(--color-surface) 86%);
}
