/* ===== Avatars ===== */
.avatar{
  display:inline-grid;place-items:center;border-radius:50%;
  background:linear-gradient(135deg,#3457ff,#7c3aed);color:#fff;
  font-weight:600;font-size:12.5px;width:34px;height:34px;flex-shrink:0;letter-spacing:.02em
}
.avatar.sm{width:28px;height:28px;font-size:11px}
.avatar.lg{width:52px;height:52px;font-size:17px}
.avatar.xl{width:72px;height:72px;font-size:22px}
.avatar.bg-primary{background:linear-gradient(135deg,#3457ff,#1d36b3)}
.avatar.bg-success{background:linear-gradient(135deg,#16a34a,#0d7a36)}
.avatar.bg-info{background:linear-gradient(135deg,#0ea5e9,#0369a1)}
.avatar.bg-warning{background:linear-gradient(135deg,#f59e0b,#b45309)}
.avatar.bg-danger{background:linear-gradient(135deg,#ef4444,#991b1b)}

/* ===== Cards / Panels ===== */
.card.panel{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  box-shadow:var(--shadow-xs);padding:20px;transition:.18s;
}
.card.panel:hover{box-shadow:var(--shadow-sm)}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.panel-title{font-size:15px;font-weight:600;margin:0;letter-spacing:-.005em}
.panel-sub{font-size:12.5px;color:var(--text-muted);margin:2px 0 0}
.sub-title{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}

/* ===== Page head ===== */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.crumbs{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px;margin-bottom:6px}
.crumbs a{color:var(--text-muted)}
.crumbs i{font-size:10px}
.page-title{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0}
.page-sub{font-size:13.5px;color:var(--text-muted);margin:4px 0 0}
.page-actions{display:flex;gap:8px;flex-wrap:wrap}

/* ===== Badges ===== */
.badge-soft{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:11.5px;font-weight:600}
.badge-primary{background:var(--primary-soft);color:var(--primary)}
.badge-success{background:var(--success-soft);color:var(--success)}
.badge-info{background:var(--info-soft);color:var(--info)}
.badge-warning{background:var(--warning-soft);color:#b45309}
.badge-danger{background:var(--danger-soft);color:var(--danger)}
.badge-muted{background:#eef2f7;color:var(--text-muted)}
.badge-purple{background:var(--purple-soft);color:var(--purple)}

/* Background-soft helpers */
.bg-primary-soft{background:var(--primary-soft)!important}
.bg-success-soft{background:var(--success-soft)!important}
.bg-info-soft{background:var(--info-soft)!important}
.bg-warning-soft{background:var(--warning-soft)!important}
.bg-danger-soft{background:var(--danger-soft)!important}
.bg-purple-soft{background:var(--purple-soft)!important}
.bg-muted{background:#cbd5e1!important}

/* ===== Tables ===== */
.tbl-enterprise{width:100%;font-size:13.5px}
.tbl-enterprise thead th{
  background:#fafbfd;color:var(--text-muted);font-weight:600;font-size:11.5px;
  text-transform:uppercase;letter-spacing:.06em;padding:12px 14px;border-bottom:1px solid var(--border);
  position:sticky;top:0;
}
.tbl-enterprise tbody td{padding:14px;border-bottom:1px solid var(--border);vertical-align:middle}
.tbl-enterprise tbody tr:last-child td{border-bottom:none}
.tbl-enterprise tbody tr{transition:.15s}
.tbl-enterprise tbody tr:hover{background:#fafbfd}
.tbl-enterprise .th-check{width:36px}
.cell-user{display:flex;align-items:center;gap:10px}
.cell-user strong{font-weight:600;font-size:13.5px;display:block}

.score{display:flex;align-items:center;gap:8px;min-width:90px}
.score-bar{position:relative;height:6px;width:60px;background:#eef2f7;border-radius:99px;overflow:hidden}
.score-bar span{position:absolute;inset:0;background:linear-gradient(90deg,#3457ff,#7c3aed);border-radius:99px}

.table-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 4px;font-size:13px}
.pagination .page-link{border:1px solid var(--border);color:var(--text);border-radius:6px!important;margin:0 2px;font-size:12.5px}
.pagination .active .page-link{background:var(--primary);border-color:var(--primary);color:#fff}

/* Toolbar */
.toolbar{display:flex;justify-content:space-between;gap:12px;padding:6px 4px 14px;flex-wrap:wrap}
.toolbar-left,.toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.search-input{position:relative;display:flex;align-items:center;min-width:260px}
.search-input i{position:absolute;left:12px;color:var(--text-faint);font-size:14px}
.search-input input{padding-left:36px;height:36px;background:#fff;border-color:var(--border)}
.seg button{background:#fff;border:1px solid var(--border);color:var(--text-muted);padding:6px 10px;font-size:12.5px}
.seg button.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.seg button:hover:not(.active){background:#f1f5f9}

.bulkbar{
  display:none;align-items:center;justify-content:space-between;padding:10px 14px;
  background:var(--primary-soft);border:1px solid #c7d2fe;border-radius:var(--r-sm);margin-bottom:12px;
  font-size:13px;color:var(--primary)
}
.bulkbar.show{display:flex}
.bulkbar > div{display:flex;gap:6px}

/* Modal polish */
.modal-content{border:none;border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.modal-header{border-bottom:1px solid var(--border);padding:18px 22px}
.modal-body{padding:22px}
.modal-footer{border-top:1px solid var(--border);padding:14px 22px}
.modal-title{font-size:16px;font-weight:600}

/* Dropdown polish */
.dropdown-menu{border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:6px;font-size:13.5px}
.dropdown-item{border-radius:6px;padding:7px 10px}
.dropdown-item:hover{background:var(--bg-app)}

/* Tabs (notif) */
.notif-tabs{gap:4px;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:6px}
.notif-tabs .nav-link{color:var(--text-muted);font-weight:500;font-size:13px;padding:6px 12px;border-radius:var(--r-sm);background:transparent;border:none}
.notif-tabs .nav-link.active{background:var(--primary-soft);color:var(--primary)}

/* Chip / tag */
.tag{display:inline-flex;padding:3px 10px;border-radius:99px;background:#eef2f7;color:var(--text);font-size:11.5px;font-weight:500}
.chip{display:inline-flex;padding:4px 10px 4px 10px;background:var(--primary-soft);color:var(--primary);border-radius:99px;font-size:12px;font-weight:500;align-items:center;gap:5px}
.chip-input{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:#fff}
.chip-input input{flex:1;min-width:120px;border:none;outline:none;font-size:13px;padding:2px 4px}

/* Dot helpers */
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}
.bg-primary{background:var(--primary)!important}
.bg-success{background:var(--success)!important}
.bg-info{background:var(--info)!important}
.bg-warning{background:var(--warning)!important}
.bg-danger{background:var(--danger)!important}
