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

:root {
  --color-bg: #f3f4f6;
  --color-surface: #ffffff;
  --color-surface-muted: #f8fafc;
  --color-border: #d8dee6;
  --color-text: #18212f;
  --color-text-muted: #5b6472;
  --color-primary: #2563eb;
  --color-primary-strong: #1d4ed8;
  --color-danger: #dc2626;
  --color-danger-bg: #fef2f2;
  --color-success: #059669;
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 24px;
  --shadow-card: 0 20px 50px rgba(15, 23, 42, 0.08);
  --shadow-soft: 0 8px 24px rgba(37, 99, 235, 0.12);
}

html {
  font-size: 16px;
}

body {
  margin: 0;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background: linear-gradient(180deg, #eef2ff 0%, var(--color-bg) 100%);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  font: inherit;
}

a {
  color: inherit;
}

.hidden {
  display: none !important;
}
