:root { --qs-application-logo-background: #282d38; }
.qs-app-logo-surface { display:flex; align-items:center; justify-content:center; background:var(--qs-application-logo-background); color:#fff; overflow:hidden; }
.qs-app-logo-surface img { display:block; max-width:100%; object-fit:contain; height:auto; }
.qs-app-logo-login { border-radius:10px; padding:22px; min-height:140px; }
.qs-app-logo-login img { max-width:100%; max-height:160px; margin:0!important; }
.sidebar-wrap .profile { background:var(--qs-application-logo-background); }
.sidebar-wrap .profile img[data-qs-application-logo] { max-width:150px; max-height:110px; width:auto; height:auto; object-fit:contain; }
.header-tools img[data-qs-application-logo] { max-width:110px; max-height:50px; width:auto; height:auto; object-fit:contain; }
.qs-application-logo-card { border:1px solid #d9e5e0; border-radius:10px; padding:18px; background:#f4f9f7; }
.qs-application-logo-card h4 { margin:0 0 8px; }
.qs-application-logo-preview { padding:20px; border-radius:8px; min-height:140px; margin:16px 0; }
.qs-application-logo-preview img { max-height:120px; }
.qs-application-logo-feedback { margin-top:10px; border-radius:8px; padding:10px; overflow-wrap:anywhere; }
.qs-application-logo-feedback.is-loading { background:#edf5fa; color:#365c71; }
.qs-application-logo-feedback.is-loading::before { content:''; display:inline-block; width:1em; height:1em; border:2px solid #b8cfdc; border-top-color:#365c71; border-radius:50%; margin-right:8px; vertical-align:-.15em; animation:qs-application-logo-spin .9s linear infinite; }
.qs-application-logo-feedback.is-error { background:#fff0ed; color:#9d352b; }
.qs-application-logo-feedback.is-success { background:#e4f2ea; color:#24735c; }
@keyframes qs-application-logo-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .qs-application-logo-feedback.is-loading::before { animation:none; } }

.qs-application-logo-card label.btn:focus-within { outline:3px solid #267563; outline-offset:3px; }

.qs-login-card { background:var(--qs-application-logo-background); color:#f7f8fa; }
.qs-login-card .form-label { color:#f7f8fa; }
.qs-login-card .qs-app-logo-login { padding:14px; }
.qs-login-card a { color:#c7e6d2; }
.qs-login-card a:hover,.qs-login-card a:focus { color:#fff; }
.qs-login-card .small { color:#c9cdd5; }
.qs-login-card .form-control { border-radius:6px; color:#333; }
.qs-login-card .btn { border-radius:6px; }
.qs-login-card a:focus-visible,.qs-login-card button:focus-visible { outline:3px solid #c7e6d2; outline-offset:3px; }

.qs-login-page { background:linear-gradient(135deg, #747b86, #555e6a); }
