:root {
  --tp-sidebar-width: 220px;
}

body {
  background-color: #f4f5f7;
}

.tp-sidebar {
  width: var(--tp-sidebar-width);
  min-height: 100vh;
  background: #1c2434;
  position: sticky;
  top: 0;
}

.tp-sidebar .nav-link {
  color: #b7bfce;
  border-radius: 8px;
  margin-bottom: 2px;
  font-size: .92rem;
  padding: .55rem .8rem;
}

.tp-sidebar .nav-link i {
  width: 20px;
  margin-right: 8px;
}

.tp-sidebar .nav-link.active,
.tp-sidebar .nav-link:hover {
  background: #2a3448;
  color: #fff;
}

.tp-brand {
  color: #fff;
  font-weight: 600;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tp-main {
  flex: 1;
  min-width: 0;
}

.tp-topbar {
  background: #fff;
  border-bottom: 1px solid #e6e8ec;
}

.card-stat .stat-value {
  font-size: 1.5rem;
  font-weight: 600;
}

.stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 991.98px) {
  .tp-sidebar {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1045;
    transform: translateX(-100%);
    transition: transform .25s ease-in-out;
  }
  .tp-sidebar.show {
    transform: translateX(0);
  }
  .tp-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.4);
    z-index: 1040;
  }
  .tp-overlay.show {
    display: block;
  }
}

.table-responsive {
  border-radius: 10px;
}
