/* DVC Auth Experience v1.0.1 — scoped login/register maturity layer */
/* Mobile overflow guard: this stylesheet is loaded only by the public auth pages. */
html {
  max-width: 100%;
  overflow-x: hidden;
}

body.dvc-auth-page {
  --dvc-auth-navy: #0d4561;
  --dvc-auth-navy-deep: #082f45;
  --dvc-auth-ink: #10233c;
  --dvc-auth-muted: #6f8194;
  --dvc-auth-border: #dbe5ec;
  --dvc-auth-soft: #f5f9fb;
  --dvc-auth-white: #ffffff;
  --dvc-auth-accent: #e90c62;
  --dvc-auth-shadow: 0 30px 80px rgba(9, 48, 70, .14);
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 8% 10%, rgba(17, 101, 138, .10), transparent 30%),
    radial-gradient(circle at 92% 90%, rgba(233, 12, 98, .07), transparent 26%),
    linear-gradient(145deg, #f8fbfc 0%, #f3f8fa 46%, #fbfcfd 100%);
  color: var(--dvc-auth-ink);
  font-family: 'Manrope', 'Noto Sans Bengali', sans-serif;
  -webkit-font-smoothing: antialiased;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

html[data-dvc-ui-locale="bn"] body.dvc-auth-page,
html[lang="bn"] body.dvc-auth-page {
  font-family: 'Noto Sans Bengali', 'Manrope', sans-serif;
}

body.dvc-auth-page .dvc-auth-app,
body.dvc-auth-page .dvc-auth-shell {
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
}

body.dvc-auth-page .dvc-auth-shell {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 44px 28px 30px;
}

body.dvc-auth-page .dvc-auth-glow {
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
  filter: blur(4px);
}

body.dvc-auth-page .dvc-auth-glow-one {
  width: 420px;
  height: 420px;
  top: -210px;
  right: -140px;
  background: rgba(17, 101, 138, .08);
}

body.dvc-auth-page .dvc-auth-glow-two {
  width: 360px;
  height: 360px;
  bottom: -220px;
  left: -120px;
  background: rgba(233, 12, 98, .055);
}

body.dvc-auth-page .dvc-auth-wrap {
  position: relative;
  z-index: 1;
  width: min(100%, 1080px);
  margin: 0 auto;
}

body.dvc-auth-page .dvc-auth-wrap-register {
  width: min(100%, 1180px);
}

body.dvc-auth-page .dvc-auth-brand {
  display: flex;
  justify-content: center;
  margin: 0 0 26px;
}

body.dvc-auth-page .dvc-auth-brand a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 300px;
  padding: 6px 12px;
}

body.dvc-auth-page .dvc-auth-brand img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 86px;
  object-fit: contain;
}

body.dvc-auth-page .dvc-auth-card {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(430px, 1.18fr);
  overflow: hidden;
  min-height: 550px;
  background: var(--dvc-auth-white);
  border: 1px solid rgba(13, 69, 97, .10);
  border-radius: 28px;
  box-shadow: var(--dvc-auth-shadow);
}

body.dvc-auth-page .dvc-auth-card-register {
  grid-template-columns: minmax(320px, .82fr) minmax(560px, 1.35fr);
}

body.dvc-auth-page .dvc-auth-story {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  min-height: 100%;
  overflow: hidden;
  padding: 54px 46px;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(255,255,255,.03), transparent 42%),
    linear-gradient(145deg, var(--dvc-auth-navy-deep) 0%, var(--dvc-auth-navy) 62%, #175f7e 100%);
}

body.dvc-auth-page .dvc-auth-story::before,
body.dvc-auth-page .dvc-auth-story::after {
  content: '';
  position: absolute;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  pointer-events: none;
  z-index: -1;
}

body.dvc-auth-page .dvc-auth-story::before {
  width: 460px;
  height: 460px;
  right: -260px;
  top: -170px;
}

body.dvc-auth-page .dvc-auth-story::after {
  width: 320px;
  height: 320px;
  right: -185px;
  top: -90px;
  background: rgba(255,255,255,.025);
}

body.dvc-auth-page .dvc-auth-story-content {
  position: relative;
  z-index: 2;
  max-width: 390px;
}

body.dvc-auth-page .dvc-auth-kicker,
body.dvc-auth-page .dvc-auth-mobile-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: rgba(255,255,255,.72);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.dvc-auth-page .dvc-auth-story h1 {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.045em;
}

body.dvc-auth-page .dvc-auth-story p {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
}

body.dvc-auth-page .dvc-auth-trust {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 34px;
  padding: 10px 13px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.92);
  font-size: 12px;
  font-weight: 700;
}

body.dvc-auth-page .dvc-auth-trust-icon {
  display: inline-grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border-radius: 10px;
  background: rgba(255,255,255,.10);
}

body.dvc-auth-page .dvc-auth-feature-list {
  display: grid;
  gap: 14px;
  margin-top: 34px;
}

body.dvc-auth-page .dvc-auth-feature {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 15px;
  background: rgba(255,255,255,.055);
}

body.dvc-auth-page .dvc-auth-feature > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(255,255,255,.10);
  color: #fff;
}

body.dvc-auth-page .dvc-auth-feature strong,
body.dvc-auth-page .dvc-auth-feature small {
  display: block;
}

body.dvc-auth-page .dvc-auth-feature strong {
  margin: 1px 0 3px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

body.dvc-auth-page .dvc-auth-feature small {
  color: rgba(255,255,255,.70);
  font-size: 11px;
  line-height: 1.55;
}

body.dvc-auth-page .dvc-auth-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 54px 58px;
  background: rgba(255,255,255,.99);
}

body.dvc-auth-page .dvc-auth-panel-register {
  padding: 46px 50px;
}

body.dvc-auth-page .dvc-auth-panel-heading {
  margin-bottom: 30px;
}

body.dvc-auth-page .dvc-auth-mobile-kicker {
  display: none;
  color: var(--dvc-auth-navy);
}

body.dvc-auth-page .dvc-auth-panel-heading h2 {
  margin: 0 0 8px;
  color: var(--dvc-auth-ink);
  font-size: 27px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.035em;
}

body.dvc-auth-page .dvc-auth-panel-heading p {
  margin: 0;
  color: var(--dvc-auth-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.65;
}

body.dvc-auth-page .dvc-auth-form .form-group {
  margin-bottom: 20px;
}

body.dvc-auth-page .dvc-auth-grid {
  display: grid;
  gap: 18px;
}

body.dvc-auth-page .dvc-auth-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.dvc-auth-page .dvc-auth-field label {
  margin-bottom: 8px;
  color: #243a52;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.4;
}

body.dvc-auth-page .dvc-auth-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

body.dvc-auth-page .dvc-auth-label-row label {
  margin-bottom: 0;
}

body.dvc-auth-page .dvc-auth-required {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(233,12,98,.08);
  color: #c31051;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.dvc-auth-page .dvc-auth-input-wrap {
  position: relative;
}

body.dvc-auth-page .dvc-auth-input-icon {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 15px;
  display: grid;
  place-items: center;
  width: 20px;
  color: #8091a2;
  font-size: 13px;
  transform: translateY(-50%);
  pointer-events: none;
}

html[dir="rtl"] body.dvc-auth-page .dvc-auth-input-icon {
  left: auto;
  right: 15px;
}

body.dvc-auth-page .dvc-auth-input-wrap .form-control {
  width: 100%;
  height: 50px;
  padding: 0 15px 0 46px;
  border: 1px solid var(--dvc-auth-border);
  border-radius: 13px;
  background: #fbfdfe;
  color: var(--dvc-auth-ink);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

html[dir="rtl"] body.dvc-auth-page .dvc-auth-input-wrap .form-control {
  padding-right: 46px;
  padding-left: 15px;
}

body.dvc-auth-page .dvc-auth-input-wrap .form-control::placeholder {
  color: #a0afbd;
  font-weight: 500;
}

body.dvc-auth-page .dvc-auth-input-wrap .form-control:focus {
  border-color: rgba(13,69,97,.58);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(13,69,97,.08);
}

body.dvc-auth-page .dvc-auth-link {
  color: var(--dvc-auth-navy);
  font-weight: 800;
  text-decoration: none;
}

body.dvc-auth-page .dvc-auth-link:hover,
body.dvc-auth-page .dvc-auth-link:focus {
  color: #0b5c7d;
  text-decoration: none;
}

body.dvc-auth-page .dvc-auth-link-small {
  font-size: 11px;
}

body.dvc-auth-page .dvc-auth-options,
body.dvc-auth-page .dvc-auth-consent-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 2px 0 24px;
}

body.dvc-auth-page .dvc-auth-check .custom-control-label {
  color: #455a6f;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
}

body.dvc-auth-page .custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--dvc-auth-navy);
  background-color: var(--dvc-auth-navy);
}

body.dvc-auth-page .dvc-auth-private-note {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #7b8a99;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.5;
  text-align: right;
}

body.dvc-auth-page .dvc-auth-private-note i {
  color: #2b8a63;
}

body.dvc-auth-page .dvc-auth-submit-wrap {
  margin-top: 2px;
  margin-bottom: 18px !important;
}

body.dvc-auth-page .dvc-auth-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  margin: 0;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--dvc-auth-navy-deep), var(--dvc-auth-navy));
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
  box-shadow: 0 12px 24px rgba(13,69,97,.18);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

body.dvc-auth-page .dvc-auth-submit:hover,
body.dvc-auth-page .dvc-auth-submit:focus {
  color: #fff;
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 16px 28px rgba(13,69,97,.23);
}

body.dvc-auth-page .dvc-auth-submit i {
  font-size: 12px;
}

html[dir="rtl"] body.dvc-auth-page .dvc-auth-submit i {
  transform: rotate(180deg);
}

body.dvc-auth-page .dvc-auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0 18px;
  color: #95a3b1;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.dvc-auth-page .dvc-auth-divider::before,
body.dvc-auth-page .dvc-auth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e8eef2;
}

body.dvc-auth-page .dvc-auth-google {
  margin-bottom: 22px !important;
}


body.dvc-auth-page .dvc-auth-google,
body.dvc-auth-page .dvc-auth-google > div,
body.dvc-auth-page .dvc-auth-google iframe {
  max-width: 100%;
}

body.dvc-auth-page .dvc-auth-google {
  overflow-x: hidden;
}

body.dvc-auth-page .dvc-auth-switch {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 20px;
  color: #8493a2;
  font-size: 12px;
  font-weight: 550;
  text-align: center;
}

body.dvc-auth-page .dvc-auth-result {
  color: #b42345;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.55;
  text-align: center;
}

body.dvc-auth-page .dvc-auth-strength {
  margin-top: 8px;
}

body.dvc-auth-page .dvc-auth-strength .bar {
  height: 4px;
  border-radius: 99px;
}

body.dvc-auth-page .dvc-auth-strength .label {
  margin-top: 5px;
  color: var(--dvc-auth-muted);
  font-family: inherit;
  font-size: 9px;
  font-weight: 700;
}

body.dvc-auth-page .dvc-auth-footer {
  margin: 24px 0 0;
  color: #94a2ae;
  font-size: 11px;
  font-weight: 550;
  text-align: center;
}

body.dvc-auth-page .modal-content {
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(9,48,70,.18);
}

body.dvc-auth-page .modal-header,
body.dvc-auth-page .modal-footer {
  border-color: #e9eff3;
}

body.dvc-auth-page .modal-title {
  color: var(--dvc-auth-ink);
  font-family: inherit;
  font-weight: 800;
}

@media (max-width: 991.98px) {
  body.dvc-auth-page .dvc-auth-shell {
    padding: 34px 22px 26px;
  }

  body.dvc-auth-page .dvc-auth-card,
  body.dvc-auth-page .dvc-auth-card-register {
    grid-template-columns: minmax(260px, .72fr) minmax(400px, 1.28fr);
  }

  body.dvc-auth-page .dvc-auth-story {
    padding: 42px 32px;
  }

  body.dvc-auth-page .dvc-auth-panel,
  body.dvc-auth-page .dvc-auth-panel-register {
    padding: 42px 36px;
  }
}

@media (max-width: 767.98px) {
  body.dvc-auth-page .dvc-auth-shell {
    display: block;
    min-height: 100vh;
    padding: 24px 16px 22px;
    overflow: hidden;
  }

  body.dvc-auth-page .dvc-auth-wrap,
  body.dvc-auth-page .dvc-auth-wrap-register {
    width: 100%;
    max-width: 560px;
  }

  body.dvc-auth-page .dvc-auth-brand {
    margin-bottom: 18px;
  }

  body.dvc-auth-page .dvc-auth-brand a {
    max-width: 225px;
    padding: 3px 8px;
  }

  body.dvc-auth-page .dvc-auth-brand img {
    max-height: 65px;
  }

  body.dvc-auth-page .dvc-auth-card,
  body.dvc-auth-page .dvc-auth-card-register {
    display: block;
    min-height: 0;
    border-radius: 22px;
    box-shadow: 0 20px 50px rgba(9,48,70,.12);
  }

  body.dvc-auth-page .dvc-auth-story {
    min-height: auto;
    padding: 27px 24px;
    align-items: center;
    border-radius: 21px 21px 0 0;
  }

  body.dvc-auth-page .dvc-auth-story-content {
    max-width: none;
  }

  body.dvc-auth-page .dvc-auth-story h1,
  body.dvc-auth-page .dvc-auth-story p,
  body.dvc-auth-page .dvc-auth-trust,
  body.dvc-auth-page .dvc-auth-feature-list {
    display: none;
  }

  body.dvc-auth-page .dvc-auth-kicker {
    margin: 0;
    color: rgba(255,255,255,.88);
  }

  body.dvc-auth-page .dvc-auth-panel,
  body.dvc-auth-page .dvc-auth-panel-register {
    padding: 30px 24px 28px;
  }

  body.dvc-auth-page .dvc-auth-mobile-kicker {
    display: inline-flex;
    margin-bottom: 10px;
  }

  body.dvc-auth-page .dvc-auth-panel-heading {
    margin-bottom: 24px;
  }

  body.dvc-auth-page .dvc-auth-panel-heading h2 {
    font-size: 24px;
  }

  body.dvc-auth-page .dvc-auth-grid-two {
    grid-template-columns: 1fr;
    gap: 0;
  }

  body.dvc-auth-page .dvc-auth-form .form-group {
    margin-bottom: 17px;
  }

  body.dvc-auth-page .dvc-auth-consent-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  body.dvc-auth-page .dvc-auth-private-note {
    text-align: left;
  }

  html[dir="rtl"] body.dvc-auth-page .dvc-auth-private-note {
    text-align: right;
  }

  body.dvc-auth-page .dvc-auth-footer {
    margin-top: 20px;
  }
}

@media (max-width: 419.98px) {
  body.dvc-auth-page .dvc-auth-shell {
    padding: 18px 12px 20px;
  }

  body.dvc-auth-page .dvc-auth-brand {
    margin-bottom: 14px;
  }

  body.dvc-auth-page .dvc-auth-brand a {
    max-width: 205px;
  }

  body.dvc-auth-page .dvc-auth-card,
  body.dvc-auth-page .dvc-auth-card-register {
    border-radius: 19px;
  }

  body.dvc-auth-page .dvc-auth-story {
    padding: 22px 19px;
    border-radius: 18px 18px 0 0;
  }

  body.dvc-auth-page .dvc-auth-panel,
  body.dvc-auth-page .dvc-auth-panel-register {
    padding: 26px 18px 24px;
  }

  body.dvc-auth-page .dvc-auth-panel-heading h2 {
    font-size: 22px;
  }

  body.dvc-auth-page .dvc-auth-panel-heading p {
    font-size: 12px;
  }

  body.dvc-auth-page .dvc-auth-input-wrap .form-control {
    height: 48px;
    font-size: 12px;
  }

  body.dvc-auth-page .dvc-auth-options {
    align-items: flex-start;
  }

  body.dvc-auth-page .dvc-auth-submit {
    min-height: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dvc-auth-page *,
  body.dvc-auth-page *::before,
  body.dvc-auth-page *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
