:root {
  --brand:#0D47A1;
  --action:#00BFA5;
  --muted:#5b6472;
  --bg:#F7F9FC;
  --border:#E6E8EC;
}

body {
  margin:0;
  font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;
  background:#fff;
  color:#101828;
}

.container { max-width:1160px; margin:0 auto; padding:16px; }

.topbar {
  position:sticky;
  top:0;
  background:#fff;
  border-bottom:1px solid var(--border);
  z-index:50;
}
.topbar .wrap {
  height:64px;
  display:flex;
  align-items:center;
  padding:0 16px;
  gap:12px;
}
.brand { display:flex; align-items:center; gap:10px; font-weight:700; }
.brand img { height:26px; }
.brand .title { color:#0f172a; }

.top-actions {
  margin-left:auto;
  display:flex;
  gap:8px;
  align-items:center;
}
.iconbtn {
  border:1px solid var(--border);
  background:#fff;
  border-radius:10px;
  padding:8px 14px;
  display:inline-flex;
  gap:6px;
  align-items:center;
  cursor:pointer;
  color:#0f172a;
  font-weight:500;
}
.iconbtn:hover { background:#F8FAFC; }

.badge {
  min-width:18px;
  height:18px;
  border-radius:999px;
  background:#D32F2F;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  padding:0 6px;
}

.userpill {
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
}
.userpill img {
  width:28px;
  height:28px;
  border-radius:50%;
  object-fit:cover;
}

.dot { width:10px; height:10px; border-radius:50%; background:#9CA3AF; }
.dot.online { background:#10B981; }

.dropdown { position:relative; }
.dropdown .menu {
  position:absolute;
  right:0;
  top:48px;
  min-width:230px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  display:none;
}
.dropdown.open .menu { display:block; }
.menu a { display:block; padding:10px 14px; color:#111; }
.menu a:hover { background:#F4F6F8; }

.drawer {
  position:fixed;
  inset:0 0 0 auto;
  width:360px;
  background:#fff;
  border-left:1px solid var(--border);
  box-shadow:-20px 0 40px rgba(0,0,0,.06);
  transform:translateX(100%);
  transition:.2s;
  display:flex;
  flex-direction:column;
  z-index:60;
}
.drawer.open { transform:translateX(0); }
.drawer-header {
  padding:14px 16px;
  border-bottom:1px solid var(--border);
  display:flex;
  gap:10px;
  align-items:center;
}
.drawer-search {
  padding:10px;
  border-bottom:1px solid var(--border);
}
.drawer-search input {
  width:100%;
  border:1px solid var(--border);
  border-radius:10px;
  padding:9px 10px;
}

.list { flex:1; overflow:auto; }
.contact {
  display:flex;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid #F2F4F7;
  cursor:pointer;
  align-items:center;
}
.contact:hover { background:#F9FAFB; }
.contact img {
  width:40px;
  height:40px;
  border-radius:50%;
  object-fit:cover;
}
.contact .name { font-weight:600; color:#0f172a; }
.contact .sub { font-size:12px; color:var(--muted); }
.pres-dot { width:8px; height:8px; border-radius:50%; background:#9CA3AF; }
.pres-dot.online { background:#10B981; }

.table {
  width:100%;
  border-collapse:collapse;
  margin-top:1rem;
}
.table th, .table td {
  padding:8px;
  border-bottom:1px solid #EDF1F5;
  text-align:left;
}
.table th {
  background:#fafbfc;
  font-weight:600;
}

.btn {
  display:inline-flex;
  gap:6px;
  align-items:center;
  border:1px solid transparent;
  border-radius:8px;
  padding:7px 12px;
  cursor:pointer;
}
.btn.primary { background:var(--brand); color:#fff; }
.btn.secondary { background:#fff; border-color:var(--border); color:#0f172a; }
