@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  body {
    @apply bg-page text-ink antialiased;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
  }
}

@layer components {
  /* Badges */
  .badge {
    @apply inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-semibold tracking-wide;
  }
  .badge-success { @apply bg-emerald-100 text-emerald-700; }
  .badge-warning { @apply bg-amber-100 text-amber-700; }
  .badge-danger  { @apply bg-red-100 text-red-700; }
  .badge-info    { @apply bg-brand-100 text-brand-700; }
  .badge-neutral { @apply bg-slate-100 text-slate-600; }

  /* Cards */
  .card {
    @apply bg-surface border border-surface-border rounded-md shadow-sm;
  }

  /* Buttons */
  .btn {
    @apply inline-flex items-center justify-center gap-2 px-4 py-2 rounded text-sm font-semibold transition-all duration-150;
  }
  .btn-primary { @apply bg-brand-500 hover:bg-brand-600 text-white shadow-sm; }
  .btn-danger  { @apply bg-red-500 hover:bg-red-600 text-white shadow-sm; }
  .btn-ghost   { @apply text-ink-muted hover:text-ink hover:bg-surface-muted; }
  .btn-outline { @apply border border-surface-border text-ink-muted hover:text-ink hover:bg-surface-muted; }

  /* Form inputs */
  .input {
    @apply bg-white border border-surface-border rounded px-3 py-2 text-sm text-ink placeholder:text-ink-faint focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 outline-none transition-colors;
  }

  /* Monospace data values */
  .mono {
    @apply font-mono text-xs;
  }

  /* Stat cards with colored top borders */
  .stat-card {
    @apply bg-surface border border-surface-border rounded-md shadow-sm p-5 border-t-4;
  }
}
