/* DASVOR brand layer: scoped to unauthenticated login; existing app themes remain intact. */
body:has(#login:not(.hidden)),body:has(#loginMfa:not(.hidden)),body:has(#forcePassword:not(.hidden)) {background: #081725; min-height:100dvh;}
#login,#loginMfa,#forcePassword {width:min(440px,calc(100% - 32px));margin:clamp(60px,12vh,125px) auto 30px;padding:28px 30px 32px;background:rgba(6,17,32,.93);border:1px solid rgba(0,166,255,.35);border-radius:16px;box-shadow:0 20px 80px rgba(0,0,0,.35);text-align:center;color:#E8EDF5;}
#login .dasvor-login-logo{display:block;width:min(100%,340px);height:auto;max-height:130px;object-fit:contain;margin:-12px auto 14px;filter:drop-shadow(0 0 12px rgba(0,114,255,.17));}
#login .dasvor-login-heading{font-size:clamp(22px,3vw,27px);font-weight:700;letter-spacing:-.5px;}
#login .dasvor-login-heading strong{color:#00A6FF;}
#login .subtitle{font-size:14px;margin:8px 0 22px;color:#a7bdd7;}
#login input:not([type=checkbox]),#loginMfa input,#forcePassword input{background:rgba(4,14,27,.92);border:1px solid #31516f;color:#E8EDF5;min-height:48px;font-size:16px;}
#login button.primary,#loginMfa button.primary,#forcePassword button.primary{background:linear-gradient(100deg,#0072FF,#00A6FF);border-color:#00A6FF;color:#fff;min-height:48px;font-weight:650;}
#loginMfa .login-trusted-device{background:transparent;border:0;padding:2px 0;text-align:left;}
#loginMfa .login-trusted-device input{accent-color:#0072FF;}
@media(max-width:600px){#login,#loginMfa,#forcePassword{margin:clamp(30px,8vh,80px) auto 24px;padding:24px 20px;}#login .dasvor-login-logo{max-width:290px;}}

/* Authentication pages borrow the one Theme Studio rain canvas. */
body:has(:is(#login,#loginMfa,#forcePassword):not(.hidden)) #fb64-atmosphere {
  opacity:1!important;
  position:fixed;
  inset:0;
  z-index:0!important;
  pointer-events:none;
}
body:has(:is(#login,#loginMfa,#forcePassword):not(.hidden)) #fb64-atmosphere canvas {opacity:.72;}
body:has(:is(#login,#loginMfa,#forcePassword):not(.hidden)) :is(#login,#loginMfa,#forcePassword):not(.hidden) {
  position:relative;
  z-index:2;
}
body:has(:is(#login,#loginMfa,#forcePassword):not(.hidden)) {overflow-x:hidden;}
@media (prefers-reduced-motion:reduce) {
  body:has(:is(#login,#loginMfa,#forcePassword):not(.hidden)) #fb64-atmosphere {opacity:0!important;}
}

#loginMfa .login-trusted-device{display:flex;align-items:flex-start;gap:10px;margin:12px 0 16px;}
#loginMfa .login-trusted-device small{display:block;color:#a7bdd7;font-size:11px;margin-top:3px;}
