:root {
  color-scheme: light;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #233c4b;
  background: #fff;
}

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

.site-header {
  min-height: 82px;
  border-bottom: 1px solid #e1e7ea;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 18px 24px;
}

.site-header img { display: block; width: min(210px, 70vw); height: auto; }
main { max-width: 480px; margin: clamp(28px, 9vh, 88px) auto 48px; padding: 0 16px; }

.login-card {
  padding: clamp(22px, 6vw, 36px);
  border: 1px solid #d5e2e9;
  border-radius: 22px;
  box-shadow: 0 12px 34px #173b3910;
}

h1 { font-size: clamp(1.48rem, 6vw, 2rem); letter-spacing: -0.035em; margin: 0 0 24px; }
form { display: grid; }
label { font-weight: 650; margin-bottom: 7px; }

input, button {
  width: 100%;
  min-height: 52px;
  padding: 12px 14px;
  border-radius: 12px;
  font: inherit;
}

input { border: 1px solid #aabdca; color: inherit; background: #f8fafb; margin-bottom: 16px; }
button { border: 0; background: #3e708c; color: #fff; font-weight: 700; cursor: pointer; margin-top: 6px; }
button:hover { background: #345d76; }
:focus-visible { outline: 3px solid #4c7c98; outline-offset: 3px; }
.error { padding: 12px; border-radius: 10px; color: #822038; background: #fceef2; }
.status { margin: 0; }
