/* Login layout: shared structure with SerenityAds, DIGI blue palette. */
body#s-LoginPage { margin: 0; background: #fff !important; color: #003865; }
#s-LoginPage .digi-login-shell { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); min-height: 100vh; min-height: 100svh; font-family: Poppins-Regular, sans-serif; }
#s-LoginPage .digi-login-visual { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: clamp(32px, 4.5vw, 76px); background: #003865; color: #fff; }
#s-LoginPage .digi-login-photo { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 45% center; }
#s-LoginPage .digi-login-visual::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(155deg, rgba(0, 56, 101, .45), rgba(0, 56, 101, .3) 35%, rgba(0, 56, 101, .94)); }
#s-LoginPage .digi-login-brand { display: flex; align-items: center; gap: 14px; font-size: 22px; font-family: Poppins-SemiBold, sans-serif; letter-spacing: 1px; }
#s-LoginPage .digi-brand-mark { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.5); border-radius: 12px; background: rgba(1,124,255,.3); font-size: 27px; }
#s-LoginPage .digi-brand-light { font-family: Poppins-Regular, sans-serif; opacity: .8; }
#s-LoginPage .digi-login-copy { padding: 100px 0 80px; }
#s-LoginPage .digi-login-eyebrow { font-size: 11px; letter-spacing: 2.5px; color: #a9d8ff; }
#s-LoginPage .digi-login-copy h1 { margin: 24px 0; font-family: Poppins-SemiBold, sans-serif; font-size: clamp(32px, 3.15vw, 54px); line-height: 1.22; letter-spacing: -1.5px; color: #fff; }
#s-LoginPage .digi-login-copy h1 em { color: #80c6ff; font-style: normal; }
#s-LoginPage .digi-login-copy p { color: #e0effc; font-size: 15px; line-height: 1.9; }
#s-LoginPage .digi-login-visual-footer { color: #c2dbed; font-size: 12px; }
#s-LoginPage .digi-login-visual-footer i { margin-right: 8px; }
#s-LoginPage .digi-login-access { display: flex; align-items: center; justify-content: center; padding: 56px clamp(24px, 5vw, 88px); background: #fff; }
#s-LoginPage .digi-login-content { width: 100%; max-width: 410px; min-width: 0; }
#s-LoginPage .digi-access-brand { margin-bottom: 52px; color: #003865; font-family: Poppins-Bold, sans-serif; font-size: 25px; letter-spacing: .5px; }
#s-LoginPage .digi-access-brand span { color: #017cff; font-family: Poppins-Regular, sans-serif; }
#s-LoginPage .digi-access-eyebrow { font-size: 10px; letter-spacing: 1.5px; color: #627c92; margin-bottom: 12px; }
#s-LoginPage .container-login100 { display: block; min-height: 0; padding: 0; background: none; }
#s-LoginPage .container-login100::before { display: none; }
#s-LoginPage .wrap-login100 { width: 100%; padding: 0; overflow: visible; background: none; border-radius: 0; }
#s-LoginPage .login100-form-title { padding: 0 0 36px; color: #003865; font-family: Poppins-SemiBold, sans-serif; font-size: 29px; line-height: 1.3; text-align: left; text-transform: none; }
#s-LoginPage .wrap-input100 { display: flex; align-items: center; min-height: 58px; border: 1px solid #d5e1ec; background: #f6f9fc; border-radius: 10px; margin-bottom: 20px; }
#s-LoginPage .wrap-input100:focus-within { border-color: #017cff; box-shadow: 0 0 0 3px rgba(1,124,255,.12); }
#s-LoginPage .input100 { width: 100%; height: 58px; padding: 0 18px 0 48px; color: #003865; font-size: 14px; background: transparent; border-radius: 10px; }
#s-LoginPage .input100::placeholder { color: #627c92; opacity: 1; }
#s-LoginPage .input100:focus, #s-LoginPage .has-val.input100 { padding-left: 48px; }
#s-LoginPage .focus-input100 { border: 0; pointer-events: none; }
#s-LoginPage .focus-input100::before { display: none; }
#s-LoginPage .focus-input100::after { top: 50%; left: 18px; transform: translateY(-50%); color: #71899c; font-size: 20px; }
#s-LoginPage .input100:focus + .focus-input100::after, #s-LoginPage .has-val.input100 + .focus-input100::after { top: 50%; font-size: 20px; }
#s-LoginPage .wrap-input100 > i { position: static; flex-shrink: 0; color: #627c92; padding: 12px; font-size: 19px !important; }
#s-LoginPage .container-login100-form-btn { padding-top: 8px; }
#s-LoginPage .login100-form-btn { width: 100%; min-height: 54px; border-radius: 10px; background: linear-gradient(110deg, #017cff, #003865); color: #fff; font-family: Poppins-Medium, sans-serif; font-size: 15px; box-shadow: 0 8px 20px rgba(1,124,255,.16); }
#s-LoginPage .login100-form-btn::before { display: none; }
#s-LoginPage .login100-form-btn:hover { background: #003865; }
#s-LoginPage .login100-form-btn:focus-visible, #s-LoginPage a:focus-visible { outline: 3px solid #017cff !important; outline-offset: 4px; }
#s-LoginPage .login100-form > .text-center { padding-top: 28px; }
#s-LoginPage .txt1 { color: #0067d4; font-size: 12px; }
#s-LoginPage .txt1:hover { color: #003865; text-decoration: underline; }
#s-LoginPage .login100-form > .pull-right { display: none; }
#s-LoginPage .digi-login-copyright { margin-top: 48px; color: #627c92; font-size: 11px; text-align: center; }
#s-LoginPage .alert { margin-bottom: 20px; }
@media (max-width: 900px) {
    #s-LoginPage .digi-login-shell { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    #s-LoginPage .digi-login-visual { padding: 32px; }
    #s-LoginPage .digi-login-copy h1 { font-size: 34px; }
    #s-LoginPage .digi-login-access { padding: 40px 28px; }
}
@media (max-width: 680px) {
    #s-LoginPage .digi-login-shell { grid-template-columns: minmax(0, 1fr); }
    #s-LoginPage .digi-login-visual { min-height: 240px; padding: 24px; }
    #s-LoginPage .digi-login-brand { font-size: 17px; }
    #s-LoginPage .digi-brand-mark { width: 54px; height: 54px; font-size: 21px; border-radius: 9px; }
    #s-LoginPage .digi-login-copy { padding: 28px 0 0; }
    #s-LoginPage .digi-login-copy h1 { font-size: 28px; letter-spacing: -.8px; margin: 12px 0 0; }
    #s-LoginPage .digi-login-copy p, #s-LoginPage .digi-login-visual-footer { display: none; }
    #s-LoginPage .digi-login-access { padding: 32px 24px; }
    #s-LoginPage .digi-access-brand { display: none; }
    #s-LoginPage .login100-form-title { font-size: 26px; padding-bottom: 26px; }
    #s-LoginPage .digi-login-copyright { margin-top: 32px; }
}
