:root { --brand: #e20074; }
body { font-size: 14px; }
.brand-link .admin-brand {
  align-items: center;
  background: var(--brand);
  border-radius: 6px;
  color: #fff;
  display: inline-grid;
  font-weight: 900;
  height: 32px;
  margin-left: .5rem;
  margin-right: .5rem;
  place-items: center;
  width: 32px;
}
.admin-user-icon {
  align-items: center;
  background: #2f3a48;
  border-radius: 50%;
  color: #d1d5db;
  display: grid;
  height: 34px;
  place-items: center;
  width: 34px;
}
.card-magenta.card { border-top: 3px solid var(--brand); }
.btn-primary, .bg-primary { background-color: var(--brand) !important; border-color: var(--brand) !important; }
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active { background-color: var(--brand); }
.table-actions { display: flex; gap: .35rem; justify-content: flex-end; min-width: 300px; }
.table-actions form { display: inline-block; }
.bandwidth-summary { margin-bottom: 1.25rem; }
.bandwidth-summary span { color: #6c757d; display: block; font-weight: 700; text-transform: uppercase; }
.bandwidth-summary strong { display: block; font-size: 1.35rem; }
.adminlte-bars {
  align-items: end;
  background: #f4f6f9;
  border: 1px solid #dee2e6;
  border-radius: .25rem;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  height: 260px;
  padding: 1.5rem;
}
.adminlte-bars div {
  background: linear-gradient(180deg, var(--brand), #6610f2);
  border-radius: .25rem .25rem 0 0;
  min-height: 18px;
  position: relative;
}
.adminlte-bars div:nth-child(2) { background: linear-gradient(180deg, #28a745, #087f5b); }
.adminlte-bars div:nth-child(3) { background: linear-gradient(180deg, #17a2b8, #0b7285); }
.adminlte-bars span {
  bottom: -1.35rem;
  color: #6c757d;
  font-size: .78rem;
  font-weight: 700;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
}
.profile-avatar {
  align-items: center;
  background: var(--brand);
  border-radius: 50%;
  color: #fff;
  display: grid;
  font-size: 3rem;
  height: 104px;
  margin: 0 auto 1rem;
  place-items: center;
  width: 104px;
}
.progress-group a { color: #212529; font-weight: 700; }
.content-wrapper { background: #f4f6f9; }
.table td, .table th { vertical-align: middle; }
@media (max-width: 767.98px) {
  .table-actions { justify-content: flex-start; min-width: 260px; }
  .adminlte-bars { height: 220px; }
}

.admin-login-page {
  background: #f4f6f9;
  min-height: 100vh;
}
.login-page.admin-login-page {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 24px;
}
.login-box {
  width: 380px;
  max-width: 100%;
}
.login-logo {
  color: #343a40;
  font-size: 2.1rem;
  margin-bottom: .9rem;
  text-align: center;
}
.card {
  background: #fff;
  border: 0 solid rgba(0,0,0,.125);
  border-radius: .25rem;
  box-shadow: 0 0 1px rgba(0,0,0,.125), 0 1px 3px rgba(0,0,0,.2);
  margin-bottom: 1rem;
}
.card-outline.card-primary {
  border-top: 3px solid var(--brand);
}
.card-header {
  background: transparent;
  border-bottom: 1px solid rgba(0,0,0,.125);
  padding: .75rem 1.25rem;
}
.login-card-body {
  padding: 20px;
}
.login-box-msg {
  color: #6c757d;
  margin: 0 0 1rem;
  text-align: center;
}
.brand-login-mark {
  align-items: center;
  background: var(--brand);
  border-radius: 8px;
  color: #fff;
  display: inline-grid;
  font-size: 1.4rem;
  font-weight: 900;
  height: 44px;
  place-items: center;
  width: 44px;
}
.input-group {
  align-items: stretch;
  display: flex;
  width: 100%;
}
.input-group .form-control {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  flex: 1 1 auto;
  margin: 0;
  min-width: 0;
}
.input-group-append {
  display: flex;
  margin-left: -1px;
}
.input-group-text {
  align-items: center;
  background: #fff;
  border: 1px solid #ced4da;
  border-bottom-right-radius: .25rem;
  border-top-right-radius: .25rem;
  color: #777;
  display: flex;
  justify-content: center;
  min-width: 42px;
  padding: .375rem .75rem;
}
.mb-3 { margin-bottom: 1rem !important; }
.mt-2 { margin-top: .5rem !important; }
.mb-0 { margin-bottom: 0 !important; }
.text-center { text-align: center !important; }
.btn-block { display: block; width: 100%; }
.alert-danger {
  background: #f8d7da;
  border: 1px solid #f5c2c7;
  border-radius: .25rem;
  color: #842029;
  margin-bottom: 1rem;
  padding: .5rem .75rem;
}

.compact-header { padding: 12px .5rem; }
.dashboard-compact > .row { margin-bottom: .75rem; }
.compact-stats .info-box { min-height: 74px; margin-bottom: .75rem; }
.compact-stats .info-box-icon { width: 70px; }
.compact-stats .info-box-number { font-size: 1.05rem; }
.compact-card { margin-bottom: .75rem; }
.compact-card .card-header { padding: .6rem .9rem; }
.compact-card .card-body { padding: .85rem; }
.compact-summary { margin-bottom: .55rem; }
.compact-summary strong { font-size: 1.2rem; }
.compact-bars { height: 150px; padding: .9rem 1.1rem 1.8rem; gap: 1rem; }
.compact-progress { margin-bottom: .6rem; }
.progress-xs { height: .45rem; }
.user-list-card { border-top: 3px solid var(--brand); margin-bottom: .75rem; }
.user-list-card .card-header { padding: .65rem .9rem; }
.users-table th, .users-table td { padding: .6rem .75rem; }
.target-cell { max-width: 420px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.form-stack-adminlte .form-group { margin-bottom: .75rem; }
.card-magenta .card-footer { padding: .75rem; }
.content-wrapper { min-height: 100vh; }
@media (min-width: 992px) {
  .user-list-card .table-responsive { max-height: 360px; }
}
@media (max-width: 991.98px) {
  .compact-bars { height: 170px; }
  .target-cell { max-width: 260px; }
}

.users-only-dashboard { max-width: 1280px; }
.users-only-dashboard .compact-stats .col-md-3 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.users-only-dashboard .card-body .row { margin-bottom: -.75rem; }
.users-only-dashboard .form-group { margin-bottom: .75rem; }
.users-only-dashboard .user-list-card .table-responsive { max-height: none; }
@media (max-width: 767.98px) {
  .users-only-dashboard .compact-stats .col-md-3 { flex: 0 0 100%; max-width: 100%; }
}
