:root {
  --navy: #1F3864;
  --blue: #2E5FA3;
  --orange: #C55A11;
  --red: #C00000;
  --yellow: #BF8F00;
  --green: #1E7B45;
}
body { background: #f4f6fb; }
.app-navbar { background: var(--navy) !important; }
.app-navbar .nav-link.active { color: #fff !important; font-weight: 600; border-bottom: 2px solid #f5a623; }
.card { border: none; box-shadow: 0 1px 4px rgba(0,0,0,.08); border-radius: 10px; }
.kpi-card { padding: 18px 20px; }
.kpi-label { font-size: .75rem; font-weight: 600; color: #7f7f7f; text-transform: uppercase; letter-spacing: .03em; }
.kpi-value { font-size: 1.8rem; font-weight: 700; color: var(--navy); }
.page-title { color: var(--navy); font-weight: 700; }
.table thead th { background: var(--blue); color: #fff; font-size: .8rem; white-space: nowrap; }
.badge-status { font-size: .72rem; padding: .35em .6em; }
.flag-red { background: #f8cbcb; color: var(--red); font-weight: 600; }
.flag-orange { background: #fbe0ce; color: var(--orange); font-weight: 600; }
.flag-yellow { background: #fff2cc; color: var(--yellow); font-weight: 600; }
.flag-grey { background: #f2f2f2; color: #7f7f7f; }
.flag-green { background: #d9f0e1; color: var(--green); font-weight: 600; }
@media print { .no-print { display: none !important; } }
.section-card { padding: 20px; margin-bottom: 20px; }
.login-wrap { max-width: 420px; margin: 8vh auto; }
.sample-tag { color: var(--red); font-style: italic; font-size: .72rem; }
