/* 卡密/代理商进销存 —— 主样式 */
:root{
  --app-primary:#1e6fd9;
  --app-dark:#1f2a37;
  --app-sidebar-w:196px;
}
*{font-size:14px}
body{background:#f4f6f9;color:#243043}

.app-navbar{background:linear-gradient(90deg,#1f2a37,#28405e);min-height:52px}
.app-navbar .navbar-brand{font-size:16px;color:#fff}

.app-body{display:flex;min-height:calc(100vh - 52px)}
.app-sidebar{width:var(--app-sidebar-w);background:#fff;border-right:1px solid #e5e9f0;flex:0 0 var(--app-sidebar-w)}
.app-main{flex:1;min-width:0;display:flex;flex-direction:column}
.app-main>div{flex:1}

.app-menu{padding:8px 0}
.app-menu .menu-group{padding:12px 16px 4px;font-size:12px;color:#98a2b3;letter-spacing:.5px}
.app-menu .nav-link{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#3d4a5c;border-left:3px solid transparent}
.app-menu .nav-link:hover{background:#f0f4fa;color:var(--app-primary)}
.app-menu .nav-link.active{background:#eaf2fe;color:var(--app-primary);border-left-color:var(--app-primary);font-weight:600}
.app-menu .nav-link i{width:18px;text-align:center}

.card{border:1px solid #e5e9f0;border-radius:8px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.card-header{background:#fff;border-bottom:1px solid #eef1f6;font-weight:600;padding:.6rem .9rem}
.stat-card .stat-value{font-size:24px;font-weight:700;line-height:1.1}
.stat-card .stat-label{color:#7a8699;font-size:12px}
.stat-card .bi{font-size:26px;opacity:.25}

.table-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.table thead th{background:#fafbfd;font-weight:600;color:#5b6779;white-space:nowrap;font-size:13px}
.table td{vertical-align:middle}
.table-actions .btn{padding:.15rem .4rem;font-size:12px}

.form-required:after{content:" *";color:#e5484d}

.badge-soft{background:#eef2f7;color:#4a5568;font-weight:500}

@media (max-width:992px){
  .app-sidebar{display:none}
  .app-sidebar .offcanvas-lg{display:block}
}
@media (max-width:576px){
  .stat-card .stat-value{font-size:20px}
  .app-main>.container-fluid{padding-left:.6rem;padding-right:.6rem}
}
