/* Экран входа и выбора ника. Палитра сайта (тёмный red/orange, Inter). */
.auth-overlay {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  background: #090808; font-family: 'Inter', system-ui, sans-serif; color: #f0e8e8;
}
.auth-box {
  width: 360px; max-width: 90vw; background: #0e0b0b;
  border: 1px solid #281818; border-radius: 14px; padding: 28px;
}
/* при отказе доступа прячем всё содержимое страницы (защита от bfcache-просвечивания) */
body.access-denied > *:not(.auth-overlay) { display: none !important; }
.auth-box h2 {
  font-size: 1.3rem; font-weight: 800; margin: 0 0 4px;
  background: linear-gradient(135deg, #dc2626, #f97316);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.auth-sub { color: #7a6868; font-size: .85rem; margin-bottom: 18px; }
.auth-box input {
  width: 100%; background: #160e0e; border: 1px solid #281818;
  border-radius: 9px; padding: 11px 13px; color: #f0e8e8; font: inherit;
  outline: none; margin-bottom: 10px; box-sizing: border-box;
}
.auth-box input:focus { border-color: #dc2626; }
.auth-btn {
  width: 100%; border: none; border-radius: 9px; padding: 12px;
  font: inherit; font-weight: 600; cursor: pointer; margin-top: 4px;
  background: linear-gradient(135deg, #dc2626, #f97316); color: #fff;
}
.auth-btn.google { background: #160e0e; border: 1px solid #281818; color: #f0e8e8; }
.auth-sep { text-align: center; color: #7a6868; font-size: .78rem; margin: 14px 0; }
.auth-link {
  color: #f97316; font-size: .8rem; cursor: pointer; background: none;
  border: none; padding: 0;
}
.auth-err { color: #dc2626; font-size: .82rem; min-height: 18px; margin-top: 8px; }
.role-badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:.72rem; font-weight:600; border:1px solid; line-height:1.4; vertical-align:middle; }
