/* ============================================================
   BASE — Reset, Custom Properties, Typography
   ============================================================ */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  /* Brand */
  --color-primary:       #16a34a;
  --color-primary-dark:  #15803d;
  --color-primary-light: #f0fdf4;
  --color-primary-ring:  rgba(22, 163, 74, 0.15);

  /* Neutrals */
  --color-white:      #ffffff;
  --color-bg:         #f9fafb;
  --color-surface:    #ffffff;
  --color-border:     #e5e7eb;
  --color-border-light: #f3f4f6;

  /* Text */
  --color-text:       #111827;
  --color-text-muted: #6b7280;
  --color-text-faint: #9ca3af;

  /* Status */
  --color-pending:    #d97706;
  --color-pending-bg: #fffbeb;
  --color-reviewing:  #2563eb;
  --color-reviewing-bg: #eff6ff;
  --color-processing: #ea580c;
  --color-processing-bg: #fff7ed;
  --color-completed:  #16a34a;
  --color-completed-bg: #f0fdf4;

  /* Danger */
  --color-danger:     #ef4444;
  --color-danger-bg:  #fef2f2;
  --color-danger-border: #fecaca;

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;

  /* Radius */
  --radius-sm:  0.375rem;
  --radius-md:  0.5rem;
  --radius-lg:  0.75rem;
  --radius-xl:  1rem;
  --radius-2xl: 1.25rem;
  --radius-full: 9999px;

  /* Shadow */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08);

  /* Sidebar */
  --sidebar-width: 240px;

  /* Font */
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  /* Transitions */
  --transition: 150ms ease;
}

html { font-size: 16px; }

body {
  font-family: var(--font-sans);
  background-color: var(--color-bg);
  color: var(--color-text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--color-primary);
  text-decoration: none;
}
a:hover { text-decoration: underline; }

img, svg { display: block; }

button { cursor: pointer; font-family: inherit; }

input, select, textarea {
  font-family: inherit;
  font-size: inherit;
}
