/* ===== AtmosFleet (Views/Modules/Fleet/*, js/pages/fleet-*.js) =====
   Ortak parçalar (cf-*, sd-*, rp-filters, wf-check, field-row) diğer modüllerle aynı; filoya özgüler fl-*. */

.fleet-page { display: flex; flex-direction: column; gap: 14px; }
.fleet-page [hidden], .modal-overlay[data-fleet] [hidden] { display: none !important; }
.fleet-page .btn-sm, .modal-overlay[data-fleet] .btn-sm { width: auto; }
.fleet-page .cf-tr[data-id], .modal-overlay[data-fleet] .cf-tr[data-id], .fleet-page a.cf-tr { cursor: pointer; color: inherit; text-decoration: none; }
.fleet-page .cf-tr[data-id]:hover, .fleet-page a.cf-tr:hover, .modal-overlay[data-fleet] .cf-tr[data-id]:hover { background: var(--bg-elevated); }
.fleet-page .cf-tr > span, .modal-overlay[data-fleet] .cf-tr > span { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.fleet-page .cf-tr > span > .cf-chip, .modal-overlay[data-fleet] .cf-tr > span > .cf-chip { align-self: flex-start; }
.fleet-page .cf-tr.off, .modal-overlay[data-fleet] .cf-tr.off { opacity: .55; }
.fleet-page a.sd-kpi { color: inherit; text-decoration: none; }
.fleet-page a.sd-kpi:hover { border-color: var(--accent); }
.modal-overlay[data-fleet] .modal { max-height: 92vh; overflow-y: auto; }
.modal-overlay[data-fleet] .fl-wide { max-width: 920px; }
.fleet-page .rp-filters input:not([type="checkbox"]), .fleet-page .rp-filters select, .fl-seq-table input, .fl-rows input, .fl-rows select {
    padding: 7px 10px; border: 1px solid var(--border-strong); border-radius: 10px; background: var(--bg-surface); color: var(--text-primary); font: inherit; font-size: 13px; }
.fleet-page .fl-search { min-width: 240px; flex: 1; width: auto; }
.fleet-page .fl-filter { width: auto; max-width: 220px; }
.fl-acts { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.fl-num { font-variant-numeric: tabular-nums; }
.fl-grid2 { display: grid; grid-template-columns: 1.2fr 1fr; gap: 14px; }
.fl-chart { height: 240px; }
.fl-mt { margin-top: 12px; }
.fl-plate { display: inline-block; padding: 2px 8px; border: 1.5px solid var(--text-primary); border-radius: 6px; font-weight: 800; letter-spacing: .04em; font-variant-numeric: tabular-nums; background: var(--bg-surface); white-space: nowrap; }
.fl-plate::before { content: "TR"; display: inline-block; margin-right: 6px; padding: 0 3px; border-radius: 3px; background: #1d4ed8; color: #fff; font-size: 9px; vertical-align: 1px; }

/* ---- Tablolar ---- */
.fl-veh-table .cf-tr { grid-template-columns: 1.1fr 1.6fr 1fr 1.2fr .9fr 1fr; }
.fl-drv-table .cf-tr { grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr .9fr; }
.fl-doc-table .cf-tr { grid-template-columns: 1.1fr 1.3fr 1fr 1fr 1fr 40px; }
.fl-asg-table .cf-tr { grid-template-columns: 1fr 1.4fr 1.3fr 1fr 90px; }
.fl-type-table .cf-tr { grid-template-columns: 1.6fr 1fr 1fr 1fr 60px; }
.fl-seq-table .cf-tr { grid-template-columns: 1.6fr 1fr 1fr .6fr 1fr; }
.fl-seq-table input { width: 100%; }
.fl-imp-table .cf-tr { grid-template-columns: 70px 1.2fr 1.6fr 1fr 1.6fr; font-size: 12px; }
.fl-imp-result { padding: 10px 12px; border-radius: 12px; background: var(--bg-elevated); font-size: 13px; }
.fl-imp-result ul { margin: 6px 0 0 18px; color: var(--text-secondary); }
.fl-checklist { display: flex; flex-direction: column; gap: 6px; }
.fl-checklist .fl-ck { display: flex; gap: 8px; align-items: center; }
.fl-checklist .fl-ck input { flex: 1; }
.fl-files { display: flex; flex-wrap: wrap; gap: 6px; }
.fl-files a { display: inline-flex; gap: 4px; align-items: center; padding: 3px 8px; border-radius: 8px; background: var(--bg-elevated); font-size: 12px; color: inherit; text-decoration: none; }
.fl-files a svg { width: 14px; height: 14px; }
.fl-files button { border: 0; background: none; color: var(--text-muted); cursor: pointer; padding: 0 2px; }
.fl-kv { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px 16px; font-size: 13px; }
.fl-kv div { display: flex; flex-direction: column; gap: 2px; }
.fl-kv small { color: var(--text-muted); font-size: 11.5px; }
.fl-invite { padding: 10px 12px; border-radius: 12px; background: var(--accent-soft); font-size: 13px; word-break: break-all; }
.fl-invite b { font-size: 18px; letter-spacing: .08em; }

@media (max-width: 900px) {
    .fl-grid2 { grid-template-columns: 1fr; }
    .fl-veh-table .cf-tr { grid-template-columns: 1fr 1.4fr .9fr; }
    .fl-veh-table .cf-tr > span:nth-child(n+4) { display: none; }
    .fl-drv-table .cf-tr { grid-template-columns: 1.6fr 1fr .9fr; }
    .fl-drv-table .cf-tr > span:nth-child(2), .fl-drv-table .cf-tr > span:nth-child(3), .fl-drv-table .cf-tr > span:nth-child(4) { display: none; }
    .fl-doc-table .cf-tr { grid-template-columns: 1fr 1.2fr 1fr; }
    .fl-doc-table .cf-tr > span:nth-child(n+4) { display: none; }
    .fl-asg-table .cf-tr { grid-template-columns: 1fr 1.3fr 80px; }
    .fl-asg-table .cf-tr > span:nth-child(3), .fl-asg-table .cf-tr > span:nth-child(4) { display: none; }
    .fl-type-table .cf-tr { grid-template-columns: 1.6fr 1fr 60px; }
    .fl-type-table .cf-tr > span:nth-child(3), .fl-type-table .cf-tr > span:nth-child(4) { display: none; }
}

/* ---- Seferler (fleet-trips.js) ---- */
.fl-trip-table .cf-tr { grid-template-columns: 1.4fr 1fr 1.2fr 1fr .8fr .9fr; }
.fl-route-table .cf-tr { grid-template-columns: 40px 2fr 1fr 1fr 1fr; }
.fl-inline { display: flex; gap: 6px; align-items: center; }
.fl-inline input { flex: 1; min-width: 0; }
.fl-grow { flex: 1; min-width: 0; }
.fl-stops { display: flex; flex-direction: column; gap: 10px; }
.fl-stop { border: 1px solid var(--border); border-radius: 14px; padding: 10px 12px; background: var(--bg-surface); display: flex; flex-direction: column; gap: 6px; }
.fl-stop.st-done { border-color: rgba(22, 163, 74, .45); }
.fl-stop.st-failed { border-color: rgba(220, 38, 38, .45); }
.fl-stop-h { display: flex; gap: 8px; align-items: center; }
.fl-stop-h select { width: auto; }
.fl-seq { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-bright); font-size: 12px; flex: none; }
.fl-stop-b { display: flex; flex-direction: column; gap: 6px; }
.fl-stop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 6px 10px; }
.fl-stop-grid label { display: flex; flex-direction: column; gap: 3px; font-size: 11.5px; color: var(--text-muted); }
.fl-stop input, .fl-stop select { padding: 6px 9px; border: 1px solid var(--border-strong); border-radius: 9px; background: var(--bg-surface); color: var(--text-primary); font: inherit; font-size: 13px; }
.fl-stop input:disabled, .fl-stop select:disabled { opacity: .8; background: var(--bg-elevated); }
.fl-map { height: 360px; border-radius: 14px; overflow: hidden; border: 1px solid var(--border); }
.fl-map .sr-pin b { background: #2563eb; }
.sr-pin.pick b { background: #f97316 !important; }
.sr-pin.done b { background: #16a34a !important; }
.sr-pin.base b { background: #0f172a !important; }
.fl-check { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
.fl-chk { display: flex; gap: 6px; align-items: flex-start; padding: 6px 10px; border-radius: 10px; font-size: 13px; }
.fl-chk svg { width: 16px; height: 16px; flex: none; margin-top: 1px; }
.fl-chk.err { background: rgba(220, 38, 38, .1); color: #b91c1c; }
.fl-chk.warn { background: rgba(245, 158, 11, .12); color: #92400e; }
.fl-events { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
.fl-ev { display: grid; grid-template-columns: 130px 140px 1fr auto; gap: 8px; padding: 6px 8px; border-bottom: 1px solid var(--border); font-size: 13px; }
.fl-trip-modal .modal-head { gap: 10px; }
@media (max-width: 900px) {
    .fl-trip-table .cf-tr { grid-template-columns: 1.2fr 1fr .9fr; }
    .fl-trip-table .cf-tr > span:nth-child(2), .fl-trip-table .cf-tr > span:nth-child(4), .fl-trip-table .cf-tr > span:nth-child(5) { display: none; }
    .fl-ev { grid-template-columns: 1fr; gap: 2px; }
    .fl-map { height: 280px; }
}

/* ---- Canlı Harita (fleet-map.js) ---- */
.fl-live { display: grid; grid-template-columns: 300px 1fr; gap: 12px; min-height: 560px; }
.fl-live-side { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.fl-live-list { display: flex; flex-direction: column; gap: 4px; max-height: 560px; overflow-y: auto; }
.fl-live-map { position: relative; min-width: 0; }
.fl-map-big { height: 600px; }
.fl-veh { display: flex; gap: 10px; align-items: flex-start; text-align: left; padding: 8px 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-surface); color: inherit; cursor: pointer; font: inherit; }
.fl-veh:hover { border-color: var(--accent); }
.fl-veh.off { opacity: .55; }
.fl-veh > span:last-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fl-dot { width: 10px; height: 10px; border-radius: 50%; margin-top: 6px; flex: none; }
.fl-legend { display: flex; flex-wrap: wrap; gap: 4px; }
.fl-leg { display: inline-flex; gap: 5px; align-items: center; padding: 3px 9px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg-surface); color: inherit; font: inherit; font-size: 12px; cursor: pointer; }
.fl-leg.on { border-color: var(--accent); background: var(--accent-soft); }
.fl-leg i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.fl-car { background: none; border: 0; }
.fl-car b { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; font-size: 11px; border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.35); vertical-align: middle; }
.fl-car b i { font-style: normal; display: inline-block; }
.fl-car span { margin-left: 4px; padding: 1px 6px; border-radius: 6px; background: rgba(15, 23, 42, .85); color: #fff; font-size: 11px; font-weight: 700; vertical-align: middle; white-space: nowrap; }
.fl-track-bar { position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 500; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 8px 12px; border-radius: 12px; background: var(--bg-surface); box-shadow: 0 6px 20px rgba(0,0,0,.18); }
.fl-track-bar input { padding: 5px 8px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); font: inherit; }
.fl-ev-table .cf-tr { grid-template-columns: 1.1fr 1.2fr 1fr 1.4fr; }
.fl-dev-table .cf-tr { grid-template-columns: 1.6fr 1fr 1fr .8fr; }
.fl-q-table .cf-tr { grid-template-columns: 1.4fr .7fr 1fr 1fr; }
@media (max-width: 900px) {
    .fl-live { grid-template-columns: 1fr; }
    .fl-live-list { max-height: 220px; }
    .fl-map-big { height: 420px; }
    .fl-ev-table .cf-tr, .fl-dev-table .cf-tr, .fl-q-table .cf-tr { grid-template-columns: 1fr 1fr; }
}

/* ---- Sürücü Uygulaması (fleet-driver.js) ---- */
.fl-drv { gap: 10px; }
.fl-drv-who { flex: 1; display: flex; flex-direction: column; }
.fl-drv-bar { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.fl-switch { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; }
.fl-queue { width: 100%; padding: 8px 12px; border: 0; border-radius: 12px; background: rgba(245, 158, 11, .15); color: #92400e; font: inherit; font-weight: 700; cursor: pointer; }
.fl-drv-list { display: flex; flex-direction: column; gap: 8px; }
.fl-drv-trip { display: flex; justify-content: space-between; align-items: center; gap: 10px; text-align: left; padding: 14px; border: 1px solid var(--border); border-radius: 16px; background: var(--bg-surface); color: inherit; font: inherit; cursor: pointer; }
.fl-drv-trip > span { display: flex; flex-direction: column; gap: 3px; }
.fl-drv-head { display: flex; flex-direction: column; gap: 3px; padding: 4px 2px; }
.fl-drv-head .cf-chip, .fl-drv-trip .cf-chip { align-self: flex-start; }
.fl-ck-list { display: flex; flex-direction: column; gap: 6px; }
.fl-ck-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 12px; }
.fl-ck-btns { display: flex; gap: 6px; flex: none; }
.fl-ck-btns button { width: 42px; height: 38px; border: 1px solid var(--border-strong); border-radius: 10px; background: var(--bg-surface); font-size: 18px; cursor: pointer; }
.fl-ck-btns .ok.on { background: #16a34a; color: #fff; border-color: #16a34a; }
.fl-ck-btns .no.on { background: #dc2626; color: #fff; border-color: #dc2626; }
.fl-big { width: 100%; justify-content: center; padding: 12px; font-size: 15px; }
.fl-drv-stops { display: flex; flex-direction: column; gap: 10px; }
.fl-dstop { display: flex; flex-direction: column; gap: 5px; padding: 12px; border: 1px solid var(--border); border-radius: 16px; background: var(--bg-surface); }
.fl-dstop.next { border: 2px solid var(--accent); }
.fl-dstop.closed { opacity: .7; }
.fl-dstop-h { display: flex; gap: 10px; align-items: flex-start; }
.fl-dstop-h > span { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.fl-dstop-a { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.fl-dstop-a .btn-sm { padding: 9px 12px; }
.fl-sign { width: 100%; height: 160px; border: 1px dashed var(--border-strong); border-radius: 12px; background: #fff; touch-action: none; }
.fl-reasons { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.fl-reason { padding: 9px 12px; border: 1px solid var(--border-strong); border-radius: 12px; background: var(--bg-surface); color: inherit; font: inherit; cursor: pointer; }
.fl-reason.on { background: var(--accent-soft); border-color: var(--accent); font-weight: 700; }

.fl-drv-quick { display: flex; gap: 6px; flex-wrap: wrap; }
.fl-drv-quick .btn-sm { flex: 1; justify-content: center; padding: 9px 10px; }
.sk-alert.ack { opacity: .6; }
.fl-mo-table .cf-tr { grid-template-columns: 1.6fr 1fr 1.2fr .9fr .9fr .8fr; }
.fl-mp-table .cf-tr { grid-template-columns: 1fr 1.4fr 1fr 1.1fr 1.3fr .9fr; }
.fl-fuel-table .cf-tr { grid-template-columns: 1.2fr 1fr 1.2fr .9fr 1.4fr 40px; }
.fl-exp-table .cf-tr { grid-template-columns: 1.2fr 1.4fr 1.1fr .9fr 40px; }
.fl-vc-table .cf-tr { grid-template-columns: 1.1fr .9fr .9fr .9fr 1fr 1fr .7fr; }
@media (max-width: 900px) {
    .fl-mo-table .cf-tr, .fl-mp-table .cf-tr, .fl-fuel-table .cf-tr, .fl-exp-table .cf-tr, .fl-vc-table .cf-tr { grid-template-columns: 1fr 1fr; }
    .fl-mo-table .cf-tr > span:nth-child(n+3):not(:last-child), .fl-mp-table .cf-tr > span:nth-child(n+3):not(:last-child), .fl-fuel-table .cf-tr > span:nth-child(n+4):not(:last-child), .fl-exp-table .cf-tr > span:nth-child(3), .fl-vc-table .cf-tr > span:nth-child(n+2):not(:nth-child(5)) { display: none; }
}

/* ---- Taşıma Emirleri (fleet-orders.js) ---- */
.fl-ord-table .cf-tr { grid-template-columns: 28px 1.3fr 1.5fr 1fr .9fr 1.1fr .9fr; }
.fl-cus-table .cf-tr { grid-template-columns: 1.6fr 1.2fr .7fr 1fr 1fr; }
.fl-tar-table .cf-tr { grid-template-columns: 1.4fr 1.1fr 1.1fr .9fr 1fr; }
.fl-prof-table .cf-tr { grid-template-columns: 1.6fr 1fr 1fr 1.2fr; }
.fl-price { background: var(--bg-elevated); }
.fl-align { display: flex; align-items: flex-end; padding-bottom: 8px; }
.fl-inv-g { border: 1px solid var(--border); border-radius: 12px; padding: 8px 12px; margin-bottom: 8px; }
@media (max-width: 900px) {
    .fl-ord-table .cf-tr { grid-template-columns: 28px 1.3fr 1fr; }
    .fl-ord-table .cf-tr > span:nth-child(3), .fl-ord-table .cf-tr > span:nth-child(4), .fl-ord-table .cf-tr > span:nth-child(5), .fl-ord-table .cf-tr > span:nth-child(6) { display: none; }
    .fl-cus-table .cf-tr, .fl-tar-table .cf-tr, .fl-prof-table .cf-tr { grid-template-columns: 1.4fr 1fr; }
    .fl-cus-table .cf-tr > span:nth-child(n+3), .fl-tar-table .cf-tr > span:nth-child(n+3), .fl-prof-table .cf-tr > span:nth-child(2), .fl-prof-table .cf-tr > span:nth-child(3) { display: none; }
}

/* ---- Raporlar (Raporlar.cshtml): sürücü performansı, araç kullanımı, bakım tahmini ---- */
.fl-drv-perf .cf-tr { grid-template-columns: 1.8fr .6fr 1fr 1fr .8fr 1fr .9fr; }
.fl-use-table .cf-tr { grid-template-columns: 1.4fr 1fr 1.3fr .8fr 1.1fr 1fr; }
.fl-mf-table .cf-tr { grid-template-columns: 1.6fr .9fr 1.1fr .9fr .9fr .9fr; }
.fl-bar { display: block; height: 6px; border-radius: 4px; background: var(--bg-elevated); overflow: hidden; margin-bottom: 3px; }
.fl-bar > i { display: block; height: 100%; background: var(--accent); }
@media (max-width: 900px) {
    .fl-drv-perf .cf-tr { grid-template-columns: 1.5fr .6fr 1fr; }
    .fl-drv-perf .cf-tr > span:nth-child(n+4) { display: none; }
    .fl-use-table .cf-tr { grid-template-columns: 1.3fr 1.2fr; }
    .fl-use-table .cf-tr > span:nth-child(2), .fl-use-table .cf-tr > span:nth-child(n+4) { display: none; }
    .fl-mf-table .cf-tr { grid-template-columns: 1.4fr .9fr 1fr; }
    .fl-mf-table .cf-tr > span:nth-child(n+4) { display: none; }
}
