:root {
  /* Couleurs SNSM */
  --color-primary:       #003189;
  --color-primary-dark:  #002070;
  --color-primary-light: #1a4ba8;
  --color-accent:        #F47920;
  --color-accent-hover:  #d96510;
  --color-white:         #FFFFFF;
  --color-bg:            #F4F6F9;
  --color-bg-card:       #FFFFFF;
  --color-text:          #1A1A2E;
  --color-text-muted:    #6B7280;
  --color-text-light:    #9CA3AF;
  --color-danger:        #D32F2F;
  --color-danger-light:  #FFEBEE;
  --color-success:       #2E7D32;
  --color-success-light: #E8F5E9;
  --color-warning:       #F57F17;
  --color-warning-light: #FFFDE7;
  --color-info:          #0277BD;
  --color-info-light:    #E1F5FE;
  --color-border:        #DDE3EC;
  --color-border-focus:  #003189;

  /* Maintenance / statuts */
  --color-maintenance:   #F47920;
  --color-emprunte:      #D32F2F;
  --color-disponible:    #2E7D32;

  /* Sidebar */
  --sidebar-width:       260px;
  --sidebar-bg:          #002070;
  --sidebar-text:        rgba(255,255,255,0.85);
  --sidebar-text-active: #FFFFFF;
  --sidebar-hover:       rgba(255,255,255,0.08);
  --sidebar-active:      rgba(244,121,32,0.25);
  --sidebar-accent:      #F47920;

  /* Typographie */
  --font-sans: 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Mono', monospace;

  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-lg:   18px;
  --text-xl:   20px;
  --text-2xl:  24px;
  --text-3xl:  30px;

  --weight-normal:   400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  /* Espacements */
  --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;

  /* Rayons */
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  12px;
  --radius-xl:  16px;
  --radius-full: 9999px;

  /* Ombres */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md:  0 4px 12px rgba(0,0,0,0.10), 0 2px 4px rgba(0,0,0,0.06);
  --shadow-lg:  0 10px 30px rgba(0,0,0,0.12), 0 4px 8px rgba(0,0,0,0.06);
  --shadow-focus: 0 0 0 3px rgba(0,49,137,0.20);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;

  /* Layout */
  --header-height: 64px;
  --content-max-width: 1200px;
}
