/* Sign-in pages (sign-in + 2-step, client look): the footer always stays on screen (#1067, Sunny chat #11550/#11555). */
/* "This is required." sits on the label line, so it never adds height */
body.hf:has(.clhead) .auth label{position:relative}
body.hf:has(.clhead) .auth label .rq-msg{position:absolute;top:0;right:0;margin:0;font-size:13px!important;line-height:inherit;text-align:right}
/* if anything is still too tall (a long message), the card scrolls inside; the footer is never pushed off */
body.hf:has(.clhead) .authwrap>.auth{flex-shrink:1!important;min-height:0;overflow-y:auto;overscroll-behavior:contain}
body.hf:has(.clhead) .authwrap>.hffoot{flex-shrink:0}
@media (max-height:700px){
  body.hf:has(.clhead) .auth{gap:10px}
  body.hf:has(.clhead) .auth form{gap:8px}
  body.hf:has(.clhead) .auth .gor{margin:0;line-height:1}
  body.hf:has(.clhead) .auth form:has(.err) h1{display:none}
}
/* Powered by line (Sunny chat #11588): small and quiet, about 20 px tall */
body.hf .hffoot.hfmini{display:flex;align-items:center;justify-content:center;gap:7px;min-height:0;padding:10px 0 12px;font-size:13px;color:#c9d4e8;text-decoration:none;opacity:.9}
body.hf .hffoot.hfmini img{width:20px;height:20px;border-radius:5px;display:block}
body.hf .hffoot.hfmini b{font-weight:700;color:#fff}
body.hf .hffoot.hfmini:hover{opacity:1}
