:root { --nesbo-blue: #003f7d; --nesbo-green: #17884f; --nesbo-red: #ff0015; --nesbo-ink: #102a43; }
body { background: #f4f7fb; color: var(--nesbo-ink); }
.navbar-brand { font-weight: 700; color: var(--nesbo-blue); }
.brand-logo { display: inline-flex; align-items: center; gap: .65rem; }
.brand-logo img { width: 118px; max-height: 52px; object-fit: contain; }
.auth-logo { width: 210px; max-width: 86%; height: auto; }
.card { border-radius: 8px; }
.btn-primary { --bs-btn-bg: var(--nesbo-blue); --bs-btn-border-color: var(--nesbo-blue); --bs-btn-hover-bg: #002f60; --bs-btn-hover-border-color: #002f60; }
.btn-outline-primary { --bs-btn-color: var(--nesbo-blue); --bs-btn-border-color: var(--nesbo-blue); --bs-btn-hover-bg: var(--nesbo-blue); --bs-btn-hover-border-color: var(--nesbo-blue); }
.form-control:focus, .form-select:focus { border-color: var(--nesbo-blue); box-shadow: 0 0 0 .2rem rgba(0, 63, 125, .16); }
.status-pill { font-size: .85rem; }
.scanner-result { border: 3px solid transparent; border-radius: 8px; }
.scanner-result.success { border-color: var(--nesbo-green); background: #ecfdf3; }
.scanner-result.error { border-color: var(--nesbo-red); background: #fff1f3; }
.scanner-result.warning { border-color: #f79009; background: #fffaeb; }
.btn-xl { padding: 1rem 1.25rem; font-size: 1.15rem; font-weight: 700; }
@media (max-width: 576px) {
  .table-responsive { font-size: .9rem; }
  .brand-logo img { width: 92px; }
  .brand-logo span { font-size: 1rem; }
}
