/* آسان‌بار — تم شب دائمی / PWA */
:root { color-scheme: dark; }
html, body { background:#050b14; }
body { overflow-x:hidden; }
.cyber-grid {
    background-color:#050b14;
    background-image:
        linear-gradient(to right, rgba(56,189,248,.045) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(56,189,248,.045) 1px, transparent 1px),
        radial-gradient(circle at 50% -20%, rgba(0,184,255,.08), transparent 45%);
    background-size:32px 32px,32px 32px,100% 100%;
}
.glass-panel {
    background:rgba(8,16,29,.88);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid #1d2a3d;
    box-shadow:0 14px 40px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.025);
}
.form-control {
    width:100%; background:#07111e; border:1px solid #1d2a3d; color:#e8f0fa;
    border-radius:.75rem; padding:.75rem 1rem; font-size:.875rem; outline:none;
    transition:.2s; color-scheme:dark;
}
.form-control:focus { border-color:#ff6b00; box-shadow:0 0 0 3px rgba(255,107,0,.08); }
.form-control option { background:#07111e; color:#e8f0fa; }
.option-card {
    display:flex; align-items:center; gap:.75rem; padding:.75rem;
    background:#07111e; border:1px solid #1d2a3d; border-radius:.75rem;
    cursor:pointer; transition:.2s;
}
.option-card:hover { border-color:#33465f; background:#0a1727; }
.option-card input { accent-color:#ff6b00; width:1rem; height:1rem; }
.nav-tab.active { background:#101b2d; color:#ff6b00; box-shadow:0 2px 12px rgba(0,0,0,.35); }
.mobile-nav-tab {
    padding:.55rem .85rem; border-radius:.65rem; color:#8fa3bb; font-size:.75rem;
    font-weight:800; display:flex; align-items:center; gap:.35rem; white-space:nowrap;
}
.mobile-nav-tab.active { color:#ff6b00; background:#101b2d; }
.telemetry-card {
    padding:1rem; background:#07111e; border:1px solid #1d2a3d; border-radius:.85rem;
}
.telemetry-label { font-size:.7rem; color:#8fa3bb; margin-bottom:.25rem; display:flex; gap:.35rem; align-items:center; }
.telemetry-value { font-size:1.35rem; font-weight:900; font-family:monospace; color:#e8f0fa; }
.telemetry-value.cyan { color:#00b8ff; }
.telemetry-value.green { color:#00d68f; }
.telemetry-value span { font-size:.65rem; font-family:Vazirmatn,sans-serif; color:#8fa3bb; }
.telemetry-state { margin-top:.25rem; font-size:.62rem; color:#8fa3bb; }
.telemetry-state.ok { color:#00d68f; }
.wallet-btn {
    padding:.65rem; background:#0c1625; border:1px solid #1d2a3d; color:#dce7f5;
    border-radius:.7rem; font-size:.75rem; font-weight:800; transition:.2s;
}
.wallet-btn:hover { border-color:#ff6b00; background:#141f2f; color:#fff; }
#map { height:280px; width:100%; border-radius:.75rem; z-index:10; background:#07111e; }
.leaflet-container { background:#07111e; font-family:Vazirmatn,sans-serif; }
.leaflet-control-zoom a { background:#0b1624 !important; color:#fff !important; border-color:#1d2a3d !important; }
.leaflet-control-attribution { background:rgba(5,11,20,.75) !important; color:#8fa3bb !important; }
.leaflet-control-attribution a { color:#00b8ff !important; }
.custom-map-icon { background:transparent; border:0; }
.radar-marker {
    width:18px; height:18px; border-radius:50%; border:3px solid #fff;
    background:#00d68f; box-shadow:0 0 0 0 rgba(0,214,143,.6); animation:radarPulse 1.6s infinite;
}
@keyframes radarPulse {
    0% { box-shadow:0 0 0 0 rgba(0,214,143,.55); }
    70% { box-shadow:0 0 0 16px rgba(0,214,143,0); }
    100% { box-shadow:0 0 0 0 rgba(0,214,143,0); }
}
::-webkit-scrollbar { width:7px; height:7px; }
::-webkit-scrollbar-track { background:#050b14; }
::-webkit-scrollbar-thumb { background:#1d2a3d; border-radius:4px; }
::-webkit-scrollbar-thumb:hover { background:#33465f; }
button, a, select, input { -webkit-tap-highlight-color:transparent; }
@media (display-mode: standalone) {
    body { padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); }
}
@media print {
    body { background:#fff !important; color:#000 !important; }
    aside, header, #mobile-nav, footer, #tab-content-calculator, #tab-content-tracking, #tab-content-fleet, #tab-content-wallet, #toast-container { display:none !important; }
    #tab-content-waybill { display:block !important; }
    #printable-waybill { border:none !important; box-shadow:none !important; padding:0 !important; width:100% !important; }
}


/* =========================================================
   آسان‌بار 4.0 — Light / Day UI + performance layer
   همه امکانات نسخه قبلی حفظ شده‌اند؛ این لایه فقط ظاهر و پرفورمنس را ارتقا می‌دهد.
   ========================================================= */
:root { color-scheme: light; }
html { background:#fff; scroll-behavior:smooth; }
body { background:#fff !important; color:#172033 !important; }
.cyber-grid {
  background-color:#f7f9fc !important;
  background-image:
    linear-gradient(to right, rgba(15,23,42,.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15,23,42,.035) 1px, transparent 1px),
    radial-gradient(circle at 50% -20%, rgba(14,165,233,.08), transparent 45%) !important;
  background-size:32px 32px,32px 32px,100% 100% !important;
}
header, aside, #mobile-nav { background:rgba(255,255,255,.94) !important; border-color:#e2e8f0 !important; color:#475569 !important; }
.glass-panel { background:rgba(255,255,255,.96) !important; border-color:#e2e8f0 !important; box-shadow:0 12px 32px rgba(15,23,42,.07), inset 0 1px rgba(255,255,255,.9) !important; }
.form-control { background:#fff !important; color:#172033 !important; border-color:#cbd5e1 !important; color-scheme:light !important; }
.form-control option { background:#fff !important; color:#172033 !important; }
.option-card { background:#fff !important; border-color:#dbe3ec !important; color:#334155 !important; }
.option-card:hover { background:#f8fafc !important; border-color:#94a3b8 !important; }
.nav-tab.active, .mobile-nav-tab.active { background:#fff7ed !important; color:#ea580c !important; box-shadow:0 2px 10px rgba(15,23,42,.06) !important; }
.telemetry-card { background:#f8fafc !important; border-color:#e2e8f0 !important; }
.telemetry-value { color:#172033 !important; }
.telemetry-label,.telemetry-state { color:#64748b !important; }
.wallet-btn { background:#fff !important; color:#334155 !important; border-color:#dbe3ec !important; }
.wallet-btn:hover { background:#fff7ed !important; color:#c2410c !important; }
#map { background:#eef2f7 !important; }
.leaflet-container { background:#eef2f7 !important; }
.leaflet-control-zoom a { background:#fff !important; color:#172033 !important; border-color:#cbd5e1 !important; }
.leaflet-control-attribution { background:rgba(255,255,255,.88) !important; color:#64748b !important; }
.leaflet-control-attribution a { color:#0284c7 !important; }
::-webkit-scrollbar-track { background:#f1f5f9; }
::-webkit-scrollbar-thumb { background:#cbd5e1; }
::-webkit-scrollbar-thumb:hover { background:#94a3b8; }

/* Override common dark Tailwind utility colors without touching functionality. */
.text-white { color:#172033 !important; }
.text-slate-200 { color:#334155 !important; }
.text-slate-300 { color:#475569 !important; }
.text-slate-400 { color:#64748b !important; }
.text-slate-500 { color:#64748b !important; }
.text-slate-600 { color:#475569 !important; }
.text-cyber-text { color:#172033 !important; }
.text-cyber-muted { color:#64748b !important; }
.bg-slate-950, .bg-slate-900, .bg-slate-950\/70, .bg-slate-900\/80 { background-color:#f8fafc !important; }
.border-cyber-border { border-color:#e2e8f0 !important; }

/* Smoothness: contain expensive panels and reduce paint cost. */
.glass-panel, .telemetry-card, .option-card { contain:layout paint; }
button, a, input, select { touch-action:manipulation; }
button { user-select:none; }
.tab-pane { content-visibility:auto; contain-intrinsic-size:700px; }
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}


/* اعلام بار — افزونه حداقلی بدون تغییر هسته نسخه 4.0 */
.load-label { display:block; font-size:.72rem; font-weight:800; color:#64748b; margin-bottom:.45rem; }
.load-step-badge { padding:.3rem .55rem; border-radius:999px; background:#fff7ed; color:#c2410c; border:1px solid #fed7aa; font-size:.65rem; font-weight:900; white-space:nowrap; }
.load-filter { padding:.45rem .7rem; border:1px solid #dbe3ec; background:#fff; color:#64748b; border-radius:.65rem; font-size:.68rem; font-weight:900; }
.load-filter.active { background:#fff7ed; border-color:#fdba74; color:#ea580c; }
.load-card { border:1px solid #e2e8f0; background:#fff; border-radius:1rem; padding:1rem; box-shadow:0 7px 20px rgba(15,23,42,.05); }
.load-card:hover { border-color:#fdba74; }
.load-status { display:inline-flex; align-items:center; gap:.3rem; padding:.25rem .5rem; border-radius:999px; font-size:.62rem; font-weight:900; }
.load-status.ready { color:#047857; background:#ecfdf5; border:1px solid #a7f3d0; }
.load-status.taken { color:#b45309; background:#fffbeb; border:1px solid #fde68a; }
.load-status.paid { color:#0369a1; background:#eff6ff; border:1px solid #bfdbfe; }
.load-meta { font-size:.68rem; color:#64748b; }
.load-fare { font-family:monospace; font-size:1.05rem; font-weight:950; color:#ea580c; }
.load-action { width:100%; padding:.65rem .8rem; border-radius:.7rem; font-size:.72rem; font-weight:900; border:1px solid #dbe3ec; background:#f8fafc; color:#334155; }
.load-action.primary { background:#ea580c; color:#fff; border-color:#ea580c; }
.load-action.green { background:#ecfdf5; color:#047857; border-color:#a7f3d0; }
.load-action.blue { background:#eff6ff; color:#0369a1; border-color:#bfdbfe; }
.load-card .route-line { display:flex; align-items:center; gap:.55rem; font-weight:950; color:#172033; }
.load-card .route-line i { color:#94a3b8; font-size:.7rem; }
