:root{--bg:#f4f7fb;--panel:#fff;--text:#111827;--muted:#728097;--line:#e7ecf3;--primary:#2563eb;--sidebar:#101827;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--shadow:0 10px 30px rgba(23,43,77,.06)}*{box-sizing:border-box}body{margin:0;font-family:'Be Vietnam Pro',system-ui,sans-serif;color:var(--text);background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 7px 18px rgba(37,99,235,.22)}.btn-soft{background:#eef4ff;color:#2563eb}.btn-danger{background:#fff0f0;color:#dc2626}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--sidebar);padding:24px 14px;color:#9aa8bd;z-index:20;display:flex;flex-direction:column}.sidebar .brand{padding:0 10px 26px;color:#fff}.nav-label{font-size:9px;letter-spacing:.15em;font-weight:800;color:#5e6d84;padding:13px 13px 7px}.nav a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#9aa8bd;padding:10px 13px;border-radius:9px;margin:2px 0;font-size:12px;font-weight:600}.nav a:hover,.nav a.active{color:#fff;background:linear-gradient(90deg,#2563eb,#1d4ed8)}.nav-icon{width:18px;text-align:center;font-size:15px}.sidebar-user{margin-top:auto;border-top:1px solid #243047;padding:18px 8px 2px;display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:11px;object-fit:cover;background:linear-gradient(135deg,#bfdbfe,#3b82f6);display:grid;place-items:center;color:#fff;font-weight:800}.sidebar-user strong{display:block;color:#fff;font-size:11px}.sidebar-user span{font-size:9px}.main{margin-left:248px;min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10}.menu-btn{display:none;border:0;background:none;font-size:20px}.search-global{position:relative;width:320px}.search-global input,.search-box{width:100%;border:1px solid var(--line);border-radius:10px;background:#f8fafc;padding:10px 14px 10px 36px;outline:none}.search-global:before{content:'⌕';position:absolute;left:13px;top:8px;color:#8491a5}.header-actions{display:flex;align-items:center;gap:10px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:10px;width:38px;height:38px;position:relative}.notification-dot{position:absolute;width:7px;height:7px;background:#ef4444;border:2px solid #fff;border-radius:50%;right:7px;top:7px}.content{padding:28px 32px 45px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-head h1{margin:0;font-size:25px;letter-spacing:-.035em}.page-head p{margin:7px 0 0;color:var(--muted);font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card,.panel{background:var(--panel);border:1px solid #eaf0f6;border-radius:15px;box-shadow:var(--shadow)}.stat-card{padding:19px;display:flex;justify-content:space-between;min-height:120px}.stat-card small{color:var(--muted);font-weight:600}.stat-card h3{margin:10px 0 4px;font-size:25px}.trend{font-size:10px;color:var(--success)}.stat-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf4ff;color:#2563eb;font-size:19px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:18px}.panel{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.panel-head h2{margin:0;font-size:14px}.chart-wrap{height:250px}.artist-list{display:grid;gap:13px}.artist-row{display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid var(--line)}.artist-row:last-child{border:0}.artist-info{flex:1}.artist-info strong{display:block;font-size:11px}.artist-info span{font-size:9px;color:var(--muted)}.rank{font-size:10px;color:#94a3b8}.activity{margin-top:18px}.activity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.activity-item{padding:13px;background:#f8fafc;border-radius:11px;display:flex;gap:9px}.activity-item strong{font-size:10px;display:block}.activity-item span{font-size:9px;color:var(--muted)}.toolbar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;gap:10px;align-items:center;margin-bottom:16px}.toolbar .search-wrap{flex:1;max-width:420px;position:relative}.toolbar input,.toolbar select,.modal input,.modal select,.modal textarea{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#fff;outline:none}.toolbar select{min-width:145px}.table-panel{padding:0;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:13px 16px;background:#f8fafc;color:#738096;font-size:9px;letter-spacing:.06em}.data-table td{padding:13px 16px;border-top:1px solid var(--line);font-size:11px}.entity{display:flex;align-items:center;gap:10px}.entity .avatar{width:34px;height:34px}.badge{display:inline-flex;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:700;background:#ecfdf5;color:#059669}.badge.paused{background:#fff7ed;color:#ea580c}.actions{display:flex;gap:5px}.action-btn{border:1px solid var(--line);background:#fff;width:30px;height:30px;border-radius:8px}.pagination{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.pages{display:flex;gap:5px}.pages button{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:7px}.pages button.active{background:#2563eb;color:#fff}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}.modal-backdrop.open{display:flex}.modal{background:#fff;border-radius:18px;width:min(720px,100%);max-height:90vh;overflow:auto;padding:24px}.modal h2{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px;font-size:11px;font-weight:700}.form-grid .full{grid-column:1/-1}.modal textarea{min-height:90px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.empty{padding:60px;text-align:center;color:var(--muted)}.dark{--bg:#0b1120;--panel:#141d2f;--text:#edf2f7;--muted:#95a2b5;--line:#293449}.dark .topbar,.dark .toolbar,.dark .data-table th,.dark .icon-btn,.dark input,.dark select,.dark textarea{background:#141d2f;color:#e5e7eb}.dark .activity-item{background:#1b2639}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.activity-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main{margin-left:0}.menu-btn{display:block}.topbar{padding:0 16px}.search-global{display:none}.content{padding:20px 15px}.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.toolbar{flex-wrap:wrap}.toolbar .search-wrap{max-width:none;flex-basis:100%}.table-panel{overflow:auto}.data-table{min-width:800px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}@media(max-width:480px){.stats-grid,.activity-grid{grid-template-columns:1fr}.page-head{gap:15px}.page-head .btn span{display:none}}
