:root{
  --primary:#0d6efd;
  --dark:#0f172a;
  --sidebar-w:230px;
}
body{background:#f4f6f9;font-family:'Segoe UI',Roboto,Arial,sans-serif;}
.app-wrapper{display:flex;min-height:100vh;}
.sidebar{
  width:var(--sidebar-w);background:var(--dark);color:#fff;flex-shrink:0;
  position:fixed;top:0;left:0;height:100vh;overflow-y:auto;transition:left .25s ease;z-index:1040;
}
.sidebar .brand{padding:18px 16px;font-weight:700;font-size:1.1rem;border-bottom:1px solid rgba(255,255,255,.1);}
.sidebar a{color:#cbd5e1;display:block;padding:11px 18px;text-decoration:none;font-size:.93rem;}
.sidebar a.active,.sidebar a:hover{background:rgba(255,255,255,.08);color:#fff;border-left:3px solid var(--primary);}
.main-content{margin-left:var(--sidebar-w);width:100%;padding:18px;}
.topbar{background:#fff;border-radius:10px;padding:12px 16px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.stat-card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.stat-card h3{margin:0;font-weight:700;}
.card{border:none;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.menu-toggle{display:none;}
@media (max-width:991px){
  .sidebar{left:-260px;}
  .sidebar.show{left:0;}
  .main-content{margin-left:0;}
  .menu-toggle{display:inline-block;}
}
.table-responsive{border-radius:10px;}
.badge-status-pending{background:#f59e0b;}
.badge-status-paid,.badge-status-approved,.badge-status-credited,.badge-status-received,.badge-status-completed{background:#16a34a;}
.badge-status-rejected{background:#dc2626;}
.badge-status-in_progress{background:#0d6efd;}
.auth-box{max-width:440px;margin:60px auto;}
.auth-box .card{border-radius:16px;}
