.dt-app{
  min-height:100vh;
  display:flex;
}

.dt-sidebar{
  width:260px;
  background:linear-gradient(180deg, rgba(17,24,39,.95) 0%, rgba(10,15,28,.95) 100%);
  border-right:1px solid rgba(255,255,255,.08);
  position:fixed;
  top:0;
  left:0;
  bottom:0;
  padding:24px 16px;
  z-index:1030;
  backdrop-filter:blur(8px);
  box-shadow:8px 0 30px rgba(2,6,23,.35);
  display:flex;
  flex-direction:column;
}

.dt-sidebar::after{
  content:"";
  position:absolute;
  inset:12px 12px auto 12px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(34,197,94,.4), transparent);
  opacity:.9;
}

.dt-sidebar h5{
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.dt-sidebar .nav-link{
  color:#cbd5f5;
  border-radius:8px;
  transition:all .2s ease;
  padding:.65rem .75rem;
  position:relative;
  overflow:hidden;
}

.dt-sidebar .nav-link.active,
.dt-sidebar .nav-link:hover{
  background:rgba(59,130,246,.15);
  color:#fff;
  transform:translateX(2px);
}

.dt-sidebar .nav-link.active::before,
.dt-sidebar .nav-link:hover::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(34,197,94,.2), transparent);
  opacity:.9;
}

.dt-content{
  margin-left:260px;
  width:calc(100% - 260px);
  padding:24px;
  position:relative;
  z-index:1;
}

.dt-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:24px;
  padding:16px 18px;
  border-radius:16px;
  background:rgba(15,23,42,.55);
  border:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
}

.dt-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}

.dt-card-grid .card{
  transition:transform .2s ease, box-shadow .2s ease;
  border:1px solid rgba(255,255,255,.06);
}

.dt-card-grid .card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(2,6,23,.45);
}

.dt-badge{
  padding:.35rem .6rem;
  border-radius:999px;
  font-size:.75rem;
}

.card,
.table,
.modal-content,
.dt-header{
  animation:fadeInUp .35s ease both;
}

.table > :not(caption) > * > *{
  padding:.9rem .9rem;
}

.table tbody tr{
  border-color:rgba(255,255,255,.05);
}

.table tbody tr:hover{
  background:rgba(59,130,246,.08);
}

.table thead th:first-child{
  border-top-left-radius:12px;
}

.table thead th:last-child{
  border-top-right-radius:12px;
}

@keyframes fadeInUp{
  from{
    opacity:0;
    transform:translateY(6px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (max-width: 991px){
  .dt-sidebar{
    position:fixed;
    transform:translateX(-100%);
    transition:.2s ease;
  }

  .dt-sidebar.show{
    transform:translateX(0);
  }

  .dt-content{
    margin-left:0;
    width:100%;
  }
}
