.login-main {
  min-height: calc(100vh - 68px);
  display: grid;
  place-items: center;
  padding: 52px 18px;
}
.login-card {
  width: min(480px, 100%);
  padding: 42px;
  border: 1px solid var(--line);
  background: var(--panel);
}
.login-card h1 { margin: 12px 0 14px; font-size: 38px; letter-spacing: -.045em; }
.login-copy { margin: 0 0 28px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.google-login {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  border-radius: 4px;
  background: #fff;
  color: #17202a;
  font-weight: 700;
  text-decoration: none;
}
.google-login:hover { background: #eef3f7; }
.google-login.disabled { cursor: not-allowed; opacity: .45; }
.google-mark { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #d5dbe0; border-radius: 50%; color: #4285f4; font-weight: 800; }
.login-status, .login-note { color: var(--muted); font-size: 11px; line-height: 1.6; text-align: center; }
.configuration { margin-top: 26px; padding: 18px; border-left: 2px solid var(--amber); background: #17150f; }
.configuration.hidden { display: none; }
.configuration p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.configuration code { display: block; line-height: 1.8; }
.login-note { margin: 24px 0 0; }
@media (max-width: 760px) {
  .login-card { padding: 28px; }
  .login-card h1 { font-size: 32px; }
}
