/* fichaje.eu — design tokens */
:root {
  /* Brand */
  --brand-600: #1E40AF;
  --brand-700: #1E3A8A;
  --brand-500: #2563EB;
  --brand-400: #3B82F6;
  --brand-200: #BFDBFE;
  --brand-100: #DBEAFE;
  --brand-50:  #EFF6FF;

  /* Slate (neutrals) */
  --ink:       #0F172A;
  --slate-800: #1E293B;
  --slate-700: #334155;
  --slate-600: #475569;
  --slate-500: #64748B;
  --slate-400: #94A3B8;
  --slate-300: #CBD5E1;
  --slate-200: #E2E8F0;
  --slate-150: #EAEEF3;
  --slate-100: #F1F5F9;
  --slate-50:  #F8FAFC;
  --paper:     #FBFCFE;
  --white:     #FFFFFF;

  /* Semantic */
  --success-600: #047857;
  --success-500: #10B981;
  --success-100: #D1FAE5;
  --success-50:  #ECFDF5;
  --warning-600: #B45309;
  --warning-500: #F59E0B;
  --warning-100: #FEF3C7;
  --warning-50:  #FFFBEB;
  --danger-600:  #B91C1C;
  --danger-500:  #EF4444;
  --danger-100:  #FEE2E2;
  --danger-50:   #FEF2F2;
  --violet-500:  #8B5CF6;
  --violet-100:  #EDE9FE;
  --teal-500:    #14B8A6;
  --teal-100:    #CCFBF1;
  --pink-500:    #EC4899;
  --pink-100:    #FCE7F3;

  /* Radii */
  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 18px;
  --r-2xl: 22px;
  --r-pill: 999px;

  /* Shadows */
  --shadow-xs: 0 1px 2px rgba(15,23,42,0.04);
  --shadow-sm: 0 1px 2px rgba(15,23,42,0.06), 0 1px 1px rgba(15,23,42,0.04);
  --shadow-md: 0 4px 12px rgba(15,23,42,0.06), 0 1px 2px rgba(15,23,42,0.04);
  --shadow-lg: 0 12px 28px rgba(15,23,42,0.08), 0 2px 6px rgba(15,23,42,0.04);
  --ring-brand: 0 0 0 4px rgba(30,64,175,0.12);

  /* Typography */
  --font-sans: 'Plus Jakarta Sans', ui-sans-serif, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* Theme surfaces (overridden at runtime by theme.js) */
  --sidebar-bg: #FFFFFF;
  --sidebar-border: #EAEEF3;
  --sidebar-fg: #0F172A;
  --sidebar-muted: #64748B;
  --sidebar-item-hover: #F1F5F9;
  --sidebar-active-bg: #DBEAFE;
  --sidebar-active-fg: #1E3A8A;
  --sidebar-divider: #EAEEF3;
  --content-bg: #FBFCFE;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-sans);
  font-feature-settings: 'cv11', 'ss01';
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button { font-family: inherit; cursor: pointer; border: none; background: none; padding: 0; color: inherit; }
input, textarea, select { font-family: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }

/* Scrollbar */
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: var(--slate-200); border-radius: 999px; border: 2px solid transparent; background-clip: content-box; }
*::-webkit-scrollbar-thumb:hover { background: var(--slate-300); background-clip: content-box; border: 2px solid transparent; }

/* Utility */
.mono { font-family: var(--font-mono); font-feature-settings: 'tnum'; }
.tnum { font-variant-numeric: tabular-nums; }
