:root {
  /* Approved Tiranga brand palette */
  --brand-page: #010806;
  --brand-panel: #052922;
  --brand-surface: #0e352d;
  --brand-border: #33655b;
  --brand-green: #0ac97c;
  --brand-green-highlight: #55ecad;
  --brand-green-bright: #12d989;
  --brand-green-dark: #078b58;
  --brand-gold: #ddb85d;
  --brand-gold-bright: #f3d41d;
  --brand-gold-dark: #e39024;
  --brand-text: #f5f7f3;
  --brand-text-muted: #a7b8b0;
  --brand-focus: #12d989;

  /* Business-state colours */
  --game-red: #ef4444;
  --game-green: #22c55e;
  --game-violet: #8b5cf6;
  --game-warning: #f59e0b;
  --game-info: #3b82f6;
  --telegram: #0088cc;
  --telegram-light: #33a3d9;
  --telegram-dark: #006699;

  /* Compatibility aliases used by the existing scripts and lottery module */
  --primary: var(--brand-green);
  --primary-light: var(--brand-green-bright);
  --primary-lighter: var(--brand-green-highlight);
  --primary-dark: var(--brand-green-dark);
  --secondary: var(--brand-panel);
  --secondary-light: var(--brand-surface);
  --secondary-dark: var(--brand-page);
  --success: var(--brand-green);
  --error: var(--game-red);
  --warning: var(--game-warning);
  --info: var(--game-info);
  --dark: var(--brand-page);
  --light: var(--brand-text);

  --bg-primary: var(--brand-page);
  --bg-secondary: var(--brand-panel);
  --bg-gradient-start: var(--brand-page);
  --bg-gradient-end: var(--brand-page);
  --card: var(--brand-panel);
  --surface: var(--brand-surface);
  --overlay: rgba(1, 8, 6, 0.88);

  --text-primary: var(--brand-text);
  --text-secondary: var(--brand-text-muted);
  --text-tertiary: #78928a;
  --text-inverse: var(--brand-page);
  --text-muted: var(--brand-text-muted);
  --text: var(--brand-text);
  --text-dim: var(--brand-text-muted);
  --text-body: var(--brand-text);

  --alpha-5: rgba(10, 201, 124, 0.05);
  --alpha-10: rgba(10, 201, 124, 0.1);
  --alpha-20: rgba(10, 201, 124, 0.2);
  --alpha-30: rgba(10, 201, 124, 0.3);
  --alpha-40: rgba(10, 201, 124, 0.4);
  --alpha-50: rgba(10, 201, 124, 0.5);
  --alpha-60: rgba(10, 201, 124, 0.6);
  --alpha-70: rgba(10, 201, 124, 0.7);
  --alpha-80: rgba(10, 201, 124, 0.8);
  --alpha-90: rgba(10, 201, 124, 0.9);

  --border: rgba(51, 101, 91, 0.64);
  --border-light: rgba(51, 101, 91, 0.44);
  --border-medium: rgba(51, 101, 91, 0.68);
  --border-dark: rgba(51, 101, 91, 0.84);
  --border-primary: var(--brand-border);

  --shadow-light: rgba(0, 0, 0, 0.18);
  --shadow-medium: rgba(0, 0, 0, 0.3);
  --shadow-dark: rgba(0, 0, 0, 0.48);
  --shadow-primary: rgba(10, 201, 124, 0.22);
  --shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.24);
  --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.42);

  --success-text: #74e4b5;
  --success-bg: rgba(10, 201, 124, 0.12);
  --success-border: rgba(10, 201, 124, 0.58);
  --error-text: #ff8a8a;
  --error-bg: rgba(239, 68, 68, 0.12);
  --error-border: rgba(239, 68, 68, 0.58);
  --error-gradient-end: #b91c1c;

  --modal-bg-start: var(--brand-panel);
  --modal-bg-end: var(--brand-panel);
  --gradient-primary: var(--brand-green);
  --gradient-secondary: var(--brand-surface);
  --gradient-bg: var(--brand-page);
}

@media (prefers-contrast: high) {
  :root {
    --brand-border: #73a99c;
    --brand-text-muted: #d0ddd8;
    --border-light: rgba(115, 169, 156, 0.76);
  }
}
