:root { color-scheme: dark; }
* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: #0f1115; color: #e8e8ee;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  padding: 16px;
}
.card {
  width: 100%; max-width: 360px; background: #171a21; border: 1px solid #262a33;
  border-radius: 14px; padding: 28px 24px; box-shadow: 0 10px 30px rgba(0,0,0,.4);
}
h1 { margin: 0 0 4px; font-size: 24px; }
.sub { margin: 0 0 20px; color: #9aa0ab; font-size: 14px; }
label { display: block; font-size: 13px; color: #9aa0ab; margin: 14px 0 6px; }
input {
  width: 100%; padding: 10px 12px; border-radius: 8px; border: 1px solid #2d323d;
  background: #0f1115; color: #e8e8ee; font-size: 15px;
}
input:focus { outline: 2px solid #4a7dff; }
.password-row { display: flex; gap: 8px; }
.password-row input { flex: 1; }
.password-row button {
  margin-top: 0; width: auto; padding: 0 12px; border-radius: 8px; border: 1px solid #2d323d;
  background: #0f1115; color: #9aa0ab; font-size: 13px; font-weight: 600; cursor: pointer;
}
.password-row button:active { transform: translateY(1px); }
button {
  width: 100%; margin-top: 20px; padding: 11px; border-radius: 8px; border: none;
  background: #4a7dff; color: white; font-size: 15px; font-weight: 600; cursor: pointer;
}
button:active { transform: translateY(1px); }
.error { color: #ff6b6b; font-size: 13px; margin-top: 12px; }
