:root{
  --bg:#0f1724; /* deep navy */
  --card:#0b1220;
  --muted:#94a3b8;
  --accent:#7c3aed;
  --glass: rgba(255,255,255,0.04);
  --glass-2: rgba(255,255,255,0.02);
  --success:#10b981;
  --danger:#ef4444;
  --radius:14px;
  color-scheme: dark;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;padding:32px;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto, "Helvetica Neue", Arial; background:linear-gradient(180deg,#061220 0%, #071425 60%); color:#e6eef8;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
/* Layout */
.app{
  max-width:1200px;margin:0 auto;display:flex;gap:24px;align-items:flex-start;
}
/* Sidebar */
.sidebar{width:260px;background:linear-gradient(180deg,var(--card), rgba(6,12,20,0.6));border-radius:var(--radius);padding:18px;box-shadow:0 6px 30px rgba(2,6,23,0.6);backdrop-filter: blur(8px)}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.logo{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#4f46e5);display:flex;align-items:center;justify-content:center;font-weight:700}
.brand h1{font-size:15px;margin:0}
.brand small{display:block;color:var(--muted);font-size:12px}
.nav{margin-top:12px}
.nav button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:10px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.nav button.active{background:linear-gradient(90deg,rgba(124,58,237,0.12),rgba(79,70,229,0.08));color:#fff}

/* Main card */
.main{flex:1}
.card{background:linear-gradient(180deg,var(--glass),var(--glass-2));padding:18px;border-radius:16px;box-shadow:0 10px 30px rgba(2,6,23,0.55)}
.header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.controls{display:flex;gap:10px;align-items:center}
.search{display:flex;align-items:center;background:#071428;padding:8px;border-radius:10px}
.search input{background:transparent;border:0;color:inherit;padding:6px;outline:none;width:240px}
.btn{padding:8px 12px;border-radius:10px;border:0;background:linear-gradient(90deg,var(--accent),#4f46e5);color:white;cursor:pointer;font-weight:600}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.04);color:var(--muted);font-weight:600}

/* Table */
.table-wrap{overflow:auto;border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:14px}
thead th{position:sticky;top:0;background:linear-gradient(180deg,rgba(7,17,28,0.7),rgba(7,17,28,0.85));backdrop-filter: blur(6px);padding:12px;text-align:left;color:var(--muted);font-weight:600}
tbody td{padding:12px;border-top:1px solid rgba(255,255,255,0.03)}
tbody tr:hover td{background:linear-gradient(90deg, rgba(124,58,237,0.04), rgba(79,70,229,0.02));}
.chip{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,0.03);font-weight:600}

/* Pagination */
.pagination{display:flex;gap:8px;align-items:center;margin-top:12px}
.page{padding:8px 10px;border-radius:8px;background:transparent;border:1px solid rgba(255,255,255,0.03);cursor:pointer}
.page.active{background:linear-gradient(90deg,var(--accent),#4f46e5);color:white}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(1,6,11,0.6);display:flex;align-items:center;justify-content:center;padding:24px}
.modal{width:720px;max-width:98%;background:#071224;padding:18px;border-radius:12px}
.form-row{display:flex;gap:12px;margin-bottom:10px}
.form-row .field{flex:1}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
input[type=text],input[type=email],select,textarea{width:100%;padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit;outline:none}

/* responsive */
@media (max-width:880px){
  .app{flex-direction:column;padding:18px}
  .sidebar{width:100%;order:2}
  .main{order:1}
  .search input{width:140px}
  .header{flex-direction:column;align-items:stretch}
}
/* Small helpers */
.muted{color:var(--muted);font-size:13px}
.right{margin-left:auto}

/* subtle animations */
.fade-in{animation:fadeIn .28s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}