/* Mekik yönetim paneli. Sade: düz tablo, ince çizgi; kart, gölge, rozet yok.
   KİMLİK (kullanıcı kararı 19 Eyl 2026, üçüncü ve son tur: kırmızı "itici", lacivert + turuncu "AI renkleri" bulundu): SİYAH + BEYAZ, TEK vurgu HARDAL SARISI
   (yol çizgisi, kurye yeleği). Vurgu AZ kullanılır: marka ipliği, seçili menü işareti, ana düğme (hardal zemin + siyah yazı), bağlantı alt çizgisi. İkinci marka rengi YOK.
   Kırmızı yalnız hata / kritik durumda. Haritadaki durum renkleri (kademe, kurye durumu, iş yaşı) VERİ rengidir, kimlik değil.
   Açık tema HERKES için varsayılandır (bilgisayarın koyu modu izlenmez); koyu tema menüdeki bağlantıyla seçilir, tarayıcıda hatırlanır. */
:root {
  color-scheme: light;
  --zemin:#f8f8f5; --yuzey:#ffffff; --yuzey2:#f3f3ef; --murekkep:#131416; --ikincil:#5c6066; --cizgi:#dcdcd8;
  --vurgu:#e2a400; --ana:#e2a400; --ana-yazi:#131416; --bag:#131416; --iyi:#18794e; --uyari:#a85400; --kritik:#b42318; --kritik-zemin:#fdecea; --uyari-zemin:#fdf3e3;
  --menu-zemin:#131416; --menu-yazi:#ecece8; --menu-ikincil:#9a9b97; --menu-cizgi:#2a2b2e; --menu-secili:#232427; --logo-zemin:#ffffff;
}
:root[data-tema="koyu"] {
  color-scheme: dark;
  --zemin:#0f1011; --yuzey:#17181a; --yuzey2:#1d1e21; --murekkep:#ececE8; --ikincil:#a0a19c; --cizgi:#2c2d30;
  --vurgu:#f0b323; --ana:#f0b323; --ana-yazi:#131416; --bag:#ececE8; --iyi:#4cc38a; --uyari:#f0a040; --kritik:#ff7b6e; --kritik-zemin:#3a1a1a; --uyari-zemin:#33270f;
  --menu-zemin:#0a0a0b; --menu-yazi:#ecece8; --menu-ikincil:#8e8f8b; --menu-cizgi:#1f2022; --menu-secili:#1a1b1d; --logo-zemin:#17181a;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; }
body { background: var(--zemin); color: var(--murekkep); font: 16px/1.55 "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; }
a { color: var(--bag); text-decoration-color: var(--vurgu); text-decoration-thickness: 2px; text-underline-offset: 3px; }
h1 { font-size: 27px; line-height: 1.2; margin: 0 0 8px; font-weight: 700; letter-spacing: -.01em; }
h1:focus { outline: none; }
h2 { font-size: 13.5px; margin: 32px 0 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ikincil); }
p { margin: 0 0 10px; }
.aciklama { color: var(--ikincil); margin: 0 0 22px; max-width: 80ch; font-size: 15.5px; }
.ikincil { color: var(--ikincil); }
.mono, td.s, th.s, .rakam { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; font-variant-numeric: tabular-nums; }

.kabuk { display: grid; grid-template-columns: 272px minmax(0, 1fr); min-height: 100vh; background: var(--zemin); }
/* Sol menü: üstte marka, ortada KENDİ içinde kayan düz bölümler, altta durum. Yazı büyük ve kalın; simge tek renk çizgi. */
.menu { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; background: var(--menu-zemin); color: var(--menu-yazi); }
.menu-ust { padding: 22px 22px 14px; border-bottom: 1px solid var(--menu-cizgi); }
.menu .marka { display: block; font-size: 25px; color: #fff; text-decoration: none; }
/* Yazı logosu: MEKİꓘ — son K aynalı, İ hardal. Harf araları yazı tipine bırakılmaz: aynalı harfin yan boşluğu ters döner ve kalın büyük harfte doğal aralık fazla AÇIK kalır
   (kullanıcı: "bütün harflerin arası çok"). Değerler tarayıcıda ölçülen mürekkep sınırlarından hesaplandı (IBM Plex Sans 700): gövdeler arası .085 em, K kolları ile İ arası .055 em. */
.soz { font-family: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; font-weight: 700; letter-spacing: 0; line-height: 1; white-space: nowrap; }
.soz .m { margin-right: -.062em; } .soz .e { margin-right: -.038em; } .soz .k { margin-right: -.000em; }
.soz i { font-style: normal; color: var(--vurgu); margin-right: .005em; }
.soz .ters { display: inline-block; transform: scaleX(-1); }
.soz small { font-size: .5em; font-weight: 400; letter-spacing: 0.08em; margin-left: .230em; opacity: .7; }
.menu .kim { padding-top: 12px; font-weight: 600; font-size: 15px; }
.menu .kim small { display: block; font-weight: 400; font-size: 13px; color: var(--menu-ikincil); }
.menu-govde { flex: 1; overflow-y: auto; padding: 10px 0 14px; scrollbar-width: thin; scrollbar-color: var(--menu-cizgi) transparent; }
.menu ul { list-style: none; margin: 0; padding: 0; }
.menu h3 { margin: 20px 22px 6px; font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--menu-ikincil); }
.menu li a, .menu li .yok, .menu-alt button { display: flex; align-items: center; gap: 13px; padding: 10px 22px; font-size: 15.5px; font-weight: 600; color: var(--menu-yazi); text-decoration: none; }
.menu .simge { width: 21px; height: 21px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; opacity: .85; }
.menu li .yok { color: var(--menu-ikincil); opacity: .5; cursor: default; font-weight: 500; }
.menu li a:hover, .menu-alt button:hover { background: var(--menu-secili); }
.menu li a.active { color: #fff; background: var(--menu-secili); box-shadow: inset 3px 0 0 var(--vurgu); }
.menu li a.active .simge { opacity: 1; color: var(--vurgu); }
.menu li a:focus-visible, .menu button:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.menu .menu-not { margin: 18px 22px 0; font-size: 12.5px; color: var(--menu-ikincil); }
.menu-alt { border-top: 1px solid var(--menu-cizgi); padding: 6px 0 0; }
.menu-alt button { font-family: inherit; background: none; border: 0; cursor: pointer; width: 100%; text-align: left; font-size: 14.5px; font-weight: 500; padding-top: 8px; padding-bottom: 8px; }
.menu-alt form { margin: 0; }
:root[data-tema="koyu"] .gorunum .koyuya, :root:not([data-tema="koyu"]) .gorunum .aciga { display: none; }
/* Geniş ekranda formlar ve tablolar satır boyunca yayılmasın. */
.icerik { padding: 30px 36px 48px; min-width: 0; max-width: 1480px; }

.tablo-sar { overflow-x: auto; border: 1px solid var(--cizgi); background: var(--yuzey); }
table { border-collapse: collapse; width: 100%; }
th { text-align: left; font-size: 13px; font-weight: 600; color: var(--ikincil); padding: 10px 14px; border-bottom: 1px solid var(--cizgi); background: var(--yuzey2); white-space: nowrap; }
td { padding: 11px 14px; border-bottom: 1px solid var(--cizgi); vertical-align: top; }
tr:last-child td { border-bottom: 0; }
td.s, th.s { text-align: right; white-space: nowrap; }
tr.grup td { background: var(--yuzey2); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ikincil); }
td.deger { font-family: "IBM Plex Mono", monospace; font-size: 14.5px; word-break: break-word; max-width: 46ch; }
.durum-iyi { color: var(--iyi); font-weight: 600; } .durum-uyari { color: var(--uyari); font-weight: 600; } .durum-kotu { color: var(--kritik); font-weight: 600; }

/* Genel bakışın üstündeki rakamlar: gölge ve dolgu yok, ince çizgi; rakam büyük ve tek aralıklı. */
.rakamlar { background: var(--yuzey); display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); border: 1px solid var(--cizgi); margin: 0 0 8px; overflow: hidden; }
.rakamlar > div { padding: 18px 20px 16px; border-right: 1px solid var(--cizgi); margin-right: -1px; border-bottom: 1px solid var(--cizgi); margin-bottom: -1px; }
.rakamlar b { display: block; font: 600 28px/1.15 "IBM Plex Mono", ui-monospace, Consolas, monospace; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.rakamlar span { display: block; margin-top: 6px; font-size: 15px; font-weight: 600; }
.rakamlar small { display: block; font-size: 13.5px; color: var(--ikincil); }

.bilgi { display: grid; grid-template-columns: max-content 1fr; gap: 4px 16px; margin: 0 0 8px; }
.bilgi dt { color: var(--ikincil); } .bilgi dd { margin: 0; }
.uyari-kutu { border: 1px solid var(--uyari); background: var(--uyari-zemin); padding: 10px 12px; margin: 0 0 18px; max-width: 84ch; }
.hata-kutu { border: 1px solid var(--kritik); background: var(--kritik-zemin); padding: 10px 12px; margin: 0 0 14px; }

.iki { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.alan { margin-bottom: 14px; }
.alan label, .alan .etiket { display: block; font-size: 13.5px; font-weight: 600; color: var(--ikincil); margin-bottom: 4px; }
.alan input, .alan select { font: inherit; color: var(--murekkep); width: 100%; padding: 9px 11px; border: 1px solid var(--cizgi); background: var(--yuzey); border-radius: 3px; }
.sira { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; }
.durak { border: 1px solid var(--cizgi); background: var(--yuzey); padding: 12px 14px 0; margin-bottom: 12px; }
.durak .durak-ad { display: flex; justify-content: space-between; gap: 10px; font-weight: 600; margin-bottom: 10px; }
.btn { font: inherit; font-weight: 600; padding: 9px 16px; border: 1px solid var(--cizgi); background: var(--yuzey); color: var(--murekkep); cursor: pointer; border-radius: 3px; white-space: nowrap; }
.btn.ana { background: var(--ana); border-color: var(--ana); color: var(--ana-yazi); }
.btn.kucuk { padding: 5px 11px; font-weight: 500; font-size: 14.5px; }
.btn:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--bag); outline-offset: 2px; }
.btn-sira { display: flex; flex-wrap: wrap; gap: 8px; }
.fiyat { border: 1px solid var(--cizgi); background: var(--yuzey); padding: 16px; position: sticky; top: 12px; }
.fiyat dl { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; margin: 0 0 12px; }
.fiyat dt { color: var(--ikincil); } .fiyat dd { margin: 0; text-align: right; }
.fiyat .cizgili { border-top: 1px solid var(--cizgi); padding-top: 5px; margin-top: 3px; }
.fiyat .toplam { border-top: 1px solid var(--cizgi); padding-top: 10px; display: flex; justify-content: space-between; align-items: baseline; }
.fiyat .toplam b { font-size: 30px; font-weight: 700; }

.ust-yol { font-size: 14.5px; color: var(--ikincil); margin: 0 0 6px; }
.suzgec { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; margin-bottom: 14px; }
.suzgec input, .suzgec select, .btn-sira select { font: inherit; padding: 5px 8px; border: 1px solid var(--cizgi); background: var(--yuzey); color: var(--murekkep); border-radius: 3px; }
.suzgec .sag { margin-left: auto; display: flex; gap: 8px; }
a.btn { text-decoration: none; display: inline-block; }
.tur-sira { display: flex; flex-wrap: wrap; gap: 2px 18px; margin: 0 0 14px; border-bottom: 1px solid var(--cizgi); }
.tur-sira button { font: inherit; color: var(--ikincil); background: none; border: 0; border-bottom: 2px solid transparent; padding: 6px 0; margin-bottom: -1px; cursor: pointer; }
.tur-sira button span { font-family: "IBM Plex Mono", monospace; font-size: 13.5px; }
.tur-sira button[aria-pressed="true"] { color: var(--murekkep); font-weight: 600; border-bottom-color: var(--murekkep); }
.form-kutu { border: 1px solid var(--cizgi); background: var(--yuzey); padding: 14px 16px; margin-bottom: 16px; }
.ikili { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.alan label.onay { display: flex; gap: 8px; align-items: center; font-size: 16px; font-weight: 400; color: var(--murekkep); padding-top: 7px; }
.alan label.onay input { width: auto; }
.secim { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.secim label { display: flex; gap: 6px; align-items: baseline; }
.yardim { font-size: 14px; color: var(--ikincil); margin-top: 3px; }
tr.tik { cursor: pointer; } tr.tik:hover td { background: var(--yuzey2); }
tr.eski td { color: var(--ikincil); }
button:disabled { opacity: .5; cursor: default; }

.giris-sayfa { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; }
.giris-kutu { width: 100%; max-width: 400px; background: var(--yuzey); border: 1px solid var(--cizgi); padding: 26px 24px 24px; }
.giris-kutu .marka { font-size: 27px; color: var(--murekkep); margin-bottom: 20px; }
.giris-kutu h1 { margin-bottom: 18px; }
.giris-kutu .btn { width: 100%; padding: 9px 14px; }

/* Harita: çerçevesi panelin çizgi diliyle aynı; pinler resim değil, düz harfli işaret. */
.harita { border: 1px solid var(--cizgi); background: var(--yuzey2); margin-bottom: 6px; z-index: 0; }
.harita-pin { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
  font: 700 12px "IBM Plex Sans", sans-serif; color: #fff; border: 2px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,.45); }
.harita-pin b { display: block; transform: rotate(45deg); font-weight: 700; }
.harita-pin.alis { background: #131416; } .harita-pin.teslim { background: #e2a400; color: #131416; }
.harita-pin.kucuk { width: 16px; height: 16px; font-size: 9px; border-width: 1px; box-shadow: none; transform: none; border-radius: 50%; vertical-align: -2px; }
.harita-arama { border: 1px solid var(--cizgi); border-top: 0; background: var(--yuzey); max-height: 220px; overflow-y: auto; }
.harita-arama button { display: block; width: 100%; text-align: left; font: inherit; color: var(--murekkep); background: none; border: 0; border-bottom: 1px solid var(--cizgi); padding: 6px 9px; cursor: pointer; }
.harita-arama button:hover { background: var(--yuzey2); }
.leaflet-container { font: inherit; }
/* Canlı harita işaretleri: kurye = daire (içinde üstündeki iş sayısı), iş = küçük kare. Renk durumu söyler. */
.canli-kurye { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; border: 2px solid #fff;
  font: 700 11px "IBM Plex Sans", sans-serif; color: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.5); background: #566178; }
.canli-kurye.bosta { background: #18794e; } .canli-kurye.iste { background: #1b3a8a; } .canli-kurye.sessiz { background: #8a8f98; } .canli-kurye.suphe { outline: 2px solid #b42318; }
.canli-is { display: inline-block; width: 14px; height: 14px; border: 2px solid #fff; box-shadow: 0 1px 2px rgba(0,0,0,.5); background: #566178; }
.canli-is.yeni { background: #c98a12; } .canli-is.orta { background: #d9620f; } .canli-is.gec { background: #b42318; } .canli-is.alinmis { background: #1b3a8a; opacity: .75; }
.canli-gosterge { display: inline-block; vertical-align: -2px; margin-right: 5px; transform: scale(.8); }

.validation-message { color: var(--kritik); font-size: 14px; }
.invalid { outline: 1px solid var(--kritik); }

@media (max-width: 820px) {
  .kabuk { grid-template-columns: 1fr; }
  .menu { position: static; height: auto; border-bottom: 1px solid var(--menu-cizgi); }
  .menu-govde { max-height: 46vh; }
  .iki, .ikili { grid-template-columns: 1fr; }
  .fiyat { position: static; }
  .icerik { padding: 20px 16px 32px; }
}
