:root{
  --bgsm-auth-grad: linear-gradient(135deg,#0f172a 0%,#111827 35%,#1d4ed8 100%);
  --bgsm-auth-card: rgba(255,255,255,.94);
  --bgsm-auth-shadow: 0 28px 65px rgba(2,6,23,.20);
}
.auth-shell{
  min-height:100vh;
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.18), transparent 28%),
    radial-gradient(circle at bottom left, rgba(14,165,233,.16), transparent 32%),
    var(--bgsm-auth-grad);
  padding:32px 0;
}
.auth-shell .auth-card{
  background:var(--bgsm-auth-card);
  border:1px solid rgba(148,163,184,.22);
  border-radius:28px;
  box-shadow:var(--bgsm-auth-shadow);
  overflow:hidden;
  backdrop-filter: blur(10px);
}
.auth-shell .auth-card .auth-side{
  background: linear-gradient(180deg, rgba(15,23,42,.94), rgba(29,78,216,.88));
  color:#fff;
  min-height:100%;
}
.auth-shell .auth-card .auth-side .auth-pill{
  display:inline-flex; align-items:center; gap:.45rem;
  border:1px solid rgba(255,255,255,.18); border-radius:999px;
  padding:.45rem .8rem; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em;
  background:rgba(255,255,255,.08);
}
.auth-shell .auth-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.auth-shell .auth-badge-grid .mini-stat{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:.85rem .95rem;
}
.auth-shell .auth-form-wrap{padding:2rem}
.auth-shell .auth-brand{font-weight:800;letter-spacing:.04em;color:#0f172a}
.auth-shell .auth-lead{color:#475569}
.auth-shell .form-control,
.auth-shell .form-select{
  min-height:48px;border-radius:14px;border-color:#dbe3ee;
}
.auth-shell .form-control:focus,
.auth-shell .form-select:focus{box-shadow:0 0 0 .25rem rgba(37,99,235,.14);border-color:#60a5fa}
.auth-shell .btn-auth-primary{
  background:linear-gradient(135deg,#111827,#1d4ed8);
  border:none; border-radius:14px; min-height:50px; font-weight:700;
  box-shadow:0 18px 30px rgba(29,78,216,.18);
}
.auth-shell .btn-auth-primary:hover{filter:brightness(1.03)}
.auth-shell .auth-meta{color:#64748b;font-size:.92rem}
.auth-shell .auth-linkbar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.92rem}
@media (max-width:991.98px){
  .auth-shell .auth-form-wrap{padding:1.35rem}
}


.auth-shell .auth-card,
.auth-shell .auth-form-wrap,
.auth-shell .auth-linkbar,
.auth-shell .alert,
.auth-shell .form-text,
.auth-shell .form-label,
.auth-shell .auth-brand,
.auth-shell h1,
.auth-shell h2,
.auth-shell p,
.auth-shell a,
.auth-shell button{min-width:0;word-wrap:break-word}
.auth-shell .auth-brand,
.auth-shell h1,
.auth-shell h2{overflow-wrap:anywhere;text-wrap:balance;line-height:1.18}
.auth-shell .form-label{font-size:.95rem;font-weight:600;color:#0f172a;margin-bottom:.45rem}
.auth-shell .form-text{font-size:.84rem;line-height:1.45;color:#64748b;margin-top:.38rem}
.auth-shell .alert{margin-bottom:1rem;font-size:.93rem;line-height:1.45}
.auth-shell .btn-auth-primary{width:100%}
.auth-shell .auth-linkbar a,
.auth-shell .auth-meta a{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none}

@media (max-width:767.98px){
  .auth-shell{
    min-height:100dvh;
    padding:14px 0 22px;
  }
  .auth-shell .container{
    padding-left:12px;
    padding-right:12px;
  }
  .auth-shell .auth-card{
    border-radius:20px;
  }
  .auth-shell .auth-form-wrap{
    padding:1rem !important;
  }
  .auth-shell .auth-brand{
    font-size:.98rem;
    letter-spacing:.02em;
    line-height:1.25;
    margin-bottom:.35rem !important;
  }
  .auth-shell h1,
  .auth-shell .h1,
  .auth-shell h2,
  .auth-shell .h2{
    font-size:1.35rem;
    line-height:1.2;
    margin-bottom:.35rem !important;
  }
  .auth-shell .auth-lead{
    font-size:.94rem;
    line-height:1.5;
  }
  .auth-shell .form-label{
    font-size:.9rem;
    margin-bottom:.38rem;
  }
  .auth-shell .form-control,
  .auth-shell .form-select,
  .auth-shell textarea{
    min-height:50px;
    font-size:16px;
    padding:.78rem .9rem;
  }
  .auth-shell .btn-auth-primary,
  .auth-shell .btn,
  .auth-shell button[type="submit"]{
    min-height:50px;
    font-size:.98rem;
    padding:.8rem 1rem;
  }
  .auth-shell .row.g-3{
    --bs-gutter-y:.85rem;
  }
  .auth-shell .mb-4{
    margin-bottom:1rem !important;
  }
  .auth-shell .mt-4{
    margin-top:1rem !important;
  }
  .auth-shell .mt-3{
    margin-top:.85rem !important;
  }
  .auth-shell .auth-linkbar{
    flex-direction:column;
    align-items:stretch;
    gap:.6rem;
    font-size:.92rem;
  }
  .auth-shell .auth-linkbar a,
  .auth-shell .auth-meta a{
    justify-content:flex-start;
    width:100%;
  }
  .auth-shell .auth-meta{
    font-size:.88rem;
    line-height:1.5;
  }
  .auth-shell .alert{
    padding:.8rem .9rem;
    border-radius:1rem !important;
  }
}

@media (max-width:414px){
  .auth-shell{
    padding:10px 0 18px;
  }
  .auth-shell .container{
    padding-left:10px;
    padding-right:10px;
  }
  .auth-shell .auth-card{
    border-radius:18px;
  }
  .auth-shell .auth-form-wrap{
    padding:.95rem !important;
  }
  .auth-shell .auth-brand{
    font-size:.94rem;
  }
  .auth-shell h1,
  .auth-shell .h1,
  .auth-shell h2,
  .auth-shell .h2{
    font-size:1.22rem;
  }
  .auth-shell .auth-lead,
  .auth-shell .form-text,
  .auth-shell .alert,
  .auth-shell .auth-meta,
  .auth-shell .auth-linkbar{
    font-size:.88rem;
  }
}

@media (max-width:359.98px){
  .auth-shell .auth-form-wrap{
    padding:.85rem !important;
  }
  .auth-shell h1,
  .auth-shell .h1,
  .auth-shell h2,
  .auth-shell .h2{
    font-size:1.12rem;
  }
  .auth-shell .form-control,
  .auth-shell .form-select,
  .auth-shell textarea,
  .auth-shell .btn-auth-primary,
  .auth-shell .btn,
  .auth-shell button[type="submit"]{
    min-height:48px;
  }
}


/* Login-page header/menu should behave like the landing page on scroll */
html{scroll-behavior:smooth}
body.bgsm-auth-scroll-page{
  --bgsm-auth-nav-offset: 0px;
}
body.bgsm-auth-scroll-page .auth-shell{
  padding-top: calc(32px + var(--bgsm-auth-nav-offset));
}
body.bgsm-auth-scroll-page .bgsm-auth-scroll-nav,
body.bgsm-auth-scroll-page .bgsm-auth-scroll-header{
  transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease;
  will-change: transform;
}
body.bgsm-auth-scroll-page .bgsm-auth-scroll-nav.is-hidden,
body.bgsm-auth-scroll-page .bgsm-auth-scroll-header.is-hidden{
  transform: translateY(-110%);
}
body.bgsm-auth-scroll-page .bgsm-auth-scroll-nav.is-elevated,
body.bgsm-auth-scroll-page .bgsm-auth-scroll-header.is-elevated{
  box-shadow: 0 10px 28px rgba(15,23,42,.12) !important;
}
@media (max-width: 767.98px){
  body.bgsm-auth-scroll-page .auth-shell{
    padding-top: calc(20px + var(--bgsm-auth-nav-offset));
  }
  body.bgsm-auth-scroll-page .bgsm-auth-scroll-nav,
  body.bgsm-auth-scroll-page .bgsm-auth-scroll-header{
    backdrop-filter: saturate(120%) blur(8px);
  }
}


/* v80 customer login refinement */
.bgsm-customer-login-header{position:sticky;top:0;z-index:1038;padding:.85rem 0;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.06)}
.bgsm-customer-login-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.bgsm-customer-login-header__brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:#0f172a;font-weight:800}
.bgsm-customer-login-header__brand img{width:40px;height:40px;object-fit:contain;border-radius:14px;padding:.28rem;background:#fff;border:1px solid rgba(15,23,42,.08)}
.bgsm-customer-login-header__actions{display:flex;flex-wrap:wrap;gap:.55rem}
.bgsm-customer-login-shell{padding-bottom:28px}
.customer-auth-form-wrap{padding-inline:clamp(1.1rem,3vw,2.4rem)!important}
.customer-login-form .form-control{min-height:50px;border-radius:16px}
.customer-login-form .form-label{font-size:.84rem;font-weight:700;color:#344054;margin-bottom:.45rem}
.customer-login-form .btn-auth-primary{min-height:50px;border-radius:16px;font-weight:800}
.customer-login-form.auth-form-compact{row-gap:.9rem!important}
@media (max-width: 767.98px){
  .bgsm-customer-login-header{padding:.7rem 0}
  .bgsm-customer-login-header__inner,.bgsm-customer-login-header__actions{align-items:stretch;flex-direction:column}
  .bgsm-customer-login-header__actions .btn{width:100%}
  body.bgsm-auth-scroll-page .bgsm-customer-login-shell{padding-top:calc(18px + var(--bgsm-auth-nav-offset))}
}
