@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../vendor/fonts/manrope-latin-wght-normal.woff2") format("woff2");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../vendor/fonts/dm-sans-latin-wght-normal.woff2") format("woff2");
}
@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../vendor/fonts/dm-sans-latin-wght-italic.woff2") format("woff2");
}

:root {
  --ms-ink-950: #1b2430;
  --ms-ink-900: #202a37;
  --ms-ink-800: #263241;
  --ms-ink-700: #2f3d4f;
  --ms-ink-600: #3d4d62;
  --ms-ink-text: #e9edf2;
  --ms-ink-muted: #9aa6b5;

  --ms-primary-700: #2f455d;
  --ms-primary-600: #38516d;
  --ms-primary-500: #435f7f;
  --ms-primary-400: #5a7898;
  --ms-primary-100: #dde5ee;
  --ms-primary-50: #eef2f7;
  --ms-primary-glow: rgba(67, 95, 127, 0.22);

  --ms-accent-700: #8a5d00;
  --ms-accent-600: #b77e06;
  --ms-accent-500: #f5a524;
  --ms-accent-100: #fde8c3;
  --ms-accent-50: #fef5e4;

  --ms-bg-page: #f5f6f8;
  --ms-bg-card: #ffffff;
  --ms-bg-subtle: #edf0f3;
  --ms-bg-hover: #f8f9fb;
  --ms-bg-inset: #e3e7ec;

  --ms-text: #1b2430;
  --ms-text-muted: #505b68;
  --ms-text-light: #818b97;
  --ms-text-inverse: #ffffff;

  --ms-border: #dce1e7;
  --ms-border-subtle: #e8ebf0;
  --ms-border-strong: #c5ccd6;

  --ms-success-bg: #dcfce7;  --ms-success-text: #15803d;  --ms-success-border: #86efac;  --ms-success: #22a35a;
  --ms-warning-bg: #fef3c7;  --ms-warning-text: #a14a07;  --ms-warning-border: #fcd34d;  --ms-warning: #e0a10b;
  --ms-danger-bg:  #fee2e2;  --ms-danger-text:  #b91c1c;  --ms-danger-border:  #fca5a5;  --ms-danger: #dc3b3b;
  --ms-info-bg:    #e0f2fe;  --ms-info-text:    #0369a1;  --ms-info-border:    #7dd3fc;  --ms-info: #0ea5e9;

  --ms-status-pending-bg: var(--ms-bg-subtle);   --ms-status-pending-text: var(--ms-text-muted);
  --ms-status-review-bg: var(--ms-warning-bg);   --ms-status-review-text: var(--ms-warning-text);
  --ms-status-stored-bg: var(--ms-success-bg); --ms-status-stored-text: var(--ms-success-text);
  --ms-status-approved-bg: var(--ms-primary-50);    --ms-status-approved-text: var(--ms-primary-600);
  --ms-status-rejected-bg: var(--ms-danger-bg);  --ms-status-rejected-text: var(--ms-danger-text);

  /* High confidence styling starts at 80%; reviewBelow and bulk-review eligibility are configured separately. */
  --ms-conf-high: #22a35a;  --ms-conf-high-bg: #dcfce7;  --ms-conf-high-text: #15803d;
  --ms-conf-mid:  #e0a10b;  --ms-conf-mid-bg:  #fef3c7;  --ms-conf-mid-text:  #a14a07;
  --ms-conf-low:  #dc3b3b;  --ms-conf-low-bg:  #fee2e2;  --ms-conf-low-text:  #b91c1c;

  --ms-sex-f: #c2417a;  --ms-sex-f-bg: #fce7f1;
  --ms-sex-m: #2f6fd0;  --ms-sex-m-bg: #e3edfc;
  --ms-sex-u: #818b97;  --ms-sex-u-bg: #edf0f3;

  /* Stable species colours follow the prefix-to-slot mapping in resources/js/species.js. */
  --ms-sp-1: #167895;   
  --ms-sp-2: #98c93c;   
  --ms-sp-3: #e07b39;   
  --ms-sp-4: #7b5cc4;   
  --ms-sp-5: #d14d72;   
  --ms-sp-6: #2f9e8f;   
  --ms-sp-7: #c9a227;   
  --ms-sp-8: #4a6fd1;   
  --ms-sp-9: #8a5a44;   
  --ms-sp-10: #5f7f2a;  
  --ms-sp-11: #a35fb0;  
  --ms-sp-other: #9aaab0;

  --ms-font-display: "Manrope", "Segoe UI", system-ui, sans-serif;
  --ms-font-body: "DM Sans", "Segoe UI", system-ui, sans-serif;
  --ms-font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;

  --ms-fs-display: 28px;   
  --ms-fs-h1: 22px;
  --ms-fs-h2: 18px;
  --ms-fs-h3: 15px;
  --ms-fs-body: 14px;
  --ms-fs-sm: 12.5px;
  --ms-fs-xs: 11.5px;
  --ms-fs-label: 10.5px;   
  --ms-fs-kpi: 30px;

  --ms-lh-tight: 1.2;
  --ms-lh-body: 1.5;

  --ms-space-1: 4px;
  --ms-space-2: 8px;
  --ms-space-3: 12px;
  --ms-space-4: 16px;
  --ms-space-5: 20px;
  --ms-space-6: 24px;
  --ms-space-8: 32px;
  --ms-space-10: 40px;
  --ms-space-12: 48px;

  --ms-radius-xs: 4px;
  --ms-radius-sm: 6px;
  --ms-radius-md: 10px;
  --ms-radius-lg: 14px;
  --ms-radius-pill: 9999px;

  --ms-shadow-xs: 0 1px 2px rgba(27, 36, 48, 0.04);
  --ms-shadow-sm: 0 2px 6px rgba(27, 36, 48, 0.05);
  --ms-shadow-md: 0 6px 18px rgba(27, 36, 48, 0.07);
  --ms-shadow-lg: 0 14px 34px rgba(27, 36, 48, 0.11);
  --ms-shadow-xl: 0 24px 60px rgba(27, 36, 48, 0.18);
  --ms-shadow-sidebar: 4px 0 24px rgba(27, 36, 48, 0.08);
  --ms-focus-ring: 0 0 0 3px var(--ms-primary-glow);

  --ms-sidebar-w: 264px;
  --ms-sidebar-w-collapsed: 72px;
  --ms-topbar-h: 64px;
  --ms-content-max: 1440px;
  --ms-gutter: 28px;
  --ms-gutter-sm: 16px;

  --ms-z-sticky: 50;
  --ms-z-topbar: 900;
  --ms-z-sidebar: 1000;
  --ms-z-dropdown: 1100;
  --ms-z-drawer: 1200;
  --ms-z-modal: 1300;
  --ms-z-toast: 1400;
  --ms-z-tooltip: 1500;

  --ms-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ms-dur-fast: 0.15s;
  --ms-dur-base: 0.25s;
  --ms-dur-slow: 0.4s;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --ms-dur-fast: 0s;
    --ms-dur-base: 0s;
    --ms-dur-slow: 0s;
  }
}
