:root{
  --ink:#0E1530; --go:#19C37D; --go-koyu:#087443; --go-acik:#EDFBF4;
  --zemin:#F4F6FA; --beyaz:#fff; --cizgi:#E3E7EF; --girdi:#D5DBE7; --soluk:#5A6478; --metin2:#3B4560;
  --amber:#FFE3A8; --mavi:#D5E4FF; --deniz:#DCE6F4; --kara:#E4E9F2;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; --baslik:'Outfit','Inter',system-ui,sans-serif;
  --golge:0 2px 10px rgba(14,21,48,.06); --golge-buyuk:0 18px 50px rgba(14,21,48,.18);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--zemin);line-height:1.45;font-size:16px}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--baslik);letter-spacing:-.5px;margin:0}
img,svg{max-width:100%}
button,input,select,textarea{font-family:inherit;font-size:16px;color:var(--ink)}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--go-koyu);outline-offset:2px}
.gizli-alan{position:absolute;left:-9999px;height:0;overflow:hidden}

/* ---- üst çubuk ve logo ---- */
.ust{background:#fff;border-bottom:1px solid var(--cizgi);flex-shrink:0;position:relative;z-index:1100}
.ust-ic{padding:10px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;max-width:1400px;margin:0 auto}
.logo{display:inline-flex;align-items:center;font-family:var(--baslik);font-weight:700;font-size:26px;letter-spacing:-.8px;line-height:1;color:var(--ink)}
.logo .go{margin-left:3px;background:var(--go);color:var(--ink);border-radius:9px;padding:1px 8px 3px;font-weight:800;display:inline-block;transform:skewX(-8deg)}
.logo .go span{display:inline-block;transform:skewX(8deg)}
.logo.buyuk{font-size:44px}
.ust-nav{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:15px;font-weight:500;color:var(--soluk);flex-grow:1}
.ust-nav a:hover{color:var(--ink)}
.ust-sag{display:flex;align-items:center;gap:8px;margin-left:auto}
.sekme-grup{display:flex;gap:4px;background:#EEF1F7;padding:4px;border-radius:12px}
.sekme-grup a{padding:9px 16px;border-radius:9px;font-size:14px;font-weight:600;color:var(--soluk);transition:background .15s,color .15s}
.sekme-grup a.aktif{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 2px 6px rgba(14,21,48,.12)}
.rozet{min-width:22px;height:22px;border-radius:99px;background:var(--ink);color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}

/* ---- düğmeler ve form ---- */
.dugme{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:14px;border:0;font-weight:700;font-size:16px;background:var(--ink);color:#fff;min-height:48px;text-align:center;transition:transform .08s,filter .15s}
.dugme:hover{filter:brightness(1.12)} .dugme:active{transform:scale(.98)}
.dugme.sari{background:var(--go);color:var(--ink);font-weight:800}
.dugme.cizgili{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.dugme.hafif{background:#EEF1F7;color:var(--ink)}
.dugme.kucuk{padding:9px 16px;min-height:42px;font-size:15px;border-radius:12px}
.dugme.tehlike{background:#B3261E;color:#fff}
.dugme.blok{display:flex;width:100%}
.baglanti{color:var(--go-koyu);font-weight:700}
.baglanti:hover{text-decoration:underline}
.alan{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.alan>span.not{font-weight:400;color:var(--soluk)}
.alan input,.alan select,.alan textarea,.girdi{height:52px;border:1.5px solid var(--girdi);border-radius:14px;padding:0 14px;background:#fff;width:100%}
.alan textarea{height:auto;padding:12px 14px;resize:vertical}
.alan input:focus,.alan select:focus,.alan textarea:focus{border-color:var(--go-koyu);outline:none;box-shadow:0 0 0 4px rgba(25,195,125,.2)}
.alan-etiket{font-size:11px;font-weight:700;color:var(--soluk);letter-spacing:.7px}
.izgara2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.satir{display:flex;flex-wrap:wrap;gap:16px}
.satir>*{flex:1 1 240px;min-width:0}

/* ---- kartlar, çipler ---- */
.kart{background:#fff;border-radius:22px;padding:24px;box-shadow:var(--golge)}
.cip{display:inline-block;padding:3px 10px;background:#EEF1F7;border-radius:99px;font-size:13px;color:var(--metin2);font-weight:500}
.cip.yesil{background:var(--go-acik);color:var(--go-koyu);font-weight:600}
.etiket{display:inline-block;padding:3px 11px;border-radius:99px;font-size:12px;font-weight:700}
.etiket.bos{background:var(--amber)} .etiket.yuk{background:var(--mavi)}
.etiket.gri{background:#EEF1F7;color:var(--soluk)}
.soluk{color:var(--soluk)}
.bildirim-alani{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:2000;display:flex;flex-direction:column;gap:8px;width:min(560px,calc(100% - 24px))}
.bildirim{padding:14px 18px;border-radius:14px;font-weight:600;box-shadow:0 8px 24px rgba(14,21,48,.25);background:var(--ink);color:#fff;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;animation:gir .25s ease}
.bildirim.hata{background:#B3261E}.bildirim.ok{background:var(--go-koyu)}.bildirim.uyari{background:#7A5900}
.bildirim button{background:none;border:0;color:inherit;font-size:20px;line-height:1;padding:0 4px}
@keyframes gir{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---- uygulama: tam ekran harita + yüzen panel ---- */
body.app-sayfa .ust-ic{max-width:none}
body.app-sayfa{height:100vh;overflow:hidden}
.uygulama{flex-grow:1;position:relative;min-height:0;background:var(--deniz)}
.harita-alani{position:absolute;inset:0}
#harita{position:absolute;inset:0;background:var(--deniz)}
#harita.leaflet-container{font-family:var(--font);background:var(--deniz);outline:none}
.leaflet-interactive,.leaflet-interactive:focus,svg path:focus{outline:none!important}
.leaflet-container,.leaflet-container *{-webkit-tap-highlight-color:transparent}
.leaflet-touch .leaflet-bar{border:0;box-shadow:0 6px 20px rgba(14,21,48,.15);border-radius:14px;overflow:hidden}
.leaflet-touch .leaflet-bar a{width:44px;height:44px;line-height:44px;color:var(--ink);border-color:var(--cizgi)}
.leaflet-tooltip{border:0;border-radius:10px;padding:6px 12px;font-weight:700;color:var(--ink);box-shadow:0 6px 18px rgba(14,21,48,.2)}
.leaflet-tooltip-top:before{display:none}
.sol{position:absolute;left:20px;top:20px;bottom:20px;width:420px;max-width:calc(100% - 40px);background:#fff;border-radius:24px;box-shadow:var(--golge-buyuk);display:flex;flex-direction:column;overflow:hidden;z-index:1000}
.arama{padding:16px 16px 12px;display:flex;flex-direction:column;gap:10px}
.rota-kutu{display:flex;flex-direction:column;gap:8px;position:relative}
.rota-alan{display:flex;align-items:center;gap:12px;height:52px;padding:0 8px 0 14px;border-radius:14px;background:var(--zemin);position:relative;transition:background .15s}
.rota-alan:focus-within{background:#E8EEF8}
.rota-alan .nokta{width:12px;height:12px;border-radius:50%;background:var(--ink);flex-shrink:0}
.rota-alan.varis .nokta{background:var(--go);border:3px solid var(--ink)}
.rota-alan select{flex:1;min-width:0;height:100%;border:0;background:transparent;font-weight:600;font-size:16px;appearance:none;-webkit-appearance:none;padding:0;cursor:pointer;text-overflow:ellipsis}
.rota-alan select:focus{outline:none}
.rota-alan::after{content:'';position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2.5px solid var(--soluk);border-bottom:2.5px solid var(--soluk);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.rota-alan.dolu::after{display:none}
.rota-alan .temizle{position:relative;z-index:2}
.rota-alan .temizle{width:36px;height:36px;border:0;background:transparent;border-radius:50%;font-size:22px;line-height:1;color:var(--soluk);display:none}
.rota-alan.dolu .temizle{display:block}
.rota-alan .temizle:hover{background:#DCE3F0;color:var(--ink)}
.filtre-satiri{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filtre-satiri select,.filtre-satiri input{height:40px;border:0;border-radius:99px;padding:0 14px;background:#EEF1F7;font-size:14px;font-weight:600;max-width:100%}
.filtre-satiri input[type=date]{min-width:140px}
.sonuc-ust{padding:2px 18px 10px;font-size:13px;color:var(--soluk);display:flex;justify-content:space-between;align-items:center;gap:8px}
.sonuc-ust b{color:var(--ink)}
.liste{flex-grow:1;overflow-y:auto;padding:0 12px 12px;display:flex;flex-direction:column;gap:8px;transition:opacity .18s;scrollbar-width:thin}
.liste.yukleniyor{opacity:.45}
.ilan-kart{display:flex;flex-direction:column;gap:8px;padding:15px 16px;border-radius:18px;border:1px solid var(--cizgi);background:#fff;transition:border-color .15s,background .15s,transform .15s;animation:gir .25s ease}
.ilan-kart:hover{border-color:var(--go);background:var(--go-acik);transform:translateY(-1px)}
.ilan-kart .ust-satir{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ilan-rota{font-family:var(--baslik);font-weight:700;font-size:20px;line-height:1.2}
.cipler{display:flex;flex-wrap:wrap;gap:6px}
.bos-kart{border:1.5px dashed #C5CEE0;border-radius:18px;padding:18px;text-align:center;color:var(--soluk);line-height:1.5}
.sayfalama{display:flex;justify-content:center;gap:8px;padding:8px 0}
.sayfalama a,.sayfalama span{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;border:1px solid var(--cizgi);font-weight:600}
.sayfalama .su{background:var(--ink);color:#fff;border-color:var(--ink)}
.harita-ipucu{position:absolute;right:76px;top:20px;z-index:900;background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 6px 20px rgba(14,21,48,.15);font-size:13px;color:var(--soluk);pointer-events:none;transition:opacity .4s}
.harita-ipucu b{color:var(--ink)}
.baloncuk{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:800;font-family:var(--font);background:#fff;color:var(--ink);box-shadow:0 4px 12px rgba(14,21,48,.25);transition:transform .2s}
.baloncuk:hover{transform:scale(1.12)}
.baloncuk.kalkis{background:var(--ink);color:#fff}
.baloncuk.varis{background:var(--go);color:var(--ink);box-shadow:0 0 0 7px rgba(25,195,125,.28)}
.baloncuk.yeni{animation:zipla .35s ease}
@keyframes zipla{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
/* il etiketleri */
.il-etiket{position:absolute;white-space:nowrap;font-family:var(--font)}
.il-etiket.soluk{font-size:10px;font-weight:600;color:#566079;opacity:.9;transform:translate(-50%,-50%);text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 2px #fff}
.il-etiket.aktif{display:flex;align-items:center;gap:6px;background:#fff;color:var(--ink);border-radius:99px;padding:4px 5px 4px 11px;font-size:13px;font-weight:700;box-shadow:0 4px 14px rgba(14,21,48,.3);cursor:pointer;transition:box-shadow .15s,filter .15s}
.il-etiket.aktif:hover{box-shadow:0 6px 18px rgba(14,21,48,.4);filter:brightness(1.04)}
.il-etiket.aktif .sayi{min-width:20px;height:20px;border-radius:99px;background:var(--go);color:var(--ink);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 5px}
.il-etiket.aktif:not(:has(.sayi)){padding-right:11px}
.il-etiket.kalkis{background:var(--ink);color:#fff}
.il-etiket.kalkis .sayi{background:#fff;color:var(--ink)}
.il-etiket.varis{background:var(--go);color:var(--ink)}
.il-etiket.varis .sayi{background:var(--ink);color:#fff}
path.rota-hatti{stroke-dasharray:1 12;stroke-linecap:round;animation:akis 1.2s linear infinite}
@keyframes akis{to{stroke-dashoffset:-13}}
path.il{transition:fill .18s,fill-opacity .18s}

/* ---- sayfa düzenleri ---- */
.sayfa{max-width:1200px;margin:0 auto;padding:32px 20px 80px;width:100%}
.sayfa-dar{max-width:560px}
.sayfa h1{font-size:36px;line-height:1.1;font-weight:800}
.sayfa .alt{color:var(--soluk);font-size:17px;margin:6px 0 0}
.iki-sutun{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;margin-top:26px}
.iki-sutun>.ana{flex:1 1 620px;min-width:0;display:flex;flex-direction:column;gap:18px}
.iki-sutun>.yan{flex:0 1 330px;min-width:260px;display:flex;flex-direction:column;gap:16px}
.adim-baslik{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.adim-baslik .no{width:32px;height:32px;border-radius:50%;background:var(--go);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
.adim-baslik h2{font-size:22px}
.tur-secici{display:flex;gap:6px;background:#fff;padding:6px;border-radius:18px;box-shadow:var(--golge)}
.tur-secici label{flex:1;cursor:pointer}
.tur-secici input{position:absolute;opacity:0}
.tur-secici span{display:block;padding:14px 16px;border-radius:13px;font-weight:700;color:var(--metin2);font-size:17px}
.tur-secici small{display:block;font-size:13px;font-weight:500;opacity:.8;margin-top:2px}
.tur-secici input:checked+span{background:var(--ink);color:#fff;font-weight:800}
.tur-secici input:focus-visible+span{outline:3px solid var(--go-koyu)}
.koyu-kart{background:var(--ink);color:#fff;border-radius:22px;padding:26px}
.koyu-kart h3{font-size:28px;line-height:1.15;margin:8px 0;font-weight:800}
.panel-duzen{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.panel-menu{flex:0 1 230px;min-width:200px;display:flex;flex-direction:column;gap:4px}
.panel-menu a{padding:13px 16px;border-radius:14px;font-weight:600;color:var(--metin2);display:flex;justify-content:space-between;align-items:center}
.panel-menu a:hover{background:#EAEFF8}
.panel-menu a.aktif{background:var(--go);color:var(--ink);font-weight:700}
.panel-icerik{flex:1 1 640px;min-width:0;display:flex;flex-direction:column;gap:22px}
.puan{width:64px;height:64px;border-radius:50%;background:var(--go);display:flex;align-items:center;justify-content:center;font-family:var(--baslik);font-weight:800;font-size:24px;flex-shrink:0}
.eslesme{border:1px solid var(--cizgi);border-radius:18px;padding:16px;display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center}
.eslesme:first-child{background:var(--go-acik);border:1.5px solid var(--go)}
.eslesme>.metin{flex:1 1 280px;min-width:0}
.anahtar{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--cizgi)}
.anahtar:last-child{border-bottom:0}
.anahtar .metin{flex-grow:1}
.anahtar .metin small{display:block;color:var(--soluk);font-size:14px}
.anahtar input{position:absolute;opacity:0}
.anahtar .dugme-an{width:52px;height:30px;border-radius:99px;background:#B8C0D2;position:relative;flex-shrink:0;transition:background .15s}
.anahtar .dugme-an::after{content:'';position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:left .15s}
.anahtar input:checked~.dugme-an{background:var(--go)}
.anahtar input:checked~.dugme-an::after{left:25px}
.anahtar input:focus-visible~.dugme-an{outline:3px solid var(--go-koyu);outline-offset:2px}
.tablo-satir{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px 0;border-top:1px solid var(--cizgi)}
.tablo-satir>.ana{flex:1 1 280px;min-width:0}
.bilgi-izgara{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.bilgi-izgara div{background:var(--zemin);border-radius:14px;padding:12px}
.bilgi-izgara small{display:block;font-size:11px;color:var(--soluk);font-weight:700;letter-spacing:.5px}
.bilgi-izgara b{font-size:16px}
.yol{display:flex;gap:14px}
.yol .cizgi{display:flex;flex-direction:column;align-items:center;padding-top:8px}
.yol .nokta{width:12px;height:12px;border-radius:50%;background:var(--ink)}
.yol .nokta.son{background:var(--go);border:3px solid var(--ink)}
.yol .hat{flex-grow:1;border-left:3px dotted var(--go);margin:4px 0;min-height:36px}
.yol .noktalar{display:flex;flex-direction:column;gap:14px}
.yol small{font-size:11px;font-weight:700;color:var(--soluk);letter-spacing:.5px}
.yol .yer{font-family:var(--baslik);font-weight:700;font-size:24px;line-height:1.15}
.mesaj-kutusu{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;padding:4px}
.balon{max-width:80%;padding:10px 14px;border-radius:18px;background:#EEF1F7;align-self:flex-start;white-space:pre-wrap;word-break:break-word}
.balon.ben{background:var(--ink);color:#fff;align-self:flex-end}
.balon small{display:block;opacity:.65;font-size:12px;margin-top:4px}
.ayrac{height:1px;background:var(--cizgi);margin:6px 0}
.tablo{width:100%;border-collapse:collapse;font-size:15px}
.tablo th,.tablo td{text-align:left;padding:10px 8px;border-top:1px solid var(--cizgi)}
.alt-bilgi{background:var(--ink);color:#AEB6C8;margin-top:auto}
.alt-bilgi .ic{max-width:1200px;margin:0 auto;padding:28px 20px;display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;font-size:14px}
.alt-bilgi a:hover{color:#fff}
.alt-bilgi .logo{color:#fff}
.yazi p,.yazi li{line-height:1.7;color:var(--metin2)}
.yazi h2{font-size:22px;margin:28px 0 8px}

/* ---- telefon ---- */
@media (max-width:760px){
  body.app-sayfa{height:auto;overflow:visible}
  .ust-ic{padding:8px 14px}
  .ust-nav{display:none}
  .logo{font-size:23px}
  .sekme-grup{order:3;width:100%}
  .sekme-grup a{flex:1;text-align:center}
  .uygulama{display:flex;flex-direction:column}
  .harita-alani{position:relative;inset:auto;height:44vh;min-height:300px}
  .sol{position:relative;left:auto;top:auto;bottom:auto;width:auto;max-width:none;margin-top:-26px;border-radius:26px 26px 0 0;box-shadow:0 -12px 40px rgba(14,21,48,.2);overflow:visible}
  .liste{overflow:visible}
  .harita-ipucu{display:none}
  .sayfa h1{font-size:30px}
  .izgara2{grid-template-columns:1fr}
  .kart{padding:18px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
