  :root{
    /* KOYU tema (varsayilan) */
    --panel:#0b0e11; --cizgi:#1e2630;
    --interceptor:#35d0ff; --caymaz:#ffb02e;
    --metin:#cfd8e3; --soluk:#5c6b7a; --iyi:#3ddc84; --kotu:#ff5d5d;
    --uyari:#ffc94d; --panel-gen:300px;
    --bar-arka1:rgba(11,14,17,.95); --bar-arka2:rgba(11,14,17,.75);
    --panel-arka:rgba(11,14,17,.94);
    --giris-arka:#060809; --dugme-arka:#141a21; --dugme-hover:#1c2530;
    --rozet-arka:rgba(0,0,0,.4); --beyaz:#fff;
    --dunya:#0b0e11;
  }
  :root[data-tema="acik"]{
    --panel:#f2f4f7; --cizgi:#d0d7e0;
    --interceptor:#0077b6; --caymaz:#b06d00;
    --metin:#2a3542; --soluk:#71808f; --iyi:#1a9e5c; --kotu:#d63333;
    --uyari:#b58900;
    --bar-arka1:rgba(245,247,250,.96); --bar-arka2:rgba(245,247,250,.82);
    --panel-arka:rgba(245,247,250,.95);
    --giris-arka:#ffffff; --dugme-arka:#e4e9ef; --dugme-hover:#d6dde6;
    --rozet-arka:rgba(255,255,255,.55); --beyaz:#111820;
    --dunya:#dfe6ee;
  }
  html,body{margin:0;padding:0;height:100%;overflow:hidden;
    font-family:"Segoe UI",system-ui,sans-serif;background:#000;}

  /* =============================================================
     FLEX YERLESIM ISKELETI
     body (column):  ustBar / anaAlan (row) / altBar
     anaAlan (row):  solPanel / haritaAlan (flex:1) / sagPanel
     ============================================================= */
  body{display:flex;flex-direction:column;}
  #anaAlan{flex:1 1 auto;display:flex;flex-direction:row;
    min-height:0;position:relative;}
  #haritaAlan{flex:1 1 auto;position:relative;min-width:0;}
  #cesiumContainer{position:absolute;inset:0;}

  /* Ust durum cubugu */
  #ustBar{flex:0 0 42px;height:42px;z-index:2500;position:relative;
    display:flex;align-items:center;justify-content:space-between;padding:0 16px;
    background:linear-gradient(180deg, var(--bar-arka1) 0%, var(--bar-arka2) 100%);
    border-bottom:1px solid var(--cizgi);color:var(--metin);
    font-size:13px;letter-spacing:.04em;box-sizing:border-box;}
  /* v2.3.3: acik temada ustBar eski parlak gradyanini korur; koyu temada
     tema degiskenlerinden gelen koyu zemin kullanilir (baslik okunurlugu) */
  :root[data-tema="acik"] #ustBar{
    background:radial-gradient(ellipse at 30% 20%, rgba(255,255,255,.25), transparent 60%),
      linear-gradient(180deg, #dce3ec 0%, #e4eaf1 45%, #eff3f7 100%);}
  #ustBarSol {display:flex;align-items:center;gap:8px;flex:1;}
  #ustBarOrta {display:flex;align-items:center;justify-content:center;gap:10px;flex:1;}
  #ustBarSag {display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1;}
  #ustBar .baslik{font-weight:bold;color:var(--beyaz);letter-spacing:.12em;}
  #logo{height:26px;width:auto;display:block;}
  .nokta{width:8px;height:8px;border-radius:50%;background:var(--soluk);}
  .nokta.aktif{background:var(--iyi);box-shadow:0 0 6px var(--iyi);}
  .nokta.kayip{background:var(--kotu);}
  /* Alt durum cubugu (footer) */
  #altBar{flex:0 0 26px;height:26px;z-index:10;
    display:flex;align-items:center;gap:18px;padding:0 12px;
    box-sizing:border-box;background:var(--bar-arka1);
    border-top:1px solid var(--cizgi);
    color:var(--soluk);font-family:Consolas,monospace;font-size:11px;}
  #altBar .f-iyi{color:var(--iyi);}
  #altBar .f-kotu{color:var(--kotu);}
  #altBar .f-uyari{color:var(--uyari);}
  #altBar .atif{margin-left:auto;opacity:.7;}

  /* Angaje Ol Dugmesi (sag panelde) */
  #btnAngaje {
    background: #b91c1c;
    color: #fff;
    border: 1px solid #dc2626;
    border-radius: 3px;
    cursor: pointer;
    letter-spacing: 0.08em;
    transition: background 0.2s, box-shadow 0.2s;
  }
  #btnAngaje:hover:not(:disabled) {
    background: #dc2626;
    box-shadow: 0 0 10px rgba(220, 38, 38, 0.6);
  }
  #btnAngaje:disabled {
    background: #3a1111;
    border-color: #5c2020;
    color: #7a4444;
    cursor: not-allowed;
    opacity: 0.7;
  }
  #btnAngaje.aktif {
    background: #b45309;
    border-color: #d97706;
    animation: angaje-pulse 1.2s infinite;
  }
  #btnAngaje.aktif:hover {
    background: #d97706;
  }
  @keyframes angaje-pulse {
    0%,100% { box-shadow: 0 0 4px rgba(217,119,6,0.4); }
    50% { box-shadow: 0 0 12px rgba(217,119,6,0.8); }
  }

  /* =============================================================
     PANEL TOOLBAR + SABIT BASLIK + YUZEN PANELLER
     ============================================================= */
  .panel-toolbar {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
    padding: 6px 10px;
    border-bottom: 1px solid var(--cizgi);
    background: rgba(0,0,0,.22);
    flex: 0 0 auto;
  }
  :root[data-tema="acik"] .panel-toolbar {
    background: rgba(0,0,0,.06);
  }
  .tb-etiket {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    color: var(--soluk);
    user-select: none;
    flex: 0 0 auto;
  }
  .tb-ayrac {
    width: 1px;
    align-self: stretch;
    margin: 3px 4px;
    background: var(--cizgi);
    flex: 0 0 auto;
  }
  /* Esnek bosluk: baslik solda kalir, dugmeler saga yaslanir */
  .tb-bosluk { flex: 1 1 auto; min-width: 8px; }
  .tb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    flex: 0 0 auto;
    font-size: 13px;
    border-radius: 4px;
  }
  .tb-btn i { width: auto; text-align: center; opacity: .85; margin: 0; }
  .tb-btn.acik {
    background: var(--dugme-hover);
    border-color: var(--vurgu, #6bd8b9);
  }
  .tb-btn.acik i { opacity: 1; }
  /* Bolum baslik bari icindeki baslik metni (ikon + yazi, solda) */
  .tb-baslik {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--metin);
    user-select: none;
    flex: 0 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .tb-baslik i.fa-solid {
    width: 16px;
    text-align: center;
    opacity: .85;
    flex: 0 0 auto;
  }
  /* Sabit (accordion olmayan) panel basligi */
  h2.sabit-baslik {
    margin: 0 !important;
    padding: 10px 20px 10px 5px;
    padding-left: 5px;
    background: rgba(0,0,0,.22);
    border-bottom: 1px solid var(--cizgi);
    user-select: none;
    flex: 0 0 auto;
  }
  :root[data-tema="acik"] h2.sabit-baslik {
    background: rgba(0,0,0,.06);
  }
  h2.sabit-baslik i.fa-solid {
    width: 16px;
    text-align: center;
    margin-right: 6px;
    opacity: .85;
  }
  .sabit-icerik {
    flex: 1 1 auto;
    min-height: 0; /* flex tasmasini engelle: scroll bu alanda kalir */
    overflow-y: auto;
    overflow-x: hidden;
    padding: 5px;
    display: flex;
    flex-direction: column;
    scrollbar-gutter: stable;
  }
  /* Kartlar flex icinde EZILMESIN; tasma scroll'a donussun */
  .sabit-icerik > * { flex: 0 0 auto; }
  /* ---- Sik ince scrollbar (liste alanlari + popup icerikleri) ---- */
  .sabit-icerik::-webkit-scrollbar,
  .yuzen-icerik::-webkit-scrollbar {
    width: 8px;
  }
  .sabit-icerik::-webkit-scrollbar-track,
  .yuzen-icerik::-webkit-scrollbar-track {
    background: transparent;
    margin: 4px 0;
  }
  .sabit-icerik::-webkit-scrollbar-thumb,
  .yuzen-icerik::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--soluk) 45%, transparent);
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: padding-box;
    min-height: 32px;
    transition: background .2s;
  }
  .sabit-icerik::-webkit-scrollbar-thumb:hover,
  .yuzen-icerik::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--soluk) 75%, transparent);
    background-clip: padding-box;
  }
  .sabit-icerik::-webkit-scrollbar-corner,
  .yuzen-icerik::-webkit-scrollbar-corner { background: transparent; }
  /* Firefox */
  .sabit-icerik, .yuzen-icerik {
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--soluk) 45%, transparent) transparent;
  }
  /* Yuzen paneller — ARAYUZ AYARLARI popup'i ile ayni kalip:
     toolbar dugmesinin hizasinda sabit konumda acilir, SURUKLENMEZ.
     Konum JS tarafindan dugmenin ekran konumuna gore ayarlanir. */
  .yuzen-panel {
    position: fixed;
    width: 340px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--panel-arka);
    border: 1px solid var(--cizgi);
    border-radius: 6px;
    box-shadow: 0 8px 32px rgba(0,0,0,.5);
    z-index: 1250;
    padding: 0;
    color: var(--metin);
    font-size: 13px;
  }
  .yuzen-panel.yuzen-gizli { display: none; }
  .yuzen-baslik {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid var(--cizgi);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .1em;
    user-select: none;
    flex: 0 0 auto;
    cursor: grab;
    touch-action: none;
  }
  .yuzen-panel.surukleniyor .yuzen-baslik { cursor: grabbing; }
  .yuzen-panel.surukleniyor { opacity: .92; }
  .yuzen-baslik i.fa-solid { margin-right: 6px; opacity: .85; }
  .yuzen-kapat {
    background: none !important;
    border: none !important;
    color: var(--metin);
    cursor: pointer;
    font-size: 16px;
    padding: 4px 6px;
  }
  .yuzen-kapat:hover { color: var(--kotu); }
  .yuzen-kapat i { margin-right: 0 !important; }
  .yuzen-icerik {
    padding: 14px;
    overflow-y: auto;
    flex: 1 1 auto;
  }
  /* =============================================================
     ALT-ORTA PANEL: haritanin altinda, %50 KONSOL + %50 GRAFIK
     ============================================================= */
  #altOrtaPanel {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 8;
    background: rgba(10, 14, 18, 0.92);
    border-top: 1px solid #000;
    display: flex;
    flex-direction: column;
  }
  #altOrtaBaslik {
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    cursor: pointer;
    user-select: none;
    color: #9fb0bf;               /* tema bagimsiz: zemin her temada koyu */
    font-size: 11px;
    letter-spacing: .08em;
    background: rgba(11, 14, 17, 0.95);  /* tema bagimsiz koyu baslik zemini */
  }
  /* Panel zemini her temada koyudur; hover renkleri tema degiskenlerinden
     bagimsiz sabit acik tonlar olmalidir (acik temada --beyaz koyu oldugundan
     yazi zeminle ayni renge dusup kayboluyordu) */
  #altOrtaBaslik:hover { color: #ffffff; background: rgba(255,255,255,0.12); }
  #altOrtaBaslik i { opacity: .85; }
  #altOrtaOk { transition: transform .25s ease; }
  #altOrtaPanel.kapali #altOrtaOk { transform: rotate(180deg); }
  #altOrtaGovde {
    height: 170px;              /* sabit yukseklik */
    display: flex;
    flex-direction: row;
  }
  #altOrtaPanel.kapali #altOrtaGovde { display: none; }
  #konsolYari {
    flex: 0 0 50%;
    max-width: 50%;
    background: #000;
    border-right: 1px solid #000;
    box-sizing: border-box;
  }
  #grafikYari {
    flex: 0 0 50%;
    max-width: 50%;
    background: #0c1116;
    box-sizing: border-box;
    padding: 4px;
  }
  #hedefGrafik {
    display: block;
    width: 100%;
    height: 100%;
  }
  /* KONSOL (siyah arkaplan, backend geri bildirimleri) */
  #konsolKutu {
    height: 100%;
    box-sizing: border-box;
    overflow-y: auto;
    background: #000;
    color: #c8d3dc;
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    line-height: 1.5;
    padding: 6px 8px;
    white-space: pre-wrap;
    word-break: break-word;
  }
  #konsolKutu::-webkit-scrollbar { width: 6px; }
  #konsolKutu::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; }
  .k-satir { display: block; }
  .k-zaman { color: #5a6673; }
  .k-kaynak { color: #9ad1ff; }
  .k-bilgi  { color: #c8d3dc; }
  .k-uyari  { color: #ffd166; }
  .k-hata   { color: #ff6b6b; }
  .k-basari { color: #6bd8b9; }
  /* ARAYUZ AYARLARI ici alt bolumler */
  .alt-bolum {
    border: 1px solid var(--cizgi);
    border-radius: 6px;
    padding: 8px;
    margin-bottom: 8px;
  }
  .alt-bolum:last-child { margin-bottom: 0; }
  .alt-baslik {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--soluk);
    border-bottom: 1px solid var(--cizgi);
    padding-bottom: 6px;
  }
  .alt-baslik i.fa-solid {
    width: 14px;
    text-align: center;
    margin-right: 5px;
    opacity: 0.8;
  }

  /* Radar saglik telemetri satirlari */
  .rs-satir {
    display: flex; justify-content: space-between; align-items: center;
    padding: 3px 0; font-size: 11px;
    border-bottom: 1px dashed var(--cizgi);
  }
  .rs-satir:last-child { border-bottom: none; }
  .rs-etiket { color: var(--soluk); }
  .rs-deger { font-family: Consolas, monospace; color: var(--metin); }

  /* Kayit dugmesi ve listesi */
  #kayitNokta { color: var(--soluk); }
  #btnKayit.kayitta #kayitNokta {
    color: #e05555; animation: kayitYanip 1s infinite;
  }
  #btnKayit.kayitta { border-color: #e05555; }
  @keyframes kayitYanip { 0%,100% {opacity:1;} 50% {opacity:.25;} }
  .kayit-satir {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 8px; margin-bottom: 4px;
    background: rgba(0,0,0,.15); border: 1px solid var(--cizgi);
    border-radius: 4px;
  }
  .kayit-ad {
    font-size: 11px; font-family: Consolas, monospace;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .kayit-meta { font-size: 10px; color: var(--soluk); margin-top: 2px; }
  .kayit-dugmeler { display: flex; gap: 4px; flex: 0 0 auto; }
  .kayit-dugmeler button {
    width: 26px; height: 26px; padding: 0; font-size: 11px;
    display: inline-flex; align-items: center; justify-content: center;
  }

  /* Replay rozeti: harita ustu sabit gosterge */
  #replayRozet {
    position: absolute; top: 10px; left: 50%; transform: translateX(-50%);
    z-index: 20; background: rgba(217,119,6,.92); color: #fff;
    padding: 5px 14px; border-radius: 4px; font-size: 11px;
    font-weight: 700; letter-spacing: .08em;
    box-shadow: 0 2px 12px rgba(0,0,0,.4); pointer-events: none;
    font-family: Consolas, monospace;
  }

  /* Rota duzenleme rozeti: harita ustu sabit gosterge (replayRozet benzeri) */
  #rotaRozet {
    position: absolute; top: 10px; left: 50%; transform: translateX(-50%);
    z-index: 20; background: rgba(37,99,235,.92); color: #fff;
    padding: 5px 14px; border-radius: 4px; font-size: 11px;
    font-weight: 700; letter-spacing: .08em;
    box-shadow: 0 2px 12px rgba(0,0,0,.4); pointer-events: none;
    font-family: Consolas, monospace;
  }
  /* Rota duzenleme modunda harita cercevesi */
  #haritaAlan.rota-duzenleme {
    box-shadow: inset 0 0 0 3px rgba(59,130,246,.85);
  }
  #haritaAlan.rota-duzenleme #cesiumContainer { cursor: crosshair; }
  /* Bos panel gostergesi: buyuk gri ikon + aciklama */
  .bos-panel {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 12px; padding: 28px 10px;
    color: var(--soluk); opacity: .55; user-select: none;
  }
  .bos-panel i { font-size: 64px; }
  .bos-panel span {
    font-size: 11px; letter-spacing: .12em; font-weight: 600;
    text-align: center;
  }
  .bos-panel.gizli { display: none; }

  /* Panel ac/kapat dugmesi */
  #btnKullanicilar, #btnLokasyonlar{
    width:30px;height:30px;padding:0;font-size:15px;line-height:1;
    display:inline-flex;align-items:center;justify-content:center;}

  /* Sol Tespit Edilen Hedefler Paneli (flex ogesi) */
  #solPanel {
    flex: 0 0 280px;
    width: 280px;
    display: flex;
    flex-direction: column;
    z-index: 9;
    box-sizing: border-box;
    padding: 0px;
    overflow: hidden; /* kaydirma panelin genelinde degil, .sabit-icerik icinde */
    background: var(--panel-arka);
    border-right: 1px solid var(--cizgi);
    color: var(--metin);
    font-size: 13px;
    transition: flex-basis .25s ease, width .25s ease, padding .25s ease;
  }
  body.sol-panel-gizli #solPanel {
    flex-basis: 0; width: 0; padding: 0; border-right: none; overflow: hidden;
  }
  body.sag-panel-gizli #sagPanel {
    flex-basis: 0 !important; width: 0 !important; min-width: 0 !important;
    padding: 0; border-left: none; overflow: hidden;
  }
  #solPanel > * { flex: 0 0 auto; }
  #solPanel > .sabit-icerik { flex: 1 1 auto; min-height: 0; }
  /* Sol panel iki bolge: TESPIT (3) + TAKIP (2) */
  #solPanel > #hedefListeIcerik { flex: 3 1 0; min-height: 0; }
  #solPanel > #takipListeIcerik { flex: 2 1 0; min-height: 0; }
  #takipBaslik { border-top: 1px solid var(--cizgi); }
  /* Hedef karti basligindaki mini toolbar (fokus / takip et / takipten cik) */
  .rh-tb { display: flex; gap: 4px; margin-left: auto; align-items: center; flex: 0 0 auto; }
  .rh-tb-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 20px; padding: 0;
    background: var(--dugme-arka); border: 1px solid var(--cizgi);
    border-radius: 3px; color: var(--soluk); font-size: 10px; cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
  }
  .rh-tb-btn:hover { color: var(--beyaz); background: var(--dugme-hover); }
  .rh-tb-btn.takip { color: #7dc4f5; }
  .rh-tb-btn.takip:hover { background: #1a3a5c; border-color: #2a6a8c; }
  .rh-tb-btn.birak { color: #f5a0a0; }
  .rh-tb-btn.birak:hover { background: #5c1a1a; border-color: #8c2a2a; }
  .rh-tb-btn.gizli { display: none; }
  /* Takipteki hedef kartinda renk noktasi vurgusu */
  .dron-kart.takipte .rh-kare { box-shadow: 0 0 6px 1px rgba(125,196,245,.7); }
  /* ===== PROGRAM HAKKINDA POPUP'I (logo buraya tasindi, 20260726n) ===== */
  #yzHakkinda { width: 300px; }
  .hk-icerik { text-align: center; padding: 18px 20px 14px; }
  #hkLogoKutu {
    position: relative;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer; user-select: none;
    overflow: hidden;
    transition: background .25s;
  }
  /* Hover'da soldan saga kayan isik suzmesi efekti */
  #hkLogoKutu::after {
    content: "";
    position: absolute; top: 0; bottom: 0;
    left: -75%; width: 50%;
    background: linear-gradient(105deg, transparent,
      color-mix(in srgb, var(--metin) 18%, transparent), transparent);
    transform: skewX(-20deg);
    pointer-events: none;
  }
  #hkLogoKutu:hover::after {
    animation: logoIsiltisi .9s ease forwards;
  }
  @keyframes logoIsiltisi {
    from { left: -75%; }
    to   { left: 125%; }
  }
  #hkLogoKutu img {
    max-width: 100%;
    max-height: 52px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 1px 6px rgba(0,0,0,.25));
    transition: transform .25s ease;
  }
  #hkLogoKutu:hover img { transform: scale(1.04); }
  /* Koyu temada renkli/koyu logolarin gorunurlugu icin yumusak parlak hale */
  :root:not([data-tema="acik"]) #hkLogoKutu img {
    filter: drop-shadow(0 0 10px rgba(255,255,255,.55))
            drop-shadow(0 0 22px rgba(255,255,255,.28));
  }
  .hk-program {
    margin-top: 12px; font-size: 18px; font-weight: 700;
    letter-spacing: 3px; color: var(--metin);
  }
  .hk-surum { margin-top: 3px; font-size: 12px; color: var(--soluk); }
  .hk-ayrac { height: 1px; margin: 12px 8px; background: var(--cizgi); }
  .hk-baslik {
    font-size: 11px; font-weight: 700; letter-spacing: 1.5px;
    text-transform: uppercase; color: var(--interceptor);
    margin-bottom: 7px;
  }
  .hk-ekip { font-size: 12.5px; color: var(--metin); line-height: 1.85; }
  .hk-telif { margin-top: 12px; font-size: 10.5px; color: var(--soluk); }
  /* ===== RADAR KAPALI MODU (Program Ayarlari > C20 RADAR kapali) ===== */
  /* Sol panel + tutamaci tamamen gizle */
  body.radar-kapali #solPanel { display: none; }
  body.radar-kapali #solTutamac { display: none; }
  /* (v2.4.0c) Popup'a ayrilmis tespit/takip bolumleri #solPanel disinda
     (body altinda) oldugu icin ayrica gizlenmeli */
  body.radar-kapali #bolumPopup_tespit { display: none !important; }
  body.radar-kapali #bolumPopup_takip { display: none !important; }
  /* (v2.4.0c) Alt-orta panel artik RADAR + AI TESPIT sekmeli: radar
     kapaliyken yalnizca RADAR sekmesi ve grafigi gizlenir, AI TESPIT kalir */
  body.radar-kapali #sekmeRadar { display: none; }
  body.radar-kapali #hedefGrafik { display: none !important; }
  /* (20260726n) Logo sol panelden kaldirildi; yuzen logo stilleri de
     kaldirildi. Logo artik Yardim > Program Hakkinda popup'unda. */

  /* ===== PROGRAM AYARLARI POPUP'I ===== */
  .prog-ayar-popup { width: 250px; }
  .prog-ayar-govde { display: flex; flex-direction: column; gap: 8px; }
  .prog-ayar-satir {
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px; padding: 4px 2px;
  }
  .prog-ayar-etiket {
    font-size: 12px; font-weight: 600; color: var(--metin);
    display: inline-flex; align-items: center; gap: 7px;
  }
  .prog-ayar-etiket i { color: var(--interceptor); }
  .prog-ayar-aciklama {
    font-size: 10px; color: var(--soluk); opacity: .8;
    padding: 0 2px 2px;
  }
  /* Kaydirmali anahtar (toggle switch) */
  .prog-anahtar {
    position: relative; display: inline-block;
    width: 40px; height: 20px; flex: 0 0 auto;
  }
  .prog-anahtar input { opacity: 0; width: 0; height: 0; }
  .prog-anahtar-top {
    position: absolute; inset: 0; cursor: pointer;
    background: var(--cizgi); border-radius: 20px;
    transition: background .2s;
  }
  .prog-anahtar-top::before {
    content: ""; position: absolute;
    width: 14px; height: 14px; left: 3px; top: 3px;
    background: var(--soluk); border-radius: 50%;
    transition: transform .2s, background .2s;
  }
  .prog-anahtar input:checked + .prog-anahtar-top {
    background: var(--interceptor);
  }
  .prog-anahtar input:checked + .prog-anahtar-top::before {
    transform: translateX(20px); background: #fff;
  }
  /* Yonetici olmayanlarda kilitli anahtar */
  .prog-anahtar-kilitli .prog-anahtar-top {
    cursor: not-allowed; opacity: .45;
  }
  .prog-ayar-kilit-uyari {
    color: var(--uyari); opacity: 1;
    display: flex; align-items: center; gap: 6px;
    padding-top: 6px; margin-top: 4px;
    border-top: 1px solid var(--cizgi);
  }

  #solPanel h2 {
    margin: 0 0 14px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .14em;
    color: var(--beyaz);
    border-bottom: 1px solid var(--cizgi);
    padding-bottom: 10px;
  }
  .dron-kart {
    border-radius: 4px;
    margin: 0 0 6px 0;
    background: var(--giris-arka);
    border: 1px solid var(--cizgi);
    overflow: hidden;
  }
  .dron-kart.kayip { opacity: 0.75; }
  .dron-kart.kayip .rh-baslik { font-style: italic; color: var(--soluk); }
  .dron-kart-baslik {
    padding: 10px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    /* Baslik zemini temaya bagli sabittir; tip/durum rengi yalnizca
       basliktaki kare gostergede (.rh-kare) gosterilir */
    justify-content: space-between;
    align-items: center;
    user-select: none;
    background: var(--dugme-arka);
    color: var(--metin);
    border-bottom: 1px solid var(--cizgi);
  }
  .dron-kart-baslik.kapali {
    border-bottom: none;
  }
  /* Dron-dron takip: takip eden + takip edilen kart basliklarinda
     kalin MOR ust cizgi (takip grubunu gorsel olarak baglar) */
  .dron-kart-baslik.takip-mor {
    border-top: 4px solid #a855f7;
    box-shadow: inset 0 2px 6px rgba(168, 85, 247, 0.35);
  }
  .dron-kart-baslik:hover {
    background: var(--dugme-hover);
  }
  .dron-kart-baslik::after { display: none; }
  .dk-nokta {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--soluk); flex-shrink: 0; margin-right: 8px;
  }
  /* Manuel kontrol (joystick) anahtari:
     aksiyon barinda dk-tel-hucre gorunumundedir; ozel kurallar
     .dk-telemetri .dk-joy-btn secicilerindedir. */
  .dk-joy-btn .dk-joy-durum { font-weight: 700; letter-spacing: .4px; }
  @keyframes dkJoyNabiz {
    0%, 100% { box-shadow: 0 0 0 0 rgba(46, 204, 113, .45); }
    50%      { box-shadow: 0 0 0 5px rgba(46, 204, 113, 0); }
  }
  /* Etiketleme satiri (Faz 2 — yalniz replay modunda gorunur) */
  .rh-etiket-satir {
    display: flex; align-items: center; gap: 4px; flex-wrap: wrap;
    margin-top: 6px; padding-top: 6px;
    border-top: 1px dashed var(--cizgi);
  }
  .rh-etiket-satir.gizli { display: none; }
  .rh-etiket-baslik {
    font-size: 9px; font-weight: 700; letter-spacing: .5px;
    color: var(--soluk); margin-right: 2px;
  }
  .rh-etiket-dgm {
    font-size: 9px; font-weight: 600; padding: 2px 6px;
    background: transparent; color: var(--metin);
    border: 1px solid var(--cizgi); border-radius: 3px; cursor: pointer;
    transition: background .12s, border-color .12s;
  }
  .rh-etiket-dgm:hover { border-color: var(--iyi); }
  .rh-etiket-dgm.secili {
    background: var(--iyi); border-color: var(--iyi); color: #fff;
  }
  :root[data-tema="acik"] .rh-etiket-dgm.secili { color: #fff; }
  /* Radar hedef karti: baslik basindaki kare durum gostergesi (tip rengi) */
  .rh-kare {
    width: 10px; height: 10px; border-radius: 2px;
    background: var(--soluk); flex: 0 0 auto; margin-right: 8px;
  }
  .rh-baslik {
    flex: 1; text-align: left; font-size: 12px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .dk-ad {
    flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-size: 12px;
  }
  .dk-ok {
    font-size: 10px; opacity: 0.6; transition: transform 0.2s;
    margin-left: 6px;
  }
  .dron-kart-baslik.kapali .dk-ok { transform: rotate(-90deg); }

  .dk-irtifa {
    width: 56px; padding: 3px 4px; border: 1px solid var(--cizgi);
    border-radius: 3px; background: var(--giris-arka); color: var(--metin);
    font-size: 11px; text-align: center;
  }
  .dk-irtifa-brm { font-size: 10px; color: var(--soluk); }
  /* Telemetri: en fazla 2 satir; fazlasi yatay kaydirma ile gorulur */
  .dk-telemetri {
    margin-bottom: 4px;
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    grid-auto-columns: calc(50% - 3px);
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--vurgu) 55%, transparent) transparent;
    cursor: grab;
  }
  /* SIK INCE SCROLLBAR: gorunmez ray uzerinde yuvarlak degrade tutamac;
     normalde neredeyse silik, kartin uzerine gelince belirginlesir */
  .dk-telemetri::-webkit-scrollbar { height: 5px; }
  .dk-telemetri::-webkit-scrollbar-track {
    background: transparent;
    margin: 0 14px;
  }
  .dk-telemetri::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg,
      color-mix(in srgb, var(--vurgu) 35%, transparent),
      color-mix(in srgb, var(--vurgu) 60%, transparent));
    border-radius: 999px;
    border: 1px solid transparent;
    background-clip: padding-box;
    transition: background .25s;
  }
  .dk-telemetri:hover::-webkit-scrollbar-thumb,
  .dk-telemetri.surukleniyor::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg,
      color-mix(in srgb, var(--vurgu) 70%, transparent),
      var(--vurgu));
    background-clip: padding-box;
  }
  /* Surukleyerek kaydirma (drag-to-scroll) durumu */
  .dk-telemetri.surukleniyor { cursor: grabbing; scroll-behavior: auto; }
  .dk-telemetri.surukleniyor .dk-tel-hucre { pointer-events: none; }
  .dk-telemetri .dk-tel-hucre { scroll-snap-align: start; }
  /* Aksiyon hucreleri (tip + Takeoff/Land + joystick + UDP) telemetri
     izgarasinin DEVAMINDA yer alir. Dinamik hucreler .dk-tel-dinamik
     kapsayicisina yazilir; display:contents ile grid akisini bozmaz ve
     innerHTML yenilenmesi kalici aksiyon hucrelerini silmez. */
  .dk-tel-dinamik { display: contents; }
  /* Hucre gorunumlu dugme: dk-tel-hucre temel stilini alir */
  .dk-hucre-btn {
    font-family: inherit;
    cursor: pointer;
    transition: border-color .15s, background .15s, transform .1s;
  }
  .dk-hucre-btn:hover:not(:disabled) { border-color: var(--vurgu); }
  .dk-hucre-btn:active:not(:disabled) { transform: scale(.97); }
  .dk-hucre-btn:disabled { opacity: .4; cursor: not-allowed; }
  .dk-hucre-btn i { font-size: 20px; line-height: 1; color: var(--soluk); }
  .dk-tip-ikon { cursor: help; }
  .dk-tip-ad {
    font-size: 10px; text-transform: uppercase;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    max-width: 100%;
  }
  .dk-tkland.takeoff i { color: var(--iyi); }
  .dk-tkland.takeoff .dk-tel-deger { color: var(--iyi); }
  .dk-tkland.takeoff:hover:not(:disabled) { background: color-mix(in srgb, var(--iyi) 12%, transparent); border-color: var(--iyi); }
  .dk-tkland.land i { color: var(--uyari); }
  .dk-tkland.land .dk-tel-deger { color: var(--uyari); }
  .dk-tkland.land:hover:not(:disabled) { background: color-mix(in srgb, var(--uyari) 12%, transparent); border-color: var(--uyari); }
  .dk-udp-btn i { color: var(--iyi); }
  .dk-udp-btn .dk-tel-deger { color: var(--iyi); }
  .dk-udp-btn:hover:not(:disabled) { border-color: var(--iyi); background: color-mix(in srgb, var(--iyi) 10%, transparent); }
  /* Joystick hucresi: acikken yesil nabiz */
  .dk-telemetri .dk-joy-btn { margin-right: 0; }
  .dk-telemetri .dk-joy-btn .dk-joy-durum { font-size: 11px; }
  .dk-telemetri .dk-joy-btn.acik {
    background: color-mix(in srgb, var(--iyi) 18%, transparent);
    border-color: var(--iyi);
    animation: dkJoyNabiz 2s ease-in-out infinite;
  }
  .dk-telemetri .dk-joy-btn.acik i,
  .dk-telemetri .dk-joy-btn.acik .dk-joy-durum { color: var(--iyi); }
  /* Drona odaklan dugmesi: icerik sag ust kosesi (renk karesinin simetrigi) */
  .dk-fokus-btn {
    position: absolute; right: 10px; top: 10px;
    width: 22px; height: 22px;
    display: flex; align-items: center; justify-content: center;
    background: transparent; border: 1px solid var(--cizgi);
    border-radius: 4px; cursor: pointer;
    color: var(--soluk); font-size: 12px;
    z-index: 4;
    transition: color .15s, border-color .15s;
  }
  .dk-fokus-btn:hover { color: var(--vurgu); border-color: var(--vurgu); }
  .dk-tel-hucre {
    display: flex; flex-direction: column; align-items: center;
    gap: 3px; padding: 8px 4px;
    background: rgba(0,0,0,.18); border: 1px solid var(--cizgi);
    border-radius: 5px; text-align: center; min-width: 0;
  }
  :root[data-tema="acik"] .dk-tel-hucre { background: rgba(0,0,0,.05); }
  .dk-tel-hucre i {
    font-size: 20px; line-height: 1;
  }
  .dk-tel-deger {
    font-family: Consolas, monospace; font-size: 12px; font-weight: 700;
    color: var(--metin); white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis; max-width: 100%;
  }
  .dk-tel-etiket {
    font-size: 9px; letter-spacing: .1em; color: var(--soluk);
    text-transform: uppercase;
  }
  /* Detayli telemetri popup'i (menu > Telemetri) */
  .dk-telemetri-popup { width: 250px; }
  .dk-telpop-govde { max-height: 60vh; overflow-y: auto; }
  .dk-telpop-satir {
    display: flex; justify-content: space-between; align-items: baseline;
    gap: 8px; padding: 3px 0;
    border-bottom: 1px dashed var(--cizgi);
  }
  .dk-telpop-satir:last-child { border-bottom: none; }
  .dk-telpop-etiket { color: var(--soluk); font-size: 10px; flex: 0 0 auto; }
  .dk-telpop-deger {
    font-family: Consolas, monospace; font-size: 11px; color: var(--metin);
    text-align: right; min-width: 0; overflow-wrap: anywhere;
  }
  .dk-telpop-yok {
    text-align: center; color: var(--kotu); padding: 12px 0;
    font-family: Consolas, monospace; font-size: 11px;
  }
  /* KOMPAKT GORUNUM (ayrik kartta basliga cift tik):
     yalniz ucus gostergeleri gorunur, telemetri satirlari gizlenir */
  .dron-kart.ayrik.kompakt .dk-telemetri { display: none; }
  .dron-kart-icerik {
    padding: 10px;
    font-family: Consolas, monospace;
    font-size: 12px;
    line-height: 1.5;
    transition: max-height 0.3s ease;
    overflow: hidden;
    position: relative;   /* renk karesi (absolute) referansi */
  }
  .dron-kart-icerik.gizli {
    max-height: 0 !important;
    padding-top: 0;
    padding-bottom: 0;
    border-top: none;
  }
  .dron-kart-icerik div {
    margin-bottom: 4px;
  }
  .dron-kart-icerik span.etiket {
    color: var(--soluk);
    display: inline-block;
    width: 60px;
  }

  /* Hedef filtre bolumu (sol panel) */
  .filtre-satir { margin-bottom: 12px; }
  .filtre-satir .f-baslik {
    display: flex; justify-content: space-between; align-items: baseline;
    margin-bottom: 4px;
  }
  .filtre-satir .f-baslik label {
    margin: 0; color: var(--soluk); font-size: 10px;
    letter-spacing: .08em; text-transform: uppercase;
  }
  .filtre-satir .f-deger {
    font-family: Consolas, monospace; font-size: 11px; color: var(--metin);
  }
  /* Cift uclu slider: iki input ust uste bindirilir */
  .cift-slider {
    position: relative; height: 22px;
  }
  .cift-slider input[type=range] {
    position: absolute; left: 0; top: 0; width: 100%; margin: 0;
    -webkit-appearance: none; appearance: none;
    background: transparent; pointer-events: none; height: 22px;
  }
  .cift-slider input[type=range]::-webkit-slider-runnable-track {
    height: 4px; background: transparent;
  }
  .cift-slider input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; pointer-events: auto;
    width: 14px; height: 14px; border-radius: 50%;
    background: #3a6ea5; border: 2px solid var(--beyaz);
    margin-top: -5px; cursor: pointer;
  }
  .cift-slider input[type=range]::-moz-range-thumb {
    pointer-events: auto; width: 12px; height: 12px; border-radius: 50%;
    background: #3a6ea5; border: 2px solid var(--beyaz); cursor: pointer;
  }
  .cift-slider .ray {
    position: absolute; left: 0; right: 0; top: 9px; height: 4px;
    background: var(--cizgi); border-radius: 2px;
  }
  .cift-slider .ray-dolgu {
    position: absolute; top: 9px; height: 4px;
    background: #3a6ea5; border-radius: 2px;
  }
  .filtre-satir.devre-disi .ray-dolgu { background: var(--soluk); opacity: .4; }
  .filtre-satir.devre-disi .f-deger { color: var(--soluk); }
  /* Tip filtre onay kutulari */
  .tip-filtre {
    display: grid; grid-template-columns: 1fr 1fr; gap: 4px 8px;
  }
  .tip-filtre label {
    display: flex; align-items: center; gap: 6px; margin: 0;
    font-size: 11px; color: var(--metin); cursor: pointer;
    text-transform: none; letter-spacing: 0;
  }
  .tip-filtre input[type=checkbox] { accent-color: #3a6ea5; cursor: pointer; }

  /* Panel resize tutamac */
  .panel-tutamac {
    flex: 0 0 6px; width: 6px; cursor: col-resize;
    display: flex; align-items: center; justify-content: center;
    background: var(--panel-arka); position: relative; z-index: 11;
    transition: background 0.15s;
  }
  .panel-tutamac:hover, .panel-tutamac.aktif {
    background: rgba(58, 110, 165, 0.35);
  }
  .tutamac-cizgi {
    width: 2px; height: 32px; border-radius: 1px;
    background: var(--soluk); opacity: 0.5; transition: opacity 0.15s, height 0.15s;
  }
  .panel-tutamac:hover .tutamac-cizgi, .panel-tutamac.aktif .tutamac-cizgi {
    opacity: 1; height: 48px; background: #3a6ea5;
  }

  /* Bolum resize tutamac (panel ici, yatay) */
  .bolum-tutamac {
    flex: 0 0 7px; height: 7px; cursor: row-resize;
    display: flex; align-items: center; justify-content: center;
    background: var(--panel-arka); position: relative; z-index: 11;
    border-top: 1px solid var(--cizgi);
    transition: background 0.15s; touch-action: none;
  }
  .bolum-tutamac:hover, .bolum-tutamac.aktif {
    background: rgba(58, 110, 165, 0.35);
  }
  .bolum-tutamac-cizgi {
    height: 2px; width: 32px; border-radius: 1px;
    background: var(--soluk); opacity: 0.5;
    transition: opacity 0.15s, width 0.15s;
  }
  .bolum-tutamac:hover .bolum-tutamac-cizgi,
  .bolum-tutamac.aktif .bolum-tutamac-cizgi {
    opacity: 1; width: 48px; background: #3a6ea5;
  }

  /* Sag ayar paneli (flex ogesi) */
  #sagPanel{flex:0 0 var(--panel-gen);width:var(--panel-gen);
    display:flex;flex-direction:column;
    z-index:9;box-sizing:border-box;padding:0px;
    overflow:hidden; /* kaydirma panelin genelinde degil, .sabit-icerik icinde */
    background:var(--panel-arka);border-left:1px solid var(--cizgi);
    color:var(--metin);font-size:13px;
    transition:flex-basis .25s ease,width .25s ease,padding .25s ease;}
  body.panel-gizli #sagPanel{
    flex-basis:0;width:0;padding:0;border-left:none;overflow:hidden;}
  #sagPanel > * { flex: 0 0 auto; }
  #sagPanel > .sabit-icerik { flex: 1 1 auto; min-height: 0; }
  /* Sag panel uc bolge: DRONLAR (3) + KAMERALAR (2) + ROTALAR (2) */
  #sagPanel > #dronlarIcerik { flex: 3 1 0; min-height: 0; }
  #sagPanel > #kameralarIcerik { flex: 2 1 0; min-height: 0; }
  #sagPanel > #rotalarIcerik { flex: 2 1 0; min-height: 0; }
  #rotalarToolbar { border-top: 1px solid var(--cizgi); }
  #kameralarToolbar { border-top: 1px solid var(--cizgi); }

  /* ---- KAMERALAR ---- */
  .kam-satir {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; padding: 7px 8px; border: 1px solid var(--cizgi);
    border-radius: 4px; margin-bottom: 6px; background: var(--giris-arka);
    transition: background .15s;
  }
  .kam-satir:hover { background: var(--dugme-hover); }
  .kam-satir-sol {
    display: flex; align-items: center; gap: 7px; min-width: 0; flex: 1 1 auto;
  }
  .kam-ikon { color: var(--soluk); font-size: 12px; flex: 0 0 auto; }
  .kam-ikon-aktif { color: #22c55e; }
  .kam-ad {
    font-size: 12px; color: var(--metin); white-space: nowrap;
    overflow: hidden; text-overflow: ellipsis; min-width: 0;
  }
  .kam-prot-rozet {
    flex: 0 0 auto; font-size: 9px; font-weight: 700; letter-spacing: .06em;
    padding: 2px 5px; border-radius: 3px; color: #fff;
  }
  .kam-prot-rtsp  { background: #7c3aed; }
  .kam-prot-rtp   { background: #0d9488; }
  .kam-prot-mjpeg { background: #d97706; }
  .kam-prot-hls   { background: #2563eb; }
  .kam-prot-http  { background: #64748b; }
  .kam-araclar { display: flex; gap: 4px; flex: 0 0 auto; }
  .kam-btn {
    width: 24px; height: 22px; display: inline-flex; align-items: center;
    justify-content: center; background: var(--dugme-arka);
    border: 1px solid var(--cizgi); border-radius: 3px; cursor: pointer;
    color: var(--soluk); font-size: 10px; padding: 0; transition: all .15s;
  }
  .kam-btn:hover { color: var(--beyaz); border-color: #3a6ea5; }
  .kam-btn-play:hover { color: #22c55e; border-color: #22c55e; }
  .kam-btn-stop { color: #ef4444; }
  .kam-btn-stop:hover { color: #ef4444; border-color: #ef4444; }
  .kam-btn-sil:hover { color: #ef4444; border-color: #ef4444; }
  .kam-blok { margin-bottom: 6px; }
  .kam-blok .kam-satir { margin-bottom: 0; border-radius: 4px 4px 0 0; }
  .kam-video-kutu {
    position: relative; background: #000; border: 1px solid var(--cizgi);
    border-top: none; border-radius: 0 0 4px 4px; overflow: hidden;
    aspect-ratio: 16 / 9;
  }
  .kam-video {
    width: 100%; height: 100%; object-fit: contain; display: block;
    background: #000;
  }
  .kam-hata::after {
    content: "\26a0 YAYIN ALINAMIYOR"; position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    color: #ef4444; font-size: 11px; letter-spacing: .08em;
    background: rgba(0,0,0,.65);
  }
  .kam-bos-onizleme {
    width: 100%; height: 100%; display: flex; align-items: center;
    justify-content: center; color: var(--soluk); font-size: 20px;
  }
  /* Onizleme (izgara) gorunumu */
  .kam-izgara { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .kam-kart {
    border: 1px solid var(--cizgi); border-radius: 4px;
    background: var(--giris-arka); overflow: hidden;
  }
  .kam-kart-baslik {
    display: flex; align-items: center; justify-content: space-between;
    gap: 6px; padding: 6px 8px;
  }
  .kam-kart .kam-video-kutu { border: none; border-radius: 0; }
  .kam-kart .kam-araclar { padding: 6px 8px; justify-content: flex-end; }
  /* Ayrik tasinabilir pencere */
  .kam-pencere {
    position: fixed; z-index: 2400; width: 480px; max-width: 92vw;
    background: var(--panel-arka, #10151c); border: 1px solid #3a6ea5;
    border-radius: 6px; box-shadow: 0 8px 30px rgba(0,0,0,.55);
    display: flex; flex-direction: column; overflow: hidden;
  }
  .kam-pencere-baslik {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; padding: 7px 10px; cursor: move; user-select: none;
    background: var(--dugme-arka); border-bottom: 1px solid var(--cizgi);
    font-size: 12px; color: var(--beyaz); letter-spacing: .05em;
  }
  .kam-pencere-baslik i { color: #3b82f6; margin-right: 4px; }
  .kam-pencere-video {
    border: none; border-radius: 0; resize: both; min-width: 320px;
    min-height: 180px; max-width: 90vw; max-height: 80vh;
  }
  .kam-pencere-alt {
    display: flex; justify-content: flex-end; padding: 6px 10px;
    border-top: 1px solid var(--cizgi);
  }
  /* Kamera modal */
  #kamModalKutu {
    width: 380px; max-width: 92vw; background: var(--panel-arka, #10151c);
    border: 1px solid var(--cizgi); border-radius: 6px; overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,.6);
  }
  #kamModalKutu label { display: block; margin: 10px 0 5px; color: var(--soluk);
    font-size: 11px; letter-spacing: .08em; }
  #kamModalKutu label:first-child { margin-top: 0; }
  #kamHata { color: #ef4444; font-size: 11px; min-height: 14px; margin-top: 8px; }
  #sagPanel h2{margin:0 0 14px;font-size:12px;font-weight:600;
    letter-spacing:.14em;color:var(--beyaz);border-bottom:1px solid var(--cizgi);
    padding-bottom:10px;}
  .alan{margin-bottom:14px;}
  .alan label{display:block;margin-bottom:5px;color:var(--soluk);
    font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
  .satir{display:flex;gap:8px;}
  select,input[type=text],input[type=number]{width:100%;box-sizing:border-box;padding:8px 10px;
    background:var(--giris-arka);border:1px solid var(--cizgi);border-radius:3px;
    color:var(--metin);font-family:Consolas,monospace;font-size:13px;}
  select:focus,input:focus{outline:none;border-color:#3a6ea5;}
  button{padding:8px 14px;border:1px solid var(--cizgi);border-radius:3px;
    background:var(--dugme-arka);color:var(--metin);cursor:pointer;font-size:13px;
    letter-spacing:.04em;}
  button:hover{background:var(--dugme-hover);border-color:var(--soluk);}
  button:disabled{opacity:.45;cursor:default;}
  /* GENEL KURAL: metinli dugmelerde ikon ile metin arasi 6px bosluk.
     Yalniz-ikonlu dugmelerde (span yok) bosluk uygulanmaz. */
  button:has(> i + span) > i { margin-right: 6px; }
  #btnBaglan{width:100%;padding:10px;font-weight:600;letter-spacing:.08em;}
  #btnBaglan.bagli{background:#2a1214;border-color:#5c2b2e;color:#ffb3b3;}
  #btnBaglan.bagli:hover{background:#3a181b;}
  :root[data-tema="acik"] #btnBaglan.bagli{
    background:#fde8e8;border-color:#e5a4a4;color:#a02020;}
  #btnYenile{flex:0 0 auto;}

  /* Tema secici */
  .tema-grup{display:flex;gap:0;border:1px solid var(--cizgi);
    border-radius:3px;overflow:hidden;}
  .tema-grup button{flex:1;border:none;border-radius:0;padding:9px;}
  .tema-grup button.secili{background:#3a6ea5;color:#fff;}

  #seriDurumKutu{margin-top:4px;padding:10px 12px;border-radius:3px;
    border:1px solid var(--cizgi);background:var(--giris-arka);
    font-family:Consolas,monospace;font-size:12px;line-height:1.6;}
  #seriDurumKutu .d-kapali{color:var(--soluk);}
  #seriDurumKutu .d-baglaniyor{color:var(--uyari);}
  #seriDurumKutu .d-bagli{color:var(--iyi);}
  #seriDurumKutu .d-hata{color:var(--kotu);}
  #seriHata{color:var(--kotu);margin-top:6px;word-break:break-word;
    white-space:pre-wrap;display:none;}

  .ipucu{color:var(--soluk);font-size:11px;line-height:1.5;margin-top:16px;
    border-top:1px solid var(--cizgi);padding-top:12px;}

  .cesium-viewer-bottom{display:none;}

  /* ===== DRON KARTI: UCUS GOSTERGELERI (KARUSEL) ===== */
  .dk-gos-dis { margin-bottom: 8px; }
  .dk-gosterge-kutu {
    display: flex; flex-wrap: nowrap; gap: 6px;
    justify-content: center; align-items: center;
    padding: 4px 0;
  }
  .dk-gos-sahne {
    width: 160px; height: 160px; flex: 0 0 auto;
    display: flex; justify-content: center; align-items: center;
  }
  .dk-gosterge { display: inline-block; line-height: 0; }
  .dk-gos-ok {
    width: 26px; height: 56px; padding: 0; flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--giris-arka); border: 1px solid var(--cizgi);
    color: var(--soluk); border-radius: 4px; cursor: pointer;
    font-size: 13px; line-height: 1;
  }
  .dk-gos-ok:hover { background: var(--dugme-hover); color: var(--metin); }
  .dk-gos-alt {
    display: flex; justify-content: center; align-items: center;
    gap: 10px; margin-top: 2px;
  }
  .dk-gos-ad {
    font-size: 9px; font-weight: 700; letter-spacing: .1em;
    color: var(--soluk); text-transform: uppercase;
    font-family: Consolas, monospace;
  }
  .dk-gos-noktalar { display: inline-flex; gap: 5px; align-items: center; }
  .dk-gos-nokta {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--cizgi); cursor: pointer;
    transition: background .15s;
  }
  .dk-gos-nokta:hover { background: var(--soluk); }
  .dk-gos-nokta.aktif { background: var(--vurgu, #7dc4f5); }

  /* ===== DRON KARTI: IKONLU KOMUT TOOLBAR'I ===== */
  .dk-toolbar {
    display: flex; flex-wrap: nowrap; gap: 4px;
    align-items: center; justify-content: center;
    margin-top: 8px; padding-top: 8px;
    border-top: 1px solid var(--cizgi);
    position: relative;
  }
  .dk-tb-btn {
    width: 30px; height: 30px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 4px; border: 1px solid; cursor: pointer;
    font-size: 13px; line-height: 1;
  }
  .dk-tb-btn:disabled { opacity: 0.35; cursor: not-allowed; }
  /* Tum komut dugmeleri TEK TIP renk (tb-btn ile ayni gorunum) */
  .dk-tb-btn {
    background: var(--dugme-arka);
    border-color: var(--cizgi);
    color: var(--metin);
  }
  .dk-tb-btn i { opacity: .85; }
  .dk-tb-btn:hover:not(:disabled) {
    background: var(--dugme-hover);
    border-color: var(--vurgu, #6bd8b9);
  }
  .dk-tb-btn:hover:not(:disabled) i { opacity: 1; }

  /* ===== DRON RENK KARESI (kart iceriginde sol ust: 10px/10px) ===== */
  .dk-renk-kare {
    position: absolute; left: 10px; top: 10px;
    width: 12px; height: 12px;
    border-radius: 3px; background: #888;
    box-shadow: 0 0 4px rgba(0,0,0,.4);
    z-index: 4; cursor: help;
  }

  /* ===== TIKLANABILIR TELEMETRI HUCRELERI + AD ===== */
  .dk-tel-hucre {
    cursor: pointer;
    transition: background .12s, border-color .12s, transform .08s;
  }
  .dk-tel-hucre:hover {
    background: var(--cizgi);
    border-color: var(--vurgu, #6bd8b9);
  }
  .dk-tel-hucre:active { transform: scale(.97); }
  .dk-ad.tiklanabilir { cursor: pointer; border-radius: 3px; padding: 0 3px; }
  .dk-ad.tiklanabilir:hover { background: var(--cizgi); text-decoration: underline; }

  /* ===== MOD SECIM POPUP'I ===== */
  .dk-mod-popup { width: 232px; }
  .dk-mod-izgara {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px;
  }
  .dk-mod-btn {
    padding: 8px 2px; font-size: 9.5px; font-weight: 700;
    letter-spacing: .03em;
    background: transparent; border: 1px solid var(--cizgi);
    border-radius: 4px; color: var(--metin); cursor: pointer;
    transition: background .12s, border-color .12s;
  }
  .dk-mod-btn:hover { background: var(--cizgi); border-color: var(--vurgu, #6bd8b9); }
  .dk-mod-btn.aktif {
    background: var(--vurgu, #3b5c8f); border-color: var(--vurgu, #3b5c8f);
    color: #fff; cursor: default;
  }

  /* ===== DRON HISTORY POPUP ===== */
  .gecmis-popup {
    position: fixed; z-index: 2600;
    width: 760px; height: 480px;
    min-width: 560px; min-height: 360px;
    display: flex; flex-direction: column;
    background: var(--panel-arka); border: 1px solid var(--cizgi);
    border-radius: 8px; box-shadow: 0 12px 36px rgba(0,0,0,.6);
    font-size: 11px; color: var(--metin);
    padding: 10px; overflow: hidden;
  }
  .gc-govde {
    flex: 1 1 auto; min-height: 0;
    display: flex; gap: 8px;
  }
  .gc-sol {
    flex: 0 0 220px; min-width: 180px;
    display: flex; flex-direction: column;
    border: 1px solid var(--cizgi); border-radius: 6px;
    overflow: hidden;
  }
  .gc-liste { flex: 1 1 auto; overflow-y: auto; padding: 4px; }
  /* v2.1.8: TUMUNU SIL dugmesi (yalniz yonetici gorur) */
  .gc-tumunu-sil {
    flex: 0 0 auto; margin: 6px; padding: 6px 8px;
    background: transparent; color: var(--kotu);
    border: 1px solid var(--kotu); border-radius: 4px;
    font-size: 11px; letter-spacing: .06em; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    gap: 6px; transition: background .15s, color .15s;
  }
  .gc-tumunu-sil:hover { background: var(--kotu); color: #fff; }
  /* ============ v2.1.8: SURUM GECMISI POPUP ============ */
  .sg-tiklanabilir { cursor: pointer; border-bottom: 1px dashed var(--soluk); }
  .sg-tiklanabilir:hover { color: var(--vurgu, #6ea8ff); border-bottom-color: var(--vurgu, #6ea8ff); }
  .sg-popup {
    position: fixed; z-index: 1300; width: 420px; max-width: 94vw;
    background: var(--panel); border: 1px solid var(--cizgi);
    border-radius: 8px; box-shadow: 0 10px 34px rgba(0,0,0,.5);
    display: flex; flex-direction: column; overflow: hidden;
  }
  .sg-baslik {
    display: flex; align-items: center; justify-content: space-between;
    padding: 9px 12px; background: var(--bar, var(--cizgi));
    font-size: 12px; letter-spacing: .08em; font-weight: 600;
    cursor: move; user-select: none; touch-action: none;
  }
  .sg-baslik i { margin-right: 6px; }
  .sg-kapat {
    background: transparent; border: none; color: var(--soluk);
    cursor: pointer; font-size: 14px; padding: 2px 4px;
  }
  .sg-kapat:hover { color: var(--kotu); }
  .sg-govde { max-height: 420px; overflow-y: auto; padding: 6px; }
  .sg-satir { border-bottom: 1px solid var(--cizgi); }
  .sg-satir:last-child { border-bottom: none; }
  .sg-ust {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 6px; cursor: pointer; user-select: none;
  }
  .sg-ust:hover { background: var(--cizgi); border-radius: 4px; }
  .sg-ok { font-size: 10px; color: var(--soluk); transition: transform .18s; }
  .sg-satir.acik .sg-ok { transform: rotate(90deg); }
  .sg-no { font-weight: 700; font-size: 13px; }
  .sg-guncel {
    font-size: 9px; font-weight: 700; letter-spacing: .08em;
    color: var(--iyi, #35c46a); border: 1px solid var(--iyi, #35c46a);
    border-radius: 3px; padding: 1px 5px;
  }
  .sg-tarih { margin-left: auto; font-size: 11px; color: var(--soluk); }
  .sg-detay {
    display: none; margin: 0; padding: 2px 10px 10px 30px;
    font-size: 12px; line-height: 1.55; color: var(--metin);
  }
  .sg-detay li { margin-bottom: 3px; }
  .sg-satir.acik .sg-detay { display: block; }
  .gc-dron {
    display: flex; align-items: center; gap: 7px;
    padding: 7px 8px; border-radius: 4px; cursor: pointer;
    user-select: none;
  }
  .gc-dron:hover { background: var(--cizgi); }
  .gc-dron.secili { background: var(--vurgu, #3b5c8f); color: #fff; }
  .gc-renk {
    flex: 0 0 auto; width: 11px; height: 11px;
    border-radius: 2px; box-shadow: 0 0 4px rgba(0,0,0,.4);
  }
  .gc-dron-ad {
    flex: 1 1 auto; min-width: 0; font-weight: 600;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .gc-dron-sayi {
    flex: 0 0 auto; min-width: 18px; text-align: center;
    background: var(--cizgi); border-radius: 9px;
    padding: 1px 6px; font-size: 10px; font-family: Consolas, monospace;
  }
  .gc-ucus {
    display: flex; align-items: center; gap: 8px;
    margin: 2px 0 2px 14px; padding: 5px 7px;
    border-left: 2px solid var(--cizgi);
    border-radius: 0 4px 4px 0; cursor: pointer;
  }
  .gc-ucus:hover { background: var(--cizgi); }
  .gc-ucus.secili { background: var(--vurgu, #3b5c8f); color: #fff; }
  .gc-ucus-bilgi { flex: 1 1 auto; min-width: 0; }
  .gc-ucus-tarih { font-family: Consolas, monospace; font-size: 10.5px; }
  .gc-ucus-alt { font-size: 9.5px; color: var(--soluk); }
  .gc-ucus.secili .gc-ucus-alt { color: #dde; }
  .gc-ucus-sil {
    flex: 0 0 auto; width: 20px; height: 20px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: none; border-radius: 3px;
    color: var(--soluk); cursor: pointer; font-size: 10px;
    opacity: 0; transition: opacity .15s;
  }
  .gc-ucus:hover .gc-ucus-sil { opacity: 1; }
  .gc-ucus-sil:hover { color: var(--kotu); background: rgba(0,0,0,.25); }
  .gc-bos { padding: 10px; color: var(--soluk); text-align: center; }
  /* v2.4.21: secili dronun kalici kimlik karti */
  .gc-kimlik {
    margin: 3px 0 6px 14px; padding: 6px 8px;
    border-left: 2px solid var(--vurgu, #3b5c8f);
    border-radius: 0 4px 4px 0;
    background: rgba(59, 92, 143, .10);
    font-size: 10px; line-height: 1.5;
  }
  .gc-kimlik-satir {
    display: flex; align-items: baseline; gap: 6px;
    justify-content: space-between;
  }
  .gc-kimlik-satir > span {
    flex: 0 0 auto; color: var(--soluk); text-transform: uppercase;
    letter-spacing: .3px; font-size: 9px;
  }
  .gc-kimlik-satir > b {
    flex: 1 1 auto; min-width: 0; text-align: right;
    font-family: Consolas, monospace; font-weight: 600;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .gc-kimlik-satir i {
    font-style: normal; color: var(--soluk); font-weight: 400;
  }
  .gc-sag {
    flex: 1 1 auto; min-width: 0; position: relative;
    display: flex; flex-direction: column;
    border: 1px solid var(--cizgi); border-radius: 6px; overflow: hidden;
  }
  #gcHarita { flex: 1 1 auto; min-height: 0; }
  #gcHarita .cesium-viewer-bottom { display: none; }
  .gc-oynatici {
    flex: 0 0 auto; display: flex; align-items: center; gap: 8px;
    padding: 7px 9px; background: var(--panel-arka);
    border-top: 1px solid var(--cizgi);
  }
  .gc-oynatici button {
    flex: 0 0 auto; width: 28px; height: 24px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .gc-oynatici select { flex: 0 0 auto; font-size: 10px; }
  .gc-oynatici input[type=range] { flex: 1 1 auto; min-width: 0; }
  #gcZaman {
    flex: 0 0 auto; font-family: Consolas, monospace; font-size: 10px;
    color: var(--soluk); white-space: nowrap;
  }
  .gc-bilgi {
    position: absolute; inset: 0; display: flex;
    align-items: center; justify-content: center;
    color: var(--soluk); pointer-events: none; z-index: 5;
  }
  /* Ucus secilince: oynaticinin altinda yatay istatistik seridi */
  .gc-bilgi.gc-bilgi-istatistik {
    position: static; flex: 0 0 auto;
    background: var(--panel-arka);
    border-top: 1px solid var(--cizgi);
    padding: 6px 8px;
    display: flex; flex-wrap: wrap;
    align-items: stretch; justify-content: space-evenly;
    gap: 4px; pointer-events: auto;
  }
  .gc-bilgi-hucre {
    display: flex; flex-direction: column; align-items: center;
    gap: 2px; min-width: 72px; padding: 3px 6px;
  }
  .gc-bilgi-hucre i { font-size: 14px; color: var(--vurgu, #6bd8b9); }
  .gc-bilgi-deger {
    font-family: Consolas, monospace; font-size: 12px;
    font-weight: bold; color: var(--metin); white-space: nowrap;
  }
  .gc-bilgi-etiket {
    font-size: 9px; color: var(--soluk); text-transform: uppercase;
    letter-spacing: .4px; white-space: nowrap;
  }
  .gc-resize {
    position: absolute; right: 2px; bottom: 2px;
    width: 16px; height: 16px; cursor: nwse-resize;
    display: flex; align-items: center; justify-content: center;
    color: var(--soluk); font-size: 9px; touch-action: none;
    z-index: 10;
  }
  .gc-resize:hover { color: var(--metin); }

  /* ===== DRON KARTI: MINI POPUP (slider'li) ===== */
  .dk-mini-popup {
    position: absolute; z-index: 1250;
    width: 200px; padding: 10px;
    background: var(--panel-arka); border: 1px solid var(--cizgi);
    border-radius: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.5);
    font-size: 11px; color: var(--metin);
  }
  .dk-mp-baslik {
    display: flex; align-items: center; justify-content: space-between;
    gap: 6px;
    font-weight: 700; font-size: 10px; letter-spacing: .08em;
    text-transform: uppercase; color: var(--soluk);
    margin-bottom: 8px; padding-bottom: 6px;
    border-bottom: 1px solid var(--cizgi);
    cursor: move; user-select: none; touch-action: none;
  }
  .dk-mp-baslik-yazi {
    flex: 1 1 auto; min-width: 0;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .dk-mp-kapat {
    flex: 0 0 auto; width: 18px; height: 18px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: none; border-radius: 3px;
    color: var(--soluk); cursor: pointer; font-size: 12px;
  }
  .dk-mp-kapat:hover { background: var(--cizgi); color: var(--kotu); }
  .dk-mp-satir {
    display: flex; justify-content: space-between; align-items: baseline;
    margin: 6px 0 2px;
  }
  .dk-mp-etiket { color: var(--soluk); font-size: 10px; }
  .dk-mp-deger { font-family: Consolas, monospace; font-size: 11px; }
  .dk-mini-popup input[type=range] { width: 100%; margin: 2px 0 4px; }
  .dk-mp-gonder {
    width: 100%; margin-top: 8px; padding: 6px;
    background: #1a5c2e; border: 1px solid #2a8c44; color: #b8f5cc;
    border-radius: 4px; cursor: pointer;
    font-size: 11px; font-weight: 700; letter-spacing: .06em;
    font-family: Consolas, monospace;
  }
  .dk-mp-gonder:hover { background: #2a8c44; }

  /* Ayrilmis (tasinabilir popup) dron karti */
  .dron-kart.ayrik {
    position: fixed; z-index: 1250;
    width: 340px; max-height: 80vh; overflow-y: auto;
    box-shadow: 0 8px 32px rgba(0,0,0,.55);
    border: 1px solid var(--cizgi); border-radius: 6px;
    background: var(--panel-arka);
  }
  .dron-kart.ayrik .dron-kart-baslik { cursor: grab; touch-action: none; }
  .dron-kart.ayrik .dron-kart-baslik:active { cursor: grabbing; }
  .dk-ayir-btn {
    background: none; border: none; cursor: pointer;
    color: var(--soluk); font-size: 11px; padding: 2px 5px;
    margin-left: 4px; line-height: 1;
  }
  .dk-ayir-btn:hover { color: var(--metin); }

  /* ARAYUZ AYARLARI POPUP */
  #arayuzPopup {
    position: fixed; top: 50px; right: 60px;
    width: 340px; max-height: 80vh; overflow-y: auto;
    background: var(--panel-arka); border: 1px solid var(--cizgi);
    border-radius: 6px; box-shadow: 0 8px 32px rgba(0,0,0,.5);
    z-index: 2600; padding: 0;
    color: var(--metin); font-size: 13px;
  }
  #arayuzPopup.popup-gizli { display: none; }
  .popup-baslik {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 14px; border-bottom: 1px solid var(--cizgi);
    font-weight: 600; font-size: 12px; letter-spacing: .1em;
    cursor: move; user-select: none; touch-action: none;
  }
  .popup-baslik button {
    background: none; border: none; color: var(--metin); cursor: pointer;
    font-size: 16px; padding: 4px 6px;
  }
  .popup-baslik button:hover { color: var(--kotu); }
  .popup-icerik { padding: 14px; }

  /* CTRL+SOL TIK HARITA MENUSU */
  #haritaMenu {
    position: fixed;
    background: var(--panel-arka); border: 1px solid var(--cizgi);
    border-radius: 5px; box-shadow: 0 4px 16px rgba(0,0,0,.6);
    z-index: 1001; min-width: 200px; padding: 0;
    color: var(--metin); font-size: 12px;
  }
  #haritaMenu.popup-gizli { display: none; }
  .harita-menu-baslik {
    padding: 8px 12px; border-bottom: 1px solid var(--cizgi);
    font-size: 11px; color: var(--soluk); font-family: Consolas, monospace;
  }
  .harita-menu-item {
    padding: 10px 14px; cursor: pointer; display: flex; align-items: center; gap: 8px;
  }
  .harita-menu-item:hover { background: var(--dugme-hover); }
  .harita-menu-item .hm-nokta {
    width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
  }

  /* Ust bar arayuz ayar butonu */
  #btnArayuzAyar {
    background: none; border: 1px solid var(--cizgi); border-radius: 3px;
    color: var(--metin); cursor: pointer;
    width: 30px; height: 30px; padding: 0; font-size: 16px; line-height: 1;
    display: inline-flex; align-items: center; justify-content: center;
  }
  #btnArayuzAyar:hover { background: var(--dugme-hover); border-color: var(--soluk); }

  /* ================= KULLANICI GIRISI (LOGIN MODAL) ================= */
  #girisPerde {
    position: fixed; inset: 0; z-index: 3000;
    background: rgba(4,6,8,.82); backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
  }
  #girisPerde.popup-gizli { display: none; }
  #girisKutu {
    width: 340px; background: var(--panel-arka);
    border: 1px solid var(--cizgi); border-radius: 8px;
    box-shadow: 0 12px 48px rgba(0,0,0,.7);
    padding: 28px 26px 22px; color: var(--metin); font-size: 13px;
    text-align: center;
  }
  #girisKutu .giris-logo { height: 46px; margin-bottom: 8px; }
  #girisKutu h1 {
    margin: 0 0 2px; font-size: 17px; letter-spacing: .18em;
    color: var(--beyaz); font-weight: 700;
  }
  #girisKutu .giris-alt {
    font-size: 10px; color: var(--soluk); letter-spacing: .08em;
    margin-bottom: 18px;
  }
  #girisKutu label {
    display: block; text-align: left; font-size: 10px;
    color: var(--soluk); letter-spacing: .08em; margin: 10px 0 4px;
  }
  #girisKutu input[type="text"], #girisKutu input[type="password"] {
    width: 100%; box-sizing: border-box; padding: 9px 10px;
    background: var(--dugme-arka); color: var(--metin);
    border: 1px solid var(--cizgi); border-radius: 4px;
    font-size: 13px; outline: none;
  }
  #girisKutu input:focus { border-color: var(--interceptor); }
  .giris-hatirla {
    display: flex; align-items: center; gap: 7px;
    margin: 12px 0 4px; font-size: 11px; color: var(--soluk);
    cursor: pointer; user-select: none; text-align: left;
  }
  .giris-hatirla input { accent-color: var(--interceptor); cursor: pointer; }
  #btnGiris {
    width: 100%; margin-top: 12px; padding: 10px;
    background: #1a3a5c; color: #b8ddf5;
    border: 1px solid #2a6a8c; border-radius: 4px;
    font-size: 13px; font-weight: 600; letter-spacing: .12em;
    cursor: pointer; transition: background .15s;
  }
  #btnGiris:hover { background: #2a6a8c; }
  #btnGiris:disabled { opacity: .5; cursor: wait; }
  #girisHata {
    min-height: 16px; margin-top: 10px; font-size: 11px; color: var(--kotu);
  }

  /* ================= UST BAR PROFIL ROZETI + MENU ================= */
  #profilKutu {
    position: relative; display: none; /* giris sonrasi flex yapilir */
    align-items: center; gap: 8px; cursor: pointer; user-select: none;
    padding: 3px 10px 3px 4px; border: 1px solid var(--cizgi);
    border-radius: 16px; background: var(--rozet-arka);
  }
  #profilKutu:hover { border-color: var(--soluk); }
  #profilFoto {
    width: 26px; height: 26px; border-radius: 50%; object-fit: cover;
    display: block; border: 1px solid var(--cizgi);
  }
  #profilAd { font-size: 12px; color: var(--beyaz); white-space: nowrap; }
  #profilMenu {
    position: fixed; top: 46px; left: 16px; z-index: 2000;
    min-width: 210px; background: var(--panel-arka);
    border: 1px solid var(--cizgi); border-radius: 6px;
    box-shadow: 0 8px 32px rgba(0,0,0,.5);
    color: var(--metin); font-size: 12px; padding: 0;
  }
  #profilMenu.popup-gizli { display: none; }
  .profil-menu-ust {
    padding: 12px 14px; border-bottom: 1px solid var(--cizgi);
    display: flex; gap: 10px; align-items: center;
  }
  .profil-menu-ust img {
    width: 36px; height: 36px; border-radius: 50%; object-fit: cover;
    border: 1px solid var(--cizgi);
  }
  .profil-menu-ust .pm-ad { font-weight: 600; color: var(--beyaz); font-size: 12px; }
  .profil-menu-ust .pm-unvan { font-size: 10px; color: var(--soluk); margin-top: 2px; }
  .profil-menu-item {
    padding: 10px 14px; cursor: pointer; display: flex;
    align-items: center; gap: 9px;
  }
  .profil-menu-item:hover { background: var(--dugme-hover); }
  .profil-menu-item.cikis { color: var(--kotu); }

  /* ================= KULLANICI YONETIM POPUP (YONETICI) ============ */
  #btnKullanicilar {
    background: none; border: 1px solid var(--cizgi); border-radius: 3px;
    color: var(--metin); cursor: pointer;
    width: 30px; height: 30px; padding: 0; font-size: 15px; line-height: 1;
    display: none; /* yonetici girisinde inline-flex yapilir */
    align-items: center; justify-content: center;
  }
  #btnKullanicilar:hover { background: var(--dugme-hover); border-color: var(--soluk); }
  #kullaniciPopup {
    position: fixed; top: 50px; left: 60px;
    width: 430px; max-height: 82vh; overflow-y: auto;
    background: var(--panel-arka); border: 1px solid var(--cizgi);
    border-radius: 6px; box-shadow: 0 8px 32px rgba(0,0,0,.5);
    z-index: 1250; color: var(--metin); font-size: 12px;
  }
  #kullaniciPopup.popup-gizli { display: none; }

  /* KAYITLI LOKASYONLAR PANELI */
  #lokasyonPopup {
    position: fixed; top: 50px; right: 60px;
    width: 360px; max-height: 78vh; overflow-y: auto;
    background: var(--panel-arka); border: 1px solid var(--cizgi);
    border-radius: 6px; box-shadow: 0 8px 32px rgba(0,0,0,.5);
    z-index: 2600; color: var(--metin); font-size: 12px;
  }
  #lokasyonPopup.popup-gizli { display: none; }
  #lokasyonBos { padding: 18px 14px; color: var(--soluk); font-size: 11px; text-align: center; }
  .lok-satir {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 12px; border-bottom: 1px solid var(--cizgi);
    cursor: pointer;
  }
  .lok-satir:hover { background: rgba(255,255,255,.05); }
  body.acik-tema .lok-satir:hover { background: rgba(0,0,0,.05); }
  .lok-satir i.fa-location-dot { color: var(--uyari); font-size: 13px; flex: 0 0 auto; }
  .lok-bilgi { flex: 1; min-width: 0; }
  .lok-bilgi .lb-ad { font-weight: 600; letter-spacing: .03em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .lok-bilgi .lb-koord { color: var(--soluk); font-size: 10px; font-family: Consolas, monospace; }
  .lok-bilgi .lb-adres { color: var(--soluk); font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .lok-islem { display: flex; gap: 5px; flex: 0 0 auto; }
  .lok-islem button {
    width: 26px; height: 26px; padding: 0; font-size: 11px;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .lok-ad-duzenle {
    flex: 1; min-width: 0; font-size: 12px; padding: 4px 6px;
  }

  /* ALT+SOL TIK: KONUM KAYDET MODALI */
  #lokKaydetPerde {
    position: fixed; inset: 0; z-index: 1500;
    background: rgba(0,0,0,.45);
    display: flex; align-items: center; justify-content: center;
  }
  #lokKaydetPerde.popup-gizli { display: none; }
  /* --- ONAY DIYALOGU (ozel confirm) --- */
  #onayPerde {
    position: fixed; inset: 0; z-index: 9600;
    background: rgba(0,0,0,.55);
    display: flex; align-items: center; justify-content: center;
    backdrop-filter: blur(2px);
  }
  #onayPerde.popup-gizli { display: none; }
  #onayKutu {
    width: 360px; max-width: calc(100vw - 40px);
    background: var(--panel-arka);
    border: 1px solid var(--cizgi); border-radius: 8px;
    box-shadow: 0 16px 48px rgba(0,0,0,.65); color: var(--metin);
    overflow: hidden;
    animation: onayGir .16s ease-out;
  }
  @keyframes onayGir {
    from { transform: scale(.94); opacity: 0; }
    to   { transform: scale(1);   opacity: 1; }
  }
  .onay-baslik {
    display: flex; align-items: center; gap: 8px;
    padding: 12px 16px;
    font-size: 12px; font-weight: 700; letter-spacing: .1em;
    border-bottom: 1px solid var(--cizgi);
    background: rgba(0,0,0,.22);
  }
  :root[data-tema="acik"] .onay-baslik { background: rgba(0,0,0,.06); }
  .onay-baslik i { color: var(--uyari); font-size: 15px; }
  #onayMesaj {
    padding: 18px 16px;
    font-size: 13px; line-height: 1.55;
  }
  .onay-dugme-satir {
    display: flex; gap: 10px; padding: 0 16px 16px;
  }
  .onay-dugme-satir button {
    flex: 1; padding: 9px; font-weight: 700; letter-spacing: .08em;
    border-radius: 4px; cursor: pointer; font-size: 12px;
  }
  #btnOnayHayir {
    background: var(--dugme-arka); border: 1px solid var(--cizgi);
    color: var(--metin);
  }
  #btnOnayHayir:hover { background: var(--dugme-hover); }
  #btnOnayEvet {
    background: #7a2222; border: 1px solid #a03030; color: #ffe0e0;
  }
  #btnOnayEvet:hover { background: #a03030; }
  /* --- KAYDIRMALI ONAY (QGC tarzi slide-to-confirm) --- */
  .onay-kaydir-ray {
    position: relative; height: 46px;
    margin: 0 16px 12px;
    background: var(--dugme-arka);
    border: 1px solid var(--cizgi); border-radius: 23px;
    overflow: hidden; user-select: none;
    touch-action: none;
  }
  .onay-kaydir-dolgu {
    position: absolute; left: 0; top: 0; bottom: 0; width: 0;
    background: color-mix(in srgb, var(--iyi) 30%, transparent);
    pointer-events: none;
  }
  .onay-kaydir-metin {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 700; letter-spacing: .12em;
    color: var(--soluk); pointer-events: none;
    padding-left: 28px; box-sizing: border-box;
  }
  .onay-kaydir-tutamac {
    position: absolute; left: 4px; top: 4px; bottom: 4px;
    width: 54px; border-radius: 19px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #2ea866, #1a8a4f);
    color: #fff; font-size: 15px;
    cursor: grab; box-shadow: 0 2px 8px rgba(0,0,0,.35);
  }
  .onay-kaydir-tutamac.tutuluyor { cursor: grabbing; box-shadow: 0 2px 14px rgba(46,168,102,.6); }
  .onay-kaydir-tutamac i { animation: onayOkTitre 1.4s infinite; }
  @keyframes onayOkTitre {
    0%,100% { transform: translateX(0); opacity: .9; }
    50%     { transform: translateX(4px); opacity: 1; }
  }
  .onay-kaydir-ray.onaylandi { border-color: var(--iyi); }
  .onay-kaydir-ray.onaylandi .onay-kaydir-metin { color: var(--iyi); }
  .onay-kaydir-ray.onaylandi .onay-kaydir-tutamac i { animation: none; }
  #lokKaydetKutu {
    width: 340px; background: var(--panel-arka);
    border: 1px solid var(--cizgi); border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0,0,0,.6); color: var(--metin);
  }
  .lok-kaydet-icerik { padding: 14px; }
  .lok-kaydet-icerik label {
    display: block; font-size: 10px; color: var(--soluk);
    letter-spacing: .06em; margin: 0 0 4px;
  }
  .lok-kaydet-icerik input {
    width: 100%; box-sizing: border-box; margin-bottom: 10px;
  }
  .lok-koord-satir { display: flex; gap: 10px; }
  .lok-koord-satir > div { flex: 1; min-width: 0; }
  #lokHata { color: var(--kotu); font-size: 11px; min-height: 14px; margin-bottom: 6px; }
  .lok-dugme-satir { display: flex; gap: 10px; }
  .lok-dugme-satir button { flex: 1; padding: 9px; font-weight: 600; letter-spacing: .06em; }
  #btnLokKaydet { background: #2e5e33; border-color: #3e7e45; color: #d8ffe0; }
  #btnLokKaydet:hover { background: #38713e; }

  /* --- ROTA GOREVI (Rotaya Gonder) --- */
  #gorevRotaPerde {
    position: fixed; inset: 0; z-index: 1500;
    background: rgba(0,0,0,.45);
    display: flex; align-items: center; justify-content: center;
  }
  #gorevRotaPerde.popup-gizli { display: none; }
  #gorevRotaKutu {
    width: 380px; background: var(--panel-arka);
    border: 1px solid var(--cizgi); border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0,0,0,.6); color: var(--metin);
  }
  #gorevRotaListe { max-height: 300px; overflow-y: auto; }
  #gorevRotaYok {
    text-align: center; font-size: 11px; color: var(--soluk);
    letter-spacing: .08em; padding: 14px 0;
  }
  .gorev-rota-satir {
    display: flex; align-items: center; gap: 8px;
    padding: 9px 10px; border: 1px solid var(--cizgi);
    border-radius: 4px; margin-bottom: 6px; cursor: pointer;
    background: rgba(255,255,255,.02);
  }
  .gorev-rota-satir:hover { background: var(--dugme-hover); }
  .gorev-rota-satir > i { color: #3b82f6; flex: 0 0 auto; font-size: 13px; }
  .gorev-rota-satir .grs-ad {
    flex: 1; min-width: 0; font-weight: 600; font-size: 12px;
    color: var(--beyaz); white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis;
  }
  .gorev-rota-satir .grs-bilgi {
    font-family: Consolas, monospace; font-size: 11px;
    color: var(--soluk); flex: 0 0 auto;
  }
  /* Izleme popup'i: harita ustunde serbest kutu */
  #gorevIzlemePopup {
    position: fixed; z-index: 1450; right: 320px; top: 120px;
    width: 300px; background: var(--panel-arka);
    border: 1px solid var(--cizgi); border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0,0,0,.6); color: var(--metin);
  }
  #gorevIzlemePopup.popup-gizli { display: none; }
  .gorev-izleme-icerik { padding: 12px 14px 14px; }
  .gorev-durum-satir { text-align: center; margin-bottom: 10px; }
  .gorev-rozet {
    display: inline-block; padding: 3px 12px; border-radius: 3px;
    font-size: 10px; font-weight: 700; letter-spacing: .12em;
    border: 1px solid var(--cizgi); color: var(--metin);
  }
  .gorev-rozet.bekliyor { background: rgba(255,255,255,.06); }
  .gorev-rozet.yukleniyor { background: #4a3d12; border-color: #8a7325; color: #ffe28a; }
  .gorev-rozet.gorevde { background: #14401f; border-color: #2e7d3e; color: #9be6ac; }
  .gorev-rozet.duraklat { background: #4a3d12; border-color: #8a7325; color: #ffe28a; }
  .gorev-rozet.hata { background: #4a1d1d; border-color: #7a3030; color: #ffc9c9; }
  .gorev-rozet.iptal { background: #4a1d1d; border-color: #a33; color: #ffb3b3; }
  /* v2.4.20: gorev drona yuklendi (henuz baslatilmadi) */
  .gorev-rozet.yuklendi { background: #123a4a; border-color: #257a8a; color: #8ae4ff; }
  .gorev-bilgi-tablo { margin-bottom: 12px; border: 1px solid var(--cizgi); border-radius: 4px; }
  .gorev-bilgi-tablo > div {
    display: flex; justify-content: space-between; align-items: center;
    padding: 6px 10px; border-bottom: 1px solid var(--cizgi);
  }
  .gorev-bilgi-tablo > div:last-child { border-bottom: none; }
  .gorev-bilgi-tablo span {
    font-size: 10px; color: var(--soluk); letter-spacing: .06em;
  }
  .gorev-bilgi-tablo b {
    font-family: Consolas, monospace; font-size: 12px; color: var(--beyaz);
  }
  /* v2.4.20: GOREV YUKLEME ILERLEME CUBUGU */
  .gorev-yukleme-satir {
    margin: 0 0 12px; padding: 9px 10px 10px;
    border: 1px solid var(--cizgi); border-radius: 4px;
    background: rgba(255,255,255,.03);
  }
  .gorev-yukleme-satir.popup-gizli { display: none; }
  .gys-ust {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 6px;
  }
  .gys-ust span {
    font-size: 10px; color: var(--soluk); letter-spacing: .08em;
    font-weight: 700;
  }
  .gys-ust b {
    font-family: Consolas, monospace; font-size: 12px; color: #8ae4ff;
  }
  .gorev-cubuk-dis {
    height: 8px; border-radius: 4px; overflow: hidden;
    background: rgba(255,255,255,.08);
    border: 1px solid var(--cizgi);
  }
  .gorev-cubuk-ic {
    height: 100%; width: 0%;
    background: linear-gradient(90deg, #1f6f8a, #35c8f0);
    transition: width .18s linear;
  }
  .gorev-cubuk-ic.tamam {
    background: linear-gradient(90deg, #2e7d3e, #56d977);
  }
  .gys-alt {
    margin-top: 5px; font-family: Consolas, monospace;
    font-size: 10px; color: var(--soluk);
  }
  .gorev-dugmeler { display: flex; gap: 6px; }
  .gorev-dugmeler + .gorev-dugmeler { margin-top: 6px; }
  .gorev-dugmeler button {
    flex: 1; padding: 8px 4px; font-weight: 600; font-size: 10px;
    letter-spacing: .05em;
  }
  .gorev-dugmeler button:disabled { opacity: .4; cursor: not-allowed; }
  /* v2.4.20: ROTAYI YUKLE / ROTAYI BASLAT ikili satiri */
  .gorev-dugmeler-yukle button {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 10px 6px; font-size: 10px; font-weight: 800;
    letter-spacing: .08em;
  }
  .gorev-dugmeler-yukle button i { font-size: 11px; }
  #btnGorevYukle { background: #123a4a; border-color: #257a8a; color: #c5f2ff; }
  #btnGorevYukle:hover:not(:disabled) {
    background: #17495c; border-color: #35a0b8; color: #fff;
  }
  #btnGorevBaslat { background: #2e5e33; border-color: #3e7e45; color: #d8ffe0; }
  #btnGorevBaslat:hover:not(:disabled) { background: #38713e; }
  #btnGorevDurdur { background: #4a3d12; border-color: #8a7325; color: #ffe28a; }
  #btnGorevDurdur:hover:not(:disabled) { background: #5c4c18; }
  #btnGorevDevam { background: #1d3a5c; border-color: #2f5a8a; color: #bcd9ff; }
  #btnGorevDevam:hover:not(:disabled) { background: #254a75; }
  /* v2.4.18: GOREV IPTAL - tam genislik, belirgin kirmizi */
  .gorev-dugmeler-iptal { margin-top: 8px; }
  .gorev-btn-iptal {
    width: 100%; padding: 10px 6px !important;
    font-size: 11px !important; font-weight: 800 !important;
    letter-spacing: .1em !important;
    background: #6b1414; border: 1px solid #b02a2a; color: #ffdada;
    border-radius: 4px; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 6px;
  }
  .gorev-btn-iptal:hover:not(:disabled) {
    background: #8a1a1a; border-color: #d43a3a; color: #fff;
    box-shadow: 0 0 10px rgba(220,40,40,.35);
  }
  .gorev-btn-iptal:disabled { opacity: .4; cursor: not-allowed; }
  .gorev-btn-iptal i { font-size: 12px; }

  /* --- BAGLANTI YONETICISI --- */
  #bagToolbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; padding: 6px 8px; margin-bottom: 10px;
    border: 1px solid var(--cizgi); border-radius: 4px;
    background: rgba(255,255,255,.03);
  }
  #bagToolbarLabel {
    font-size: 10px; font-weight: 700; letter-spacing: .1em;
    color: var(--soluk);
  }
  #bagToolbarBtnlar { display: flex; gap: 6px; }
  .bag-tb-btn {
    display: flex; align-items: center; gap: 5px;
    padding: 5px 9px; font-size: 10px; font-weight: 700;
    letter-spacing: .06em; border-radius: 3px;
  }
  .bag-tb-btn i { font-size: 11px; }
  #bagYok {
    text-align: center; color: var(--soluk); font-size: 10px;
    letter-spacing: .08em; padding: 14px 0 6px;
  }
  .bag-satir {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 10px; border: 1px solid var(--cizgi);
    border-radius: 4px; margin-bottom: 6px;
    background: rgba(255,255,255,.02);
  }
  .bag-bilgi { flex: 1; min-width: 0; }
  .bag-ust { display: flex; align-items: center; gap: 6px; }
  .bag-ad {
    font-weight: 600; font-size: 12px; color: var(--beyaz);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .bag-tur {
    font-size: 9px; font-weight: 700; letter-spacing: .06em;
    padding: 1px 5px; border-radius: 3px; flex: 0 0 auto;
  }
  .bag-tur-seri { background: rgba(59,130,246,.18); color: #7fb3ff; }
  .bag-tur-tcp  { background: rgba(168,85,247,.18); color: #cfa5ff; }
  .bag-tur-udp  { background: rgba(34,197,94,.18);  color: #7fe0a0; }
  .bag-alt {
    font-family: Consolas, monospace; font-size: 10px;
    color: var(--soluk); margin-top: 2px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .bag-durum {
    font-size: 9px; font-weight: 700; letter-spacing: .06em;
    padding: 2px 6px; border-radius: 3px; flex: 0 0 auto;
  }
  .bag-durum.bd-kapali     { background: rgba(255,255,255,.08); color: var(--soluk); }
  .bag-durum.bd-baglaniyor { background: rgba(255,201,77,.15);  color: var(--uyari); }
  .bag-durum.bd-bagli      { background: rgba(61,220,132,.15);  color: var(--iyi); }
  .bag-durum.bd-hata       { background: rgba(255,82,82,.15);   color: var(--kotu); }
  .bag-btn {
    width: 28px; height: 28px; display: flex; align-items: center;
    justify-content: center; border-radius: 3px; flex: 0 0 auto;
    font-size: 11px; padding: 0;
  }
  .bag-btn.bag-play { background: #2e5e33; border-color: #3e7e45; color: #d8ffe0; }
  .bag-btn.bag-play:hover { background: #38713e; }
  .bag-btn.bag-stop { background: #4a1d1d; border-color: #7a3030; color: #ffc9c9; }
  .bag-btn.bag-stop:hover { background: #5c2525; }
  .bag-btn.bag-sil:disabled { opacity: .35; cursor: not-allowed; }
  .bag-btn.bag-duzenle { background: #263a52; border-color: #38557a; color: #cfe3ff; }
  .bag-btn.bag-duzenle:hover { background: #2f4763; }
  #bagEklePerde {
    position: fixed; inset: 0; z-index: 1500;
    background: rgba(0,0,0,.45);
    display: flex; align-items: center; justify-content: center;
  }
  #bagEklePerde.popup-gizli { display: none; }
  #bagEkleKutu {
    width: 360px; background: var(--panel-arka);
    border: 1px solid var(--cizgi); border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0,0,0,.6); color: var(--metin);
  }
  #bagEkleHata { color: var(--kotu); font-size: 11px; min-height: 14px; margin-bottom: 6px; display: none; }
  #btnBagKaydet { background: #2e5e33; border-color: #3e7e45; color: #d8ffe0; }
  #btnBagKaydet:hover { background: #38713e; }

  /* --- ROTA PLANLAMA --- */
  #rotaModalPerde, #rotaDetayPerde, #kamModalPerde, #spiralModalPerde {
    position: fixed; inset: 0; z-index: 1500;
    background: rgba(0,0,0,.45);
    display: flex; align-items: center; justify-content: center;
  }
  #rotaModalPerde.popup-gizli, #rotaDetayPerde.popup-gizli,
  #kamModalPerde.popup-gizli, #spiralModalPerde.popup-gizli { display: none; }
  /* --- ROTA PARAMETRE DUZENLEME MODALI (v2.4.23) --- */
  #rotaParamPerde {
    position: fixed; inset: 0; z-index: 1500;
    background: rgba(0,0,0,.45);
    display: flex; align-items: center; justify-content: center;
  }
  #rotaParamPerde.popup-gizli { display: none; }
  #rotaParamKutu {
    width: 460px; max-width: 96vw; background: var(--panel-arka);
    border: 1px solid var(--cizgi); border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0,0,0,.6); color: var(--metin);
    display: flex; flex-direction: column; max-height: 88vh;
  }
  .rp-rota-ad {
    font-weight: 400; font-size: 11px; color: var(--soluk);
    margin-left: 4px;
  }
  .rp-icerik {
    padding: 12px 14px; overflow-y: auto; display: flex;
    flex-direction: column; gap: 10px; min-height: 0;
  }
  .rp-bolum {
    border: 1px solid var(--cizgi); border-radius: 5px;
    padding: 9px 10px 10px; background: rgba(255,255,255,.02);
  }
  .rp-bolum-tablo { display: flex; flex-direction: column; min-height: 0; }
  .rp-bolum-baslik {
    display: flex; align-items: center; gap: 6px; font-size: 10px;
    letter-spacing: .07em; text-transform: uppercase;
    color: var(--soluk); margin-bottom: 9px;
  }
  .rp-bolum-baslik i { color: #3b82f6; font-size: 11px; }
  .rp-bolum-not {
    margin-left: auto; font-family: Consolas, monospace;
    letter-spacing: 0; text-transform: none;
  }
  .rp-satir {
    display: flex; align-items: center; gap: 10px; margin-bottom: 7px;
  }
  .rp-satir > label {
    flex: 1 1 auto; min-width: 0; font-size: 11px; color: var(--metin);
    margin: 0; display: flex; align-items: center; gap: 7px;
  }
  .rp-onay { cursor: pointer; }
  .rp-onay input[type=checkbox] {
    width: 14px; height: 14px; accent-color: #3b82f6; cursor: pointer;
    flex: 0 0 auto; margin: 0;
  }
  .rp-giris { display: flex; align-items: center; gap: 5px; flex: 0 0 auto; }
  .rp-giris input[type=number] {
    width: 74px; padding: 5px 6px; font-family: Consolas, monospace;
    font-size: 12px; text-align: right;
    background: var(--giris-arka, rgba(0,0,0,.25));
    border: 1px solid var(--cizgi); border-radius: 3px;
    color: var(--beyaz);
  }
  .rp-giris input[type=number]:disabled { opacity: .4; }
  .rp-giris select {
    padding: 5px 6px; font-size: 11px; border-radius: 3px;
    background: var(--giris-arka, rgba(0,0,0,.25));
    border: 1px solid var(--cizgi); color: var(--metin);
  }
  .rp-giris select:disabled { opacity: .4; }
  .rp-birim {
    font-family: Consolas, monospace; font-size: 11px;
    color: var(--soluk); width: 26px;
  }
  .rp-bilgi {
    font-family: Consolas, monospace; font-size: 10.5px; line-height: 1.5;
    color: var(--soluk); background: rgba(59,130,246,.08);
    border: 1px solid rgba(59,130,246,.25); border-radius: 4px;
    padding: 5px 7px; margin-top: 4px;
  }
  /* Nokta tablosu */
  .rp-tablo-basi, .rp-tr {
    display: grid;
    grid-template-columns: 26px minmax(0,1fr) 68px 68px 62px;
    align-items: center; gap: 5px;
  }
  .rp-tablo-basi {
    font-size: 9px; letter-spacing: .06em; color: var(--soluk);
    text-transform: uppercase; padding: 0 6px 5px;
    border-bottom: 1px solid var(--cizgi);
  }
  .rp-tablo-basi .rp-th-val, .rp-tablo-basi .rp-th-no { text-align: center; }
  #rpNoktaTablo {
    overflow-y: auto; max-height: 240px; min-height: 0;
  }
  .rp-tr {
    padding: 4px 6px; border-bottom: 1px solid var(--cizgi);
  }
  .rp-tr:last-child { border-bottom: none; }
  .rp-tr:hover { background: rgba(255,255,255,.04); }
  .rp-td-no {
    width: 20px; height: 20px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 9.5px; font-weight: 700; color: #fff; background: #d97706;
  }
  .rp-td-no.start { background: #16a34a; }
  .rp-td-no.finish { background: #dc2626; }
  .rp-td-koord {
    font-family: Consolas, monospace; font-size: 10.5px;
    color: var(--metin); white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis;
  }
  .rp-td-val input[type=number] {
    width: 100%; padding: 3px 4px; font-family: Consolas, monospace;
    font-size: 11px; text-align: right;
    background: var(--giris-arka, rgba(0,0,0,.25));
    border: 1px solid var(--cizgi); border-radius: 3px;
    color: var(--beyaz);
  }
  .rp-td-val input[type=number]:focus {
    border-color: #3b82f6; outline: none;
  }
  #rpHata { color: var(--kotu); font-size: 11px; min-height: 14px; }
  .rp-dugmeler { display: flex; gap: 8px; }
  .rp-btn {
    flex: 1; padding: 9px; font-weight: 600; font-size: 11px;
    letter-spacing: .05em;
  }
  .rp-btn-kaydet {
    background: #2e5e33; border-color: #3e7e45; color: #d8ffe0;
  }
  .rp-btn-kaydet:hover { background: #38713e; }
  .rp-btn-ikincil {
    width: 100%; flex: none; margin-top: 4px;
    background: #1e3a5f; border-color: #2d5a8f; color: #cfe4ff;
  }
  .rp-btn-ikincil:hover { background: #26497a; }
  #btnRotaParam {
    background: #1e3a5f; border-color: #2d5a8f; color: #cfe4ff;
  }
  #btnRotaParam:hover { background: #26497a; }
  #spiralModalKutu {
    width: 380px; background: var(--panel-arka);
    border: 1px solid var(--cizgi); border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0,0,0,.6); color: var(--metin);
    max-height: 92vh; overflow-y: auto;
  }
  .spiral-bilgi {
    font-family: Consolas, monospace; font-size: 11px; line-height: 1.5;
    color: var(--soluk); background: rgba(59,130,246,.08);
    border: 1px solid rgba(59,130,246,.25); border-radius: 4px;
    padding: 6px 8px; margin-bottom: 8px; white-space: pre-line;
  }
  #spiralHata { color: var(--kotu); font-size: 11px; min-height: 14px; margin-bottom: 6px; }
  #btnSpiralEkle { background: #2e5e33; border-color: #3e7e45; color: #d8ffe0; }
  #btnSpiralEkle:hover { background: #38713e; }
  #rotaModalKutu, #rotaDetayKutu {
    width: 360px; background: var(--panel-arka);
    border: 1px solid var(--cizgi); border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0,0,0,.6); color: var(--metin);
  }
  .rota-slider-satir { margin-bottom: 12px; }
  .rota-slider-satir > label {
    display: flex !important; justify-content: space-between;
    align-items: center; font-size: 10px; color: var(--soluk);
    letter-spacing: .06em; margin: 0 0 4px; text-transform: uppercase;
  }
  .rota-slider-deger {
    font-family: Consolas, monospace; font-size: 12px;
    color: var(--beyaz); font-weight: 700;
  }
  .rota-slider-satir input[type=range] { width: 100%; accent-color: #3b82f6; }
  #rotaHata { color: var(--kotu); font-size: 11px; min-height: 14px; margin-bottom: 6px; }
  #btnRotaKaydet { background: #2e5e33; border-color: #3e7e45; color: #d8ffe0; }
  #btnRotaKaydet:hover { background: #38713e; }
  /* Nokta ekleme popup'i: harita ustunde serbest kutu (perdesiz) */
  #rotaNoktaPopup {
    position: fixed; z-index: 1600; width: 280px;
    background: var(--panel-arka); border: 1px solid var(--cizgi);
    border-radius: 6px; box-shadow: 0 12px 40px rgba(0,0,0,.6);
    color: var(--metin);
  }
  #rotaNoktaPopup.popup-gizli { display: none; }
  #rotaNoktaKoord {
    font-family: Consolas, monospace; font-size: 11px;
    color: var(--soluk); margin-bottom: 10px;
  }
  .rota-nokta-dugmeler { display: flex; flex-direction: column; gap: 6px; }
  .rota-nokta-dugmeler button { padding: 8px; font-weight: 600; font-size: 11px; letter-spacing: .05em; }
  #btnNoktaEkle { background: #2e5e33; border-color: #3e7e45; color: #d8ffe0; }
  #btnNoktaEkle:hover { background: #38713e; }
  #btnRotaSonlandir, #btnRotaSil { background: #4a1d1d; border-color: #7a3030; color: #ffc9c9; }
  #btnRotaSonlandir:hover, #btnRotaSil:hover { background: #5c2525; }
  /* Rota listesi satirlari */
  .rota-satir {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 10px; border: 1px solid var(--cizgi);
    border-radius: 4px; margin-bottom: 6px; cursor: pointer;
    background: rgba(255,255,255,.02);
  }
  .rota-satir:hover { background: var(--dugme-hover); }
  .rota-satir .rota-ikon { color: #3b82f6; flex: 0 0 auto; font-size: 13px; }
  .rota-satir .rota-ad {
    flex: 1; min-width: 0; font-weight: 600; font-size: 12px;
    color: var(--beyaz); white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis;
  }
  .rota-satir .rota-mesafe {
    font-family: Consolas, monospace; font-size: 11px;
    color: var(--soluk); flex: 0 0 auto;
  }
  .rota-satir .rota-goz {
    background: none; border: none; padding: 4px 6px; cursor: pointer;
    color: var(--metin); font-size: 13px; flex: 0 0 auto; border-radius: 3px;
  }
  .rota-satir .rota-goz:hover { background: rgba(255,255,255,.08); }
  .rota-satir .rota-goz.kapali { color: var(--soluk); opacity: .5; }
  /* Rota detay: nokta listesi */
  #rotaDetayOzet {
    font-family: Consolas, monospace; font-size: 11px;
    color: var(--soluk); margin-bottom: 8px;
  }
  #rotaNoktaListesi {
    max-height: 220px; overflow-y: auto; margin-bottom: 10px;
    border: 1px solid var(--cizgi); border-radius: 4px;
  }
  .rota-nokta-satir {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 10px; border-bottom: 1px solid var(--cizgi);
    font-family: Consolas, monospace; font-size: 11px;
  }
  .rota-nokta-satir:last-child { border-bottom: none; }
  .rota-nokta-satir .rn-no {
    flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 10px; font-weight: 700; color: #fff; background: #d97706;
  }
  .rota-nokta-satir .rn-no.start { background: #16a34a; }
  .rota-nokta-satir .rn-no.finish { background: #dc2626; }
  .rota-nokta-satir .rn-koord { flex: 1; min-width: 0; color: var(--metin); }
  .rota-nokta-satir .rn-param { flex: 0 0 auto; color: var(--soluk); }
  /* Alt bar fare koordinati */
  #fareKoordinat { font-family: Consolas, monospace; color: var(--soluk); font-size: 11px; }
  .kul-satir {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 14px; border-bottom: 1px solid var(--cizgi);
  }
  .kul-satir:last-child { border-bottom: none; }
  .kul-satir img {
    width: 32px; height: 32px; border-radius: 50%; object-fit: cover;
    border: 1px solid var(--cizgi); flex-shrink: 0;
  }
  .kul-bilgi { flex: 1; min-width: 0; }
  .kul-bilgi .kb-ad { font-weight: 600; color: var(--beyaz); font-size: 12px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .kul-bilgi .kb-eposta { font-size: 10px; color: var(--soluk);
    font-family: Consolas, monospace;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .kul-bilgi .kb-unvan { font-size: 10px; color: var(--soluk); }
  .kul-rol {
    font-size: 10px; padding: 2px 8px; border-radius: 10px;
    border: 1px solid var(--cizgi); flex-shrink: 0; letter-spacing: .05em;
  }
  .kul-rol.yonetici { color: #ffc94d; border-color: #8c7a2a; background: rgba(140,122,42,.15); }
  .kul-rol.kullanici { color: var(--interceptor); border-color: var(--cizgi); }
  .kul-islem { display: flex; gap: 5px; flex-shrink: 0; }
  .kul-islem button {
    background: var(--dugme-arka); border: 1px solid var(--cizgi);
    color: var(--metin); border-radius: 3px; cursor: pointer;
    font-size: 10px; padding: 4px 7px;
  }
  .kul-islem button:hover { background: var(--dugme-hover); }
  .kul-satir.pasif { opacity: .45; }

/* --- HEDEF SINIFLANDIRMA ayar bolumu (yzRadar paneli) --- */
.sinif-satir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 11px;
}
.sinif-satir input[type="checkbox"] {
  accent-color: var(--interceptor);
  width: 15px;
  height: 15px;
  cursor: pointer;
  margin: 0;
}
.sinif-aciklama {
  display: flex;
  justify-content: space-between;
  font-size: 9px;
  color: var(--soluk);
  letter-spacing: .06em;
  margin-top: 1px;
}
#sinifHassasiyet {
  accent-color: var(--interceptor);
  cursor: pointer;
}

/* =============================================================
   ANGAJMAN POPUP
   ============================================================= */
.ang-perde {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9000;
}
.ang-kutu {
  background: var(--panel-bg, #141a21);
  border: 1px solid var(--cizgi);
  border-radius: 10px;
  width: 360px;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 8px 32px rgba(0,0,0,.6);
  display: flex;
  flex-direction: column;
}
.ang-baslik {
  padding: 14px 16px 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  border-bottom: 1px solid var(--cizgi);
  color: var(--metin);
}
.ang-baslik i { margin-right: 6px; color: var(--kotu); }
.ang-hedef-bilgi {
  padding: 8px 16px;
  font-size: 12px;
  color: var(--soluk);
  border-bottom: 1px solid var(--cizgi);
}
.ang-hedef-bilgi strong { color: var(--metin); }
.ang-hedef-bilgi i { margin-right: 4px; }

/* Parametreler */
.ang-param {
  padding: 10px 16px;
  border-bottom: 1px solid var(--cizgi);
}
.ang-param-baslik {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--soluk);
  margin-bottom: 8px;
}
.ang-param-satir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
  font-size: 11px;
}
.ang-param-satir span { color: var(--soluk); }
.ang-param-satir input {
  width: 70px;
  padding: 4px 6px;
  font-size: 12px;
  text-align: right;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--cizgi);
  border-radius: 4px;
  color: var(--metin);
}

/* v2.4.18: Hucum hizi artik sorulmaz - sabit "TAM HIZ" bilgi satiri */
.ang-param-satir.ang-tamhiz {
  gap: 8px;
  padding: 5px 8px;
  margin-top: 2px;
  border: 1px solid rgba(255,64,64,.35);
  border-radius: 4px;
  background: rgba(255,64,64,.10);
}
.ang-param-satir.ang-tamhiz > span:first-child { color: var(--metin); }
.ang-param-satir.ang-tamhiz b {
  margin-left: auto;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  color: #ff5252;
  text-shadow: 0 0 6px rgba(255,64,64,.45);
  white-space: nowrap;
}
.ang-param-satir.ang-tamhiz .ang-kmh {
  min-width: 58px;
  text-align: right;
  font-size: 10px;
  font-weight: 700;
  color: var(--soluk);
}

/* Dron listesi */
.ang-liste {
  padding: 10px 16px;
  flex: 1;
  overflow-y: auto;
  max-height: 200px;
}
.ang-liste-baslik {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--soluk);
  margin-bottom: 8px;
}
.ang-liste-bos {
  font-size: 11px;
  color: var(--soluk);
  text-align: center;
  padding: 12px 0;
}
.ang-dron-satir {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .15s;
  font-size: 12px;
}
.ang-dron-satir:hover { background: rgba(255,255,255,.06); }
.ang-dron-satir.secili {
  background: rgba(53,208,255,.12);
  border: 1px solid rgba(53,208,255,.35);
}
.ang-dron-nokta {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.ang-dron-ad { flex: 1; color: var(--metin); font-weight: 600; }
.ang-dron-detay { font-size: 10px; color: var(--soluk); }

/* Alt düğmeler */
.ang-alt {
  display: flex;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--cizgi);
}
.ang-btn {
  flex: 1;
  padding: 10px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 6px;
  border: 1px solid var(--cizgi);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background .15s, opacity .15s;
}
.ang-btn.angaje {
  background: #6b1c1c;
  border-color: #a83232;
  color: #ffbaba;
}
.ang-btn.angaje:disabled {
  opacity: .4;
  cursor: not-allowed;
}
.ang-btn.angaje:not(:disabled):hover {
  background: #8b2222;
}
.ang-btn.iptal {
  background: rgba(255,255,255,.06);
  color: var(--soluk);
}
.ang-btn.iptal:hover {
  background: rgba(255,255,255,.12);
  color: var(--metin);
}

/* Acik tema */
:root[data-tema="acik"] .ang-kutu {
  background: #f4f6f8;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
}
:root[data-tema="acik"] .ang-dron-satir.secili {
  background: rgba(0,119,182,.1);
  border-color: rgba(0,119,182,.3);
}
:root[data-tema="acik"] .ang-btn.angaje {
  background: #fde8e8;
  border-color: #e53e3e;
  color: #9b1c1c;
}

/* Dron isim duzenleme popup input */
.dk-mp-input {
  width: 100%;
  box-sizing: border-box;
  padding: 6px 8px;
  margin: 4px 0 8px;
  border: 1px solid var(--kenar, var(--cizgi));
  border-radius: 4px;
  background: var(--panel);
  color: var(--metin);
  font-size: 13px;
  outline: none;
}
.dk-mp-input:focus {
  border-color: var(--iyi);
}
/* Telemetri UID degeri (monospace) */
.dk-uid-deger {
  font-family: Consolas, monospace;
  font-size: 11px;
  opacity: 0.75;
  margin-left: 6px;
}

/* ===== PARAMETRE POPUP ===== */
.dk-param-popup {
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 640px; max-width: 92vw; max-height: 70vh;
  background: var(--panel);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  z-index: 3000;
  display: flex; flex-direction: column;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25);
  overflow: hidden;
}
.dk-pp-baslik {
  padding: 10px 14px;
  font-size: 13px; font-weight: 600;
  color: var(--metin);
  cursor: move; user-select: none; touch-action: none;
  border-bottom: 1px solid var(--cizgi);
  background: var(--dugme-arka);
}
.dk-pp-arama {
  display: flex; gap: 6px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--cizgi);
}
.dk-pp-input {
  flex: 1;
  background: var(--giris-arka);
  border: 1px solid var(--cizgi);
  border-radius: 4px;
  color: var(--metin);
  padding: 6px 8px;
  font-size: 12px;
  outline: none;
}
.dk-pp-input:focus { border-color: var(--interceptor); }
.dk-pp-btn-bul {
  background: var(--interceptor);
  border: none; border-radius: 4px;
  color: #fff; padding: 6px 12px;
  font-size: 12px; cursor: pointer;
  white-space: nowrap;
}
.dk-pp-btn-bul:hover { opacity: 0.85; }
.dk-pp-btn-bul:disabled { opacity: 0.45; cursor: default; }
/* v2.4.17: TUMUNU AL — birincil vurgulu dugme (drondan taze okuma) */
.dk-pp-btn-tumal {
  background: var(--iyi);
  font-weight: 600;
  letter-spacing: 0.3px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}
.dk-pp-btn-tumal:hover { filter: brightness(1.1); opacity: 1; }
.dk-pp-sonuc {
  flex: 1; overflow-y: auto;
  padding: 8px 10px;
  min-height: 100px; max-height: 50vh;
}
.dk-pp-tablo { display: flex; flex-direction: column; gap: 2px; }
.dk-pp-satir {
  display: flex; align-items: center; gap: 10px;
  padding: 5px 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s;
}
.dk-pp-satir:hover { background: var(--dugme-hover); }
.dk-pp-ad {
  flex: 0 0 150px; min-width: 0;
  font-size: 11px; color: var(--soluk); font-family: monospace;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dk-pp-aciklama {
  flex: 1 1 auto; min-width: 0;
  font-size: 10px; color: var(--soluk); opacity: 0.85;
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
  line-height: 1.35;
}
.dk-pp-val {
  flex: 0 0 auto;
  font-size: 12px; color: var(--interceptor); font-weight: 600;
}
.dk-pp-kapat {
  position: absolute; top: 6px; right: 8px;
  background: none; border: none;
  color: var(--soluk); font-size: 16px; cursor: pointer;
}
.dk-pp-kapat:hover { color: var(--metin); }
/* Duzenleme overlay */
.dk-pp-overlay {
  position: absolute; inset: 0;
  background: var(--panel-arka);
  display: flex; align-items: center; justify-content: center;
  z-index: 10;
}
.dk-pp-duzenle-kutu {
  width: 340px;
  background: var(--panel);
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  padding: 14px;
}
/* Duzenleme popup'inda buyuk fontlu parametre aciklamasi (secili dilde) */
.dk-pp-duzenle-aciklama {
  font-size: 14px; line-height: 1.45;
  color: var(--metin);
  background: rgba(107, 216, 185, .08);
  border-left: 3px solid var(--vurgu, #6bd8b9);
  border-radius: 0 4px 4px 0;
  padding: 8px 10px;
  margin: 8px 0 2px 0;
  max-height: 30vh; overflow-y: auto;
}
.dk-pp-mevcut {
  font-size: 12px; color: var(--soluk);
  margin: 8px 0;
}
.dk-pp-mevcut strong { color: var(--interceptor); }
.dk-pp-btn-bar {
  display: flex; gap: 8px; margin-top: 12px;
  justify-content: flex-end;
}
.dk-pp-btn-kaydet {
  background: var(--iyi); border: none; border-radius: 4px;
  color: #fff; padding: 6px 14px; font-size: 12px; cursor: pointer;
}
.dk-pp-btn-kaydet:hover { opacity: 0.85; }
.dk-pp-btn-iptal {
  background: var(--dugme-arka); border: none; border-radius: 4px;
  color: var(--metin); padding: 6px 14px; font-size: 12px; cursor: pointer;
}
.dk-pp-btn-iptal:hover { background: var(--dugme-hover); }
/* v2.4.15: parametre okuma ilerleme cubugu */
.dk-pp-progress {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 10px;
  border-bottom: 1px solid var(--cizgi);
}
.dk-pp-progress-bar {
  flex: 1; height: 8px;
  background: var(--giris-arka);
  border: 1px solid var(--cizgi);
  border-radius: 4px; overflow: hidden;
}
.dk-pp-progress-dolgu {
  height: 100%; width: 0%;
  background: var(--interceptor);
  transition: width 0.25s ease;
}
.dk-pp-progress-metin {
  flex: 0 0 auto;
  font-size: 11px; color: var(--soluk); font-family: monospace;
  white-space: nowrap;
}
/* v2.4.15: tree grid grup satirlari */
.dk-pp-grup {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 8px;
  border-radius: 4px;
  background: var(--dugme-arka);
  cursor: pointer;
  user-select: none;
  font-size: 12px; font-weight: 600;
  color: var(--metin);
  margin-top: 2px;
}
.dk-pp-grup:hover { background: var(--dugme-hover); }
.dk-pp-grup.acik { border-left: 3px solid var(--interceptor); }
.dk-pp-grup i { font-size: 10px; color: var(--soluk); width: 12px; }
.dk-pp-grup-ad { font-family: monospace; letter-spacing: 0.5px; }
.dk-pp-grup-adet {
  margin-left: auto;
  font-size: 10px; font-weight: 400;
  color: var(--soluk);
  background: var(--giris-arka);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  padding: 1px 8px;
}
.dk-pp-satir-agac { margin-left: 14px; }
/* v2.4.15: min/maks/artis/birim bilgisi ve aralik uyarisi */
.dk-pp-aralik {
  font-size: 11px; color: var(--soluk);
  background: var(--giris-arka);
  border: 1px solid var(--cizgi);
  border-radius: 4px;
  padding: 6px 8px;
  margin: 6px 0 2px 0;
}
.dk-pp-aralik strong { color: var(--interceptor); }
.dk-pp-aralik i { margin-right: 4px; opacity: 0.7; }
.dk-pp-aralik-enum { opacity: 0.7; font-style: italic; }
.dk-pp-aralik-uyari {
  font-size: 11px; color: var(--kotu, #e05555);
  margin: 4px 0 0 0;
}
.dk-pp-aralik-uyari i { margin-right: 4px; }
.dk-pp-input-uyari { border-color: var(--kotu, #e05555) !important; }
/* v2.4.16: parametre okuma hatasi kutusu */
.dk-pp-hata {
  color: var(--kotu, #e05555); font-size: 12px;
  padding: 10px 12px; line-height: 1.6;
  background: rgba(224, 85, 85, 0.08);
  border: 1px solid rgba(224, 85, 85, 0.35);
  border-radius: 6px; margin: 8px 0;
}
.dk-pp-hata i { margin-right: 6px; }

/* ============================================================
   v2.4.19: PARAMETRE DEGER SECENEKLERI (combo box / bitmask)
   ============================================================ */
/* Agac satirinda degerin yanindaki okunabilir anlam */
.dk-pp-val { display: flex; flex-direction: column; align-items: flex-end;
             max-width: 190px; }
.dk-pp-val-anlam {
  font-size: 9.5px; font-weight: 400;
  color: var(--soluk); opacity: 0.9;
  letter-spacing: 0.2px;
  max-width: 190px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* Duzenleme kutusunda mevcut degerin anlami */
.dk-pp-mevcut-anlam { color: var(--metin); opacity: 0.85; }
/* Secim listesi (values) */
.dk-pp-secim {
  width: 100%;
  background: var(--giris-arka);
  border: 1px solid var(--cizgi);
  border-radius: 4px;
  color: var(--metin);
  padding: 7px 8px;
  font-size: 12px;
  margin-top: 8px;
  outline: none;
  cursor: pointer;
}
.dk-pp-secim:focus { border-color: var(--interceptor); }
.dk-pp-secim:disabled { opacity: 0.45; cursor: default; }
.dk-pp-secim option { background: var(--panel); color: var(--metin); }
/* Bitmask onay kutulari */
.dk-pp-bitmask {
  margin-top: 8px;
  max-height: 34vh; overflow-y: auto;
  border: 1px solid var(--cizgi);
  border-radius: 4px;
  background: var(--giris-arka);
  padding: 4px;
}
.dk-pp-bit {
  display: flex; align-items: center; gap: 8px;
  padding: 4px 6px;
  border-radius: 3px;
  cursor: pointer;
  font-size: 11.5px;
  color: var(--metin);
}
.dk-pp-bit:hover { background: var(--dugme-hover); }
.dk-pp-bit input[type="checkbox"] {
  accent-color: var(--interceptor);
  width: 14px; height: 14px; cursor: pointer;
}
.dk-pp-bit input[type="checkbox"]:disabled { opacity: 0.4; }
.dk-pp-bit-ad { flex: 1 1 auto; min-width: 0;
                overflow: hidden; text-overflow: ellipsis;
                white-space: nowrap; }
.dk-pp-bit-no {
  flex: 0 0 auto;
  font-family: monospace; font-size: 9.5px;
  color: var(--soluk); opacity: 0.8;
}
.dk-pp-bitmask-ozet {
  border-top: 1px solid var(--cizgi);
  margin-top: 4px; padding: 5px 6px 2px 6px;
  font-size: 11px; font-family: monospace;
  color: var(--interceptor);
  text-align: right;
}
/* Ham deger girisi anahtari */
.dk-pp-elle-anahtar {
  display: flex; align-items: center; gap: 7px;
  margin-top: 8px;
  font-size: 11px; color: var(--soluk);
  cursor: pointer; user-select: none;
}
.dk-pp-elle-anahtar input[type="checkbox"] {
  accent-color: var(--interceptor);
  width: 13px; height: 13px; cursor: pointer;
}

/* ============================================================
   v2.4.19: KART USTU "UCUSA HAZIR" ROZETI
   ============================================================ */
/* v2.4.23: durum rozeti + ISLEMLER dugmesi yan yana (%50 / %50) */
.dk-ust-satir {
  /* v2.4.23: iki dugme tam %50/%50. minmax(0,1fr) olmadan uzun durum
     metni ilk sutunu buyutup ISLEMLER dugmesini eziyordu. */
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 6px;
  width: calc(100% - 4px); margin: 2px 2px 8px 2px;
}
.dk-ust-satir > .dk-hazir-rozet {
  width: 100%; margin: 0; min-width: 0; overflow: hidden;
}
.dk-ust-satir > .dk-hazir-rozet > span {
  min-width: 0; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap;
}
.dk-islem-btn {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  width: 100%; padding: 7px 8px;
  border: 1px solid rgba(90, 170, 255, 0.45);
  border-radius: 5px;
  background: rgba(90, 170, 255, 0.12);
  color: #9fcaff;
  font-size: 11px; font-weight: 700; letter-spacing: 0.6px;
  cursor: pointer; white-space: nowrap; overflow: hidden;
  transition: background 0.15s, border-color 0.15s;
}
.dk-islem-btn:hover {
  background: rgba(90, 170, 255, 0.24);
  border-color: rgba(90, 170, 255, 0.7);
  color: #ffffff;
}
.dk-islem-ikon { font-size: 13px; flex: 0 0 auto; }
.dk-islem-metin {
  min-width: 0; overflow: hidden; text-overflow: ellipsis;
}
/* ISLEMLER POPUP'I: 3 sutunlu buyuk dugme izgarasi */
.dk-islem-popup { width: 372px; max-width: 94vw; }
.dk-islem-izgara {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 7px; padding: 10px 11px 12px;
}
.dk-islem-hucre {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 7px;
  min-height: 74px; padding: 9px 5px;
  border: 1px solid var(--cizgi); border-radius: 6px;
  background: var(--dugme-arka); color: var(--metin);
  cursor: pointer; text-align: center;
  transition: background 0.15s, border-color 0.15s, transform 0.1s;
}
.dk-islem-hucre:hover {
  background: var(--dugme-hover);
  border-color: rgba(90, 170, 255, 0.55);
}
.dk-islem-hucre:active { transform: scale(0.97); }
.dk-islem-hucre-ikon {
  font-size: 19px; color: var(--interceptor); flex: 0 0 auto;
}
.dk-islem-hucre-metin {
  font-size: 10px; font-weight: 600; line-height: 1.25;
  letter-spacing: 0.2px; word-break: break-word;
}
.dk-islem-hucre.tehlikeli { border-color: rgba(224, 85, 85, 0.45); }
.dk-islem-hucre.tehlikeli .dk-islem-hucre-ikon { color: #f09b9b; }
.dk-islem-hucre.tehlikeli:hover {
  background: rgba(224, 85, 85, 0.16);
  border-color: rgba(224, 85, 85, 0.75);
}
/* v2.4.24: DJI araclarinda desteklenmeyen islem (nedeni title'da) */
.dk-islem-hucre.pasif {
  opacity: 0.38; cursor: not-allowed;
  border-style: dashed;
  background: transparent;
}
.dk-islem-hucre.pasif:hover {
  background: transparent; border-color: var(--cizgi);
}
.dk-islem-hucre.pasif:active { transform: none; }
.dk-islem-hucre.pasif .dk-islem-hucre-ikon {
  color: var(--metin-soluk, #889);
}
/* v2.4.24: ARM CHECK panelinde DJI kaynak notu */
.ac-kaynak-not {
  display: flex; align-items: flex-start; gap: 7px;
  margin: 8px 10px 4px; padding: 7px 9px;
  border: 1px solid rgba(90, 170, 255, 0.28);
  border-radius: 5px;
  background: rgba(90, 170, 255, 0.08);
  font-size: 10.5px; line-height: 1.45;
  color: var(--metin-soluk, #99a);
}
.ac-kaynak-not i { color: var(--interceptor); margin-top: 1px; }
.dk-hazir-rozet {
  display: flex; align-items: center; gap: 8px;
  width: calc(100% - 4px);
  margin: 2px 2px 8px 2px;
  padding: 7px 10px;
  border: 1px solid var(--cizgi);
  border-radius: 5px;
  background: var(--giris-arka);
  color: var(--metin);
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.6px;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s, border-color 0.15s;
}
.dk-hazir-rozet:hover { filter: brightness(1.12); }
.dk-hazir-ikon { font-size: 14px; flex: 0 0 auto; }
.dk-hazir-metin { flex: 1 1 auto; min-width: 0;
                  overflow: hidden; text-overflow: ellipsis;
                  white-space: nowrap; }
.dk-hazir-sayac {
  flex: 0 0 auto;
  font-size: 10px; font-weight: 600; font-family: monospace;
  opacity: 0.95;
}
.dk-hazir-ok { flex: 0 0 auto; font-size: 10px; opacity: 0.55; }
/* Durum renkleri */
.dk-hazir-rozet.hazir {
  border-color: rgba(76, 175, 80, 0.55);
  background: rgba(76, 175, 80, 0.12);
  color: #8fe39a;
}
.dk-hazir-rozet.hazir-uyari {
  border-color: rgba(240, 178, 60, 0.55);
  background: rgba(240, 178, 60, 0.12);
  color: #f3cd7c;
}
.dk-hazir-rozet.hazir-degil {
  border-color: rgba(224, 85, 85, 0.6);
  background: rgba(224, 85, 85, 0.14);
  color: #f09b9b;
  animation: dkHazirNabiz 2.4s ease-in-out infinite;
}
@keyframes dkHazirNabiz {
  0%, 100% { box-shadow: 0 0 0 0 rgba(224, 85, 85, 0); }
  50% { box-shadow: 0 0 0 3px rgba(224, 85, 85, 0.16); }
}
.dk-hazir-rozet.ucusta {
  border-color: rgba(90, 170, 255, 0.55);
  background: rgba(90, 170, 255, 0.12);
  color: #9fcaff;
}
.dk-hazir-rozet.kopuk,
.dk-hazir-rozet.bilinmiyor {
  border-color: var(--cizgi);
  background: var(--dugme-arka);
  color: var(--soluk);
}

/* ============================================================
   v2.4.19: ARM CHECK PANELI
   ============================================================ */
.ac-popup { width: 420px; max-width: 94vw; }
.ac-ozet {
  display: flex; align-items: center; gap: 11px;
  margin: 8px 10px;
  padding: 10px 12px;
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  background: var(--giris-arka);
}
.ac-ozet > i { font-size: 22px; flex: 0 0 auto; }
.ac-ozet-yazi { display: flex; flex-direction: column; gap: 2px;
                min-width: 0; }
.ac-ozet-yazi strong { font-size: 13px; letter-spacing: 0.6px; }
.ac-ozet-yazi span { font-size: 11px; color: var(--soluk);
                     line-height: 1.4; }
.ac-ozet.hazir { border-color: rgba(76, 175, 80, 0.5);
                 background: rgba(76, 175, 80, 0.1); color: #8fe39a; }
.ac-ozet.hazir-uyari { border-color: rgba(240, 178, 60, 0.5);
                       background: rgba(240, 178, 60, 0.1);
                       color: #f3cd7c; }
.ac-ozet.hazir-degil { border-color: rgba(224, 85, 85, 0.55);
                       background: rgba(224, 85, 85, 0.11);
                       color: #f09b9b; }
.ac-ozet.ucusta { border-color: rgba(90, 170, 255, 0.5);
                  background: rgba(90, 170, 255, 0.1); color: #9fcaff; }
.ac-ozet.bilinmiyor { color: var(--soluk); }
/* Sekmeler */
.ac-sekme-bar {
  display: flex; gap: 4px;
  padding: 0 10px;
  border-bottom: 1px solid var(--cizgi);
}
.ac-sekme {
  flex: 1 1 0;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  background: none; border: none;
  border-bottom: 2px solid transparent;
  color: var(--soluk);
  padding: 8px 4px;
  font-size: 11px; font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.ac-sekme:hover { color: var(--metin); }
.ac-sekme.aktif {
  color: var(--interceptor);
  border-bottom-color: var(--interceptor);
}
.ac-sekme i { font-size: 11px; }
.ac-sekme-sayac {
  font-size: 9.5px; font-family: monospace;
  background: var(--giris-arka);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  padding: 0 5px;
}
.ac-sekme-sayac:empty { display: none; }
.ac-sekme-sayac.kritik {
  background: rgba(224, 85, 85, 0.18);
  border-color: rgba(224, 85, 85, 0.5);
  color: #f09b9b;
}
/* Icerik */
.ac-icerik {
  padding: 8px 10px;
  max-height: 46vh; overflow-y: auto;
  display: flex; flex-direction: column; gap: 2px;
}
.ac-yukleniyor, .ac-bos {
  padding: 18px 12px;
  font-size: 12px; color: var(--soluk);
  text-align: center; line-height: 1.6;
}
.ac-yukleniyor i, .ac-bos i { margin-right: 6px; }
.ac-grup-bas {
  display: flex; align-items: center; gap: 7px;
  margin-top: 6px; padding: 5px 7px;
  background: var(--dugme-arka);
  border-radius: 4px;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--metin);
}
.ac-grup-bas i { font-size: 10px; color: var(--soluk); }
/* Denetim satiri */
.ac-satir {
  display: flex; align-items: center; gap: 9px;
  padding: 6px 8px;
  border-left: 3px solid var(--cizgi);
  border-radius: 0 4px 4px 0;
  background: var(--giris-arka);
}
.ac-satir-ikon { font-size: 12px; flex: 0 0 auto; }
.ac-satir-orta { flex: 1 1 auto; min-width: 0;
                 display: flex; flex-direction: column; gap: 1px; }
.ac-satir-ad { font-size: 11.5px; color: var(--metin); }
.ac-satir-mesaj { font-size: 10px; color: var(--soluk);
                  line-height: 1.4; }
.ac-satir-deger {
  flex: 0 0 auto; max-width: 130px;
  font-size: 11px; font-family: monospace; font-weight: 600;
  color: var(--interceptor);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ac-satir.tamam { border-left-color: #4caf50; }
.ac-satir.tamam .ac-satir-ikon { color: #4caf50; }
.ac-satir.uyari { border-left-color: #f0b23c; }
.ac-satir.uyari .ac-satir-ikon { color: #f0b23c; }
.ac-satir.hata { border-left-color: #e05555;
                 background: rgba(224, 85, 85, 0.08); }
.ac-satir.hata .ac-satir-ikon { color: #e05555; }
.ac-satir.bilinmiyor .ac-satir-ikon { color: var(--soluk); opacity: 0.7; }
/* Mesaj satiri */
.ac-mesaj {
  display: flex; align-items: flex-start; gap: 9px;
  padding: 6px 8px;
  border-left: 3px solid var(--cizgi);
  border-radius: 0 4px 4px 0;
  background: var(--giris-arka);
}
.ac-mesaj-ikon { font-size: 12px; flex: 0 0 auto; margin-top: 1px; }
.ac-mesaj-orta { flex: 1 1 auto; min-width: 0;
                 display: flex; flex-direction: column; gap: 2px; }
.ac-mesaj-metin { font-size: 11.5px; color: var(--metin);
                  line-height: 1.45; word-break: break-word; }
.ac-mesaj-tekrar {
  font-size: 9.5px; font-family: monospace;
  background: var(--dugme-arka);
  border-radius: 6px; padding: 0 5px;
  color: var(--soluk);
}
.ac-mesaj-alt { font-size: 9.5px; color: var(--soluk);
                letter-spacing: 0.4px; }
.ac-mesaj.acil { border-left-color: #ff3b3b;
                 background: rgba(255, 59, 59, 0.1); }
.ac-mesaj.acil .ac-mesaj-ikon { color: #ff3b3b; }
.ac-mesaj.hata { border-left-color: #e05555; }
.ac-mesaj.hata .ac-mesaj-ikon { color: #e05555; }
.ac-mesaj.uyari { border-left-color: #f0b23c; }
.ac-mesaj.uyari .ac-mesaj-ikon { color: #f0b23c; }
.ac-mesaj.dikkat { border-left-color: #d8c95a; }
.ac-mesaj.dikkat .ac-mesaj-ikon { color: #d8c95a; }
.ac-mesaj.bilgi .ac-mesaj-ikon { color: var(--soluk); }
/* Parametre satiri */
.ac-param {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 8px;
  border-radius: 4px;
  background: var(--giris-arka);
  cursor: pointer;
}
.ac-param:hover { background: var(--dugme-hover); }
.ac-param-sol { flex: 1 1 auto; min-width: 0;
                display: flex; flex-direction: column; gap: 1px; }
.ac-param-ad { font-size: 11px; font-family: monospace;
               color: var(--metin); }
.ac-param-aciklama { font-size: 9.5px; color: var(--soluk);
                     overflow: hidden; text-overflow: ellipsis;
                     white-space: nowrap; }
.ac-param-sag { flex: 0 0 auto; max-width: 155px;
                display: flex; flex-direction: column;
                align-items: flex-end; gap: 1px; }
.ac-param-deger { font-size: 12px; font-family: monospace;
                  font-weight: 600; color: var(--interceptor); }
.ac-param-anlam { font-size: 9.5px; color: var(--soluk);
                  max-width: 155px;
                  overflow: hidden; text-overflow: ellipsis;
                  white-space: nowrap; }
/* Alt bar */
.ac-alt-bar {
  display: flex; gap: 8px; justify-content: flex-end;
  padding: 8px 10px;
  border-top: 1px solid var(--cizgi);
}
.ac-alt-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--interceptor); border: none; border-radius: 4px;
  color: #fff; padding: 6px 12px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.4px;
  cursor: pointer;
}
.ac-alt-btn:hover { filter: brightness(1.1); }
.ac-alt-btn-ikincil {
  background: var(--dugme-arka); color: var(--metin);
}
.ac-alt-btn-ikincil:hover { background: var(--dugme-hover); filter: none; }

/* ===== ACILIR MENU (DROPDOWN) — hedef ve dron kartlari ===== */
.dk-menu-btn {
  position: relative;
  background: none; border: none;
  color: var(--soluk); font-size: 14px;
  cursor: pointer; padding: 2px 6px;
  border-radius: 4px;
  transition: color 0.15s, background 0.15s;
}
.dk-menu-btn:hover { color: var(--metin); background: var(--dugme-hover); }
.dk-menu-dropdown {
  position: fixed;
  /* top/left JS tarafindan hesaplanir — burada sabit deger yok */
  min-width: 160px;
  background: var(--panel);
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
  z-index: 2500;
  padding: 4px 0;
  display: none;
}
.dk-menu-dropdown.acik { display: block; }
.dk-menu-item {
  display: flex; align-items: center; gap: 8px;
  padding: 7px 12px;
  font-size: 12px;
  color: var(--metin);
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.12s;
}
.dk-menu-item:hover { background: var(--dugme-hover); }
.dk-menu-item i { width: 16px; text-align: center; color: var(--soluk); font-size: 12px; }
.dk-menu-item.tehlikeli { color: var(--kotu); }
.dk-menu-item.tehlikeli i { color: var(--kotu); }
.dk-menu-ayrac {
  height: 1px; background: var(--cizgi);
  margin: 4px 8px;
}

/* =================================================================
   UDP MAVLINK YAYIN ROZETI (dron kart basligi)
   ================================================================= */
.dk-udp-rozet {
  font-family: Consolas, monospace;
  font-size: 9px;
  padding: 1px 5px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--iyi) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--iyi) 35%, transparent);
  color: var(--iyi);
  white-space: nowrap;
  flex: 0 0 auto;
  cursor: help;
}

/* =================================================================
   FAILSAFE POPUP
   ================================================================= */
.fs-popup { width: 390px; max-width: 94vw; }
.fs-tip-satir {
  display: flex; align-items: center; gap: 8px;
  padding: 7px 10px;
  border-bottom: 1px solid var(--cizgi);
  font-size: 11px; font-weight: 600; color: var(--metin);
}
.fs-tip-satir i { color: var(--interceptor); font-size: 13px; }
.fs-tip-not { margin-left: auto; font-weight: 400; font-size: 9px; color: var(--soluk); }
.fs-icerik { max-height: 430px; overflow-y: auto; padding: 4px 8px 6px; }
.fs-icerik::-webkit-scrollbar { width: 8px; }
.fs-icerik::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--soluk) 45%, transparent);
  border-radius: 8px; border: 2px solid transparent; background-clip: padding-box;
}
.fs-yukleniyor {
  padding: 22px 10px; text-align: center;
  color: var(--soluk); font-size: 11px;
}
.fs-grup { margin-top: 8px; }
.fs-grup:first-child { margin-top: 2px; }
.fs-grup-baslik {
  display: flex; align-items: center; gap: 6px;
  font-size: 9.5px; font-weight: 700; letter-spacing: .6px;
  color: var(--interceptor);
  padding: 4px 2px;
  border-bottom: 1px solid var(--cizgi);
  margin-bottom: 3px;
}
.fs-grup-baslik i { font-size: 10px; }
.fs-satir {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; padding: 4px 4px;
  border-radius: 4px;
  transition: background .15s, opacity .2s;
}
.fs-satir:hover { background: color-mix(in srgb, var(--metin) 5%, transparent); }
.fs-etiket { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.fs-etiket span { font-size: 11px; color: var(--metin); }
.fs-etiket code {
  font-family: Consolas, monospace; font-size: 8.5px;
  color: var(--soluk); background: none; padding: 0;
}
.fs-kontrol { display: flex; align-items: center; gap: 5px; flex: 0 0 auto; }
.fs-select {
  max-width: 165px; font-size: 10.5px; padding: 3px 5px;
  background: var(--giris-arka); color: var(--metin);
  border: 1px solid var(--cizgi); border-radius: 4px;
}
.fs-sayi {
  width: 78px; font-size: 11px; padding: 3px 6px; text-align: right;
  font-family: Consolas, monospace;
  background: var(--giris-arka); color: var(--metin);
  border: 1px solid var(--cizgi); border-radius: 4px;
}
.fs-birim { font-size: 9px; color: var(--soluk); width: 26px; }
.fs-satir.fs-bekliyor { opacity: .5; }
.fs-satir.fs-tamam .fs-select,
.fs-satir.fs-tamam .fs-sayi { border-color: var(--iyi); box-shadow: 0 0 0 1px var(--iyi); }
.fs-satir.fs-hata .fs-select,
.fs-satir.fs-hata .fs-sayi { border-color: var(--kotu); box-shadow: 0 0 0 1px var(--kotu); }
.fs-alt-not {
  display: flex; align-items: center; gap: 6px;
  padding: 6px 10px;
  border-top: 1px solid var(--cizgi);
  font-size: 9.5px; color: var(--soluk);
}
.fs-alt-not i { color: var(--interceptor); }

/* =================================================================
   KALIBRASYON POPUP
   ================================================================= */
.kalib-popup { width: 400px; max-width: 94vw; }
.kalib-govde {
  max-height: 460px; overflow-y: auto; padding: 8px;
  display: flex; flex-direction: column; gap: 7px;
}
.kalib-govde::-webkit-scrollbar { width: 8px; }
.kalib-govde::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--soluk) 45%, transparent);
  border-radius: 8px; border: 2px solid transparent; background-clip: padding-box;
}
.kalib-kart {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 4px 10px;
  padding: 8px 10px;
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  background: color-mix(in srgb, var(--metin) 3%, transparent);
}
.kalib-kart.kalib-uyari {
  border-color: color-mix(in srgb, var(--kotu) 50%, transparent);
  background: color-mix(in srgb, var(--kotu) 6%, transparent);
}
.kalib-ikon {
  width: 34px; height: 34px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--interceptor) 12%, transparent);
  color: var(--interceptor); font-size: 15px;
}
.kalib-uyari .kalib-ikon {
  background: color-mix(in srgb, var(--kotu) 15%, transparent);
  color: var(--kotu);
}
.kalib-metin { min-width: 0; }
.kalib-ad { font-size: 11.5px; font-weight: 700; color: var(--metin); }
.kalib-acik { font-size: 9.5px; color: var(--soluk); line-height: 1.45; margin-top: 1px; }
.kalib-btnler { display: flex; flex-direction: column; gap: 4px; }
.kalib-btn {
  font-size: 9.5px; padding: 4px 9px; border-radius: 4px;
  border: 1px solid var(--cizgi);
  background: var(--dugme-arka); color: var(--metin);
  cursor: pointer; white-space: nowrap;
  transition: background .15s, border-color .15s;
}
.kalib-btn:hover {
  border-color: var(--interceptor);
  background: color-mix(in srgb, var(--interceptor) 12%, transparent);
}
.kalib-btn.iyi:hover {
  border-color: var(--iyi);
  background: color-mix(in srgb, var(--iyi) 12%, transparent);
}
.kalib-btn.kotu { border-color: color-mix(in srgb, var(--kotu) 45%, transparent); }
.kalib-btn.kotu:hover {
  border-color: var(--kotu);
  background: color-mix(in srgb, var(--kotu) 12%, transparent);
}
.kalib-bar-kutu {
  grid-column: 1 / -1;
  position: relative;
  height: 12px; border-radius: 6px; overflow: hidden;
  background: var(--giris-arka);
  border: 1px solid var(--cizgi);
}
.kalib-bar { height: 100%; width: 0%; background: var(--interceptor); transition: width .3s; }
.kalib-bar-yazi {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 8.5px; font-weight: 700; letter-spacing: .5px;
  color: var(--metin); text-shadow: 0 0 3px rgba(0,0,0,.5);
}

/* ================================================================
   HARITA AYARLARI POPUP + HARITA ARAMA KUTUSU
   ================================================================ */
#haritaPopup {
  position: fixed; top: 50px; right: 60px;
  width: 340px; max-height: 82vh; overflow-y: auto;
  background: var(--panel-arka); border: 1px solid var(--cizgi);
  border-radius: 6px; box-shadow: 0 8px 32px rgba(0,0,0,.5);
  z-index: 2600; padding: 0;
  color: var(--metin); font-size: 13px;
}
#haritaPopup.popup-gizli { display: none; }

/* Genel combobox stili */
.gcs-select {
  width: 100%; padding: 8px 10px;
  background: var(--dugme-arka); color: var(--metin);
  border: 1px solid var(--cizgi); border-radius: 4px;
  font-size: 12px; cursor: pointer;
  font-family: inherit; outline: none; box-sizing: border-box;
}
.gcs-select:hover { border-color: var(--interceptor); }
.gcs-select option { background: var(--panel); color: var(--metin); }

/* Anahtar (checkbox) listesi */
.hrt-anahtar-liste { display: flex; flex-direction: column; gap: 7px; }
.hrt-anahtar {
  display: flex; align-items: center; gap: 9px;
  cursor: pointer; font-size: 12px; user-select: none;
}
.hrt-anahtar input[type="checkbox"] {
  width: 15px; height: 15px; accent-color: var(--interceptor);
  cursor: pointer; flex-shrink: 0; margin: 0;
}

/* Slider satiri */
.hrt-slider-satir { display: flex; align-items: center; gap: 10px; }
.hrt-slider-satir input[type="range"] { flex: 1; accent-color: var(--interceptor); }
.hrt-slider-deger {
  flex: 0 0 auto; min-width: 44px; text-align: right;
  font-family: Consolas, monospace; font-size: 11px; color: var(--soluk);
}

/* v2.1.7c: Harita arac grubu - sag ustte DIKEY dugme sutunu
   (arama + cetvel; tam ekranda yuzer ust barla cakismaz) */
#haritaAracGrubu {
  /* v2.2.0: harita araclari SOL ust koseye tasindi */
  position: absolute; top: 10px; left: 12px;
  display: flex; flex-direction: column; gap: 6px;
  z-index: 15;
}
#haritaAracGrubu > button {
  width: 33px; height: 33px; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--panel-arka) 90%, transparent);
  border: 1px solid var(--cizgi); border-radius: 6px;
  box-shadow: 0 2px 10px rgba(0,0,0,.35);
  color: var(--soluk); font-size: 13px; cursor: pointer;
  backdrop-filter: blur(4px); padding: 0;
}
#haritaAracGrubu > button:hover { color: var(--metin); border-color: var(--soluk); }
#btnHaritaArama.aktif {
  color: #fff; background: #2563eb; border-color: #3b82f6;
  box-shadow: 0 0 10px rgba(37,99,235,.55);
}
/* Tam ekranda grup, yuzer ust barin altina insin */
body.tam-ekran-modu #haritaAracGrubu { top: 12px; }

/* v2.1.7c: Arama popup'i (tasinabilir) */
#haritaAramaPopup {
  /* v2.2.0: arac grubu solda; popup da solda acilir */
  position: fixed; top: 70px; left: 60px;
  width: 340px; z-index: 3000;
  background: var(--panel-arka); border: 1px solid var(--cizgi);
  border-radius: 6px; box-shadow: 0 8px 30px rgba(0,0,0,.5);
  overflow: visible;
}
#haritaAramaPopup.popup-gizli { display: none; }
#haritaAramaPopup .popup-baslik { cursor: move; }

/* Arama kutusu artik popup icinde (overlay degil) */
#haritaAramaKutu {
  position: relative;
  display: flex; align-items: center; gap: 7px;
  width: auto; margin: 8px; padding: 7px 11px; box-sizing: border-box;
  background: color-mix(in srgb, var(--dugme-arka, #202833) 60%, transparent);
  border: 1px solid var(--cizgi); border-radius: 6px;
}
#haritaAramaKutu > i { color: var(--soluk); font-size: 12px; flex-shrink: 0; }
#btnCetvel:hover { color: var(--metin); border-color: var(--soluk); }
#btnCetvel.aktif {
  color: #fff; background: #2563eb; border-color: #3b82f6;
  box-shadow: 0 0 10px rgba(37,99,235,.55);
}
/* Cetvel modunda harita imleci */
#haritaAlan.cetvel-modu #cesiumContainer { cursor: crosshair; }
/* v2.1.1: Statusbar zoom gostergesi */
#zoomDurum { font-family: Consolas, monospace; color: var(--soluk); font-size: 11px; }
#haritaAramaGiris {
  flex: 1; min-width: 0; background: none; border: none; outline: none;
  color: var(--metin); font-size: 12px; font-family: inherit;
  padding: 0; margin: 0;
}
#haritaAramaGiris::placeholder { color: var(--soluk); }
#btnAramaTemizle {
  flex: 0 0 auto; background: none !important; border: none !important;
  cursor: pointer; color: var(--soluk); font-size: 12px; padding: 2px 4px;
}
#btnAramaTemizle:hover { color: var(--kotu); }

/* Arama sonuc listesi */
#haritaAramaSonuclar {
  position: absolute; top: calc(100% + 5px); left: 0; right: 0;
  max-height: 280px; overflow-y: auto;
  background: var(--panel-arka); border: 1px solid var(--cizgi);
  border-radius: 6px; box-shadow: 0 6px 22px rgba(0,0,0,.45);
}
#haritaAramaSonuclar.popup-gizli { display: none; }
.hrt-arama-sonuc {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 9px 11px; cursor: pointer;
  font-size: 11px; line-height: 1.45;
  border-bottom: 1px solid var(--cizgi);
  color: var(--metin);
}
.hrt-arama-sonuc:last-child { border-bottom: none; }
.hrt-arama-sonuc:hover { background: var(--dugme-hover); }
.hrt-arama-sonuc i { color: var(--interceptor); font-size: 11px; margin-top: 2px; flex-shrink: 0; }
.hrt-arama-sonuc span { flex: 1; min-width: 0; word-break: break-word; }
.hrt-arama-bos {
  padding: 12px; text-align: center;
  color: var(--soluk); font-size: 11px;
}

/* ================================================================
   EVRENSEL SIK INCE SCROLLBAR
   Tum popup, panel, liste ve modal kaydirilabilir alanlari icin
   (.sabit-icerik / .yuzen-icerik desenini genellestirir)
   ================================================================ */
*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
*::-webkit-scrollbar-track {
  background: transparent;
  margin: 4px 0;
}
*::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--soluk) 45%, transparent);
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: padding-box;
  min-height: 32px;
  transition: background .2s;
}
*::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--soluk) 75%, transparent);
  background-clip: padding-box;
}
*::-webkit-scrollbar-corner { background: transparent; }
/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--soluk) 45%, transparent) transparent;
}
/* Konsol: koyu zeminde de ayni sik desen (eski 6px gri kurali ezilir) */
#konsolKutu::-webkit-scrollbar { width: 8px; }
#konsolKutu::-webkit-scrollbar-track { background: transparent; margin: 4px 0; }
#konsolKutu::-webkit-scrollbar-thumb {
  background: rgba(122, 138, 153, .45);
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: padding-box;
  min-height: 32px;
}
#konsolKutu::-webkit-scrollbar-thumb:hover {
  background: rgba(122, 138, 153, .75);
  background-clip: padding-box;
}


/* =====================================================================
   MENU CUBUGU (ust bar klasik menu) - 20260726g
   ===================================================================== */
#menubar {
  display: flex; align-items: stretch; align-self: stretch;
  user-select: none;
}
.mb-item { position: relative; display: flex; align-items: stretch; }
.mb-etiket {
  display: flex; align-items: center; padding: 0 12px;
  font-size: 12px; color: var(--metin); cursor: pointer;
  white-space: nowrap;
}
.mb-etiket:hover { background: var(--dugme-arka); color: var(--beyaz); }
.mb-item.acik .mb-etiket { background: var(--dugme-arka); color: var(--beyaz); }
.mb-dropdown {
  display: none; position: absolute; top: 100%; left: 0; z-index: 2600;
  min-width: 220px; padding: 4px 0;
  background: var(--panel-arka); border: 1px solid var(--cizgi);
  border-radius: 0 0 6px 6px; box-shadow: 0 10px 32px rgba(0,0,0,.5);
}
.mb-item.acik .mb-dropdown { display: block; }
.mb-oge {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 14px; font-size: 12px; color: var(--metin);
  cursor: pointer; white-space: nowrap;
}
.mb-oge:hover { background: var(--dugme-arka); color: var(--beyaz); }
.mb-oge i { width: 15px; text-align: center; font-size: 12px; color: var(--soluk); }
.mb-oge:hover i { color: var(--interceptor); }
.mb-ayrac { height: 1px; margin: 4px 8px; background: var(--cizgi); }
/* v2.4.0: haritada kamera onizleme popup'i */
.kam-oniz-popup {
  position: fixed;
  width: 280px;
  z-index: 1600;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  box-shadow: 0 8px 28px rgba(0,0,0,.5);
  overflow: hidden;
  color: var(--metin);
}
.kam-oniz-baslik {
  display: flex; align-items: center; justify-content: space-between;
  padding: 6px 10px; font-size: 11px; font-weight: 600;
  letter-spacing: .06em; border-bottom: 1px solid var(--cizgi);
  user-select: none;
}
.kam-oniz-baslik i.fa-video { margin-right: 5px; opacity: .8; }
.kam-oniz-baslik button {
  background: none !important; border: none !important;
  color: var(--metin); cursor: pointer; font-size: 14px; padding: 2px 4px;
}
.kam-oniz-baslik button:hover { color: var(--kotu); }
.kam-oniz-video {
  height: 168px; background: #000;
  display: flex; align-items: center; justify-content: center;
}
.kam-oniz-medya {
  width: 100%; height: 100%; object-fit: contain; display: block;
}
.kam-oniz-video.kam-hata::after {
  content: "\26a0 Yay\131n al\131nam\131yor";
  color: #ff6b6b; font-size: 11px; position: absolute;
}
/* v2.4.0: dropdown ici kucuk bolum basligi (AI > Kutuphane) */
.mb-alt-baslik {
  padding: 4px 12px 2px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--soluk);
  text-transform: uppercase;
  user-select: none;
  cursor: default;
}
/* Panel ac/kapat ogeleri: tik ikonu acikken gorunur, kapaliyken soluk bosluk */
.mb-panel-toggle .mb-tik { color: var(--interceptor); }
.mb-panel-toggle.pasif .mb-tik { visibility: hidden; }
/* v2.3.1: kapali durumda metin gri DEGIL; yalnizca tik gizlenir */
.mb-panel-toggle.pasif span { color: inherit; }

/* ALT navigasyonu: hizlandirici harfler normalde cizgisiz; ALT modunda altcizili */
u.mb-hizli { text-decoration: none; }
#menubar.alt-aktif u.mb-hizli { text-decoration: underline; text-underline-offset: 2px; }
#menubar.alt-aktif .mb-etiket { outline: 1px dashed color-mix(in srgb, var(--interceptor) 45%, transparent); outline-offset: -1px; }
/* Ok tuslariyla gezinirken odakli oge (hover ile ayni gorunum) */
.mb-oge.odak { background: var(--dugme-arka); color: var(--beyaz); }
.mb-oge.odak i { color: var(--interceptor); }

/* LOG YONETIMI POPUP'I: durum satiri + progress bar + indir dugmesi */
/* v2.4.23: popup dar ve tam yuksek; ust bosluk kaldirildi, liste
   alani esnek buyur (eskiden .dk-pp-sonuc min-height:100px + eski
   .dk-log-* kurallari nedeniyle ustte bos alan olusuyordu). */
.dk-log-popup { width: 560px; height: 480px; max-height: 86vh; }
.dk-log-popup .dk-pp-sonuc {
  flex: 1 1 auto; min-height: 0; max-height: none;
  padding: 0 10px 8px; overflow-y: auto;
}
.dk-log-popup .dk-pp-tablo { gap: 0; }
.dk-log-durum { padding: 8px 12px 6px; flex: 0 0 auto; }
.dk-log-durum-satir {
  display: flex; align-items: center; gap: 10px;
}
.dk-log-durum-metin {
  font-size: 11px; color: var(--soluk);
  flex: 1 1 auto; min-width: 0; opacity: 1;
}
.dk-log-durdur-btn {
  flex: 0 0 auto; padding: 3px 9px; border-radius: 4px;
  font-size: 10.5px; font-weight: 600; cursor: pointer;
  background: color-mix(in srgb, var(--kotu, #dc2626) 22%, transparent);
  border: 1px solid color-mix(in srgb, var(--kotu, #dc2626) 55%, transparent);
  color: #ffbdb5;
}
.dk-log-durdur-btn:hover {
  background: color-mix(in srgb, var(--kotu, #dc2626) 38%, transparent);
  color: #fff;
}
/* Siralanabilir tablo basligi */
.dk-log-tablo-basi {
  display: grid;
  grid-template-columns: 84px minmax(0,1fr) 92px 84px;
  align-items: center; gap: 8px;
  padding: 4px 18px 5px 18px; flex: 0 0 auto;
  border-bottom: 1px solid var(--cizgi);
  background: color-mix(in srgb, var(--metin) 4%, transparent);
}
.dk-log-th {
  display: flex; align-items: center; gap: 5px;
  background: none; border: none; padding: 2px 0;
  font-size: 9.5px; font-weight: 700; letter-spacing: .07em;
  color: var(--soluk); cursor: pointer; text-transform: uppercase;
}
.dk-log-th:hover { color: var(--metin); }
.dk-log-th.aktif { color: var(--interceptor); }
.dk-log-th .dk-log-ok { font-size: 9px; opacity: .55; }
.dk-log-th.aktif .dk-log-ok { opacity: 1; }
.dk-log-th-tarih, .dk-log-th-boyut { justify-content: flex-end; }
.dk-log-th-islem {
  font-size: 9.5px; font-weight: 700; letter-spacing: .07em;
  color: var(--soluk); text-transform: uppercase; text-align: center;
}
.dk-log-bar {
  margin-top: 6px; height: 6px; border-radius: 3px;
  background: var(--dugme-arka); overflow: hidden; position: relative;
}
.dk-log-bar-dolu {
  height: 100%; width: 0%; border-radius: 3px;
  background: linear-gradient(90deg, var(--interceptor), color-mix(in srgb, var(--interceptor) 55%, #fff));
  transition: width .3s ease;
}
.dk-log-bar-dolu.belirsiz {
  width: 35%;
  animation: dkLogKayan 1.2s linear infinite;
}
@keyframes dkLogKayan {
  0%   { margin-left: -35%; }
  100% { margin-left: 100%; }
}
/* v2.4.23: satirlar basliktaki grid ile ayni kolon yapisini kullanir */
.dk-log-satir {
  display: grid;
  grid-template-columns: 84px minmax(0,1fr) 92px 84px;
  align-items: center; gap: 8px;
  padding: 5px 10px; border-radius: 4px; cursor: default;
  border-bottom: 1px solid color-mix(in srgb, var(--cizgi) 55%, transparent);
  background: none;
}
.dk-log-satir:last-child { border-bottom: none; }
.dk-log-satir:hover { background: var(--dugme-hover); }
.dk-log-satir.indiriliyor { background: color-mix(in srgb, var(--interceptor) 14%, transparent); }
.dk-log-satir .dk-log-ad {
  font-family: Consolas, monospace; font-size: 11.5px;
  font-weight: 600; color: var(--metin); white-space: nowrap;
}
.dk-log-satir .dk-log-tarih {
  font-family: Consolas, monospace; font-size: 11px;
  color: var(--soluk); text-align: right; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; opacity: 1;
  flex: none;
}
.dk-log-satir .dk-log-boyut {
  font-family: Consolas, monospace; font-size: 11.5px;
  color: var(--interceptor); font-weight: 600; text-align: right;
  white-space: nowrap;
}
.dk-log-indir-btn {
  justify-self: stretch; margin: 0;
  display: inline-flex; align-items: center; justify-content: center;
  gap: 5px; height: 24px; padding: 0 6px; border-radius: 4px;
  background: var(--dugme-arka); border: 1px solid var(--cizgi);
  color: var(--interceptor); font-size: 10.5px; font-weight: 600;
  cursor: pointer; white-space: nowrap; overflow: hidden;
}
.dk-log-indir-btn i { font-size: 10px; }
.dk-log-indir-btn:hover:not(:disabled) {
  background: var(--dugme-hover); color: var(--beyaz);
}
.dk-log-indir-btn:disabled { opacity: .35; cursor: not-allowed; }
.dk-log-indir-btn.durdur {
  color: #ffbdb5;
  background: color-mix(in srgb, var(--kotu, #dc2626) 22%, transparent);
  border-color: color-mix(in srgb, var(--kotu, #dc2626) 55%, transparent);
}
.dk-log-indir-btn.durdur:hover {
  background: color-mix(in srgb, var(--kotu, #dc2626) 38%, transparent);
  color: #fff;
}

/* Menuye tasinan eski ust bar dugmeleri gizli tutulur (islevleri delege edilir) */
.gizli-tasindi { display: none !important; }
/* v2.4.5: kamera modali dinamik alan gizleme — protokole gore
   kamCihazSatir, kamDjiSatir ve URL satiri gosterilir/gizlenir.
   (Genel .gizli tanimi dron karti akordeonunu bozacagi icin
   kapsam kamera modaliyla sinirlidir.) */
#kamModalKutu .gizli { display: none !important; }

/* Profil kutusu artik en sagda, yalniz avatar */
#profilKutu img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }

/* Profil menusu sag hizali acilir */
#profilMenu { left: auto !important; right: 10px; }

/* ===================================================================== */
/* EK BLOK v2.0.0 - Hakkinda popup, Log popup, ALT nav, panel tik        */
/* ===================================================================== */
#yzHakkinda { width: 320px; }
.hk-icerik { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 16px 16px; text-align: center; }
#hkLogoKutu { width: 96px; height: 96px; display: flex; align-items: center; justify-content: center; cursor: pointer; background: transparent; }
#hkLogoKutu:hover { background: transparent; opacity: .85; }
#hkLogoKutu img { max-width: 100%; max-height: 100%; object-fit: contain; }
.hk-program { font-size: 20px; font-weight: 700; letter-spacing: 3px; color: var(--vurgu, #4da3ff); }
.hk-surum { font-size: 12px; opacity: .8; }
.hk-ayrac { width: 80%; height: 1px; background: rgba(255,255,255,.12); margin: 8px 0; }
.hk-baslik { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; opacity: .7; }
.hk-ekip { list-style: none; margin: 4px 0 0; padding: 0; font-size: 13px; line-height: 1.9; }
.hk-firma { font-size: 10px; opacity: .55; margin-top: 10px; letter-spacing: .5px; }
.mb-oge .mb-tik { display: inline-block; width: 14px; text-align: center; margin-right: 4px; color: var(--vurgu, #4da3ff); }
.mb-oge.pasif .mb-tik { visibility: hidden; }
.mb-oge.pasif { opacity: 1; }
[data-hizli] .hz-harf { text-decoration: underline; text-underline-offset: 2px; }
.mb-oge.klavye-odak, .mb-item.klavye-odak > .mb-etiket { outline: 1px solid var(--vurgu, #4da3ff); outline-offset: -1px; background: rgba(77,163,255,.12); }
/* v2.4.23: asagidaki eski v2.0.0 log stilleri kaldirildi — yeni
   grid tabanli .dk-log-satir / .dk-log-durum kurallarini eziyor ve
   popup icinde bos alan olusturuyordu. Yalniz kullanilmayan
   yardimci siniflar korundu. */
.dk-log-bos { text-align: center; opacity: .6; font-size: 12px; padding: 12px 0; }

/* v2.0.1: hakkinda logosu arka plansiz */
#hkLogoKutu, #hkLogoKutu img { background: transparent !important; box-shadow: none !important; border: none !important; }

/* ============ v2.1.0: km/h ikincil hiz gosterimleri ============ */
.dk-kmh{
  display:block; font-size:9px; line-height:1.15;
  color:var(--soluk); font-weight:400; letter-spacing:.2px;
}
.ang-kmh{
  font-size:10px; color:var(--soluk); margin-left:6px; white-space:nowrap;
}

/* ============ v2.1.0: Offline harita cache yonetimi ============ */
.hrt-cache-satir { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.hrt-cache-bilgi { font-size:11px; color:var(--soluk); }
.hrt-cache-bilgi b { color:var(--metin); font-weight:600; }
.hrt-cache-btn {
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 10px; font-size:11px; border-radius:6px; cursor:pointer;
  background: color-mix(in srgb, var(--metin) 8%, transparent);
  border:1px solid var(--cizgi, #2a3a4d); color:var(--metin);
  transition: background .15s;
}
.hrt-cache-btn:hover { background: color-mix(in srgb, var(--metin) 16%, transparent); }
.hrt-cache-btn.tehlike { color:#ff7a6b; border-color: color-mix(in srgb, #ff7a6b 40%, transparent); }
.hrt-cache-btn.tehlike:hover { background: color-mix(in srgb, #ff7a6b 14%, transparent); }
.hrt-cache-btn:disabled { opacity:.45; cursor:not-allowed; }
.hrt-cache-prog {
  position:relative; height:8px; border-radius:4px; overflow:hidden;
  background: color-mix(in srgb, var(--metin) 10%, transparent);
  margin-top:6px; display:none;
}
.hrt-cache-prog.aktif { display:block; }
.hrt-cache-prog-ic {
  position:absolute; left:0; top:0; bottom:0; width:0%;
  background: linear-gradient(90deg, var(--vurgu, #38bdf8), color-mix(in srgb, var(--vurgu, #38bdf8) 60%, #22c55e));
  transition: width .25s;
}
.hrt-cache-prog-yazi { font-size:10px; color:var(--soluk); margin-top:4px; display:none; }
.hrt-cache-prog-yazi.aktif { display:block; }
.hrt-cache-zoom { display:flex; align-items:center; gap:6px; margin-top:6px; font-size:11px; color:var(--soluk); }
.hrt-cache-zoom select { width:64px; }

/* ============================================================
   ANGAJMAN IZLEME POPUP
   ============================================================ */
.angi-popup {
  position: fixed;
  top: 80px; right: 20px;
  width: 360px;
  max-height: 80vh;
  overflow-y: auto;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
  z-index: 9000;
  font-size: 12px;
  color: var(--metin);
}
.angi-baslik {
  display: flex; align-items: center; gap: 6px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--cizgi);
  font-weight: 700; font-size: 12px;
  letter-spacing: .1em;
  cursor: move;
  touch-action: none;
  user-select: none;
}
.angi-baslik i.fa-satellite-dish { color: var(--kotu); }
.angi-kapat {
  margin-left: auto;
  background: none !important; border: none !important;
  color: var(--metin); cursor: pointer;
  font-size: 14px; padding: 2px 6px; border-radius: 4px;
}
.angi-kapat:hover { color: var(--kotu); }
.angi-icerik { padding: 8px 10px; overflow-y: auto; }
.angi-bos {
  text-align: center; padding: 24px 12px;
  color: var(--soluk); font-size: 12px;
}
.angi-bos i { margin-right: 6px; }
.angi-kart {
  background: rgba(0,0,0,.18);
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  padding: 10px;
  margin-bottom: 8px;
}
:root[data-tema="acik"] .angi-kart { background: rgba(0,0,0,.05); }
.angi-kart:last-child { margin-bottom: 0; }
.angi-kart-baslik {
  display: flex; align-items: center; gap: 6px;
  margin-bottom: 8px; font-weight: 600; font-size: 12px;
}
.angi-dron { color: var(--iyi); }
.angi-ok { color: var(--kotu); font-size: 14px; font-weight: 700; }
.angi-hedef { color: var(--uyari); }
.angi-progress {
  height: 4px; background: rgba(255,255,255,.08);
  border-radius: 2px; overflow: hidden; margin-bottom: 8px;
}
:root[data-tema="acik"] .angi-progress { background: rgba(0,0,0,.1); }
.angi-progress-bar {
  height: 100%; background: linear-gradient(90deg, var(--kotu), var(--uyari));
  border-radius: 2px; transition: width .4s ease;
}
.angi-detay { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 12px; }
.angi-satir {
  display: flex; justify-content: space-between; align-items: center;
  padding: 2px 0; min-width: 0;
  border-bottom: 1px dashed var(--cizgi);
}
.angi-etiket { color: var(--soluk); font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.angi-deger { font-family: Consolas, monospace; font-size: 11px; font-weight: 600; white-space: nowrap; }
.angi-vurgu { color: var(--uyari); font-size: 12px; }
.angi-kart-alt { margin-top: 8px; text-align: right; }
.angi-iptal-btn {
  background: rgba(255,93,93,.12); border: 1px solid rgba(255,93,93,.45);
  color: var(--kotu); padding: 4px 10px; border-radius: 4px;
  font-size: 10px; font-weight: 700; cursor: pointer;
  letter-spacing: .06em;
  transition: background .2s;
}
.angi-iptal-btn:hover { background: rgba(255,93,93,.28); }
.angi-iptal-btn i { margin-right: 4px; }

/* =====================================================================
   BOLUM POPUP (v2.1.7): panel bolumlerinin ayrilabilir popup hali
   ===================================================================== */
.bolum-popup {
  position: fixed;
  left: 120px;
  top: 90px;
  width: 320px;
  height: 420px;
  min-width: 240px;
  min-height: 180px;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  box-shadow: 0 10px 34px rgba(0,0,0,.55);
  z-index: 2450;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--metin);
}
.bolum-popup-baslik {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  background: rgba(0,0,0,.22);
  border-bottom: 1px solid var(--cizgi);
  cursor: move;
  user-select: none;
  touch-action: none;
  flex: 0 0 auto;
}
:root[data-tema="acik"] .bolum-popup-baslik { background: rgba(0,0,0,.06); }
.bolum-popup-ad {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--metin);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bolum-popup-ad i.fa-solid { width: 16px; text-align: center; opacity: .85; }
.bolum-popup-btn {
  background: none;
  border: none;
  color: var(--soluk);
  cursor: pointer;
  font-size: 13px;
  padding: 3px 6px;
  border-radius: 4px;
  flex: 0 0 auto;
}
.bolum-popup-btn:hover { color: var(--beyaz); background: rgba(128,128,128,.18); }
.bolum-popup-govde {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.bolum-popup-govde .panel-toolbar,
.bolum-popup-govde .sabit-baslik { flex: 0 0 auto; }
.bolum-popup-govde .sabit-icerik {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
/* Popup icindeki toolbar'da "popup olarak ac" dugmesi gereksiz */
.bolum-popup-icinde .bolum-ayir-btn { display: none !important; }
/* Cift baslik onlemi: baslik zaten popup cubugunda; icerideki tekrar gizlenir */
.bolum-popup-icinde .tb-baslik { display: none !important; }
/* Islevsel dugmesi olmayan h2 basliklar (or. takipBaslik) popup icinde tamamen gizli */
h2.sabit-baslik.bolum-popup-icinde.bp-bos-baslik { display: none !important; }
/* Toolbar'da kalan islevsel dugmeler sag tarafta hizali kalsin */
.bolum-popup-govde .panel-toolbar.bolum-popup-icinde {
  justify-content: flex-end;
  min-height: 0;
  padding-top: 4px;
  padding-bottom: 4px;
}

/* =====================================================================
   POPUP RESIZE (v2.1.7): sag-alt kose boyutlandirma tutamaci
   ===================================================================== */
.popup-boyut-tutamac {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 18px;
  height: 18px;
  cursor: nwse-resize;
  touch-action: none;
  z-index: 5;
  opacity: .55;
}
.popup-boyut-tutamac::after {
  content: "";
  position: absolute;
  right: 3px;
  bottom: 3px;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--soluk);
  border-bottom: 2px solid var(--soluk);
  border-radius: 0 0 3px 0;
}
.popup-boyut-tutamac:hover { opacity: 1; }

/* ================================================================
   v2.1.7 - PILOT HAKKINDA / UYARI MERKEZI / ROL YONETIMI
   ================================================================ */

/* ---- Pilot Hakkinda popup ---- */
.ph-popup {
  position: fixed;
  width: 760px; height: 520px;
  min-width: 640px; min-height: 400px;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(0,0,0,.55);
  z-index: 2600;
  display: flex; flex-direction: column;
  overflow: hidden;
  color: var(--metin);
  font-size: 13px;
}
.ph-baslik .ph-baslik-ad { opacity: .65; font-weight: 400; font-size: 12px; }
.ph-govde { flex: 1; display: flex; min-height: 0; }
.ph-sol {
  flex: 0 0 190px;
  border-right: 1px solid var(--cizgi);
  padding: 8px 0;
  overflow-y: auto;
  background: rgba(0,0,0,.15);
}
:root[data-tema="acik"] .ph-sol { background: rgba(0,0,0,.05); }
.ph-modul {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px;
  cursor: pointer;
  font-size: 13px;
  color: var(--soluk);
  border-left: 3px solid transparent;
  user-select: none;
}
.ph-modul:hover { background: rgba(128,128,128,.12); color: var(--beyaz); }
.ph-modul.secili {
  background: rgba(53,208,255,.08);
  border-left-color: var(--interceptor);
  color: var(--beyaz);
}
.ph-modul i.fa-solid { width: 18px; text-align: center; }
.ph-sag { flex: 1; min-width: 0; overflow-y: auto; padding: 14px 16px; }
.ph-liste-bos { opacity: .55; text-align: center; padding: 30px 10px; font-size: 13px; }
.ph-not { opacity: .6; font-size: 11px; margin: 4px 0 8px; }

/* Bilgiler formu */
.ph-form { display: flex; flex-direction: column; gap: 6px; max-width: 420px; }
.ph-avatar-satir { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.ph-avatar-satir img {
  width: 56px; height: 56px; border-radius: 50%;
  object-fit: cover; border: 2px solid var(--cizgi);
  background: #222;
}
.ph-form-ad { font-size: 15px; font-weight: 600; color: var(--beyaz); }
.ph-form-eposta { font-size: 12px; opacity: .6; }
.ph-form label { font-size: 11px; opacity: .7; margin-top: 8px; text-transform: uppercase; letter-spacing: .4px; }
.ph-form input, .ph-form select {
  background: var(--dugme-arka);
  border: 1px solid var(--cizgi);
  color: var(--metin);
  border-radius: 4px; padding: 7px 9px; font-size: 13px;
}
.ph-form select:disabled { opacity: .5; cursor: not-allowed; }
.ph-form-alt { display: flex; align-items: center; gap: 10px; margin-top: 14px; }
.ph-form-alt .onay-btn, .ry-alt .onay-btn {
  background: var(--interceptor); color: #06232a;
  border: none; border-radius: 4px; padding: 8px 16px;
  font-weight: 600; cursor: pointer; font-size: 13px;
}
.ph-form-alt .onay-btn:hover, .ry-alt .onay-btn:hover { filter: brightness(1.12); }
#phFormMesaj.basari, #ryMesaj.basari { color: var(--iyi); font-size: 12px; }
#phFormMesaj.hata, #ryMesaj.hata { color: var(--kotu); font-size: 12px; }

/* Program gecmisi / uyari listesi */
.ph-log-liste { display: flex; flex-direction: column; gap: 4px; }
.ph-log {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 9px;
  background: rgba(128,128,128,.06);
  border: 1px solid var(--cizgi);
  border-radius: 5px;
  font-size: 12px;
}
.ph-log-kat {
  flex: 0 0 auto;
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  padding: 2px 7px; border-radius: 3px;
  background: rgba(53,208,255,.12); color: var(--interceptor);
}
.ph-log-kat.radar { background: rgba(255,176,46,.14); color: var(--caymaz); }
.ph-log-kat.angajman { background: rgba(255,93,93,.14); color: var(--kotu); }
.ph-log-kat.pilotaj, .ph-log-kat.gorev { background: rgba(61,220,132,.12); color: var(--iyi); }
.ph-log-govde { flex: 1; min-width: 0; }
.ph-log-islem { font-weight: 600; color: var(--beyaz); }
.ph-log-detay { opacity: .6; font-size: 11px; word-break: break-all; }
.ph-log-zaman { flex: 0 0 auto; opacity: .5; font-size: 11px; white-space: nowrap; }
.ph-uyari .ph-uyari-ikon { color: var(--uyari); }
.ph-uyari.okunmamis { border-left: 3px solid var(--uyari); }

/* Ucus listesi */
.ph-ucus-liste { display: flex; flex-direction: column; gap: 4px; }
.ph-ucus {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px;
  background: rgba(128,128,128,.06);
  border: 1px solid var(--cizgi);
  border-radius: 5px; cursor: pointer;
  user-select: none;
}
.ph-ucus:hover { background: rgba(53,208,255,.07); border-color: var(--interceptor); }
.ph-ucus .gc-renk {
  flex: 0 0 auto; width: 10px; height: 10px;
  border-radius: 2px; display: inline-block;
}
.ph-ucus-govde { flex: 1; min-width: 0; }
.ph-ucus-ad { font-size: 13px; font-weight: 600; color: var(--beyaz); }
.ph-ucus-alt { font-size: 11px; opacity: .6; }
.ph-ucus-oynat { opacity: .5; cursor: pointer; padding: 4px; }
.ph-ucus-oynat:hover { opacity: 1; color: var(--interceptor); }

/* Ucus onizleme popup */
.ph-onizleme {
  position: fixed;
  width: 640px; height: 460px;
  min-width: 480px; min-height: 340px;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(0,0,0,.6);
  z-index: 2700;
  display: flex; flex-direction: column;
  overflow: hidden;
  color: var(--metin);
}
.ph-onizleme-govde { flex: 1; display: flex; flex-direction: column; min-height: 0; }
#phOnHarita { flex: 1; min-height: 0; }
#phOnHarita .cesium-viewer-bottom { display: none; }

/* ---- Uyari merkezi ---- */
.uyari-rozet {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 16px; height: 16px;
  padding: 0 4px; box-sizing: border-box;
  background: #e02d2d; color: #fff;
  border-radius: 8px;
  font-size: 10px; font-weight: 700; line-height: 1;
}
#btnUyarilar .uyari-rozet {
  position: absolute; top: 1px; right: 1px;
}
#pmUyariRozet { margin-left: auto; }
@keyframes uyariSalla {
  0%, 100% { transform: rotate(0); }
  20% { transform: rotate(14deg); }
  40% { transform: rotate(-12deg); }
  60% { transform: rotate(8deg); }
  80% { transform: rotate(-6deg); }
}
#btnUyarilar.uyari-salla i.fa-bell { animation: uyariSalla .8s ease; display: inline-block; }
.um-popup {
  position: fixed;
  width: 380px; height: 420px;
  min-width: 320px; min-height: 240px;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(0,0,0,.55);
  z-index: 2800;
  display: flex; flex-direction: column;
  overflow: hidden;
  color: var(--metin);
  font-size: 13px;
}
.um-liste { flex: 1; overflow-y: auto; padding: 8px; display: flex; flex-direction: column; gap: 4px; }
.um-uyari {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 8px 10px;
  background: rgba(128,128,128,.06);
  border: 1px solid var(--cizgi);
  border-radius: 5px; font-size: 12px;
}
.um-uyari i { color: var(--uyari); margin-top: 2px; }
.um-uyari.okunmamis { border-left: 3px solid var(--uyari); background: rgba(255,176,46,.05); }
.um-govde { flex: 1; min-width: 0; }
.um-mesaj { line-height: 1.4; }
.um-zaman { opacity: .5; font-size: 11px; margin-top: 3px; }

/* ---- Rol yonetimi ---- */
.ry-popup {
  position: fixed;
  width: 620px; height: 480px;
  min-width: 520px; min-height: 380px;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(0,0,0,.55);
  z-index: 2650;
  display: flex; flex-direction: column;
  overflow: hidden;
  color: var(--metin);
  font-size: 13px;
}
.ry-govde { flex: 1; display: flex; min-height: 0; }
.ry-sol {
  flex: 0 0 160px;
  border-right: 1px solid var(--cizgi);
  padding: 8px 0; overflow-y: auto;
  background: rgba(0,0,0,.15);
}
:root[data-tema="acik"] .ry-sol { background: rgba(0,0,0,.05); }
.ry-rol {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; cursor: pointer;
  font-size: 13px; color: var(--soluk);
  border-left: 3px solid transparent;
  user-select: none;
}
.ry-rol:hover { background: rgba(128,128,128,.12); color: var(--beyaz); }
.ry-rol.secili {
  background: rgba(53,208,255,.08);
  border-left-color: var(--interceptor);
  color: var(--beyaz);
}
.ry-sag { flex: 1; min-width: 0; overflow-y: auto; padding: 12px 14px; }
.ry-grup {
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  padding: 10px 12px; margin-bottom: 10px;
  background: rgba(128,128,128,.04);
}
.ry-grup-baslik {
  font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .5px;
  color: var(--interceptor);
  margin-bottom: 8px;
}
.ry-izin {
  display: flex; align-items: center; gap: 9px;
  padding: 4px 2px; font-size: 13px; cursor: pointer;
  user-select: none;
}
.ry-izin input[type="checkbox"] { accent-color: var(--interceptor); }
.ry-izin input:disabled + span { opacity: .5; }
.ry-alt { display: flex; align-items: center; gap: 10px; margin-top: 6px; }

/* Profil menusu rozet hizasi */
#pmUyarilar { position: relative; }

/* v2.1.7b: Rol ekleme/silme */
.ry-rol { position: relative; }
.ry-rol-sil {
  background: none; border: none; color: var(--soluk);
  cursor: pointer; font-size: 11px; padding: 2px 5px;
  margin-left: auto; border-radius: 4px; flex: 0 0 auto;
  opacity: 0; transition: opacity .15s;
}
.ry-rol:hover .ry-rol-sil { opacity: 1; }
.ry-rol-sil:hover { color: #e05555; background: rgba(224,85,85,.12); }
.ry-rol-ekle {
  display: flex; gap: 4px; align-items: center;
  margin-top: 8px; padding: 4px;
}
.ry-rol-ekle input {
  flex: 1 1 auto; min-width: 0;
  background: var(--girdi-arka, rgba(128,128,128,.12));
  border: 1px solid var(--cizgi); border-radius: 4px;
  color: var(--metin); font-size: 11px; padding: 5px 7px;
}
.ry-rol-ekle button {
  background: var(--vurgu, #2f6fb2); border: none; color: #fff;
  border-radius: 4px; cursor: pointer; font-size: 11px;
  padding: 5px 9px; flex: 0 0 auto;
}
.ry-rol-ekle button:hover { filter: brightness(1.15); }

/* =====================================================================
   v2.1.7b: TAM EKRAN MODU
   - Sol/sag paneller tamamen gizli (acik bolumler popup'a donusur,
     bolum_popup.js bolumTamEkranModu yonetir)
   - Ust bar ve alt bar: %80 genislik, kenarlardan 20px iceride,
     5px kose yaricapiyla harita uzerinde yuzer gorunum
   ===================================================================== */
body.tam-ekran-modu #solPanel,
body.tam-ekran-modu #sagPanel,
body.tam-ekran-modu #solTutamac,
body.tam-ekran-modu #sagTutamac { display: none !important; }

body.tam-ekran-modu #ustBar {
  position: absolute; top: 20px; left: 10%;
  width: 80%; flex: none;
  border-radius: 5px;
  border: 1px solid var(--cizgi);
  box-shadow: 0 4px 18px rgba(0,0,0,.35);
}
body.tam-ekran-modu #altBar {
  position: absolute; bottom: 20px; left: 10%;
  width: 80%; flex: none;
  border-radius: 5px;
  border: 1px solid var(--cizgi);
  box-shadow: 0 4px 18px rgba(0,0,0,.35);
}
/* Barlar akistan cikinca harita tum ekrani kaplasin */
body.tam-ekran-modu #anaAlan { position: absolute; inset: 0; }
/* Alt orta panel (konsol/grafik) tam ekranda yuzer alt bara BITISIK
   (statusbar 26px yukseklik + 20px alt bosluk = 46px) */
body.tam-ekran-modu #altOrtaPanel {
  bottom: 46px; left: 10%; right: auto; width: 80%;
  border-radius: 5px 5px 0 0; overflow: hidden;
}

/* =====================================================================
   v2.1.7c: UYARI TOAST BILDIRIMLERI (ekranin sag kenari)
   ===================================================================== */
#umToastKap {
  position: fixed; top: 60px; right: 0;
  display: flex; flex-direction: column; gap: 8px;
  z-index: 4000; pointer-events: none;
  padding-right: 10px;
}
.um-toast {
  pointer-events: auto;
  display: flex; align-items: flex-start; gap: 9px;
  width: 320px; max-width: 84vw;
  padding: 10px 12px; box-sizing: border-box;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-left: 3px solid var(--uyari, #e8b93f);
  border-radius: 6px;
  box-shadow: 0 8px 26px rgba(0,0,0,.5);
  color: var(--metin); cursor: pointer;
  animation: umToastGiris .3s ease;
}
.um-toast > i { color: var(--uyari, #e8b93f); font-size: 15px; margin-top: 2px; flex-shrink: 0; }
.um-toast-icerik { flex: 1; min-width: 0; }
.um-toast-baslik {
  font-size: 10px; font-weight: 700; letter-spacing: .1em;
  color: var(--uyari, #e8b93f); margin-bottom: 3px;
}
.um-toast-mesaj { font-size: 12px; line-height: 1.45; word-break: break-word; }
.um-toast-kapat {
  background: none; border: none; color: var(--soluk);
  cursor: pointer; font-size: 12px; padding: 2px 4px; flex-shrink: 0;
}
.um-toast-kapat:hover { color: var(--kotu); }
@keyframes umToastGiris {
  from { transform: translateX(110%); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}
.um-toast-cikis { transform: translateX(110%); opacity: 0;
  transition: transform .3s ease, opacity .3s ease; }

/* ==== v2.1.8: DJI baglanti diyalogu ==== */
.bag-dji-aciklama{
  font-size:11px; color:var(--metin-soluk,#889);
  line-height:1.5; margin-top:6px; padding:8px 10px;
  background:rgba(120,140,180,.08); border-radius:4px;
}

/* v2.3.0: harita onbellek kaynak dagilim tablosu */
.hrt-cache-detay{margin-top:6px;overflow-x:auto;}
.hrt-cache-tablo{width:100%;border-collapse:collapse;font-size:10px;
  font-family:Consolas,monospace;}
.hrt-cache-tablo th,.hrt-cache-tablo td{padding:3px 6px;text-align:left;
  border-bottom:1px solid var(--girinti,#2a3542);white-space:nowrap;}
.hrt-cache-tablo th{color:var(--soluk);font-weight:600;
  text-transform:uppercase;font-size:9px;letter-spacing:.4px;}

/* ================= v2.3.1: POPUP ACAN MENU OGELERI CHECK ================ */
.mb-popup-toggle .mb-tik { color: var(--interceptor, var(--vurgu, #4da3ff)); }
.mb-popup-toggle.pasif .mb-tik { visibility: hidden; }

/* ===== v2.3.2: Sifremi unuttum + Yeni kullanici formu ===== */
.giris-unuttum {
  margin-top: 10px; text-align: center; font-size: 12px;
  color: var(--vurgu, #4da3ff); cursor: pointer;
  text-decoration: underline dotted; user-select: none;
}
.giris-unuttum:hover { filter: brightness(1.2); }
.giris-unuttum-bilgi {
  margin-top: 8px; padding: 8px 10px; font-size: 11.5px;
  line-height: 1.5; color: var(--metin2, #9db2c8);
  background: rgba(77, 163, 255, 0.08);
  border: 1px solid rgba(77, 163, 255, 0.25); border-radius: 6px;
}
/* v2.3.3: YENI KULLANICI ayri popup (tema uyumlu, profil menusunden) */
#yeniKulPopup {
  position: fixed; top: 60px; left: 50%; transform: translateX(-50%);
  width: 340px; background: var(--panel-arka);
  border: 1px solid var(--cizgi); border-radius: 6px;
  box-shadow: 0 8px 32px rgba(0,0,0,.5); z-index: 1300;
  color: var(--metin); font-size: 12px;
}
#yeniKulPopup.popup-gizli { display: none; }
.yeni-kul-form {
  margin: 0; padding: 12px 14px;
  display: flex; flex-direction: column; gap: 4px;
}
.yeni-kul-form label {
  font-size: 10.5px; color: var(--soluk); margin-top: 4px;
  text-transform: uppercase; letter-spacing: .4px;
}
.yeni-kul-form input, .yeni-kul-form select {
  padding: 6px 8px; font-size: 12px; border-radius: 5px;
  border: 1px solid var(--cizgi);
  background: var(--giris-arka); color: var(--metin);
  font-family: inherit;
}
.yeni-kul-form input:focus, .yeni-kul-form select:focus {
  outline: none; border-color: var(--soluk);
}
.yeni-kul-form .yk-alt {
  display: flex; align-items: center; gap: 10px; margin-top: 10px;
}
.yeni-kul-form .yk-alt .onay-btn {
  padding: 6px 14px; font-size: 12px; cursor: pointer;
  background: #2e7d32; color: #fff; border: none; border-radius: 5px;
}
#ykMesaj { font-size: 11.5px; }
#ykMesaj.basari { color: var(--iyi); }
#ykMesaj.hata { color: var(--kotu); }

/* ===== v2.3.3: AVATAR (profil fotografi) ===== */
/* Resmi olmayan / yuklenemeyen kullanicilar icin yuvarlak ikon */
.avatar-ikon {
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; background: var(--dugme-arka);
  border: 1px solid var(--cizgi); color: var(--soluk);
  flex-shrink: 0;
}
#profilKutu .avatar-ikon { width: 26px; height: 26px; font-size: 13px; }
.profil-menu-ust .avatar-ikon { width: 36px; height: 36px; font-size: 17px; }
.kul-satir .avatar-ikon { width: 32px; height: 32px; font-size: 15px; }
.ph-avatar-satir .avatar-ikon { width: 56px; height: 56px; font-size: 26px; }
/* Fotograf yukle dugmesi (Pilot Hakkinda) */
.ph-foto-btnler { display: flex; gap: 6px; margin-left: auto; }
.ph-foto-btnler button {
  padding: 5px 10px; font-size: 11px; cursor: pointer;
  background: var(--dugme-arka); color: var(--metin);
  border: 1px solid var(--cizgi); border-radius: 5px;
  display: inline-flex; align-items: center; gap: 5px;
  font-family: inherit;
}
.ph-foto-btnler button:hover {
  background: var(--dugme-hover); border-color: var(--soluk);
}

/* ============================================================
   v2.4.0: AI KATMANI (Sunucular, Kutuphane, Tespitler)
   ============================================================ */
.ai-popup-icerik {
  padding: 10px 12px; overflow-y: auto;
  max-height: calc(80vh - 44px);
  display: flex; flex-direction: column; gap: 8px;
}
.ai-arac-cubugu {
  display: flex; align-items: center; gap: 8px;
}
.ai-arac-cubugu button { white-space: nowrap; }
.ai-ara {
  flex: 1; min-width: 80px;
  background: var(--girdi-arka); color: var(--metin);
  border: 1px solid var(--cizgi); border-radius: 5px;
  padding: 6px 9px; font-size: 12px; outline: none;
}
.ai-ara:focus { border-color: var(--vurgu); }
.ai-bolum-baslik {
  margin-top: 6px; padding: 5px 2px;
  font-size: 10px; font-weight: 700; letter-spacing: .12em;
  color: var(--soluk); border-bottom: 1px solid var(--cizgi);
}
.ai-filtre-cubugu {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.ai-filtre-cubugu select, .ai-filtre-cubugu input[type=date] {
  background: var(--girdi-arka); color: var(--metin);
  border: 1px solid var(--cizgi); border-radius: 5px;
  padding: 6px 8px; font-size: 12px; outline: none;
}

/* --- liste satirlari --- */
.ai-satir {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border: 1px solid var(--cizgi);
  border-radius: 6px; background: var(--panel-arka2, transparent);
}
.ai-satir + .ai-satir { margin-top: 6px; }
.ai-satir:hover { border-color: var(--soluk); }
.ai-satir-bilgi { flex: 1; min-width: 0; }
.ai-satir-bilgi .ad {
  font-size: 13px; font-weight: 600; color: var(--metin);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ai-satir-bilgi .alt {
  font-size: 11px; color: var(--soluk); margin-top: 2px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ai-satir-btnlar { display: flex; gap: 5px; flex-shrink: 0; }
.ai-satir-btnlar button {
  background: transparent; border: 1px solid var(--cizgi);
  color: var(--soluk); border-radius: 5px; cursor: pointer;
  padding: 5px 8px; font-size: 11px;
}
.ai-satir-btnlar button:hover {
  color: var(--metin); border-color: var(--soluk);
  background: var(--dugme-hover);
}
.ai-satir-btnlar button.tehlike:hover {
  color: #fff; background: var(--kotu); border-color: var(--kotu);
}

/* --- AI sunucu durumu --- */
.ai-led {
  width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
  background: #777;
}
.ai-led.cevrimici { background: var(--iyi, #2e9e4f);
  box-shadow: 0 0 6px var(--iyi, #2e9e4f); }
.ai-led.cevrimdisi { background: var(--kotu, #c0392b); }
.ai-tip-rozet {
  font-size: 9px; font-weight: 700; letter-spacing: .08em;
  padding: 2px 7px; border-radius: 9px; flex-shrink: 0;
  border: 1px solid;
}
.ai-tip-rozet.nvidia { color: #76b900; border-color: #76b900; }
.ai-tip-rozet.cpu { color: #4a90d9; border-color: #4a90d9; }
.ai-yuk-cubuk {
  width: 70px; height: 6px; border-radius: 3px; flex-shrink: 0;
  background: var(--girdi-arka); border: 1px solid var(--cizgi);
  overflow: hidden;
}
.ai-yuk-cubuk > div {
  height: 100%; background: var(--vurgu); transition: width .3s;
}

/* --- arama seviyesi rozetleri --- */
.sv-rozet {
  font-size: 9px; font-weight: 700; letter-spacing: .08em;
  padding: 2px 8px; border-radius: 9px; flex-shrink: 0;
  border: 1px solid;
}
.sv-rozet.sv-guvenli { color: var(--iyi, #2e9e4f);
  border-color: var(--iyi, #2e9e4f); }
.sv-rozet.sv-guvensiz { color: #e67e22; border-color: #e67e22; }
.sv-rozet.sv-aranilan { color: var(--kotu, #c0392b);
  border-color: var(--kotu, #c0392b);
  animation: svYanip 1.2s ease-in-out infinite; }
@keyframes svYanip { 50% { opacity: .45; } }

/* --- kisi yuz mini galerisi --- */
.ai-yuz-mini {
  display: flex; gap: 5px; flex-wrap: wrap; margin-top: 5px;
}
.ai-yuz-mini .yuz-kut {
  position: relative; width: 42px; height: 42px;
  border-radius: 5px; overflow: hidden;
  border: 1px solid var(--cizgi);
}
.ai-yuz-mini img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.ai-yuz-mini .yuz-sil {
  position: absolute; top: 0; right: 0;
  background: rgba(0,0,0,.6); color: #fff; border: none;
  width: 15px; height: 15px; font-size: 9px; line-height: 1;
  cursor: pointer; border-radius: 0 0 0 5px; padding: 0;
}
.ai-yuz-mini .yuz-sil:hover { background: var(--kotu); }

/* --- modal perde (yuz kaydi, tespit detayi) --- */
.modal-perde {
  position: fixed; inset: 0; z-index: 1600;
  background: rgba(0,0,0,.5);
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(2px);
}
.modal-kutu {
  width: 420px; max-width: calc(100vw - 40px);
  max-height: calc(100vh - 80px); overflow-y: auto;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi); border-radius: 8px;
  box-shadow: 0 16px 48px rgba(0,0,0,.55); color: var(--metin);
  animation: onayGir .16s ease-out;
}
.modal-baslik {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 16px;
  font-size: 12px; font-weight: 700; letter-spacing: .1em;
  border-bottom: 1px solid var(--cizgi);
  background: rgba(0,0,0,.22);
}
.modal-butonlar {
  display: flex; justify-content: flex-end; gap: 8px;
  padding: 10px 14px; border-top: 1px solid var(--cizgi);
}
.ai-yuz-kutu .ai-yuz-secenek {
  display: flex; gap: 8px; padding: 14px 14px 6px;
}
.ai-yuz-kutu .ai-yuz-secenek button { flex: 1; }
#aiYuzKameraAlan { padding: 8px 14px; }
#aiYuzVideo {
  width: 100%; border-radius: 6px; background: #000;
  margin-bottom: 8px;
}
#aiYuzGaleri {
  display: flex; gap: 6px; flex-wrap: wrap; padding: 6px 14px;
}
#aiYuzGaleri img {
  width: 56px; height: 56px; object-fit: cover;
  border-radius: 6px; border: 1px solid var(--cizgi);
}
#aiYuzDurum {
  padding: 4px 14px 8px; font-size: 11px; color: var(--soluk);
  min-height: 18px;
}
#aiYuzDurum.hata { color: var(--kotu); }
#aiYuzDurum.iyi { color: var(--iyi, #2e9e4f); }

/* --- tespit satiri (gecmis + kayitsiz) --- */
.ai-tespit-satir {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 9px; border: 1px solid var(--cizgi);
  border-radius: 6px; cursor: pointer;
}
.ai-tespit-satir + .ai-tespit-satir { margin-top: 5px; }
.ai-tespit-satir:hover { border-color: var(--vurgu); }
.ai-tespit-foto {
  width: 52px; height: 52px; border-radius: 6px; object-fit: cover;
  border: 1px solid var(--cizgi); flex-shrink: 0;
  background: var(--girdi-arka);
}
.ai-tespit-foto.yok {
  display: flex; align-items: center; justify-content: center;
  color: var(--soluk); font-size: 18px;
}
.ai-detay-kutu { width: 560px; }
#aiDetayIcerik { padding: 12px 14px; }
#aiDetayIcerik img {
  width: 100%; max-height: 300px; object-fit: contain;
  border-radius: 6px; background: #000;
}
#aiDetayIcerik video {
  width: 100%; max-height: 300px; border-radius: 6px;
  background: #000; margin-top: 8px;
}
#aiDetayIcerik .detay-meta {
  margin-top: 8px; font-size: 12px; color: var(--soluk);
  line-height: 1.7;
}
.ai-kayitsiz-islem {
  display: flex; gap: 5px; flex-wrap: wrap; margin-top: 4px;
}
.ai-kayitsiz-islem button {
  font-size: 10px; padding: 3px 7px;
  background: transparent; border: 1px solid var(--cizgi);
  color: var(--soluk); border-radius: 4px; cursor: pointer;
}
.ai-kayitsiz-islem button:hover {
  color: var(--metin); border-color: var(--vurgu);
}

/* --- popup govde cercevesi (kullaniciPopup kalibi) --- */
#aiSunucuPopup, #aiKisiPopup, #aiAracPopup,
#aiKayitsizPopup, #aiGecmisPopup {
  position: fixed;
  top: 60px;
  left: 80px;
  max-height: 82vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
  z-index: 1250;
  color: var(--metin);
  font-size: 12px;
  max-width: calc(100vw - 30px);
}
#aiSunucuPopup, #aiKisiPopup, #aiAracPopup { width: 480px; }
#aiKayitsizPopup, #aiGecmisPopup { width: 560px; }
#aiSunucuPopup.popup-gizli, #aiKisiPopup.popup-gizli,
#aiAracPopup.popup-gizli, #aiKayitsizPopup.popup-gizli,
#aiGecmisPopup.popup-gizli { display: none; }
/* icerik alani kaydirilabilir */
#aiSunucuPopup .ai-popup-icerik, #aiKisiPopup .ai-popup-icerik,
#aiAracPopup .ai-popup-icerik, #aiKayitsizPopup .ai-popup-icerik,
#aiGecmisPopup .ai-popup-icerik {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

/* ==================================================================
   v2.4.0: ALT PANEL SEKMELERI (RADAR / AI TESPIT) + TESPIT AKISI
   Alt panel her temada koyu kalir (konsol gibi).
   ================================================================== */
#grafikYari { display: flex; flex-direction: column; padding: 0; }
#grafikSekmeler {
  display: flex;
  gap: 0;
  flex: 0 0 auto;
  background: #0a0f14;
  border-bottom: 1px solid rgba(154,163,171,.25);
}
.grafik-sekme {
  flex: 0 0 auto;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: #9aa3ab;
  font-family: Consolas, monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 4px 10px 3px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
}
.grafik-sekme:hover { color: #d7dde2; }
.grafik-sekme.aktif { color: #6bd8b9; border-bottom-color: #6bd8b9; }
#aiSekmeSayac {
  background: #d9534f;
  color: #fff;
  border-radius: 8px;
  font-size: 9px;
  padding: 0 5px;
  line-height: 13px;
  min-width: 13px;
  text-align: center;
}
#grafikIcerik {
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
  padding: 4px;
  box-sizing: border-box;
}
#grafikIcerik #hedefGrafik { width: 100%; height: 100%; }
#aiTespitAkis {
  position: absolute;
  inset: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 6px;
  padding: 2px;
  background: #0d1218;
}
#aiTespitAkis::-webkit-scrollbar { height: 6px; }
#aiTespitAkis::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; }
.ai-akis-kart {
  flex: 0 0 auto;
  width: 78px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #131a22;
  border: 1px solid rgba(154,163,171,.25);
  border-radius: 6px;
  padding: 4px;
  cursor: pointer;
  overflow: hidden;
  box-sizing: border-box;
}
.ai-akis-kart:hover { border-color: #6bd8b9; }
.ai-akis-kart.aranilan { border-color: #d9534f; box-shadow: 0 0 6px rgba(217,83,79,.5); }
.ai-akis-kart.guvensiz { border-color: #e2a53b; }
.ai-akis-kart img,
.ai-akis-kart .gorsel-yok {
  width: 68px;
  height: 68px;
  object-fit: cover;
  border-radius: 4px;
  background: #0a0f14;
  flex: 0 0 auto;
}
.ai-akis-kart .gorsel-yok {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #46525c;
  font-size: 24px;
}
.ai-akis-kart .isim {
  font-family: Consolas, monospace;
  font-size: 9px;
  font-weight: 700;
  color: #d7dde2;
  margin-top: 3px;
  max-width: 72px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ai-akis-kart .isim.bilinmiyor { color: #8a949d; font-style: italic; }
.ai-akis-kart .kam {
  font-family: Consolas, monospace;
  font-size: 8px;
  color: #6d7880;
}

/* =====================================================================
   v2.4.1 — LOKASYON KAMERALARI POPUP'I + KAMERA SAYISI ROZETLERI
   ===================================================================== */
.lok-kam-popup {
  position: fixed;
  width: 300px;
  max-height: 340px;
  background: var(--panel);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  box-shadow: 0 10px 32px rgba(0,0,0,.45);
  z-index: 2600;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.lok-kam-govde {
  padding: 6px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.lok-kam-satir {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 9px;
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  background: var(--dugme-arka);
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.lok-kam-satir:hover { border-color: var(--interceptor); }
.lok-kam-satir > i { color: var(--interceptor); font-size: 13px; flex: 0 0 auto; }
.lok-kam-bilgi { flex: 1; min-width: 0; }
.lok-kam-ad {
  font-size: 12px;
  font-weight: 600;
  color: var(--metin);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lok-kam-alt {
  font-family: Consolas, monospace;
  font-size: 9px;
  color: var(--soluk);
  margin-top: 1px;
}
.lok-kam-izle {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border: 1px solid var(--cizgi);
  border-radius: 5px;
  background: transparent;
  color: var(--metin);
  cursor: pointer;
  font-size: 10px;
}
.lok-kam-izle:hover { border-color: var(--interceptor); color: var(--interceptor); }
.lok-kam-bos {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 26px 10px;
  color: var(--soluk);
  font-size: 11px;
}
.lok-kam-bos i { font-size: 22px; opacity: .5; }

/* Lokasyon listesi satirindaki kamera butonu + sayi rozeti */
.lok-kam-btn { position: relative; }
.lok-kam-rozet {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 14px;
  height: 14px;
  padding: 0 3px;
  border-radius: 7px;
  background: #e03131;
  color: #fff;
  font-family: Consolas, monospace;
  font-size: 9px;
  font-weight: 700;
  line-height: 14px;
  text-align: center;
  box-sizing: border-box;
}

/* ================================================================
   v2.4.2 — DRON KARTI KAMERA BOLUMU
   ================================================================ */
.dk-kam-bolum {
  border-top: 1px solid var(--cizgi);
  margin-top: 6px;
  padding-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dk-kam-sec-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 7px 10px;
  background: var(--dugme-arka);
  color: var(--metin);
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  transition: background .15s, border-color .15s;
}
.dk-kam-sec-btn:hover { background: var(--dugme-hover); }
.dk-kam-sec-btn.bagli {
  border-color: var(--interceptor);
  color: var(--interceptor);
}
.dk-kam-sec-btn span {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* Kamera secim popup'i */
.dk-kamsec-popup {
  position: fixed;
  width: 260px;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(0,0,0,.45);
  z-index: 10050;
  overflow: hidden;
  color: var(--metin);
}
.dk-kamsec-baslik {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 10px;
  font-size: 12px; font-weight: 600;
  color: var(--metin);
  border-bottom: 1px solid var(--cizgi);
  background: var(--dugme-arka);
}
.dk-kamsec-baslik i { margin-right: 5px; color: var(--interceptor); }
.dk-kamsec-baslik button {
  background: none; border: none; color: var(--soluk);
  cursor: pointer; font-size: 13px; padding: 2px 4px;
}
.dk-kamsec-baslik button:hover { color: var(--metin); }
.dk-kamsec-liste { max-height: 240px; overflow-y: auto; }
.dk-kamsec-satir {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 10px;
  cursor: pointer;
  font-size: 12px;
  color: var(--metin);
  border-bottom: 1px solid var(--cizgi);
}
.dk-kamsec-satir:last-child { border-bottom: none; }
.dk-kamsec-satir:hover { background: var(--dugme-hover); }
.dk-kamsec-satir i { color: var(--soluk); font-size: 11px; }
.dk-kamsec-ad {
  flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dk-kamsec-prot {
  font-size: 9px; font-weight: 700;
  color: var(--soluk);
  border: 1px solid var(--cizgi);
  border-radius: 3px;
  padding: 1px 4px;
}
.dk-kamsec-bos {
  padding: 14px 12px;
  font-size: 11px;
  color: var(--soluk);
  text-align: center;
}

/* Gomulu kamera izleme alani */
.dk-kam-izleme {
  position: relative;
  width: 100%;
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  overflow: hidden;
  background: #000;
  cursor: pointer;
  min-height: 40px;
  box-sizing: border-box;
}
.dk-kam-izleme.gizli { display: none; }
.dk-kam-izleme:hover { border-color: var(--interceptor); }
.dk-kam-bar {
  position: absolute;
  top: 0; left: 0; right: 0;
  display: flex; align-items: center; justify-content: space-between;
  padding: 4px 8px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: 11px;
  z-index: 2;
}
.dk-kam-bar i { margin-right: 4px; }
.dk-kam-bar button {
  background: none; border: none; color: #ffb3b3;
  cursor: pointer; font-size: 11px; padding: 2px 4px;
}
.dk-kam-bar button:hover { color: #ff6b6b; }
.dk-kam-video {
  display: block;
  width: 100%;
  max-height: 180px;
  object-fit: contain;
  background: #000;
}
.dk-kam-izleme.kam-hata::after {
  content: "\26A0 Yay\u0131n al\u0131nam\u0131yor";
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  color: #ffb347; font-size: 11px;
  background: rgba(0,0,0,.6);
}

/* Tespit hedef seridi (yatay kaydirma, v2.4.2) */
.dk-tespit-serit {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 2px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.dk-tespit-serit.gizli { display: none; }
.dk-tespit-serit::-webkit-scrollbar { height: 6px; }
.dk-tespit-serit::-webkit-scrollbar-thumb {
  background: var(--cizgi); border-radius: 3px;
}
.dk-tespit-kart {
  flex: 0 0 auto;
  width: 64px;
  cursor: pointer;
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  overflow: hidden;
  background: var(--dugme-arka);
  text-align: center;
  transition: border-color .15s, transform .1s;
  user-select: none;
}
.dk-tespit-kart:hover {
  border-color: var(--interceptor);
  transform: translateY(-1px);
}
.dk-tespit-kart img {
  display: block;
  width: 100%;
  height: 48px;
  object-fit: cover;
  background: #000;
  pointer-events: none;
}
.dk-tespit-kart .dk-tespit-ikon {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 48px;
  color: var(--soluk); font-size: 20px;
  background: var(--panel);
}
.dk-tespit-kart .dk-tespit-ad {
  display: block;
  font-size: 9px;
  color: var(--metin);
  padding: 2px 3px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dk-tespit-kart.takipte {
  border-color: var(--iyi);
  box-shadow: 0 0 6px rgba(80,220,120,.35);
}

/* Kamera modali AI gorev anahtarlari (v2.4.2) */
.kam-ai-gorevler {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  padding: 8px;
  margin-top: 6px;
}
.kam-ai-gorevler .kam-ai-baslik {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--soluk);
  margin-bottom: 2px;
}
.kam-ai-satir {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--metin);
  cursor: pointer;
  user-select: none;
}
.kam-ai-satir input { accent-color: var(--interceptor); cursor: pointer; }

/* v2.4.5: AI gorevleri — iki sutunlu kompakt grid */
.kam-ai-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 10px;
}
.kam-ai-grid .kam-ai-satir {
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
}
.kam-ai-grid .kam-ai-satir span { flex: 1; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; }

/* v2.4.5: iPhone tarzi toggle anahtari */
.tgl {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 20px;
  flex: 0 0 34px;
}
.tgl input { opacity: 0; width: 0; height: 0; }
.tgl .tgl-iz {
  position: absolute;
  inset: 0;
  background: var(--cizgi);
  border-radius: 20px;
  transition: background .18s;
  cursor: pointer;
}
.tgl .tgl-iz::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  left: 2px;
  top: 2px;
  background: #fff;
  border-radius: 50%;
  transition: transform .18s;
  box-shadow: 0 1px 3px rgba(0,0,0,.35);
}
.tgl input:checked + .tgl-iz { background: #34c759; }
.tgl input:checked + .tgl-iz::before { transform: translateX(14px); }

/* ==================================================================
   v2.4.2: Ucus gecmisi — timeline AI tespit isaretleri + tespit seridi
   ================================================================== */
.gc-bar-sar {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  min-width: 0;
}
.gc-bar-sar input[type="range"] { width: 100%; }
.gc-tl-isaretler {
  position: absolute;
  left: 0; right: 0; top: -7px;
  height: 8px;
  pointer-events: none;
}
.gc-tl-isaret {
  position: absolute;
  top: 0;
  width: 3px;
  height: 8px;
  margin-left: -1px;
  border-radius: 1px;
  background: var(--caymaz);
  cursor: pointer;
  pointer-events: auto;
}
.gc-tl-isaret.araniyor { background: #e5534b; }
.gc-tl-isaret:hover { transform: scaleX(2); }

.gc-tespit-serit {
  border-top: 1px solid var(--cizgi);
  padding: 4px 8px 6px;
  background: var(--panel-arka);
  flex: 0 0 auto;
}
.gc-tespit-baslik {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--soluk);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.gc-tespit-baslik i { color: var(--caymaz); }
.gc-tespit-sayi {
  background: var(--dugme-arka);
  border: 1px solid var(--cizgi);
  border-radius: 8px;
  padding: 0 6px;
  font-size: 9px;
}
.gc-tespit-akis {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 4px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.gc-tespit-akis::-webkit-scrollbar { height: 6px; }
.gc-tespit-akis::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--soluk) 45%, transparent);
  border-radius: 6px;
}
.gc-tespit-kart {
  flex: 0 0 auto;
  width: 74px;
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  background: var(--dugme-arka);
  cursor: pointer;
  overflow: hidden;
  text-align: center;
  transition: border-color 0.15s;
}
.gc-tespit-kart:hover { border-color: var(--caymaz); }
.gc-tespit-kart.araniyor { border-color: #e5534b; }
.gc-tespit-kart img {
  width: 100%;
  height: 44px;
  object-fit: cover;
  display: block;
}
.gc-tespit-ikon {
  width: 100%;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--soluk);
}
.gc-tespit-ad {
  font-size: 9px;
  font-weight: 700;
  color: var(--metin);
  padding: 2px 3px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gc-tespit-alt {
  font-size: 8px;
  color: var(--soluk);
  padding: 0 3px 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =================================================================
   v2.4.3: SÜRÜ UÇUŞ (suru.js)
   ================================================================= */
.suru-popup {
  position: fixed;
  top: 90px; left: 50%;
  transform: translateX(-50%);
  width: 340px;
  max-height: 85vh;
  overflow-y: auto;
  background: var(--panel-arka);
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
  z-index: 9100;
  font-size: 12px;
  color: var(--metin);
}
.suru-izleme { width: 520px; }
.suru-slave-ekle-popup { z-index: 9200; width: 300px; top: 140px; }
.suru-baslik {
  display: flex; align-items: center; gap: 6px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--cizgi);
  font-weight: 700; font-size: 12px;
  letter-spacing: .1em;
  cursor: move;
  touch-action: none;
  user-select: none;
}
.suru-baslik i.fa-layer-group,
.suru-baslik i.fa-cubes { color: var(--iyi); }
.suru-kapat {
  margin-left: auto;
  background: none !important; border: none !important;
  color: var(--metin); cursor: pointer;
  font-size: 14px; padding: 2px 6px; border-radius: 4px;
}
.suru-kapat:hover { color: var(--kotu); }
.suru-icerik { padding: 10px 12px; }
.suru-lbl {
  display: block; margin: 8px 0 4px;
  font-weight: 600; color: var(--soluk);
  font-size: 11px; letter-spacing: .05em;
}
.suru-select {
  width: 100%; padding: 6px 8px;
  background: rgba(0,0,0,.18);
  border: 1px solid var(--cizgi);
  border-radius: 4px; color: var(--metin);
  font-size: 12px;
  box-sizing: border-box;
}
:root[data-tema="acik"] .suru-select { background: rgba(0,0,0,.05); }
.suru-slave-liste { margin: 4px 0; min-height: 30px; }
.suru-slave-satir {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 8px; margin-bottom: 4px;
  background: rgba(0,0,0,.18);
  border: 1px solid var(--cizgi);
  border-radius: 4px;
}
:root[data-tema="acik"] .suru-slave-satir { background: rgba(0,0,0,.05); }
.suru-slave-ad { font-weight: 600; flex: 1; }
.suru-slave-xyz { color: var(--soluk); font-size: 11px; font-family: Consolas, monospace; }
.suru-slave-sil {
  background: none !important; border: none !important;
  color: var(--kotu); cursor: pointer; padding: 2px 6px;
}
.suru-btn {
  display: block; width: 100%;
  margin-top: 8px; padding: 8px;
  border: 1px solid var(--cizgi);
  border-radius: 4px; cursor: pointer;
  font-size: 12px; font-weight: 600;
  background: var(--dugme-arka); color: var(--metin);
}
.suru-btn:hover { background: var(--dugme-hover); }
.suru-btn-baslat { background: rgba(61,220,132,.15); border-color: rgba(61,220,132,.4); }
.suru-btn-baslat:hover { background: rgba(61,220,132,.28); }
.suru-btn-dagit { background: rgba(255,93,93,.14); border-color: rgba(255,93,93,.4); }
.suru-btn-dagit:hover { background: rgba(255,93,93,.26); }
.suru-xyz-grup { display: flex; gap: 6px; margin-top: 8px; }
.suru-xyz-grup label {
  flex: 1; font-size: 10px; color: var(--soluk);
  display: flex; flex-direction: column; gap: 3px;
}
.suru-xyz-grup input {
  width: 100%; padding: 5px 6px;
  background: rgba(0,0,0,.18);
  border: 1px solid var(--cizgi);
  border-radius: 4px; color: var(--metin);
  font-size: 12px;
  box-sizing: border-box;
}
:root[data-tema="acik"] .suru-xyz-grup input { background: rgba(0,0,0,.05); }
.suru-izleme-govde { padding: 10px 12px; }
.suru-canvas {
  width: 100%; height: auto;
  border: 1px solid var(--cizgi);
  border-radius: 4px;
  cursor: grab;
  display: block;
}
.suru-canvas:active { cursor: grabbing; }
.suru-mesafe-tablo { margin-top: 8px; }
.suru-tbl {
  width: 100%; border-collapse: collapse;
  font-size: 11px;
}
.suru-tbl th {
  text-align: left; padding: 5px 6px;
  border-bottom: 1px solid var(--cizgi);
  color: var(--soluk); font-weight: 600;
  font-size: 10px; letter-spacing: .05em;
}
.suru-tbl td {
  padding: 5px 6px;
  border-bottom: 1px solid rgba(128,128,128,.12);
  font-family: Consolas, monospace;
}
.suru-tbl td small { color: var(--soluk); }
.suru-cikar-btn {
  background: none !important; border: none !important;
  color: var(--kotu); cursor: pointer; padding: 2px 5px;
  font-size: 12px;
}
.suru-cikar-btn:hover { opacity: .7; }
.suru-izleme-kontrol { margin-top: 4px; }

/* ================= v2.4.4 SERBEST FORM ================= */
.sf-popup{
  position:fixed; top:90px; left:calc(50% - 170px); width:340px;
  background:var(--panel); border:1px solid var(--cizgi);
  border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,.45);
  z-index:9500; user-select:none;
}
.sf-baslik{
  display:flex; align-items:center; gap:8px; padding:9px 12px;
  font-size:12px; font-weight:700; letter-spacing:.5px;
  cursor:move; border-bottom:1px solid var(--cizgi);
}
.sf-baslik .sf-kapat{
  margin-left:auto; background:none; border:none; color:var(--soluk);
  cursor:pointer; font-size:14px; padding:2px 6px;
}
.sf-baslik .sf-kapat:hover{ color:var(--kotu); }
.sf-icerik{ padding:12px; display:flex; flex-direction:column; gap:9px; }
.sf-lbl{ font-size:10px; font-weight:700; letter-spacing:.6px; color:var(--soluk); }
.sf-icerik input[type=text]{
  width:100%; box-sizing:border-box; background:var(--girdi);
  border:1px solid var(--cizgi); color:var(--metin);
  border-radius:6px; padding:7px 9px; font-size:12px;
}
.sf-slider-satir label{
  display:flex; justify-content:space-between; font-size:11px;
  color:var(--soluk); margin-bottom:3px;
}
.sf-deger{ font-family:Consolas,monospace; color:var(--metin); }
.sf-slider-satir input[type=range]{ width:100%; }
.sf-bilgi{
  font-family:Consolas,monospace; font-size:10.5px; color:var(--soluk);
  white-space:pre-line; background:var(--girdi);
  border:1px solid var(--cizgi); border-radius:6px; padding:7px 9px;
  min-height:30px;
}
.sf-hata{ color:var(--kotu); font-size:11px; min-height:5px; }
.sf-btn{
  display:flex; align-items:center; justify-content:center; gap:7px;
  width:100%; padding:9px; border-radius:7px; border:1px solid var(--cizgi);
  background:var(--girdi); color:var(--metin); font-size:12px;
  font-weight:700; cursor:pointer; letter-spacing:.4px;
}
.sf-btn:hover{ filter:brightness(1.15); }
.sf-btn-olustur{ background:#1d4ed8; border-color:#1d4ed8; color:#fff; }
.sf-btn-bitir{ background:#15803d; border-color:#15803d; color:#fff; }
.sf-cizim-butonlar{ display:flex; flex-direction:column; gap:7px; }

/* ==================================================================
   v2.4.5: Lokasyon kameralari popup — gomulu oynatma
   ================================================================== */
.lok-kam-oge { display: flex; flex-direction: column; gap: 0; }
.lok-kam-video-kutu {
  margin: 2px 0 6px 0;
  border: 1px solid var(--cizgi);
  border-radius: 6px;
  overflow: hidden;
  background: #000;
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lok-kam-medya {
  width: 100%;
  max-height: 170px;
  object-fit: contain;
  display: block;
}
.lok-kam-video-kutu.kam-hata::after {
  content: "\26A0 Yayin alinamiyor";
  color: #e03131;
  font: 11px Consolas, monospace;
  padding: 8px;
}
.lok-kam-ayri { margin-left: 4px; }

/* v2.4.6: ayri penceredeki kameranin panel karti — kompakt satir */
.kam-kart-ayrik {
  opacity: 0.85;
}
.kam-kart-ayrik .kam-kart-baslik .kam-ad::after {
  content: " \f35d"; /* up-right-from-square */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 10px;
  margin-left: 6px;
  opacity: 0.6;
}

/* v2.4.8: kamera karti AI izleme rozeti */
.kam-ai-rozet {
  display: inline-block;
  padding: 1px 6px;
  margin-left: 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #fff;
  background: var(--basari, #16a34a);
  line-height: 1.5;
  flex: 0 0 auto;
}
