:root {
  --wopr-navy: #0a2f6b;
  --wopr-navy-2: #123f8a;
  --wopr-red: #c8102e;
  --wopr-bg: #f4f6fa;
  --bs-primary: #0a2f6b;
  --bs-primary-rgb: 10, 47, 107;
  --bs-link-color: #0d47a1;
  --bs-link-color-rgb: 13, 71, 161;
}
body { background: var(--wopr-bg); }
.wopr-nav { background: linear-gradient(90deg, var(--wopr-navy), var(--wopr-navy-2)); border-bottom: 4px solid var(--wopr-red); }
.brand-sub { font-size: .7rem; opacity: .8; letter-spacing: .04em; }
.btn-primary { --bs-btn-bg: var(--wopr-navy); --bs-btn-border-color: var(--wopr-navy); --bs-btn-hover-bg: #082555; --bs-btn-hover-border-color: #082555; --bs-btn-active-bg: #061d45; }
.btn-outline-primary { --bs-btn-color: var(--wopr-navy); --bs-btn-border-color: var(--wopr-navy); --bs-btn-hover-bg: var(--wopr-navy); --bs-btn-hover-border-color: var(--wopr-navy); }
.text-wopr { color: var(--wopr-red) !important; }
.hero { background: radial-gradient(circle at 85% 20%, #1f5bbf 0, var(--wopr-navy) 55%); color: #fff; }
.card { border-color: #e1e6ef; }
.card-header { font-size: .95rem; }
.section-title { text-transform: uppercase; font-size: .75rem; letter-spacing: .08em; color: #6c7a91; border-bottom: 1px solid #e3e8f0; padding-bottom: .35rem; margin: .75rem 0 0; }
.stat-tile { background: #fff; border: 1px solid #e1e6ef; border-radius: .75rem; padding: 1rem 1.1rem; height: 100%; }
.stat-label { font-size: .8rem; color: #6c7a91; }
.stat-value { font-size: 1.8rem; font-weight: 700; color: var(--wopr-navy); }
.table > :not(caption) > * > * { padding-top: .45rem; padding-bottom: .45rem; }
.table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: #5a6781; background: #f8f9fc; }
.nav-tabs .nav-link { color: #3b4a66; }
.nav-tabs .nav-link.active { font-weight: 600; color: var(--wopr-navy); border-top: 3px solid var(--wopr-red); }
.person-photo { width: 120px; height: 150px; object-fit: cover; border-radius: .5rem; border: 1px solid #dfe4ec; background: #eef1f6; }
.photo-placeholder { width: 120px; height: 150px; border-radius: .5rem; background: #e8ecf3; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: #9aa6ba; }
.pp-results { z-index: 1060; max-height: 280px; overflow-y: auto; }
.req-ok { color: #198754; }
.req-bad { color: #c8102e; }
.req-warn { color: #b8860b; }
.wopr-footer { background: #fff; border-top: 1px solid #e1e6ef; color: #6c7a91; }
.wopr-footer a { color: #4a5a78; }
.dropdown-item i { width: 1.3rem; display: inline-block; }

/* Karta licencyjna (druk) */
.license-card { width: 86mm; min-height: 54mm; border-radius: 3mm; overflow: hidden; background: #fff; border: 1px solid #c9d2e3;
  box-shadow: 0 4px 14px rgba(10, 47, 107, .15); font-size: 8.5pt; }
.license-card .lc-head { background: var(--wopr-navy); color: #fff; padding: 2mm 3mm; border-bottom: 1.2mm solid var(--wopr-red); display: flex; align-items: center; gap: 2mm; }
.license-card .lc-body { display: flex; gap: 3mm; padding: 2.5mm 3mm; }
.license-card .lc-photo { width: 20mm; height: 25mm; object-fit: cover; border-radius: 1mm; background: #eef1f6; }
.license-card .lc-qr svg { width: 20mm; height: 20mm; }
.license-card .lc-label { color: #6c7a91; font-size: 6.5pt; text-transform: uppercase; }
@media print {
  body { background: #fff; }
  .card { border: 0; box-shadow: none; }
  main.container-xl { max-width: 100%; padding: 0; }
}
