:root {
  --brand: #1e3a5f;
  --brand-light: #2c5282;
  --accent: #d69e2e;
  --bg: #f4f6f9;
}
body { background: var(--bg); font-family: 'Segoe UI', Tahoma, Arial, sans-serif; }

.topbar { background: var(--brand); height: 56px; position: sticky; top: 0; z-index: 1030; }
.topbar-logo-badge {
  background: #fff; display: inline-flex; align-items: center; justify-content: center;
  padding: 3px 8px; border-radius: 6px; line-height: 0;
}
.topbar-logo { height: 26px; width: auto; max-width: 130px; object-fit: contain; display: block; }

.login-logo { max-height: 64px; max-width: 220px; object-fit: contain; }

.invoice-logo { max-height: 60px; max-width: 200px; object-fit: contain; }

.sidebar {
  width: 230px; min-width: 230px; background: #fff; min-height: calc(100vh - 56px);
  border-right: 1px solid #e2e8f0; padding-top: .5rem;
}
.sidebar .nav-link { color: #334155; padding: .6rem 1rem; font-size: .92rem; border-radius: 0; }
.sidebar .nav-link i { width: 20px; margin-right: 8px; }
.sidebar .nav-link:hover { background: #eef2f7; }
.sidebar .nav-link.active { background: var(--brand); color: #fff; border-radius: 0 20px 20px 0; margin-right: 8px; }

.content-area { max-width: 100%; }

.login-wrapper {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-light) 100%);
}
.login-card { max-width: 380px; width: 100%; border-radius: 14px; }

.stat-card { border: none; border-radius: 12px; color: #fff; }
.stat-card .stat-value { font-size: 1.6rem; font-weight: 700; }
.stat-card.blue { background: linear-gradient(135deg,#1e3a5f,#2c5282); }
.stat-card.green { background: linear-gradient(135deg,#276749,#38a169); }
.stat-card.orange { background: linear-gradient(135deg,#9c4221,#dd6b20); }
.stat-card.red { background: linear-gradient(135deg,#822727,#c53030); }

.table thead th { background: #eef2f7; font-size: .8rem; text-transform: uppercase; color: #475569; }

@media (max-width: 767px) {
  .sidebar { position: fixed; left: -240px; top: 56px; transition: left .2s ease; z-index: 1025; box-shadow: 2px 0 8px rgba(0,0,0,.1); }
  .sidebar.show { left: 0; }
}

/* Barcode label print sheet */
@media print {
  body * { visibility: hidden; }
  #printArea, #printArea * { visibility: visible; }
  #printArea { position: absolute; left: 0; top: 0; }
  .no-print { display: none !important; }
}
