/* Integrily tokens for the staff site (staff/src/styles.css). New brand, 2 Nov 2026. Light only. */

:root {
  /* palette */
  --graphite-900: #22262e;
  --graphite-700: #3a404b;
  --graphite-100: #dadce0;
  --graphite-50: #ecedef;
  --sunflower-400: #ffd96b;
  --sunflower-50: #fff6da;
  --warm-grey-100: #f5f3ee;
  --warm-grey-300: #e6e2d9;
  --mustard-500: #e3a72f;
  --mustard-600: #d2961f;
  --mustard-700: #7a570c;
  --slate-400: #9aa4b2;
  --slate-500: #6b7480;
  --slate-600: #555e6b;
  --ink-900: #121519;
  --white: #ffffff;
  --red-500: #e0483d;
  --red-50: #fbe9e7;
  --green-500: #15a86b;
  --green-50: #e8f7ef;
  --orange-500: #e07a1f;
  --orange-700: #a04f0a;
  --orange-50: #fdebdd;

  /* roles */
  --bg: var(--white);
  --surface: var(--white);
  --surface-alt: var(--warm-grey-100);
  --primary: var(--mustard-500);
  --primary-press: var(--mustard-600);
  --text-on-primary: var(--graphite-900);
  --accent: var(--mustard-500);
  --accent-text: var(--mustard-700);
  --accent-soft: var(--sunflower-50);
  --text: var(--ink-900);
  --text-strong: var(--graphite-900);
  --text-muted: var(--slate-600);
  --placeholder: var(--slate-400);
  --link: var(--graphite-900);
  --icon: var(--graphite-900);
  --selected: var(--graphite-100);
  --neutral-tint: var(--graphite-50);
  --border: var(--warm-grey-300);
  --border-hairline: var(--warm-grey-300);
  --border-strong: var(--slate-500);
  --border-press: var(--graphite-700);
  --focus-ring: var(--graphite-900);
  --texture: var(--sunflower-400);
  --texture-shade: linear-gradient(45deg, rgba(34, 38, 46, 0.22), rgba(34, 38, 46, 0.02));
  --success: var(--green-500);
  --success-soft: var(--green-50);
  --warning: var(--orange-500);
  --warning-text: var(--orange-700);
  --warning-soft: var(--orange-50);
  --error: var(--red-500);
  --error-soft: var(--red-50);
  --outcome-pass: var(--green-500);
  --outcome-review: var(--orange-500);
  --outcome-fail: var(--red-500);
  --integrity-flag: var(--red-500);
  --outcome-reviewed: var(--graphite-900);
  --score-bar: var(--graphite-900);
  --score-track: var(--warm-grey-300);

  /* type */
  --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --page-title: 800 28px/34px var(--font-sans);   /* letter-spacing -0.5px */
  --figure: 800 32px/36px var(--font-sans);       /* letter-spacing -0.5px, tabular-nums */
  --panel-title: 700 18px/26px var(--font-sans);
  --body: 400 15px/22px var(--font-sans);
  --table: 400 14px/20px var(--font-sans);
  --button: 700 15px/22px var(--font-sans);
  --meta: 500 13px/18px var(--font-sans);
  --eyebrow: 700 12px/16px var(--font-sans);
  --section-label: 500 12px/16px var(--font-mono);/* uppercase, letter-spacing 1.4px */
  --reference: 500 13px/18px var(--font-mono);    /* CAS numbers, IDs */

  /* spacing */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-xxl: 32px;
  --control-height: 40px;
  --row-height: 48px;
  --sidebar-width: 248px;

  /* radius */
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 24px;
  --radius-full: 999px;

  /* shadow */
  --shadow-sm: 0 2px 8px rgba(34, 38, 46, .06);
  --shadow-md: 0 4px 16px rgba(34, 38, 46, .06);
  --shadow-lg: 0 10px 24px rgba(34, 38, 46, .1);

  /* motion */
  --dur-fast: .12s;
  --dur-base: .2s;
  --dur-slow: .32s;
  --ease: cubic-bezier(.33, 1, .68, 1);
}

:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
a { color: var(--link); text-decoration: underline; }
