/* Login is part of the site shell; WHMCS handles credentials, CAPTCHA and providers. */
body.dp-login-page #front-content {
  min-height:0!important; min-block-size:0!important; padding-bottom:0!important;
  background:var(--bg)!important;
}
body.dp-login-page .dp-native {
  min-height:0; min-block-size:0; padding-block:0;
  background:transparent;
}
body.dp-login-page .dp-main-content { min-width:0; }
body.dp-login-page .dp-login-hero {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,310px);
  align-items:center; gap:24px; margin:28px 0 0; padding:28px 36px;
  border:1px solid #DCE6F6; border-radius:20px;
  background:linear-gradient(120deg,#FFFFFF,#FAFBFF); color:var(--ink); text-align:start;
}
body.dp-login-page .dp-login-hero-copy { min-width:0; }
body.dp-login-page .dp-login-hero-welcome {
  margin:0 0 10px; color:var(--action); font-size:13px; font-weight:700; line-height:1.9;
}
body.dp-login-page .dp-login-hero h1 {
  margin:0 0 12px; padding:0; border:0; color:var(--ink);
  font-family:var(--site-font-family); font-size:30px; font-weight:700; line-height:1.7;
}
body.dp-login-page .dp-login-hero-description {
  max-width:660px; margin:0; color:var(--muted); font-size:14px; line-height:2;
}
body.dp-login-page .dp-login-hero-features {
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 24px;
  margin:20px 0 0; padding:0; list-style:none; color:var(--ink-700); font-size:12px; line-height:1.9;
}
body.dp-login-page .dp-login-hero-features li { display:flex; align-items:center; gap:8px; margin:0; padding:0; }
body.dp-login-page .dp-login-hero-features i { color:var(--action); font-size:15px; }
body.dp-login-page .dp-login-hero-art { display:block; width:100%; height:auto; max-width:310px; justify-self:center; }
body.dp-login-page .dp-login-layout {
  display:flex; justify-content:center; align-items:flex-start;
  width:100%; padding:32px 0 24px;
}
body.dp-login-page .dp-login-card {
  width:100%; max-width:520px; min-width:0; padding:34px 38px;
  border:1px solid var(--line); border-radius:20px;
  background:var(--surface); color:var(--ink); text-align:start;
  box-shadow:0 6px 24px rgba(16,24,40,.035);
}
body.dp-login-page .dp-login-heading { margin-bottom:28px; text-align:center; }
body.dp-login-page .dp-login-icon {
  display:inline-grid; place-items:center; width:56px; height:56px;
  margin-bottom:14px; border-radius:16px; background:#EEF4FF; color:var(--action);
  font-size:28px;
}
body.dp-login-page .dp-login-heading h2 {
  margin:0 0 10px; padding:0; border:0; color:var(--ink);
  font-family:var(--site-font-family); font-size:27px; font-weight:700; line-height:1.6;
}
body.dp-login-page .dp-login-heading p { margin:0; color:var(--muted); font-size:13px; line-height:1.9; }
body.dp-login-page .dp-login-form .form-group { margin:0 0 20px; }
body.dp-login-page .dp-login-form .form-group>label {
  display:block; margin:0 0 8px; color:var(--ink-700); font-size:13px; font-weight:500;
}
body.dp-login-page .dp-login-form .input-group {
  display:flex; flex-wrap:nowrap; align-items:stretch; min-width:0;
  border:1px solid var(--line); border-radius:10px; background:var(--surface);
}
body.dp-login-page .dp-login-form .input-group:focus-within {
  border-color:var(--action); outline:2px solid #D9E0FF; outline-offset:1px;
}
body.dp-login-page .dp-login-form .input-group>.form-control {
  flex:1 1 0; width:0; min-width:0; height:50px; min-height:50px;
  padding:10px 8px; border:0!important; border-radius:10px!important;
  background:transparent; color:var(--ink); font-size:14px; line-height:1.6;
  box-shadow:none!important;
}
body.dp-login-page .dp-login-form .input-group>.form-control:focus-visible { outline:0; }
body.dp-login-page .dp-login-form .form-control::placeholder { color:var(--muted); opacity:.8; }
body.dp-login-page .dp-login-form #inputEmail { direction:ltr; text-align:left; font-family:Tahoma,Arial,sans-serif; }
body.dp-login-page .dp-login-form :is(.input-group-prepend,.input-group-append) { display:flex; margin:0; }
body.dp-login-page .dp-login-form :is(.input-group-text,.btn-reveal-pw) {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; min-width:44px; padding:0; border:0!important; border-radius:10px!important;
  background:transparent!important; color:var(--muted)!important; box-shadow:none!important;
}
body.dp-login-page .dp-login-form .btn-reveal-pw:hover { color:var(--action)!important; }
body.dp-login-page .dp-login-form .btn-reveal-pw:focus-visible { outline:2px solid var(--action); outline-offset:-4px; }
body.dp-login-page .dp-login-options {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:12px 20px; margin:2px 0 22px; font-size:12px; line-height:1.8;
}
body.dp-login-page .dp-login-remember { display:inline-flex; align-items:center; gap:9px; margin:0; cursor:pointer; }
body.dp-login-page .dp-login-remember input {
  position:static; width:17px; height:17px; min-height:0; margin:0; padding:0;
  flex:0 0 auto; accent-color:var(--action);
}
body.dp-login-page :is(.dp-login-options,.dp-login-signup) a { color:var(--action); font-weight:600; }
body.dp-login-page :is(.dp-login-options,.dp-login-signup) a:hover { text-decoration:underline!important; }
body.dp-login-page .dp-login-card :is(a,button,input[type=checkbox]):focus-visible { outline:2px solid var(--action); outline-offset:3px; }
body.dp-login-page .dp-login-submit {
  display:block; width:100%; min-height:48px; padding:11px 18px;
  border-radius:10px; font-size:14px; font-weight:700; line-height:1.8; box-shadow:none!important;
}
body.dp-login-page .dp-login-card .alert { font-size:12px; line-height:1.9; overflow-wrap:anywhere; }
body.dp-login-page .dp-login-captcha { margin:0 0 20px; max-width:100%; }
body.dp-login-page .dp-login-captcha .row { margin-inline:0; }
body.dp-login-page .dp-login-captcha [class*=col-] { max-width:100%; padding-inline:0; }
body.dp-login-page .dp-login-captcha .form-control { width:100%; min-width:0; min-height:46px; }
body.dp-login-page .dp-login-social { margin-top:26px; }
body.dp-login-page .dp-login-divider { display:flex; align-items:center; gap:12px; margin:0 0 20px; color:var(--muted); font-size:12px; text-align:center; }
body.dp-login-page .dp-login-divider::before,
body.dp-login-page .dp-login-divider::after { content:""; flex:1; height:1px; background:var(--line); }
body.dp-login-page .dp-login-social .social-signin-btns { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; margin:0; }
body.dp-login-page .dp-login-social .social-signin-btns>* { max-width:100%; margin:0; }
body.dp-login-page .dp-login-social :is(iframe,button,a) { max-width:100%; }
body.dp-login-page .dp-login-signup {
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px 10px;
  margin-top:26px; padding-top:22px; border-top:1px solid var(--line);
  color:var(--muted); font-size:12px; line-height:1.9; text-align:center;
}
body.dp-login-page.front-dark .dp-login-icon { background:#1D2939; color:#A4BCFD; }
body.dp-login-page.front-dark .dp-login-hero { border-color:#344054; background:linear-gradient(120deg,#182230,#1D2939); }
body.dp-login-page.front-dark :is(.dp-login-hero-welcome,.dp-login-hero-features i) { color:#A4BCFD; }
body.dp-login-page.front-dark .dp-login-form .input-group:focus-within { outline-color:#344780; }
body.dp-login-page.front-dark :is(.dp-login-options,.dp-login-signup) a { color:var(--link); }
@media(max-width:900px) {
  body.dp-login-page .dp-login-hero { grid-template-columns:minmax(0,1fr) 220px; padding:26px; gap:16px; }
  body.dp-login-page .dp-login-hero h1 { font-size:26px; }
}
@media(max-width:600px) {
  body.dp-login-page .dp-login-hero { grid-template-columns:minmax(0,1fr); margin-top:20px; padding:22px; border-radius:16px; }
  body.dp-login-page .dp-login-hero h1 { font-size:23px; }
  body.dp-login-page .dp-login-hero-description { font-size:13px; }
  body.dp-login-page .dp-login-hero-features { gap:10px 16px; margin-top:16px; }
  body.dp-login-page .dp-login-hero-art { display:none; }
  body.dp-login-page .dp-login-layout { padding:24px 0 24px; }
  body.dp-login-page .dp-login-card { padding:26px 22px; border-radius:16px; }
  body.dp-login-page .dp-login-heading h2 { font-size:24px; }
  body.dp-login-page .dp-login-form .form-control { font-size:16px; }
}
@media(max-width:374px) {
  body.dp-login-page .dp-native .dp-shell { width:calc(100% - 12px); }
  body.dp-login-page .dp-login-card { padding-inline:14px; }
  body.dp-login-page .dp-login-options { gap:10px; }
  body.dp-login-page .dp-login-captcha { margin-inline:-14px; max-width:calc(100% + 28px); }
}
