:root{
  --bg:#0b0f17;
  --card:#111827;
  --border:rgba(255,255,255,.12);
  --text:#e5e7eb;
  --muted:#9ca3af;
  --accent:#3b82f6;
  --radius:14px;
}

body{
  background:var(--bg) !important;
  color:var(--text);
}

.card{
  border-radius:var(--radius);
}

.table-dark{
  --bs-table-bg: #111827;
  --bs-table-striped-bg: #0f172a;
  --bs-table-hover-bg: #1f2937;
}

.album-card-horizontal{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:14px;
  align-items:center;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:10px 14px;
  width:100%;
  max-width:1000px;
  margin:0 auto;
  transition:.15s ease;
}

.album-card-horizontal:hover{
  border-color:rgba(255,255,255,.2);
  transform:translateY(-1px);
}

.album-cover{
  width:150px;
  height:150px;
  border-radius:10px;
  overflow:hidden;
  background:#000;
  flex-shrink:0;
}

.album-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.album-info{display:grid; gap:6px;}
.album-title{font-size:.95rem; font-weight:700; line-height:1.25;}
.album-meta{font-size:.78rem; color:var(--muted); display:flex; flex-direction:column; gap:10px;}
.album-artists{font-size:.82rem; line-height:1.3; color:var(--text); opacity:.9;}
.chip{background:rgba(59,130,246,.18); border:1px solid rgba(59,130,246,.3); padding:2px 8px; border-radius:999px; font-size:.72rem; color:#eef2ff;}

#collectionAlbums tbody tr.dragging{
  opacity:.6;
  border:1px dashed var(--accent);
}

.modal-content{
  border-radius:var(--radius);
}

.search-action-bar{
  position: sticky;
  top: 66px;
  z-index: 1000;
}

.form-control, .form-select{
  background:#0f172a;
  border-color:#1f2937;
  color:var(--text);
}

.form-control:focus, .form-select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 .2rem rgba(59,130,246,.25);
  color:var(--text);
  background-color: var(--card);
}

.form-control::placeholder{
  color:var(--muted);
}

.form-select option{
  color:var(--text);
}

.form-label{
  color:var(--text);
}

.select2-container--bootstrap-5 .select2-selection{
  background:#0f172a;
  border-color:#1f2937;
  color:var(--text);
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder,
.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__placeholder{
  color:var(--muted);
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered,
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered{
  color:var(--text);
}

.select2-container--bootstrap-5 .select2-search__field{
  color:var(--text);
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice {
  color: var(--text);
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice{
  background:rgba(59,130,246,.18);
  border:1px solid rgba(59,130,246,.3);
  color:#eef2ff;
}

.select2-container--bootstrap-5 .select2-dropdown{
  background:#0f172a;
  border-color:#1f2937;
  color:var(--text);
}

@keyframes blinkFade {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}

.collection-status.blink{
  animation: blinkFade 0.6s ease-in-out infinite;
}

.btn-primary{
  background:var(--accent);
  border-color:var(--accent);
}

.btn-outline-primary{
  border-color:var(--accent);
  color:var(--accent);
}

.btn-outline-primary:hover{
  background:var(--accent);
  color:#fff;
}
