:root { --primary: #1f6feb; --bg: #ffffff; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: var(--bg); font: 16px/1.5 system-ui, sans-serif; color: #1f2328; }
.card { width: 100%; max-width: 380px; padding: 32px; background: #ffffff; border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .12); }
.logo { display: block; max-height: 48px; margin: 0 auto 16px; }
h1 { font-size: 1.25rem; text-align: center; margin: 0 0 24px; }
form { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
label { display: flex; flex-direction: column; gap: 4px; font-size: .875rem; }
input { padding: 8px 10px; font: inherit; border: 1px solid #d0d7de; border-radius: 4px; }
button, .button { display: block; width: 100%; padding: 10px; font: inherit; text-align: center;
  color: #ffffff; background: var(--primary); border: 0; border-radius: 4px; text-decoration: none; cursor: pointer; }
.button + .button { margin-top: 8px; }
.error { color: #cf222e; }
