/* Stock01 approved login and password-recovery design, 25 October 2026. */
html,body { min-height:100%; }
body.billing-auth-body {
  margin:0!important; padding:0!important; overflow-x:hidden;
  background:linear-gradient(105deg,#23b6f2 0%,#119fe9 26%,#0c86df 49%,#106bcf 72%,#155fc3 100%)!important;
  color:#13245a; font-family:Arial,Helvetica,sans-serif!important;
}
.guest-auth-navbar,.footer-z,.cookie-popup { display:none!important; }
.sm-auth-page,.sm-auth-page *,.sm-auth-page *::before,.sm-auth-page *::after { box-sizing:border-box; }
.sm-auth-page,.sm-auth-page * { font-family:Arial,Helvetica,sans-serif!important; }
.sm-auth-page .fas,.sm-auth-page .far,.sm-auth-page .fa { font-family:"Font Awesome 5 Free"!important; }
.sm-auth-page .fas,.sm-auth-page .fa { font-weight:900!important; }
.sm-auth-page .far { font-weight:400!important; }
.sm-auth-page .fab { font-family:"Font Awesome 5 Brands"!important; }
body.billing-auth-body::before,body.billing-auth-body::after,.sm-auth-page::before {
  content:""; position:fixed; pointer-events:none; border-radius:50%;
  width:300px; height:300px; border:42px solid rgba(127,220,255,.24);
  box-shadow:0 0 0 44px rgba(95,197,255,.12);
}
body.billing-auth-body::before { left:-150px; bottom:-160px; }
body.billing-auth-body::after { right:-150px; bottom:-140px; }
.sm-auth-page::before { left:-155px; top:-175px; z-index:-1; }
.sm-auth-page {
  position:relative; z-index:1; display:flex; align-items:center; justify-content:center;
  min-height:100vh; min-height:100dvh; padding:24px; font-size:13px; line-height:1.4;
}
.sm-auth-card {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  width:min(930px,100%); min-height:525px; border-radius:20px; overflow:hidden;
  background:#fff; box-shadow:0 24px 56px rgba(5,55,128,.20); border:0;
}
.sm-auth-brand {
  position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center;
  min-width:0; padding:38px 38px; color:#fff;
  background:linear-gradient(145deg,#116ac7 0%,#0758b6 52%,#06489f 100%);
}
.sm-auth-brand::before,.sm-auth-brand::after { content:""; position:absolute; border-radius:50%; pointer-events:none; }
.sm-auth-brand::before { width:260px; height:260px; right:-130px; bottom:-128px; background:rgba(34,140,224,.22); box-shadow:0 0 0 48px rgba(37,151,229,.12); }
.sm-auth-brand::after { width:180px; height:180px; right:-70px; bottom:-78px; border:28px solid rgba(87,181,241,.13); }
.sm-auth-logo-box { position:relative; z-index:1; width:210px; max-width:100%; padding:0; margin:0 0 30px; background:transparent; }
.sm-auth-logo-box img { display:block; width:100%; height:auto; object-fit:contain; filter:none; }
.sm-auth-kicker { position:relative; z-index:1; margin:0 0 14px; color:#ffd31c; font-size:12px; line-height:1.2; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.sm-auth-brand h1 { position:relative; z-index:1; margin:0 0 22px; color:#fff; font-size:29px; line-height:1.1; font-weight:800; letter-spacing:-.025em; }
.sm-auth-benefits { position:relative; z-index:1; display:grid; gap:14px; margin:0; padding:0; list-style:none; }
.sm-auth-benefits li { display:flex; align-items:flex-start; gap:10px; color:#fff; font-size:12.5px; line-height:1.45; }
.sm-auth-benefits .check { flex:0 0 23px; width:23px; height:23px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:#ffd31c; color:#0662b9; font-size:10px; margin-top:-2px; }
.sm-auth-form-pane { display:flex; align-items:center; min-width:0; padding:38px 38px; background:linear-gradient(160deg,#fff 0%,#fdfdfd 72%,#f8fbff 100%); }
.sm-auth-form-wrap { width:100%; max-width:372px; margin:0 auto; }
.sm-auth-form-kicker { margin:0 0 10px; color:#0789e6; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.sm-auth-form-pane h2 { margin:0 0 9px; color:#101b58; font-size:33px; line-height:1.08; font-weight:800; letter-spacing:-.025em; }
.sm-auth-subtitle { margin:0 0 27px; color:#687392; font-size:13px; line-height:1.5; }
.sm-auth-form .response-message { margin-bottom:14px; }
.sm-auth-form .response-message:empty { display:none; }
.sm-auth-form .alert { overflow-wrap:anywhere; }
.sm-field { margin-bottom:17px; }
.sm-field label { display:block; margin-bottom:7px; color:#111b50; font-size:12px; font-weight:700; }
.sm-input-wrap { position:relative; }
.sm-input-icon { position:absolute; left:15px; top:50%; transform:translateY(-50%); z-index:2; color:#8991a1; font-size:15px; pointer-events:none; }
.sm-auth-form .form-control { width:100%; height:46px; border:1px solid #cbd4e2!important; border-radius:8px!important; background:#fff!important; color:#172044!important; font-size:13px!important; padding:9px 43px 9px 43px!important; box-shadow:none!important; }
.sm-auth-form .form-control::placeholder { color:#8991a8; opacity:1; }
.sm-auth-form .form-control:focus { border-color:#0789e6!important; box-shadow:0 0 0 3px rgba(7,137,230,.12)!important; }
.sm-password-toggle { position:absolute; right:6px; top:50%; transform:translateY(-50%); width:34px; height:34px; border:0; background:transparent; color:#8991a1; border-radius:6px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.sm-password-toggle:hover { background:#eef7ff; color:#0789e6; }
.sm-password-toggle:focus-visible { outline:2px solid #0789e6; outline-offset:1px; }
.sm-login-options { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 20px; font-size:11.5px; }
.sm-login-options .form-check { display:flex; align-items:center; gap:8px; padding-left:0; margin:0; color:#15205d; }
.sm-login-options .form-check-input { float:none; margin:0!important; width:18px; height:18px; border:1px solid #8c98af; border-radius:3px; }
.sm-login-options .form-check-input:checked { background-color:#0789e6; border-color:#0789e6; }
.sm-login-options a { color:#0789e6!important; text-decoration:none; }
.sm-login-options a:hover,.sm-login-options a:focus { text-decoration:underline; }
.sm-auth-submit { width:100%; height:46px; border:0!important; border-radius:8px!important; background:linear-gradient(90deg,#08a5ef 0%,#0753cf 100%)!important; color:#fff!important; font-size:15px!important; font-weight:700!important; box-shadow:none!important; }
.sm-auth-submit:hover { filter:brightness(.96); }
.sm-auth-submit:focus-visible { outline:3px solid #83cdf8; outline-offset:3px; }
.sm-help { display:flex; align-items:center; gap:12px; margin-top:21px; color:#667089; font-size:10.5px; text-align:center; }
.sm-help::before,.sm-help::after { content:""; height:1px; flex:1; background:#d7dde7; }
.sm-back-row { margin-top:20px; text-align:center; font-size:12px; }
.sm-back-login { color:#0789e6!important; font-weight:600; text-decoration:none; }
.sm-back-login:hover,.sm-back-login:focus { text-decoration:underline; }
.sm-back-login:focus-visible { outline:2px solid #0789e6; outline-offset:4px; border-radius:2px; }
/* Keep all controls visible on short laptop displays; allow scrolling when needed. */
@media (min-width:701px) and (max-height:650px) {
  .sm-auth-page { padding:16px; }
  .sm-auth-card { width:min(850px,100%); min-height:440px; }
  .sm-auth-brand,.sm-auth-form-pane { padding:26px 30px; }
  .sm-auth-logo-box { width:170px; margin-bottom:22px; }
  .sm-auth-brand h1 { font-size:26px; margin-bottom:18px; }
  .sm-auth-benefits { gap:11px; }
  .sm-auth-benefits li { font-size:11px; }
  .sm-auth-form-pane h2 { font-size:28px; }
  .sm-auth-subtitle { margin-bottom:18px; font-size:12px; }
  .sm-field { margin-bottom:12px; }
  .sm-auth-form .form-control,.sm-auth-submit { height:40px; }
  .sm-help { margin-top:16px; }
}
@media (max-width:700px) {
  .sm-auth-page { padding:16px; }
  .sm-auth-card { grid-template-columns:1fr; max-width:440px; min-height:0; border-radius:16px; }
  .sm-auth-brand { padding:24px; }
  .sm-auth-logo-box { width:145px; margin-bottom:18px; }
  .sm-auth-kicker { font-size:10.5px; margin-bottom:10px; }
  .sm-auth-brand h1 { font-size:25px; margin-bottom:0; }
  .sm-auth-benefits { display:none; }
  .sm-auth-form-pane { padding:28px 24px; }
  .sm-auth-form-pane h2 { font-size:29px; }
  .sm-auth-form .form-control { font-size:16px!important; }
  .sm-login-options { flex-wrap:wrap; }
}
