:root {
  /* Brand core */
  --ink: #0B1230;
  --navy: #131B45;
  --navylite: #1E2A5E;
  --violet: #7C3AED;
  --violetlt: #A78BFA;
  --lavender: #C9BEFB;
  --paper: #F7F7FB;
  --paperdim: #EFEEF9;
  --slate: #545A78;
  --slate-lt: #8489A6;

  /* Semantic tokens — REMAPPED to brand-only palette.
     Names unchanged so nothing downstream breaks.
     Every "success" is now purple, every "warning" is medium purple,
     every "danger" is solid ink (black), every "info" is soft purple. */
  --success: #7C3AED;
  --success-bg: #EDE9FE;
  --warning: #6D28D9;
  --warning-bg: #DDD6FE;
  --danger: #0B1230;
  --danger-bg: #E5E7F0;
  --info: #5B21B6;
  --info-bg: #EDE9FE;

  /* Borders / radii / shadows */
  --border: rgba(19,27,69,0.10);
  --border-soft: rgba(19,27,69,0.07);
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --shadow-sm: 0 1px 2px rgba(11,18,48,0.06);
  --shadow-md: 0 8px 24px -8px rgba(11,18,48,0.14);
  --shadow-lg: 0 24px 60px -20px rgba(11,18,48,0.30);
  --sidebar-w: 248px;

  /* Extended brand palette */
  --navy-950: #0a0620;
  --navy-900: #0e0a26;
  --violet-600: #6d28d9;
  --violet-500: #7c3aed;
  --violet-400: #8b5cf6;
  --lavender-100: #ede9fe;
  --panel-bg: #f4f2fa;
  --ink-900: #14102b;
  --ink-600: #4b4560;
  --ink-400: #8783a0;
  --border-light: #e3ddf5;

  /* Theme-aware tokens */
  --bg-body: #f7f7fb;
  --bg-card: #ffffff;
  --text-primary: #0B1230;
  --text-secondary: #545A78;
  --border-color: rgba(19,27,69,0.10);
  --shadow: 0 1px 2px rgba(11,18,48,0.06);

  /* Chart / status bar palette — 5 purple/gray shades from lightest to darkest */
  --bar-1: #C9BEFB;   /* Document Pending — lavender */
  --bar-2: #A78BFA;   /* In Progress — light purple */
  --bar-3: #8B5CF6;   /* Pending Review — medium purple */
  --bar-4: #7C3AED;   /* Completed — brand purple */
  --bar-5: #0B1230;   /* Rejected / On Hold — ink */
}

body.theme-dark {
  --bg-body: #121212;
  --bg-card: #1e1e1e;
  --text-primary: #e0e0e0;
  --text-secondary: #a0a0a0;
  --border-color: rgba(255,255,255,0.1);
  --shadow: 0 1px 2px rgba(0,0,0,0.3);
  --paper: #2a2a2a;
  --paperdim: #333;
  --slate: #aaa;
  --slate-lt: #888;
  --ink: #eee;
  --navy: #2a2a3a;
  --navylite: #3a3a4a;
  --border-soft: rgba(255,255,255,0.08);
  --success-bg: #2a1a3a;
  --warning-bg: #3a2a4a;
  --danger-bg: #2a2a3a;
  --info-bg: #2a1a3a;
  --lavender-100: #2a2a3a;
  --panel-bg: #1a1a1a;
  --ink-900: #ddd;
  --ink-600: #aaa;
  --ink-400: #888;
  --border-light: #444;
  --violet-500: #9b6cf7;
  --violet-400: #b08cf9;
}

body.theme-invert {
  filter: invert(1) hue-rotate(180deg);
  background: #f7f7fb;
}
body.theme-invert img,
body.theme-invert .sidebar-brand img,
body.theme-invert .logo {
  filter: invert(1) hue-rotate(180deg);
}
body.theme-invert .sidebar-brand img,
body.theme-invert .slide-header img.logo {
  filter: invert(1) hue-rotate(180deg);
}
