/* Shared login and 2FA presentation. Authentication stays in the existing endpoints. */
html body.cmz-auth-page:not(.has-sidebar) {
  background: var(--cmz-ui-bg) !important;
}
body.cmz-auth-page .admin-topbar-simple {
  background: var(--cmz-ui-navy);
  color: #fff;
  border: 0;
  padding: 18px 32px;
}
body.cmz-auth-page .admin-topbar-simple .admin-brand { font-size: 21px; letter-spacing: .02em; }
body.cmz-auth-page .admin-topbar-simple .admin-brand span { color: #8fbaff; }
html body.prodxs-admin-ui.cmz-auth-page .admin-topbar-simple .cmz-logo-cmz { color: #fff !important; }
html body.prodxs-admin-ui.cmz-auth-page .admin-topbar-simple .cmz-logo-pay { color: #8fbaff !important; }
body.cmz-auth-page .admin-topbar-simple .admin-user { color: #c1d0e3; }
body.cmz-auth-page:not(.has-sidebar) .admin-main {
  padding: 44px 24px;
  min-height: calc(100vh - 70px);
  background: transparent !important;
}
body.cmz-auth-page .cmz-login-layout {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  width: min(900px, 100%);
  border: 1px solid var(--cmz-ui-border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(16, 44, 73, .09);
}
body.cmz-auth-page .cmz-login-brand {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px 38px;
  color: #fff;
  background: #102c49;
}
body.cmz-auth-page .cmz-login-mark {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
  color: #fff;
  font-size: 27px;
  font-weight: 700;
  letter-spacing: .02em;
}
body.cmz-auth-page .cmz-login-mark svg { width: 28px; height: 32px; fill: #8db8ff; flex-shrink: 0; }
body.cmz-auth-page .cmz-login-brand h2 { margin: 0 0 10px; color: #fff; font-size: 24px; }
body.cmz-auth-page .cmz-login-brand p { margin: 0; color: #c3d2e3; line-height: 1.8; }
html body.prodxs-admin-ui.cmz-auth-page .cmz-login-brand h2 { color: #fff !important; font-size: 23px !important; }
html body.prodxs-admin-ui.cmz-auth-page .cmz-login-brand p { color: #c3d2e3 !important; font-size: 14px !important; }
body.cmz-auth-page .cmz-login-brand-note { margin-top: 42px; color: #a8c0dc; font-size: 12px; }
html body.cmz-auth-page:not(.has-sidebar) .auth-box {
  width: min(440px, 100%);
  max-width: 440px;
  padding: 36px;
  margin: 0;
  background: var(--cmz-ui-surface) !important;
  border: 1px solid var(--cmz-ui-border);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(16, 44, 73, .06);
  color: var(--cmz-ui-text);
}
html body.cmz-auth-page .cmz-login-layout .auth-box {
  width: 100%;
  max-width: none;
  padding: 42px 40px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
body.cmz-auth-page:not(.has-sidebar) .auth-box::before { content: none; }
body.cmz-auth-page:not(.has-sidebar) .auth-box h1 { text-align: left; margin: 0 0 8px; }
body.cmz-auth-page .cmz-login-description { margin: 0 0 24px; color: var(--cmz-ui-muted); font-size: 13px; }
body.cmz-auth-page .auth-box label { color: var(--cmz-ui-text); font-weight: 500; margin: 18px 0 8px; }
html body.cmz-auth-page .auth-box input {
  height: 46px;
  border-radius: 8px !important;
  font-size: 15px;
  background: var(--cmz-ui-surface) !important;
  color: var(--cmz-ui-text) !important;
  border: 1px solid var(--cmz-ui-border) !important;
}
body.cmz-auth-page .auth-box .btn-primary { width: 100%; min-height: 46px; margin-top: 25px; font-size: 15px; }
body.cmz-auth-page .cmz-login-help { margin: 20px 0 0; font-size: 12px; color: var(--cmz-ui-muted); text-align: center; }
body.cmz-auth-page .form-error { padding: 11px 14px; border: 1px solid #efbfc5; background: #fff0f1; color: #a52c3a; border-radius: 8px; line-height: 1.6; }
body.cmz-auth-page .cmz-otp-input { letter-spacing: .35em; text-align: center; font-size: 24px !important; }
@media (max-width: 680px) {
  body.cmz-auth-page .admin-topbar-simple { padding: 16px 20px; }
  body.cmz-auth-page:not(.has-sidebar) .admin-main { padding: 28px 16px; align-items: flex-start; }
  body.cmz-auth-page .cmz-login-layout { grid-template-columns: minmax(0, 1fr); max-width: 440px; }
  body.cmz-auth-page .cmz-login-brand { padding: 25px 26px; }
  body.cmz-auth-page .cmz-login-mark { margin-bottom: 12px; font-size: 22px; }
  body.cmz-auth-page .cmz-login-brand h2 { font-size: 19px; }
  html body.prodxs-admin-ui.cmz-auth-page .cmz-login-brand h2 { font-size: 19px !important; }
  body.cmz-auth-page .cmz-login-brand-note { display: none; }
  html body.cmz-auth-page .cmz-login-layout .auth-box { padding: 28px 26px; }
  html body.cmz-auth-page:not(.has-sidebar) .auth-box { padding: 28px 26px; }
}
