:root{
  --sm-bg:#f4f5fa;
  --sm-sidebar:#15171d;
  --sm-sidebar-hover:#21242d;
  --sm-accent:#c9a227;
  --sm-accent-dark:#a9871c;
  --sm-text-muted:#8a8fb3;
  --sm-card-radius:14px;
}

body{
  background:var(--sm-bg);
  font-family:'Segoe UI', system-ui, -apple-system, sans-serif;
  color:#2b2d42;
}

/* ---------- LOGIN ---------- */
.login-body{
  min-height:100vh;
  background:radial-gradient(circle at 20% 20%, #2a2a2a 0%, #17181c 55%, #0a0a0b 100%);
}
.login-card{
  background:#fff;
  width:380px;
  max-width:92vw;
  padding:2.5rem 2rem;
  border-radius:18px;
}
.login-logo{
  width:76px;height:76px;border-radius:50%;
  background:#fff;border:1.5px solid #eef0f7;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.login-logo img{width:100%;height:100%;object-fit:cover;}

/* ---------- LAYOUT ---------- */
.sm-wrapper{display:flex;min-height:100vh;}

.sm-sidebar{
  width:250px;
  background:var(--sm-sidebar);
  color:#fff;
  flex-shrink:0;
  position:fixed;
  top:0;left:0;bottom:0;
  overflow-y:auto;
  transition:transform .25s ease;
  z-index:1030;
}
.sm-sidebar .brand{
  padding:1.3rem 1.2rem;
  display:flex;align-items:center;gap:.6rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.sm-sidebar .brand .logo{
  width:38px;height:38px;border-radius:50%;
  background:#fff;
  display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;
}
.sm-sidebar .brand .logo img{width:100%;height:100%;object-fit:cover;}
.sm-sidebar .brand span{font-weight:700;font-size:1.05rem;line-height:1.1;}

.sm-nav{padding:1rem .7rem;}
.sm-nav .nav-section-title{
  text-transform:uppercase;font-size:.7rem;letter-spacing:.06em;
  color:var(--sm-text-muted);margin:1rem .6rem .4rem;font-weight:600;
}
.sm-nav a{
  display:flex;align-items:center;gap:.7rem;
  padding:.6rem .8rem;border-radius:10px;
  color:#c9cbe0;text-decoration:none;font-size:.9rem;font-weight:500;
  margin-bottom:.15rem;transition:.15s;
}
.sm-nav a i{font-size:1.05rem;width:20px;text-align:center;}
.sm-nav a:hover{background:var(--sm-sidebar-hover);color:#fff;}
.sm-nav a.active{background:var(--sm-accent);color:#fff;}
.sm-nav a .badge{margin-left:auto;}

.sm-content{
  margin-left:250px;
  flex:1;
  min-width:0;
  display:flex;flex-direction:column;
}

.sm-topbar{
  background:#fff;
  padding:.85rem 1.5rem;
  display:flex;align-items:center;justify-content:between;
  border-bottom:1px solid #ecedf5;
  position:sticky;top:0;z-index:1020;
}
.sm-main{padding:1.5rem;flex:1;}

.sm-toggle-btn{display:none;}

@media (max-width: 991.98px){
  .sm-sidebar{transform:translateX(-100%);}
  .sm-sidebar.show{transform:translateX(0);}
  .sm-content{margin-left:0;}
  .sm-toggle-btn{display:inline-flex;}
}

/* ---------- CARDS / KPIs ---------- */
.sm-card{
  background:#fff;
  border-radius:var(--sm-card-radius);
  border:1px solid #eef0f7;
  box-shadow:0 2px 10px rgba(20,20,50,.04);
}
.kpi-card{
  padding:1.2rem;
  display:flex;align-items:center;gap:1rem;
}
.kpi-icon{
  width:52px;height:52px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;color:#fff;flex-shrink:0;
}
.kpi-value{font-size:1.5rem;font-weight:700;line-height:1;}
.kpi-label{font-size:.8rem;color:#8a8fb3;font-weight:500;}

.platform-chip{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.3rem .65rem;border-radius:20px;font-size:.78rem;font-weight:600;color:#fff;
}
.brand-icon-wrap{
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border-radius:50%;padding:2px;vertical-align:middle;
  width:1.1em;height:1.1em;flex-shrink:0;
}
.brand-icon-img{height:100%;width:100%;object-fit:contain;display:block;}

.table-sm-custom thead th{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;
  color:#8a8fb3;border-bottom:2px solid #eef0f7;font-weight:700;
}
.table-sm-custom td{vertical-align:middle;font-size:.87rem;}

.avatar-circle{
  width:36px;height:36px;border-radius:50%;
  background:var(--sm-accent);color:#fff;font-weight:700;font-size:.8rem;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}

.section-title{font-weight:700;font-size:1.15rem;margin-bottom:.25rem;}
.section-sub{color:#8a8fb3;font-size:.85rem;}

.btn-primary{background:var(--sm-accent);border-color:var(--sm-accent);}
.btn-primary:hover{background:var(--sm-accent-dark);border-color:var(--sm-accent-dark);}
.text-accent{color:var(--sm-accent)!important;}
.nav-tabs .nav-link.active{color:var(--sm-accent);font-weight:600;}

.profile-slot{
  border:1.5px dashed #dcdff0;border-radius:12px;padding:.7rem .9rem;
  display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;
}
.profile-slot.busy{border-style:solid;border-color:#eef0f7;background:#fafbff;}

.category-card{transition:.15s;cursor:pointer;}
.category-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(20,20,50,.09);border-color:#dcdff0;}

.filter-chip{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.4rem .85rem;border-radius:20px;font-size:.82rem;font-weight:600;
  border:1.5px solid #eef0f7;background:#fff;color:#5a5f7d;cursor:pointer;transition:.15s;
}
.filter-chip:hover{border-color:#dcdff0;}
.filter-chip.active{color:#fff;border-color:transparent;}
.badge-soft-success{background:#e5f9ee;color:#0e9f5f;}
.badge-soft-warning{background:#fff6e0;color:#c8890b;}
.badge-soft-danger{background:#fdeaea;color:#e2483a;}
.badge-soft-secondary{background:#eef0f7;color:#8a8fb3;}
