:root{
  --sb-w: 260px;
  --primary: #0d6e5e;      /* vert pharmaceutique */
  --primary-dark: #095046;
  --sidebar-bg: #10241f;
  --sidebar-fg: #c9d6d1;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#f2f4f6;color:#1f2937}

/* Layout */
.app-wrapper{display:flex;min-height:100vh}
.sidebar{width:var(--sb-w);background:var(--sidebar-bg);color:var(--sidebar-fg);position:fixed;top:0;left:0;bottom:0;overflow-y:auto;transition:transform .25s;z-index:1040}
.app-main{flex:1;margin-left:var(--sb-w);display:flex;flex-direction:column;min-width:0}
.app-content{padding:1.25rem;flex:1}
.app-footer{padding:.75rem 1.25rem;font-size:.8rem;color:#6b7280;border-top:1px solid #e5e7eb;background:#fff}

/* Sidebar */
.sidebar-brand{display:flex;align-items:center;gap:.5rem;padding:1.1rem 1.25rem;font-weight:700;font-size:1.05rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-brand i{font-size:1.4rem;color:#3ddc97}
.sidebar-nav{padding:.5rem 0 2rem}
.sidebar-nav .nav-link{display:flex;align-items:center;gap:.6rem;color:var(--sidebar-fg);padding:.55rem 1.25rem;font-size:.9rem;text-decoration:none;border-left:3px solid transparent}
.sidebar-nav .nav-link:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar-nav .nav-link.active{background:rgba(61,220,151,.12);color:#fff;border-left-color:#3ddc97}
.sidebar-nav .nav-link i{width:20px;text-align:center;opacity:.9}
.nav-section{padding:.9rem 1.25rem .3rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#5f7d74;font-weight:700}

/* Topbar */
.topbar{display:flex;align-items:center;gap:1rem;background:#fff;padding:.6rem 1.25rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1030}
.topbar-title{font-size:1.1rem;font-weight:600;margin:0}

/* Cards / tables */
.card{border:1px solid #e5e7eb;border-radius:.6rem;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.card-header{background:#fff;border-bottom:1px solid #eef0f2;font-weight:600}
.table thead th{background:#f8fafc;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#64748b;border-bottom:2px solid #e5e7eb}
.table td,.table th{vertical-align:middle}
.btn-primary{background:var(--primary);border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.text-primary{color:var(--primary)!important}
a{color:var(--primary)}

/* Stat cards */
.stat-card{border-radius:.7rem;padding:1.1rem 1.25rem;color:#fff;position:relative;overflow:hidden}
.stat-card .stat-value{font-size:1.7rem;font-weight:700;line-height:1}
.stat-card .stat-label{font-size:.82rem;opacity:.9;margin-top:.3rem}
.stat-card .stat-icon{position:absolute;right:.9rem;top:.7rem;font-size:2.6rem;opacity:.25}
.bg-grad-1{background:linear-gradient(135deg,#0d6e5e,#12a685)}
.bg-grad-2{background:linear-gradient(135deg,#2563eb,#3b82f6)}
.bg-grad-3{background:linear-gradient(135deg,#d97706,#f59e0b)}
.bg-grad-4{background:linear-gradient(135deg,#7c3aed,#a855f7)}
.bg-grad-5{background:linear-gradient(135deg,#dc2626,#ef4444)}

/* Badges type comptabilité */
.badge-formel{background:#dcfce7;color:#166534}
.badge-informel{background:#fef9c3;color:#854d0e}

.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d6e5e,#10241f)}
.login-card{width:100%;max-width:400px;background:#fff;border-radius:.8rem;padding:2rem;box-shadow:0 10px 40px rgba(0,0,0,.25)}

/* Responsive */
@media (max-width: 991px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.show{transform:translateX(0)}
  .app-main{margin-left:0}
}
@media print{
  .sidebar,.topbar,.app-footer,.no-print{display:none!important}
  .app-main{margin-left:0}
  .app-content{padding:0}
}
