.ew-auth-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 20px;
  background:
    radial-gradient(circle at 50% -10%, rgba(245, 197, 66, 0.2), transparent 34%),
    radial-gradient(circle at 10% 90%, rgba(37, 99, 235, 0.16), transparent 36%),
    #0a0e1a;
  color: #eef2ff;
  font-family: Tahoma, Arial, sans-serif;
}

.ew-auth-card {
  width: min(100%, 430px);
  border: 1px solid rgba(245, 197, 66, 0.32);
  border-radius: 24px;
  padding: 24px;
  background: rgba(18, 26, 46, 0.97);
  box-shadow: 0 28px 85px rgba(0, 0, 0, 0.48);
}

.ew-auth-brand { text-align: center; }
.ew-auth-brand-icon { font-size: 46px; filter: drop-shadow(0 8px 18px rgba(245, 197, 66, 0.22)); }
.ew-auth-brand h1 { margin: 7px 0 5px; color: #f5c542; font-size: 22px; }
.ew-auth-brand p { margin: 0; color: #94a3b8; font-size: 12px; line-height: 1.9; }

.ew-auth-legacy {
  margin-top: 16px;
  padding: 12px;
  border: 1px solid rgba(52, 211, 153, 0.3);
  border-radius: 13px;
  background: rgba(6, 78, 59, 0.28);
  color: #d1fae5;
  font-size: 11px;
  line-height: 1.9;
}
.ew-auth-legacy strong { color: #6ee7b7; }

.ew-auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin: 18px 0 15px;
  padding: 5px;
  border-radius: 13px;
  background: #0a1020;
}
.ew-auth-tab {
  border: 0;
  border-radius: 9px;
  padding: 9px 8px;
  background: transparent;
  color: #94a3b8;
  font: 700 12px Tahoma, Arial, sans-serif;
  cursor: pointer;
}
.ew-auth-tab.is-active { color: #211802; background: #f5c542; }

.ew-auth-form { display: grid; gap: 12px; }
.ew-auth-form[hidden] { display: none !important; }
.ew-auth-field { display: grid; gap: 7px; color: #aebbd0; font-size: 11px; text-align: right; }
.ew-auth-field input {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 11px 12px;
  outline: none;
  background: #0a1020;
  color: #fff;
  font: 13px Tahoma, Arial, sans-serif;
  direction: ltr;
  text-align: left;
}
.ew-auth-field input:focus {
  border-color: rgba(245, 197, 66, 0.68);
  box-shadow: 0 0 0 3px rgba(245, 197, 66, 0.08);
}
.ew-auth-hint { color: #64748b; font-size: 10px; line-height: 1.75; }
.ew-auth-submit {
  width: 100%;
  border: 0;
  border-radius: 12px;
  padding: 12px;
  background: linear-gradient(135deg, #fbe58f, #d9a719);
  color: #211802;
  font: 800 13px Tahoma, Arial, sans-serif;
  cursor: pointer;
}
.ew-auth-submit:disabled { cursor: wait; opacity: 0.6; }
.ew-auth-error {
  min-height: 20px;
  margin: 1px 0 0;
  color: #fda4af;
  font-size: 11px;
  line-height: 1.8;
  text-align: center;
}
.ew-auth-note {
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: #64748b;
  font-size: 10px;
  line-height: 1.8;
  text-align: center;
}
.ew-auth-loading { text-align: center; color: #cbd5e1; font-size: 12px; line-height: 2; }
.ew-auth-spinner {
  width: 38px;
  height: 38px;
  margin: 0 auto 11px;
  border: 3px solid rgba(245, 197, 66, 0.18);
  border-top-color: #f5c542;
  border-radius: 50%;
  animation: ew-auth-spin 0.8s linear infinite;
}
@keyframes ew-auth-spin { to { transform: rotate(360deg); } }

@media (max-width: 480px) {
  .ew-auth-shell { place-items: start center; padding: max(18px, env(safe-area-inset-top)) 12px 20px; }
  .ew-auth-card { border-radius: 20px; padding: 20px 16px; }
}
