.auth-pending .shell,
.auth-pending #toast { visibility: hidden; }

.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  min-height: 100dvh;
  padding: 24px;
  background: #f6efe3;
  color: #18201d;
}

.auth-card {
  width: min(100%, 430px);
  padding: 30px;
  border: 1px solid #dfd1bc;
  border-radius: 24px;
  background: #fffaf2;
  box-shadow: 0 18px 55px rgba(48,39,27,.12);
}

.auth-card h1 { margin: 0; font-family: Georgia,serif; font-size: 2rem; }
.auth-card h2 { margin: 28px 0 18px; font-size: 1.2rem; }
.auth-eyebrow { margin: 0 0 5px; color: #ad6c24; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.auth-signature { margin: 4px 0 0; color: #7d6a52; font-size: .9rem; }
.auth-card label { display: block; margin-top: 15px; font-weight: 700; }
.auth-card input { box-sizing: border-box; width: 100%; margin-top: 7px; padding: 14px; border: 1px solid #cdbda6; border-radius: 12px; background: white; color: #18201d; font: inherit; }
.auth-card input:focus { border-color: #2f654f; outline: 3px solid rgba(47,101,79,.15); }
.auth-card button { width: 100%; margin-top: 8px; padding: 15px; border: 0; border-radius: 14px; background: #2f654f; color: white; font: inherit; font-weight: 800; cursor: pointer; }
.auth-card button:disabled { cursor: wait; opacity: .65; }
.auth-error { min-height: 1.35em; margin: 13px 0 4px; color: #9b2f28; font-size: .9rem; }
.auth-user { position: fixed; z-index: 60; top: 14px; right: 74px; display: flex; align-items: center; gap: 8px; font-size: .78rem; }
.auth-user span { max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.auth-user button { padding: 7px 9px; border: 1px solid #cdbda6; border-radius: 10px; background: transparent; color: inherit; cursor: pointer; }

@media (max-width: 600px) {
  .auth-card { padding: 24px 20px; border-radius: 20px; }
  .auth-user span { display: none; }
}
