/* WSD License Server — small overrides on AdminLTE 3 */
.login-page, .register-page { background: #e9ecef; }
.login-logo a, .brand-text { font-weight: 600; }
.wsd-public-main { max-width: 840px; margin: 0 auto; }
.table-responsive { -webkit-overflow-scrolling: touch; }
.badge-status-pending { background-color: #ffc107; color: #1f2d3d; }
.badge-status-approved { background-color: #28a745; }
.badge-status-rejected { background-color: #dc3545; }
.badge-status-suspended { background-color: #6c757d; }
.btn-toolbar-gap > * { margin-right: .35rem; margin-bottom: .35rem; }
.content-wrapper { min-height: calc(100vh - 57px); }
.wsd-footer-credit { font-size: .8rem; color: #6c757d; }
.navbar-public .nav-link { color: rgba(255,255,255,.85) !important; }
.navbar-public .nav-link:hover { color: #fff !important; }
.navbar-public .navbar-brand { color: #fff !important; font-weight: 600; }

/* Public home — short numbered steps */
.wsd-steps {
  list-style: none;
  counter-reset: wsd-step;
  padding-left: 0;
  margin-bottom: 0;
}
.wsd-steps > li {
  counter-increment: wsd-step;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-bottom: 1rem;
  padding-left: 0;
}
.wsd-steps > li:last-child { margin-bottom: 0; }
.wsd-steps > li::before {
  content: counter(wsd-step);
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #007bff;
  color: #fff;
  font-weight: 600;
  font-size: .9rem;
  line-height: 2rem;
  text-align: center;
}
.wsd-steps > li > div { flex: 1; padding-top: .2rem; line-height: 1.45; }

.wsd-flow-card { margin-bottom: 1.25rem; }
.wsd-flow-card .card-title { font-size: 1.15rem; }
.card-secondary.card-outline { border-top: 3px solid #6c757d; }

