/* ============================================================
   DESIGN TOKENS — FerruciSegMed SST SaaS
   Fonte canônica de variáveis. Nunca usar valores diretos nas views.
   Modificado: 2026-03-18
   ============================================================ */

/* ── Paleta de Cores ── */
:root {
  /* Primary (Indigo) */
  --color-primary-50:  #eef2ff;
  --color-primary-100: #e0e7ff;
  --color-primary-200: #c7d2fe;
  --color-primary-300: #a5b4fc;
  --color-primary-400: #818cf8;
  --color-primary-500: #6366f1;
  --color-primary-600: #4f46e5;
  --color-primary-700: #4338ca;
  --color-primary-800: #3730a3;
  --color-primary-900: #312e81;

  /* Success (Emerald) */
  --color-success-50:  #ecfdf5;
  --color-success-100: #d1fae5;
  --color-success-500: #10b981;
  --color-success-600: #059669;
  --color-success-700: #047857;

  /* Danger (Red) */
  --color-danger-50:   #fef2f2;
  --color-danger-100:  #fee2e2;
  --color-danger-500:  #ef4444;
  --color-danger-600:  #dc2626;
  --color-danger-700:  #b91c1c;

  /* Warning (Amber) */
  --color-warning-50:  #fffbeb;
  --color-warning-100: #fef3c7;
  --color-warning-500: #f59e0b;
  --color-warning-600: #d97706;

  /* Info (Sky) */
  --color-info-50:     #f0f9ff;
  --color-info-100:    #e0f2fe;
  --color-info-500:    #0ea5e9;
  --color-info-600:    #0284c7;

  /* Neutral (Slate) */
  --color-gray-50:     #f8fafc;
  --color-gray-100:    #f1f5f9;
  --color-gray-200:    #e2e8f0;
  --color-gray-300:    #cbd5e1;
  --color-gray-400:    #94a3b8;
  --color-gray-500:    #64748b;
  --color-gray-600:    #475569;
  --color-gray-700:    #334155;
  --color-gray-800:    #1e293b;
  --color-gray-900:    #0f172a;
  --color-gray-950:    #020617;

  /* ── Tokens Semânticos (Light Mode) ── */
  --color-bg:          #f8fafc;
  --color-bg-card:     #ffffff;
  --color-bg-secondary:#f1f5f9;
  --color-bg-hover:    #f8fafc;
  --color-bg-muted:    #f1f5f9;
  --color-bg-subtle:   #e2e8f0;

  --color-text:        #1e293b;
  --color-text-secondary: #475569;
  --color-text-muted:  #94a3b8;
  --color-text-disabled:#cbd5e1;
  --color-text-label:  #374151;

  --color-border:      #e2e8f0;
  --color-border-input:#cbd5e1;
  --color-divide:      #f1f5f9;

  --color-primary:     var(--color-primary-500);
  --color-primary-hover: var(--color-primary-600);
  --color-success:     var(--color-success-500);
  --color-danger:      var(--color-danger-500);
  --color-warning:     var(--color-warning-500);
  --color-info:        var(--color-info-500);

  /* Aliases de compatibilidade (legado) */
  --primary:           var(--color-primary-500);
  --primary-dark:      var(--color-primary-600);
  --secondary:         var(--color-text-secondary);
  --success:           var(--color-success-500);
  --danger:            var(--color-danger-500);
  --warning:           var(--color-warning-500);
  --info:              var(--color-info-500);
  --bg:                var(--color-bg);
  --bg-card:           var(--color-bg-card);
  --text:              var(--color-text);
  --border:            var(--color-border);

  /* ── Tipografia ── */
  --font-family:       -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono:         'JetBrains Mono', 'Fira Code', 'Courier New', monospace;
  --font-size-xs:      0.75rem;
  --font-size-sm:      0.875rem;
  --font-size-base:    1rem;
  --font-size-lg:      1.125rem;
  --font-size-xl:      1.25rem;
  --font-size-2xl:     1.5rem;
  --font-size-3xl:     1.875rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold:  700;
  --font-weight-extrabold: 800;
  --line-height-tight: 1.25;
  --line-height-base:  1.5;
  --line-height-relaxed: 1.625;

  /* ── Espaçamento ── */
  --spacing-1:  0.25rem;
  --spacing-2:  0.5rem;
  --spacing-3:  0.75rem;
  --spacing-4:  1rem;
  --spacing-5:  1.25rem;
  --spacing-6:  1.5rem;
  --spacing-8:  2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;

  /* ── Border Radius ── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  24px;
  --radius-full: 9999px;

  /* ── Sombras ── */
  --shadow-sm:   0 1px 2px rgba(0,0,0,.05);
  --shadow-md:   0 4px 6px rgba(0,0,0,.07);
  --shadow-lg:   0 10px 15px rgba(0,0,0,.1);
  --shadow-xl:   0 20px 25px rgba(0,0,0,.1);

  /* ── Transições ── */
  --transition-fast:   150ms ease;
  --transition-base:   200ms ease;
  --transition-slow:   300ms ease;

  /* ── Z-index ── */
  --z-dropdown:  100;
  --z-sticky:    200;
  --z-fixed:     300;
  --z-modal:     400;
  --z-toast:     500;
  --z-tooltip:   600;

  /* ── Layout ── */
  --sidebar-width: 220px;
  --header-height: 60px;
  --container:     1200px;
}

/* ── Dark Mode ── */
[data-theme="dark"] {
  --color-bg:          #0f172a;
  --color-bg-card:     #1e293b;
  --color-bg-secondary:#1e293b;
  --color-bg-hover:    #1e293b;
  --color-bg-muted:    #334155;
  --color-bg-subtle:   #334155;

  --color-text:        #e2e8f0;
  --color-text-secondary: #94a3b8;
  --color-text-muted:  #475569;
  --color-text-disabled:#334155;
  --color-text-label:  #cbd5e1;

  --color-border:      #334155;
  --color-border-input:#475569;
  --color-divide:      #1e293b;

  --color-primary:     var(--color-primary-400);
  --color-primary-hover: var(--color-primary-300);

  /* Aliases legado */
  --primary:           var(--color-primary-400);
  --primary-dark:      var(--color-primary-300);
  --secondary:         var(--color-text-secondary);
  --bg:                var(--color-bg);
  --bg-card:           var(--color-bg-card);
  --text:              var(--color-text);
  --border:            var(--color-border);
}
