/* CHIEF DISPO — şoför ekranı (390 px, eldiven, güneş altında). Chief kimliği: Fil Dişi zemin, mürekkep, Kil = ana eylem.
   Dokunma alanı ≥ 48 px (ana düğmeler 60 px), temel yazı 17 px, yüksek kontrast (soluk gri yalnız ikincil bilgide).
   Sağdan sola (ar): yalnız mantıksal özellikler (margin-inline, padding-inline, inset-inline, text-align: start). */
.fahrer, .f-sayfa { --f-dokun: 52px; font-size: 17px; line-height: 1.45; color: var(--ink); }
.fahrer { min-height: 100vh; background: var(--warm); padding-bottom: 32px; }
:root[lang="ar"] .fahrer, :root[lang="ar"] .f-sayfa { font-family: "Segoe UI", "Noto Sans Arabic", Tahoma, system-ui, sans-serif; }
:root[lang="ru"] .fahrer, :root[lang="ru"] .f-sayfa { font-family: "Space Grotesk", "Segoe UI", Roboto, system-ui, sans-serif; }
.fahrer .num, .f-sayfa .num { font-family: "JetBrains Mono", ui-monospace, monospace; }
.fahrer bdi, .f-sayfa bdi { unicode-bidi: isolate; }
.f-ik { width: 22px; height: 22px; flex: none; }
.f-ik-buyuk { width: 40px; height: 40px; color: var(--clay-d); }
:root[dir="rtl"] .f-geri .f-ik, :root[dir="rtl"] .f-ik-yon { transform: scaleX(-1); }
.f-kucuk { font-size: 14px; color: var(--muted); }
.fahrer .gizli, .f-sayfa .gizli { display: none !important; }

/* Üst kısım: koyu şerit, yüksek kontrast */
.f-ust { background: var(--ink); color: var(--ivory); padding: 10px 16px 14px; display: grid; gap: 6px; }
.f-ust-satir { display: flex; align-items: center; gap: 8px; }
.f-marka { flex: 1; min-width: 0; display: grid; line-height: 1.2; }
.f-marka b { font-weight: 600; font-size: 16px; letter-spacing: .02em; }
.f-marka small { font: 12px "JetBrains Mono", monospace; color: #BDB8AC; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f-dil { min-height: 48px; min-width: 128px; max-width: 46vw; border-radius: 10px; border: 1px solid #4A463F; background: var(--elev); color: var(--ivory);
  padding-block: 0; padding-inline: 12px 10px; font-size: 17px; font-weight: 500; }
.f-dil:focus { outline: 3px solid var(--clay); outline-offset: 1px; }
.f-ikon-dugme { width: 48px; height: 48px; flex: none; display: grid; place-items: center; border-radius: 10px; border: 1px solid #4A463F;
  background: transparent; color: var(--ivory); cursor: pointer; padding: 0; }
.f-ikon-dugme:active { background: var(--elev); }
.f-tarih { font-size: 22px; font-weight: 600; letter-spacing: -.01em; }
.f-arac { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; font-size: 16px; color: #E9E6DD; }
.f-arac-kod { display: inline-flex; gap: 8px; align-items: center; font-weight: 600; color: var(--ivory); }
.f-plaka { background: var(--ivory); color: var(--ink); border-radius: 6px; padding: 1px 8px; font-weight: 600; font-size: 15px; }
.f-arac-saat { color: #D9D5CA; }
.f-ekip { font-size: 15px; color: #D9D5CA; }
.f-ekip-et { color: #A8A397; }

.f-onizleme { background: var(--copper); color: #fff; padding: 10px 16px; display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center;
  justify-content: space-between; font-size: 15px; font-weight: 500; }
.f-onizleme a { color: #fff; text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; }

/* Gövde ve kartlar */
.f-icerik { padding: 12px; display: grid; gap: 12px; max-width: 640px; margin-inline: auto; }
.f-kart { background: var(--card); border: 1px solid var(--border); border-radius: 14px; padding: 16px; display: grid; gap: 12px; min-width: 0; box-shadow: var(--sh); }
.f-bekle { display: flex; align-items: center; gap: 10px; color: var(--muted); }
.f-bos { justify-items: center; text-align: center; padding: 28px 18px; }
.f-bos h2 { font-size: 21px; }
.f-bos p { color: var(--muted); max-width: 32ch; }
.f-bos .f-dugme { width: 100%; }
.f-tamam { border-color: var(--sage); background: var(--sage-s); }
.f-bolum { font-size: 18px; }
.f-stand { text-align: center; font-size: 13.5px; color: var(--muted); }

/* Sıradaki iş */
.f-is { border-width: 2px; border-color: var(--ink); }
.f-is.f-is-sorun { border-color: var(--red); }
.f-is-ust { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.f-is-ust .eyebrow { font-size: 13px; color: var(--clay-d); font-weight: 600; }
.f-sira { font-size: 14px; color: var(--muted); }
.f-rozet { font-size: 14px; padding: 3px 10px; margin-inline-start: auto; }
.f-oncelik { justify-self: start; font-size: 14px; }
.f-is-tur { font-size: 23px; font-weight: 600; line-height: 1.2; }
.f-musteri { font-size: 19px; font-weight: 600; }
.f-adres { font-size: 17px; overflow-wrap: anywhere; }
.f-kod { font-size: 13px; color: var(--muted); }
.f-iki { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; }
.f-bilgi { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 14px; margin: 0; font-size: 16px; }
.f-bilgi dt { color: var(--muted); }
.f-bilgi dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.f-avv { display: grid; gap: 2px; justify-items: start; }
.f-not { background: var(--ivory); border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; display: grid; gap: 2px; font-size: 16px; overflow-wrap: anywhere; }
.f-not b { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.f-not-sorun { background: var(--red-s); border-color: #F1C9C9; }
.f-not-sorun b { color: var(--red); }
.f-not-tamam { background: var(--sage-s); border-color: #DCE6CB; }
.f-not-tamam b { color: var(--green); }

/* Befahren güvenlik kutusu */
.f-guvenlik { background: var(--red-s); border: 2px solid var(--red); border-radius: 12px; padding: 12px 14px; display: grid; gap: 6px; color: #5E1010; }
.f-guvenlik-bas { display: flex; gap: 8px; align-items: center; color: var(--red); font-size: 17px; }
.f-guvenlik ul { margin: 0; padding-inline-start: 22px; display: grid; gap: 4px; font-weight: 500; }
.f-guvenlik .f-kucuk { color: #7A2A2A; }

/* Düğmeler */
.f-dugme { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: var(--f-dokun); padding: 10px 16px;
  border-radius: 12px; border: 2px solid var(--ink); background: var(--card); color: var(--ink); font: inherit; font-weight: 600; font-size: 17px;
  cursor: pointer; text-decoration: none; text-align: center; -webkit-tap-highlight-color: transparent; user-select: none; }
.f-dugme:hover { text-decoration: none; }
.f-dugme:active { transform: translateY(1px); }
.f-dugme:focus-visible, .f-gun-is:focus-visible, .f-secim:focus-within { outline: 3px solid var(--blue); outline-offset: 2px; }
.f-dugme.birincil { background: var(--clay-d); border-color: var(--clay-d); color: #fff; }
.f-dugme.birincil:active { background: #8F4F31; }
.f-dugme.tehlike { background: var(--red); border-color: var(--red); color: #fff; }
.f-dugme.ikincil { border-color: var(--border); border-width: 2px; }
.f-dugme:disabled { opacity: .55; cursor: wait; }
.f-ana { min-height: 64px; font-size: 21px; width: 100%; }
.f-sorun-dugme { width: 100%; border-color: var(--red); color: var(--red); background: var(--card); }
.f-kucuk-dugme { min-height: 44px; font-size: 15px; padding: 6px 14px; }
.f-eylem { display: grid; gap: 10px; margin-top: 4px; }
.f-adimlar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; font-size: 13px; text-align: center; }
.f-adimlar li { padding: 6px 2px 0; border-top: 4px solid var(--border); color: var(--muted); }
.f-adimlar li.f-gecti { border-top-color: var(--sage); color: var(--green); }
.f-adimlar li.f-simdi { border-top-color: var(--clay-d); color: var(--ink); font-weight: 600; }

/* Günün sırası */
.f-gun { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.f-gun-is, .f-durak { width: 100%; display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 8px 10px; border-radius: 10px; text-align: start; }
.f-gun-is { border: 1px solid var(--border); background: var(--card); cursor: pointer; font: inherit; color: inherit; }
.f-gun-is.f-aktif { border: 2px solid var(--ink); background: var(--ivory); }
.f-gun-is.f-soluk { opacity: .7; }
.f-durak { background: var(--warm); min-height: 52px; color: var(--muted); }
.f-durak-bosalt { background: #ECE7DA; color: var(--ink); }
.f-gun-no { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--ivory); font-weight: 600; font-size: 15px; }
.f-durak .f-gun-no { background: transparent; color: var(--muted); }
.f-durak-bosalt .f-gun-no { color: var(--ink); }
.f-gun-govde { flex: 1; min-width: 0; display: grid; }
.f-gun-ust { font-weight: 600; font-size: 16px; }
.f-gun-alt { font-size: 14.5px; color: var(--muted); overflow-wrap: anywhere; }
.f-saat { font-weight: 600; }
.f-gun-is .f-rozet { margin-inline-start: 0; }

/* Tam ekran form sayfası */
.f-sayfa { position: fixed; inset: 0; z-index: 30; background: var(--ivory); display: flex; flex-direction: column; }
.f-sayfa-ust { display: flex; gap: 10px; align-items: center; padding: 10px 12px; background: var(--ink); color: var(--ivory); }
.f-sayfa-ust h2 { font-size: 19px; }
.f-sayfa-ust .f-kucuk { color: #D9D5CA; }
.f-sayfa-govde { flex: 1; overflow-y: auto; padding: 14px 16px 24px; display: grid; gap: 16px; align-content: start; max-width: 640px; width: 100%; margin-inline: auto; }
.f-sayfa-alt { padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--border); background: var(--card); }
.f-sayfa-alt .f-ana { max-width: 608px; margin-inline: auto; display: flex; }
.f-alan { display: grid; gap: 6px; min-width: 0; }
.f-alan-ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.f-alan-et { font-weight: 600; font-size: 16px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.f-zorunlu { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; background: var(--clay-s); color: var(--clay-d); border-radius: 99px; padding: 1px 8px; }
.f-girdi { width: 100%; min-height: var(--f-dokun); border: 2px solid var(--border); border-radius: 10px; background: var(--card); padding: 10px 12px; font-size: 19px; }
textarea.f-girdi { min-height: 88px; font-size: 17px; resize: vertical; }
.f-girdi:focus { outline: none; border-color: var(--clay-d); }
.f-girdi.hatali, .f-secenekler.hatali { border-color: var(--red); background: var(--red-s); }
:root[dir="rtl"] .f-girdi.num { text-align: end; }
.f-gizli-girdi { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.f-fotolar { display: flex; flex-wrap: wrap; gap: 8px; }
.f-fotolar:empty { display: none; }
.f-foto { width: 104px; display: grid; gap: 4px; padding: 4px; border: 2px solid var(--border); border-radius: 10px; background: var(--card); font: inherit; font-size: 12.5px; text-align: center; cursor: default; }
.f-foto img { width: 100%; height: 72px; object-fit: cover; border-radius: 6px; }
.f-foto.tamam { border-color: var(--sage); color: var(--green); }
.f-foto.hata { border-color: var(--red); color: var(--red); cursor: pointer; }
.f-foto.yukleniyor-foto { color: var(--muted); }
.f-imza-kap { position: relative; }
.f-imza { display: block; width: 100%; height: 180px; background: var(--card); border: 2px dashed #B9B2A2; border-radius: 10px; touch-action: none; cursor: crosshair; }
.f-imza-ipucu { position: absolute; inset-inline: 0; top: 50%; transform: translateY(-50%); text-align: center; color: var(--faint); pointer-events: none; font-size: 15px; }
.f-secenekler { display: grid; gap: 8px; border: 2px solid transparent; border-radius: 12px; }
.f-secim { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 10px 14px; border: 2px solid var(--border); border-radius: 12px; background: var(--card); cursor: pointer; font-weight: 600; font-size: 17px; }
.f-secim input { width: 24px; height: 24px; flex: none; accent-color: var(--red); margin: 0; }
.f-secim.secili { border-color: var(--red); background: var(--red-s); }

/* Arapça: harf aralığı ve büyük harf bitişik yazıyı bozar; Arapça harf içermeyen mono yazı da sistem yazısına düşer */
:root[lang="ar"] .fahrer .eyebrow, :root[lang="ar"] .f-not b, :root[lang="ar"] .f-zorunlu, :root[lang="ar"] .f-kurgu { letter-spacing: 0; text-transform: none; font-family: inherit; }
:root[lang="ar"] .f-marka small { font-family: "Segoe UI", "Noto Sans Arabic", Tahoma, system-ui, sans-serif; }
/* R-FA-10: tek balon, üst satırın (dil, yenile) altında; ana düğmeyi örtmez. Bilgi balonu dokunmayı geçirir, hata balonu dokununca kapanır. */
.f-bildirim { position: fixed; bottom: auto; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 24px);
  font-size: 16px; line-height: 1.35; padding: 12px 16px; text-align: center; pointer-events: none; z-index: 40; }
.f-bildirim.hata { pointer-events: auto; cursor: pointer; }

/* R-FA-02: Dispo anrufen */
.f-dispo-ust { width: 100%; min-height: 56px; margin-top: 4px; background: var(--ivory); border-color: var(--ivory); color: var(--ink); font-size: 18px; }
.f-dispo-ust:active { background: #E9E6DD; }
.f-dispo-sorun { width: 100%; margin-top: 6px; border-color: var(--red); color: var(--red); }
.f-sayfa-baslik { flex: 1; min-width: 0; }
.f-sayfa-baslik h2 { overflow-wrap: anywhere; }
.f-ikon-dugme.f-sayfa-tel { width: auto; min-width: 48px; padding-inline: 12px; display: inline-flex; gap: 6px; font-weight: 600; font-size: 16px;
  text-decoration: none; background: var(--ivory); color: var(--ink); border-color: var(--ivory); }
.f-tarih { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.f-kurgu { display: inline-block; padding: 2px 9px; border-radius: 99px; background: var(--copper); color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .02em; }

/* R-FA-03: şebeke bekleyen kuyruk */
.f-kuyruk { display: flex; align-items: center; gap: 10px; padding: 8px 12px 8px 16px; background: var(--copper-s); color: #6B3F1C;
  border-bottom: 2px solid var(--copper); font-weight: 600; font-size: 16px; }
.f-kuyruk-metin { flex: 1; min-width: 0; }
.f-kuyruk-dugme { min-height: 48px; border-color: var(--copper); background: var(--card); color: #6B3F1C; flex: none; }
.f-kuyruk-not { color: #6B3F1C !important; font-weight: 600; }
.f-rozet-bekliyor { display: inline-flex; gap: 4px; background: var(--copper-s); color: #7A4A22; border: 1px solid var(--copper); font-size: 13px; justify-self: start; }
.f-rozet-ret { display: inline-flex; gap: 4px; font-size: 13px; justify-self: start; }
.f-ik-kucuk { width: 15px; height: 15px; }
.f-stand-yok { color: var(--red); font-weight: 600; }

/* R-FA-01: değişiklik */
.f-degisim { border: 2px solid var(--copper); background: #FFF8EE; gap: 10px; }
.f-degisim-bas { display: flex; gap: 8px; align-items: center; color: #8C5A2F; }
.f-degisim-bas h2 { font-size: 19px; color: var(--ink); }
.f-degisim-liste { margin: 0; padding-inline-start: 22px; display: grid; gap: 6px; font-size: 16px; }
.f-kalkan { color: var(--red); font-weight: 600; }
.f-rozet-yeni, .f-rozet-degisti { font-size: 13px; padding: 2px 9px; font-weight: 600; }
.f-rozet-yeni { background: var(--clay-d); color: #fff; }
.f-rozet-degisti { background: var(--copper-s); color: #7A4A22; border: 1px solid var(--copper); }
.f-gun-is.f-degisik { border: 2px solid var(--copper); }
.f-gun-rozetler { display: grid; gap: 4px; justify-items: end; flex: none; }

/* R-FA-06 / R-FA-07 */
.f-cevrilmedi { font-style: italic; font-size: 13px; }
.f-sorun-ek { font-weight: 500; }

/* Bitti formu: Befahren, müşteri yok, Mehraufwand */
.f-form-kutu { display: grid; gap: 12px; padding: 12px; border: 2px solid var(--border); border-radius: 12px; background: var(--card); }
.f-form-kutu-bas { font-weight: 600; font-size: 17px; }
.f-form-befahren { border-color: var(--red); background: var(--red-s); }
.f-form-befahren .f-kucuk { color: #7A2A2A; font-weight: 500; }
select.f-girdi { font-size: 17px; }
.f-girdi.f-dk { max-width: 140px; }
.f-onay { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 10px 14px; border: 2px solid var(--border); border-radius: 12px;
  background: var(--card); cursor: pointer; font-weight: 600; font-size: 17px; }
.f-onay input { width: 26px; height: 26px; flex: none; margin: 0; accent-color: var(--clay-d); }
.f-onay:has(input:checked) { border-color: var(--clay-d); background: var(--clay-s); }
.f-imza-kap.hatali .f-imza { border-color: var(--red); background: var(--red-s); }
.f-foto-alan.hatali { outline: 2px solid var(--red); outline-offset: 4px; border-radius: 10px; }
.f-foto.ag, .f-foto.sirada { border-color: var(--copper); color: #7A4A22; cursor: pointer; }

/* Kabul turu 1 sonrası (R-1-05/06): sahada atık kodu, Befahren kişileri ve ölçüm saati */
.f-form-avv { gap: 8px; }
.f-avv-yildiz { color: var(--red) !important; font-weight: 600; }
.f-girdi.f-saat-girdi { max-width: 170px; }
.f-sifir-ipucu { color: var(--red); font-weight: 600; }

/* Kabul turu 2 sonrası: Befahren kanıtı önceden (taslak), belgeli kişi seçimi, kapalı ek iş */
.f-saat-satir { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.f-saat-satir .f-alan { flex: 1 1 170px; }
.f-saat-satir .f-kucuk-dugme { min-height: 52px; }
.f-befahren-dugme { width: 100%; margin-top: 4px; }
.f-befahren-ozet { margin: 0; font-weight: 600; color: #5E1010; }
.f-befahren-engel { gap: 6px; }
.f-ek-ac { width: 100%; }

/* R-1-51: 10 sn geri al şeridi (eldivenle basılacak kadar büyük) */
.f-geri-al { position: fixed; left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 60; display: flex; align-items: center;
  justify-content: space-between; gap: 12px; background: var(--ink); color: var(--ivory); border-radius: 14px; padding: 10px 10px 10px 16px;
  font-size: 15px; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.f-geri-al-dugme { min-height: 48px; padding: 0 18px; border-radius: 10px; border: 0; background: var(--ivory); color: var(--ink); font: inherit; font-weight: 600; }
