body.kuchler-login {
  --kuchler-paper: #f6f1e7;
  --kuchler-pine: #20392d;
  --kuchler-ink-muted: #4b6253;
  --kuchler-border: #d9d0bd;
  --kuchler-card: #fffdf8;
  background: var(--kuchler-paper);
  color: var(--kuchler-pine);
  font-family: system-ui, sans-serif;
}

.kuchler-login .main-header,
.kuchler-login .content-wrapper,
.kuchler-login .main-footer {
  margin-left: 0 !important;
  background: var(--kuchler-paper);
}

.kuchler-login .main-header,
.kuchler-login .main-footer {
  border-color: var(--kuchler-border);
}

.kuchler-login .main-header .nav-link,
.kuchler-login .main-footer a {
  color: var(--kuchler-pine);
}

.kuchler-login .main-sidebar {
  top: 57px;
  background: var(--kuchler-pine);
}

.kuchler-login.sidebar-collapse .main-sidebar:not(:focus-within) {
  visibility: hidden;
}

.kuchler-login.sidebar-open .main-sidebar {
  visibility: visible;
}

.kuchler-login .content-wrapper {
  padding: clamp(2rem, 7vh, 5.25rem) 1rem 3rem;
}

.kuchler-identity {
  max-width: 32rem;
  margin: 0 auto 1.9rem;
  text-align: center;
}

.kuchler-identity svg {
  display: block;
  width: clamp(4.25rem, 9vw, 5.75rem);
  height: auto;
  margin: 0 auto .45rem;
  color: var(--kuchler-pine);
}

.kuchler-identity .kuchler-name {
  margin: 0;
  font: 400 clamp(2.55rem, 8vw, 4.3rem)/1.06 Georgia, serif;
  letter-spacing: -.045em;
}

.kuchler-identity .kuchler-label {
  margin: .75rem 0 0;
  color: var(--kuchler-ink-muted);
  font-size: .74rem;
  font-weight: 650;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.kuchler-login .content-header,
.kuchler-login .content {
  width: 100%;
  max-width: 29rem;
  margin-inline: auto;
  padding-inline: 0;
}

.kuchler-login .content-header {
  padding-block: 0 .45rem;
}

.kuchler-login .content-header .row {
  margin-bottom: 0 !important;
}

.kuchler-login .content-header h1 {
  color: var(--kuchler-pine);
  font: 400 1.55rem/1.2 Georgia, serif;
}

.kuchler-login .content .card {
  margin: 0;
  border: 1px solid var(--kuchler-border);
  border-top: 3px solid var(--kuchler-pine);
  border-radius: .85rem;
  background: var(--kuchler-card);
  box-shadow: 0 .75rem 2rem rgba(32, 57, 45, .08);
}

.kuchler-login .card-header:has(.card-title:empty) {
  display: none;
}

.kuchler-login .card-body {
  padding: clamp(1.2rem, 5vw, 1.75rem);
}

.kuchler-login .form label {
  color: var(--kuchler-pine);
  font-size: .92rem;
}

.kuchler-login .form .form-control {
  min-height: 2.65rem;
  border-color: #b5b6a7;
  border-radius: .4rem;
  background: #fff;
  color: var(--kuchler-pine);
  font-size: 1rem;
}

.kuchler-login .form .form-control.is-invalid {
  border-color: #a52a29;
}

.kuchler-login .form .form-control:focus,
.kuchler-login .form .btn:focus-visible {
  border-color: var(--kuchler-pine);
  outline: 2px solid var(--kuchler-pine);
  outline-offset: 2px;
  box-shadow: none;
}

.kuchler-login .form .btn {
  min-height: 2.65rem;
  margin: .25rem .25rem .25rem 0;
  padding-inline: .95rem;
  border: 1px solid var(--kuchler-pine);
  border-radius: .4rem;
  background: var(--kuchler-pine);
  color: #fff;
  white-space: normal;
}

.kuchler-login .form .btn:hover {
  background: #305441;
  color: #fff;
}

.kuchler-login .form .btn ~ .btn {
  background: var(--kuchler-card);
  color: var(--kuchler-pine);
}

.kuchler-login .form .btn ~ .btn:hover {
  background: #eae7db;
}

.kuchler-login .main-footer {
  color: var(--kuchler-ink-muted);
}

@media (max-width: 380px) {
  .kuchler-login .form .btn {
    display: block;
    width: 100%;
    margin-inline: 0;
  }
}

