/* Readable legal / policy text inside AdminLTE cards */
.legal-prose {
  font-size: 0.95rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.legal-prose h1 {
  font-size: 1.5rem;
  margin: 0 0 0.75rem;
  font-weight: 600;
}

.legal-prose h2 {
  font-size: 1.15rem;
  margin: 1.25rem 0 0.5rem;
  font-weight: 600;
}

.legal-prose h3 {
  font-size: 1.05rem;
  margin: 1rem 0 0.35rem;
  font-weight: 600;
}

.legal-prose p,
.legal-prose li {
  margin-bottom: 0.5rem;
}

.legal-prose ul {
  padding-left: 1.25rem;
}

.legal-prose strong {
  font-weight: 600;
}

body.dark-mode .legal-prose {
  color: #e9ecef;
}

body.dark-mode .legal-prose a {
  color: #7dc9bf;
}

/*
 * AdminLTE guest pages use .login-page as a flex container that vertically centers the
 * .login-box. For long legal text the box is taller than the viewport, so centering
 * pushes the top above the fold — content looks "cut off". Align to the top instead.
 */
body.guest-legal-layout .login-page {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  align-items: center;
  min-height: 100vh;
  height: auto !important;
  padding-top: 5.5rem;
  padding-bottom: 2.5rem;
  box-sizing: border-box;
}

body.guest-legal-layout .login-box {
  margin-left: auto;
  margin-right: auto;
}
