:root{
  --dj-bg:#121212;
  --dj-card:#1e1e1e;
  --dj-border:#333;
  --dj-text:#e0e0e0;
  --dj-muted:#bdbdbd;
  --dj-accent:#ff9800;
  --dj-accent-hover:#f57c00;
  --bs-body-font-family:'Segoe UI',sans-serif;
  --bs-body-bg:var(--dj-bg);
  --bs-body-color:var(--dj-text);
  --bs-secondary-color:var(--dj-muted);
  --bs-heading-color:var(--dj-text);
  --bs-border-color:var(--dj-border);
  --bs-link-color:var(--dj-accent);
  --bs-link-hover-color:var(--dj-accent-hover);
}

body{
  background-color:var(--dj-bg)!important;
  color:var(--dj-text)!important;
}

.bg-light,.bg-dark{
  background-color:var(--dj-bg)!important;
}

.bg-white{
  background-color:var(--dj-card)!important;
}

.text-muted{
  color:var(--dj-muted)!important;
}

.card,.modal-content,.dropdown-menu{
  background-color:var(--dj-card)!important;
  border-color:var(--dj-border)!important;
  color:var(--dj-text)!important;
}

.card{
  transition:transform .15s ease, box-shadow .15s ease;
}

.card:hover{
  transform:translateY(-3px);
  box-shadow:0 0 24px rgba(255,152,0,.10);
}

.dj-navbar{
  background-color:#000!important;
  border-bottom:2px solid var(--dj-accent);
}

.dj-navbar .nav-link:hover{
  color:var(--dj-accent)!important;
}

.btn-primary{
  background-color:var(--dj-accent)!important;
  border-color:var(--dj-accent)!important;
  color:#000!important;
  font-weight:700;
}

.btn-primary:hover{
  background-color:var(--dj-accent-hover)!important;
  border-color:var(--dj-accent-hover)!important;
  color:#000!important;
}

.btn-outline-dark{
  color:var(--dj-text)!important;
  border-color:var(--dj-border)!important;
}

.btn-outline-dark:hover,
.btn-outline-dark:focus{
  background-color:var(--dj-accent)!important;
  border-color:var(--dj-accent)!important;
  color:#000!important;
}

.text-dark{
  color:var(--dj-text)!important;
}

.btn-outline-dark{
  color:var(--dj-text)!important;
  border-color:var(--dj-border)!important;
}

.btn-outline-dark:hover,
.btn-outline-dark:focus{
  background-color:var(--dj-accent)!important;
  border-color:var(--dj-accent)!important;
  color:#000!important;
}

.form-control,.form-select{
  background-color:#2c2c2c!important;
  border-color:#444!important;
  color:var(--dj-text)!important;
}

.form-control::placeholder{
  color:#8c8c8c!important;
}

.form-control:focus,.form-select:focus{
  background-color:#333!important;
  border-color:var(--dj-accent)!important;
  box-shadow:none!important;
  color:var(--dj-text)!important;
}

.form-check-input{
  background-color:#2c2c2c!important;
  border-color:#444!important;
}

.form-check-input:checked{
  background-color:var(--dj-accent)!important;
  border-color:var(--dj-accent)!important;
}

.form-check-input:focus{
  border-color:var(--dj-accent)!important;
  box-shadow:none!important;
}

.table{
  --bs-table-color:var(--dj-text);
  --bs-table-bg:transparent;
  --bs-table-striped-color:var(--dj-text);
  --bs-table-striped-bg:rgba(255,255,255,.03);
  --bs-table-hover-color:var(--dj-text);
  --bs-table-hover-bg:rgba(255,152,0,.06);
  border-color:var(--dj-border)!important;
}

.table thead th{
  color:var(--dj-text);
}

.alert{
  border-color:var(--dj-border)!important;
}

.table-light,
.table-light>th,
.table-light>td{
  background-color:var(--dj-card)!important;
  color:var(--dj-text)!important;
}

.table thead.table-light th{
  background-color:var(--dj-card)!important;
  color:var(--dj-text)!important;
  border-color:var(--dj-border)!important;
}

.input-group-text{
  background-color:#2c2c2c!important;
  border-color:#444!important;
  color:var(--dj-text)!important;
}

.list-group-item{
  background-color:var(--dj-card)!important;
  color:var(--dj-text)!important;
  border-color:var(--dj-border)!important;
}

.btn-close{
  filter:invert(1) grayscale(100%);
}
