/* DJ Mido Uploader — Unified Design Foundation */
:root {
 --dm-primary:#2563eb;
 --dm-primary-dark:#1d4ed8;
 --dm-bg:#f3f6fb;
 --dm-surface:#ffffff;
 --dm-text:#172033;
 --dm-muted:#64748b;
 --dm-border:#e2e8f0;
 --dm-radius:14px;
 --dm-shadow:0 6px 24px rgba(15,23,42,.06);
}

*,*::before,*::after {
 box-sizing:border-box;
}

body {
 font-family:Inter,Arial,Helvetica,sans-serif;
 -webkit-font-smoothing:antialiased;
}

button,input,select,textarea {
 font:inherit;
}

button {
 cursor:pointer;
}

button:disabled {
 cursor:not-allowed;
 opacity:.6;
}

a,button,input,select,textarea {
 transition:
  background-color .18s ease,
  border-color .18s ease,
  box-shadow .18s ease;
}

:focus-visible {
 outline:3px solid rgba(37,99,235,.35);
 outline-offset:2px;
}

input:not([type="checkbox"]):not([type="radio"]),
select,textarea {
 max-width:100%;
}

input:focus,select:focus,textarea:focus {
 border-color:var(--dm-primary);
}

.sidebar {
 overflow-wrap:anywhere;
}

.sidebar a {
 text-decoration:none;
}

.sidebar a:hover {
 opacity:.9;
}

.library-card,
.dashboard-upload-card,
.card,
.stat,
.login-box {
 border-radius:var(--dm-radius);
}

.library-card,
.dashboard-upload-card {
 box-shadow:var(--dm-shadow);
}

.music-table-wrap,
.queue-table-wrap,
.table-wrap {
 max-width:100%;
 overflow-x:auto;
}

.music-table,
.queue-table {
 border-collapse:collapse;
}

.music-table th,
.queue-table th {
 white-space:nowrap;
}

.action-btn {
 display:inline-flex;
 align-items:center;
 justify-content:center;
}

.delete-btn {
 cursor:pointer;
}

.pagination a {
 text-decoration:none;
}

.alert,
.delete-message,
.dashboard-result {
 overflow-wrap:anywhere;
}

@media(max-width:900px) {
 .dashboard-upload-grid {
  grid-template-columns:minmax(0,1fr);
 }
}

@media(max-width:640px) {
 .container,
 .content {
  max-width:100%;
 }

 .library-controls {
  gap:12px;
 }

 .music-table-wrap {
  -webkit-overflow-scrolling:touch;
 }

 button {
  max-width:100%;
 }
}

@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after {
  transition:none!important;
  scroll-behavior:auto!important;
 }
}
