/**
 * High-Contrast Outdoor Mode
 * Yard Management System
 *
 * Dark background, AAA contrast ratio (7:1+), oversized touch targets.
 * Designed for use in bright Texas sunlight on mobile devices.
 */

:root {
    --bg-body: #0a1628;
    --bg-card: #132040;
    --text-primary: #ffffff;
    --text-secondary: #FFD100;
    --text-muted: #adb5bd;
    --border: #2a3f6f;
    --gold: #FFD100;
    --shadow: 0 2px 8px rgba(0,0,0,0.3);
    --shadow-lg: 0 4px 16px rgba(0,0,0,0.4);
}

body {
    background: #0a1628 !important;
    color: #fff !important;
}

/* ── Bump all font sizes +2px ── */
html { font-size: 18px; }

/* ── Cards ── */
.card {
    background: #132040 !important;
    border: 2px solid #2a3f6f !important;
    color: #fff !important;
}
.card-header {
    background: #1a2d50 !important;
    border-color: #2a3f6f !important;
    color: #FFD100 !important;
}

/* ── Navbar ── */
.yard-nav {
    background: #000 !important;
    border-bottom: 2px solid var(--gold) !important;
}

/* ── Forms ── */
.form-control, .form-select {
    background: #fff !important;
    color: #000 !important;
    border: 3px solid #FFD100 !important;
    min-height: 52px;
}
.form-control:focus, .form-select:focus {
    border-color: #fff !important;
    box-shadow: 0 0 0 3px rgba(255, 209, 0, 0.4) !important;
}
.form-control::placeholder, .form-select::placeholder, input::placeholder, textarea::placeholder {
    color: #555 !important;
    opacity: 1 !important;
}
.form-label {
    color: #FFD100 !important;
    font-weight: 700 !important;
}

/* ── Buttons ── */
.btn {
    min-height: 60px !important;
    font-weight: 700 !important;
    border-width: 3px !important;
    font-size: 1.1rem !important;
}
.btn-gold, .btn-primary {
    background: #FFD100 !important;
    color: #000 !important;
    border-color: #FFD100 !important;
}
.btn-gold:hover, .btn-primary:hover {
    background: #e6bc00 !important;
}
.btn-outline-light {
    border-color: #FFD100 !important;
    color: #FFD100 !important;
}
.btn-outline-light:hover {
    background: #FFD100 !important;
    color: #000 !important;
}

/* ── Toggle Buttons ── */
.toggle-btn {
    min-height: 70px !important;
    font-size: 1.3rem !important;
    border-width: 3px !important;
    background: #1a2d50 !important;
    color: #fff !important;
}
.toggle-btn.active-pass {
    background: #28a745 !important;
}
.toggle-btn.active-fail {
    background: #dc3545 !important;
}

/* ── Carrier Chips ── */
.carrier-chip {
    min-height: 48px;
    font-size: 1rem !important;
    border-width: 3px !important;
    background: #1a2d50 !important;
    color: #fff !important;
}
.carrier-chip.active {
    background: #FFD100 !important;
    color: #000 !important;
}

/* ── Action Cards ── */
.action-card {
    background: #132040 !important;
    border: 2px solid #2a3f6f !important;
    color: #fff !important;
    min-height: 140px;
}
.action-card:hover {
    border-color: #FFD100 !important;
}
.action-card .action-count {
    color: #FFD100 !important;
}

/* ── Door Tiles ── */
.door-tile {
    min-height: 110px;
    min-width: 110px;
    border-width: 3px !important;
    font-size: 1.1rem;
}
.door-tile .door-num {
    font-size: 1.75rem;
}
.door-tile.door-available {
    background: #0d3320 !important;
    border-color: #28a745 !important;
    color: #4caf50 !important;
}
.door-tile.door-occupied {
    background: #3d2600 !important;
    border-color: #ff9800 !important;
    color: #ffb74d !important;
}

/* ── Spot Grid ── */
.spot-cell {
    min-height: 56px;
    min-width: 56px;
    font-size: 0.85rem !important;
    border: 2px solid #2a3f6f;
}

/* ── Tables ── */
.table-yard td {
    color: #fff !important;
    background: #0a1628 !important;
    border-color: #2a3f6f !important;
}
.table-yard th {
    background: #000 !important;
    color: #FFD100 !important;
}

/* ── Badges ── */
.badge {
    font-size: 0.9rem !important;
    border: 2px solid currentColor !important;
}
/* Status color utilities — HC uses high-contrast solid blocks with gold borders */
.bg-danger  { background: #b00020 !important; color: #fff !important; border-color: #fff !important; }
.bg-warning { background: #FFD100 !important; color: #000 !important; border-color: #000 !important; }
.bg-success { background: #00a859 !important; color: #fff !important; border-color: #fff !important; }
.bg-info    { background: #0070c0 !important; color: #fff !important; border-color: #fff !important; }
.bg-secondary { background: #000 !important; color: #FFD100 !important; border-color: #FFD100 !important; }
.bg-primary { background: #FFD100 !important; color: #000 !important; border-color: #000 !important; }
.border-danger  { border-color: #FFD100 !important; }
.border-warning { border-color: #FFD100 !important; }
.border-success { border-color: #FFD100 !important; }
.border-info    { border-color: #FFD100 !important; }
.border         { border-color: #FFD100 !important; border-width: 2px !important; }

/* Focus ring — AAA-compliant gold, 3px, essential for outdoor visibility */
*:focus-visible {
    outline: 3px solid #FFD100 !important;
    outline-offset: 2px !important;
}

/* ── Alerts ── */
.alert {
    border-width: 3px !important;
    font-weight: 600;
}

/* ── Links ── */
a {
    color: #FFD100;
}
a:hover {
    color: #ffe44d;
}

/* ── Breadcrumb ── */
.yard-breadcrumb {
    background: #132040 !important;
    border-color: #2a3f6f !important;
}
.yard-breadcrumb a {
    color: #FFD100 !important;
}
.breadcrumb-item.active {
    color: #fff !important;
}

/* ── Text utilities override ── */
.text-muted {
    color: #adb5bd !important;
}
.text-secondary {
    color: #FFD100 !important;
}

/* ── Wizard ── */
.wizard-step {
    color: #adb5bd !important;
}
.wizard-step.active {
    color: #FFD100 !important;
}
.wizard-connector {
    background: #2a3f6f;
}

/* ── Inspection ── */
.inspection-item {
    background: #132040 !important;
    border-color: #2a3f6f !important;
    color: #fff !important;
}
.inspection-item.item-pass {
    border-color: #28a745 !important;
    background: #0d3320 !important;
}
.inspection-item.item-fail {
    border-color: #dc3545 !important;
    background: #3d0d0d !important;
}
.inspection-item .item-label i {
    color: #FFD100 !important;
}

/* ── Signature ── */
.signature-container {
    background: #fff !important;
    border-color: #FFD100 !important;
}

/* ── Dropdown ── */
.dropdown-menu {
    background: #132040 !important;
    border-color: #2a3f6f !important;
}
.dropdown-item {
    color: #fff !important;
}
.dropdown-item:hover {
    background: #1a2d50 !important;
    color: #FFD100 !important;
}
.dropdown-divider {
    border-color: #2a3f6f !important;
}

/* ── Login Card override ── */
.login-card .card {
    background: #132040 !important;
}
.login-card .card .form-label {
    color: #FFD100 !important;
}

/* ── Bootstrap overrides ── */
.bg-white { background: #132040 !important; }
.text-dark { color: #fff !important; }
.bg-light, .table-light { background: #132040 !important; color: #fff !important; }
.table-secondary { background: #1a2d50 !important; color: #FFD100 !important; }
.table-warning { background: #3d2d00 !important; color: #FFD100 !important; }
.table-danger { background: #3d0d0d !important; color: #ff6b6b !important; }
.table > :not(caption) > * > * { border-color: #2a3f6f !important; }
.table-hover > tbody > tr:hover > * { background: #1a2d50 !important; }
.table thead th { background: #000 !important; color: #FFD100 !important; }

/* Modal */
.modal-content { background: #132040 !important; color: #fff !important; border: 2px solid #FFD100 !important; }
.modal-header { border-color: #2a3f6f !important; }
.modal-footer { border-color: #2a3f6f !important; }
.btn-close { filter: invert(1); }

/* Nav pills */
.nav-pills .nav-link { color: #adb5bd !important; border: 2px solid transparent !important; }
.nav-pills .nav-link.active { background: #FFD100 !important; color: #000 !important; }

/* Btn group toggle */
.btn-group .btn-outline-secondary { color: #adb5bd !important; border-color: #2a3f6f !important; background: transparent !important; }
.btn-group .btn-outline-secondary:hover { background: #1a2d50 !important; color: #FFD100 !important; }

/* Pagination */
.page-link { background: #132040 !important; color: #FFD100 !important; border-color: #2a3f6f !important; }
.page-item.active .page-link { background: #FFD100 !important; color: #000 !important; }

/* List group */
.list-group-item { background: #132040 !important; color: #fff !important; border-color: #2a3f6f !important; }

/* ── Yard Check — Spot Cards ── */
.sc-name { color: #FFD100 !important; }
.sc-trailer { color: #fff !important; }
.sc-detail { color: #adb5bd !important; }
.sc-btn { background: #132040 !important; border: 2px solid #2a3f6f !important; min-width: 56px !important; min-height: 56px !important; }
.sc-btn.sc-confirm { color: #4caf50 !important; border-color: #28a745 !important; }
.sc-btn.sc-empty { color: #ff6b6b !important; border-color: #dc3545 !important; }
.sc-btn.sc-edit { color: #c4b5fd !important; border-color: #8b5cf6 !important; }
.sc-toggle { background: #1a2d50 !important; border: 2px solid #2a3f6f !important; color: #fff !important; min-height: 52px !important; }
.sc-toggle.sel { background: #FFD100 !important; color: #000 !important; border-color: #FFD100 !important; }
.sc-correct { border-color: #2a3f6f !important; }
.spot-card { color: #fff !important; }
.spot-card.confirmed { background: linear-gradient(135deg, #052e16, #064e3b) !important; border-color: #28a745 !important; }
.spot-card.confirmed .sc-name { color: #4caf50 !important; }
.spot-card.discrepancy { background: linear-gradient(135deg, #422006, #3d2d00) !important; border-color: #FFD100 !important; }
.spot-card.discrepancy .sc-name { color: #FFD100 !important; }
.spot-card.empty-confirmed { background: linear-gradient(135deg, #1e293b, #334155) !important; border: 2px solid #64748b !important; }

/* ── Yard Check — Completion Flow ── */
.cf-card { background: #132040 !important; border: 2px solid #2a3f6f !important; color: #fff !important; }
.cf-card.cf-confirmed { background: linear-gradient(135deg, #052e16, #064e3b) !important; border-color: #28a745 !important; }
.cf-card.cf-discrepancy { background: linear-gradient(135deg, #422006, #3d2d00) !important; border-color: #FFD100 !important; }
.cf-card.cf-empty { background: #1e293b !important; border-color: #64748b !important; }
.cf-spot { color: #FFD100 !important; }
.cf-carrier { color: #adb5bd !important; }
.cf-zone { color: #adb5bd !important; }
.cf-nav-btn { background: #132040 !important; border: 2px solid #2a3f6f !important; color: #fff !important; min-width: 56px !important; min-height: 56px !important; }
.cf-counter { color: #FFD100 !important; }

/* ── Yard Check — Zone header + topbar ── */
.zone-header { background: #132040 !important; border-color: #2a3f6f !important; color: #fff !important; }
.yc-topbar { background: #0a1628 !important; border-color: #2a3f6f !important; }
.yc-progress { background: #2a3f6f !important; }
.zone-tab { background: #132040 !important; color: #fff !important; border: 2px solid #2a3f6f !important; }
.zone-tab.active { background: #FFD100 !important; color: #000 !important; border-color: #FFD100 !important; }
.zone-tab.done { background: #064e3b !important; color: #4caf50 !important; border-color: #28a745 !important; }
.zone-tab.partial { background: #3d2d00 !important; color: #FFD100 !important; border-color: #FFD100 !important; }
.bulk-bar { background: #0a1628 !important; border-color: #2a3f6f !important; }

/* ── Yard Check Wizard (start screen) ── */
.check-card { background: #132040 !important; border: 2px solid #2a3f6f !important; color: #fff !important; }
.check-card:hover { border-color: #FFD100 !important; }
.check-card .check-sub, .check-card .check-last { color: #adb5bd !important; }
.resume-banner { background: #3d2d00 !important; border-color: #FFD100 !important; color: #FFD100 !important; }
.sys-box.occupied { background: #1a2d50 !important; border-color: #FFD100 !important; }
.sys-box.empty-sys { background: #0d3320 !important; border-color: #28a745 !important; }
.sys-trailer { color: #FFD100 !important; }
.sys-empty-label { color: #4caf50 !important; }
.wiz-zone-chip { border: 2px solid #2a3f6f !important; }
.wiz-zone-chip.doors { background: #1a2d50 !important; color: #82b1ff !important; }
.wiz-zone-chip.yard { background: #0d3320 !important; color: #4caf50 !important; }
.wiz-zone-chip.overflow { background: #3d2600 !important; color: #ffb74d !important; }
.wiz-zone-chip.wall { background: #2a2a2a !important; color: #ddd !important; }
.wiz-zone-chip.fence { background: #3d1a2a !important; color: #f9a8d4 !important; }
.wiz-zone-chip.callejon { background: #2d1a50 !important; color: #c4b5fd !important; }
.opt-btn { background: #1a2d50 !important; color: #fff !important; border: 2px solid #2a3f6f !important; min-height: 52px !important; }
.opt-btn.active { background: #FFD100 !important; color: #000 !important; border-color: #FFD100 !important; }
.btn-correct { background: #132040 !important; color: #fff !important; border: 2px solid #2a3f6f !important; min-height: 52px !important; }
.btn-correct:hover { border-color: #FFD100 !important; color: #FFD100 !important; }
.correct-panel { background: #3d2d00 !important; border: 2px solid #FFD100 !important; color: #fff !important; }
.nav-arrow { background: #132040 !important; color: #fff !important; border: 2px solid #2a3f6f !important; min-height: 52px !important; min-width: 52px !important; }
.disc-warning { background: #3d2d00 !important; border-color: #FFD100 !important; color: #FFD100 !important; }
.wiz-progress { background: #2a3f6f !important; }
.btn-confirm { min-height: 70px !important; font-size: 1.3rem !important; }

/* ── Trailer Story ── */
.story-header { background: linear-gradient(135deg, #000, #132040) !important; border: 2px solid #FFD100 !important; }
.tl-time { color: #adb5bd !important; }
.tl-title { color: #fff !important; }
.tl-detail { color: #adb5bd !important; }
.timeline::before { background: linear-gradient(to bottom, #FFD100, #2a3f6f) !important; }
.tl-dot { border: 2px solid #FFD100 !important; min-width: 34px !important; min-height: 34px !important; }

/* ── Summary stats ── */
.summary-stat .label { color: #adb5bd !important; }

/* ── Util-card badges (supervisor/clerk dashboards) ── */
.util-card .uc-badge { background: #000 !important; color: #FFD100 !important; border: 2px solid #FFD100 !important; }
.util-card { background: #132040 !important; border: 2px solid #2a3f6f !important; color: #fff !important; }
.hero-card { background: #132040 !important; color: #fff !important; border: 2px solid #2a3f6f !important; }
.hero-card.hc-assign.has-pending { background: #3d2e0e !important; border-color: #FFD100 !important; }
.hero-card.hc-assign.has-long-wait { background: #3d1515 !important; border-color: #FFD100 !important; }
.stat-bar { background: #132040 !important; border-color: #2a3f6f !important; }

/* ── Offcanvas & Modals ── */
.offcanvas { background: #0a1628 !important; color: #fff !important; border-color: #FFD100 !important; }
.input-group-text { background: #1a2d50 !important; color: #FFD100 !important; border-color: #2a3f6f !important; }

/* ── KPI Cards (detention, analytics, carrier-sla) ── */
.kpi { background: #132040 !important; border: 2px solid #2a3f6f !important; }
.kpi .kpi-label { color: #adb5bd !important; }
.kpi .kpi-sub { color: #ccc !important; }

/* ── Perf table ── */
.perf-table td { color: #fff !important; border-color: #2a3f6f !important; }
.perf-table tr:hover { background: #1a2d50 !important; }
.perf-table th { background: #000 !important; color: #FFD100 !important; }

/* ── Section titles ── */
.sec-title { color: #FFD100 !important; border-color: #FFD100 !important; }

/* ── Filter pills ── */
.bracket-pills { border-color: #FFD100 !important; }
.bracket-pills button { background: #132040 !important; color: #fff !important; }
.bracket-pills button.active { background: #FFD100 !important; color: #000 !important; }
.bracket-pills button:hover:not(.active) { background: #1a2d50 !important; }
.range-pills { border-color: #FFD100 !important; }
.range-pills a { background: #132040 !important; color: #fff !important; }
.range-pills a.active { background: #FFD100 !important; color: #000 !important; }
.range-pills a:hover:not(.active) { background: #1a2d50 !important; }

/* ── SLA bar ── */
.sla-bar { background: #2a3f6f !important; }

/* ── Heatmap ── */
.heatmap-cell .hm-hour { color: #adb5bd !important; }

/* ── Dwell badge ── */
.dwell-badge { color: #fff !important; }

/* ── Skeleton loader ── */
.skeleton { background: linear-gradient(90deg, #1a2d50 0%, #2a4070 50%, #1a2d50 100%) !important; }

/* ── Spot cards (yard-check) ── */
.spot-card.confirmed { background: linear-gradient(135deg, #052e16, #064e3b) !important; border-color: #28a745 !important; }
.spot-card.discrepancy { background: linear-gradient(135deg, #422006, #3d2d00) !important; border-color: #FFD100 !important; }
.spot-card.empty-confirmed { background: linear-gradient(135deg, #1e293b, #334155) !important; border: 2px solid #64748b !important; }

/* ── Yard check zone tabs ── */
.zone-tab { background: #132040 !important; color: #fff !important; border: 2px solid #2a3f6f !important; }
.zone-tab.active { background: #FFD100 !important; color: #000 !important; border-color: #FFD100 !important; }
.zone-tab.done { background: #064e3b !important; color: #4caf50 !important; border-color: #28a745 !important; }
.zone-tab.partial { background: #3d2d00 !important; color: #FFD100 !important; border-color: #FFD100 !important; }

/* ── Yard check topbar ── */
.yc-topbar { background: #0a1628 !important; border-color: #2a3f6f !important; }
.yc-progress { background: #2a3f6f !important; }
.zone-header { background: #132040 !important; border-color: #2a3f6f !important; color: #fff !important; }

/* ── Operations page ── */
.ops-tabs { background: #0a1628 !important; border-color: #2a3f6f !important; }
.assign-trailer-card { background: #3d2d00 !important; border: 2px solid #FFD100 !important; color: #fff !important; }
.pending-card { background: #132040 !important; border: 2px solid #2a3f6f !important; color: #fff !important; }
.pending-card.selected { background: #3d2d00 !important; border-color: #FFD100 !important; }
.zt-btn { background: #132040 !important; color: #fff !important; border: 2px solid #2a3f6f !important; }
.zt-btn.active { background: #FFD100 !important; color: #000 !important; border-color: #FFD100 !important; }
.door-tile-v2 { background: #132040 !important; border: 2px solid #2a3f6f !important; color: #fff !important; }

/* ── Disc row (yard-check-summary) ── */
.disc-row { background: #3d2d00 !important; color: #FFD100 !important; border: 2px solid #FFD100 !important; }

/* ── Gauge ring (analytics) ── */
.gauge-ring::before { background: #132040 !important; }

/* ── Carrier bar (analytics) ── */
.carrier-name { color: #fff !important; }
.carrier-track { background: #2a3f6f !important; }
.carrier-pct { color: #adb5bd !important; }

/* ── Waterfall (analytics) ── */
.wf-label { color: #FFD100 !important; }
.wf-track { background: #2a3f6f !important; }

/* ── Filter bar ── */
.filter-bar .badge { background: #2a3f6f !important; color: #fff !important; }

/* ── Refresh badge ── */
.refresh-badge { color: #adb5bd !important; }

/* ── Clerk Operations (operations.php) — tiles + badges ── */
.ops-tab .tab-badge-green { background: #064e3b !important; color: #4caf50 !important; }
.ops-tab .tab-badge-amber { background: #3d2d00 !important; color: #FFD100 !important; }
.ops-tab .tab-badge-red { background: #3d0d0d !important; color: #ff6b6b !important; }
.ops-badge-green { background: #064e3b !important; color: #4caf50 !important; }
.ops-badge-amber { background: #3d2d00 !important; color: #FFD100 !important; }
.pending-strip-title { color: #FFD100 !important; }
.pending-scroll::-webkit-scrollbar-thumb { background: #2a3f6f !important; }
.door-tile-v2.dt-avail { background: #0d3320 !important; border: 2px solid #28a745 !important; color: #4caf50 !important; }
.door-tile-v2.dt-occ { background: #3d2600 !important; border: 2px solid #ff9800 !important; color: #FFD100 !important; }
.door-tile-v2.dt-live { background: #0c1e3f !important; border: 2px solid #82b1ff !important; color: #82b1ff !important; }
.spot-tile.empty { background: #0d3320 !important; border: 2px solid #28a745 !important; color: #4caf50 !important; }
.spot-tile.occupied { background: #3d2600 !important; border: 2px solid #ff9800 !important; color: #FFD100 !important; }
.spot-tile.occupied .st-name { color: #FFD100 !important; }
.spot-tile.occupied .st-trailer { color: #fff !important; }
.spot-tile.occupied .st-carrier { color: #adb5bd !important; }
.spot-tile.reserved { background: #1e293b !important; border: 2px solid #64748b !important; color: #adb5bd !important; }
.spot-tile.maintenance { background: #3d0d0d !important; border: 2px solid #dc3545 !important; color: #ff6b6b !important; }
.as-handle { background: #2a3f6f !important; }

/* ── Clerk Dashboard (dashboard.php) ── */
.hero-card.hc-assign.has-pending { background: linear-gradient(135deg, #3d2d00, #422006) !important; border-color: #FFD100 !important; }
.hero-card.hc-dispatch .hc-icon { color: #FFD100 !important; }

/* ── Admin Overview (overview.php) — tiles ── */
.ov-tile.avail { background: #0d3320 !important; border: 2px solid #28a745 !important; color: #4caf50 !important; }
.ov-tile.occ { background: #3d2600 !important; border: 2px solid #ff9800 !important; color: #FFD100 !important; }
.ov-tile.live { background: #0c1e3f !important; border: 2px solid #82b1ff !important; color: #82b1ff !important; }
.ov-spot.avail { background: #0d3320 !important; border: 2px solid #28a745 !important; color: #4caf50 !important; }
.ov-spot.occ { background: #3d2600 !important; border: 2px solid #ff9800 !important; color: #FFD100 !important; }

/* ── Analytics (analytics.php) — gauge + bars ── */
.gauge-ring::before { background: #132040 !important; }
.carrier-name { color: #fff !important; }
.carrier-track { background: #2a3f6f !important; }
.carrier-pct { color: #adb5bd !important; }
.wf-label { color: #FFD100 !important; }
.wf-track { background: #2a3f6f !important; }
.perf-rank { color: #fff !important; }

/* ── Age indicator dots — high contrast borders ── */
.age-dot { border: 2px solid #000 !important; width: 10px !important; height: 10px !important; }
.age-green { background: #00ff00 !important; }
.age-yellow { background: #ffff00 !important; }
.age-red { background: #ff0000 !important; }

/* ── Yard spot reservation ── */
.spot-tile.reserved { background: #f0e6ff !important; border: 3px solid #6d28d9 !important; }

/* ── ETD overdue — ensure visibility ── */
.etd-overdue { color: #ff0000 !important; font-weight: 900 !important; }

/* ── High-contrast sweep fixes (2026-06-05) ──────────────────────────────────
   Close WCAG contrast gaps found by an automated sweep across the guard pages.
   HC previously styled .table-yard but not generic .table, and missed .form-text,
   badge-text precedence, .bg-body-tertiary cards, and several utility colors. */

/* Generic data tables (dashboard / arrivals / bulk-checkout / walk-in / logs): body cells were
   dark-on-navy (≈1.3:1, invisible). Force light cell text + transparent cell bg so the dark card
   shows through, gold links, and a readable zebra. (thead styling above is left intact.) */
.table { color: #fff !important; --bs-table-color: #fff !important; --bs-table-bg: transparent !important; }
.table > tbody > tr > td, .table > tbody > tr > th { background-color: transparent !important; color: #fff !important; }
.table > tbody > tr:nth-child(even) > td { background-color: rgba(255,255,255,0.06) !important; }
.table a, .table a:visited { color: #FFD100 !important; }

/* Help-text / hints were dark-gray on navy (≈1:1). */
.form-text, .form-text.text-muted { color: #c7d0dc !important; }

/* Coloured FILLS that need dark text for legibility. */
.badge.bg-warning, .badge.text-dark, .btn-warning { color: #000 !important; }
.btn-info { color: #000 !important; }                  /* cyan button fill → dark text */
.badge.bg-info, .bg-info { color: #fff !important; }   /* dark-blue badge/info fill → white text */
/* Success fill darkened so white text clears 4.5:1. */
.badge.bg-success, .btn-success, .bg-success { background-color: #0a6e3a !important; color: #fff !important; }

/* Utility text colours brightened for the navy background. */
.text-success { color: #4ade80 !important; }
.text-primary { color: #7ab8ff !important; }
.text-info    { color: #5bd1e6 !important; }
.text-secondary { color: #c7d0dc !important; }

/* trailer-detail: tertiary-bg cards (Bootstrap 5.3 #f8f9fa) + timeline grays. */
.bg-body-tertiary, .card.bg-body-tertiary { background-color: #132040 !important; color: #fff !important; }
.location-card { background: #132040 !important; border-color: #2a3f6f !important; color: #fff !important; }
.bg-light .text-muted, .bg-body-tertiary .text-muted, .card .text-muted { color: #c7d0dc !important; }
.timeline-desc { color: #e8eef7 !important; }
.timeline-time { color: #adb5bd !important; }
