:root {
  --brand-primary: #2f5fda;
  --brand-dark: #1c3a8a;
}

body {
  background-color: #f4f6fb;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
}

.app-navbar {
  background: linear-gradient(90deg, var(--brand-dark), var(--brand-primary));
}

.app-container {
  max-width: 1400px;
  margin: 0 auto;
}

.card {
  border: none;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(20, 30, 60, 0.06);
}

.stat-card {
  border-radius: 14px;
  padding: 1.1rem 1.3rem;
  color: #fff;
  height: 100%;
}
.stat-card .stat-label { font-size: .8rem; opacity: .9; text-transform: uppercase; letter-spacing: .04em; }
.stat-card .stat-value { font-size: 1.6rem; font-weight: 700; }

.bg-grad-blue   { background: linear-gradient(135deg,#3b6df0,#2749b3); }
.bg-grad-green  { background: linear-gradient(135deg,#22b573,#0e7a4c); }
.bg-grad-orange { background: linear-gradient(135deg,#f8a13a,#d3720f); }
.bg-grad-red    { background: linear-gradient(135deg,#f0555e,#b8232c); }
.bg-grad-purple { background: linear-gradient(135deg,#8a5cf6,#5a2fc1); }
.bg-grad-teal   { background: linear-gradient(135deg,#2ec5c9,#177f82); }

.deal-card img.product-img {
  height: 170px;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
  width: 100%;
  background: #eef1f8;
}

.login-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand-primary));
}

.login-card {
  width: 100%;
  max-width: 420px;
  border-radius: 16px;
}

.nav-prev-next .btn { min-width: 140px; }

.table-sticky thead th { position: sticky; top: 0; background: #fff; z-index: 1; }

.slot-progress { height: 8px; border-radius: 5px; }

.badge-soft-success { background:#e5f8ef; color:#0e7a4c; }
.badge-soft-warning { background:#fff4e2; color:#a15f00; }
.badge-soft-danger  { background:#fdeaea; color:#b8232c; }

.form-label { font-weight: 600; font-size: .88rem; }

.detail-label { color:#6b7280; font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; }
.detail-value { font-size:1rem; font-weight:600; }
