/* Scoped login layout fix; original product/backend remain unchanged. */
.reference-login { display:flex; flex-direction:column; height:100vh; height:100dvh; overflow-y:auto; overflow-x:hidden; overscroll-behavior-y:contain; scroll-padding-block:20px; scrollbar-width:thin; }
.reference-login__language { flex:0 0 auto; }
.reference-login__canvas { flex:1 0 auto; min-height:0; }
/* Preserve form target sizes. Compact the artwork spacing on phone-height
   viewports; registration, errors and the keyboard may still require scrolling. */
@media (max-width:767px) and (max-height:880px) {
  .reference-login__canvas { padding-top:clamp(24px,4vh,36px); padding-bottom:max(24px,env(safe-area-inset-bottom)); }
  .reference-login__brand { width:200px; }
  .reference-login__heading { margin-top:clamp(20px,4vh,32px); }
  .reference-login__heading h1 { font-size:36px; }
  .reference-login__switch { margin-top:24px; }
  .reference-login__form { margin-top:18px; gap:12px; }
  .reference-login__help { margin-top:6px; }
  .reference-login__submit { margin-top:8px; }
  .reference-login__footer { margin-top:20px; }
}
@media (max-width:767px) and (max-height:620px) {
  .reference-login__canvas { padding-top:16px; }
  .reference-login__brand { width:168px; }
  .reference-login__heading { margin-top:20px; }
  .reference-login__heading h1 { font-size:30px; }
  .reference-login__switch { margin-top:18px; }
}
.reference-login::-webkit-scrollbar { display:block; width:4px; }
.reference-login::-webkit-scrollbar-thumb { background:#365174; border-radius:4px; }
