.login-page:has(.demo-intro) {
  height: auto;
  min-height: 100vh;
  padding: 30px 12px;
  align-items: flex-start;
}
.login-container:has(.demo-intro) {
  width: 100%;
  max-width: 560px;
}
.demo-intro {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #dbe5ed;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #334155;
}
.demo-intro h2 {
  font-size: 1.3rem;
  color: #0f4655;
  margin: 8px 0 12px;
}
.demo-intro p {
  margin: 10px 0 16px;
}
.demo-tag {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #0e7490;
}
.demo-privacy {
  font-size: 0.76rem;
  color: #526477;
}
.demo-accept {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.82rem;
  margin: 18px 0;
  cursor: pointer;
}
.demo-accept input {
  flex: 0 0 auto;
  margin-top: 5px;
}
.demo-credentials {
  background: #edf9f6;
  border: 1px solid #a7d6c9;
  padding: 18px;
  border-radius: 12px;
}
.demo-credentials input {
  font-family: monospace;
  margin-bottom: 12px;
}
.demo-credentials h3 {
  margin: 0;
}
.demo-public-banner {
  background: #fff1cb;
  color: #523c0a;
  padding: 12px 20px;
  font: 13px/1.5 system-ui;
  border-bottom: 1px solid #e2cb8b;
}
.demo-public-banner a {
  color: inherit;
  text-decoration: underline;
}
@media print {
  .demo-public-banner {
    display: block !important;
    border: 3px solid black;
    color: black;
    font-size: 16px;
    position: static !important;
  }
  .demo-print-watermark {
    display: block !important;
    position: fixed;
    top: 40%;
    left: 12%;
    font: bold 36px system-ui;
    opacity: 0.25;
    transform: rotate(-25deg);
    z-index: 999999;
    pointer-events: none;
  }
}

.login-page:has(.demo-intro) .login-logo-wrap {
  height: 90px;
  align-items: center;
}
.login-page:has(.demo-intro) .login-logo-img {
  transform: none;
  max-height: 90px;
  width: 260px;
  object-fit: contain;
}
@media (max-width: 480px) {
  .login-page:has(.demo-intro) {
    padding: 12px 0;
  }
  .login-page:has(.demo-intro) .login-card {
    padding: 24px;
  }
  .login-container:has(.demo-intro) {
    padding: 12px;
  }
}
