/* V19 portal isolation + responsive login fix. Loaded after all legacy styles. */
html:has(body.admin-body), body.admin-body {height:100%;min-height:100%;margin:0!important;}
body.admin-body {overflow:hidden!important;overscroll-behavior:none;background:#050b2b!important;}
body.admin-body #adminLogin {position:fixed!important;inset:0!important;z-index:10000!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100vh!important;height:100dvh!important;min-height:0!important;box-sizing:border-box!important;padding:clamp(14px,3vw,32px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;}
body.admin-body #adminLogin .login-card {flex:0 0 auto!important;width:min(460px,100%)!important;max-width:460px!important;max-height:calc(100vh - 28px)!important;max-height:calc(100dvh - 28px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;margin:auto!important;}
body.admin-body #adminApp {display:none!important;visibility:hidden!important;pointer-events:none!important;}
body.admin-body.admin-authenticated #adminLogin {display:none!important;visibility:hidden!important;pointer-events:none!important;}
body.admin-body.admin-authenticated #adminApp {display:block!important;visibility:visible!important;pointer-events:auto!important;}
body.admin-body.admin-authenticated {height:auto;min-height:100vh;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:auto;}
body.admin-body.admin-authenticated #adminApp .sd-shell {min-height:100vh;width:100%;}
body.admin-body #adminLogin .brand {display:inline-flex;max-width:100%;}
body.admin-body #adminLogin .brand img {display:block;max-width:100%;height:auto;object-fit:contain;}
body.admin-body #adminLogin .login-form {display:grid;gap:13px;width:100%;}
body.admin-body #adminLogin .portal-field input {width:100%;min-width:0;box-sizing:border-box;}
body.admin-body #adminMsg {overflow-wrap:anywhere;}
body.admin-body #adminLogin .login-card > * {max-width:100%;}
body.member-login-body {height:100%;min-height:100%;margin:0!important;overflow:hidden!important;overscroll-behavior:none;}
body.member-login-body #memberLoginShell {position:fixed!important;inset:0!important;z-index:10000!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100vh!important;height:100dvh!important;min-height:0!important;padding:clamp(14px,3vw,32px)!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;}
body.member-login-body #memberLoginShell .login-card {flex:0 0 auto!important;width:min(480px,100%)!important;max-height:calc(100vh - 28px)!important;max-height:calc(100dvh - 28px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;margin:auto!important;}
@media(max-width:600px){body.admin-body #adminLogin .login-card,body.member-login-body #memberLoginShell .login-card{padding:22px!important;border-radius:18px!important;}body.admin-body #adminLogin .login-card h1{font-size:clamp(27px,8vw,34px)!important;}}
@media(max-height:680px){body.admin-body #adminLogin,body.member-login-body #memberLoginShell{align-items:flex-start!important;padding-top:12px!important;padding-bottom:12px!important;}body.admin-body #adminLogin .login-card,body.member-login-body #memberLoginShell .login-card{max-height:calc(100dvh - 24px)!important;}}
