:root {
  --gp-bg: #17182b;
  --gp-bg-soft: #20223a;
  --gp-frame: #282a43;
  --gp-card: #343650;
  --gp-card-2: #2f314b;
  --gp-border: #404363;
  --gp-border-soft: rgba(182, 185, 217, 0.18);
  --gp-text: #e3e5fc;
  --gp-muted: #9da1c7;
  --gp-muted-2: #74789f;
  --gp-accent: #8f7cff;
  --gp-accent-2: #d7a84f;
  --gp-danger: #ef6262;
  --gp-success: #40c98b;
  --gp-warning: #f3bf4f;
  --gp-radius-lg: 24px;
  --gp-radius-md: 16px;
  --gp-radius-sm: 12px;
  --gp-shadow: 0 24px 80px rgba(0, 0, 0, 0.26);
  --gp-font-en: 'Plus Jakarta Sans', Inter, system-ui, sans-serif;
  --gp-font-ar: 'Tajawal', 'IBM Plex Sans Arabic', system-ui, sans-serif;
  --gp-sidebar-width: 282px;
  --gp-sidebar-collapsed: 88px;
  --gp-transition: 180ms ease;
}

body[data-theme="light"] {
  --gp-bg: #eef2ff;
  --gp-bg-soft: #f8f9ff;
  --gp-frame: #ffffff;
  --gp-card: #ffffff;
  --gp-card-2: #f4f6ff;
  --gp-border: #d9def3;
  --gp-border-soft: rgba(34, 36, 58, 0.13);
  --gp-text: #22243a;
  --gp-muted: #68708f;
  --gp-muted-2: #8b92ad;
  --gp-accent: #4f46e5;
  --gp-accent-2: #d7a84f;
  --gp-danger: #d64545;
  --gp-success: #15936c;
  --gp-warning: #b7791f;
  --gp-radius-lg: 24px;
  --gp-radius-md: 16px;
  --gp-radius-sm: 12px;
  --gp-sidebar-width: 282px;
  --gp-shadow: 0 24px 80px rgba(45, 48, 90, 0.12);
}

/* Patch 08 — legacy variable aliases so old page CSS follows Theme Controller */
:root,
body[data-theme="dark"],
body[data-theme="light"] {
  --gp-card-soft: var(--gp-card-2);
  --bg: var(--gp-bg);
  --background: var(--gp-bg);
  --card: var(--gp-card);
  --card-2: var(--gp-card-2);
  --border: var(--gp-border);
  --text: var(--gp-text);
  --muted: var(--gp-muted);
  --accent: var(--gp-accent);
  --brand: var(--gp-accent);
  --brand-end: var(--gp-accent-2);
  --success: var(--gp-success);
  --warning: var(--gp-warning);
  --danger: var(--gp-danger);
  --info: var(--gp-accent);
}
