/* Pendova Panel: sign-in, MFA and password screens. Loaded after the template's form-1.css. */
body.form { font-family: var(--pd-font); background: var(--pd-surface); color: var(--pd-ink); -webkit-font-smoothing: antialiased; }
body.form .form-container { display: flex; min-height: 100vh; }

/* ---------- Left: the form ---------- */
body.form .form-form { width: 46%; min-width: 0; display: flex; background: var(--pd-surface); }
body.form .form-form .form-form-wrap { max-width: 440px; width: 100%; margin: 0 auto; padding: 40px 28px; min-height: 100vh; display: flex; align-items: center; }
body.form .form-form .form-container { min-height: 0; width: 100%; display: block; }
body.form .form-form .form-container .form-content { width: 100%; text-align: left; }

.pd-auth-logo { display: block; width: 172px; height: auto; margin-bottom: 44px; }
.pd-auth-eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--pd-primary); margin: 0 0 10px; }
body.form .form-form .form-form-wrap h1 {
  font-family: var(--pd-font); font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.25rem) !important; line-height: 1.12; font-weight: 800;
  letter-spacing: -.02em; color: var(--pd-ink); margin: 0 0 10px;
}
body.form .form-form .form-form-wrap h1 .brand-name { color: var(--pd-primary); }
.pd-auth-sub { color: var(--pd-muted); font-size: 15px; line-height: 1.6; margin: 0 0 30px; }

body.form #show_msg, body.form #show_msg_fpemail { margin: 0 0 14px; font-size: 14px; font-weight: 600; }
body.form #show_msg:empty, body.form #show_msg_fpemail:empty { display: none; margin: 0; }
/* The pages write messages as <span style="color:…"> (blue = working, #339900 = success,
   #ff0000 = error). Each state gets its own panel; the inline colour is what we key on. */
body.form #show_msg span, body.form #show_msg_fpemail span {
  display: block; padding: 11px 14px; border-radius: var(--pd-radius-md); text-align: left; font-weight: 600;
  background: var(--pd-soft); color: var(--pd-ink) !important; border: 1px solid var(--pd-line);
}
body.form #show_msg span[style*="ff0000"], body.form #show_msg_fpemail span[style*="ff0000"],
body.form #show_msg span[style*="red"],    body.form #show_msg_fpemail span[style*="red"] {
  background: var(--pd-error-tint); color: #B42318 !important; border-color: #F7C6C6;
}
body.form #show_msg span[style*="339900"], body.form #show_msg_fpemail span[style*="339900"],
body.form #show_msg span[style*="green"],  body.form #show_msg_fpemail span[style*="green"] {
  background: var(--pd-success-tint); color: #166534 !important; border-color: #BBE7CB;
}
body.form #show_msg span[style*="blue"],   body.form #show_msg_fpemail span[style*="blue"] {
  background: var(--pd-info-tint); color: #1D4ED8 !important; border-color: #C7DAFC;
}

body.form .form-form .form-form-wrap form .field-wrapper.input { position: relative; padding: 0; margin-bottom: 16px; border: 0; }
body.form .form-form .form-form-wrap form .field-wrapper.input svg {
  position: absolute; left: 16px; top: 17px; width: 20px; height: 20px; color: var(--pd-placeholder); fill: none; transition: color .2s ease; z-index: 2;
}
body.form .form-form .form-form-wrap form .field-wrapper.input:focus-within svg { color: var(--pd-primary); }
body.form .form-form .form-form-wrap form .field-wrapper input.form-control {
  height: 54px; width: 100%; padding: 0 16px 0 48px; font-family: var(--pd-font); font-size: 15px; font-weight: 600; color: var(--pd-ink);
  background: var(--pd-soft); border: 1.5px solid transparent; border-radius: var(--pd-radius-md); box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
body.form .form-form .form-form-wrap form .field-wrapper input.form-control::placeholder { color: var(--pd-placeholder); font-weight: 500; }
body.form .form-form .form-form-wrap form .field-wrapper input.form-control:focus { background: #fff; border-color: var(--pd-primary); box-shadow: var(--pd-focus-ring); }
body.form .form-form .form-form-wrap form label.error, body.form .form-form label.error { color: var(--pd-error); font-size: 13px; font-weight: 600; margin: 6px 2px 0; display: block; }

body.form .d-sm-flex.justify-content-between { display: block !important; }
body.form .field-wrapper.toggle-pass { display: flex; align-items: center; gap: 10px; margin: 4px 0 22px; }
body.form .field-wrapper.toggle-pass p { margin: 0; font-size: 14px; font-weight: 600; color: var(--pd-muted); }
body.form .switch.s-primary .slider { background-color: var(--pd-line); }
body.form .switch.s-primary input:checked + .slider { background-color: var(--pd-primary); }
body.form .switch.s-primary input:checked + .slider:before { box-shadow: none; }

body.form .form-form .form-form-wrap form .field-wrapper button.btn,
body.form .form-form .btn.btn-primary {
  width: 100%; height: 54px; border: 0; border-radius: var(--pd-radius-pill); background: var(--pd-gradient-action); color: #fff;
  font-family: var(--pd-font); font-size: 15px; font-weight: 700; letter-spacing: .01em; box-shadow: var(--pd-shadow-cta);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body.form .form-form .btn.btn-primary:hover { transform: translateY(-1px); filter: brightness(1.04); box-shadow: 0 16px 30px rgba(237, 14, 71, .34); }
body.form .form-form .btn.btn-primary:disabled { opacity: .75; transform: none; cursor: progress; }
body.form .form-form .btn.btn-primary:focus-visible { outline: 0; box-shadow: var(--pd-shadow-cta), var(--pd-focus-ring); }

body.form .form-form .form-form-wrap p.terms-conditions { position: static; max-width: none; margin: 34px 0 0; font-size: 13px; color: var(--pd-placeholder); font-weight: 500; }
body.form .form-form .form-form-wrap p.terms-conditions a { color: var(--pd-muted); font-weight: 700; }
.pd-auth-secure { display: flex; align-items: center; gap: 8px; margin-top: 18px; font-size: 13px; color: var(--pd-muted); font-weight: 600; }
.pd-auth-secure svg { width: 16px; height: 16px; color: var(--pd-success); flex-shrink: 0; }

/* ---------- Right: brand panel ---------- */
body.form .form-image { position: fixed; right: 0; top: 0; bottom: 0; width: 54%; min-height: 0; display: block; }
body.form .form-image .l-image {
  position: absolute; inset: 14px; border-radius: 28px; overflow: hidden; background: var(--pd-gradient-hero) !important;
  display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(28px, 4vw, 56px); color: #fff;
}
body.form .form-image .l-image::before {
  content: ""; position: absolute; width: 620px; height: 620px; right: -200px; top: -240px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255, 255, 255, .26), rgba(255, 255, 255, 0));
}
body.form .form-image .l-image::after {
  content: ""; position: absolute; width: 420px; height: 420px; left: -160px; bottom: -200px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(67, 194, 254, .28), rgba(67, 194, 254, 0));
}
.pd-auth-hearts { position: absolute; inset: 0; pointer-events: none; }
.pd-auth-hearts span { position: absolute; color: rgba(255, 255, 255, .26); font-size: var(--s, 22px); left: var(--x); top: var(--y); animation: pd-drift 7s ease-in-out var(--d, 0s) infinite; }
@keyframes pd-drift { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
.pd-auth-mark { position: relative; width: 84px; height: 84px; border-radius: 26px; background: #fff; display: grid; place-items: center; box-shadow: 0 18px 40px rgba(122, 10, 42, .25); margin-bottom: 28px; }
.pd-auth-mark img { width: 56px; height: 56px; object-fit: contain; }
.pd-auth-headline { position: relative; font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); line-height: 1.08; font-weight: 800; letter-spacing: -.025em; margin: 0 0 14px; color: #fff; max-width: 15ch; }
.pd-auth-copy { position: relative; font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, .9); max-width: 46ch; margin: 0 0 28px; }
.pd-auth-kicker { position: relative; margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .85); }
.pd-auth-get { position: relative; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-bottom: 22px; }
.pd-auth-qr { display: flex; align-items: center; gap: 12px; padding: 10px 16px 10px 10px; border-radius: 20px; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .28); backdrop-filter: blur(6px); }
.pd-auth-qr img { width: 96px; height: 96px; border-radius: 12px; background: #fff; padding: 6px; display: block; }
.pd-auth-qr span { font-size: 14px; font-weight: 700; line-height: 1.35; color: #fff; }
.pd-auth-stores { display: flex; flex-direction: column; gap: 10px; }
.pd-auth-store {
  display: inline-flex; align-items: center; gap: 12px; min-width: 190px; padding: 9px 18px; border-radius: 14px; background: #15111F; color: #fff !important;
  text-decoration: none !important; font-size: 17px; font-weight: 700; line-height: 1.15; box-shadow: 0 10px 24px rgba(28, 22, 51, .28);
  transition: transform .2s ease, box-shadow .2s ease;
}
.pd-auth-store:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(28, 22, 51, .36); }
.pd-auth-store img { width: 26px; height: 26px; object-fit: contain; }
.pd-auth-store small { display: block; font-size: 10.5px; font-weight: 500; opacity: .82; letter-spacing: .02em; }
.pd-auth-site {
  position: relative; display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 11px 20px; border-radius: var(--pd-radius-pill);
  background: #fff; color: var(--pd-primary) !important; font-size: 15px; font-weight: 800; text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(122, 10, 42, .22); transition: transform .2s ease, box-shadow .2s ease;
}
.pd-auth-site:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(122, 10, 42, .3); }
.pd-auth-site svg { width: 18px; height: 18px; transition: transform .2s ease; }
.pd-auth-site:hover svg { transform: translateX(3px); }
.pd-auth-help { display: none; }

@media (max-width: 991.98px) {
  .pd-auth-help { display: block; margin: 22px 0 0; padding: 14px 16px; border-radius: var(--pd-radius-md); background: var(--pd-primary-tint); font-size: 14px; color: var(--pd-ink); font-weight: 600; line-height: 1.5; }
  .pd-auth-help a { color: var(--pd-primary); font-weight: 800; }
  body.form .form-form { width: 100%; }
  body.form .form-image { display: none; }
  body.form .form-form .form-form-wrap { padding: 32px 22px; }
  .pd-auth-logo { margin-bottom: 32px; }
}
@media (prefers-reduced-motion: reduce) { .pd-auth-hearts span { animation: none; } * { transition: none !important; } }

/* Column width: the template capped the content; let it use the wrap's 440px. */
body.form .form-form .form-container .form-content { max-width: none; width: 100%; }
body.form .form-form .form-form-wrap form { width: 100%; }
/* Toggle knob follows the brand instead of the template blue. */
body.form .switch .slider:before { background-color: #fff !important; box-shadow: 0 1px 3px rgba(28, 22, 51, .25); }
body.form .switch.s-primary input:checked + .slider:before { background-color: #fff !important; }
/* The template pads the inner container by ~46px a side; the wrap already provides the gutter. */
body.form .form-form .form-form-wrap .form-container { padding: 0 !important; }

/* The glows and hearts are decoration: they must never sit on top of, or take clicks from, the content. */
body.form .form-image .l-image::before,
body.form .form-image .l-image::after,
.pd-auth-hearts { pointer-events: none; z-index: 0; }
body.form .form-image .l-image > *:not(.pd-auth-hearts) { position: relative; z-index: 1; }


/* ---- Two-step verification ------------------------------------------------ */
.pd-auth-label { display: block; margin: 0 0 8px; font-size: 13px; font-weight: 700; color: var(--pd-muted); letter-spacing: 0; }
body.form .form-form .form-form-wrap form .field-wrapper.pd-auth-code input.form-control.otp-input {
  height: 64px; padding: 0 0 0 .5em;
  font-size: 28px; font-weight: 800; letter-spacing: .5em; text-align: center;
  font-variant-numeric: tabular-nums; color: var(--pd-ink);
  border-radius: 16px;
}
body.form .form-form .form-form-wrap form .field-wrapper.pd-auth-code input.otp-input::placeholder { color: #D9D3E6; letter-spacing: .5em; font-weight: 800; }
body.form.pd-auth-mfa .form-form .btn.btn-primary { width: 100%; margin-top: 6px; }
body.form.pd-auth-mfa #show_msg .alert { margin: 0 0 14px; padding: 11px 14px; border: 1px solid transparent; border-radius: 12px; font-size: 14px; font-weight: 600; }
body.form.pd-auth-mfa #show_msg .alert-success { background: var(--pd-success-tint); border-color: #C6EBD3; color: #0F7A37; }
body.form.pd-auth-mfa #show_msg .alert-danger { background: var(--pd-error-tint); border-color: #F8CFD0; color: #C0353A; }
.pd-auth-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 18px; margin-top: 18px; }
.pd-auth-link { background: none; border: 0; padding: 0; font: inherit; font-size: 14px; font-weight: 700; color: var(--pd-primary-deep); cursor: pointer; }
.pd-auth-link:hover { color: var(--pd-primary); text-decoration: underline; }
.pd-auth-link:disabled { color: var(--pd-placeholder); cursor: default; text-decoration: none; }
.pd-auth-tips { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 10px; max-width: 460px; position: relative; z-index: 1; }
.pd-auth-tips li { padding: 13px 16px; border-radius: 14px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .22); color: rgba(255, 255, 255, .92); font-size: 14px; line-height: 1.5; }
.pd-auth-tips li strong { color: #fff; font-weight: 800; }
.pd-auth-remember { display: flex; align-items: flex-start; gap: 12px; margin: 2px 0 16px; padding: 12px 14px; border: 1px solid var(--pd-line); border-radius: 14px; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.pd-auth-remember:hover { border-color: #DCD5EA; }
.pd-auth-remember:has(input:checked) { border-color: var(--pd-primary); background: var(--pd-primary-tint); }
.pd-auth-remember input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--pd-primary); cursor: pointer; }
.pd-auth-remember strong { display: block; font-size: 14px; font-weight: 700; color: var(--pd-ink); }
.pd-auth-remember small { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.45; color: var(--pd-muted); font-weight: 500; }
