:root{
  --mb-primary:#1a56db;
  --mb-dark:#0038bd;
  --mb-light:#e4ebfb;
  --mb-rgb:26,86,219;
  --mb-bg:#f8f9fc;
  --mb-card:#fff;
  --mb-text:#1c2434;
  --mb-muted:#64748b;
  --mb-border:#e2e8f0;
  --mb-shadow:0 2px 16px rgba(0,0,0,.07);
  --mb-shadow-h:0 8px 32px rgba(26,86,219,.18);
  --mb-sidebar:#0f172a;
  --mb-sw:260px;
  --mb-r:12px;
  --mb-r-sm:6px;
  --mb-t:.2s ease;
  --mb-font:'Inter','Segoe UI',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
body{font-family:var(--mb-font);background:var(--mb-bg);color:var(--mb-text);font-size:.9375rem;line-height:1.6;margin:0}
/* Bootstrap overrides */
.btn-primary{background:var(--mb-primary)!important;border-color:var(--mb-primary)!important}
.btn-primary:hover{background:var(--mb-dark)!important;border-color:var(--mb-dark)!important}
.btn-outline-primary{color:var(--mb-primary)!important;border-color:var(--mb-primary)!important}
.btn-outline-primary:hover{background:var(--mb-primary)!important;color:#fff!important}
.text-primary{color:var(--mb-primary)!important}
.bg-primary{background:var(--mb-primary)!important}
.form-control:focus,.form-select:focus{border-color:var(--mb-primary);box-shadow:0 0 0 .2rem rgba(26,86,219,.2)}
a{color:var(--mb-primary)}a:hover{color:var(--mb-dark)}
.nav-pills .nav-link.active{background:var(--mb-primary)}
/* Sidebar */
.mb-sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--mb-sw);background:var(--mb-sidebar);display:flex;flex-direction:column;z-index:1000;overflow-y:auto;transition:transform var(--mb-t)}
.sidebar-brand{padding:1.25rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}
.sidebar-brand img,.sidebar-brand .logo-ph{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0}
.sidebar-brand .logo-ph{background:var(--mb-primary);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.sidebar-brand .brand-name{font-weight:700;font-size:.95rem;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-brand .brand-sub{font-size:.7rem;color:#64748b;white-space:nowrap}
.mb-sidebar nav{padding:.75rem 0;flex:1}
.sec-title{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#475569;padding:.75rem 1.25rem .25rem}
.mb-sidebar .nav-link{display:flex;align-items:center;gap:.7rem;padding:.55rem 1.25rem;color:#94a3b8;font-size:.855rem;font-weight:500;border-radius:0;transition:all var(--mb-t);position:relative;text-decoration:none}
.mb-sidebar .nav-link .nl-icon{font-size:1rem;width:18px;text-align:center;flex-shrink:0}
.mb-sidebar .nav-link:hover{color:#fff;background:rgba(255,255,255,.05)}
.mb-sidebar .nav-link.active{color:#fff;background:rgba(26,86,219,.18)}
.mb-sidebar .nav-link.active::before{content:'';position:absolute;left:0;top:15%;height:70%;width:3px;background:var(--mb-primary);border-radius:0 3px 3px 0}
/* Topbar */
.mb-topbar{position:sticky;top:0;z-index:900;background:rgba(248,249,252,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--mb-border);padding:.75rem 1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.mb-topbar .page-title{font-size:1.05rem;font-weight:700}
.topbar-right{display:flex;align-items:center;gap:.75rem}
/* Main */
.mb-main{margin-left:var(--mb-sw);min-height:100vh;display:flex;flex-direction:column}
.mb-content{padding:1.75rem;flex:1}
/* Cards */
.mb-card{background:var(--mb-card);border-radius:var(--mb-r);border:1px solid var(--mb-border);box-shadow:var(--mb-shadow);transition:box-shadow var(--mb-t)}
.mb-card:hover{box-shadow:var(--mb-shadow-h)}
.card-hd{padding:1.1rem 1.4rem .7rem;border-bottom:1px solid var(--mb-border);display:flex;align-items:center;justify-content:space-between}
.card-hd .card-title{font-weight:700;font-size:.92rem;margin:0}
.card-bd{padding:1.1rem 1.4rem}
/* Stats */
.mb-stat{background:var(--mb-card);border-radius:var(--mb-r);border:1px solid var(--mb-border);padding:1.2rem 1.4rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--mb-shadow);transition:all var(--mb-t)}
.mb-stat:hover{transform:translateY(-2px);box-shadow:var(--mb-shadow-h)}
.stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--mb-light);color:var(--mb-primary);font-size:1.3rem;flex-shrink:0}
.stat-val{font-size:1.6rem;font-weight:800;line-height:1}
.stat-lbl{font-size:.78rem;color:var(--mb-muted);margin-top:.15rem}
/* Statut badges */
.bs{padding:.28em .75em;border-radius:50px;font-size:.75rem;font-weight:600}
.bs-wait{background:rgba(245,158,11,.12);color:#b45309}
.bs-ok{background:rgba(16,185,129,.12);color:#065f46}
.bs-ko{background:rgba(239,68,68,.12);color:#991b1b}
.bs-cancel{background:rgba(107,114,128,.12);color:#374151}
/* Tables */
.mb-table thead th{background:var(--mb-bg);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mb-muted);border-bottom:2px solid var(--mb-border);font-weight:600;padding:.65rem 1rem}
.mb-table tbody tr:hover{background:var(--mb-light)}
.mb-table td{padding:.65rem 1rem;vertical-align:middle}
/* Auth */
.auth-wrap{min-height:100vh;display:flex;background:linear-gradient(135deg,var(--mb-light) 0%,#fff 60%)}
.auth-box{margin:auto;width:100%;max-width:440px;background:#fff;border-radius:var(--mb-r);border:1px solid var(--mb-border);box-shadow:0 20px 60px rgba(26,86,219,.12);padding:2.5rem}
/* Notif bell */
.notif-bell{position:relative}
.notif-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:#ef4444;color:#fff;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #f8f9fc}
/* Responsive */
@media(max-width:768px){
  .mb-sidebar{transform:translateX(-100%)}
  .mb-sidebar.open{transform:translateX(0)}
  .mb-main{margin-left:0}
  .mb-content{padding:1rem}
}
/* Animations */
@keyframes fadeInUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.fiu{animation:fadeInUp .35s ease both}
.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}.d4{animation-delay:.32s}
/* Scrollbar */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--mb-border);border-radius:3px}
