:root{
  --cw-header-h:64px;
  --cw-footer-gap:28px;
}

.v122-login-shell{
  min-height:100svh !important;
  min-height:100dvh !important;
}

.v122-login-shell .v910-login-header{
  min-height:var(--cw-header-h);
  padding:10px 20px !important;
  gap:12px !important;
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter:blur(14px);
}

.v122-login-shell .v910-login-tools .v910-search-pill{
  min-height:38px;
  padding:8px 14px;
  font-size:.88rem;
}

.v122-login-shell .v910-login-grid{
  min-height:calc(100svh - var(--cw-header-h));
  min-height:calc(100dvh - var(--cw-header-h));
  align-items:center !important;
  gap:24px !important;
  padding:20px !important;
}

.v122-login-shell .v910-login-grid:not(.single-panel){
  grid-template-columns:minmax(0,1.05fr) minmax(340px,420px) !important;
}

.v122-login-shell .v910-login-grid.single-panel{
  align-items:center !important;
}

.v122-login-shell .v910-login-hero,
.v122-login-shell .v910-login-panel{
  min-height:0 !important;
}

.v122-login-shell .pro3d-landing{
  min-height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  border-radius:28px !important;
}

.v122-login-shell .landing-flash-banner{
  margin:18px 18px 0 !important;
}

.v122-login-shell .pro3d-hero{
  max-width:720px !important;
  padding:clamp(22px,4.2vh,42px) clamp(18px,3vw,32px) clamp(16px,2.8vh,26px) !important;
}

.v122-login-shell .pro3d-title{
  font-size:clamp(2.35rem,4.9vw,4.35rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em;
  margin:0 0 14px !important;
}

.v122-login-shell .pro3d-subtitle{
  max-width:58ch !important;
  font-size:clamp(1rem,1.45vw,1.18rem) !important;
  line-height:1.45 !important;
  margin:0 0 18px !important;
  color:#dbe4ff !important;
}

.v122-login-shell .pro3d-hero-badge{
  margin-bottom:16px !important;
  padding:8px 14px !important;
  font-size:.75rem !important;
}

.v122-login-shell .pro3d-hero-actions{
  gap:10px !important;
  margin-bottom:14px !important;
}

.v122-login-shell .pro3d-btn-primary,
.v122-login-shell .pro3d-btn-ghost{
  min-height:48px !important;
  padding:12px 18px !important;
  font-size:.98rem !important;
}

.v122-login-shell .pro3d-trust-row{
  gap:10px !important;
  margin-top:0 !important;
}

.v122-login-shell .pro3d-trust-chip{
  padding:10px 12px !important;
  min-width:120px;
}

.v122-login-shell .pro3d-trust-chip strong{
  font-size:1rem !important;
}

/* Remove below-the-fold clutter from the landing hero */
.v122-login-shell .pro3d-flow-section,
.v122-login-shell .pro3d-features,
.v122-login-shell .pro3d-services{
  display:none !important;
}

.v122-login-shell .v910-login-panel .v910-login-card{
  padding:26px 24px !important;
  border-radius:24px !important;
}

.v122-login-shell .v910-login-panel .v910-login-card h2{
  font-size:2rem !important;
  line-height:1.05 !important;
  margin-bottom:8px !important;
}

.v122-login-shell .v910-login-panel .v910-login-card > p,
.v122-login-shell .v910-login-panel .otp-login-subcopy{
  font-size:.98rem !important;
  line-height:1.5 !important;
}

.v122-login-shell .v910-login-footer{
  margin-top:0 !important;
  padding:16px 20px 22px !important;
}

/* Registration forms: clean A4 white sheet and readable text */
.engineer-reg-page .v910-login-card,
.partner-reg-page .v910-login-card,
.engineer-reg-page .reg-pro-card,
.partner-reg-page .reg-pro-card,
.engineer-reg-page .engineer-reg-card,
.partner-reg-page .partner-card{
  width:min(100%, 860px) !important;
  max-width:860px !important;
  background:#fff !important;
  color:#10223a !important;
  border:1px solid #d9e4f2 !important;
  box-shadow:0 18px 52px rgba(15,23,42,.10) !important;
  min-height:auto !important;
}

.engineer-reg-page input,
.engineer-reg-page select,
.engineer-reg-page textarea,
.partner-reg-page input,
.partner-reg-page select,
.partner-reg-page textarea{
  background:#fff !important;
  color:#10223a !important;
  border:1px solid #c9d7ea !important;
}

.engineer-reg-page input::placeholder,
.engineer-reg-page textarea::placeholder,
.partner-reg-page input::placeholder,
.partner-reg-page textarea::placeholder{
  color:#73839b !important;
}

@media (max-width: 1100px){
  .v122-login-shell .v910-login-grid,
  .v122-login-shell .v910-login-grid:not(.single-panel){
    grid-template-columns:1fr !important;
    padding:18px !important;
  }

  .v122-login-shell .v910-login-panel{
    order:2;
  }
}

@media (max-width: 768px){
  :root{ --cw-header-h:56px; }

  .v122-login-shell .v910-login-header{
    padding:8px 12px !important;
  }

  .v122-login-shell .v910-login-tools{
    display:none !important;
  }

  .v122-login-shell .v910-login-grid{
    padding:12px !important;
    gap:14px !important;
  }

  .v122-login-shell .landing-flash-banner{
    margin:10px 10px 0 !important;
  }

  .v122-login-shell .pro3d-hero{
    padding:18px 16px 14px !important;
  }

  .v122-login-shell .pro3d-title{
    font-size:clamp(2rem,9vw,2.9rem) !important;
    margin-bottom:10px !important;
  }

  .v122-login-shell .pro3d-subtitle{
    font-size:.96rem !important;
    margin-bottom:14px !important;
  }

  .v122-login-shell .pro3d-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-bottom:10px !important;
  }

  .v122-login-shell .pro3d-btn-primary,
  .v122-login-shell .pro3d-btn-ghost{
    width:100% !important;
    min-height:46px !important;
    padding:11px 16px !important;
  }

  .v122-login-shell .pro3d-trust-row{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  }

  .v122-login-shell .pro3d-trust-chip{
    min-width:0;
    padding:8px !important;
  }

  .v122-login-shell .v910-login-panel .v910-login-card{
    padding:20px 16px !important;
  }
}

/* Ensure CTA stays visible on shorter phones */
@media (max-width: 768px) and (max-height: 700px){
  .v122-login-shell .landing-flash-banner,
  .v122-login-shell .pro3d-trust-row,
  .v122-login-shell .join-partner-btn{
    display:none !important;
  }

  .v122-login-shell .pro3d-hero-badge{
    margin-bottom:10px !important;
  }

  .v122-login-shell .pro3d-subtitle{
    margin-bottom:10px !important;
    line-height:1.35 !important;
  }

  .v122-login-shell .pro3d-hero{
    padding-top:12px !important;
    padding-bottom:10px !important;
  }
}
