/* WDS Frontend Redesign v0.4 — Refined Teal Auth Portal */
:root {
  --wdsfr-primary: #01928B;
  --wdsfr-primary-hover: #017b75;
  --wdsfr-primary-2: #03b7ad;
  --wdsfr-primary-soft: rgba(1,146,139,.10);
  --wdsfr-primary-glow: rgba(1,146,139,.26);
  --wdsfr-mint: #75e6df;
  --wdsfr-bg: #edf5f4;
  --wdsfr-bg-2: #f7faf9;
  --wdsfr-surface: #ffffff;
  --wdsfr-text: #15211f;
  --wdsfr-muted: #6b7775;
  --wdsfr-line: #e0e8e6;
  --wdsfr-line-strong: #cfdad7;
  --wdsfr-focus: rgba(1,146,139,.18);
  --wdsfr-danger: #d92d20;
  --wdsfr-success: #087d5e;
  --wdsfr-success-bg: #edfdf7;
  --wdsfr-shadow: 0 32px 90px rgba(16,57,54,.14), 0 8px 24px rgba(16,57,54,.06);
}

[data-bs-theme="dark"] {
  --wdsfr-bg: #081210;
  --wdsfr-bg-2: #0d1816;
  --wdsfr-surface: #101c1a;
  --wdsfr-text: #f3f8f7;
  --wdsfr-muted: #9aaba8;
  --wdsfr-line: #233331;
  --wdsfr-line-strong: #314542;
  --wdsfr-primary: #12aaa1;
  --wdsfr-primary-hover: #23bbb2;
  --wdsfr-primary-2: #40cfc6;
  --wdsfr-primary-soft: rgba(18,170,161,.12);
  --wdsfr-primary-glow: rgba(18,170,161,.28);
  --wdsfr-focus: rgba(18,170,161,.22);
  --wdsfr-success: #62d6b0;
  --wdsfr-success-bg: rgba(46,173,130,.10);
  --wdsfr-shadow: 0 34px 96px rgba(0,0,0,.42), 0 8px 28px rgba(0,0,0,.24);
}

html { min-width: 320px; }
body.auth-bg,
body:has(.wdsfr-portal) {
  margin: 0;
  min-width: 320px;
  background: var(--wdsfr-bg) !important;
  background-image: none !important;
  color: var(--wdsfr-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.wdsfr-skip-link {
  position: fixed;
  z-index: 99999;
  top: 14px;
  left: 14px;
  padding: 10px 14px;
  border-radius: 12px;
  background: #102523;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  transform: translateY(-180%);
  transition: transform .18s ease;
}
.wdsfr-skip-link:focus { transform: translateY(0); }

.wdsfr-portal {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  padding: clamp(20px, 3vw, 40px);
  background:
    radial-gradient(circle at 10% 12%, rgba(1,146,139,.13), transparent 26%),
    radial-gradient(circle at 88% 84%, rgba(117,230,223,.13), transparent 28%),
    linear-gradient(145deg, var(--wdsfr-bg-2), var(--wdsfr-bg));
}
.wdsfr-portal::before {
  content: "";
  position: absolute;
  z-index: -3;
  inset: 0;
  opacity: .34;
  background-image:
    linear-gradient(rgba(1,146,139,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(1,146,139,.07) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0%, transparent 74%);
  mask-image: radial-gradient(circle at 50% 50%, #000 0%, transparent 74%);
}

.wdsfr-ambient {
  position: absolute;
  z-index: -2;
  width: min(44vw, 640px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .13;
  pointer-events: none;
}
.wdsfr-ambient--one { top: -22%; left: -12%; background: var(--wdsfr-primary); }
.wdsfr-ambient--two { right: -14%; bottom: -25%; background: var(--wdsfr-mint); }

.wdsfr-shell {
  position: relative;
  width: min(1080px, 100%);
  min-height: min(700px, calc(100svh - 60px));
  overflow: hidden;
  border: 1px solid rgba(1,146,139,.12);
  border-radius: 34px;
  background: var(--wdsfr-surface);
  box-shadow: var(--wdsfr-shadow);
}
.wdsfr-shell::after {
  content: "";
  position: absolute;
  z-index: 10;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  pointer-events: none;
}
.wdsfr-shell__body {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  min-height: min(700px, calc(100svh - 60px));
}

/* No topbar. Brand lives inside the teal visual field. */
.wdsfr-mobile-hero { display: none; }
.wdsfr-visual {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  min-height: 620px;
  color: #fff;
  background: #01928B;
}
.wdsfr-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.20), transparent 23%),
    radial-gradient(circle at 82% 84%, rgba(117,230,223,.22), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.035), transparent 42%);
}
.wdsfr-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.13) 1px, transparent 1px);
  background-size: 34px 34px;
  -webkit-mask-image: radial-gradient(circle at 55% 50%, #000, transparent 74%);
  mask-image: radial-gradient(circle at 55% 50%, #000, transparent 74%);
}

.wdsfr-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 230px;
  text-decoration: none !important;
}
.wdsfr-brand--visual {
  position: absolute;
  z-index: 5;
  top: 38px;
  left: 38px;
  max-width: 180px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  filter: drop-shadow(0 8px 18px rgba(0, 57, 54, .10));
}
.wdsfr-brand__logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 156px;
  max-height: 34px;
  object-fit: contain;
}
.wdsfr-brand__mark {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: rgba(255,255,255,.18);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}
.wdsfr-brand__name {
  overflow: hidden;
  color: inherit;
  font-size: 15px;
  font-weight: 760;
  letter-spacing: -.02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wdsfr-mobile-orbit { display: none; }
.wdsfr-brand__tagline {
  display: none;
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .01em;
  text-wrap: balance;
}

.wdsfr-orbit {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: min(330px, 72%);
  aspect-ratio: 1;
  filter: drop-shadow(0 26px 44px rgba(0,58,54,.20));
}
.wdsfr-orbit__ring {
  position: absolute;
  border: 1px solid rgba(255,255,255,.30);
  border-radius: 50%;
}
.wdsfr-orbit__ring--a { inset: 0; transform: rotate(14deg) scaleY(.58); }
.wdsfr-orbit__ring--b { inset: 13%; border-color: rgba(117,230,223,.52); transform: rotate(-52deg) scaleY(.62); }
.wdsfr-orbit__ring--c { inset: 27%; border-color: rgba(255,255,255,.36); }
.wdsfr-orbit__ring--a::before,
.wdsfr-orbit__ring--b::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -4px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 18px rgba(255,255,255,.9);
}
.wdsfr-orbit__ring--b::before {
  right: -4px;
  left: auto;
  background: var(--wdsfr-mint);
  box-shadow: 0 0 18px var(--wdsfr-mint);
}
.wdsfr-orbit__core {
  position: relative;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 116px;
  height: 116px;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 34px;
  background: rgba(255,255,255,.14);
  color: #fff;
  box-shadow: 0 20px 50px rgba(0,65,61,.22), inset 0 1px 0 rgba(255,255,255,.30);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transform: rotate(-4deg);
}
.wdsfr-orbit__core::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 27px;
}
.wdsfr-orbit__core svg {
  width: 54px;
  height: 54px;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wdsfr-orbit__dot {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 15px rgba(255,255,255,.95);
}
.wdsfr-orbit__dot--a { top: 18%; right: 24%; }
.wdsfr-orbit__dot--b { bottom: 23%; left: 17%; background: var(--wdsfr-mint); box-shadow: 0 0 15px var(--wdsfr-mint); }

.wdsfr-form-panel {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  padding: clamp(54px, 6vw, 82px);
  background: var(--wdsfr-surface);
}
.wdsfr-form-wrap { width: min(100%, 420px); margin: 0 auto; }
.wdsfr-mode {
  position: absolute;
  z-index: 6;
  top: 24px;
  right: 24px;
  width: 42px;
  height: 42px;
}
.wdsfr-mode > .position-absolute { position: static !important; margin: 0 !important; }
.wdsfr-mode .btn {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  border: 1px solid var(--wdsfr-line) !important;
  border-radius: 13px !important;
  background: var(--wdsfr-bg-2) !important;
  color: var(--wdsfr-text) !important;
  box-shadow: none !important;
}
.wdsfr-mode .btn:hover { border-color: rgba(1,146,139,.25) !important; background: var(--wdsfr-primary-soft) !important; color: var(--wdsfr-primary) !important; }

.wdsfr-form-head { margin-bottom: 32px; }
.wdsfr-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: var(--wdsfr-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.wdsfr-kicker::before { content: ""; width: 18px; height: 2px; border-radius: 99px; background: currentColor; }
.wdsfr-form-head h1 {
  margin: 0;
  color: var(--wdsfr-text) !important;
  font-size: clamp(28px, 3.15vw, 37px) !important;
  line-height: 1.08;
  font-weight: 775 !important;
  letter-spacing: -.045em;
}
.wdsfr-form-head p { margin: 10px 0 0; color: var(--wdsfr-muted); font-size: 14px; line-height: 1.58; }

.wdsfr-form { display: grid; gap: 20px; }
.wdsfr-field { min-width: 0; margin: 0 !important; }
.wdsfr-label { display: block; margin: 0 0 8px; color: var(--wdsfr-text); font-size: 13px; line-height: 1.35; font-weight: 680; }
.wdsfr-input-wrap { position: relative; }
.wdsfr-input-icon {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 16px;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  color: var(--wdsfr-muted);
  transform: translateY(-50%);
  pointer-events: none;
}
.wdsfr-input-icon svg,
.wdsfr-eye svg,
.wdsfr-back-link svg,
.wdsfr-submit__icon svg,
.wdsfr-notice__icon svg {
  width: 100%; height: 100%; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.wdsfr-input.form-control {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 50px 0 46px !important;
  border: 1px solid var(--wdsfr-line-strong) !important;
  border-radius: 16px !important;
  background: var(--wdsfr-bg-2) !important;
  color: var(--wdsfr-text) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.wdsfr-input.form-control::placeholder { color: #9aa7a4; opacity: 1; }
.wdsfr-input.form-control:hover { border-color: rgba(1,146,139,.34) !important; }
.wdsfr-input.form-control:focus {
  border-color: var(--wdsfr-primary) !important;
  background: var(--wdsfr-surface) !important;
  box-shadow: 0 0 0 4px var(--wdsfr-focus) !important;
}
.wdsfr-input.form-control:focus + .wdsfr-password-toggle { color: var(--wdsfr-primary); }

.wdsfr-password-toggle {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: 6px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--wdsfr-muted);
  transform: translateY(-50%);
  cursor: pointer;
}
.wdsfr-password-toggle:hover { background: var(--wdsfr-primary-soft); color: var(--wdsfr-primary); }
.wdsfr-password-toggle:focus-visible { outline: 3px solid var(--wdsfr-focus); }
.wdsfr-eye { width: 20px; height: 20px; }

.wdsfr-form-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: -3px; }
.wdsfr-check { display: inline-flex; align-items: center; gap: 9px; margin: 0; color: var(--wdsfr-muted); font-size: 13px; cursor: pointer; }
.wdsfr-check input {
  width: 18px !important; height: 18px !important; margin: 0 !important;
  border: 1px solid var(--wdsfr-line-strong) !important; border-radius: 6px !important; accent-color: var(--wdsfr-primary);
}
.wdsfr-check input:focus { box-shadow: 0 0 0 3px var(--wdsfr-focus) !important; }
.wdsfr-link { color: var(--wdsfr-primary) !important; font-size: 13px; font-weight: 720; text-decoration: none !important; }
.wdsfr-link:hover { text-decoration: underline !important; text-underline-offset: 3px; }
.wdsfr-link--strong { font-size: inherit; }

.wdsfr-submit.btn {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 10px 12px 10px 20px !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: linear-gradient(105deg, #01928B, #02aaa1) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 760 !important;
  letter-spacing: -.01em;
  box-shadow: 0 14px 30px rgba(1,146,139,.24) !important;
  overflow: hidden;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.wdsfr-submit.btn::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.25) 48%, transparent 72%);
  transform: translateX(-120%); transition: transform .55s ease;
}
.wdsfr-submit.btn:hover { transform: translateY(-1px); box-shadow: 0 18px 36px rgba(1,146,139,.31) !important; filter: saturate(1.07); }
.wdsfr-submit.btn:hover::before { transform: translateX(120%); }
.wdsfr-submit.btn:focus-visible { outline: 3px solid var(--wdsfr-focus) !important; outline-offset: 3px; }
.wdsfr-submit.btn:disabled { transform: none; opacity: .72; }
.wdsfr-submit .indicator-label { position: relative; z-index: 1; }
.wdsfr-submit__icon {
  position: relative; z-index: 1; display: grid; place-items: center; flex: 0 0 auto;
  width: 36px; height: 36px; padding: 8px; border-radius: 11px; background: rgba(255,255,255,.15);
}

.wdsfr-secondary-action { margin: -1px 0 0; color: var(--wdsfr-muted); font-size: 13px; line-height: 1.55; text-align: center; }
.wdsfr-caps { margin-top: 7px; color: #b54708; font-size: 12px; font-weight: 650; }
.wdsfr-help { margin: 8px 0 0; color: var(--wdsfr-muted); font-size: 11.5px; line-height: 1.5; }
.wdsfr-back-link {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 28px;
  color: var(--wdsfr-muted) !important; font-size: 13px; font-weight: 700; text-decoration: none !important;
}
.wdsfr-back-link:hover { color: var(--wdsfr-primary) !important; }
.wdsfr-back-link svg { width: 17px; height: 17px; }

.wdsfr-password-meter { display: grid !important; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 9px !important; }
.wdsfr-password-meter > * { height: 4px !important; margin: 0 !important; border-radius: 999px !important; background: var(--wdsfr-line-strong) !important; }
.wdsfr-password-meter > .active,
.wdsfr-password-meter > .bg-active-success.active { background: linear-gradient(90deg, var(--wdsfr-primary), var(--wdsfr-mint)) !important; }

.wdsfr-field .fv-plugins-message-container { margin-top: 7px; }
.wdsfr-field .fv-plugins-message-container .fv-help-block { color: var(--wdsfr-danger) !important; font-size: 12px !important; font-weight: 650; }
.wdsfr-field .is-invalid,
.wdsfr-field .fv-plugins-icon-container .is-invalid { border-color: #f04438 !important; }

.wdsfr-form-wrap--verify .wdsfr-form-head { margin-bottom: 24px; }
.wdsfr-submit--link { text-decoration: none !important; }
.wdsfr-notice {
  display: flex; align-items: center; gap: 13px; padding: 16px;
  border: 1px solid rgba(8,125,94,.18); border-radius: 17px; color: var(--wdsfr-success); background: var(--wdsfr-success-bg);
}
.wdsfr-notice__icon { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; padding: 9px; border-radius: 12px; background: var(--wdsfr-primary-soft); }
.wdsfr-notice strong { display: block; font-size: 13.5px; }
.wdsfr-notice p { margin: 2px 0 0; color: var(--wdsfr-muted); font-size: 12px; }

@keyframes wdsfr-float {
  0%, 100% { transform: translateY(0) rotate(-4deg); }
  50% { transform: translateY(-8px) rotate(-2deg); }
}
@keyframes wdsfr-spin-a { to { transform: rotate(374deg) scaleY(.58); } }
@keyframes wdsfr-spin-b { to { transform: rotate(-412deg) scaleY(.62); } }
@media (prefers-reduced-motion: no-preference) {
  .wdsfr-orbit__core { animation: wdsfr-float 5.5s ease-in-out infinite; }
  .wdsfr-orbit__ring--a { animation: wdsfr-spin-a 16s linear infinite; }
  .wdsfr-orbit__ring--b { animation: wdsfr-spin-b 20s linear infinite; }
  .wdsfr-mobile-orbit .wdsfr-orbit__ring,
  .wdsfr-mobile-orbit .wdsfr-orbit__core { animation: none !important; }
}

@media (max-width: 860px) {
  .wdsfr-portal {
    display: block;
    overflow: auto;
    padding: 0;
    background: #01928B;
  }
  .wdsfr-portal::before {
    opacity: .14;
    background-image:
      linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
    background-size: 34px 34px;
    -webkit-mask-image: linear-gradient(#000, transparent 52%);
    mask-image: linear-gradient(#000, transparent 52%);
  }
  .wdsfr-ambient { display: none; }
  .wdsfr-shell {
    min-height: 100svh;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .wdsfr-shell::after { display: none; }
  .wdsfr-mobile-hero {
    position: relative;
    display: grid;
    place-items: center;
    align-content: center;
    height: 200px;
    padding: 0 24px;
    overflow: hidden;
    color: #fff;
  }
  .wdsfr-mobile-hero::before,
  .wdsfr-mobile-hero::after,
  .wdsfr-mobile-hero__orb { display: none; }
  .wdsfr-brand--mobile {
    position: relative;
    z-index: 3;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    max-width: 300px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    text-align: center;
    filter: drop-shadow(0 8px 18px rgba(0, 57, 54, .12));
  }
  .wdsfr-brand--mobile .wdsfr-brand__logo { max-width: 250px; max-height: 40px; }
  .wdsfr-brand--mobile .wdsfr-brand__tagline { display: block; max-width: 50ch; font-size: 12px; }
  .wdsfr-mobile-orbit {
    display: none;
  }
  .wdsfr-mobile-orbit .wdsfr-orbit {
    width: 150px;
    aspect-ratio: 1;
    filter: drop-shadow(0 18px 30px rgba(0,58,54,.18));
  }
  .wdsfr-mobile-orbit .wdsfr-orbit__core,
  .wdsfr-mobile-orbit .wdsfr-orbit__dot { display: none; }
  .wdsfr-mobile-orbit .wdsfr-orbit__ring--a { inset: 0; transform: rotate(14deg) scaleY(.58); }
  .wdsfr-mobile-orbit .wdsfr-orbit__ring--b { inset: 13%; transform: rotate(-52deg) scaleY(.62); }
  .wdsfr-mobile-orbit .wdsfr-orbit__ring--c { inset: 27%; }
  .wdsfr-shell__body { display: block; min-height: auto; }
  .wdsfr-visual { display: none; }
  .wdsfr-form-panel {
    align-items: flex-start;
    min-height: calc(100svh - 162px);
    margin-top: -12px;
    padding: 68px 28px 54px;
    border-radius: 34px 34px 0 0;
    background: var(--wdsfr-surface);
    box-shadow: 0 -20px 48px rgba(0,70,66,.12);
  }
  .wdsfr-form-panel::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 50%;
    width: 44px;
    height: 4px;
    border-radius: 99px;
    background: rgba(1,146,139,.18);
    transform: translateX(-50%);
  }
  .wdsfr-mode { top: 18px; right: 18px; }
  .wdsfr-form-wrap { max-width: 430px; }
}

@media (max-width: 520px) {
  .wdsfr-shell { min-height: 100svh; }
  .wdsfr-mobile-hero {
    height: 200px;
    padding: 0 20px;
  }
  .wdsfr-brand--mobile { max-width: 300px; }
  .wdsfr-brand--mobile .wdsfr-brand__logo { max-width: 250px; max-height: 40px; }
  .wdsfr-brand--mobile .wdsfr-brand__tagline { font-size: 12px; max-width: 50ch; }
  .wdsfr-mobile-orbit .wdsfr-orbit {
    width: 138px;
  }
  .wdsfr-form-panel {
    min-height: calc(100svh - 156px);
    margin-top: -14px;
    padding: 62px 20px 38px;
    border-radius: 30px 30px 0 0;
    box-shadow: 0 -14px 36px rgba(0,64,60,.13);
  }
  .wdsfr-form-head { margin-bottom: 29px; }
  .wdsfr-form-head h1 { font-size: 29px !important; }
  .wdsfr-form { gap: 18px; }
  .wdsfr-form-row { align-items: flex-start; }
  .wdsfr-submit.btn { min-height: 56px; }
  .wdsfr-mode { top: 16px; right: 16px; }
  .wdsfr-mode .btn { border-color: rgba(1,146,139,.18) !important; background: var(--wdsfr-primary-soft) !important; color: var(--wdsfr-primary) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .wdsfr-skip-link,
  .wdsfr-input.form-control,
  .wdsfr-submit.btn,
  .wdsfr-submit.btn::before { transition: none !important; }
  .wdsfr-orbit__core,
  .wdsfr-orbit__ring { animation: none !important; }
}
