/* ==========================================================================
   Nurses League — Design tokens
   Layout concept: frosted-glass panels floating over a calm blue-grey ward
   light, a fixed navy-accented sidebar on desktop, bottom tab bar on mobile.
   Every colour, radius, shadow and type size used by the app comes from here.
   ========================================================================== */
:root {
  color-scheme: light;

  /* Brand */
  --nl-blue-700: #0F57BD;
  --nl-blue-600: #1766D4;   /* primary: medical blue */
  --nl-blue-500: #2E7CE6;
  --nl-blue-200: #BCD5F7;
  --nl-blue-100: #E2EDFC;
  --nl-blue-50:  #F1F6FE;
  --nl-navy-900: #0A1B33;   /* secondary: deep navy */
  --nl-navy-800: #12294A;
  --nl-navy-700: #1D3961;

  /* Neutrals (blue-biased) */
  --nl-bg:        #EBF0F6;  /* very light blue-grey */
  --nl-bg-tint-a: #D9E7FA;
  --nl-bg-tint-b: #DDF0EA;
  --nl-text:      #0E2140;  /* dark navy */
  --nl-text-2:    #4E5F78;  /* muted grey */
  --nl-text-3:    #7A889D;
  --nl-hairline:  rgba(14, 33, 64, 0.08);
  --nl-hairline-2:rgba(14, 33, 64, 0.14);

  /* Semantic */
  --nl-success:    #23875C;  /* soft green, AA on white */
  --nl-success-bg: #E1F3EA;
  --nl-warning:    #A9650B;  /* warm amber, AA on white */
  --nl-warning-bg: #FCEFD9;
  --nl-warning-dot:#E8A23A;
  --nl-danger:     #B93A3A;
  --nl-danger-bg:  #FBE6E6;

  /* Pathway accents */
  --nl-nursing:      #1766D4;
  --nl-nursing-bg:   #E2EDFC;
  --nl-midwifery:    #0E8A7B;
  --nl-midwifery-bg: #DDF3EF;

  /* Glass */
  --nl-glass:         rgba(255, 255, 255, 0.66);
  --nl-glass-strong:  rgba(255, 255, 255, 0.84);
  --nl-glass-solid:   #FBFCFE;   /* fallback when backdrop-filter unsupported */
  --nl-glass-border:  rgba(255, 255, 255, 0.85);
  --nl-glass-edge:    rgba(14, 33, 64, 0.06);
  --nl-blur:          18px;

  /* Elevation */
  --nl-shadow-sm: 0 1px 2px rgba(14, 33, 64, 0.05);
  --nl-shadow-md: 0 1px 2px rgba(14, 33, 64, 0.04), 0 10px 28px -12px rgba(14, 33, 64, 0.18);
  --nl-shadow-lg: 0 2px 6px rgba(14, 33, 64, 0.05), 0 24px 48px -20px rgba(14, 33, 64, 0.28);
  --nl-focus: 0 0 0 3px rgba(23, 102, 212, 0.35);

  /* Shape */
  --nl-r-xs: 8px;
  --nl-r-sm: 12px;
  --nl-r-md: 16px;
  --nl-r-lg: 22px;
  --nl-r-pill: 999px;

  /* Spacing (4px scale) */
  --nl-s1: 4px;  --nl-s2: 8px;  --nl-s3: 12px; --nl-s4: 16px;
  --nl-s5: 20px; --nl-s6: 24px; --nl-s8: 32px; --nl-s10: 40px; --nl-s12: 48px;

  /* Type */
  --nl-font-display: "Lexend", "Segoe UI", system-ui, -apple-system, sans-serif;
  --nl-font-body: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --nl-fs-xs: 0.75rem;   /* 12 */
  --nl-fs-sm: 0.8125rem; /* 13 */
  --nl-fs-md: 0.9375rem; /* 15 */
  --nl-fs-lg: 1.0625rem; /* 17 */
  --nl-fs-xl: 1.3125rem; /* 21 */
  --nl-fs-2xl: 1.625rem; /* 26 */
  --nl-fs-3xl: 2rem;     /* 32 */

  /* Layout */
  --nl-sidebar-w: 264px;
  --nl-topbar-h: 64px;
  --nl-bottomnav-h: 64px;
  --nl-content-max: 1240px;

  /* Motion */
  --nl-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --nl-dur: 180ms;
}

@media (prefers-reduced-motion: reduce) {
  :root { --nl-dur: 0ms; }
}
