*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --font-size-tiny: 0.72rem;
  --font-size-label: 0.8rem;
  --font-size-body-sm: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #1f2937;
  background: #f5f6fa;
}

body { margin: 0; min-height: 100vh; background: #f5f6fa; }

button { font-family: inherit; cursor: pointer; }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  border: none; border-radius: 6px; font-weight: 500; cursor: pointer;
  transition: background 0.15s, opacity 0.15s;
}
.btn-primary { background: #2563eb; color: white; }
.btn-primary:hover { background: #1d4ed8; }
.btn-primary:disabled { background: #93c5fd; cursor: not-allowed; }
.btn-secondary { background: #f3f4f6; color: #374151; border: 1px solid #d1d5db; }
.btn-secondary:hover { background: #e5e7eb; }
.btn-secondary:disabled { opacity: 0.5; cursor: not-allowed; }
.btn-sm { padding: 6px 14px; font-size: 0.82rem; }
.btn-md { padding: 8px 18px; font-size: 0.875rem; }
