/* ============================================================
   Benevolate Platform — Design Tokens (CSS Custom Properties)
   
   Theme system: 
   - Light theme: :root (default)
   - Dark theme:  [data-theme="dark"]
   - Auto-detect: JS checks prefers-color-scheme + time of day
   ============================================================ */

:root {
  /* ── Color Palette ── */
  --color-bg:           #f8fafc;
  --color-bg-elevated:  #ffffff;
  --color-surface:      #ffffff;
  --color-surface-hover:#f1f5f9;
  --color-border:       #e2e8f0;
  --color-border-subtle:#f1f5f9;
  
  /* Text */
  --color-text-primary:   #0f172a;
  --color-text-secondary: #475569;
  --color-text-tertiary:  #94a3b8;
  --color-text-inverse:   #ffffff;
  
  /* Brand */
  --color-primary:        #4f46e5;
  --color-primary-hover:  #4338ca;
  --color-primary-light:  #eef2ff;
  --color-primary-ghost:  rgba(79, 70, 229, 0.08);
  
  /* Accent */
  --color-accent:         #7c3aed;
  --color-accent-hover:   #6d28d9;
  
  /* Status */
  --color-success:        #059669;
  --color-success-light:  #ecfdf5;
  --color-warning:        #d97706;
  --color-warning-light:  #fffbeb;
  --color-danger:         #dc2626;
  --color-danger-light:   #fef2f2;
  --color-info:           #0284c7;
  --color-info-light:     #f0f9ff;
  
  /* ── Sidebar ── */
  --sidebar-width:        260px;
  --sidebar-collapsed:    72px;
  --sidebar-bg:           #ffffff;
  --sidebar-border:       #e2e8f0;
  --sidebar-item-hover:   #f1f5f9;
  --sidebar-item-active:  #eef2ff;
  --sidebar-text:         #334155;
  --sidebar-text-muted:   #94a3b8;
  --sidebar-section-label:#64748b;
  
  /* ── Topbar ── */
  --topbar-height:        56px;
  --topbar-bg:            #ffffff;
  --topbar-border:        #e2e8f0;
  
  /* ── Typography ── */
  --font-family:          'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-size-xs:         11px;
  --font-size-sm:         12px;
  --font-size-base:       13px;
  --font-size-md:         14px;
  --font-size-lg:         16px;
  --font-size-xl:         18px;
  --font-size-2xl:        22px;
  --font-size-3xl:        28px;
  
  /* ── Spacing ── */
  --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;
  
  /* ── Radius ── */
  --radius-sm:   4px;
  --radius-md:   6px;
  --radius-lg:   8px;
  --radius-xl:   12px;
  --radius-2xl:  16px;
  --radius-full: 9999px;
  
  /* ── Shadows ── */
  --shadow-sm:   0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md:   0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-lg:   0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-xl:   0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
  
  /* ── Transitions ── */
  --transition-fast:     150ms ease;
  --transition-base:     200ms ease;
  --transition-slow:     300ms ease;
  
  /* ── Z-index ── */
  --z-sidebar:   100;
  --z-topbar:    200;
  --z-dropdown:  300;
  --z-modal:     400;
  --z-toast:     500;
}

/* ── Dark Theme ── */
[data-theme="dark"] {
  --color-bg:           #0b0f1a;
  --color-bg-elevated:  #111827;
  --color-surface:      #1e293b;
  --color-surface-hover:#283548;
  --color-border:       #334155;
  --color-border-subtle:#1e293b;
  
  --color-text-primary:   #f1f5f9;
  --color-text-secondary: #94a3b8;
  --color-text-tertiary:  #64748b;
  --color-text-inverse:   #0f172a;
  
  --color-primary:        #6366f1;
  --color-primary-hover:  #818cf8;
  --color-primary-light:  rgba(99, 102, 241, 0.15);
  --color-primary-ghost:  rgba(99, 102, 241, 0.08);
  
  --color-accent:         #8b5cf6;
  --color-accent-hover:   #a78bfa;
  
  --color-success-light:  rgba(5, 150, 105, 0.15);
  --color-warning-light:  rgba(217, 119, 6, 0.15);
  --color-danger-light:   rgba(220, 38, 38, 0.15);
  --color-info-light:     rgba(2, 132, 199, 0.15);
  
  --sidebar-bg:           #111827;
  --sidebar-border:       #1e293b;
  --sidebar-item-hover:   #1e293b;
  --sidebar-item-active:  rgba(99, 102, 241, 0.15);
  --sidebar-text:         #cbd5e1;
  --sidebar-text-muted:   #64748b;
  --sidebar-section-label:#64748b;
  
  --topbar-bg:            #111827;
  --topbar-border:        #1e293b;
  
  --shadow-sm:   0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-md:   0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-lg:   0 4px 6px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.2);
  --shadow-xl:   0 10px 15px rgba(0, 0, 0, 0.4), 0 4px 6px rgba(0, 0, 0, 0.2);
}
