:root {
  --wms-bg: #f5f6fa;
  --wms-sidebar: #1f2330;
  --wms-sidebar-2: #272c3b;
  --wms-accent: #2f80ed;
  --wms-accent-2: #56ccf2;
  --wms-soft: #eef2f7;
  --wms-text: #1f2330;
}

body { color: var(--wms-text); background: var(--wms-bg); }

.brand-mark {
  display: inline-block;
  background: linear-gradient(135deg, var(--wms-accent), var(--wms-accent-2));
  color: #fff;
  padding: 2px 10px;
  border-radius: 6px;
  font-weight: 700;
  letter-spacing: 1px;
}

.navbar-dark .nav-link.active { color: #fff !important; border-bottom: 2px solid var(--wms-accent-2); }

.auth-body {
  min-height: 100vh;
  background: radial-gradient(1200px 600px at 20% 0%, #2f80ed22, transparent 60%),
              radial-gradient(900px 500px at 90% 100%, #56ccf222, transparent 60%),
              var(--wms-bg);
}
.auth-logo {
  width: 56px; height: 56px;
  border-radius: 12px;
  margin: 0 auto;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--wms-accent), var(--wms-accent-2));
  color: #fff; font-weight: 700;
}

.kpi-card {
  border: 0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(20,30,50,.05);
  background: #fff;
}
.kpi-card .kpi-label { color: #6b7280; font-size: .85rem; }
.kpi-card .kpi-value { font-size: 1.6rem; font-weight: 700; }

.section-title { font-weight: 600; }

.table-card { background: #fff; border-radius: 12px; box-shadow: 0 1px 2px rgba(20,30,50,.05); }
.table-card .table { margin-bottom: 0; }
.table-card .table thead th { background: var(--wms-soft); border-bottom: 0; font-size: .85rem; text-transform: uppercase; letter-spacing: .03em; color: #4b5563; }

.chat-thread { max-height: 480px; overflow-y: auto; }
.chat-msg { border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; }
.chat-msg.mine { background: #e7f1ff; }
.chat-msg.theirs { background: #f1f5f9; }
.chat-meta { font-size: .75rem; color: #6b7280; }
