/* Guest pages have no application sidebar. Keep authentication calm and legible. */
body.qs-guest .pc-container { margin-left: 0; }

body.qs-auth {
  --qs-auth-bg: #070707;
  --qs-auth-panel: #111111;
  --qs-auth-field: #191919;
  --qs-auth-border: #303030;
  --qs-auth-text: #f5f5f5;
  --qs-auth-muted: #b8b8b8;
  color-scheme: dark;
  background: var(--qs-auth-bg);
  color: var(--qs-auth-text);
}

body.qs-auth[data-pc-theme="light"] {
  --qs-auth-bg: #f5f7fb;
  --qs-auth-panel: #ffffff;
  --qs-auth-field: #ffffff;
  --qs-auth-border: #d9e1ec;
  --qs-auth-text: #17253a;
  --qs-auth-muted: #5e6f83;
  color-scheme: light;
}

body.qs-auth .qs-auth-toolbar {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 80px;
  padding: 16px clamp(18px, 3vw, 42px);
}

body.qs-auth .qs-auth-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--qs-auth-text);
  font-size: 20px;
  font-weight: 750;
  letter-spacing: -.035em;
  text-decoration: none;
}

body.qs-auth .qs-auth-brand:hover { color: var(--qs-auth-text); }

body.qs-auth .qs-auth-brand img {
  display: block;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  object-fit: contain;
}

body.qs-auth .qs-auth-theme {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: var(--qs-auth-text);
  background: var(--qs-auth-panel);
  border: 1px solid var(--qs-auth-border);
  border-radius: 12px;
  cursor: pointer;
}

body.qs-auth .qs-auth-theme:hover { border-color: #4680ff; background: var(--qs-auth-field); }
body.qs-auth .qs-auth-moon,
body.qs-auth[data-pc-theme="light"] .qs-auth-sun { display: none; }
body.qs-auth[data-pc-theme="light"] .qs-auth-moon { display: block; }

body.qs-auth .auth-main,
body.qs-auth .auth-wrapper.v1,
body.qs-auth .auth-form {
  min-height: 100dvh;
  background: var(--qs-auth-bg);
}

body.qs-auth .auth-form { padding: 90px 18px 30px; }
body.qs-auth .auth-form .card {
  width: min(100%, 480px);
  max-width: 480px;
  margin: 0 !important;
  background: var(--qs-auth-panel);
  color: var(--qs-auth-text);
  border: 1px solid var(--qs-auth-border);
  border-radius: 16px;
  box-shadow: none;
}

body.qs-auth .auth-form .card-body { padding: clamp(22px, 4vw, 40px); }
body.qs-auth .auth-form h4,
body.qs-auth .auth-form h6 { color: var(--qs-auth-text); }
body.qs-auth .auth-form .text-muted,
body.qs-auth .auth-form .form-label { color: var(--qs-auth-muted) !important; }
body.qs-auth .auth-form .form-control,
body.qs-auth .auth-form .form-select {
  min-height: 48px;
  color: var(--qs-auth-text);
  background: var(--qs-auth-field);
  border: 1px solid var(--qs-auth-border);
  border-radius: 10px;
}

body.qs-auth .auth-form .form-control::placeholder { color: var(--qs-auth-muted); opacity: 1; }
body.qs-auth .auth-form .form-control:focus,
body.qs-auth .auth-form .form-select:focus {
  border-color: #4680ff;
  box-shadow: 0 0 0 3px rgba(70,128,255,.22);
}

body.qs-auth .auth-form .btn-primary,
body.qs-auth .auth-form .btn-primary:hover,
body.qs-auth .auth-form .btn-primary:focus-visible {
  color: #fff;
  background: #3973ed;
  border-color: #3973ed;
}

body.qs-auth .auth-form .btn-primary:hover { background: #2e65db; border-color: #2e65db; }
body.qs-auth .auth-form a:hover { color: #75a2ff; }
body.qs-auth a:focus-visible,
body.qs-auth button:focus-visible,
body.qs-auth .form-check-input:focus-visible {
  outline: 2px solid #4680ff;
  outline-offset: 3px;
}

body.qs-auth .auth-form .d-flex.justify-content-between { gap: 10px 16px; flex-wrap: wrap; }
body.qs-auth .auth-form #error_block:empty { display: none; }

@media (max-width: 520px) {
  body.qs-auth .qs-auth-toolbar { min-height: 72px; }
  body.qs-auth .qs-auth-brand { font-size: 18px; }
  body.qs-auth .qs-auth-brand img { width: 38px; height: 38px; flex-basis: 38px; }
  body.qs-auth .auth-form { padding: 82px 14px 22px; }
  body.qs-auth .auth-form .card-body { padding: 22px; }
}
