/* ---------------- Reset & Body ---------------- */
* {margin:0;padding:0;box-sizing:border-box;}
body {font-family:'Segoe UI',sans-serif;display:flex;min-height:100vh;background:#1f1f2e;color:#f0f0f0;}

/* ---------------- Sidebar ---------------- */
.sidebar {
  width:220px;
  background:#2c2c3e;
  display:flex;
  flex-direction:column;
  padding:2rem 1rem;
  box-shadow:2px 0 10px rgba(0,0,0,0.3);
}
.sidebar .logo {font-size:1.8rem;font-weight:bold;color:#00d4ff;margin-bottom:2rem;text-align:center;}
.sidebar nav {display:flex;flex-direction:column;gap:1rem;}
.sidebar nav a {
  padding:0.5rem 1rem;color:#f0f0f0;text-decoration:none;border-radius:6px;font-weight:500;
  transition:0.2s;
}
.sidebar nav a.active, .sidebar nav a:hover {background:#38384a;color:#00d4ff;}

/* ---------------- Main Content ---------------- */
.main-content {flex:1;padding:2rem;overflow-x:auto;}
h2 {margin-bottom:1rem;color:#f0f0f0;}

/* ---------------- Dashboard Cards ---------------- */
.cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:2rem;}
.card {
  background:#2c2c3e;padding:1.5rem;text-align:center;border-radius:10px;color:#00d4ff;font-weight:bold;
  box-shadow:0 4px 12px rgba(0,0,0,0.3);transition:0.2s;
}
.card:hover {transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,0.4);background:#38384a;}

/* ---------------- Tables for JSON / Songs ---------------- */
.table-wrapper {overflow-x:auto;margin-top:1rem;background:#2c2c3e;padding:1rem;border-radius:10px;box-shadow:0 3px 10px rgba(0,0,0,0.2);}
table {width:100%;border-collapse:collapse;color:#f0f0f0;}
th, td {padding:0.5rem;text-align:left;border-bottom:1px solid #38384a;}
th {color:#00d4ff;font-weight:600;}
tr:hover {background:#38384a;}

/* ---------------- Buttons ---------------- */
.button {display:inline-block;padding:0.5rem 1rem;background:#00d4ff;color:#1f1f2e;text-decoration:none;border-radius:6px;font-weight:bold;transition:0.2s;}
.button:hover {background:#00a3cc;}

/* ---------------- Login Page ---------------- */
.login-page {display:flex;flex:1;justify-content:center;align-items:center;padding:3rem 1rem;}
.login-form {background:#2c2c3e;padding:2rem;border-radius:12px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:1rem;box-shadow:0 5px 15px rgba(0,0,0,0.3);}
.login-form input[type="password"] {padding:0.6rem;border-radius:8px;border:1px solid #555;background:#1f1f2e;color:#f0f0f0;}
.login-form button {padding:0.7rem;border:none;border-radius:8px;background:#00d4ff;color:#1f1f2e;font-weight:bold;cursor:pointer;transition:0.2s;}
.login-form button:hover {background:#00a3cc;transform:translateY(-2px);}

/* ---------------- Responsive ---------------- */
@media (max-width:768px){
  body{flex-direction:column;}
  .sidebar{width:100%;flex-direction:row;justify-content:space-around;padding:1rem 0;}
  .main-content{padding:1rem;}
}
