.bst-auth-page{min-height:calc(100vh - 40px);background:#f6f5f0;padding:48px 20px 72px;font-family:'Manrope',system-ui,sans-serif;color:#1c1917}
.bst-auth-shell{width:min(100%,960px);margin:0 auto}
.bst-auth-shell--narrow{width:min(100%,540px)}
.bst-auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:30px;text-decoration:none;color:#1c1917}
.bst-auth-logo{width:42px;height:42px;border-radius:12px;background:#003f87;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px}
.bst-auth-brand strong{font-family:'Manrope',system-ui,sans-serif;font-size:20px}
.bst-auth-card{background:#fff;border:1px solid #e7e5e4;border-radius:28px;padding:32px;box-shadow:0 18px 45px rgba(28,25,23,.07)}
.bst-auth-heading{text-align:center;margin-bottom:26px}
.bst-auth-heading h1{font-family:'Manrope',system-ui,sans-serif;font-size:clamp(30px,5vw,42px);line-height:1.08;margin:0;color:#1c1917}
.bst-auth-heading p{color:#78716c;margin:10px auto 0;max-width:590px;line-height:1.65}
.bst-portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bst-portal-card{display:flex;flex-direction:column;min-height:250px;border:1px solid #e7e5e4;border-radius:22px;padding:24px;text-decoration:none;color:#1c1917;background:#fff;transition:.2s ease}
.bst-portal-card:hover{transform:translateY(-3px);border-color:#99d5ce;box-shadow:0 14px 30px rgba(15,118,110,.10)}
.bst-portal-icon{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#eef5ff;color:#003f87;font-size:23px;margin-bottom:19px}
.bst-portal-card--admin .bst-portal-icon{background:#f5f5f4;color:#292524}
.bst-portal-card h2{font-family:'Manrope',system-ui,sans-serif;font-size:22px;margin:0 0 8px}
.bst-portal-card p{font-size:14px;line-height:1.55;color:#78716c;margin:0 0 22px}
.bst-portal-card span{margin-top:auto;font-size:14px;font-weight:800;color:#003f87}
.bst-portal-card--admin span{color:#292524}
.bst-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bst-field{margin-bottom:16px}
.bst-field label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#78716c;margin-bottom:7px}
.bst-field input{width:100%;box-sizing:border-box;border:1px solid #d6d3d1;border-radius:13px;padding:12px 14px;font:inherit;background:#fff;color:#1c1917;outline:none}
.bst-field input:focus{border-color:#003f87;box-shadow:0 0 0 3px rgba(13,148,136,.12)}
.bst-form-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 20px;font-size:13px;color:#57534e}
.bst-form-meta label{display:flex;align-items:center;gap:7px}
.bst-auth-button{display:inline-flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;background:#003f87;color:#fff;border:0;border-radius:14px;padding:13px 18px;font-weight:800;font-size:15px;cursor:pointer;text-decoration:none}
.bst-auth-button:hover{background:#002f6c;color:#fff}
.bst-auth-button--dark{background:#292524}.bst-auth-button--dark:hover{background:#1c1917}
.bst-auth-links{text-align:center;margin-top:18px;font-size:14px;color:#78716c;line-height:1.8}
.bst-auth-links a{color:#003f87;font-weight:700;text-decoration:none}
.bst-auth-alert{border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.5;margin-bottom:18px;background:#fff1f2;border:1px solid #fecdd3;color:#be123c}
.bst-auth-note{border-radius:16px;padding:14px 16px;font-size:13px;line-height:1.6;margin:4px 0 20px;background:#fffbeb;border:1px solid #fde68a;color:#92400e}
.bst-auth-note strong{display:block;color:#78350f;margin-bottom:3px}
.bst-auth-back{display:block;text-align:center;margin-top:18px;font-size:13px;color:#78716c;text-decoration:none}
.bst-auth-security{display:flex;gap:9px;align-items:flex-start;background:#eef5ff;border:1px solid #ccfbf1;color:#002f6c;border-radius:14px;padding:13px 14px;font-size:13px;line-height:1.5;margin-bottom:18px}
@media(max-width:760px){.bst-portal-grid{grid-template-columns:1fr}.bst-portal-card{min-height:190px}.bst-form-row{grid-template-columns:1fr}.bst-auth-card{padding:24px}.bst-auth-page{padding-top:30px}}
.bst-portal-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin:0 auto}
.bst-auth-card--wide{max-width:760px;margin:0 auto}
.bst-admin-private-note{text-align:center;color:#78716c;font-size:12px;margin:18px 0 0}
.bst-field small{display:block;color:#78716c;font-size:11px;line-height:1.4;margin-top:5px}
.bst-field label span{font-weight:500;text-transform:none;letter-spacing:0}
@media(max-width:760px){.bst-portal-grid--two{grid-template-columns:1fr}}

.bst-auth-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:10px}.bst-auth-logo{overflow:hidden;background:transparent!important}


/* Google / social login integration */
.bst-social-login{margin:0 0 20px;text-align:center}
.bst-social-login-label{font-size:12px;font-weight:800;color:#57534e;margin-bottom:10px}
.bst-social-login .nsl-container{display:flex!important;justify-content:center!important}
.bst-social-login .nsl-container-buttons{width:100%!important;max-width:none!important}
.bst-social-login .nsl-button{width:100%!important;box-sizing:border-box!important;border-radius:14px!important;min-height:46px!important;justify-content:center!important}
.bst-auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 2px;color:#a8a29e;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.bst-auth-divider:before,.bst-auth-divider:after{content:"";height:1px;background:#e7e5e4;flex:1}
.bst-auth-divider span{white-space:nowrap}
.bst-social-login-help{font-size:11px;line-height:1.5;color:#78716c;margin:10px 0 0}


/* v4.12.1 — auth pages over shared site background */
.bst-auth-page{
  background:transparent!important;
}
.bst-auth-card,
.bst-portal-card{
  background:rgba(255,255,255,.94)!important;
  border-color:#dbe6f2!important;
  box-shadow:0 18px 45px rgba(0,63,135,.08)!important;
}


/* v4.12.2 — inherit visible global coastal page background */
.bst-auth-page{
  background-color:transparent!important;
  background-image:none!important;
}


/* v4.12.3 — keep auth root transparent over the shared coastal background */
body:not(.wp-admin) .bst-auth-page{
  background:transparent!important;
  background-image:none!important;
}
