:root {
  --bg: #f4f4f5;
  --surface: #ffffff;
  --border: #e4e4e7;
  --text: #18181b;
  --text-muted: #71717a;
  --danger: #dc2626;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: var(--bg);
  color: var(--text);
  font: 15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}

.card {
  width: min(360px, calc(100vw - 32px));
  padding: 24px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.card h1 { margin: 0 0 16px; font-size: 20px; }
.card small { color: var(--text-muted); font-weight: 400; }

label { display: grid; gap: 4px; margin-bottom: 12px; font-size: 13px; }

input {
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font: inherit;
}

button {
  padding: 8px 14px;
  border: 0;
  border-radius: 8px;
  background: var(--text);
  color: var(--surface);
  font: inherit;
  cursor: pointer;
}

.muted { color: var(--text-muted); font-size: 13px; }
.error { min-height: 1em; margin: 0 0 12px; color: var(--danger); font-size: 13px; }
