:root {
  --zemin: #f3f4f7;
  --kart: #ffffff;
  --yazi: #1f2937;
  --soluk: #6b7280;
  --cizgi: #e5e7eb;
  --ana: #2f7dd1;
  --ana-koyu: #2368b4;
  --mor: #5b4fd6;
  --aktif-zemin: #eef0fb;
  --hata: #dc2626;
  --hata-zemin: #fdecec;
  --ok: #16a34a;
  --ok-zemin: #e7f7ec;
  --uyari: #b45309;
  --uyari-zemin: #fff5dc;
  --golge: 0 1px 3px rgba(16, 24, 40, .06), 0 4px 14px rgba(16, 24, 40, .05);
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { font-family: "Segoe UI", system-ui, -apple-system, sans-serif; background: var(--zemin); color: var(--yazi); font-size: 14.5px; }
a { color: var(--ana); text-decoration: none; }
a:hover { text-decoration: underline; }
.gizli { display: none !important; }



/* Sefer listesi (u-etds.com.tr düzenine benzer) */
.sayfa-baslik { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 16px 8px 24px; }
.sayfa-baslik h1 { font-size: 26px; font-weight: 600; margin: 0; }
.sayfa-baslik .filtre select, .sayfa-baslik .filtre input { width: 220px; height: 42px; color: #4b5563; }
.sayfa-baslik .filtre input[type="date"] { width: 150px; }
.sayfa-baslik .filtre button { height: 42px; padding: 0 16px; }
button.koyu { background: #475569; } button.koyu:hover { background: #334155; }
button.mor { background: #5b4fe9; font-size: 15px; } button.mor:hover { background: #4b3fd6; }
.sefer-tablo th { background: #f9fafb; text-transform: uppercase; font-size: 12.5px; letter-spacing: .03em; padding: 14px 24px; border: 0; }
.sefer-tablo td { padding: 14px 24px; border-bottom: 1px solid #e5e7eb; font-size: 14px; }
.sefer-tablo .yer { display: flex; align-items: center; gap: 8px; line-height: 1.75; }
.sefer-tablo .yer svg { width: 14px; height: 14px; flex: none; }
.sefer-tablo .yer.bas { font-weight: 600; color: #111827; } .sefer-tablo .yer.bas svg { stroke: #374151; }
.sefer-tablo .yer.bit { font-weight: 600; color: #2563eb; } .sefer-tablo .yer.bit svg { stroke: #2563eb; }
.sefer-tablo .zaman { line-height: 1.75; white-space: nowrap; }
.sefer-tablo .zaman .h { color: #16a34a; font-weight: 600; }
.sefer-tablo .zaman .b { color: #dc2626; font-weight: 600; }
.sefer-tablo .plaka { font-weight: 600; color: #111827; }
.sefer-tablo .sofor { color: #6b7280; }
.sefer-tablo .islemler { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.sefer-tablo .islemler button { background: none; padding: 5px; border-radius: 4px; }
.sefer-tablo .islemler button:hover { background: #f3f4f6; }
.sefer-tablo .islemler svg { width: 18px; height: 18px; }
.sefer-tablo .islemler .i-duzenle svg { stroke: #2563eb; }
.sefer-tablo .islemler .i-kopya svg { stroke: #16a34a; }
.sefer-tablo .islemler .i-sil svg { stroke: #dc2626; }
.sefer-tablo .islemler .i-pdf { color: #16a34a; font-weight: 500; font-size: 14px; gap: 4px; margin-left: 6px; }
.sefer-tablo .islemler .i-pdf svg { stroke: #16a34a; }
.sefer-tablo .islemler .i-pdf:disabled { color: #c4c9d1; } .sefer-tablo .islemler .i-pdf:disabled svg { stroke: #c4c9d1; }
.sefer-tablo .etiket { font-size: 11px; padding: 2px 7px; margin-top: 4px; }
.sayfalama { display: flex; justify-content: space-between; align-items: center; padding: 14px 24px; color: var(--soluk); flex-wrap: wrap; gap: 10px; }
.avatar svg { width: 16px; height: 16px; stroke: #9ca3af; }

main { padding: 24px; max-width: 1880px; margin: 0 auto; }

/* İstatistik kartları */
.istatistikler { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-bottom: 32px; }
.istatistik { border-radius: 10px; padding: 26px 24px 22px; position: relative; box-shadow: 0 4px 12px rgba(30, 60, 120, .12); min-height: 132px; }
.istatistik .baslik { font-size: 13.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.istatistik .sayi { font-size: 30px; font-weight: 700; margin: 10px 0 4px; }
.istatistik .not { font-size: 12px; }
.istatistik .ikon { position: absolute; right: 24px; top: 36px; width: 52px; height: 52px; border-radius: 50%; background: #fff; display: grid; place-items: center; box-shadow: 0 2px 8px rgba(0, 0, 0, .06); }
.istatistik .ikon svg { width: 24px; height: 24px; stroke-width: 2.4; }
.i-mavi { background: linear-gradient(120deg, #eef4ff, #dfe8fb); }
.i-mavi .baslik, .i-mavi .not { color: #2563eb; } .i-mavi .sayi { color: #1e3a8a; } .i-mavi svg { stroke: #2563eb; }
.i-turkuaz { background: linear-gradient(120deg, #e9fbfd, #d3f5fa); }
.i-turkuaz .baslik, .i-turkuaz .not { color: #0891b2; } .i-turkuaz .sayi { color: #134e4a; } .i-turkuaz svg { stroke: #06b6d4; }
.i-yesil { background: linear-gradient(120deg, #edfbf1, #d8f6e2); }
.i-yesil .baslik, .i-yesil .not { color: #16a34a; } .i-yesil .sayi { color: #14532d; } .i-yesil svg { stroke: #22c55e; }
.i-mor { background: linear-gradient(120deg, #f8f2fe, #efe3fc); }
.i-mor .baslik, .i-mor .not { color: #9333ea; } .i-mor .sayi { color: #581c87; } .i-mor svg { stroke: #a855f7; }

/* Kartlar */
.ikili { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; }
.kart { background: var(--kart); border-radius: 8px; box-shadow: var(--golge); margin-bottom: 24px; }
.kart > .kart-baslik { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 24px; border-bottom: 1px solid var(--cizgi); flex-wrap: wrap; }
.kart > .kart-baslik h2 { font-size: 19px; font-weight: 500; margin: 0; }
.kart > .kart-govde { padding: 24px; }
.kart h3 { font-size: 13px; color: var(--soluk); text-transform: uppercase; letter-spacing: .04em; margin: 22px 0 10px; }
.kart h3:first-child { margin-top: 0; }

.hizli { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hizli a { display: flex; align-items: center; gap: 16px; background: #f7f8fa; border-radius: 8px; padding: 20px 16px; color: var(--yazi); }
.hizli a:hover { text-decoration: none; background: #eff1f5; }
.hizli .yuvarlak { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; flex: none; }
.hizli .yuvarlak svg { width: 18px; height: 18px; stroke-width: 2.4; }
.hizli b { display: block; font-weight: 500; font-size: 15.5px; margin-bottom: 2px; }
.hizli span { color: var(--soluk); font-size: 14px; }
.y-mavi { background: #dbe8fd; } .y-mavi svg { stroke: #2563eb; }
.y-yesil { background: #d7f5e2; } .y-yesil svg { stroke: #16a34a; }
.y-mor { background: #efe0fc; } .y-mor svg { stroke: #9333ea; }
.y-sari { background: #fdf3c7; } .y-sari svg { stroke: #ca8a04; }

.duyuru { display: flex; gap: 14px; padding: 4px 0 14px; }
.duyuru .yuvarlak { width: 32px; height: 32px; border-radius: 50%; background: #dbe8fd; display: grid; place-items: center; flex: none; }
.duyuru .yuvarlak svg { width: 16px; height: 16px; stroke: #2563eb; }
.duyuru b { font-weight: 600; font-size: 14px; }
.duyuru p { margin: 2px 0; color: #4b5563; font-size: 14px; white-space: pre-line; }
.duyuru small { color: var(--soluk); }

/* Form öğeleri */
input, select, textarea { font: inherit; padding: 8px 10px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; color: inherit; width: 100%; }
input:focus, select:focus, textarea:focus { outline: 2px solid #bfd6f6; border-color: var(--ana); }
textarea { resize: vertical; }
textarea.mono { font-family: Consolas, monospace; font-size: 14px; }
label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: #4b5563; font-weight: 500; }
label.yatay { flex-direction: row; align-items: center; gap: 8px; color: var(--yazi); font-weight: 400; }
label.yatay input { width: auto; }
.izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.izgara .genis { grid-column: span 2; }
.izgara .tam { grid-column: 1 / -1; }
.satir { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.satir.ust-bosluk { margin-top: 16px; }
.filtre { display: flex; gap: 10px; flex-wrap: wrap; align-items: end; }
.filtre label { min-width: 150px; }

button { font: inherit; border: 0; border-radius: 6px; padding: 9px 16px; background: var(--ana); color: #fff; cursor: pointer; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; }
button:hover { background: var(--ana-koyu); }
button:disabled { opacity: .55; cursor: not-allowed; }
button svg { width: 16px; height: 16px; stroke: currentColor; }
button.ikincil { background: #eef0f4; color: var(--yazi); }
button.ikincil:hover { background: #e2e5eb; }
button.tehlike { background: var(--hata); }
button.tehlike:hover { background: #b91c1c; }
button.basari { background: var(--ok); }
button.basari:hover { background: #15803d; }
button.kucuk { padding: 5px 10px; font-size: 13px; }
button.buyuk { padding: 12px 26px; font-size: 16px; font-weight: 600; }
button.metin { background: none; color: var(--ana); padding: 4px 6px; }
button.metin:hover { background: #eef4fd; }
button.metin.kirmizi { color: var(--hata); }
.eksik { border-color: var(--hata) !important; background: var(--hata-zemin); }
.ipucu { color: var(--soluk); font-size: 13px; margin: 0 0 10px; }
.uyari-metin { color: var(--hata); font-size: 14px; }
.kutu { border-radius: 8px; padding: 12px 14px; font-size: 14px; margin-bottom: 14px; }
.kutu.sari { background: var(--uyari-zemin); color: #7c4a03; }
.kutu.yesil { background: var(--ok-zemin); color: #14532d; }
.kutu.kirmizi { background: var(--hata-zemin); color: #7f1d1d; }
.kutu.mavi { background: #eaf2fd; color: #1e3a8a; }

/* Tablolar */
.tablo-kap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; }
th { text-align: left; font-weight: 600; color: var(--soluk); font-size: 12.5px; padding: 10px 10px; border-bottom: 1px solid var(--cizgi); white-space: nowrap; background: #fafbfc; }
td { padding: 9px 10px; border-bottom: 1px solid #f0f1f4; vertical-align: middle; }
tr.tikla { cursor: pointer; }
tr.tikla:hover td { background: #f8fafc; }
table.duzen td { padding: 4px 4px; }
table.duzen td input, table.duzen td select { padding: 6px 7px; min-width: 70px; }
table.duzen td.dar input { width: 72px; min-width: 60px; }
.bos { text-align: center; color: var(--soluk); padding: 28px 10px; }

.etiket { display: inline-block; padding: 3px 9px; border-radius: 99px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.e-gri { background: #eef0f4; color: #4b5563; }
.e-yesil { background: var(--ok-zemin); color: #15803d; }
.e-sari { background: var(--uyari-zemin); color: var(--uyari); }
.e-kirmizi { background: var(--hata-zemin); color: #b91c1c; }
.e-mavi { background: #e3edfc; color: #1d4ed8; }

.adimlar { list-style: none; padding: 0; margin: 0 0 14px; display: grid; gap: 6px; }
.adimlar li { padding: 9px 12px; border-radius: 6px; }
.adimlar li.ok { background: var(--ok-zemin); }
.adimlar li.hata { background: var(--hata-zemin); }

/* Pencere */
dialog { border: 0; border-radius: 10px; padding: 0; width: min(640px, 94vw); box-shadow: 0 20px 50px rgba(0, 0, 0, .2); }
dialog::backdrop { background: rgba(17, 24, 39, .4); }
dialog .p-baslik { padding: 16px 22px; border-bottom: 1px solid var(--cizgi); font-size: 17px; font-weight: 600; }
dialog .p-govde { padding: 20px 22px; max-height: 70vh; overflow-y: auto; }
dialog .p-alt { padding: 14px 22px; border-top: 1px solid var(--cizgi); display: flex; justify-content: flex-end; gap: 10px; }

.bildirim-kutusu { position: fixed; right: 20px; bottom: 20px; display: grid; gap: 8px; z-index: 100; }
.bildirim-kutusu div { background: #111827; color: #fff; padding: 11px 16px; border-radius: 8px; box-shadow: var(--golge); max-width: 420px; }
.bildirim-kutusu div.hata { background: #b91c1c; }

/* Giriş */
.giris-sayfa { min-height: 100vh; display: grid; place-items: center; background: linear-gradient(135deg, #2f7dd1, #5b4fd6); padding: 16px; }
.giris-kart { background: #fff; border-radius: 12px; padding: 34px 32px; width: min(400px, 100%); box-shadow: 0 20px 50px rgba(0, 0, 0, .2); }
.giris-kart h1 { margin: 0 0 4px; font-size: 22px; }
.giris-kart p { margin: 0 0 22px; color: var(--soluk); }
.giris-kart form { display: grid; gap: 14px; }
.giris-kart button { justify-content: center; padding: 11px; }

@media (max-width: 1100px) {
  .istatistikler { grid-template-columns: repeat(2, 1fr); }
  .ikili { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  main { padding: 16px; }
  .istatistikler, .hizli { grid-template-columns: 1fr; }
  .izgara .genis { grid-column: span 1; }
}


/* Yeni sefer ekranı: sade ve sıkı düzen (referans panele benzer) */
.sefer-sayfa { max-width: 940px; margin: 0 auto; font-size: 13px; }
.sefer-sayfa .sayfa-baslik { margin: 6px 0 16px; }
.sefer-sayfa .sayfa-baslik h1 { font-size: 19px; font-weight: 600; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sefer-sayfa .kart { border-radius: 6px; box-shadow: 0 1px 3px rgba(16, 24, 40, .06); }
.sefer-form .kart-govde { padding: 18px 18px 16px; }
.ikili-bolum { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.bolum { background: #f8f9fb; border-radius: 6px; padding: 12px 12px 14px; margin-bottom: 18px; }
.ikili-bolum .bolum { margin: 0; }
.bolum h4 { margin: 2px 0 12px; font-size: 13.5px; font-weight: 600; display: flex; align-items: center; justify-content: space-between; }
.bolum-baslik { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.bolum-baslik h4 { margin: 0; justify-content: flex-start; gap: 8px; }
.sayac { background: #e0e7ff; color: #4338ca; font-size: 11px; font-weight: 600; padding: 1px 7px; border-radius: 99px; }
.sayac:empty { display: none; }
.izgara2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.sefer-sayfa label { font-size: 11.5px; color: #374151; font-weight: 500; gap: 4px; }
.sefer-sayfa label small { font-size: 10px; color: #9ca3af; font-weight: 400; }
.ust8 { margin-top: 10px; }
.sefer-sayfa input:not([type="checkbox"]):not([type="file"]), .sefer-sayfa select, .sefer-sayfa textarea {
  font-size: 12.5px; padding: 5px 8px; border-radius: 4px; border-color: #d1d5db; background: #fff; }
.sefer-sayfa input:not([type="checkbox"]):not([type="file"]), .sefer-sayfa select { height: 31px; }
.sefer-sayfa textarea { min-height: 31px; }
.sefer-sayfa input::placeholder, .sefer-sayfa textarea::placeholder { color: #9ca3af; }
.ic-satir { display: flex; gap: 8px; }
.ic-satir select { flex: 1; }
button.kare { width: 31px; height: 31px; padding: 0; justify-content: center; flex: none; border-radius: 4px; }
button.ikon-btn { background: #fff; border: 1px solid #d1d5db; color: #4b5563; padding: 0 8px; height: 24px; font-size: 13px; border-radius: 4px; }
button.ikon-btn:hover { background: #eef4fd; color: #1d4ed8; }
button.kucuk-b { padding: 6px 11px; font-size: 12px; border-radius: 4px; }
button.mini-b { padding: 5px 9px; font-size: 11.5px; border-radius: 4px; gap: 4px; }
button.mini-b svg, button.kucuk-b svg { width: 13px; height: 13px; }
.dar-bosluk { gap: 6px; }
button.b-mavi { background: #2563eb; } button.b-mavi:hover { background: #1d4ed8; }
button.b-gri { background: #6b7280; } button.b-gri:hover { background: #4b5563; }
button.b-yesil { background: #16a34a; } button.b-yesil:hover { background: #15803d; }
button.b-mor { background: #9333ea; } button.b-mor:hover { background: #7e22ce; }
button.b-wa { background: #0e9f6e; } button.b-wa:hover { background: #057a55; }

.personel-cipler { display: flex; flex-wrap: wrap; gap: 6px; }
.personel-cipler:not(:empty) { margin-top: 8px; }
.p-cip { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid #c7d2fe; border-radius: 4px; padding: 3px 4px 3px 8px; cursor: pointer; font-size: 12px; }
.p-cip:hover { border-color: #818cf8; }
.p-cip b { font-weight: 600; }
.p-cip small { color: #6b7280; font-size: 11px; }
.p-cip.eksik-cip { border-color: #fca5a5; background: #fef2f2; }
.p-cip .cip-sil { background: none; color: #9ca3af; padding: 0 4px; font-size: 12px; }
.p-cip .cip-sil:hover { color: #dc2626; background: none; }

.kisi-liste { display: grid; gap: 8px; }
.kisi-satir { display: grid; gap: 8px; align-items: center; }
.kisi-satir.yolcu { grid-template-columns: 1fr 1fr 1fr 1fr 1fr 31px; }
.kisi-satir input, .kisi-satir select { min-width: 0; }
.kisi-satir .sil-btn { width: 31px; height: 31px; padding: 0; justify-content: center; background: #fff; border: 1px solid #fecaca; border-radius: 4px; }
.kisi-satir .sil-btn:hover { background: #fef2f2; }
.kisi-satir .sil-btn svg { width: 14px; height: 14px; stroke: #dc2626; }
.kisi-satir .satir-hata { grid-column: 1 / -1; color: var(--hata); font-size: 11px; margin-top: -4px; }
.kisi-satir .satir-hata:empty { display: none; }
.hatali { border-color: var(--hata) !important; background: var(--hata-zemin) !important; }
.sefer-sayfa .eksik { border-color: #f87171 !important; background: #fff5f5 !important; }
.bos-satir { color: #9ca3af; font-size: 12px; padding: 4px 2px; }
.fiyat-izgara { display: grid; grid-template-columns: 180px 1fr; gap: 16px; }
.para { position: relative; }
.para span { position: absolute; left: 8px; top: 50%; transform: translateY(-50%); color: #9ca3af; font-size: 12px; }
.para input { padding-left: 22px !important; }
label.onay-kutu { flex-direction: row; align-items: flex-start; gap: 8px; margin-top: 14px; cursor: pointer; }
label.onay-kutu input { width: 14px; height: 14px; margin-top: 1px; accent-color: #2563eb; }
label.onay-kutu b { display: block; font-weight: 500; font-size: 12px; }
label.onay-kutu small { color: #6b7280; font-size: 11px; }
.alt-cubuk { display: flex; justify-content: flex-end; align-items: center; gap: 10px; border-top: 1px solid var(--cizgi); padding-top: 16px; flex-wrap: wrap; }
.alt-cubuk .uyari-metin { margin-right: auto; font-size: 12px; }
.alt-cubuk button { font-size: 12.5px; padding: 8px 0; width: 90px; justify-content: center; border-radius: 4px; }
#kaydetBtn.b-mor { background: #4f46e5; } #kaydetBtn.b-mor:hover { background: #4338ca; }
.sefer-sayfa .adimlar li, .sefer-sayfa .kutu { font-size: 12.5px; }
.sefer-form input:disabled, .sefer-form select:disabled, .sefer-form textarea:disabled { background: #f3f4f6; color: #374151; cursor: default; }

@media (max-width: 900px) {
  .ikili-bolum { grid-template-columns: 1fr; }
  .kisi-satir.yolcu { grid-template-columns: 1fr 1fr; }
  .fiyat-izgara { grid-template-columns: 1fr; }
}
.sefer-sayfa .cipler { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.sefer-sayfa button.cip { background: #fff; border: 1px solid #d1d5db; color: #374151; border-radius: 99px; padding: 3px 10px; font-size: 11.5px; font-weight: 500; gap: 4px; }
.sefer-sayfa button.cip:hover { background: #eef4fd; border-color: #93c5fd; color: #1d4ed8; }
.sefer-sayfa button.cip svg { width: 11px; height: 11px; }

/* ===== Genel iyileştirmeler ===== */
body { font-size: 14px; }
.soluk { color: #9ca3af; }
.mono { font-family: Consolas, "SF Mono", monospace; font-size: 13px; letter-spacing: .01em; }
.e-mor { background: #f3e8ff; color: #7e22ce; }
.sayac { background: #e0e7ff; color: #4338ca; font-size: 12px; font-weight: 600; padding: 1px 8px; border-radius: 99px; vertical-align: middle; }
.sayac:empty { display: none; }
.sayfa-baslik h1 { display: flex; align-items: center; gap: 10px; }
.sayfa-aciklama { margin: -14px 8px 16px; }
.kart > .kart-baslik h2 { font-size: 17px; display: flex; align-items: center; gap: 8px; }

/* Dashboard */
.dash-ust { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 4px 4px 20px; flex-wrap: wrap; }
.dash-ust h1 { margin: 0 0 4px; font-size: 24px; font-weight: 600; }
.dash-ust p { margin: 0; color: var(--soluk); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
a.buton-link { display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; border-radius: 6px; color: #fff; font-weight: 500; }
a.buton-link:hover { text-decoration: none; filter: brightness(.95); }
a.buton-link svg { width: 16px; height: 16px; stroke: currentColor; }
.b-mor-l { background: #5b4fe9; }
.uyari-serit { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 8px; margin-bottom: 12px; font-size: 14px; }
.uyari-serit:hover { text-decoration: none; filter: brightness(.98); }
.uyari-serit svg { width: 18px; height: 18px; flex: none; }
.uyari-serit.kirmizi { background: var(--hata-zemin); color: #991b1b; }
.uyari-serit.kirmizi svg { stroke: #dc2626; }
.uyari-serit.mavi { background: #eaf2fd; color: #1e3a8a; }
.uyari-serit.mavi svg { stroke: #2563eb; }
.istatistikler { margin-top: 8px; }
.mini-grafik { position: absolute; right: 22px; bottom: 22px; top: 30px; width: 110px; display: flex; align-items: flex-end; gap: 5px; }
.mini-grafik span { flex: 1; background: #06b6d4; opacity: .75; border-radius: 3px 3px 0 0; min-height: 4px; }
.mini-grafik span:last-child { opacity: 1; background: #0891b2; }
.hizli.tek { grid-template-columns: 1fr; gap: 10px; }
.hizli.tek a { padding: 14px; }
.gun-liste { display: flex; flex-direction: column; }
.gun-satir { display: grid; grid-template-columns: 64px minmax(0, 2.2fr) minmax(0, 1.2fr) 64px 96px; align-items: center; gap: 14px; padding: 13px 24px; border-bottom: 1px solid #f0f1f4; color: var(--yazi); }
.gun-satir:hover { background: #f8fafc; text-decoration: none; }
.gun-satir .saat { font-size: 17px; font-weight: 700; color: #1e3a8a; font-variant-numeric: tabular-nums; }
.gun-satir .rota, .gun-satir .arac { display: flex; flex-direction: column; min-width: 0; }
.gun-satir b, .gun-satir i { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gun-satir .rota b { font-weight: 600; font-size: 14px; }
.gun-satir .rota i { font-style: normal; color: #2563eb; font-size: 13.5px; }
.gun-satir .arac b { font-size: 13.5px; }
.gun-satir .arac i { font-style: normal; color: var(--soluk); font-size: 13px; }
.gun-satir .kisi { color: var(--soluk); font-size: 13px; }
.gun-satir .etiket { justify-self: end; }

/* Sefer tablosu: güzergâh tek satırda kalsın */
.sefer-tablo .yer span { white-space: nowrap; }
.sefer-tablo td:first-child { white-space: nowrap; }
.sefer-tablo { min-width: 980px; }

/* Sekmeler */
.sekmeler { display: flex; gap: 4px; margin: -8px 0 12px; border-bottom: 1px solid var(--cizgi); overflow-x: auto; }
.sekme { background: none; color: #4b5563; border-radius: 0; padding: 10px 14px; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.sekme:hover { background: none; color: var(--yazi); }
.sekme span { background: #eef0f4; color: #4b5563; font-size: 12px; padding: 1px 7px; border-radius: 99px; margin-left: 4px; }
.sekme.aktif { color: #4f46e5; border-bottom-color: #4f46e5; font-weight: 600; }
.sekme.aktif span { background: #e0e7ff; color: #4338ca; }
.sekme.dikkat span { background: var(--hata-zemin); color: #b91c1c; }

/* Liste sayfaları (personel, araç, kullanıcı) */
.liste-tablo th { background: #f9fafb; text-transform: uppercase; font-size: 12px; letter-spacing: .03em; padding: 13px 20px; border: 0; }
.liste-tablo td { padding: 12px 20px; border-bottom: 1px solid #eef0f3; font-size: 14px; }
.liste-tablo tr:hover td { background: #fafbfc; }
.liste-tablo tr.pasif td { opacity: .55; }
.liste-tablo .islemler { display: flex; gap: 4px; justify-content: flex-end; }
.liste-tablo .islemler button { background: none; padding: 6px; border-radius: 4px; }
.liste-tablo .islemler button:hover { background: #f3f4f6; }
.liste-tablo .islemler svg { width: 17px; height: 17px; }
.liste-tablo .i-duzenle svg { stroke: #2563eb; }
.liste-tablo .i-kopya svg { stroke: #16a34a; }
.liste-tablo .i-sil svg { stroke: #dc2626; }
.kisi-hucre { display: flex; align-items: center; gap: 12px; }
.kisi-hucre b { display: block; font-weight: 600; }
.kisi-hucre small { color: var(--soluk); font-size: 12.5px; }
.avatar-harf { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, #e0e7ff, #ede9fe); color: #4338ca; font-weight: 700; font-size: 13px; display: grid; place-items: center; flex: none; }
.plaka-rozet { display: inline-block; border: 1.5px solid #1f2937; border-left: 7px solid #1d4ed8; border-radius: 4px; padding: 1px 7px; font-weight: 700; font-size: 12.5px; letter-spacing: .04em; background: #fff; color: #111827; font-family: Consolas, monospace; }
.plaka-rozet.buyuk { font-size: 14px; padding: 3px 9px; }

/* U-ETDS sayfası */
.ikili.esit { grid-template-columns: 1fr 1fr; }
.baglanti { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: #f8fafc; border-radius: 8px; margin-bottom: 16px; }
.baglanti b { display: block; font-size: 15px; }
.baglanti small { color: var(--soluk); }
.nokta { width: 14px; height: 14px; border-radius: 50%; flex: none; }
.nokta.ok { background: #22c55e; box-shadow: 0 0 0 5px #dcfce7; }
.nokta.hata { background: #ef4444; box-shadow: 0 0 0 5px #fee2e2; }
.nokta.bekle { background: #f59e0b; box-shadow: 0 0 0 5px #fef3c7; animation: nabiz 1s infinite alternate; }
@keyframes nabiz { to { opacity: .35; } }
.bilgi-satir { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f0f1f4; font-size: 14px; }
.bilgi-satir:last-child { border-bottom: 0; }
.bilgi-satir span { color: var(--soluk); }
.bilgi-satir b { font-weight: 500; text-align: right; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.ip-kutu { display: flex; justify-content: space-between; align-items: center; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 8px; padding: 14px 16px; }
.ip-kutu .mono { font-size: 20px; font-weight: 700; color: #1e3a8a; }

/* Sefer özeti (bildirilmiş sefer) */
.sefer-sayfa.genis { max-width: 1180px; font-size: 14px; }
.ozet-izgara { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 20px; }
.ozet-izgara .kart { margin-bottom: 20px; }
.zaman-cizgi { position: relative; display: grid; gap: 22px; padding-left: 4px; }
.zaman-cizgi::before { content: ""; position: absolute; left: 10px; top: 14px; bottom: 14px; border-left: 2px dashed #cbd5e1; }
.durak { display: flex; gap: 14px; align-items: flex-start; position: relative; }
.durak small { display: block; color: var(--soluk); font-size: 12.5px; margin-bottom: 2px; }
.durak b { font-size: 15px; }
.nokta-d { width: 14px; height: 14px; border-radius: 50%; margin-top: 4px; flex: none; border: 3px solid #fff; }
.nokta-d.yesil { background: #16a34a; box-shadow: 0 0 0 2px #16a34a; }
.nokta-d.kirmizi { background: #dc2626; box-shadow: 0 0 0 2px #dc2626; }

@media (max-width: 1100px) {
  .ozet-izgara, .ikili.esit { grid-template-columns: 1fr; }
  .gun-satir { grid-template-columns: 56px 1fr 90px; }
  .gun-satir .arac, .gun-satir .kisi { display: none; }
  .mini-grafik { display: none; }
}
.ikili { align-items: start; }

/* Giriş ekranı */
.giris-sayfa2 { min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; background: #fff; }
.giris-tanitim { background: linear-gradient(150deg, #2f7dd1 0%, #3b5bdb 55%, #5b4fd6 100%); color: #fff; padding: 56px 64px; display: flex; flex-direction: column; justify-content: center; gap: 22px; }
.giris-logo { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 20px; }
.giris-logo span { width: 38px; height: 38px; border-radius: 9px; background: rgba(255, 255, 255, .18); display: grid; place-items: center; font-size: 20px; }
.giris-tanitim h1 { font-size: 32px; line-height: 1.25; margin: 10px 0 0; max-width: 520px; }
.giris-tanitim ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; max-width: 520px; }
.giris-tanitim li { background: rgba(255, 255, 255, .1); border-radius: 10px; padding: 14px 16px; font-size: 15px; line-height: 1.45; }
.giris-tanitim small { opacity: .75; }
.giris-form-alan { display: grid; place-items: center; padding: 24px; background: var(--zemin); }
.giris-form-alan .giris-kart { box-shadow: var(--golge); }
.giris-kart h2 { margin: 0 0 4px; font-size: 22px; }
@media (max-width: 860px) {
  .giris-sayfa2 { grid-template-columns: 1fr; }
  .giris-tanitim { padding: 32px 24px; }
  .giris-tanitim h1 { font-size: 24px; }
}

/* Admin */
.admin-firma-ozet { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.mini-kart { background: #fff; border-radius: 8px; box-shadow: var(--golge); padding: 16px 18px; }
.mini-kart span { color: var(--soluk); font-size: 13px; }
.mini-kart b { display: block; font-size: 22px; margin-top: 4px; }
@media (max-width: 900px) { .admin-firma-ozet { grid-template-columns: 1fr 1fr; } }
.sekmeler { overflow-y: hidden; padding-bottom: 1px; }
.ilerleme { height: 10px; background: #eef0f4; border-radius: 99px; overflow: hidden; }
.ilerleme span { display: block; height: 100%; background: linear-gradient(90deg, #2f7dd1, #5b4fd6); transition: width .4s; }

/* ===== Finans ===== */
a.sekme { display: inline-block; text-decoration: none; }
a.sekme:hover { text-decoration: none; }
.sag { text-align: right; }
.kirmizi-yazi { color: #b91c1c; }
.mavi-yazi { color: #1d4ed8; }
.fin-kartlar { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-bottom: 20px; }
.fin-kartlar.uc { grid-template-columns: repeat(3, 1fr); }
.fin-kart { background: #fff; border-radius: 8px; box-shadow: var(--golge); padding: 16px 18px; border-top: 3px solid #cbd5e1; }
.fin-kart span { color: var(--soluk); font-size: 13px; font-weight: 500; }
.fin-kart b { display: block; font-size: 21px; margin: 6px 0 2px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fin-kart small { color: var(--soluk); font-size: 12px; }
.fin-kart.yesil { border-top-color: #16a34a; }
.fin-kart.sari { border-top-color: #f59e0b; }
.fin-kart.mavi { border-top-color: #2f7dd1; }
.fin-kart.mavi b { color: #1d4ed8; }
.fin-kart.kirmizi { border-top-color: #dc2626; }
.fin-kart.kirmizi b { color: #b91c1c; }
.liste-tablo td.sag, .liste-tablo th.sag { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.liste-tablo .toplam-satir td { background: #f9fafb; font-weight: 700; border-top: 2px solid var(--cizgi); }
.kisa-rota { max-width: 340px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fin-filtre { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.fin-filtre select { width: 190px; }
.fin-toplam { margin-left: auto; color: var(--soluk); }
.fin-toplam b { color: var(--yazi); }
.toplu-cubuk { display: flex; align-items: center; gap: 8px; padding: 10px 24px; background: #eef2ff; border-top: 1px solid #c7d2fe; border-bottom: 1px solid #c7d2fe; flex-wrap: wrap; }

/* Günlük ciro grafiği: tek seri, ince sütunlar, sade eksen */
.grafik-kap { position: relative; }
.grafik-kap svg { display: block; overflow: visible; }
.g-izgara { stroke: #eef0f3; stroke-width: 1; }
.g-taban { stroke: #cbd5e1; stroke-width: 1; }
.g-eksen { fill: #9ca3af; font-size: 11px; font-variant-numeric: tabular-nums; }
.g-cubuk { fill: #2f7dd1; }
.g-sutun { cursor: default; }
.g-sutun.ust .g-cubuk { fill: #1d4ed8; }
.g-sutun.ust rect { fill: rgba(47, 125, 209, .06); }
.g-ipucu { position: absolute; top: -6px; width: 140px; background: #111827; color: #fff; border-radius: 6px; padding: 8px 10px; pointer-events: none; font-size: 12px; box-shadow: var(--golge); }
.g-ipucu b, .g-ipucu span { display: block; }
.g-ipucu span { font-size: 15px; font-weight: 700; margin: 2px 0; }
.g-ipucu small { color: #cbd5e1; }

@media (max-width: 1300px) { .fin-kartlar { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .fin-kartlar, .fin-kartlar.uc { grid-template-columns: 1fr 1fr; } }
.sefer-tablo .islemler .i-wa svg { stroke: #0e9f6e; }
button.b-wa svg { stroke: #fff; }

/* ===== Telefon ve tablet uyumu ===== */
.ikili > *, .ikili.esit > * { min-width: 0; } /* içindeki tablolar sayfayı yana taşırmasın */
.uyari-serit { display: block; line-height: 1.5; }
.uyari-serit svg { display: inline-block; vertical-align: -4px; margin-right: 6px; }
.sekmeler { scrollbar-width: none; }
.sekmeler::-webkit-scrollbar { display: none; }

@media (max-width: 760px) {
  body { font-size: 14px; }


  main { padding: 12px; }
  .kart { margin-bottom: 14px; }
  .kart > .kart-baslik { padding: 13px 16px; }
  .kart > .kart-baslik h2 { font-size: 15.5px; }
  .kart > .kart-govde { padding: 16px; }
  .ikili { gap: 0; }

  /* Sayfa başlığı ve filtreler alt alta, tam genişlik */
  .sayfa-baslik { margin: 6px 2px 14px; gap: 10px; }
  .sayfa-baslik h1 { font-size: 21px; }
  .sayfa-baslik .filtre { width: 100%; gap: 8px; }
  .sayfa-baslik .filtre select, .sayfa-baslik .filtre input { width: 100% !important; height: 40px; }
  .sayfa-baslik .filtre input[type="date"] { width: calc(50% - 4px) !important; }
  .sayfa-baslik .filtre button { flex: 1 1 auto; justify-content: center; height: 40px; }
  .sayfa-aciklama { margin: -6px 2px 12px; }
  .sefer-sayfa .sayfa-baslik .satir { width: 100%; }

  /* Dashboard */
  .dash-ust { margin: 2px 2px 14px; }
  .dash-ust h1 { font-size: 20px; }
  .dash-ust .buton-link { width: 100%; justify-content: center; }
  .istatistikler { grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
  .istatistik { min-height: 0; padding: 14px; }
  .istatistik .baslik { font-size: 11px; letter-spacing: .03em; }
  .istatistik .sayi { font-size: 24px; margin: 6px 0 2px; }
  .istatistik .not { font-size: 11px; }
  .istatistik .ikon, .mini-grafik { display: none; }
  .gun-satir { padding: 12px 16px; gap: 10px; grid-template-columns: 52px 1fr auto; }
  .gun-satir .saat { font-size: 15px; }

  /* Sefer listesi: tablo yerine kart görünümü */
  .sefer-tablo { min-width: 0; }
  .sefer-tablo tr:first-child { display: none; }
  .sefer-tablo tr { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; padding: 14px 16px; border-bottom: 1px solid var(--cizgi); }
  .sefer-tablo td { display: block; padding: 0; border: 0; font-size: 13.5px; }
  .sefer-tablo td:nth-child(1) { grid-area: 1 / 2; text-align: right; color: var(--soluk); font-size: 12px; }
  .sefer-tablo td:nth-child(2) { grid-area: 1 / 1; min-width: 0; }
  .sefer-tablo td:nth-child(3) { grid-area: 2 / 1; }
  .sefer-tablo td:nth-child(4) { grid-area: 2 / 2; text-align: right; color: var(--soluk); }
  .sefer-tablo td:nth-child(4)::after { content: " kişi"; }
  .sefer-tablo td:nth-child(5) { grid-area: 3 / 1 / 4 / 3; }
  .sefer-tablo td:nth-child(5) .plaka, .sefer-tablo td:nth-child(5) .sofor { display: inline; margin-right: 6px; }
  .sefer-tablo td:nth-child(6) { display: none; }
  .sefer-tablo td:nth-child(7) { grid-area: 4 / 1 / 5 / 3; }
  .sefer-tablo .yer span, .sefer-tablo .zaman { white-space: normal; }
  .sefer-tablo .yer { line-height: 1.45; align-items: flex-start; }
  .sefer-tablo .yer svg { margin-top: 3px; }
  .sefer-tablo .zaman { line-height: 1.5; }
  .sefer-tablo .islemler { gap: 8px; border-top: 1px dashed var(--cizgi); padding-top: 8px; margin-top: 2px; }
  .sefer-tablo .islemler button { padding: 7px; }
  .sefer-tablo .islemler svg { width: 20px; height: 20px; }
  .sefer-tablo .etiket { margin-top: 0; }
  .sayfalama { padding: 12px 16px; }

  /* Liste sayfaları: tablo kendi içinde kayar */
  .liste-tablo th, .liste-tablo td { padding: 10px 12px; white-space: nowrap; }

  /* Finans */
  .fin-kartlar, .fin-kartlar.uc { gap: 10px; }
  .fin-kart { padding: 12px 14px; }
  .fin-kart b { font-size: 17px; }
  .fin-filtre select, .fin-filtre input { width: 100% !important; }
  .fin-toplam { margin-left: 0; width: 100%; }
  .toplu-cubuk { padding: 10px 16px; }

  /* Sefer özeti */
  .ozet-izgara { gap: 0; }
  .bilgi-satir { font-size: 13.5px; }

  /* Açılır pencereler ekrana sığsın */
  dialog { width: 96vw !important; }
  dialog .p-govde { padding: 16px; }
  .izgara .genis { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .giris-form-alan { order: -1; padding: 28px 16px 20px; }
  .giris-tanitim { padding: 22px 20px 26px; gap: 10px; }
  .giris-tanitim h1 { font-size: 19px; margin: 0; }
  .giris-tanitim ul, .giris-tanitim small { display: none; }
  .giris-kart { padding: 26px 22px; }
}
@media (max-width: 860px) {
  .giris-sayfa2 { grid-template-rows: auto auto; align-content: start; background: var(--zemin); }
  .giris-form-alan { place-items: start center; }
  .giris-tanitim { margin: 0 16px 24px; border-radius: 12px; }
}
.alt-satir { display: block; color: var(--soluk); font-size: 12px; margin-top: 3px; }
.ceza-btn { display: inline-flex; gap: 4px; padding: 2px 0; }
.ceza-btn:hover { background: none; }
.donuyor svg { animation: don 0.9s linear infinite; }
@keyframes don { to { transform: rotate(360deg); } }
.uyari-serit.sari { background: var(--uyari-zemin); color: #7c4a03; }
.uyari-serit.sari svg { stroke: #d97706; }

/* ===== Yeni sefer ekranı v2: numaralı adımlar, sade düzen ===== */
.sefer-sayfa { max-width: 1000px; }
.sefer-form .kart-govde { padding: 6px 22px 4px; }
.ipucu-serit { background: #eef4fd; color: #1e3a8a; border-radius: 6px; padding: 9px 14px; margin-bottom: 14px; font-size: 13px; }
.adim { padding: 18px 0 20px; border-bottom: 1px solid #eef0f3; }
.adim.son { border-bottom: 0; }
.adim-baslik { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.adim-baslik h4 { margin: 0; font-size: 14.5px; font-weight: 600; }
.adim-no { width: 24px; height: 24px; border-radius: 50%; background: #e0e7ff; color: #4338ca; font-size: 12.5px; font-weight: 700; display: grid; place-items: center; flex: none; }
.adim-sag { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.sure-rozet { background: #f1f5f9; color: #475569; border-radius: 99px; padding: 2px 10px; font-size: 12px; }
.sure-rozet:empty { display: none; }

.arac-izgara { display: grid; grid-template-columns: 220px 1fr; gap: 12px; }
.zaman-izgara { display: grid; grid-template-columns: 1fr 120px 24px 1fr 120px; gap: 12px; align-items: end; }
.zaman-ok { text-align: center; color: #9ca3af; padding-bottom: 6px; font-size: 16px; }

.guzergah-izgara { display: grid; grid-template-columns: 1fr 40px 1fr; gap: 10px; align-items: center; }
.yer-kutu { background: #f8f9fb; border: 1px solid #eef0f3; border-radius: 8px; padding: 12px; align-self: stretch; }
.yer-kutu-baslik { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13px; margin-bottom: 10px; }
.yer-nokta { width: 10px; height: 10px; border-radius: 50%; }
.yer-nokta.bas { background: #16a34a; box-shadow: 0 0 0 3px #dcfce7; }
.yer-nokta.bit { background: #dc2626; box-shadow: 0 0 0 3px #fee2e2; }
button.ters-btn { width: 36px; height: 36px; border-radius: 50%; padding: 0; justify-content: center; background: #fff; border: 1px solid #d1d5db; color: #4b5563; font-size: 15px; justify-self: center; }
button.ters-btn:hover { background: #eef4fd; color: #1d4ed8; border-color: #93c5fd; }

/* İçe aktar açılır menüsü */
.acilir-menu { position: relative; }
.acilir-menu summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; padding: 5px 10px; font-size: 12px; font-weight: 500;
  border-radius: 4px; background: #eef0f4; color: var(--yazi); user-select: none; }
.acilir-menu summary::-webkit-details-marker { display: none; }
.acilir-menu summary svg { width: 13px; height: 13px; }
.acilir-menu[open] summary { background: #e2e5eb; }
.acilir-icerik { position: absolute; right: 0; top: calc(100% + 4px); background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgba(16, 24, 40, .16); padding: 6px; z-index: 20; min-width: 230px; }
.acilir-icerik button { display: flex; width: 100%; background: none; color: var(--yazi); font-size: 13px; padding: 9px 10px; border-radius: 6px; gap: 8px; font-weight: 400; }
.acilir-icerik button:hover { background: #f3f4f6; }
.acilir-icerik button svg { width: 15px; height: 15px; stroke: #4b5563; }

/* Yolcu satırları: masaüstünde başlıklı tablo düzeni */
.kisi-baslik { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 31px; gap: 8px; padding: 0 2px 6px; font-size: 11px; font-weight: 600; color: var(--soluk); text-transform: uppercase; letter-spacing: .03em; }
.kisi-satir .kisi-no { display: none; }

.ucret-izgara { display: grid; grid-template-columns: 180px 1fr; gap: 12px; }
.ucret-izgara .tam { grid-column: 1 / -1; }

/* Kaydet çubuğu: uzun formda hep görünür */
.alt-cubuk.yapiskan { position: sticky; bottom: 0; z-index: 15; background: #fff; border-top: 1px solid var(--cizgi); padding: 12px 22px; margin: 0;
  border-radius: 0 0 6px 6px; box-shadow: 0 -6px 16px rgba(16, 24, 40, .05); }
.alt-ozet { margin-right: auto; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.alt-ozet b { font-size: 13px; font-weight: 600; }
.alt-ozet .uyari-metin { font-size: 12px; }

@media (max-width: 760px) {
  .sefer-form .kart-govde { padding: 2px 14px 4px; }
  .sefer-sayfa .sayfa-baslik h1 { font-size: 19px; }
  .sefer-sayfa .sayfa-baslik .satir button { flex: 1; justify-content: center; }
  .adim { padding: 16px 0; }
  .adim-sag { margin-left: 0; width: 100%; }
  .adim-sag > * { flex: 1; }
  .adim-sag summary, .adim-sag button { width: 100%; justify-content: center; padding: 9px 10px; font-size: 13px; }
  .acilir-icerik { left: 0; right: auto; }
  .arac-izgara, .ucret-izgara { grid-template-columns: 1fr; }
  .zaman-izgara { grid-template-columns: 1fr 1fr; }
  .zaman-ok { display: none; }
  .guzergah-izgara { grid-template-columns: 1fr; gap: 8px; }
  button.ters-btn { transform: rotate(90deg); }
  .sefer-sayfa input:not([type="checkbox"]):not([type="file"]), .sefer-sayfa select { height: 40px; font-size: 14px; }

  /* Telefonda her yolcu ayrı kart */
  .kisi-baslik { display: none !important; }
  .kisi-liste { gap: 10px; }
  .kisi-satir.yolcu { grid-template-columns: 1fr 1fr; position: relative; background: #f8f9fb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 10px; gap: 8px; }
  .kisi-satir.yolcu .kisi-no { display: block; grid-column: 1 / -1; font-size: 12px; font-weight: 600; color: #4338ca; line-height: 24px; }
  .kisi-satir.yolcu [data-alan="kimlikNo"] { grid-column: 1 / -1; }
  .kisi-satir.yolcu .sil-btn { position: absolute; top: 6px; right: 6px; width: 30px; height: 30px; }

  .alt-cubuk.yapiskan { padding: 10px 14px; gap: 8px; }
  .alt-cubuk.yapiskan .alt-ozet { width: 100%; }
  .alt-cubuk.yapiskan button { flex: 1; width: auto; padding: 11px 0; font-size: 14px; }
}

/* ===================== Modern bileşenler ===================== */
:root { --ana-renk: #4f46e5; --ana-koyu: #4338ca; --ana-acik: #eef2ff; --kenar: #e5e7eb; --kenar-koyu: #d1d5db; --halka: 0 0 0 3px rgba(79, 70, 229, .15); }

button.b-ana { background: var(--ana-renk); color: #fff; border-radius: 8px; padding: 10px 18px; font-weight: 600; box-shadow: 0 1px 2px rgba(16, 24, 40, .08); }
button.b-ana:hover { background: var(--ana-koyu); }
button.b-ana.kucuk { padding: 7px 12px; font-size: 13px; }
button.b-cizgi, summary.b-cizgi { background: #fff; color: #374151; border: 1px solid var(--kenar-koyu); border-radius: 8px; padding: 8px 14px; font-weight: 500; font-size: 13px; }
button.b-cizgi:hover, summary.b-cizgi:hover { background: #f9fafb; border-color: #9ca3af; }
button.b-cizgi svg, summary.b-cizgi svg { width: 15px; height: 15px; stroke: currentColor; }

/* Aranabilir seçim kutusu */
.zs { position: relative; }
.zs-gizli { display: none !important; }
.zs-dugme { width: 100%; height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 8px; background: #fff; color: var(--yazi);
  border: 1px solid var(--kenar-koyu); border-radius: 8px; padding: 0 10px 0 12px; font: inherit; font-size: 14px; font-weight: 400; text-align: left; cursor: pointer; }
.zs-dugme:hover { background: #fff; border-color: #9ca3af; }
.zs-dugme:focus-visible, .zs.acik .zs-dugme { outline: none; border-color: var(--ana-renk); box-shadow: var(--halka); }
.zs-dugme svg { width: 16px; height: 16px; stroke: #9ca3af; flex: none; transition: transform .15s; }
.zs.acik .zs-dugme svg { transform: rotate(180deg); }
.zs-deger { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zs.zs-secilmedi .zs-deger { color: #9ca3af; }
.zs.eksik .zs-dugme { border-color: #f87171; background: #fff5f5; }
.zs-dugme:disabled { background: #f3f4f6; cursor: default; }
.zs-panel { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 40; min-width: 240px; background: #fff; border: 1px solid var(--kenar);
  border-radius: 10px; box-shadow: 0 12px 32px rgba(16, 24, 40, .14), 0 2px 6px rgba(16, 24, 40, .06); overflow: hidden; }
.zs.acik .zs-panel { display: block; animation: zs-ac .12s ease-out; }
.zs.yukari .zs-panel { top: auto; bottom: calc(100% + 4px); }
@keyframes zs-ac { from { opacity: 0; transform: translateY(-4px); } }
.zs-ara-kap { padding: 8px; border-bottom: 1px solid #f1f2f4; }
.zs-ara { width: 100%; height: 36px; border: 1px solid var(--kenar); border-radius: 7px; padding: 0 10px 0 32px; font-size: 13.5px;
  background: #f9fafb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 10px center / 15px; }
.zs-ara:focus { outline: none; border-color: var(--ana-renk); background-color: #fff; box-shadow: var(--halka); }
.zs-liste { max-height: 260px; overflow-y: auto; padding: 4px; }
.zs-oge { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border-radius: 6px; cursor: pointer; font-size: 13.5px; }
.zs-oge small { color: var(--soluk); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zs-oge.isaretli { background: #f3f4f6; }
.zs-oge.secili { color: var(--ana-koyu); font-weight: 600; background: var(--ana-acik); }
.zs-oge.secili::after { content: "✓"; margin-left: auto; }
.zs-oge .plaka-rozet { font-size: 12px; }
.zs-grup { padding: 8px 10px 4px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #9ca3af; }
.zs-bos { padding: 14px 10px; color: var(--soluk); font-size: 13px; text-align: center; }
.zs-ekle { width: 100%; background: #f9fafb; color: var(--ana-koyu); border-top: 1px solid #f1f2f4; border-radius: 0; padding: 10px; font-size: 13px; font-weight: 600; justify-content: center; }
.zs-ekle:hover { background: var(--ana-acik); }
.zs-oneri input { width: 100%; }

/* Açma/kapama anahtarı */
.anahtar { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 10px; cursor: pointer; }
.anahtar input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.anahtar-ray { width: 38px; height: 22px; border-radius: 99px; background: #d1d5db; position: relative; flex: none; transition: background .15s; margin-top: 1px; }
.anahtar-ray::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: left .15s; }
.anahtar input:checked + .anahtar-ray { background: var(--ana-renk); }
.anahtar input:checked + .anahtar-ray::after { left: 19px; }
.anahtar input:focus-visible + .anahtar-ray { box-shadow: var(--halka); }
.anahtar-metin b { display: block; font-size: 13.5px; font-weight: 600; color: var(--yazi); }
.anahtar-metin small { color: var(--soluk); font-size: 12px; font-weight: 400; }

/* ===================== Yeni sefer ekranı v3 ===================== */
.sefer-sayfa.v3 { max-width: 1240px; font-size: 14px; }
.sefer-sayfa.v3 .sayfa-baslik { margin: 4px 0 16px; }
.sefer-sayfa.v3 .sayfa-baslik h1 { font-size: 24px; font-weight: 700; letter-spacing: -.01em; }
.sefer-sayfa.v3 .ipucu-serit { border: 1px solid #dbe5fb; border-radius: 10px; }
.sefer-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; }
.sefer-ana { display: grid; gap: 16px; min-width: 0; }

.adim-kart { background: #fff; border: 1px solid #eceef2; border-radius: 12px; padding: 18px 20px 20px; box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
.kart-ust { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.kart-ikon { width: 34px; height: 34px; border-radius: 9px; background: var(--ana-acik); display: grid; place-items: center; flex: none; }
.kart-ikon svg { width: 18px; height: 18px; stroke: var(--ana-renk); }
.kart-ust-metin h4 { margin: 0; font-size: 15px; font-weight: 600; }
.kart-ust-metin p { margin: 2px 0 0; color: var(--soluk); font-size: 12.5px; }
.kart-ust .adim-sag { margin-left: auto; display: flex; gap: 8px; align-items: center; }

/* Kutular */
.sefer-sayfa.v3 label { font-size: 12.5px; color: #374151; font-weight: 500; gap: 6px; }
.sefer-sayfa.v3 label > span small, .sefer-sayfa.v3 label small { font-size: 11.5px; color: #9ca3af; font-weight: 400; margin-left: 2px; }
.sefer-sayfa.v3 input:not([type="checkbox"]):not([type="file"]):not(.zs-ara), .sefer-sayfa.v3 textarea {
  height: 40px; font-size: 14px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--kenar-koyu); background: #fff; transition: border-color .12s, box-shadow .12s; }
.sefer-sayfa.v3 input:not([type="checkbox"]):not(.zs-ara):hover { border-color: #9ca3af; }
.sefer-sayfa.v3 input:not([type="checkbox"]):not(.zs-ara):focus { outline: none; border-color: var(--ana-renk); box-shadow: var(--halka); }
.sefer-sayfa.v3 .eksik { border-color: #f87171 !important; background: #fff5f5 !important; }
.sefer-sayfa.v3 .para input { padding-left: 28px !important; }
.sefer-sayfa.v3 .para span { left: 12px; font-size: 14px; }

.arac-izgara { grid-template-columns: 1fr 1fr; gap: 14px; }
.zaman-izgara { grid-template-columns: 1fr 130px 22px 1fr 130px; gap: 12px; }
.sure-rozet { background: #ecfdf5; color: #047857; font-weight: 500; }
.personel-cipler:not(:empty) { margin-top: 12px; }
.p-cip { border-radius: 99px; padding: 5px 6px 5px 12px; border-color: #c7d2fe; background: var(--ana-acik); }
.p-cip b { color: var(--ana-koyu); }

.yer-kutu { background: #fafbfc; border: 1px solid #eceef2; border-radius: 10px; padding: 14px; }
.yer-kutu .izgara2 { gap: 10px; }
button.ters-btn { width: 38px; height: 38px; box-shadow: 0 1px 3px rgba(16, 24, 40, .1); }
.sefer-sayfa.v3 button.cip { border-radius: 99px; padding: 4px 11px; font-size: 12px; }

/* Yolcular */
.kisi-baslik { grid-template-columns: 1fr 1fr 1.1fr 1.1fr 120px 36px; padding: 0 4px 8px; }
.kisi-satir.yolcu { grid-template-columns: 1fr 1fr 1.1fr 1.1fr 120px 36px; gap: 8px; }
.kisi-satir .sil-btn { width: 36px; height: 40px; border-radius: 8px; border-color: #fee2e2; }
.bos-satir { border: 1.5px dashed #e5e7eb; border-radius: 10px; padding: 18px; text-align: center; color: #9ca3af; font-size: 13px; }
.acilir-menu summary.b-cizgi { padding: 7px 12px; gap: 6px; }
.acilir-menu summary svg:last-child { width: 14px; height: 14px; }

.ucret-izgara { grid-template-columns: 200px 1fr; gap: 14px; }

/* Sağ özet paneli */
.sefer-yan { position: sticky; top: 16px; }
.ozet-kart { background: #fff; border: 1px solid #eceef2; border-radius: 12px; padding: 18px; box-shadow: 0 4px 16px rgba(16, 24, 40, .06); display: grid; gap: 14px; }
.ozet-kart h4 { margin: 0; font-size: 15px; font-weight: 600; }
.ozet-liste { margin: 0; display: grid; gap: 0; }
.oz-satir { display: grid; grid-template-columns: 74px 1fr; gap: 8px; padding: 8px 0; border-bottom: 1px solid #f3f4f6; font-size: 13px; }
.oz-satir:last-child { border-bottom: 0; }
.oz-satir dt { color: var(--soluk); }
.oz-satir dd { margin: 0; font-weight: 500; min-width: 0; word-break: break-word; }
.oz-satir .plaka-rozet { font-size: 12px; }
.oz-bas, .oz-bit { display: block; position: relative; padding-left: 14px; }
.oz-bas::before, .oz-bit::before { content: ""; position: absolute; left: 0; top: 6px; width: 7px; height: 7px; border-radius: 50%; }
.oz-bas::before { background: #16a34a; }
.oz-bit::before { background: #dc2626; }
.oz-bit { margin-top: 4px; }
.ozet-alt { display: grid; gap: 4px; }
.ozet-alt b { font-size: 12.5px; color: var(--soluk); font-weight: 500; }
.ozet-alt .uyari-metin { font-size: 12px; line-height: 1.4; }
.ozet-alt .uyari-metin:empty { display: none; }
.ozet-butonlar { display: grid; grid-template-columns: 1fr 2fr; gap: 8px; }
.ozet-butonlar button { justify-content: center; height: 42px; }

@media (max-width: 1080px) {
  .sefer-duzen { grid-template-columns: 1fr; }
  .sefer-yan { position: sticky; bottom: 0; top: auto; z-index: 30; margin: 0 -12px; }
  .ozet-kart { border-radius: 14px 14px 0 0; box-shadow: 0 -8px 24px rgba(16, 24, 40, .1); padding: 12px 14px; gap: 10px; }
  .ozet-kart h4, .ozet-liste { display: none; }
  .anahtar-metin small { display: none; }
}
@media (max-width: 760px) {
  .sefer-sayfa.v3 .sayfa-baslik h1 { font-size: 20px; }
  .adim-kart { padding: 14px; border-radius: 12px; }
  .kart-ust { gap: 10px; margin-bottom: 12px; }
  .kart-ust .adim-sag { margin-left: 0; width: 100%; }
  .kart-ust .adim-sag > * { flex: 1; }
  .kart-ust .adim-sag summary, .kart-ust .adim-sag button { width: 100%; justify-content: center; height: 40px; }
  .arac-izgara, .ucret-izgara { grid-template-columns: 1fr; }
  .zaman-izgara { grid-template-columns: 1fr 1fr; }
  .kisi-satir.yolcu { grid-template-columns: 1fr 1fr; padding: 12px; background: #fafbfc; }
  .kisi-satir.yolcu .zs { min-width: 0; }
  .kisi-satir .sil-btn { height: 32px; width: 32px; }
}
.sayfa-baslik .filtre .filtre-zs { width: 220px; }
.sayfa-baslik .filtre .filtre-zs .zs-dugme { height: 42px; }
@media (max-width: 760px) { .sayfa-baslik .filtre .filtre-zs { width: 100%; } }
.oz-bas small, .oz-bit small { display: block; color: var(--soluk); font-weight: 400; font-size: 12px; margin-top: 1px; }
.oz-bas b, .oz-bit b { font-weight: 600; }

/* ===================================================================
   v4: Tüm panelde ortak modern görünüm (yeni sefer ekranıyla aynı dil)
   =================================================================== */
:root {
  --ana: #4f46e5; --ana-koyu: #4338ca; --mor: #4f46e5; --aktif-zemin: #eef2ff;
  --zemin: #f5f6fa; --yazi: #111827; --soluk: #6b7280; --cizgi: #eceef2;
  --golge: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .04);
  --golge-buyuk: 0 12px 32px rgba(16, 24, 40, .14), 0 2px 6px rgba(16, 24, 40, .06);
  --yaricap: 12px;
}
body { background: var(--zemin); color: var(--yazi); -webkit-font-smoothing: antialiased; }
a { color: var(--ana); }
main { max-width: 1440px; padding: 24px 28px 40px; }

/* ---- Üst başlık ---- */
.ust { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; gap: 20px; height: 64px; padding: 0 24px;
  background: rgba(255, 255, 255, .94); backdrop-filter: saturate(180%) blur(10px); border-bottom: 1px solid var(--cizgi); }
.ust .marka { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 16px; color: var(--yazi); letter-spacing: -.01em; white-space: nowrap; flex: none; max-width: 240px; }
.ust .marka:hover { text-decoration: none; }
.ust .marka > span:last-child { overflow: hidden; text-overflow: ellipsis; }
.ust .logo { width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(135deg, #6366f1, #4338ca); color: #fff; display: grid; place-items: center; flex: none; box-shadow: 0 4px 10px rgba(79, 70, 229, .3); }
.ust .logo svg { width: 19px; height: 19px; }
.ust-menu { display: flex; align-items: center; gap: 2px; flex: 1; min-width: 0; }
.ust-menu > a, .menu-oge > a { display: flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 9px; color: #4b5563; font-weight: 500; font-size: 14px; white-space: nowrap; }
.ust-menu > a:hover, .menu-oge > a:hover { background: #f3f4f6; color: var(--yazi); text-decoration: none; }
.ust-menu a svg { width: 18px; height: 18px; stroke: currentColor; flex: none; }
.ust-menu a.aktif { background: var(--aktif-zemin); color: var(--ana); font-weight: 600; }
.ust-menu a .yakinda { font-size: 10px; color: var(--soluk); }
.menu-oge { position: relative; display: flex; }
.alt-menu { position: absolute; top: calc(100% + 6px); left: 0; background: #fff; border: 1px solid var(--cizgi); border-radius: 12px; box-shadow: var(--golge-buyuk); min-width: 210px; padding: 6px; z-index: 60; display: none; }
.alt-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px; }
.menu-oge:hover .alt-menu, .menu-oge.acik .alt-menu { display: block; }
.alt-menu a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 8px; color: var(--yazi); font-size: 14px; }
.alt-menu a:hover { background: #f3f4f6; text-decoration: none; }
.alt-menu a svg { stroke: var(--ana); }
.ust-sag { display: flex; align-items: center; gap: 14px; flex: none; }
.lisans { font-size: 12.5px; color: var(--soluk); white-space: nowrap; }
.lisans:empty { display: none; }
.lisans > span { display: inline-flex; align-items: center; gap: 4px; background: #f3f4f6; border-radius: 99px; padding: 5px 11px; }
.lisans b { color: var(--yazi); font-weight: 600; }
.lisans .yakin { background: #fff7ed; color: #9a3412; }
.lisans .yakin b { color: #c2410c; }
.kullanici-kutu { position: relative; display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 5px 8px 5px 5px; border-radius: 99px; }
.kullanici-kutu:hover { background: #f3f4f6; }
.avatar { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, #e0e7ff, #ede9fe); color: var(--ana-koyu); font-weight: 700; font-size: 12.5px; display: grid; place-items: center; flex: none; }
.kullanici-metin { line-height: 1.25; min-width: 0; }
.kullanici-kutu .ad { font-weight: 600; font-size: 13.5px; white-space: nowrap; max-width: 160px; overflow: hidden; text-overflow: ellipsis; }
.kullanici-kutu .alt { font-size: 12px; color: var(--soluk); }
.kullanici-kutu .ok-isaret svg { width: 15px; height: 15px; stroke: #9ca3af; display: block; }
.acilir { position: absolute; right: 0; top: calc(100% + 8px); background: #fff; border: 1px solid var(--cizgi); border-radius: 12px; box-shadow: var(--golge-buyuk); min-width: 230px; z-index: 60; padding: 6px; cursor: default; }
.acilir button { display: flex; width: 100%; text-align: left; background: none; color: var(--yazi); padding: 9px 12px; border-radius: 8px; font-weight: 500; box-shadow: none; border: 0; }
.acilir button:hover { background: #f3f4f6; }
.acilir .bilgi { padding: 8px 12px 10px; font-size: 12.5px; color: var(--soluk); border-bottom: 1px solid var(--cizgi); margin-bottom: 4px; line-height: 1.5; }

@media (max-width: 1360px) {
  .ust { gap: 12px; padding: 0 16px; }
  .ust-menu > a, .menu-oge > a { padding: 8px 9px; gap: 6px; font-size: 13.5px; }
  .lisans { display: none; }
}
@media (max-width: 1180px) {
  .kullanici-metin { display: none; }
  .ust .marka { max-width: 170px; }
}

/* ---- Butonlar ---- */
button { border-radius: 9px; padding: 9px 16px; font-weight: 600; font-size: 14px; background: var(--ana); color: #fff; transition: background .12s, border-color .12s, box-shadow .12s; }
button:hover { background: var(--ana-koyu); }
button:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(79, 70, 229, .25); }
button.mor, button.b-mor, button.b-ana, #kaydetBtn.b-mor { background: var(--ana); color: #fff; font-size: 14px; box-shadow: 0 1px 2px rgba(16, 24, 40, .08); }
button.mor:hover, button.b-mor:hover, button.b-ana:hover, #kaydetBtn.b-mor:hover { background: var(--ana-koyu); }
button.koyu, button.ikincil, button.b-gri, button.b-mavi, button.b-cizgi, button.b-yesil, summary.b-cizgi {
  background: #fff; color: #374151; border: 1px solid #d1d5db; box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
button.koyu:hover, button.ikincil:hover, button.b-gri:hover, button.b-mavi:hover, button.b-cizgi:hover, button.b-yesil:hover, summary.b-cizgi:hover { background: #f9fafb; border-color: #9ca3af; }
button.koyu svg, button.ikincil svg, button.b-gri svg { stroke: #6b7280; }
button.b-yesil svg { stroke: #16a34a; }
button.b-mavi svg { stroke: #2563eb; }
button.b-wa { background: #16a34a; color: #fff; border: 1px solid #16a34a; }
button.b-wa:hover { background: #15803d; }
button.tehlike { background: #fff; color: #b91c1c; border: 1px solid #fecaca; }
button.tehlike:hover { background: #fef2f2; border-color: #f87171; }
button.tehlike svg { stroke: #dc2626; }
dialog .p-alt button.tehlike { background: #dc2626; color: #fff; border-color: #dc2626; }
button.metin { background: none; color: var(--ana); padding: 5px 8px; border: 0; box-shadow: none; font-weight: 600; }
button.metin:hover { background: var(--aktif-zemin); }
button.metin.kirmizi { color: #b91c1c; }
button.metin.kirmizi:hover { background: #fef2f2; }
button.kucuk { padding: 6px 11px; font-size: 13px; border-radius: 8px; }
button.kucuk-b { height: 36px; padding: 0 13px; font-size: 13px; border-radius: 8px; }
button.kucuk-b svg { width: 15px; height: 15px; }
button.buyuk { padding: 12px 24px; font-size: 15px; }
a.buton-link { border-radius: 9px; font-weight: 600; box-shadow: 0 1px 2px rgba(16, 24, 40, .08); }
.b-mor-l { background: var(--ana); }
.b-mor-l:hover { background: var(--ana-koyu); filter: none; }

/* ---- Form kutuları ---- */
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.zs-ara), select, textarea {
  border: 1px solid #d1d5db; border-radius: 9px; font-size: 14px; background: #fff; transition: border-color .12s, box-shadow .12s; }
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.zs-ara), select { height: 40px; padding: 0 12px; }
textarea { padding: 10px 12px; }
input:not([type="checkbox"]):not([type="radio"]):not(.zs-ara):hover, textarea:hover { border-color: #9ca3af; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--ana); box-shadow: 0 0 0 3px rgba(79, 70, 229, .15); }
input::placeholder, textarea::placeholder { color: #9ca3af; }
input:disabled, textarea:disabled { background: #f3f4f6; color: #6b7280; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--ana); width: 16px; height: 16px; }
input[type="date"], input[type="time"] { font-variant-numeric: tabular-nums; }
label { font-size: 12.5px; color: #374151; font-weight: 500; gap: 6px; }
label.yatay { font-size: 14px; }
.izgara { gap: 14px; }

/* ---- Sayfa başlıkları ---- */
.sayfa-baslik { margin: 4px 0 20px; }
.sayfa-baslik h1 { font-size: 24px; font-weight: 700; letter-spacing: -.015em; }
.sayfa-aciklama { margin: -10px 0 18px; color: var(--soluk); }
.sayfa-baslik .filtre input, .sayfa-baslik .filtre select, .sayfa-baslik .filtre button { height: 40px; }
.sayfa-baslik .filtre .filtre-zs .zs-dugme { height: 40px; }
.dash-ust h1 { font-size: 24px; font-weight: 700; letter-spacing: -.015em; }

/* ---- Kartlar ---- */
.kart { border-radius: var(--yaricap); border: 1px solid var(--cizgi); box-shadow: var(--golge); margin-bottom: 20px; }
.kart > .kart-baslik { padding: 16px 20px; border-bottom: 1px solid #f1f2f5; }
.kart > .kart-baslik h2 { font-size: 16px; font-weight: 600; letter-spacing: -.005em; }
.kart > .kart-govde { padding: 20px; }
.kart > .tablo-kap:last-child { border-radius: 0 0 var(--yaricap) var(--yaricap); }
.kart > .tablo-kap:first-child { border-radius: var(--yaricap) var(--yaricap) 0 0; }
.kart > .tablo-kap:only-child { border-radius: var(--yaricap); }
.ikili { gap: 20px; }
.sefer-sayfa .kart { border-radius: var(--yaricap); box-shadow: var(--golge); }

/* ---- Tablolar ---- */
th { background: #f9fafb; color: #6b7280; font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--cizgi); }
td { border-bottom: 1px solid #f1f2f5; }
tr:last-child > td { border-bottom: 0; }
.sefer-tablo th, .liste-tablo th { background: #f9fafb; font-size: 11.5px; color: #6b7280; border-bottom: 1px solid var(--cizgi); }
.sefer-tablo td { border-bottom: 1px solid #f1f2f5; }
.sefer-tablo tr:hover td, .liste-tablo tr:hover td { background: #fafbff; }
.sefer-tablo .islemler button, .liste-tablo .islemler button { background: none; border: 0; box-shadow: none; padding: 6px; border-radius: 8px; }
.sefer-tablo .islemler button:hover, .liste-tablo .islemler button:hover { background: #f3f4f6; }
.sefer-tablo .islemler .i-pdf { padding: 6px 8px; }
.sayfalama { border-top: 1px solid #f1f2f5; font-size: 13px; }
.bos { color: #9ca3af; padding: 36px 10px; }

/* ---- Rozetler ---- */
.etiket { border-radius: 99px; padding: 3px 10px; font-size: 12px; font-weight: 600; }
.etiket.e-gri { background: #f3f4f6; color: #4b5563; }
.sayac { background: var(--aktif-zemin); color: var(--ana-koyu); }
.plaka-rozet { border-radius: 6px; }

/* ---- Sekmeler: bölümlü düğme görünümü ---- */
.sekmeler { display: inline-flex; gap: 2px; margin: -6px 0 16px; padding: 4px; border: 0; background: #eceef3; border-radius: 11px; max-width: 100%; }
.sekme, a.sekme { background: none; color: #4b5563; border: 0; border-radius: 8px; padding: 7px 14px; margin: 0; font-size: 13.5px; font-weight: 500; box-shadow: none; }
.sekme:hover, a.sekme:hover { background: rgba(255, 255, 255, .6); color: var(--yazi); }
.sekme.aktif { background: #fff; color: var(--ana-koyu); font-weight: 600; box-shadow: 0 1px 3px rgba(16, 24, 40, .1); }
.sekme span { background: rgba(17, 24, 39, .06); }
.sekme.aktif span { background: var(--aktif-zemin); color: var(--ana-koyu); }

/* ---- Kutucuklar / uyarılar ---- */
.kutu { border-radius: 10px; padding: 12px 16px; border: 1px solid transparent; }
.kutu.sari { border-color: #fde68a; }
.kutu.yesil { border-color: #bbf7d0; }
.kutu.kirmizi { border-color: #fecaca; }
.kutu.mavi { background: #eef2ff; color: #3730a3; border-color: #dfe3fb; }
.uyari-serit { border-radius: 10px; border: 1px solid transparent; }
.uyari-serit.kirmizi { border-color: #fecaca; }
.uyari-serit.mavi { background: #eef2ff; color: #3730a3; border-color: #dfe3fb; }
.uyari-serit.mavi svg { stroke: var(--ana); }
.uyari-serit.sari { border-color: #fde68a; }
.ipucu-serit { background: #eef2ff; color: #3730a3; }

/* ---- Dashboard ---- */
.istatistik { border-radius: 14px; box-shadow: var(--golge); border: 1px solid rgba(16, 24, 40, .04); }
.hizli a { border-radius: 10px; background: #f8f9fc; border: 1px solid #f0f1f5; }
.hizli a:hover { background: #f1f3fa; border-color: #e2e5f0; }
.gun-satir:last-child { border-bottom: 0; }
.mini-kart { border-radius: var(--yaricap); border: 1px solid var(--cizgi); }

/* ---- Finans ---- */
.fin-kart { border-radius: var(--yaricap); border: 1px solid var(--cizgi); border-top: 3px solid #cbd5e1; }
.fin-kart.yesil { border-top-color: #16a34a; }
.fin-kart.sari { border-top-color: #f59e0b; }
.fin-kart.kirmizi { border-top-color: #dc2626; }
.fin-kart.mavi { border-top-color: var(--ana); }
.fin-kart.mavi b { color: var(--ana-koyu); }
.g-cubuk { fill: #6366f1; }
.g-sutun.ust .g-cubuk { fill: var(--ana-koyu); }
.g-sutun.ust rect { fill: rgba(79, 70, 229, .06); }
.toplu-cubuk { background: #eef2ff; border-color: #dfe3fb; }
.ilerleme span { background: linear-gradient(90deg, #6366f1, #4338ca); }

/* ---- Açılır pencereler ---- */
dialog { border-radius: 16px; border: 1px solid var(--cizgi); box-shadow: 0 24px 64px rgba(16, 24, 40, .22); }
dialog::backdrop { background: rgba(17, 24, 39, .45); backdrop-filter: blur(2px); }
dialog[open] { animation: pencere-ac .16s ease-out; }
@keyframes pencere-ac { from { opacity: 0; transform: translateY(8px) scale(.98); } }
dialog .p-baslik { padding: 18px 24px; font-size: 17px; font-weight: 700; letter-spacing: -.01em; border-bottom: 1px solid #f1f2f5; }
dialog .p-govde { padding: 20px 24px; }
dialog .p-alt { padding: 14px 24px; background: #f9fafb; border-top: 1px solid #f1f2f5; border-radius: 0 0 16px 16px; }

/* ---- Bildirimler ---- */
.bildirim-kutusu { right: 24px; bottom: 24px; }
.bildirim-kutusu div { border-radius: 10px; padding: 12px 16px 12px 14px; font-size: 14px; border-left: 4px solid #22c55e; box-shadow: var(--golge-buyuk); animation: bildirim-gel .2s ease-out; }
.bildirim-kutusu div.hata { background: #111827; border-left-color: #ef4444; }
@keyframes bildirim-gel { from { opacity: 0; transform: translateY(10px); } }

/* ---- Sefer özeti / detay ---- */
.sefer-sayfa.genis { max-width: 1240px; }
.sefer-sayfa .sayfa-baslik h1 { font-size: 22px; font-weight: 700; }
.sefer-sayfa .sayfa-baslik .satir { gap: 8px; }

/* ---- U-ETDS sayfası ---- */
.baglanti, .ip-kutu { border-radius: 10px; }
.ip-kutu .mono { color: var(--ana-koyu); }

/* ---- Giriş ekranı ---- */
.giris-tanitim { background: radial-gradient(900px 500px at 0% 0%, #6366f1 0%, transparent 60%), linear-gradient(150deg, #4338ca 0%, #4f46e5 50%, #7c3aed 100%); }
.giris-kart { border-radius: 16px; border: 1px solid var(--cizgi); }
.giris-kart button { height: 44px; font-size: 15px; }
.giris-kart input:not([type="checkbox"]) { height: 44px; }

/* ---- Seçim kutusu ---- */
.zs-dugme { border-radius: 9px; }
.ic-satir .zs { flex: 1; min-width: 0; }

/* ---- Telefon / tablet ---- */
@media (max-width: 1080px) {
  .ust { flex-wrap: wrap; height: auto; padding: 10px 14px 0; gap: 8px 12px; }
  .ust .marka { flex: 1; max-width: none; }
  .ust-sag { gap: 8px; }
  .ust-menu { order: 3; flex: 0 0 calc(100% + 28px); margin: 0 -14px; padding: 4px 10px 8px; overflow-x: auto; scrollbar-width: none; }
  .ust-menu::-webkit-scrollbar { display: none; }
  .ust-menu > a, .menu-oge > a { padding: 7px 10px; font-size: 13px; flex: none; }
  .alt-menu { display: none !important; }
  .kullanici-kutu .ok-isaret { display: none; }
}
@media (max-width: 760px) {
  main { padding: 14px 12px 28px; }
  .ust .marka { font-size: 15px; }
  .ust .logo { width: 30px; height: 30px; border-radius: 9px; }
  .avatar { width: 32px; height: 32px; }
  .sayfa-baslik h1, .dash-ust h1 { font-size: 21px; }
  .sekmeler { display: flex; overflow-x: auto; }
  .kart { margin-bottom: 14px; }
  .kart > .kart-baslik { padding: 13px 16px; }
  .kart > .kart-govde { padding: 16px; }
  dialog .p-baslik, dialog .p-govde, dialog .p-alt { padding-left: 16px; padding-right: 16px; }
  .bildirim-kutusu { left: 12px; right: 12px; bottom: 12px; }
  .bildirim-kutusu div { max-width: none; }
  .sefer-sayfa .sayfa-baslik .satir button { flex: 1 1 auto; justify-content: center; }
}

/* ---- Dashboard: bugünün seferleri (kart içinde kayan liste) ---- */
.sekmeler.mini { margin: 0 0 0 auto; padding: 3px; border-radius: 9px; }
.sekmeler.mini .sekme { padding: 4px 10px; font-size: 12.5px; border-radius: 7px; }
.sekmeler.mini .sekme span { font-size: 11px; padding: 0 6px; }
.gun-liste { max-height: 432px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #d1d5db transparent; }
.gun-satir .saat { display: flex; flex-direction: column; line-height: 1.15; }
.gun-satir .saat small { font-size: 10.5px; font-weight: 600; color: var(--ana); text-transform: uppercase; letter-spacing: .03em; margin-top: 3px; }
.gun-satir .saat small.yolda { color: #16a34a; }
.gun-satir.siradaki { background: #f8f8ff; box-shadow: inset 3px 0 0 var(--ana); }
.gun-satir.bitmis .saat, .gun-satir.bitmis .rota, .gun-satir.bitmis .arac { opacity: .55; }
@media (max-width: 760px) {
  .sekmeler.mini { order: 3; margin: 4px 0 0; width: 100%; }
  .gun-liste { max-height: 380px; }
}

/* ---- Üst menü: alt menü davranışı ---- */
.dar-oge { display: none !important; }
.menu-oge.kapali:not(.acik) .alt-menu { display: none; }
@media (max-width: 1080px) {
  .dar-oge { display: flex !important; }
  .menu-oge > a.alt-aktif { background: none; color: #4b5563; font-weight: 500; }
}
/* Filtre satırındaki seçim kutuları telefonda da solda yazı, sağda ok işaretiyle durur */
.sayfa-baslik .filtre .zs-dugme { justify-content: space-between; flex: none; }
@media (max-width: 760px) { .sayfa-baslik .filtre .zs { width: 100%; } }

/* ---- Bildirim zili ---- */
.zil { position: relative; }
.zil-btn { position: relative; width: 40px; height: 40px; padding: 0; justify-content: center; border-radius: 50%; background: none; color: #4b5563; border: 0; box-shadow: none; }
.zil-btn:hover { background: #f3f4f6; color: var(--yazi); }
.zil-btn svg { width: 20px; height: 20px; }
.zil-sayi { position: absolute; top: 4px; right: 3px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px; background: #ef4444; color: #fff;
  font-size: 10.5px; font-weight: 700; line-height: 17px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.zil-sayi:empty { display: none; }
.zil.var .zil-btn svg { animation: zil-salla 1.2s ease-in-out 2; transform-origin: 50% 10%; }
@keyframes zil-salla { 0%, 60%, 100% { transform: rotate(0); } 15% { transform: rotate(14deg); } 30% { transform: rotate(-12deg); } 45% { transform: rotate(6deg); } }
.bildirim-panel { width: 360px; padding: 0; overflow: hidden; }
.bp-ust { padding: 14px 16px; border-bottom: 1px solid var(--cizgi); font-size: 15px; }
.bp-liste { max-height: 400px; overflow-y: auto; }
.bp-liste .bos { padding: 28px 16px; }
.bp-alt { display: block; text-align: center; padding: 11px; border-top: 1px solid var(--cizgi); font-weight: 600; font-size: 13.5px; background: #fafbfc; }
.bp-alt:hover { background: var(--aktif-zemin); text-decoration: none; }
.bildirim-oge { display: flex; gap: 12px; padding: 12px 16px; border-bottom: 1px solid #f3f4f6; position: relative; }
.bildirim-oge:last-child { border-bottom: 0; }
.bildirim-oge .yuvarlak { width: 34px; height: 34px; border-radius: 50%; background: var(--aktif-zemin); display: grid; place-items: center; flex: none; }
.bildirim-oge .yuvarlak svg { width: 16px; height: 16px; stroke: var(--ana); }
.bildirim-oge b { font-size: 14px; font-weight: 600; display: block; }
.bildirim-oge p { margin: 3px 0 4px; color: #4b5563; font-size: 13.5px; line-height: 1.45; white-space: pre-line; }
.bildirim-oge small { color: var(--soluk); font-size: 12px; }
.bildirim-oge.yeni { background: #f8f8ff; }
.bildirim-oge.yeni::after { content: ""; position: absolute; right: 16px; top: 18px; width: 8px; height: 8px; border-radius: 50%; background: var(--ana); }
.bildirim-sayfa { max-width: 820px; }
.bildirim-sayfa .bildirim-oge { padding: 16px 20px; }
.bildirim-sayfa .bildirim-oge.yeni::after { right: 20px; }
@media (max-width: 760px) {
  .zil { position: static; }
  .bildirim-panel { position: fixed; left: 12px; right: 12px; top: 58px; width: auto; }
}

/* ---- Firma logosu ve profil sayfası ---- */
.ust .logo.firma-logo { width: auto; min-width: 34px; max-width: 150px; height: 38px; padding: 0; background: none; box-shadow: none; border-radius: 8px; }
.ust .logo.firma-logo img { height: 100%; max-width: 150px; object-fit: contain; display: block; }
.profil-izgara { display: grid; grid-template-columns: 1fr 1.4fr; gap: 20px; align-items: start; }
.logo-onizleme { height: 150px; border: 1.5px dashed #d1d5db; border-radius: 12px; display: grid; place-items: center; padding: 16px; margin-bottom: 12px;
  background: repeating-conic-gradient(#f3f4f6 0% 25%, #fff 0% 50%) 50% / 16px 16px; }
.logo-onizleme img { max-width: 100%; max-height: 116px; object-fit: contain; }
.ust .marka.logolu > span:last-child { display: none; }
.logo-bos { display: flex; flex-direction: column; align-items: center; gap: 6px; color: #9ca3af; font-size: 13px; background: #fff; padding: 12px 18px; border-radius: 10px; }
.logo-bos svg { width: 28px; height: 28px; stroke: #9ca3af; }
.profil-izgara textarea { height: auto; }
@media (max-width: 900px) {
  .profil-izgara { grid-template-columns: 1fr; }
}
@media (max-width: 760px) { .ust .logo.firma-logo { max-width: 110px; height: 32px; } .ust .logo.firma-logo img { max-width: 110px; } }
