/* ============================================================
   AssurNiger — Styles personnalisés (Bootstrap 5.3 base)
   ============================================================ */

/* --- Sidebar --- */
.sidebar {
  width: 240px;
  min-height: 100vh;
  flex-shrink: 0;
  transition: width .25s;
}

.sidebar .nav-link {
  font-size: .875rem;
  padding: .5rem .75rem;
  border-radius: 8px;
  transition: background .15s, color .15s;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active {
  background: rgba(255,255,255,.12);
  color: #fff !important;
}

.sidebar-brand { height: 60px; display: flex; align-items: center; }

/* --- Topbar --- */
.topbar { height: 56px; }

/* --- Main content --- */
.main-content { overflow-x: hidden; }

/* --- Stat icon --- */
.stat-icon { width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; }

/* --- Buttons xs --- */
.btn-xs {
  padding: .2rem .45rem;
  font-size: .75rem;
  border-radius: 4px;
}

/* --- Badges in tables --- */
td .badge { font-size: .7rem; }

/* --- Cards hover --- */
.card { border-radius: 12px; }

/* --- Tables --- */
.table th { font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; }
.table td { font-size: .875rem; vertical-align: middle; }

/* --- Pagination --- */
.page-link { font-size: .8rem; }

/* --- Mobile sidebar --- */
@media (max-width: 768px) {
  .sidebar {
    position: fixed;
    top: 0; left: -240px;
    height: 100vh;
    z-index: 1050;
    transition: left .25s;
  }
  .sidebar.show { left: 0; }
  .main-content { margin-left: 0 !important; }
}

/* --- Client portal --- */
.text-white-75 { color: rgba(255,255,255,.75); }
.method-card { border-radius: 10px; transition: border-color .15s, background .15s; }
.method-card:hover { border-color: #198754 !important; }

/* --- Login page --- */
.cursor-pointer { cursor: pointer; }
