/* AFF Back Office — design tokens v1 ("Eye for UI")
   CSP-safe: no @import, no url() fonts, system font stack only. */
:root{
  /* Gray scale (cool neutral, gray-forward) */
  --gray-0:#ffffff; --gray-25:#fafbfc; --gray-50:#f4f6f8; --gray-100:#e9edf0;
  --gray-150:#dfe4e8; --gray-200:#d3d9de; --gray-300:#b9c1c8; --gray-400:#949ea8;
  --gray-500:#5c677c; --gray-600:#56616b; --gray-700:#3f4952; --gray-800:#2b333a;
  --gray-850:#232a30; --gray-900:#1a1f24; --gray-950:#111518;

  /* Single accent: blue */
  --blue-50:#e8f1fa; --blue-100:#cfe2f4; --blue-500:#0a69b8; --blue-600:#01579b;
  --blue-700:#014a85; --blue-800:#0d3f6e;
  --accent:var(--blue-600); --accent-hover:var(--blue-700); --accent-soft:var(--blue-50);
  --accent-ink:#ffffff; --focus-ring:0 0 0 3px rgba(10,105,184,.35);

  /* Brand (AFF identity — logo mark only, never as UI chrome) */
  --brand-red:#c8102e; --brand-navy:#0a3161;

  /* Semantic */
  --success:#1e7a43; --success-soft:#e5f3ea;
  --warning:#9a5b00; --warning-soft:#fdf2dc; --warning-line:#efd28f;
  --danger:#b3261e;  --danger-soft:#fbe7e5;
  --info:var(--blue-600); --info-soft:var(--blue-50);

  /* Surfaces */
  --bg:#f1f3f5;                     /* page background */
  --surface-app:var(--bg);
  --surface:var(--gray-0);          /* cards, tables, content */
  --surface-sunken:var(--gray-100); /* table header, panel tint */
  --surface-hover:var(--gray-25);
  --surface-rail:var(--gray-850);   /* left icon rail */
  --surface-rail-hover:var(--gray-800);
  --surface-rail-active:var(--gray-700);
  --surface-header:var(--gray-0);
  --surface-signin-top:#3a444d; --surface-signin-bottom:#0f1316;

  /* Borders */
  --border:var(--gray-150); --border-strong:var(--gray-300); --border-input:var(--gray-300);

  /* Text */
  --text:var(--gray-900); --text-2:var(--gray-600); --text-3:var(--gray-500);
  --text-on-dark:#eef1f4; --text-on-dark-2:#b7bec4;
  --text-title:var(--blue-700); /* page titles */
  --text-link:var(--blue-600);
  --muted:#5c677c;

  /* Type */
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --fs-12:12px; --fs-13:13px; --fs-14:14px; --fs-16:16px; --fs-18:18px;
  --fs-20:20px; --fs-24:24px; --fs-28:28px; --fs-32:32px;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;
  --lh-tight:1.2; --lh-base:1.45;
  --tracking-caps:.06em;

  /* Spacing (4px base) */
  --sp-0:0; --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px;
  --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-12:48px;

  /* Sizing */
  --tap:44px;            /* minimum interactive size */
  --header-h:56px; --rail-w:64px; --rail-w-open:248px;
  --row-h:44px; --content-max:1440px;

  /* Radius (flat, Material-ish) */
  --r-0:0; --r-1:2px; --r-2:4px; --r-3:6px; --r-pill:999px;

  /* Shadow */
  --sh-0:none;
  --sh-1:0 1px 2px rgba(17,21,24,.06),0 0 0 1px rgba(17,21,24,.04);
  --sh-2:0 2px 6px rgba(17,21,24,.10);
  --sh-3:0 8px 24px rgba(17,21,24,.18);

  /* Z-index */
  --z-base:0; --z-sticky:20; --z-header:30; --z-rail:40; --z-scrim:45;
  --z-dropdown:50; --z-modal:60; --z-toast:70;

  /* Motion */
  --dur-fast:120ms; --dur:180ms; --ease:cubic-bezier(.2,0,0,1);
}
@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur:0ms}}
