/* Mekik yönetim paneli. Sade: düz tablo, ince çizgi; kart, gölge, rozet, ikon yok. Açık ve koyu tema. */
:root {
  --zemin:#eef1f5; --yuzey:#ffffff; --yuzey2:#f6f8fb; --murekkep:#121a2b; --ikincil:#566178; --cizgi:#d8dee8;
  --marka:#c8102e; --bag:#1b3a8a; --iyi:#18794e; --uyari:#a85400; --kritik:#b42318; --kritik-zemin:#fdecea; --uyari-zemin:#fdf3e3;
}
@media (prefers-color-scheme: dark) {
  :root {
    --zemin:#0d121c; --yuzey:#151c2a; --yuzey2:#1a2233; --murekkep:#e9edf5; --ikincil:#9aa6bd; --cizgi:#2a3448;
    --marka:#ff5468; --bag:#8fb0ff; --iyi:#4cc38a; --uyari:#f0a040; --kritik:#ff7b6e; --kritik-zemin:#3a1a1a; --uyari-zemin:#33270f;
  }
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; }
body { background: var(--zemin); color: var(--murekkep); font: 14px/1.5 "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; }
a { color: var(--bag); }
h1 { font-size: 19px; line-height: 1.2; margin: 0 0 6px; font-weight: 600; }
h1:focus { outline: none; }
h2 { font-size: 12px; margin: 26px 0 8px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ikincil); }
p { margin: 0 0 10px; }
.aciklama { color: var(--ikincil); margin: 0 0 18px; max-width: 84ch; font-size: 13px; }
.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: 224px minmax(0, 1fr); min-height: 100vh; background: var(--yuzey); }
.menu { border-right: 1px solid var(--cizgi); padding: 16px 0 12px; background: var(--yuzey2); }
.menu .marka { display: block; padding: 0 16px 12px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ikincil); text-decoration: none; }
.menu .marka b { color: var(--marka); }
.menu .kim { padding: 0 16px 12px; font-weight: 600; }
.menu .kim small { display: block; font-weight: 400; color: var(--ikincil); }
.menu ul { list-style: none; margin: 0; padding: 0; }
.menu li a, .menu li .yok { display: block; padding: 5px 16px; color: var(--murekkep); text-decoration: none; }
.menu details li a, .menu details li .yok { padding-left: 26px; }
.menu li .yok { color: var(--ikincil); opacity: .6; cursor: default; }
.menu li a:hover { background: var(--yuzey); }
.menu li a.active { font-weight: 600; background: var(--yuzey); box-shadow: inset 2px 0 0 var(--marka); }
.menu li a:focus-visible, .menu summary:focus-visible { outline: 2px solid var(--bag); outline-offset: -2px; }
.menu details { border-top: 1px solid var(--cizgi); }
.menu details ul { padding-bottom: 6px; }
.menu summary { list-style: none; cursor: pointer; padding: 8px 16px 6px; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; color: var(--ikincil); display: flex; gap: 8px; }
.menu summary::-webkit-details-marker { display: none; }
.menu summary::before { content: "+"; width: 10px; font-family: "IBM Plex Mono", monospace; }
.menu details[open] summary::before { content: "−"; }
.menu summary b { font-weight: 600; }
.menu .menu-not { margin: 14px 16px 0; font-size: 12px; color: var(--ikincil); }
.icerik { padding: 22px 26px 40px; min-width: 0; }

.tablo-sar { overflow-x: auto; border: 1px solid var(--cizgi); }
table { border-collapse: collapse; width: 100%; }
th { text-align: left; font-size: 12px; font-weight: 600; color: var(--ikincil); padding: 8px 12px; border-bottom: 1px solid var(--cizgi); background: var(--yuzey2); white-space: nowrap; }
td { padding: 8px 12px; 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: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ikincil); }
td.deger { font-family: "IBM Plex Mono", monospace; font-size: 13px; 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; }

.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: 12px; font-weight: 600; color: var(--ikincil); margin-bottom: 4px; }
.alan input, .alan select { font: inherit; color: var(--murekkep); width: 100%; padding: 7px 9px; 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); 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: 7px 14px; border: 1px solid var(--cizgi); background: var(--yuzey); color: var(--murekkep); cursor: pointer; border-radius: 3px; white-space: nowrap; }
.btn.ana { background: var(--marka); border-color: var(--marka); color: #fff; }
.btn.kucuk { padding: 3px 9px; font-weight: 500; font-size: 13px; }
.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(--yuzey2); 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: 13px; 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: 12px; }
.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(--yuzey2); 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: 14px; 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: 12.5px; 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; }

.menu .cikis { border-top: 1px solid var(--cizgi); margin-top: 10px; padding-top: 6px; }
.menu .cikis button { font: inherit; color: var(--murekkep); background: none; border: 0; padding: 5px 16px; cursor: pointer; width: 100%; text-align: left; }
.menu .cikis button:hover { background: var(--yuzey); }
.giris-sayfa { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; }
.giris-kutu { width: 100%; max-width: 340px; background: var(--yuzey); border: 1px solid var(--cizgi); padding: 26px 24px 24px; }
.giris-kutu .marka { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ikincil); margin-bottom: 14px; }
.giris-kutu .marka b { color: var(--marka); }
.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: #1b3a8a; } .harita-pin.teslim { background: #c8102e; }
.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: 12.5px; }
.invalid { outline: 1px solid var(--kritik); }

@media (max-width: 820px) {
  .kabuk { grid-template-columns: 1fr; }
  .menu { border-right: 0; border-bottom: 1px solid var(--cizgi); }
  .iki, .ikili { grid-template-columns: 1fr; }
  .fiyat { position: static; }
  .icerik { padding: 16px 14px 28px; }
}
