/* Identical QCinema login layout, scoped to existing login forms. */
:root body:has(> .center > .content > .panel),
:root body:has(> .account-wall > form.form-signin){
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;
 min-height:100vh;min-height:100dvh;margin:0;padding:24px 14px;box-sizing:border-box;
 background:#071019;color:#e5e9ef;
}
:root .center:has(> .content > .panel){display:block;flex:none;width:380px;max-width:100%;height:auto;margin:0;padding:0}
:root .center>.content:has(> .panel){display:block;width:100%;max-width:none;min-width:0;flex:none;margin:0;padding:0}
:root .content>.panel:has(> .panel-body > form),
:root .account-wall:has(> form.form-signin){
 display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 18px auto;row-gap:18px;align-content:start;
 flex:none;width:100%;min-height:480px;margin:0;padding:28px;box-sizing:border-box;
 background:#111923;border:1px solid #29415a;border-radius:16px;box-shadow:0 16px 44px #0000007a;
}
:root .account-wall:has(> form.form-signin){position:static;top:auto;left:auto;transform:none;width:380px;max-width:100%}
:root .content>.panel>.panel-header,
:root .account-wall>.logo-header{
 grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;
 position:relative;width:100%;height:auto;margin:0;padding:0;background:none;border:0;border-radius:0;text-align:center;
}
:root .panel-header img.logo{
 display:block;flex:none;content:url("/qcinema-sonarr/assets/qcinema-wordmark.png");
 width:228px;max-width:100%;height:auto;object-fit:contain;margin:0;padding:0;
}
:root .account-wall>.logo-header>svg{display:none}
:root .account-wall>.logo-header::before{
 content:"";display:block;flex:none;width:228px;max-width:100%;aspect-ratio:2171/724;margin:0;
 background:url("/qcinema-sonarr/assets/qcinema-wordmark.png") center/contain no-repeat;
}
:root .qc-login-name{margin:0;padding:0;color:#bfc6d0;font-size:16px;line-height:24px;font-weight:600}
:root .content>.panel>.panel-body{display:contents;margin:0;padding:0;border:0;background:transparent}
:root .panel-body .sign-in,:root .qc-login-intro{
 grid-row:2;display:block;margin:0;padding:0;color:#bfc6d0;text-align:center;font-size:12px;line-height:18px;
}
:root .panel-body form,:root form.form-signin{
 grid-row:3;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 44px 24px 44px;
 gap:14px;align-content:start;margin:0;padding:0;min-width:0;
}
:root .panel-body .form-group{margin:0;padding:0;min-width:0}
:root .panel-body .form-group:has(input[name=username]),:root .form-signin>input[name=username]{grid-row:1}
:root .panel-body .form-group:has(input[name=password]),:root .form-signin>input[name=password]{grid-row:2}
:root .panel-body .form-input,:root .form-signin .form-control{
 display:block;box-sizing:border-box;width:100%;max-width:100%;height:44px;margin:0;padding:10px 14px;
 background:#0b1927;border:1px solid #315474;border-radius:7px;color:#e5e9ef;font-size:14px;line-height:22px;
}
:root .panel-body .remember-me-container,:root .form-signin>.text-center{
 grid-row:3;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:8px;
 height:24px;margin:0;padding:0;color:#bfc6d0;font-size:12px;line-height:20px;text-align:left;
}
:root .panel-body .remember-me,:root .form-signin>.text-center>label{
 display:inline-flex;align-items:center;flex-direction:row;gap:7px;white-space:nowrap;
 margin:0;padding:0;color:#bfc6d0;font-size:12px;font-weight:400;line-height:20px;
}
:root .panel-body .remember-me label{margin:0;padding:0;font-size:12px;font-weight:400;line-height:20px}
:root .panel-body .remember-me input[type=checkbox],:root .form-signin>.text-center input[type=checkbox]{
 appearance:auto;-webkit-appearance:auto;position:static;display:inline-block;flex:none;
 width:13px;height:13px;margin:0!important;padding:0;top:auto;left:auto;
 border-radius:0;background:none!important;background-image:none!important;box-shadow:none;accent-color:#007bff;
}
:root .panel-body .forgot-password,:root .form-signin>.text-center>a{
 position:static;display:inline;flex:none;float:none;margin:0;padding:0;color:#bfc6d0;font-size:12px;line-height:20px;
}
:root .panel-body .forgot-password:hover,:root .form-signin>.text-center>a:hover{color:#00cfff}
:root .panel-body button.button,:root .form-signin button.btn{
 grid-row:4;display:block;box-sizing:border-box;width:100%;height:44px;margin:0;padding:10px 14px;
 border:1px solid #007bff!important;border-radius:7px;background:#007bff!important;color:#fff!important;
 font-size:14px;font-weight:600;line-height:22px;text-align:center;transition:background-color .18s ease;
}
:root .form-signin button.btn .glyphicon{display:none}
:root .panel-body button.button:hover,:root .form-signin button.btn:hover{background:#168aff!important;border-color:#168aff!important}
:root .panel-body .login-failed,:root .form-signin>.alert{grid-row:5;margin:0}
:root .center>.content>.qc-login-footer,:root body>.qc-login-footer{
 display:block;flex:none;box-sizing:border-box;width:380px;max-width:100%;height:18px;
 margin:16px 0 0;padding:0;border:0;color:#bfc6d0;font-size:12px;font-weight:400;line-height:18px;text-align:center;
}
@media(max-width:420px){
 :root .content>.panel:has(> .panel-body > form),:root .account-wall:has(> form.form-signin){padding:24px;min-height:460px}
}
