:root {
  --nm-granat: #0b2545;
  --nm-niebieski: #1f6feb;
  --nm-jasny: #eef3fb;
}
body { background: #f5f7fb; }
.nm-nav { background: var(--nm-granat); }
.nm-nav .navbar-brand, .nm-nav .nav-link, .nm-nav .navbar-text { color: #fff; }
.nm-nav .nav-link:hover, .nm-nav .nav-link.active { color: #9cc4ff; }
.nm-nav .navbar-toggler { border-color: rgba(255,255,255,.4); }
.nm-nav .navbar-toggler-icon { filter: invert(1); }
.nm-360 { color: #4ea1ff; font-weight: 700; }
.nm-rola { background: var(--nm-niebieski); }
.card { border: 0; box-shadow: 0 1px 3px rgba(11,37,69,.08); }
.kpi { border-left: 4px solid var(--nm-niebieski); }
.kpi .val { font-size: 1.8rem; font-weight: 700; color: var(--nm-granat); }
.kpi .lbl { color: #6c757d; font-size: .85rem; }
.badge-typ { background: var(--nm-jasny); color: var(--nm-granat); border: 1px solid #d6e2f5; }
.st-aktywne { background: #198754; }
.st-uszkodzone { background: #dc3545; }
.st-naprawa { background: #fd7e14; }
.st-magazyn { background: #6c757d; }
.st-zlikwidowane { background: #343a40; }
.tbl-compact td, .tbl-compact th { padding: .35rem .5rem; font-size: .9rem; vertical-align: middle; }
.mono { font-family: ui-monospace, Consolas, monospace; font-size: .85rem; }
#mapa { height: calc(100vh - 170px); min-height: 420px; border-radius: 8px; }
#minimapa { height: 260px; border-radius: 8px; }
.niepotwierdzona { border-left: 3px solid #ffc107; }
.lok-card:hover { background: var(--nm-jasny); }
.uwaga { color: #b02a37; }
.sig-ok { color: #198754; } .sig-sredni { color: #fd7e14; } .sig-zly { color: #dc3545; }
.zdj { max-height: 160px; object-fit: cover; border-radius: 6px; }
@media print {
  nav, footer, .no-print { display: none !important; }
  main { padding: 0 !important; }
}
