/* Login-only refinements: preserve clinic backgrounds, show complete illustrations. */
#login-overlay .login-visual { display:flex; flex:1; flex-direction:column; justify-content:center; align-items:center; gap:22px; padding:30px; background:linear-gradient(145deg,#102442,#071329); }
#login-overlay .login-visual #login-side-img { display:block; width:auto; max-width:100%; height:auto; max-height:430px; object-fit:contain; opacity:1; transform:none!important; animation:none!important; transition:none!important; border-radius:22px; }
#login-overlay .visual-overlay { display:none!important; }
#login-overlay .visual-content { position:static; padding:0; background:none; text-align:center; }
#login-overlay .visual-content .visual-logo { display:none; }
#login-overlay .visual-content h2 { font-size:27px; margin:0 0 8px; }
#login-overlay .visual-content p { font-size:14px; margin:4px 0; }
#login-overlay .login-container { width:min(1120px,calc(100% - 32px)); max-width:1120px; height:auto; min-height:640px; }
#login-overlay .login-form-side { min-width:0; padding:38px; }
.pp-login-branding { align-items:center; }
.pp-login-branding .pp-brand-image-wrap, .pp-login-branding .pp-brand-image-wrap:hover { aspect-ratio:auto; width:min(100%,380px); max-width:100%; min-width:0; height:auto; animation:none!important; transform:none!important; transition:none!important; border:0; box-shadow:none; background:transparent; }
.pp-login-branding .pp-brand-image-wrap::after { display:none!important; animation:none!important; }
.pp-login-branding .pp-brand-image-wrap img { width:auto; max-width:100%; height:auto; max-height:380px; object-fit:contain; border-radius:20px; animation:none!important; transform:none!important; }
.pp-login-branding .pp-brand-anim { display:none; }
.pp-login-branding .pp-brand-url { margin-top:12px; }
@media(max-width:1100px){
 #login-overlay { overflow-y:auto!important; align-items:flex-start!important; padding:20px 12px!important; }
 #login-overlay .login-container { width:min(100%,500px)!important; max-width:500px!important; height:auto!important; min-height:0; flex-direction:column!important; margin:auto!important; overflow:visible; background:transparent!important; }
 #login-overlay .login-visual { flex:none; width:100%; padding:18px 24px; box-sizing:border-box; border-radius:24px 24px 0 0; gap:0; }
 #login-overlay .login-visual #login-side-img { width:auto; max-width:100%; max-height:180px; border-radius:16px; }
 #login-overlay .visual-content { display:none!important; }
 #login-overlay .login-form-side { position:relative!important; inset:auto!important; transform:none!important; width:100%!important; max-width:none!important; height:auto!important; max-height:none!important; padding:24px!important; border-radius:0 0 24px 24px!important; overflow:visible!important; margin:0!important; box-sizing:border-box; }
 #login-overlay .login-header { margin-bottom:18px!important; }
 #login-overlay .login-header .logo-main { max-height:58px!important; margin-bottom:10px!important; }
 #login-overlay .login-header h3 { font-size:23px!important; }
 #login-overlay .login-header p { display:none; }
 #login-overlay .login-form-wrapper { flex:none!important; overflow:visible!important; }
 #login-overlay .login-body { overflow:visible!important; }
}
@media(max-width:768px){
 .pp-login-branding .pp-brand-image-wrap { width:min(100%,240px); max-width:240px; }
 .pp-login-branding .pp-brand-image-wrap img { max-height:210px; }
 #login-overlay .login-container { box-shadow:0 20px 60px #02061766!important; }
 #login-overlay .login-visual { display:flex!important; }
}

/* User's latest refinement: the illustration fills its visual card. */
#login-overlay .login-visual { position:relative; padding:0; min-height:640px; overflow:hidden; }
#login-overlay .login-visual #login-side-img { position:absolute; inset:0; width:100%; max-width:none; height:100%; max-height:none; object-fit:cover; object-position:center; border-radius:0; }
#login-overlay .visual-overlay { display:block!important; background:linear-gradient(180deg,rgba(5,14,32,.03) 25%,rgba(5,14,32,.2) 58%,rgba(5,14,32,.92) 100%); }
#login-overlay .visual-overlay::before,#login-overlay .visual-overlay::after,#login-overlay .visual-glow { display:none!important; animation:none!important; }
#login-overlay .visual-content { position:absolute; inset:auto 0 0; padding:30px 28px; text-align:center; }
.pp-login-branding { position:relative; isolation:isolate; overflow:hidden; justify-content:flex-end; min-height:540px; padding:32px; }
.pp-login-branding::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(5,14,32,.02) 30%,rgba(5,14,32,.18) 60%,rgba(5,14,32,.94) 100%); pointer-events:none; }
.pp-login-branding .pp-brand-image-wrap,.pp-login-branding .pp-brand-image-wrap:hover { position:absolute; inset:0; z-index:-2; margin:0; width:100%; max-width:none; height:100%; border-radius:0; }
.pp-login-branding .pp-brand-image-wrap img { width:100%; max-width:none; height:100%; max-height:none; object-fit:cover; object-position:center; border-radius:0; }
.pp-login-branding .pp-brand-title { width:100%; margin:0; }
.pp-login-branding .pp-brand-url { width:100%; margin-top:10px; }
@media(max-width:1100px){
 #login-overlay .login-visual { height:210px; min-height:210px; padding:0; }
 #login-overlay .login-visual #login-side-img { width:100%; max-width:none; height:100%; max-height:none; object-fit:cover; object-position:center 57%; border-radius:0; }
 #login-overlay .visual-content { display:block!important; padding:18px; }
 #login-overlay .visual-content h2 { font-size:22px; margin:0; }
 #login-overlay .visual-content p { display:none; }
}
@media(max-width:768px){
 .pp-login-branding { flex:none; width:100%; height:210px; min-height:210px; padding:18px!important; justify-content:flex-end; }
 .pp-login-branding .pp-brand-image-wrap { width:100%; max-width:none; min-width:0; }
 .pp-login-branding .pp-brand-image-wrap img { max-height:none; object-position:center 57%; }
 .pp-login-branding .pp-brand-title { max-width:none; width:100%; font-size:1.08rem; }
}

/* Compact mobile sign-in; desktop artwork remains unchanged. */
#login-overlay .custom-checkbox input:checked + .checkmark{background:#2563eb!important;border-color:#2563eb!important}
#login-overlay .custom-checkbox input:checked + .checkmark:after{border-color:#fff!important}
#login-overlay .custom-checkbox input:focus-visible + .checkmark{outline:3px solid #93c5fd;outline-offset:3px}
@media(max-width:768px){
 #login-overlay .login-visual,.pp-login-branding{display:none!important}
 #login-overlay .login-form-side{border-radius:24px!important}
}
