/*
  Design tokens — single source of truth for color, spacing, and type.
  Change values here to re-theme the entire system.
*/
:root {
  /* Institutional navy (header, primary chrome) */
  --navy-900: #0a1f3c;
  --navy-800: #0e2a4d;
  --navy-700: #143a63;
  --navy-600: #1c4c7c;

  /* Neutrals */
  --white: #ffffff;
  --gray-50: #f6f8fa;
  --gray-100: #eef1f5;
  --gray-200: #dde3ea;
  --gray-300: #c6cfda;
  --gray-400: #9aa7b6;
  --gray-500: #6b7889;
  --gray-600: #4d596a;
  --gray-700: #333f4f;
  --gray-800: #202938;
  --gray-900: #121822;

  /* Restrained accent (links, primary actions) */
  --accent-600: #0d6b6b;
  --accent-700: #0a5555;
  --accent-100: #e3f1f1;

  /* Gold — institutional seal accent, login screen only */
  --gold-500: #b8933f;
  --gold-600: #96762c;
  --gold-100: #f6ecd6;

  /* Status palette — used only by badges/stage indicators */
  --status-gray-bg: #eef1f5;
  --status-gray-fg: #4d596a;
  --status-blue-bg: #e5eefc;
  --status-blue-fg: #1c4c8c;
  --status-amber-bg: #fdf1dd;
  --status-amber-fg: #8a5a10;
  --status-purple-bg: #f0e9fb;
  --status-purple-fg: #5b3a9e;
  --status-orange-bg: #fdeade;
  --status-orange-fg: #9a4a12;
  --status-green-bg: #e4f6ea;
  --status-green-fg: #1f7a3d;
  --status-red-bg: #fbe6e6;
  --status-red-fg: #a3272c;
  --status-navy-bg: #e2e9f2;
  --status-navy-fg: #0a1f3c;

  /* Role accent colors — the app shell's dominant color shifts per the
     signed-in user's role (avatar, active nav indicator), so it's always
     visually obvious which "mode" you're in. Reuses the same hues as the
     status badges above for one consistent color language across the
     whole app, not a second unrelated palette. -light variants are for
     text/labels on the dark header/sidenav; the base variants are for
     solid fills (avatar background). */
  --role-author: var(--status-blue-fg);
  --role-author-light: #9dc0ea;
  --role-district_evaluator: var(--status-green-fg);
  --role-district_evaluator-light: #9fd9b3;
  --role-peer_reviewer: var(--status-purple-fg);
  --role-peer_reviewer-light: #cdb3ea;
  --role-editor: var(--status-orange-fg);
  --role-editor-light: #f0b98a;
  --role-managing_editor: var(--gold-500);
  --role-managing_editor-light: #e8cf94;
  --role-super_admin: var(--status-red-fg);
  --role-super_admin-light: #eea3a6;

  /* Typography */
  --font-heading: Georgia, 'Times New Roman', serif;
  --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;

  /* Layout */
  --sidenav-width: 260px;
  --header-height: 60px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --shadow-sm: 0 1px 2px rgba(10, 31, 60, 0.06);
  --shadow-md: 0 4px 12px rgba(10, 31, 60, 0.10);
  --border: 1px solid var(--gray-200);
}
