:root{
  --app-bg: #1F3B4D;
  --text: #FFFFFF;
  --glass: rgba(255,255,255,.06);
  --border: rgba(255,255,255,.12);
}

.app-bg{
  background: var(--app-bg);
  color: var(--text);
  min-height: 100vh;
}

.card-glass{
  background: var(--glass);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

.sidebar{
  background: rgba(0,0,0,.12);
  border-right: 1px solid var(--border);
  min-height: 100vh;
}

.nav-link{
  border-radius: 12px;
}
.nav-link:hover{
  background: rgba(255,255,255,.08);
}

.brand-icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(255,255,255,.10);
  display: grid;
  place-items: center;
  color: var(--text);
}

.modal-dark{
  background: #173244;
  border: 1px solid var(--border);
  color: var(--text);
}

.table-dark{
  --bs-table-bg: rgba(0,0,0,.15);
  --bs-table-striped-bg: rgba(255,255,255,.05);
  --bs-table-border-color: rgba(255,255,255,.10);
}

.form-control, .form-select{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
}
.form-control:focus, .form-select:focus{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.30);
  box-shadow: none;
  color: #fff;
}

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

/* DataTables spacing */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select{
  margin-left: .5rem;
}
