body.auth-pending > header, body.auth-pending > main,
body.login-required > header, body.login-required > main { visibility: hidden; }
body.authenticated .login-overlay, .login-overlay[hidden] { display: none; }
.login-overlay {
  position: fixed; inset: 0; z-index: 50;
  display: grid; place-items: center; padding: 16px;
  background: var(--surface-0);
}
.login-panel {
  width: min(340px, 100%);
  display: grid; gap: 12px; padding: 20px;
  border: 1px solid var(--border); border-radius: 8px;
  background: var(--surface-1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
}
.login-panel h2 { margin: 0 0 4px; font-size: 18px; line-height: 1.2; }
.login-panel input {
  width: 100%; height: 40px; box-sizing: border-box;
  border: 1px solid var(--border); border-radius: 6px; padding: 8px 10px;
  background: var(--surface-0); color: var(--text-primary); font: inherit;
}
.login-panel button {
  width: 100%; height: 40px; border: 0; border-radius: 6px; font: inherit; cursor: pointer;
  background: var(--accent); color: #fff;
}
.login-panel button:disabled { opacity: 0.6; }
.login-error { min-height: 17px; color: var(--series-trust); font-size: 12px; line-height: 1.35; }
