:root { --bg: #121212; --panel: #181818; --text: #fff; --muted: #b3b3b3; --accent: #1db954; }
*{ box-sizing: border-box; }
body{ margin:0; background:var(--bg); color:var(--text); font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.layout{ display:flex; min-height:100vh; }
.sidebar{ width:240px; background:var(--panel); padding:24px; position:sticky; top:0; height:100vh; display:flex; flex-direction:column; }
.brand{ color:var(--text); text-decoration:none; font-weight:700; font-size:22px; text-align:center; margin-bottom:32px; }
.nav-block{ margin-bottom:20px; }
.nav-title{ width:100%; text-align:center; background:#1db954; color:#000; font-size:11px; text-transform:uppercase; letter-spacing:.12em; margin:0 0 12px; border:none; cursor:pointer; padding:8px 12px; border-radius:6px; font-weight:600; }
.nav-block:nth-child(3) .nav-title{ background:#2dc964; }
.nav-block:nth-child(4) .nav-title{ background:#3dd974; }
.nav-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:4px; max-height:200px; overflow:auto; scrollbar-width:none; -ms-overflow-style:none; }
.nav-list::-webkit-scrollbar{ display:none; }
.nav-list.collapsed{ display:none; }
.nav-list li a{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 10px; border-radius:6px; color:#fff; text-decoration:none; background:transparent; font-family:'Inter', sans-serif; font-weight:400; transition:all .15s ease; }
.nav-list li a:hover{ background:rgba(255,255,255,.08); transform:translateX(2px); }
.nav-list .name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.nav-list .count{ color:var(--muted); font-variant-numeric:tabular-nums; font-size:11px; font-weight:500; }
.content{ flex:1; padding:24px; }
.flash{ margin-bottom:16px; }
.flash-item{ padding:10px 12px; border-radius:6px; margin-bottom:8px; background:#2a2a2a; }
.flash-item.success{ border-left:4px solid #1db954; }
.flash-item.warning{ border-left:4px solid #e6b800; }
.flash-item.error{ border-left:4px solid #e53935; }
.search{ display:flex; gap:8px; align-items:center; justify-content:center; flex-wrap:wrap; margin-bottom:24px; }
.search input{ background:#2a2a2a; border:1px solid #333; border-radius:6px; padding:6px 10px; color:var(--text); font-family:'Inter', sans-serif; font-size:13px; font-weight:400; width:140px; }
.search button, button{ background:var(--accent); color:#000; border:none; padding:6px 12px; border-radius:20px; cursor:pointer; font-weight:600; font-size:13px; }
.welcome{ margin:40px 0; }
.welcome-content{ display:flex; gap:40px; align-items:center; margin-bottom:40px; }
.welcome .logo{ flex-shrink:0; }
.welcome .logo img{ max-width:300px; height:auto; }
.welcome-text{ flex:1; }
.welcome-text h2{ color:var(--text); font-size:28px; font-weight:700; margin:0 0 16px; }
.welcome-text p{ color:var(--muted); font-size:16px; line-height:1.6; margin:0 0 16px; }
.welcome-title{ color:var(--text); font-size:24px; font-weight:600; margin:0; text-align:left; }
.grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:16px; }
.card{ display:block; background:var(--panel); border-radius:8px; padding:12px; text-decoration:none; color:var(--text); transition:transform .12s ease; }
.card:hover{ transform:translateY(-2px); }
.card img, .placeholder{ width:100%; aspect-ratio:1; object-fit:cover; background:#333; border-radius:6px; display:block; }
.placeholder{ display:flex; align-items:center; justify-content:center; color:var(--muted); }
.meta{ margin-top:8px; }
.title{ font-weight:600; }
.subtitle{ color:var(--muted); font-size:12px; }
.detail{ display:grid; grid-template-columns:300px 1fr; gap:32px; }
.detail-left{ display:flex; flex-direction:column; gap:16px; }
.detail-right{ display:flex; flex-direction:column; gap:16px; }
.cover-area{ display:flex; flex-direction:column; }
.cover-area img{ width:100%; border-radius:8px; }
.cover-actions{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
.btn{ display:inline-block; text-align:center; text-decoration:none; padding:8px 12px; border-radius:6px; font-weight:600; font-size:13px; cursor:pointer; }
.btn-primary{ background:var(--accent); color:#000; }
.btn-secondary{ background:#2a2a2a; color:#fff; border:1px solid #333; }
.props th{ text-align:left; color:var(--muted); padding-right:12px; vertical-align:top; }
.props td{ color:#fff; }
.card-table{ background:#1a1a1a; border:1px solid #2a2a2a; border-radius:8px; padding:12px; margin-top:16px; }
.props{ width:auto; border-collapse:collapse; }
.props tr{ background:transparent; border-bottom:1px solid #2a2a2a; }
.props tr:last-child{ border-bottom:none; }
.props th, .props td{ padding:8px 12px; text-align:left; }
.props th{ width:120px; min-width:120px; }
.heading{ margin-bottom:16px; }
.artist-link{ color:#fff; text-decoration:none; font-weight:800; letter-spacing:.06em; display:inline-block; margin-bottom:8px; font-size:24px; }
.artist-link:hover{ text-decoration:underline; }
.album-line{ color:var(--muted); font-size:18px; font-weight:600; }
.artist-about{ margin:16px 0; }
.artist-about-title{ color:var(--text); font-size:16px; font-weight:600; margin:0 0 8px; text-align:left; }
.artist-about-content{ background:#1a1a1a; border:1px solid #2a2a2a; border-radius:8px; padding:12px; color:var(--text); line-height:1.5; }
.notes-section{ margin-top:24px; }
.notes-title{ color:var(--text); font-size:16px; font-weight:600; margin:0 0 8px; text-align:left; }
.notes-content{ background:#1a1a1a; border:1px solid #2a2a2a; border-radius:8px; padding:12px; color:var(--text); line-height:1.5; }
.grid-form{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.grid-form label{ display:flex; flex-direction:column; gap:6px; }
.login-form{ max-width:360px; margin:0 auto; display:flex; flex-direction:column; gap:12px; background:var(--panel); padding:24px; border-radius:8px; }

/* Spotify Player Styles */
.spotify-player{ margin-top:16px; }
.spotify-title{ color:var(--text); font-size:16px; font-weight:600; margin:0 0 12px; text-align:left; }
.spotify-embed{ margin-bottom:12px; }
.spotify-embed iframe{ border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.3); }
.spotify-link{ text-align:center; }
.btn-spotify{ background:#1db954; color:#000; border:none; padding:10px 16px; border-radius:20px; font-weight:600; font-size:13px; text-decoration:none; display:inline-block; transition:background-color .15s ease; }
.btn-spotify:hover{ background:#1ed760; }


