:root {
  --brand-primary: #1b6ec2; /* used for primary actions */
  --brand-primary-dark: #1861ac;
  --brand-accent: rgba(13,110,253,0.08); /* very light blue used in header/footer */
  --content-max-width: 1200px;
}

html { font-size: 14px; }
@media (min-width: 768px) { html { font-size: 16px; } }

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.08rem white, 0 0 0 0.22rem rgba(27,110,194,0.18);
}

html { position: relative; min-height: 100%; }


/* Login adjustments */
.login-card { max-width: 920px; }

/* Login background sizing: allow content to size naturally to avoid extra scroll */
.login-bg { min-height: auto; }

/* Footer spacing to avoid overlap */
.footer { padding-bottom: 0.5rem; padding-top: 0.5rem; }

/* Details field separator */
.details-separator { border-top: 1px solid rgba(0,0,0,0.06); margin: .5rem 0 1rem 0; }

/* Reduce list-group item padding for compact forms */
.list-group-item { padding: .5rem 1rem; }

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}
.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder { text-align: start; }
