/* ---------- Signature element: hazard stripe divider ---------- */
.hazard-rule {
  height: 4px;
  background-image: repeating-linear-gradient(
    -45deg,
    #F5A623 0, #F5A623 10px,
    #12161B 10px, #12161B 20px
  );
  border-radius: 2px;
  opacity: 0.9;
}

.hazard-chip {
  display: inline-block;
  width: 22px;
  height: 8px;
  border-radius: 2px;
  background-image: repeating-linear-gradient(
    -45deg,
    #F5A623 0, #F5A623 4px,
    #12161B 4px, #12161B 8px
  );
}

/* ---------- Nav icons (mask-based, inherit currentColor) ---------- */
.nav-icon { display:inline-block; width:18px; height:18px; background-color: currentColor;
  -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; }

.nav-icon-dashboard { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M3 13h4v8H3zM10 3h4v18h-4zM17 8h4v13h-4z'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M3 13h4v8H3zM10 3h4v18h-4zM17 8h4v13h-4z'/></svg>"); }

.nav-icon-vehicles { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M3 16V8a1 1 0 011-1h9l4 4h3a1 1 0 011 1v4a1 1 0 01-1 1h-2M3 16a2 2 0 104 0M3 16h11m6 0a2 2 0 11-4 0m4 0h1m-5 0H7'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M3 16V8a1 1 0 011-1h9l4 4h3a1 1 0 011 1v4a1 1 0 01-1 1h-2M3 16a2 2 0 104 0M3 16h11m6 0a2 2 0 11-4 0m4 0h1m-5 0H7'/></svg>"); }

.nav-icon-drivers { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/></svg>"); }

.nav-icon-trips { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M9 20l-5-2V6l5 2m0 12l6-2m-6 2V8m6 10l5 2V8l-5-2m0 12V6m0 0L9 8'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M9 20l-5-2V6l5 2m0 12l6-2m-6 2V8m6 10l5 2V8l-5-2m0 12V6m0 0L9 8'/></svg>"); }

.nav-icon-maintenance { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M14.7 6.3a4 4 0 10-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 005.4-5.4l-2.5 2.5-2-2 2.5-2.5z'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M14.7 6.3a4 4 0 10-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 005.4-5.4l-2.5 2.5-2-2 2.5-2.5z'/></svg>"); }

.nav-icon-fuel { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M4 21V6a2 2 0 012-2h6a2 2 0 012 2v15M4 21h10m0 0h3m-3 0v-8l3 2v4a2 2 0 002 2M4 10h10M9 6V4'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M4 21V6a2 2 0 012-2h6a2 2 0 012 2v15M4 21h10m0 0h3m-3 0v-8l3 2v4a2 2 0 002 2M4 10h10M9 6V4'/></svg>"); }

.nav-icon-tracking { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M12 21s7-6.1 7-11.5S16.4 2 12 2 5 4.6 5 9.5 12 21 12 21z'/><circle cx='12' cy='9.5' r='2.3'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M12 21s7-6.1 7-11.5S16.4 2 12 2 5 4.6 5 9.5 12 21 12 21z'/><circle cx='12' cy='9.5' r='2.3'/></svg>"); }

.nav-icon-logout { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M17 16l4-4m0 0l-4-4m4 4H7m3 8H5a2 2 0 01-2-2V6a2 2 0 012-2h5'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M17 16l4-4m0 0l-4-4m4 4H7m3 8H5a2 2 0 01-2-2V6a2 2 0 012-2h5'/></svg>"); width:16px; height:16px; }

/* ---------- Misc ---------- */
.data-readout { font-family: 'JetBrains Mono', monospace; letter-spacing: -0.02em; }

.status-dot { width:8px; height:8px; border-radius:9999px; display:inline-block; }
.status-dot-route { background:#3DDC84; box-shadow:0 0 8px 1px rgba(61,220,132,.6); }
.status-dot-amber { background:#F5A623; box-shadow:0 0 8px 1px rgba(245,166,35,.6); }
.status-dot-red { background:#FF5C5C; box-shadow:0 0 8px 1px rgba(255,92,92,.6); }
.status-dot-muted { background:#8B98A5; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #12161B; }
::-webkit-scrollbar-thumb { background: #2B3540; border-radius: 6px; }

table.data-table th { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: #8B98A5; font-weight: 500; }
table.data-table tr:hover td { background-color: #1A2027; }

.leaflet-container { background: #12161B !important; }
