/* M18Shop login / register / password pages, polish v2 (2026-11-05). Scoped to html.m18-polish. */
html.m18-polish {
  --p-bg: #f4f3f1; --p-card: #fff; --p-ink: #161616; --p-text: #3a3a3a; --p-muted: #6f6f6f; --p-soft: #9a9a9a;
  --p-line: #e7e5e1; --p-line-strong: #d4d2cd; --p-fill: #f6f5f3; --p-ring: rgba(22, 22, 22, .08); --p-fast: .15s ease;
}
html.m18-polish body {
  background: var(--p-bg) !important;
  background-image: none !important;
  color: var(--p-ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  -webkit-font-smoothing: antialiased;
}
html.m18-polish .auth-wrapper { background: transparent !important; }
html.m18-polish .auth-wrapper::before,
html.m18-polish .auth-wrapper::after { display: none !important; }
html.m18-polish .auth-card {
  max-width: 420px;
  padding: 36px 32px !important;
  background: var(--p-card) !important;
  border: 1px solid var(--p-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 1px 2px rgba(20, 20, 20, .04), 0 12px 40px rgba(20, 20, 20, .05) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  color: var(--p-text) !important;
}
html.m18-polish .brand-header { margin-bottom: 1.25rem; }
html.m18-polish .brand-icon { width: 56px; height: 56px; border-radius: 14px; box-shadow: 0 0 0 1px var(--p-line) !important; transform: none !important; }
html.m18-polish .auth-title { color: var(--p-ink) !important; font-weight: 600 !important; letter-spacing: -.02em; }
html.m18-polish .auth-subtitle { color: var(--p-muted) !important; text-align: center; font-size: 14px !important; }

html.m18-polish .form-floating > .form-control,
html.m18-polish .form-control {
  background: #fff !important;
  border: 1px solid var(--p-line-strong) !important;
  border-radius: 12px !important;
  color: var(--p-ink) !important;
  box-shadow: none !important;
  transition: border-color var(--p-fast), box-shadow var(--p-fast);
}
html.m18-polish .form-floating > .form-control:focus,
html.m18-polish .form-control:focus { border-color: var(--p-ink) !important; box-shadow: 0 0 0 3px var(--p-ring) !important; }
html.m18-polish .form-floating > label { color: var(--p-soft) !important; }
html.m18-polish .form-floating > .form-control:focus ~ label,
html.m18-polish .form-floating > .form-control:not(:placeholder-shown) ~ label { color: var(--p-muted) !important; }
html.m18-polish .form-floating > label::after { background: transparent !important; }

html.m18-polish .btn-gradient {
  background: var(--p-ink) !important;
  background-image: none !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
  transition: background-color var(--p-fast);
}
html.m18-polish .btn-gradient:hover { background: #333 !important; }
html.m18-polish .btn-ghost { border: 1px solid var(--p-line-strong) !important; border-radius: 999px !important; color: var(--p-ink) !important; }
html.m18-polish .btn-ghost:hover { background: var(--p-fill) !important; color: var(--p-ink) !important; }

html.m18-polish .text-link { color: var(--p-ink) !important; font-weight: 500; text-decoration: underline !important; text-underline-offset: 3px; text-decoration-color: var(--p-line-strong) !important; }
html.m18-polish .text-link:hover { text-decoration-color: var(--p-ink) !important; }
html.m18-polish .divider { color: var(--p-soft) !important; }
html.m18-polish .divider::before,
html.m18-polish .divider::after { background: var(--p-line) !important; }

html.m18-polish .form-check { color: var(--p-muted) !important; }
html.m18-polish .form-check label:hover { color: var(--p-ink) !important; }
html.m18-polish .form-check input[type=checkbox] { border: 1.5px solid var(--p-line-strong) !important; background: #fff !important; box-shadow: none !important; }
html.m18-polish .form-check input[type=checkbox]:checked { background: var(--p-ink) !important; border-color: var(--p-ink) !important; }
html.m18-polish .image-code,
html.m18-polish .prompt-image-code { border: 1px solid var(--p-line-strong) !important; border-radius: 12px !important; opacity: 1 !important; margin-left: 0 !important; }

/* v2: secondary buttons (send code) and the slider handle in ink, not blue */
html.m18-polish .btn-outline-primary {
  color: var(--p-ink) !important;
  background: #fff !important;
  border: 1px solid var(--p-line-strong) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
html.m18-polish .btn-outline-primary:hover,
html.m18-polish .btn-outline-primary:focus { color: var(--p-ink) !important; background: var(--p-fill) !important; }
html.m18-polish .btn-outline-primary:disabled { color: var(--p-soft) !important; }
html.m18-polish .register-slider__handle { color: var(--p-ink) !important; }
