/* The same page and styles are used for public login and authenticated preview. */
body.sl-login{background:var(--login-background);color:var(--login-text)}
.sl-login .form-section{background:rgba(var(--login-surface-rgb),var(--login-card-alpha));color:var(--login-text)}
.sl-login .form-section :is(h1,h2,h3,.text-dark){color:var(--login-text)!important}
.sl-login .form-section .text-muted{color:var(--login-muted)!important}
.sl-login .brand-icon{background:var(--login-primary);box-shadow:0 4px 10px color-mix(in srgb,var(--login-primary) 25%,transparent)}
.sl-login .brand-icon:has(img){background:transparent;box-shadow:none}.sl-login .brand-icon img{width:100%;height:100%;object-fit:contain}
.sl-login .btn-primary{background:var(--login-primary);border-color:var(--login-primary);color:var(--login-on-primary)!important;white-space:normal;height:auto;min-height:52px}
.sl-login .btn-primary:hover{filter:brightness(.92)}.sl-login .form-control:focus{border-color:var(--login-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--login-primary) 15%,transparent)}
.sl-login .bg-image-real{object-fit:contain;object-position:center center;filter:none;transform:none}
.sl-login .overlay{background:linear-gradient(to top,rgba(var(--login-overlay-rgb),min(1,calc(var(--login-overlay-alpha) + .3))),rgba(var(--login-overlay-rgb),var(--login-overlay-alpha)))}
.sl-login .login-brand-badge{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--login-primary);margin:0 0 5px;overflow-wrap:anywhere}
.sl-login .login-inline-welcome{display:none}.sl-login .password-toggle{position:absolute;right:13px;top:50%;translate:0 -50%;border:0;background:none;color:var(--login-muted);min-width:34px;min-height:40px;z-index:10}.sl-login .form-floating:has(.password-toggle) input{padding-right:50px}
.sl-login :is(.login-footer,.login-form-help){overflow-wrap:anywhere}.sl-login .caption-text :is(h1,p){overflow-wrap:anywhere}
.sl-login.layout-center .login-card,.sl-login.layout-minimal .login-card{min-height:0;max-width:460px;overflow:visible;background:transparent;box-shadow:none}
.sl-login:is(.layout-center,.layout-minimal) .image-section{position:fixed;inset:0;z-index:-1;display:block}.sl-login:is(.layout-center,.layout-minimal) .caption-text{display:none}
.sl-login:is(.layout-center,.layout-minimal) .form-section{border-radius:24px;padding:36px;width:100%}.sl-login:is(.layout-center,.layout-minimal) .login-inline-welcome{display:block;margin-bottom:16px}.sl-login .login-inline-welcome h1{font-size:25px;font-weight:800;margin-bottom:5px}.sl-login .login-inline-welcome p{font-size:13px;color:var(--login-muted)}
.sl-login.layout-minimal{align-items:flex-end;justify-content:flex-end;padding:32px}.sl-login.layout-minimal .form-section{padding:28px}
@media(max-width:768px){.sl-login{padding:14px}.sl-login .login-card{min-height:0}.sl-login .form-section{padding:28px 22px}.sl-login .brand-icon{margin-bottom:17px}.sl-login .form-control{font-size:16px}.sl-login.mobile-image .image-section{display:block;min-height:175px;flex:auto}.sl-login.mobile-image .caption-text{bottom:18px;left:22px;right:22px}.sl-login.mobile-image .caption-text h1{font-size:26px}.sl-login.mobile-image .caption-text p{font-size:13px}.sl-login.layout-minimal{padding:14px}.sl-login:is(.layout-center,.layout-minimal) .form-section{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){.sl-login .bg-image-real{transition:none}.sl-login .image-section:hover .bg-image-real{transform:none}}
@media(max-width:768px){.sl-login.mobile-image.layout-split .login-card{flex-direction:column}.sl-login.mobile-image.layout-split .image-section{height:190px;flex:none}.sl-login.mobile-image.layout-split .bg-image-real{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center}}
.sl-login .btn-primary,.sl-login .btn-primary:focus{background:var(--login-primary)!important;border-color:var(--login-primary)!important;color:var(--login-on-primary)!important}
.sl-login .brand-icon{background:var(--login-primary)!important;color:var(--login-on-primary)!important}
