:root{--bg:#f4f5f7;--kart:#fff;--yazi:#1d2433;--soluk:#6b7385;--cizgi:#e2e5eb;--ana:#d0342c;--ana2:#a8261f;--yesil:#1f8f4e;--sari:#c98a00;--mavi:#2563eb;--r:10px}
*{box-sizing:border-box}
body{margin:0;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--yazi)}
a{color:var(--mavi);text-decoration:none}
.icerik{max-width:1280px;margin:0 auto;padding:22px 20px 60px}
h1{font-size:22px;margin:0 0 16px}
h2{font-size:16px;margin:0 0 12px}
.kart{background:var(--kart);border:1px solid var(--cizgi);border-radius:var(--r);padding:18px;margin-bottom:18px}
.izgara{display:grid;grid-template-columns:420px 1fr;gap:18px;align-items:start}
@media(max-width:980px){.izgara{grid-template-columns:1fr}}
label{display:block;font-size:13px;color:var(--soluk);margin:10px 0 4px}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid #cfd4dd;border-radius:8px;font:inherit;background:#fff;color:inherit}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid #f3b2ad;border-color:var(--ana)}
.satir{display:flex;gap:10px}.satir>*{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 15px;border-radius:8px;border:1px solid #cfd4dd;background:#fff;color:var(--yazi);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.btn:hover{background:#f0f2f5}
.btn.ana{background:var(--ana);border-color:var(--ana);color:#fff}.btn.ana:hover{background:var(--ana2)}
.btn.yesil{background:var(--yesil);border-color:var(--yesil);color:#fff}
.btn.kucuk{padding:5px 9px;font-size:13px;font-weight:500}
.btn:disabled{opacity:.55;cursor:wait}
.butonlar{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--cizgi);vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--soluk);font-weight:600}
.rozet{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:600;background:#eef0f4;color:var(--soluk)}
.rozet.yesil{background:#e2f4ea;color:var(--yesil)}.rozet.kirmizi{background:#fde5e3;color:var(--ana)}.rozet.sari{background:#fff3d6;color:var(--sari)}.rozet.mavi{background:#e3ecfe;color:var(--mavi)}.rozet.mor{background:#efe6fb;color:#6b3fb3}
#harita{height:560px;border-radius:var(--r);border:1px solid var(--cizgi)}
.durak-liste{list-style:none;margin:0;padding:0}
.durak-liste li{display:flex;gap:10px;align-items:flex-start;padding:10px 4px;border-bottom:1px solid var(--cizgi)}
.durak-liste li.pasif{opacity:.5}
.no{flex:0 0 28px;height:28px;border-radius:50%;background:var(--ana);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.no.yok{background:#9aa1ae}
.durak-bilgi{flex:1;min-width:0}
.durak-bilgi small{display:block;color:var(--soluk);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.durak-islem{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.bilgi{background:#eef4ff;border:1px solid #cfdcfa;color:#1f3d7a;padding:10px 12px;border-radius:8px;font-size:14px;margin:10px 0}
.uyari{background:#fff6e0;border:1px solid #f1d58f;color:#6b4c00;padding:10px 12px;border-radius:8px;font-size:14px;margin:10px 0}
.ozet{display:flex;gap:18px;flex-wrap:wrap;color:var(--soluk);font-size:14px}
.ozet b{color:var(--yazi)}
.kopya{display:flex;gap:6px}.kopya input{font-size:13px}
.giris{max-width:360px;margin:12vh auto}
.bos{color:var(--soluk);text-align:center;padding:30px}
dialog{border:none;border-radius:12px;padding:22px;width:min(520px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.25)}
dialog::backdrop{background:rgba(20,25,35,.45)}
.harita-no{background:var(--ana);color:#fff;border:2px solid #fff;border-radius:50%;width:28px!important;height:28px!important;display:flex!important;align-items:center;justify-content:center;font-weight:700;font-size:12px;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.harita-no.tamam{background:var(--yesil)}
.harita-no.gri{background:#8a919e}
.harita-bas{background:#1d2433;color:#fff;border:2px solid #fff;border-radius:6px;display:flex!important;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.harita-arac{font-size:26px;line-height:30px;text-align:center;filter:drop-shadow(0 2px 2px rgba(0,0,0,.45))}
.ipucu{font-size:13px;color:var(--soluk)}

/* ---- Adres önerileri ---- */
.oneri-sar{position:relative}
.oneri-kutu{position:absolute;left:0;right:0;z-index:3000;background:#fff;border:1px solid var(--cizgi);border-radius:12px;box-shadow:0 10px 30px rgba(20,25,35,.18);margin-top:4px;overflow:hidden}
.oneri{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;cursor:pointer;border-bottom:1px solid #f0f2f5}
.oneri:hover,.oneri.secili{background:#f4f6f9}
.oneri b{display:block;font-weight:600}
.oneri small{display:block;color:var(--soluk);font-size:13px}
.oneri-ikon{flex:0 0 auto;opacity:.7}
.oneri-kaynak{font-size:11px;color:var(--soluk);text-align:right;padding:4px 10px}

/* ---- Yoklama ---- */
.yoklama-kart{background:#fff8e6;border:2px solid #f1c75b;border-radius:14px;padding:14px;margin-bottom:12px}
.yoklama-kart p{margin:0 0 10px;font-size:17px}
.yoklama-kart .satir .btn{padding:14px;font-size:16px}
.btn.kirmizi{background:var(--ana);border-color:var(--ana);color:#fff}
.btn.secik{outline:3px solid #1d2433;outline-offset:1px}

/* ---- Mobil ---- */
.tablo-sar{overflow-x:auto}
.izgara2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media(max-width:980px){.izgara2{grid-template-columns:1fr}}
@media(max-width:640px){
  .icerik{padding:14px 12px 40px}
  h1{font-size:19px}
  .kart{padding:14px}
  .satir{flex-direction:column;gap:0}
  #harita{height:360px}
  .durak-liste li{flex-wrap:wrap}
  .durak-islem{flex:1 0 100%;justify-content:flex-start;padding-left:38px}
  .ozet{gap:10px;font-size:13px}
  table{font-size:14px}
  th,td{padding:8px 6px}
  dialog{padding:16px}
}
.kopya input{min-width:0;flex:1}
.izgara>*,.izgara2>*{min-width:0}
.yoklama-kart .satir{flex-direction:row;gap:8px}

.oneri-mesaj{padding:12px;font-size:14px;color:var(--yazi)}
.oneri-mesaj.hata{color:#8a2a22;background:#fdecea}

/* ---- Genel bakış ---- */
.ozet-kutular{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.ozet-kutular div{background:var(--kart);border:1px solid var(--cizgi);border-radius:var(--r);padding:12px 14px}
.ozet-kutular b{display:block;font-size:24px;line-height:1.1}
.ozet-kutular small{color:var(--soluk);font-size:13px}
.izgara.genel{grid-template-columns:minmax(440px,1fr) 1.4fr}
.izgara.genel #harita{height:620px}
#rotaTablo tr.r{cursor:pointer}
#rotaTablo tr.r:hover{background:#f7f8fa}
#rotaTablo tr.secili-satir{background:#eef4ff}
#rotaTablo td:first-child,#rotaTablo th:first-child{padding-left:14px;width:22px}
.renk-nokta{display:inline-block;width:12px;height:12px;border-radius:50%}
.arac-etiket{background:#fff;border:2px solid;border-radius:14px;padding:2px 8px 2px 4px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.3);display:inline-block}
@media(max-width:980px){
  .izgara.genel{grid-template-columns:1fr}
  .izgara.genel>div:last-child{order:-1}
  .izgara.genel #harita{height:380px}
}
@media(max-width:640px){.ozet-kutular{grid-template-columns:repeat(2,1fr)}.ozet-kutular b{font-size:20px}}


/* ================= Üst bölüm (header) ================= */
.ust{position:sticky;top:0;z-index:1000;background:linear-gradient(180deg,#151b28 0%,#1b2232 100%);color:#e6e9f0;border-bottom:1px solid #2a3245;box-shadow:0 2px 12px rgba(10,14,24,.18)}
.ust-ic{max-width:1440px;margin:0 auto;height:64px;padding:0 20px;display:flex;align-items:center;gap:28px}
.ikon{flex:0 0 auto;display:block}
.marka{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;flex:0 0 auto}
.marka-logo{display:grid;place-items:center;color:#fff;flex:0 0 auto}
.logo-svg{display:block;height:38px;width:auto}
.l1-zemin{fill:#F7F6F2}.l1-yol{stroke:#14213D}
.giris .l1-zemin{fill:#14213D}.giris .l1-yol{stroke:var(--logo-renk)}
.giris .marka-logo{color:#14213D}
.logo-yazi{font-family:var(--logo-font),system-ui,sans-serif}
.marka-yazi{display:flex;flex-direction:column;line-height:1.15}
.marka-yazi b{font-size:21px;font-weight:700;letter-spacing:-.6px;line-height:1.05}
.marka-yazi b span{font-weight:400;color:inherit}
.marka-yazi b.l2{font-size:17px;font-weight:800;letter-spacing:2.5px}
.marka-yazi b.l2 span{font-weight:500;font-size:11px;letter-spacing:3.5px;margin-left:6px;opacity:.8}
.marka-yazi b.l3{font-weight:600;letter-spacing:-.5px}.marka-yazi b.l3 span{font-weight:300}
.marka-yazi small{font-size:11.5px;color:#8f99ad;letter-spacing:.3px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ana-menu{display:flex;align-items:stretch;gap:2px;height:100%;flex:1;min-width:0}
.ana-menu a{position:relative;display:flex;align-items:center;gap:8px;padding:0 14px;color:#aab3c5;font-size:14.5px;font-weight:500;text-decoration:none;white-space:nowrap;transition:color .15s,background .15s}
.ana-menu a:hover{color:#fff;background:rgba(255,255,255,.04)}
.ana-menu a.aktif{color:#fff}
.ana-menu a.aktif::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:#ef4a3f}
.ana-menu a .ikon{opacity:.85}
.ust-sag{display:flex;align-items:center;gap:14px;margin-left:auto}
.canli{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(31,143,78,.14);border:1px solid rgba(52,199,110,.28);color:#bff0d2;font-size:13px;text-decoration:none;white-space:nowrap}
.canli b{color:#fff}
.canli.bos{background:rgba(255,255,255,.05);border-color:#2f384c;color:#9aa3b5}
.nabiz{width:8px;height:8px;border-radius:50%;background:#34c76e;box-shadow:0 0 0 0 rgba(52,199,110,.6);animation:nabiz 1.8s infinite}
.canli.bos .nabiz{background:#6b7385;animation:none}
@keyframes nabiz{0%{box-shadow:0 0 0 0 rgba(52,199,110,.55)}70%{box-shadow:0 0 0 8px rgba(52,199,110,0)}100%{box-shadow:0 0 0 0 rgba(52,199,110,0)}}
@media (prefers-reduced-motion:reduce){.nabiz{animation:none}}
.ayrac{width:1px;height:28px;background:#2f384c}

/* Açılır menüler */
.kmenu,.mmenu{position:relative}
.kmenu summary,.mmenu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:5px 8px 5px 5px;border-radius:12px;color:#cdd3df;user-select:none}
.kmenu summary::-webkit-details-marker,.mmenu summary::-webkit-details-marker{display:none}
.kmenu summary:hover,.kmenu[open] summary,.mmenu summary:hover,.mmenu[open] summary{background:rgba(255,255,255,.07)}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,#3b4a6b,#2a3550);border:1px solid #46557a;letter-spacing:.5px}
.kmenu-kisi{display:flex;flex-direction:column;line-height:1.15}
.kmenu-kisi b{font-size:14px;color:#fff;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kmenu-kisi small{font-size:11.5px;color:#8f99ad}
.kmenu[open] summary>.ikon{transform:rotate(180deg)}
.acilir{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;background:#fff;color:var(--yazi);border-radius:12px;border:1px solid var(--cizgi);box-shadow:0 16px 40px rgba(15,20,35,.22);padding:6px;z-index:1100;animation:acil .14s ease-out}
@keyframes acil{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.acilir-bas{padding:10px 12px 10px;border-bottom:1px solid var(--cizgi);margin-bottom:6px}
.acilir-bas b{display:block;font-size:14px}
.acilir-bas small{color:var(--soluk);font-size:12.5px}
.acilir a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:var(--yazi);font-size:14px;text-decoration:none}
.acilir a:hover{background:#f2f4f7}
.acilir a.aktif{background:#fdeceb;color:var(--ana2);font-weight:600}
.acilir a .ikon{color:var(--soluk)}
.acilir a.aktif .ikon{color:var(--ana)}
.acilir hr{border:0;border-top:1px solid var(--cizgi);margin:6px 0}
.mmenu{display:none}
.mmenu summary{padding:8px}

@media(max-width:900px){
  .ana-menu{display:none}
  .mmenu{display:block}
  .kmenu-kisi,.kmenu summary>.ikon{display:none}
  .kmenu summary{padding:3px}
  .ust-ic{gap:12px;padding:0 14px;height:58px}
  .ayrac{display:none}
}
@media(max-width:520px){
  .marka-yazi small{max-width:120px}
  .canli span.uzun{display:none}
  .canli{padding:6px 10px}
  .logo-svg{height:32px}
  .marka-yazi b{font-size:18px}.marka-yazi b.l2{font-size:15px;letter-spacing:1.5px}.marka-yazi b.l2 span{display:none}
}

/* Giriş sayfası */
.giris-sayfa{min-height:100vh;margin:0;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(165deg,#151b28 0%,#1d2433 42%,var(--bg) 42.2%)}
.giris-sayfa .giris{margin:0;width:100%;max-width:400px;padding:28px;border-radius:16px;box-shadow:0 24px 60px rgba(15,20,35,.18)}
.giris .marka{color:var(--yazi);margin-bottom:22px;pointer-events:none}
.giris .marka-yazi small{color:var(--soluk)}
.giris-baslik{font-size:21px;margin:0 0 10px}

/* Onay talepleri */
.sayac{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#ef4a3f;color:#fff;font-size:11.5px;font-weight:700;line-height:1;margin-left:2px}
.acilir .sayac{margin-left:auto}
.mmenu summary{position:relative}
.nokta-sayac{position:absolute;top:2px;right:0;min-width:17px;height:17px;font-size:10.5px;padding:0 4px;box-shadow:0 0 0 2px #1b2232}
.talep-satir{margin-top:6px;padding:7px 9px;border-radius:8px;background:#fdecea;color:#8a2a22;font-size:13px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;white-space:normal}
.durak-liste li.talepli{background:#fff8f7}
.talep-uyari{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.talep-uyari .butonlar{width:100%}

/* Okul saatleri */
.okul-saat{border:1px solid var(--cizgi);border-radius:10px;padding:4px 14px 12px;margin:14px 0 4px;background:#fafbfc}
.okul-saat legend{font-weight:600;font-size:14px;padding:0 6px}
.gun-secim{display:flex;flex-wrap:wrap;gap:6px}
.gun-secim label{margin:0;cursor:pointer}
.gun-secim input{position:absolute;opacity:0;pointer-events:none;width:auto}
.gun-secim span{display:inline-block;min-width:44px;text-align:center;padding:7px 8px;border:1px solid #cfd4dd;border-radius:8px;background:#fff;color:var(--soluk);font-size:13.5px;font-weight:600;user-select:none}
.gun-secim input:checked+span{background:#1d2433;border-color:#1d2433;color:#fff}
.gun-secim input:focus-visible+span{outline:2px solid #f3b2ad}
.saat-bilgi{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 10px;border-radius:8px;margin:8px 0}
.saat-bilgi.acik{background:#e2f4ea;color:#155c34}
.saat-bilgi.kapali{background:#fff3d6;color:#6b4c00}

/* Öğrenciler (kardeşler) */
dialog.genis{width:min(680px,94vw)}
.ogr-satirlar{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.ogr-blok{display:flex;flex-direction:column;gap:6px}
.ogr-satir,.ogr-baslik{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) minmax(0,1fr) 40px;gap:6px;align-items:center}
.ogr-satir.ucretsiz,.ogr-baslik.ucretsiz{grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) 40px}
.ogr-satir input{min-width:0}
.ogr-satir .o-sil{height:100%;min-height:40px;padding:0}
.ogr-baslik{margin:4px 0 5px;font-size:13px;color:var(--soluk);font-weight:600}
.ogr-cipler{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.ogr-cip{font-size:12.5px;padding:2px 8px;border-radius:12px;background:#eef0f4;color:var(--yazi);white-space:nowrap}
.ogr-cip i{font-style:normal;color:var(--soluk)}
.ogr-cip.yesil{background:#e2f4ea;color:#155c34}
.ogr-cip.kirmizi{background:#fde5e3;color:#8a2a22}
@media(max-width:560px){
  .ogr-baslik{display:none}
  .ogr-satir,.ogr-satir.ucretsiz{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}
  .ogr-satir .o-isim{grid-column:1/3}.ogr-satir .o-sil{grid-column:3;grid-row:1}
  .ogr-satir.ucretsiz .o-tel{grid-column:1/3}
  .ogr-blok{padding-bottom:8px;border-bottom:1px solid var(--cizgi)}
}

/* Üst menüde Yönetim açılır menüsü */
.ana-menu .nav-acilir{display:flex;align-items:stretch}
.ana-menu .nav-acilir>summary{display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:0;color:#aab3c5;font-size:14.5px;font-weight:500;height:100%;position:relative}
.ana-menu .nav-acilir>summary:hover,.ana-menu .nav-acilir[open]>summary{background:rgba(255,255,255,.04);color:#fff}
.ana-menu .nav-acilir>summary.aktif{color:#fff}
.ana-menu .nav-acilir>summary.aktif::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:#ef4a3f}
.ana-menu .nav-acilir .acilir{top:100%}
@media(max-width:1100px){.ana-menu a,.ana-menu .nav-acilir>summary{padding:0 10px;font-size:14px}.ana-menu a .ikon,.ana-menu .nav-acilir>summary>.ikon:first-child{display:none}}
.nav-acilir[open] summary>.ikon:first-child{transform:none}

/* Acil durum / gecikme */
.olay{border-radius:12px;padding:12px 14px;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.olay.acil{background:#fde5e3;border:2px solid #e65b52;color:#6e1d17;animation:acilnabiz 1.6s infinite}
.olay.gecikme{background:#fff3d6;border:1px solid #f1d58f;color:#6b4c00}
.olay>span:not(.olay-btn){flex:1 1 100%}
.olay-btn{display:flex;gap:6px;flex-wrap:wrap}
@keyframes acilnabiz{0%,100%{box-shadow:0 0 0 0 rgba(230,91,82,.35)}50%{box-shadow:0 0 0 6px rgba(230,91,82,0)}}
@media (prefers-reduced-motion:reduce){.olay.acil{animation:none}}

/* Sefer geçmişi */
.filtre{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:12px 14px}
.filtre>div{flex:1 1 150px}
.filtre>.ogr-ara{flex:2 1 220px}
.ara-sonuc{margin:-6px 0 12px}
.filtre label{margin-top:0}
.izgara.gecmis{grid-template-columns:minmax(330px,0.9fr) 1.6fr}

.oynatici{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.oynatici input[type=range]{flex:1 1 200px;padding:0;accent-color:var(--ana)}
.olay-isaret{font-size:20px;line-height:24px;text-align:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.olay-satir{padding:7px 0;border-top:1px solid var(--cizgi);font-size:14px}
.olay-satir:first-child{border-top:0}
@media(max-width:980px){.izgara.gecmis{grid-template-columns:1fr}}
/* Aidat ve raporlar */
.kutu-sec{display:inline-flex;align-items:center;gap:7px;margin:0;font-weight:500;cursor:pointer}
.kutu-sec input{width:auto;margin:0}
.aidat-arac{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--cizgi)}
.aidat-arac .ipucu{flex:1 1 220px;margin:0;font-size:12.5px}
#aTablo td:first-child,#aTablo th:first-child{width:28px;padding-right:0}
#aTablo input[type=checkbox]{width:18px;height:18px;margin:0}
.rapor-bolum{margin-bottom:22px}
.rapor-bolum h2{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.cubuk{height:7px;background:#eef0f4;border-radius:4px;overflow:hidden;min-width:60px;margin-top:4px}
.cubuk i{display:block;height:100%;background:var(--yesil)}
.cubuk.kotu i{background:var(--ana)}.cubuk.orta i{background:var(--sari)}
td.say,th.say{text-align:right;white-space:nowrap}
@media print{.ust,.filtre .btn,.yazdir-gizle,nav{display:none!important}body{background:#fff}.kart{border:none;padding:0}}
.logo-secim{display:grid;gap:8px}
.logo-secim label{display:flex;align-items:center;gap:12px;margin:0;padding:10px 12px;border:1px solid var(--cizgi);border-radius:10px;cursor:pointer;background:#151b28}
.logo-secim label:has(input:checked){outline:2px solid #E8A33D;outline-offset:1px}
.logo-secim input{width:auto;margin:0;accent-color:#E8A33D}
.logo-secim .marka{pointer-events:none}
.logo-secim small{margin-left:auto;color:#8f99ad;font-size:12px}
.logo-secim{display:grid;gap:8px}
.logo-secim label{display:flex;align-items:center;gap:12px;margin:0;padding:10px 12px;border:1px solid var(--cizgi);border-radius:10px;cursor:pointer;background:#151b28}
.logo-secim label:has(input:checked){outline:2px solid #E8A33D;outline-offset:1px}
.logo-secim input{width:auto;margin:0;accent-color:#E8A33D}
.logo-secim .marka{pointer-events:none}
.logo-secim small{margin-left:auto;color:#8f99ad;font-size:12px}
/* Sekmeler (Veliler sayfası) */
.sekmeler{display:flex;gap:4px;border-bottom:1px solid var(--cizgi);margin:0 0 14px;overflow-x:auto}
.sekmeler a{padding:10px 14px;color:var(--soluk);text-decoration:none;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.sekmeler a.aktif{color:var(--yazi);border-color:var(--ana)}
/* Menü öğeleri arttı: geniş olmayan ekranlarda üst bandı sıkıştır */
@media(min-width:0){.canli span.uzun{display:none}.canli{padding:6px 10px}.ana-menu a,.ana-menu .nav-acilir>summary{padding:0 11px}.ust-ic{gap:18px}}
@media(max-width:1240px){.kmenu-kisi{display:none}}
/* Menü öğeleri sığmazsa simgeler gizlenir (üst menü "araç seferde" rozetinin altına taşmasın) */
@media(max-width:1560px){.ana-menu a .ikon,.ana-menu .nav-acilir>summary>.ikon:first-child{display:none}}
/* Lisans */
.arama-rozet{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 8px;background:#eef1f6;color:#4a5263;white-space:nowrap;vertical-align:middle}
.arama-rozet.cevaplandi{background:#e3f6ea;color:#17703e}
.arama-rozet.cevapsiz,.arama-rozet.hata{background:#fdecec;color:#a32020}
.arama-rozet.bekliyor{background:#fff3d6;color:#7a5600}
.sure-bant{background:#fff3d6;border:1px solid #f1d58f;color:#6b4c00;border-radius:10px;padding:10px 14px;margin:0 0 16px;font-size:14px;line-height:1.45}
.sure-bant.doldu{background:#fdecec;border-color:#f3b4b4;color:#8a1c1c;font-weight:500}
.lisans-bant{background:#fff3d6;border:1px solid #f1d58f;color:#6b4c00;border-radius:10px;padding:10px 14px;margin:0 0 16px;font-size:14px}
.lisans-kart{max-width:460px!important}
.lisans-simge{width:56px;height:56px;border-radius:16px;background:#fde5e3;color:var(--ana);display:grid;place-items:center;margin:4px 0 12px}
.lisans-tablo{width:100%;margin:12px 0;border:1px solid var(--cizgi);border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden}
.lisans-tablo th{width:40%;text-transform:none;letter-spacing:0;font-size:13px;background:#f7f8fa}
.lisans-tablo th,.lisans-tablo td{padding:8px 10px;font-size:14px}
.lisans-tablo tr:last-child th,.lisans-tablo tr:last-child td{border-bottom:0}
.hata{background:#fde5e3;border:1px solid #f3b2ad;color:#8f1d16;padding:10px 12px;border-radius:8px;font-size:14px;margin:10px 0}
/* Farklı servis */
.o-servis{background:#f7f8fa;border:1px dashed #d5dae3;border-radius:8px;padding:6px 10px}
.o-servis .kutu-sec{font-size:13px;color:var(--yazi)}
.o-servis-sec{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.o-servis-sec[hidden]{display:none}
.o-servis-sec label{margin:0;font-size:12px;color:var(--soluk)}
.o-servis-sec select{margin-top:3px}
.servis-etiket{font-style:normal;color:#1f3d7a;background:#e3ecfe;border-radius:10px;padding:0 6px;margin-left:4px;font-size:11.5px}
.durak-liste li.bagli{background:#f7faff}
@media(max-width:640px){.o-servis-sec{grid-template-columns:1fr}}
/* Şoföre mesaj */
.secenek-sira{display:flex;flex-wrap:wrap;gap:14px;margin:6px 0 10px}
.hazir-mesaj{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.mesaj-yanit{margin-top:4px;background:#eef4ff;color:#1f3d7a;border-radius:8px;padding:4px 8px;font-size:13.5px}
.baglanti-kutu{border:1px solid var(--cizgi);border-radius:10px;padding:10px 14px;margin:10px 0}
.baglanti-kutu h3{margin:2px 0 2px;font-size:15px}
.baglanti-kutu .ipucu{margin:0 0 8px}
.baglanti-kutu .butonlar{margin-top:8px}
/* Veli şifresi */
.pin-satir{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:14px}
.pin-satir[hidden]{display:none}
.pin-goster{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:18px;letter-spacing:3px;background:#f3f4f6;border-radius:8px;padding:2px 10px}
.pin-giris{font-size:26px!important;letter-spacing:10px;text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace}
/* Yönetim açılır menüsü: geniş, açıklamalı, kolay tıklanır */
.ana-menu .nav-acilir>summary>.ikon:last-child{transition:transform .15s;opacity:.7}
.ana-menu .nav-acilir[open]>summary>.ikon:last-child{transform:rotate(180deg)}
.ana-menu .yonetim-panel{left:50%;right:auto;transform:translateX(-50%);top:calc(100% - 4px);width:340px;padding:8px;display:grid;gap:2px}
.ana-menu .yonetim-panel::before{content:"";position:absolute;top:-6px;left:50%;margin-left:-6px;width:12px;height:12px;background:#fff;border-left:1px solid var(--cizgi);border-top:1px solid var(--cizgi);transform:rotate(45deg)}
.ana-menu .yonetim-panel a{height:auto;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--yazi);white-space:normal}
.ana-menu .yonetim-panel a::after{display:none!important}
.ana-menu .yonetim-panel a:hover,.ana-menu .yonetim-panel a:focus-visible{background:#f3f5f8;color:var(--yazi);outline:none}
.ana-menu .yonetim-panel a.aktif{background:#fdeceb}
.yp-simge{flex:0 0 38px;height:38px;border-radius:10px;background:#eef1f6;color:#3b4457;display:grid;place-items:center}
.yp-simge .ikon{opacity:1!important;display:block!important}
.ana-menu .yonetim-panel a:hover .yp-simge{background:#e3e8f0}
.ana-menu .yonetim-panel a.aktif .yp-simge{background:var(--ana);color:#fff}
.yp-yazi{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.yp-yazi b{font-size:14.5px;font-weight:600}
.yp-yazi small{font-size:12.5px;color:var(--soluk)}
.ana-menu .yonetim-panel{animation:ypAc .14s ease-out}
@keyframes ypAc{from{opacity:0;transform:translateX(-50%) translateY(-4px)}to{opacity:1;transform:translateX(-50%)}}
.ana-menu .yonetim-panel a .yp-simge .ikon{color:inherit}.ana-menu .yonetim-panel a.aktif .yp-yazi small{color:#8a3a33}
/* ===== Ayarlar sayfası ===== */
.ayar-bas{display:flex;align-items:center;gap:12px}
.ayar-duzen{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;align-items:start}
.ayar-menu{position:sticky;top:80px;display:flex;flex-direction:column;gap:2px;background:var(--kart);border:1px solid var(--cizgi);border-radius:var(--r);padding:8px}
.ayar-menu a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;color:var(--yazi);text-decoration:none}
.ayar-menu a:hover{background:#f3f5f8}
.ayar-menu a.aktif{background:#fdeceb}
.ayar-menu a b{display:block;font-size:14px;font-weight:600}
.ayar-menu a small{display:block;font-size:12px;color:var(--soluk);line-height:1.3}
.am-simge{flex:0 0 34px;height:34px;border-radius:9px;background:#eef1f6;color:#3b4457;display:grid;place-items:center}
.ayar-menu a.aktif .am-simge{background:var(--ana);color:#fff}
.ayar-bolum{display:none}
.ayar-bolum.aktif{display:block;animation:acil .14s ease-out}
.ayar-bolum .kart h2{margin-top:0}
.ayar-bolum textarea{min-height:0;resize:vertical}
.ayar-kaydet{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:flex-end;gap:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border:1px solid var(--cizgi);border-radius:var(--r);padding:10px 14px;box-shadow:0 -6px 20px rgba(15,20,35,.06)}
.ayar-kaydet #degisti.kirli{color:#9a5b00;font-weight:600}
.ayar-kaydet .btn{min-width:140px}
.degiskenler{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:5px 0 2px}
.degiskenler span{font-size:12px;color:var(--soluk);margin-right:2px}
.degiskenler button{font:inherit;font-size:12px;padding:2px 8px;border:1px solid #d5dae3;background:#f7f8fa;border-radius:20px;cursor:pointer;color:#3b4457;font-family:ui-monospace,Menlo,Consolas,monospace}
.degiskenler button:hover{background:#eef1f6;border-color:#c3cad6}
.anahtar-sec{display:flex;align-items:center;gap:10px;margin:6px 0 0;color:var(--yazi);font-size:14px;cursor:pointer;flex-wrap:wrap}
.anahtar-sec input{position:absolute;opacity:0;width:1px;height:1px}
.anahtar-sec>span:first-of-type{flex:0 0 40px;height:22px;border-radius:12px;background:#cfd4dd;position:relative;transition:background .15s}
.anahtar-sec>span:first-of-type::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.anahtar-sec input:checked+span{background:var(--yesil)}
.anahtar-sec input:checked+span::after{transform:translateX(18px)}
.anahtar-sec input:focus-visible+span{outline:2px solid #f3b2ad;outline-offset:2px}
.birimli{display:flex;align-items:stretch}
.birimli input{border-top-right-radius:0;border-bottom-right-radius:0;min-width:0}
.birimli span{display:flex;align-items:center;padding:0 12px;border:1px solid #cfd4dd;border-left:0;border-radius:0 8px 8px 0;background:#f7f8fa;color:var(--soluk);font-size:13.5px;white-space:nowrap}
.ayar-ozet{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 12px}
.ayar-ozet>div{background:var(--bg);border-radius:10px;padding:10px 12px}
.ayar-ozet small{display:block;color:var(--soluk);font-size:12px}
.ayar-ozet b{display:block;font-size:15px;margin:2px 0}
.akis-adim{list-style:none;counter-reset:adim;padding:0;margin:8px 0 0}
.akis-adim>li{counter-increment:adim;position:relative;padding:4px 0 16px 40px;border-left:2px solid var(--cizgi);margin-left:14px}
.akis-adim>li:last-child{border-left-color:transparent;padding-bottom:0}
.akis-adim>li::before{content:counter(adim);position:absolute;left:-15px;top:0;width:28px;height:28px;border-radius:50%;background:#14213D;color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
.akis-adim>li>p.ipucu{margin:2px 0 6px}
.gelismis{margin-top:12px}
.gelismis summary{cursor:pointer;color:var(--soluk);font-size:13.5px;font-weight:600}
.ornek-kutu{background:#eef4ff;color:#1f3d7a;border-radius:10px;padding:10px 12px;font-size:14px;margin-top:12px}
@media(max-width:900px){
  .ayar-duzen{grid-template-columns:1fr;gap:12px}
  .ayar-menu{position:static;flex-direction:row;overflow-x:auto;padding:6px;gap:6px;scrollbar-width:none}
  .ayar-menu a{flex:0 0 auto;padding:8px 12px}
  .ayar-menu a small{display:none}
  .am-simge{flex-basis:28px;height:28px}
  .akis-adim>li{padding-left:28px}
}
.birimli{max-width:240px}
[data-bagli][hidden]{display:none!important}
/* Durak sıralama: sürükle-bırak */
.tutamac{flex:0 0 22px;align-self:center;display:grid;place-items:center;height:36px;cursor:grab;color:#a5adbb;border-radius:6px;touch-action:none}
.tutamac svg{fill:currentColor}
.tutamac:hover{background:#eef1f6;color:#5b6475}
.tutamac:active{cursor:grabbing}
.durak-liste li.surukle-hayalet{opacity:.35;background:#e3ecfe}
.durak-liste li.surukle-secili{background:#fff;box-shadow:0 8px 24px rgba(15,20,35,.18);border-radius:10px}
.sira-ipucu{margin:0 0 6px;font-size:12.5px}
.durak-liste.suruklemede{user-select:none}
.durak-liste.suruklemede li:not(.surukle-secili){transition:transform .12s}
.durak-liste li.surukle-secili{position:relative;z-index:5;background:#fff;box-shadow:0 10px 28px rgba(15,20,35,.22);border-radius:10px;outline:2px solid #cfdcfa}
button.tutamac{border:0;background:transparent;padding:0;font:inherit}
button.tutamac:focus-visible{outline:2px solid #2563eb;outline-offset:1px}

/* Tahmini varış: trafik yoğunluğu çipi */
.trafik-cip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;white-space:nowrap;border-radius:999px;padding:2px 9px 2px 7px;background:rgba(255,255,255,.12);color:inherit}
.trafik-cip::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.trafik-cip.akici{color:#3ccf7e}.trafik-cip.orta{color:#f2c94c}.trafik-cip.yogun{color:#ff9a3c}.trafik-cip.cok{color:#ff5a5a}
.acik-zemin .trafik-cip,.trafik-cip.acik{background:#f1f3f7}
.acik-zemin .trafik-cip.akici,.trafik-cip.acik.akici{color:#17804a}.acik-zemin .trafik-cip.orta,.trafik-cip.acik.orta{color:#9a7400}
.acik-zemin .trafik-cip.yogun,.trafik-cip.acik.yogun{color:#c25a00}.acik-zemin .trafik-cip.cok,.trafik-cip.acik.cok{color:#c62828}
.arac-etiket .eta{display:block;font-weight:600;font-size:11.5px;color:#4a5263;margin-top:1px}
.harita-rozet{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:900;width:max-content;max-width:calc(100% - 24px);background:#14213D;color:#fff;
  border-radius:14px;padding:7px 13px;box-shadow:0 6px 18px rgba(10,14,24,.3);font-size:14px;pointer-events:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.harita-rozet i{font-style:normal;background:#E8A33D;color:#14213D;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;letter-spacing:.4px}
.harita-rozet strong{font-size:15px}

/* Profil fotoğrafı */
.pfoto{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#e6e9f0}
.pfoto img{width:100%;height:100%;object-fit:cover}
.pfoto.harfli{background:#14213D;color:#fff;font-weight:700;font-size:15px}
.pfoto.buyuk{width:76px;height:76px;font-size:28px}
.k-kisi{display:flex;align-items:center;gap:10px}
.foto-alan{display:flex;align-items:center;gap:14px;margin-bottom:6px}
/* Veli takip: haritanın üstünde şoför kartı */
.sofor-kart{position:absolute;top:10px;left:10px;right:10px;z-index:900;display:flex;align-items:center;gap:11px;background:#fff;color:var(--yazi);
  border-radius:16px;padding:8px 8px 8px 9px;box-shadow:0 6px 20px rgba(10,14,24,.22);max-width:440px;margin:0 auto}
.sofor-kart .pfoto{width:48px;height:48px;font-size:19px;border:2px solid #fff;box-shadow:0 0 0 2px #E8A33D}
.sofor-kart .sk-yazi{flex:1;min-width:0;line-height:1.25}
.sofor-kart .sk-yazi small{display:block;color:var(--soluk);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sofor-kart .sk-yazi b{display:block;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 0 3px}
.sofor-kart .sk-plaka{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;color:#111;border:1.5px solid #1d2433;border-left:6px solid #1f4fd1;border-radius:4px;padding:0 6px;font:700 11.5px/1.45 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.4px;vertical-align:top}
.sofor-kart .sk-ara{flex:none;display:inline-flex;align-items:center;gap:6px;background:#1f8f4e;color:#fff;border-radius:999px;height:42px;padding:0 15px 0 13px;font-weight:700;font-size:15px;text-decoration:none}
.sofor-kart .sk-ara svg{width:17px;height:17px}
.sofor-kart .sk-ara:active{transform:scale(.97)}
.sofor-kart .sk-ara.kapali{background:#e7eaf0;color:#6b7280;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:15px}
.sofor-kart .sk-wa{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#25D366;color:#fff;margin-left:-3px;box-shadow:0 2px 6px rgba(37,211,102,.35)}
.sofor-kart .sk-wa svg{width:25px;height:25px}
.sofor-kart .sk-wa:active{transform:scale(.95)}
/* Sefer sürerken arama uyarısı (şoför kartının altında) */
.sk-uyari{position:absolute;top:84px;left:10px;right:10px;z-index:1100;background:#14213D;color:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 8px 22px rgba(10,14,24,.35);font-size:14px;line-height:1.4;animation:sk-gir .2s ease-out}
@keyframes sk-gir{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.sk-uyari[hidden]{display:none}
.sk-uyari b{display:block;font-size:15px;margin-bottom:2px}
.sk-uyari span{color:#dfe3ef}
.sk-uyari-alt{display:flex;gap:8px;margin-top:10px}
.sk-uyari-alt .sk-wa-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#25D366;color:#fff;border-radius:999px;padding:10px 14px;font-weight:700;text-decoration:none}
.sk-uyari-alt .sk-wa-btn svg{width:20px;height:20px}
.sk-uyari-alt button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer}

.harita-rozet[hidden],.sofor-kart[hidden]{display:none}
/* Haritanın sağ alt köşesinde firma logosu */
.harita-logo{position:absolute;right:10px;bottom:12px;z-index:800;pointer-events:none;background:rgba(255,255,255,.94);border-radius:12px;padding:6px 9px;
  box-shadow:0 3px 12px rgba(10,14,24,.22);display:flex;align-items:center;gap:7px;max-width:42%;transition:bottom .2s}
.harita-logo img{display:block;max-height:38px;max-width:140px;width:auto;height:auto}
.harita-logo.varsayilan{color:#14213D;font-weight:700;font-size:13px;padding:5px 10px 5px 6px}
.harita-logo.varsayilan span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.harita-logo .l1-zemin{fill:#14213D}.harita-logo .l1-yol{stroke:var(--logo-renk)}
@media(max-width:420px){.harita-logo img{max-height:30px;max-width:110px}}
.firma-logo-alan{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.firma-logo-onizleme{min-width:150px;min-height:56px;border:1px dashed var(--cizgi);border-radius:12px;display:grid;place-items:center;padding:8px;
  background:repeating-conic-gradient(#f3f4f7 0 25%,#fff 0 50%) 0 0/14px 14px}
.firma-logo-onizleme img{max-height:48px;max-width:180px}

/* Veli değerlendirmeleri */
.yildizlar{color:#E8A33D;letter-spacing:1px;white-space:nowrap}.yildizlar i{font-style:normal;color:#d5d9e2}
.gb-kart{border-left:4px solid #cfd4dd}.gb-kart.sikayet{border-left-color:var(--ana)}.gb-kart.memnuniyet{border-left-color:#1f8f4e}.gb-kart.oneri{border-left-color:#E8A33D}
.gb-bas{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.gb-tur{font-weight:700}
.gb-mesaj{margin:10px 0 0;font-size:15px;line-height:1.5;background:var(--bg);border-radius:10px;padding:10px 12px}
.gb-form{margin-top:10px}.gb-form textarea{margin:0}
.gb-form-alt{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}.gb-form-alt select{width:auto;margin:0}
.gb-yanit-p{background:#eef4ff;border-radius:10px;padding:9px 11px;margin-top:8px}.gb-yanit-p small{display:block;font-weight:700;color:#3d5a99}

/* Ana ekran rapor alanı */
.rapor-alani{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.rapor-alani .rk{position:relative;display:block;background:var(--kart);border:1px solid var(--cizgi);border-radius:var(--r);padding:12px 14px;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.rapor-alani .rk:hover{border-color:#b9c0cd;box-shadow:0 2px 10px rgba(20,33,61,.07)}
.rapor-alani small{display:block;color:var(--soluk);font-size:12.5px;font-weight:600}
.rapor-alani b{display:block;font-size:28px;line-height:1.15;margin:2px 0;font-variant-numeric:tabular-nums}
.rapor-alani b small{display:inline;font-size:16px;color:var(--soluk)}
.rapor-alani span{display:block;color:var(--soluk);font-size:12px}
.rapor-alani .rk.canli b{color:var(--yesil)}
.rapor-alani .rk.kotu{border-color:#f1b7b2;background:#fff6f5}.rapor-alani .rk.kotu b{color:var(--ana)}
.rapor-alani .uyari-yazi{color:#b25c00;font-weight:700}
.rk-cubuk{display:block;height:5px;border-radius:9px;background:#eceef3;margin-top:7px;overflow:hidden}.rk-cubuk em{display:block;height:100%;background:var(--yesil);border-radius:9px}
.rk-cubuk.orta em{background:#E8A33D}.rk-cubuk.kotu em{background:var(--ana)}
@media(max-width:900px){.rapor-alani{grid-template-columns:repeat(2,1fr)}.rapor-alani b{font-size:24px}}
.belge-uyari{display:grid;gap:4px;border-left:4px solid #E8A33D;margin-bottom:14px}
.belge-uyari a{color:inherit;text-decoration:none;font-size:14px;padding:3px 0}.belge-uyari a:hover{text-decoration:underline}
.belge-uyari a.yakin{color:#b25c00}.belge-uyari a.doldu{color:var(--ana);font-weight:600}
.belge-bant{display:grid;gap:6px;margin-bottom:12px}
.belge-bant div{background:#fff4e0;border:1px solid #f1d29b;color:#7a4b00;border-radius:12px;padding:10px 12px;font-size:14.5px;line-height:1.4}
.belge-bant div.doldu{background:#fde5e3;border-color:#f1b7b2;color:#8f1d16}
.puan-cip{display:inline-flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap}.puan-cip small{color:var(--soluk)}
.sofor-ek{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:3px;align-items:center}
.belge-grup{border:1px solid var(--cizgi);border-radius:12px;padding:4px 12px 12px;margin:12px 0 0}
.belge-grup legend{font-weight:700;font-size:14px;padding:0 6px}
.plaka{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.5px}
.ehliyet-sinif{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ehliyet-sinif label{margin:0;cursor:pointer}.ehliyet-sinif input{position:absolute;opacity:0;width:auto}
.ehliyet-sinif span{display:block;border:1px solid #cfd4dd;border-radius:12px;padding:10px 12px;text-align:center}
.ehliyet-sinif span b{display:block;font-size:22px}.ehliyet-sinif span small{color:var(--soluk);font-size:12px}
.ehliyet-sinif input:checked+span{background:#14213D;border-color:#14213D;color:#fff}.ehliyet-sinif input:checked+span small{color:#c9d0e2}
.ehliyet-sinif input:focus-visible+span{outline:2px solid #E8A33D}
/* Duyuru */
.duyuru-izgara{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:980px){.duyuru-izgara{grid-template-columns:1fr}}
.duyuru-izgara h2{font-size:17px;margin:18px 0 8px}
.hedefler{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media(max-width:700px){.hedefler{grid-template-columns:repeat(2,1fr)}}
.hedef{margin:0;cursor:pointer}.hedef input{position:absolute;opacity:0;width:auto}
.hedef span{display:flex;flex-direction:column;gap:2px;height:100%;border:1px solid #cfd4dd;border-radius:12px;padding:10px 11px;background:#fff}
.hedef span i{font-style:normal;font-size:22px}.hedef span b{font-size:14px}.hedef span small{color:var(--soluk);font-size:11.5px;line-height:1.3}
.hedef span small em{font-style:normal;font-weight:700;color:#1f8f4e}
.hedef.tekil span{background:#fafbfc}
.hedef input:checked+span{border-color:#14213D;box-shadow:0 0 0 2px #14213D inset;background:#f3f5fa}
.hedef input:focus-visible+span{outline:2px solid #E8A33D}
.secim-ust{display:flex;gap:10px;align-items:center;margin-top:10px}.secim-ust input{flex:1;margin:0}.secim-ust a{font-size:13px;white-space:nowrap}
.secim-liste{max-height:280px;overflow:auto;border:1px solid var(--cizgi);border-radius:12px;margin-top:6px}
.secim-liste label{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:0;border-top:1px solid var(--cizgi);cursor:pointer;color:var(--yazi)}
.secim-liste label:first-child{border-top:0}.secim-liste label:hover{background:#f6f7fa}
.secim-liste input{width:auto;margin:0}.secim-liste span{flex:1;min-width:0}.secim-liste span b{display:block;font-size:14px;font-weight:600}
.secim-liste span small{color:var(--soluk);font-size:12px}.secim-liste i{font-style:normal;font-size:12px;color:#1f8f4e;white-space:nowrap}
.secim-liste label.kapali{opacity:.6}.secim-liste label.kapali i{color:var(--soluk)}
.sablonlar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:4px}
.acil-sec{display:flex;gap:10px;align-items:flex-start;margin-top:10px;color:var(--yazi);background:#fff6f5;border:1px solid #f4cdc9;border-radius:12px;padding:10px 12px;cursor:pointer}
.acil-sec input{width:auto;margin:3px 0 0}.acil-sec span{font-size:14px}
.secenek{display:flex;flex-wrap:wrap;gap:6px}
.secenek label{margin:0;cursor:pointer}
.secenek input{position:absolute;opacity:0;pointer-events:none;width:auto}
.secenek span{display:inline-block;padding:9px 13px;border:1px solid #cfd4dd;border-radius:10px;background:#fff;font-weight:600;font-size:14px;color:var(--yazi)}
.secenek input:checked+span{background:#14213D;border-color:#14213D;color:#fff}
.secenek input:focus-visible+span{outline:2px solid #E8A33D}
.duyuru-gonder{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--cizgi)}
.duyuru-gonder .btn{padding:12px 28px;font-size:16px}
.alici-ozet{font-size:15px}.alici-ozet b{font-size:20px}.alici-ozet small{color:var(--soluk)}
.bildirim-onizleme{display:flex;gap:11px;background:#eef0f4;border-radius:16px;padding:12px;margin-bottom:10px}
.bildirim-onizleme img{width:38px;height:38px;border-radius:9px;flex:none}
.bildirim-onizleme small{color:var(--soluk);font-size:12px}.bildirim-onizleme b{display:block;font-size:14.5px;margin-top:1px}
.bildirim-onizleme p{margin:2px 0 0;font-size:14px;line-height:1.4;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.duyuru-kart{background:#fff8e6;border:1px solid #f1dca6;border-radius:var(--r);padding:12px 14px;margin-bottom:10px}
.duyuru-kart.acil{background:#fde5e3;border-color:#f1b7b2}
.duyuru-kart b{display:block}.duyuru-kart p{margin:4px 0 0;font-size:14.5px;white-space:pre-wrap}.duyuru-kart small{color:var(--soluk);font-size:12px}

/* Şoför değerlendirme formu (veli paneli ve takip ekranı) */
.gb-servisler{display:grid;gap:6px}
.gb-servis{margin:0;cursor:pointer}.gb-servis input{position:absolute;opacity:0;width:auto}
.gb-servis span{display:block;border:1px solid #cfd4dd;border-radius:12px;padding:10px 12px;background:#fff}
.gb-servis span small{display:block;color:var(--soluk);font-size:12.5px}
.gb-servis input:checked+span{border-color:#14213D;box-shadow:0 0 0 2px #14213D inset}
.gb-turler{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gb-turler label{margin:0;cursor:pointer}.gb-turler input{position:absolute;opacity:0;width:auto}
.gb-turler span{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid #cfd4dd;border-radius:12px;padding:10px 4px;background:#fff;font-weight:700;font-size:14px}
.gb-turler span i{font-style:normal;font-size:26px}
.gb-turler input:checked+span{background:#14213D;border-color:#14213D;color:#fff}
.gb-turler input:focus-visible+span,.gb-servis input:focus-visible+span{outline:2px solid #E8A33D}
.gb-yildiz{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.gb-yildiz button{font-size:38px;line-height:1;border:0;background:none;color:#d5d9e2;cursor:pointer;padding:0 2px}
.gb-yildiz button.dolu{color:#E8A33D}
.gb-yildiz .ipucu{margin-left:6px}
.gb-kayit{border-top:1px solid var(--cizgi);padding:10px 0}.gb-kayit:first-of-type{border-top:0}
.gb-kayit-bas{display:flex;justify-content:space-between;gap:8px;align-items:center}
.gb-kayit p{margin:6px 0 0;font-size:14.5px}
.gb-yanit{background:#eef4ff;border-radius:10px;padding:9px 11px;margin-top:8px;font-size:14.5px}
.gb-yanit small{display:block;color:#3d5a99;font-weight:700;font-size:12px;margin-bottom:2px}
.gb-dlg{border:0;border-radius:20px 20px 0 0;padding:0;width:100%;max-width:560px;max-height:92dvh;margin:auto auto 0;background:var(--bg)}
.gb-dlg::backdrop{background:rgba(9,13,24,.55)}
.gb-dlg-ic{padding:14px 14px calc(16px + env(safe-area-inset-bottom))}
.gb-dlg-bas{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.gb-dlg-bas b{font-size:17px}
.gb-ac-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;padding:12px;font-size:15px}
.gb-form-kart h3{font-size:17px}
.ogr-kart{background:var(--kart);border:1px solid var(--cizgi);border-radius:var(--r);padding:14px;margin-bottom:12px}
.ogr-kart h3{margin:0 0 10px}

/* Sefer geçmişi: boş (hatalı) seferler */
.bos-sefer-bant{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;background:#f6f7fa;border:1px dashed #cfd4dd;border-radius:12px;padding:9px 12px;margin:0 0 12px;font-size:14px;color:var(--soluk)}
.bos-sefer-bant span{flex:1;min-width:240px}
tr.bos-sefer{opacity:.55}
.btn.kirmizi-cizgi{color:var(--ana);border-color:#f1b7b2;background:#fff}.btn.kirmizi-cizgi:hover{background:#fff6f5}
/* Sesli arama ayarları ve aile seçimi */
.arama-alt{font-size:15px;margin:18px 0 6px;padding-top:12px;border-top:1px solid var(--cizgi,#e5e7eb)}
.arama-kosul{display:grid;gap:8px;max-width:560px}
.kosul-sec{display:flex;gap:10px;color:var(--yazi);font-size:14px;align-items:flex-start;padding:10px 12px;border:1px solid var(--cizgi,#e5e7eb);border-radius:10px;cursor:pointer;margin:0}
.kosul-sec input{width:18px;height:18px;padding:0;margin:2px 0 0;flex:0 0 18px;accent-color:var(--ana)}
.kosul-sec>span{flex:1;min-width:0}
.kosul-sec>span{display:flex;flex-direction:column;gap:2px}
.kosul-sec small{color:var(--soluk,#6b7280);font-size:12.5px}
.kosul-sec:has(input:checked){border-color:var(--ana);background:color-mix(in srgb,var(--ana) 6%,transparent)}
.arama-bant{padding:8px 14px;font-size:13px;border-top:1px solid var(--cizgi,#e5e7eb);color:var(--soluk,#6b7280)}
.arama-bant.etkin{background:color-mix(in srgb,var(--yesil) 10%,transparent);color:var(--yazi)}
.anahtar-sec.kucuk{margin:0}
/* Sefer geçmişi listesi (günlere göre gruplu kartlar) */
.sg-kart{padding:6px;max-height:calc(100vh - 230px);overflow:auto}
.sg-gun{display:flex;justify-content:space-between;align-items:baseline;padding:12px 10px 6px;font-size:12.5px;font-weight:700;color:var(--yazi);letter-spacing:.2px;position:sticky;top:-6px;background:var(--kart);z-index:1}
.sg-gun small{font-weight:500;color:var(--soluk)}
.sg-satir{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;font:inherit;color:inherit;background:none;border:1px solid transparent;border-radius:12px;padding:10px;margin:0 0 4px;cursor:pointer;transition:background .12s,border-color .12s}
.sg-satir:hover{background:#f6f7fa}
.sg-satir.secili{background:#eef4ff;border-color:#c9d9ff}
.sg-satir.bos-sefer{opacity:.55}
.sg-yon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:52px;border-radius:10px;font-size:20px;line-height:1}
.sg-yon small{font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.sg-satir.sabah .sg-yon{background:#fff4dc;color:#9a6700}
.sg-satir.aksam .sg-yon{background:#ece9ff;color:#4b3fb5}
.sg-orta{display:flex;flex-direction:column;gap:3px;min-width:0}
.sg-rota{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-alt{font-size:12.5px;color:var(--soluk);line-height:1.6}
.sg-plaka{white-space:nowrap}
.sg-plaka{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;font-weight:600;color:var(--yazi);border:1px solid #cfd4dd;border-radius:5px;padding:0 5px;background:#fff}
.sg-rozetler{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.sg-rozetler .rozet{font-size:11px;padding:1px 7px}
.sg-sayi{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;min-width:56px}
.sg-sayi b{font-size:20px}
.sg-sayi small{font-size:11.5px;color:var(--soluk)}
.sg-sayi em{font-style:normal;font-size:11.5px;color:var(--soluk);margin-top:4px;white-space:nowrap}
@media(max-width:980px){.sg-kart{max-height:none}}
/* Genel bakış: rota listesi + harita tek kartta, aynı yükseklikte */
.ga{display:grid;grid-template-columns:minmax(360px,420px) 1fr;height:640px;padding:0;overflow:hidden;margin-top:14px}
.ga-sol{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--cizgi);background:var(--kart)}
.ga-bas{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--cizgi)}
.ga-bas b{font-size:15px}
.ga-say{display:inline-block;min-width:22px;text-align:center;font-size:12px;font-weight:700;color:var(--soluk);background:#eef0f4;border-radius:999px;padding:1px 8px;margin-left:4px}
.ga-filtre{display:inline-flex;margin:0;cursor:pointer}
.ga-filtre input{position:absolute;opacity:0;width:1px;height:1px}
.ga-filtre span{font-size:12.5px;font-weight:600;color:var(--soluk);border:1px solid var(--cizgi);border-radius:999px;padding:4px 11px;transition:all .12s}
.ga-filtre span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#c2c7d0;margin-right:6px;vertical-align:1px}
.ga-filtre input:checked+span{color:var(--yesil);border-color:var(--yesil);background:#eaf6ef}
.ga-filtre input:checked+span::before{background:var(--yesil)}
.ga-liste{flex:1;overflow:auto;padding:8px}
.ga-rota{position:relative;border:1px solid transparent;border-radius:12px;padding:12px 12px 12px 18px;margin-bottom:6px;cursor:pointer;transition:background .12s,border-color .12s}
.ga-rota::before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:4px;border-radius:4px;background:var(--renk)}
.ga-rota:hover{background:#f6f7fa}
.ga-rota.secili{background:#eef4ff;border-color:#c9d9ff}
.ga-rota.seferde{border-color:var(--cizgi)}
.ga-rota.seferde.secili{border-color:#c9d9ff}
.ga-ust{display:flex;gap:10px;align-items:flex-start}
.ga-ad{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ga-ad b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-ad small{font-size:12px;color:var(--soluk);line-height:1.6}
.ga-sag{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}
.ga-durum{font-size:11.5px;font-weight:600;color:var(--soluk);background:#eef0f4;border-radius:999px;padding:2px 9px;white-space:nowrap}
.ga-durum.canli{color:var(--yesil);background:#eaf6ef}
.ga-durum.canli::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--yesil);margin-right:5px;vertical-align:1px;animation:ga-nabiz 1.6s infinite}
@keyframes ga-nabiz{0%{box-shadow:0 0 0 0 rgba(31,143,78,.5)}70%{box-shadow:0 0 0 6px rgba(31,143,78,0)}100%{box-shadow:0 0 0 0 rgba(31,143,78,0)}}
.ga-ac{font-size:12.5px;font-weight:600;color:var(--mavi);text-decoration:none;white-space:nowrap}
.ga-ac:hover{text-decoration:underline}
.ga-sefer{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.ga-ilerleme{height:5px;border-radius:5px;background:#eef0f4;overflow:hidden}
.ga-ilerleme i{display:block;height:100%;background:var(--renk);border-radius:5px;transition:width .4s}
.ga-satir2{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--soluk)}
.ga-eski{color:var(--sari);font-weight:600}
.ga-sonraki{background:#f6f7fa;border-radius:9px;padding:7px 10px;font-size:13px;display:flex;flex-direction:column;gap:2px}
.ga-sonraki>small{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--soluk)}
.ga-eta{display:block;font-size:12px;color:var(--soluk);line-height:1.9}
.ga-eta .trafik-cip{margin-left:4px;vertical-align:1px}
.ga-harita{position:relative;min-height:0}
.ga-harita #harita{height:100%;border:0;border-radius:0}
.ga-sigdir{position:absolute;top:10px;right:10px;z-index:500;font:inherit;font-size:12.5px;font-weight:600;background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:8px;padding:6px 10px;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.ga-sigdir:hover{background:#f4f5f7}
@media(max-width:980px){
  .ga{grid-template-columns:1fr;height:auto}
  .ga-harita{order:-1;height:380px}
  .ga-sol{border-right:0;border-top:1px solid var(--cizgi)}
  .ga-liste{max-height:none}
}
/* Sayfa altı */
.alt-bilgi{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 20px;max-width:1240px;margin:0 auto;padding:16px 0 22px;border-top:1px solid var(--cizgi);font-size:12.5px;color:var(--soluk)}
.alt-bilgi b{color:var(--yazi);font-weight:600}
@media(max-width:1280px){.alt-bilgi{margin:0 20px}}
@media(max-width:640px){.alt-bilgi{flex-direction:column;align-items:flex-start;margin:0 16px;padding:14px 0 20px}}
/* Canlı takipte araç işareti: haritada kolay görünsün */
.arac-isaret{position:relative}
.arac-isaret .arac-ic{position:absolute;inset:4px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#fff;border:3px solid #2563eb;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.arac-isaret .arac-ok{position:absolute;inset:4px;display:flex;align-items:center;justify-content:center;background:#2563eb;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.arac-isaret .arac-ok svg{width:22px;height:22px;transition:transform .6s ease-out}
.arac-isaret .arac-hale{position:absolute;inset:0;border-radius:50%;background:rgba(37,99,235,.35);animation:arac-nabiz 2s ease-out infinite}
@keyframes arac-nabiz{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.9);opacity:0}}
/* Takip ekranı: bugün / yarın gelmeyeceğim */
.gm-alan{margin-top:14px;padding-top:12px;border-top:1px solid var(--cizgi)}
.gm-bas{font-weight:700;font-size:14.5px;margin-bottom:8px}
.gm-dugmeler{display:grid;grid-template-columns:1fr;gap:8px}
.gm-dugmeler .btn[hidden]{display:none}
.gm-dugmeler .btn:disabled{opacity:.6}
.gm-dugmeler .btn{padding:12px 8px;font-weight:600}
.gm-satir{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:10px 12px;background:#fff7e6;border:1px solid #f3d9a4;border-radius:10px;font-size:14px}
.gm-satir small{display:block;color:var(--soluk);font-size:12.5px;margin-top:2px}
.gm-yon{display:grid;gap:6px;margin-bottom:6px}
.gm-yon label{display:flex;align-items:center;gap:10px;margin:0;padding:10px 12px;border:1px solid var(--cizgi);border-radius:10px;cursor:pointer;color:var(--yazi);font-size:14.5px}
.gm-yon input{width:18px;height:18px;margin:0;flex:0 0 18px;accent-color:var(--ana)}
.gm-yon label:has(input:checked){border-color:var(--ana);background:color-mix(in srgb,var(--ana) 6%,transparent)}
.gm-not{color:var(--ana);font-size:13px;min-height:1em;margin:6px 0 0}
/* Takip haritası: geçilen / kalan durak şeridi */
.harita-rozet .dk-ust{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px}
.harita-rozet .dk-serit{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:#dfe3ef}
.harita-rozet .dk-serit b{color:#fff;font-size:14.5px}
.harita-rozet .dk-sira{background:rgba(255,255,255,.12);border-radius:999px;padding:1px 8px;font-size:12px}
.harita-rozet:has(.dk-ust){flex-direction:column;align-items:stretch}
.harita-rozet .dk-ust i.okul{background:#22a35a;color:#fff}
/* Hava durumu (canlı takip ve şoför ekranı) */
.hava-cip{position:absolute;left:10px;top:10px;z-index:890;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.95);border-radius:999px;padding:5px 12px 5px 8px;box-shadow:0 3px 10px rgba(10,14,24,.2);font-size:13px;color:var(--yazi);pointer-events:auto}
.hava-cip.sag{left:auto;right:10px}
.hava-cip[hidden]{display:none}
.hava-cip .hv-ikon{font-size:18px;line-height:1}
.hava-cip b{font-size:15px}
.hava-cip .hv-yazi{color:var(--soluk)}
.hava-uyari{border-radius:10px;padding:9px 12px;font-size:13.5px;margin-top:10px;background:#eef4ff;color:#1e3a8a;border:1px solid #c9d9ff}
.hava-uyari.s2{background:#fff3d6;color:#6b4c00;border-color:#f1d58f}
.hava-uyari[hidden]{display:none}
/* Yatay ekran: üstte yol tarifi ve yoklama kartı olduğu için hava durumu sağ alt köşede sabit durur */
@media (orientation:landscape) and (max-height:600px){.hava-cip.sag{left:auto;right:12px;top:auto!important;bottom:12px;transform:none}}
/* Telefonda tablo yerine kartlar: her satır bir kart, her hücre etiketli satır (data-et) */
@media(max-width:700px){
  .kart-tablo,.kart-tablo tbody,.kart-tablo tr,.kart-tablo tr>*{display:block;width:100%!important}
  .kart-tablo tr.bas{display:none}
  .tablo-sar:has(.kart-tablo){overflow:visible;padding:4px 14px!important}
  .kart-tablo tr{padding:12px 0;border-bottom:1px solid var(--cizgi)}
  .kart-tablo tr:last-child{border-bottom:0}
  .kart-tablo tr:not(.bas)>*{border:0;padding:4px 0;white-space:normal!important;text-align:left!important;background:none}
  .kart-tablo tr>[data-et]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-weight:inherit}
  .kart-tablo tr>[data-et]::before{content:attr(data-et);flex:0 0 38%;color:var(--soluk);font-size:12.5px;font-weight:600;padding-top:2px;text-transform:none;letter-spacing:0}
  .kart-tablo tr>[data-et]>.d{display:block;text-align:right;flex:1;min-width:0}
  .kart-tablo tr>[data-et] .d br{display:none}
  .kart-tablo tr>[data-et] .d small,.kart-tablo tr>[data-et] .d a{display:block}
  .kart-tablo tr>[data-et] .rozet{margin-left:6px}
  .kart-tablo tr>[data-et] .cubuk{max-width:100%}
  .kart-tablo tr>.islem{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding-top:8px}
  .kart-tablo tr>.kt-baslik{font-size:15px;padding-bottom:6px}
  .kart-tablo tr>.kt-ek{display:inline-block;width:auto!important;padding:0 8px 0 0}
  .kart-tablo tr.grup>*{background:#f4f6fa;font-weight:700;padding:8px 10px;border-radius:8px}
  .kart-tablo .plaka{font-size:17px}
}
/* Öğrenci takip: kardeşler arasında bu telefonun sahibi */
.ben-alan{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px;padding:10px 12px;border-radius:10px;background:#f4f6fa;font-size:14px}
.ben-alan[hidden]{display:none}
.ben-soru{width:100%;font-weight:600}.ben-soru small{display:block;font-weight:400;color:var(--soluk);margin-top:2px}
.ben-secim{display:flex;flex-wrap:wrap;gap:8px}
/* Uzun öğrenci etiketleri telefonda sayfayı yana taşırmasın */
.ogr-cip{max-width:100%;box-sizing:border-box}
@media(max-width:700px){.ogr-cip{white-space:normal;overflow-wrap:anywhere;display:inline-block;line-height:1.45;padding:4px 10px}
  .icerik{overflow-x:clip}}

/* Dil seçici (veli / öğrenci ekranları): TR | EN */
.dil-secici{display:inline-flex;flex:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:2px;gap:2px}
.dil-secici button{border:0;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:700;letter-spacing:.04em;padding:5px 9px;border-radius:999px;cursor:pointer;opacity:.75;min-width:34px}
.dil-secici button.secili{background:#E8A33D;color:#14213D;opacity:1}
.dil-secici button:focus-visible{outline:2px solid #E8A33D;outline-offset:1px}
.giris .dil-secici,.kart .dil-secici{background:#eef1f6;border-color:#d8dde7;color:#1d2433}
/* Ayarlar: şablonun İngilizce karşılığı */
.sablon-en{margin:6px 0 4px;border:1px dashed var(--cizgi,#dde1e8);border-radius:10px;padding:6px 10px}
.sablon-en summary{cursor:pointer;font-size:13px;font-weight:600;color:#33415c}
.sablon-en summary small{font-weight:500;color:var(--soluk,#6b7280);margin-left:4px}
.sablon-en[open] summary{margin-bottom:6px}
.sablon-en textarea::placeholder{color:#9aa3b2}
/* Telefonda (iPhone Safari) 16 px'ten küçük yazılı bir kutuya odaklanınca sayfa kendiliğinden yakınlaşır: dokunmatik ekranda kutular en az 16 px */
@media (pointer:coarse){
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}
}

/* Sefer geçmişi oynatma: araç işareti, üstte plaka, altta hız ve saat */
.oyn-arac{overflow:visible}
.oyn-arac .oyn-ikon{display:block;font-size:26px;line-height:30px;text-align:center;filter:drop-shadow(0 2px 2px rgba(0,0,0,.45))}
.oyn-arac .oyn-plaka{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:3px;white-space:nowrap;background:#fff;color:#111;border:1.5px solid #1d2433;border-left:7px solid #1f4fd1;border-radius:4px;padding:1px 6px;font:700 12px/1.3 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.5px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.oyn-arac .oyn-plaka:empty{display:none}
.oyn-arac .oyn-bilgi{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:3px;white-space:nowrap;background:#14213D;color:#fff;border-radius:8px;padding:2px 8px;font-size:12px;line-height:1.35;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.oyn-arac .oyn-bilgi b{display:block;font-size:13.5px}
.oyn-arac .oyn-bilgi i{display:block;font-style:normal;color:#c6cbe0;font-size:11.5px}
.oyn-arac.hizli .oyn-bilgi{background:#c62828}

/* "Bildirimler açık" sayfanın en altında */
.bildirim-alt:not(:empty){margin-top:14px}
.bildirim-ust-sofor:not(:empty){margin-bottom:10px}
.bildirim-alt .kur-acik{font-size:13.5px}

/* Rota: özel akşam sırası için sabah / akşam sekmesi */
.sira-sekme{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#eef0f4;border-radius:12px;padding:3px;margin:12px 0 2px}
.sira-sekme button{border:0;background:transparent;border-radius:9px;padding:9px 8px;font:inherit;font-size:14px;font-weight:600;color:#5b6475;cursor:pointer}
.sira-sekme button.secili{background:#fff;color:#14213D;font-weight:700;box-shadow:0 1px 3px rgba(16,24,40,.18)}
.durak-liste.sira-kilitli .tutamac{opacity:.3;cursor:not-allowed}
/* Canlı takip: uzun düğme yazıları (özellikle İngilizce) alt satıra geçsin, sayfa yana kaymasın */
.gm-dugmeler .btn,.gb-ac-btn,.kartalt .btn{white-space:normal;text-align:center;line-height:1.3;min-width:0;max-width:100%}
.kartalt,.kartalt > *{min-width:0;max-width:100%}
