body {
  font-family: var(--font-main);
  margin: 0;
  padding: var(--space-6);
  background: var(--bg);
  color: var(--text);
}

.card {
  max-width: 420px;
  margin: 48px auto;
  background: var(--surface);
  border: var(--border-width) solid var(--light);
  border-radius: var(--radius-md);
  padding: var(--space-5);
}

h1 { margin-top: 0; font-size: 20px; }
label { display: block; margin: 12px 0 6px; font-size: 14px; color: var(--text); }
input { width: 100%; padding: 10px; box-sizing: border-box; background: var(--surface-2); border: var(--border-width) solid var(--light); color: var(--text); border-radius: var(--radius-sm); }
button { margin-top: 14px; width: 100%; padding: 10px; cursor: pointer; background: var(--surface-2); border: var(--border-width) solid var(--light); color: var(--text); border-radius: var(--radius-sm); }
button:hover { border-color: var(--primary); }
.hidden { display: none; }
.error { color: var(--danger); margin-top: 10px; font-size: 14px; }
.ok { color: var(--success); margin-top: 10px; font-size: 14px; }
.captcha-row { display: flex; gap: 0; margin-top: 8px; width: 270px; overflow: hidden; border-radius: var(--radius-sm); }
.captcha-seg { border: 0; padding: 0; margin: 0; background: #090714; }
.captcha-seg img {
  width: 90px;
  height: 80px;
  display: block;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
.muted { color: var(--text-muted); font-size: 12px; }
