/* RWD Login — mobile-first, ธีมเดียวกับ sales_dashboard */
.rwd-login-page {
  min-height: 100dvh;
  overflow: hidden;
}

.rwd-login {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  padding:
    calc(1rem + env(safe-area-inset-top, 0px))
    1rem
    calc(1rem + env(safe-area-inset-bottom, 0px));
}

.rwd-login__bg {
  display: none;
}

.rwd-login {
  position: relative;
  z-index: 1;
}

.rwd-login__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.rwd-login__brand {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  min-width: 0;
}

.rwd-login__eyebrow {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--loading-spin, #f97316);
}

.rwd-login__tag {
  margin: 0.125rem 0 0;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--color-on-surface, #1e293b);
}

.rwd-login__main {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 26rem;
  margin: 0 auto;
}

.rwd-login__card {
  width: 100%;
  padding: 1.375rem 1.25rem 1.5rem;
  border-radius: var(--rwd-radius-lg, 1.5rem);
  background: var(--color-surface-bright, #fff);
  border: 1px solid var(--color-outline-variant, #d7edf2);
  box-shadow: var(--shadow-soft, 0 8px 32px -8px rgba(15, 23, 42, 0.12));
}

.rwd-login__card::before {
  content: "";
  display: block;
  width: 3rem;
  height: 3px;
  margin: 0 auto 1.125rem;
  border-radius: 999px;
  background: linear-gradient(
    135deg,
    var(--sidebar-gradient-from, #0891b2),
    var(--sidebar-gradient-to, #ea580c)
  );
}

.rwd-login__welcome {
  margin: 0;
  font-family: "Brush Script MT", "Segoe Script", cursive;
  font-size: 2.25rem;
  line-height: 1;
  color: var(--color-primary, #0891b2);
  transform: rotate(-3deg);
}

.rwd-login__copy h1 {
  margin: 0.375rem 0 0;
  font-size: 1.625rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--color-on-surface, #1e293b);
}

.rwd-login__sub {
  margin: 0.375rem 0 0;
  font-size: 0.8125rem;
  color: var(--color-on-surface-variant, #64748b);
}

.rwd-login__form {
  margin-top: 1.25rem;
}

.rwd-login__form .rwd-field {
  margin-bottom: 0.875rem;
}

.rwd-login__form .rwd-field input {
  min-height: 2.875rem;
  font-size: 1rem;
  font-weight: 600;
}

.rwd-login__message {
  min-height: 1.125rem;
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-on-surface-variant, #64748b);
}

.rwd-login__message--error {
  color: #dc2626;
}

.rwd-login__message--success {
  color: #059669;
}

.rwd-login__message.hidden,
.rwd-login__form .hidden {
  display: none !important;
}

.rwd-login__submit {
  width: 100%;
  min-height: 3rem;
  margin-top: 0.25rem;
  font-size: 0.9375rem;
}

.rwd-login__ms.hidden {
  display: none !important;
}

.rwd-login__divider {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0.9rem 0 0.75rem;
  color: var(--color-on-surface-variant, #64748b);
  font-size: 0.75rem;
  font-weight: 700;
}

.rwd-login__divider::before,
.rwd-login__divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--color-outline-variant, #d7edf2);
}

.rwd-login__ms-btn {
  width: 100%;
  min-height: 3rem;
  text-decoration: none;
  background: #fff;
  color: #1f2937;
  border: 1px solid #cbd5e1;
  box-shadow: none;
}

.rwd-login__ms-icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

.rwd-login__foot {
  margin-top: 1.25rem;
  text-align: center;
}

.rwd-login__alt {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.875rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-primary, #0891b2);
  text-decoration: none;
  background: var(--color-surface-container-low, #e0f7fb);
  border: 1px solid var(--color-outline-variant, #d7edf2);
}

.rwd-login__alt:active {
  transform: scale(0.98);
}

@media (min-width: 480px) {
  .rwd-login__card {
    padding: 1.75rem 1.5rem 1.875rem;
  }

  .rwd-login__welcome {
    font-size: 2.75rem;
  }

  .rwd-login__copy h1 {
    font-size: 1.875rem;
  }
}
