/* Login, registration and recovery share the application's palette without shell layout rules. */
.catchii-auth {
  --auth-backdrop-start: #3b4e70;
  --auth-backdrop-end: var(--primary-active);
  min-height: 100vh;
  color: var(--shell-text);
  background: linear-gradient(145deg, var(--auth-backdrop-start), var(--auth-backdrop-end));
  background-attachment: fixed;
  padding-bottom: 2rem;
}
[data-theme="dark"] .catchii-auth {
  --auth-backdrop-start: #17243d;
  --auth-backdrop-end: var(--shell-canvas);
}
.catchii-auth .auth-container { max-width: 1000px; }
.catchii-auth .auth-row { min-height: 30rem; }
.catchii-auth .auth-form-panel { display: flex; align-items: center; }
.catchii-auth .auth-form { width: 100%; padding: 3rem; }
.catchii-auth .auth-footer { color: #e1e8f5; }
.catchii-auth .auth-footer-separator { margin: 0 .75rem; opacity: .6; }
.catchii-auth .auth-card {
  background: var(--shell-surface);
  border-radius: 1.25rem;
  box-shadow: 0 1.25rem 3.5rem rgba(10, 25, 51, .22) !important;
}
.catchii-auth .auth-brand {
  background: var(--shell-surface);
  padding: 2rem;
}
.catchii-auth .auth-brand .auth-logo { display: block; width: 80%; max-width: 26rem; height: auto; }
.catchii-auth h1 { color: var(--shell-text) !important; font-weight: 700; }
.catchii-auth a:not(.btn):not(.auth-footer-link) { color: var(--shell-accent); }
.catchii-auth a:not(.btn):not(.auth-footer-link):hover { text-decoration: underline; }
.catchii-auth .auth-footer-link { color: #e1e8f5; }
.catchii-auth .auth-footer-link:hover { color: #fff; }
.catchii-auth .form-control {
  background: var(--shell-canvas);
  color: var(--shell-text);
  border-color: var(--shell-border);
}
.catchii-auth form.user .form-control-user { border-radius: .75rem; }
.catchii-auth .form-control::placeholder { color: var(--shell-muted); opacity: 1; }
.catchii-auth .form-control:focus {
  color: var(--shell-text);
  background: var(--shell-surface);
  border-color: var(--primary-focus);
  box-shadow: 0 0 0 .2rem var(--primary-ring);
}
.catchii-auth .custom-control-label { color: var(--shell-muted); }
.catchii-auth .custom-control-label::before { background: var(--shell-canvas); border-color: var(--shell-muted); }
.catchii-auth .custom-control-input:checked ~ .custom-control-label::before,
.catchii-auth .custom-control-input:active ~ .custom-control-label::before {
  background: var(--primary);
  border-color: var(--primary);
}
.catchii-auth .custom-control-input:focus ~ .custom-control-label::before { box-shadow: 0 0 0 .2rem var(--primary-ring); }
.catchii-auth form.user .btn-user { border-radius: .75rem; font-weight: 700; font-size: .9rem; }
.catchii-auth .btn-primary { color: var(--on-primary); background: var(--primary); border-color: var(--primary); }
.catchii-auth .btn-primary:hover,
.catchii-auth .btn-primary:focus { color: var(--on-primary); background: var(--primary-hover); border-color: var(--primary-hover); }
.catchii-auth .btn-primary:focus,
.catchii-auth .btn-primary:not(:disabled):not(.disabled):active:focus { box-shadow: 0 0 0 .2rem var(--primary-ring); }
.catchii-auth .btn-primary:not(:disabled):not(.disabled):active {
  color: var(--on-primary); background: var(--primary-active); border-color: var(--primary-active);
}
.catchii-auth .btn-primary:disabled { color: var(--on-primary); background: var(--primary); border-color: var(--primary); opacity: .65; }
.catchii-auth .btn-secondary { color: var(--control-fg); background: var(--control-bg); border-color: var(--control-bg); }
.catchii-auth .btn-secondary:hover,
.catchii-auth .btn-secondary:focus,
.catchii-auth .btn-secondary:not(:disabled):not(.disabled):active { color: var(--control-fg); background: var(--control-hover); border-color: var(--control-hover); }
.catchii-auth .btn-secondary:focus { box-shadow: 0 0 0 .2rem var(--primary-ring); }
.catchii-auth hr,
.catchii-auth .modal-header,
.catchii-auth .modal-footer { border-color: var(--shell-border); }
.catchii-auth .modal-content { color: var(--shell-text); background: var(--shell-surface); border-color: var(--shell-border); border-radius: 1rem; }
@media (max-width: 575.98px) {
  .catchii-auth .auth-container { max-width: 1000px; }
.catchii-auth .auth-row { min-height: 30rem; }
.catchii-auth .auth-form-panel { display: flex; align-items: center; }
.catchii-auth .auth-form { width: 100%; padding: 3rem; }
.catchii-auth .auth-footer { color: #e1e8f5; }
.catchii-auth .auth-footer-separator { margin: 0 .75rem; opacity: .6; }
.catchii-auth .auth-card { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
  .catchii-auth .auth-form { padding: 1.75rem; }
}

@media (max-width: 991.98px) { .catchii-auth .auth-row { min-height: 0; } }
