
:root{
  --bg:#0a0a0a; --surface:#0f0f0f; --panel:#141414;
  --ink:#f8fafc; --muted:#a1a1aa; --line:#232323;
  --accent:#1DB954; --accent-2:#21e065; --danger:#ef4444; --warn:#f59e0b;
  --radius:18px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:
  radial-gradient(1000px 500px at 100% -20%,rgba(33,224,101,.1),transparent),
  radial-gradient(1000px 500px at -10% 120%,rgba(33,224,101,.06),transparent),
  var(--bg);color:var(--ink);font:16px/1.5 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial
}
a{color:var(--ink);text-decoration:none}
.container{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,#0b0b0b, #0a0a0a 60%);border-right:1px solid var(--line);padding:18px;top:0;}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:20px}
.logo{width:40px;height:40px;border-radius:12px;background:conic-gradient(from 210deg at 50% 50%, #0f0f0f, #1f1f1f 40%, #0f0f0f)}
.brand h1{font-size:18px;margin:0}
.kicker{font-size:12px;color:#8a8a8a}
.menu{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:#d4d4d8;background:linear-gradient(180deg, #121212, #0e0e0e)}
.menu a .dot{width:8px;height:8px;border-radius:999px;background:#3a3a3a}
.menu a.active{border-color:transparent;background:linear-gradient(180deg, var(--accent), var(--accent-2));color:#0a0a0a;font-weight:700}
.menu .group{margin-top:12px;color:#8a8a8a;font-size:12px;padding:0 6px}
.content{display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.search{display:flex;gap:10px;flex:1;max-width:520px}
.search input{flex:1;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#101010;color:#f5f5f5}
.search button{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#151515;color:#e5e5e5;cursor:pointer}
.userchip{display:flex;align-items:center;gap:10px}
.avatar{width:34px;height:34px;border-radius:999px;background:#1f1f1f;display:grid;place-items:center;color:#c4c4c4;font-weight:700;border:1px solid #2b2b2b}
.main{padding:22px}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.card{background:linear-gradient(180deg,#151515,#101010);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 40px rgba(0,0,0,.35)}
.card .hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}
.card .bd{padding:16px}
.stat{padding:14px;border:1px solid #2a2a2a;border-radius:14px;background:linear-gradient(180deg,#121212,#0e0e0e)}
.stat .n{font-size:28px;font-weight:800}
.badge{font-size:12px;border:1px solid #2a2a2a;color:#cbd5e1;border-radius:999px;padding:4px 8px}
.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 10px;font-size:14px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}
.table th{color:#c4c7c5}
.pill{font-size:12px;padding:6px 10px;border-radius:999px;background:#0f0f0f;border:1px solid #2a2a2a;color:#d1d5db;cursor:pointer}
.pill.primary{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#0a0a0a;border-color:transparent;font-weight:800}
.input, select{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#101010;color:#f5f5f5}
.row{display:flex;gap:10px;align-items:center}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}
.modal .dialog{width:min(760px,100%);background:linear-gradient(180deg,#141414,#0f0f0f);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.modal .dialog .hd{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.modal .dialog .bd{padding:16px}
.footer{padding:12px 14px;color:#a0a0a0;border-top:1px solid var(--line);text-align:center;margin-top:18px}
.player{display:flex;gap:14px;align-items:center}
.player .cover{width:60px;height:60px;border-radius:12px;background:linear-gradient(135deg,#0e0e0e,#1f1f1f);border:1px solid #2a2a2a}
.queue{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.queue .item{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#0f0f0f}
@media (max-width:1100px){ .container{grid-template-columns:1fr} .sidebar{position:relative;height:auto} }
