/* Auth — t-shopping.store palette */

.auth-page {
  --ink: #121212;
  --cyan: #3bb5d4;
  --magenta: #f0357a;
  --muted: #6b7280;
  background: #fff8fa !important;
}

.auth-page .app-root {
  background: transparent !important;
  max-width: 480px;
}

.auth-page .auth-shell {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 88% -10%, rgba(240, 53, 122, 0.18), transparent 42%),
    radial-gradient(circle at 8% 110%, rgba(59, 181, 212, 0.16), transparent 44%),
    linear-gradient(180deg, #fff8fa 0%, #ffffff 55%, #f4f5f8 100%) !important;
}

.auth-page .auth-shell::before,
.auth-page .auth-shell::after {
  content: none !important;
  display: none !important;
}

.auth-page .auth-gate,
.auth-page .auth-form-page {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 16px 32px;
}

.auth-page .auth-gate-card,
.auth-page .auth-form-card {
  position: relative;
  width: min(100%, 400px);
  padding: 28px 22px 22px;
  overflow: hidden;
  background: #fff !important;
  border: 0 !important;
  border-radius: 24px !important;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: none !important;
}

.auth-page .auth-gate-card::before,
.auth-page .auth-form-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  width: auto;
  padding: 0;
  background: var(--magenta);
  transform: none;
  font-size: 0;
}

.auth-page .auth-gate-brand,
.auth-page .auth-form-head {
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 0 !important;
  border: 0 !important;
}

.auth-page .auth-gate-brand::after,
.auth-page .auth-form-divider,
.auth-page .auth-gate-divider {
  display: block;
  width: 48px;
  height: 3px;
  margin: 14px auto 0;
  border-radius: 99px;
  background: var(--magenta);
  content: "";
}

.auth-page .auth-gate-logo,
.auth-page .auth-form-logo,
.auth-page .gm-logo-wrap {
  display: flex !important;
  justify-content: center;
  background: transparent !important;
}

.auth-page .auth-gate-logo-box,
.auth-page .auth-form-logo-box,
.auth-page .gm-logo-box {
  display: inline-flex !important;
  padding: 8px !important;
  background: #fff !important;
  border: 1px solid #eef1f6 !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 24px rgba(20, 22, 28, 0.08) !important;
  width: auto !important;
  height: auto !important;
}

.auth-page .gm-logo-img--auth-gate {
  width: 84px !important;
  height: 84px !important;
  margin: 0 !important;
  object-fit: contain;
  filter: none !important;
}

.auth-page .gm-logo-img--auth-form {
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
  object-fit: contain;
  filter: none !important;
}

.auth-page .auth-gate-title,
.auth-page .auth-welcome-title {
  margin: 14px 0 8px !important;
  font-size: clamp(22px, 6vw, 26px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: var(--ink) !important;
  line-height: 1.25 !important;
  font-family: inherit !important;
}

.auth-page .auth-gate-tagline,
.auth-page .auth-welcome {
  margin: 0 auto !important;
  max-width: 300px;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--muted) !important;
  line-height: 1.55 !important;
}

.auth-page .nx-auth-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 18px 0 20px;
}

.auth-page .nx-auth-stats div {
  text-align: center;
  padding: 10px 6px;
  background: #f6f7fb;
  border: 0;
  border-radius: 14px;
}

.auth-page .nx-auth-stats b {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: var(--ink);
}

.auth-page .nx-auth-stats span {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
}

.auth-page .auth-gate-actions {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.auth-page .auth-btn-primary,
.auth-page .auth-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  border: 0 !important;
  border-radius: 999px !important;
  font: 800 15px/1 inherit !important;
  letter-spacing: 0.02em !important;
  color: #fff !important;
  text-decoration: none;
  cursor: pointer;
  background: #F0357A !important;
  box-shadow: 0 12px 24px rgba(240, 53, 122, 0.28) !important;
}

.auth-page .auth-btn-outline {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  border: 1.5px solid rgba(240, 53, 122, 0.45) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #14161c !important;
  font: 700 14px/1 inherit !important;
  text-decoration: none;
  box-shadow: none;
}

.auth-page .auth-form { display: grid; gap: 10px; }

.auth-page .auth-field {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  padding: 0 14px;
  background: #f6f7fb !important;
  border: 1px solid transparent !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.auth-page .auth-field:focus-within {
  background: #fff !important;
  border-color: rgba(240, 53, 122, 0.35) !important;
  box-shadow: 0 0 0 4px rgba(240, 53, 122, 0.08) !important;
}

.auth-page .auth-field .fi { color: #9aa0b4; width: 16px; text-align: center; }

.auth-page .auth-field input {
  flex: 1;
  min-width: 0;
  border: 0 !important;
  outline: none;
  background: transparent !important;
  font: 500 15px/1.4 inherit !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

.auth-page .auth-field input::placeholder {
  color: #9aa0b4 !important;
  font-weight: 400 !important;
}

.auth-page .auth-eye {
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.auth-page .auth-links {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px !important;
}

.auth-page .auth-links a {
  color: var(--muted) !important;
  text-decoration: none;
  font-weight: 500 !important;
}

.auth-page .auth-links a span,
.auth-page .auth-links a:hover {
  color: var(--magenta) !important;
  font-weight: 700 !important;
}

.auth-page .auth-alert.err {
  margin-bottom: 12px;
  padding: 10px 12px;
  background: #fff0f5;
  color: #9a3412;
  border: 0;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 600;
}

.auth-page .auth-back {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  width: 42px;
  height: 42px;
  margin: 0 !important;
  display: grid;
  place-items: center;
  color: #121212 !important;
  background: #fff !important;
  border: 1px solid #eceef2 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  text-decoration: none;
}

.auth-page .auth-gate-utils {
  display: grid;
  grid-template-columns: 1fr 1.45fr;
  gap: 8px;
}

.auth-page .auth-gate-util {
  width: 100%;
  min-height: 42px;
  padding: 8px 10px !important;
  border: 1px solid #eef1f6 !important;
  border-radius: 14px !important;
  background: #f6f7fb !important;
  color: #3b3f4a !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer;
}

.auth-page .auth-gate-util i { color: var(--magenta) !important; }

.auth-page .auth-privacy-modal {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: end center;
  background: rgba(20, 22, 28, 0.55);
}
.auth-page .auth-privacy-modal[hidden] { display: none !important; }

.auth-page .auth-privacy-sheet {
  width: min(100%, 480px);
  padding: 18px 18px 28px;
  background: #fff;
  border-top: 0;
  border-radius: 22px 22px 0 0;
}

.auth-page .phone-cc-btn {
  border-right: 1px solid #e8ebf2;
  color: var(--ink);
}
