/* IntelMap çalışma kabuğu — Faz 1 (2026-09-19). Yalnız body.im-shell altında etkilidir; bayrak kapalıyken hiçbir kural uygulanmaz. */
body.im-shell{--im-rail-w:232px;--im-bg:#0f172a;--im-bg2:#1e293b;--im-line:#233047;--im-ink:#e2e8f0;--im-mut:#94a3b8;--im-mut2:#64748b;--im-acc:#38bdf8}
body.im-shell.im-rail-mini{--im-rail-w:56px}
body.im-shell.im-rail-hidden{--im-rail-w:0px}

/* eski üst çubuk gizli; başlık kalır */
body.im-shell #header-controls{display:none !important}
body.im-shell .header{gap:10px}
body.im-shell .header-left{flex:0 0 auto}
body.im-shell .header .title{font-size:.95rem}

/* Ctrl+K arama kutusu (başlıkta) */
body.im-shell #im-search{flex:1;max-width:640px;height:30px;margin:0 8px;background:var(--im-bg2);border:1px solid #334155;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--im-mut2);font-size:12.5px;cursor:pointer;min-width:0}
body.im-shell #im-search span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.im-shell #im-search kbd{margin-left:auto;font:600 10px ui-monospace,Consolas,monospace;border:1px solid #475569;border-radius:4px;padding:1px 6px;color:var(--im-mut)}
body.im-shell #im-rail-toggle{background:transparent;border:1px solid #334155;color:var(--im-mut);border-radius:6px;width:30px;height:30px;cursor:pointer;font-size:14px;flex:0 0 auto}

/* sol ray */
body.im-shell #im-rail{flex:0 0 var(--im-rail-w);width:var(--im-rail-w);background:var(--im-bg);border-right:1px solid var(--im-line);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:6px 6px 10px;scrollbar-width:thin;scrollbar-color:#334155 transparent;transition:width .18s ease,flex-basis .18s ease}
body.im-shell.im-rail-hidden #im-rail{display:none}
body.im-shell #im-rail .im-grp{font:700 9.5px system-ui;letter-spacing:.14em;text-transform:uppercase;color:var(--im-mut2);padding:10px 8px 3px;white-space:nowrap}
body.im-shell #im-rail .im-grp:first-child{padding-top:4px}
body.im-shell.im-rail-mini #im-rail .im-grp{font-size:0;height:1px;background:var(--im-line);margin:8px 6px;padding:0}

/* taşınan düğmeler: inline renkleri sol çizgiye indir, satır görünümü */
body.im-shell #im-rail .btn,
body.im-shell #im-rail .view-3d-btn,
body.im-shell #im-rail .im-row{display:flex !important;align-items:center;gap:8px;width:100% !important;text-align:left;box-sizing:border-box;margin:1px 0 !important;padding:5px 8px !important;
  background:transparent !important;border:1px solid transparent !important;border-left:3px solid var(--im-c,#334155) !important;border-radius:6px !important;
  color:var(--im-ink) !important;font:500 12.5px/1.2 system-ui !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;box-shadow:none !important;transform:none !important;transition:background .12s}
body.im-shell #im-rail .btn:hover,body.im-shell #im-rail .view-3d-btn:hover,body.im-shell #im-rail .im-row:hover{background:rgba(148,163,184,.08) !important}
body.im-shell #im-rail .btn.active,body.im-shell #im-rail .im-row.active,body.im-shell #im-rail .im-on{background:rgba(148,163,184,.10) !important;font-weight:600 !important}
body.im-shell.im-rail-mini #im-rail .btn,body.im-shell.im-rail-mini #im-rail .view-3d-btn,body.im-shell.im-rail-mini #im-rail .im-row,body.im-shell.im-rail-mini #im-rail div[id^="im-"][id$="-btn"]{justify-content:flex-start;padding:6px 0 6px 10px !important;font-size:15px !important;letter-spacing:0}
body.im-shell.im-rail-mini #im-rail .im-label,body.im-shell.im-rail-mini #im-rail .im-n{display:none}
/* düz metinli (script'in sonradan yazdığı) düğmeler: yalnız ilk simge görünür, gerisi kırpılır */
body.im-shell.im-rail-mini #im-rail .btn:not(:has(.im-ico)),body.im-shell.im-rail-mini #im-rail div[id^="im-"][id$="-btn"]:not(:has(.im-ico)){width:44px !important;overflow:hidden;white-space:nowrap;text-overflow:clip}
body.im-shell.im-rail-mini #im-rail #draw-menu,body.im-shell.im-rail-mini #im-rail #yolo-mode-menu{display:none !important}
body.im-shell.im-rail-mini #im-rail .im-acct .im-row{padding-left:10px !important}

/* yüzen (position:fixed) düğmeler raya taşınınca yerine oturur */
body.im-shell #im-rail div[id^="im-"][id$="-btn"]{position:static !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;z-index:auto !important;width:100% !important;
  display:flex !important;gap:8px;align-items:center;padding:5px 8px !important;margin:1px 0 !important;background:transparent !important;border:1px solid transparent !important;border-left:3px solid var(--im-c,#334155) !important;border-radius:6px !important;box-shadow:none !important;font:500 12.5px/1.2 system-ui !important;color:var(--im-ink) !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.im-shell #im-rail div[id^="im-"][id$="-btn"]:hover{background:rgba(148,163,184,.08) !important}

/* açılır alt menüler (çizim, YOLO) rayda akordeon gibi açılır */
body.im-shell #im-rail #draw-wrap,body.im-shell #im-rail #yolo-wrap{position:static !important;display:block;width:100%}
body.im-shell #im-rail #draw-menu,body.im-shell #im-rail #yolo-mode-menu{position:static !important;width:100% !important;min-width:0 !important;margin:2px 0 6px 10px !important;padding:4px !important;box-shadow:none !important;border-radius:6px !important}
body.im-shell #im-rail #draw-menu .btn,body.im-shell #im-rail #yolo-mode-menu .btn{font-size:11.5px !important;padding:4px 8px !important}

/* ray içindeki sayaç/rozet */
body.im-shell #im-rail .im-n{margin-left:auto;font:600 10px ui-monospace,Consolas,monospace;color:var(--im-mut2)}
body.im-shell #im-rail .im-acct{margin-top:auto;border-top:1px solid var(--im-line);padding-top:8px;display:flex;flex-direction:column;gap:2px}
body.im-shell #im-rail a.btn{text-decoration:none}

/* sağ çapalı paneller ray genişliğinden etkilenmez (sağdadır); sol çapalı paneller ray kadar kayar */
body.im-shell #thermal-panel{left:calc(var(--im-rail-w) + 12px) !important}
body.im-shell #im-rfi-info{left:calc(var(--im-rail-w) + 20px) !important}
body.im-shell #im-collection-panel,body.im-shell #im-scan-panel,body.im-shell #im-deniz-panel,body.im-shell #im-maden-panel,body.im-shell #im-sweep-panel,body.im-shell #im-adminsweep-panel{left:calc(var(--im-rail-w) + 12px) !important;bottom:auto !important;top:64px !important}

/* komut paleti */
#im-palette{position:fixed;inset:0;z-index:20000;background:rgba(2,6,23,.55);display:none;align-items:flex-start;justify-content:center;padding-top:9vh;backdrop-filter:blur(2px)}
#im-palette.open{display:flex}
#im-palette .box{width:min(640px,92vw);background:#0f172a;border:1px solid #334155;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.7);overflow:hidden;font-family:system-ui}
#im-palette input{width:100%;box-sizing:border-box;background:transparent;border:0;border-bottom:1px solid #334155;color:#e2e8f0;font:15px ui-monospace,Consolas,monospace;padding:13px 16px;outline:none}
#im-palette .res{max-height:52vh;overflow:auto}
#im-palette .r{display:flex;align-items:center;gap:12px;padding:9px 16px;color:#e2e8f0;font-size:13px;cursor:pointer;border-bottom:1px solid #1e293b}
#im-palette .r:hover,#im-palette .r.sel{background:rgba(56,189,248,.10)}
#im-palette .r .d{color:#64748b;font-size:11px;margin-top:1px}
#im-palette .r small{margin-left:auto;font:10.5px ui-monospace,Consolas,monospace;color:#64748b;border:1px solid #334155;border-radius:3px;padding:1px 6px;white-space:nowrap}
#im-palette .f{padding:7px 16px;font:10.5px ui-monospace,Consolas,monospace;color:#64748b;display:flex;gap:14px;border-top:1px solid #1e293b}

@media (max-width:768px){
  body.im-shell{--im-rail-w:0px}
  body.im-shell #im-rail{display:none}
  body.im-shell #im-search{margin:0 4px}
}

/* ───────── Faz 2a: sağ okuma çekmecesi ───────── */
body.im-shell{--im-drawer-w:380px}
body.im-shell #im-drawer{flex:0 0 var(--im-drawer-w);width:var(--im-drawer-w);background:var(--im-bg);border-left:1px solid var(--im-line);display:flex;flex-direction:column;min-width:0;font-family:system-ui;color:var(--im-ink)}
body.im-shell #im-drawer[hidden]{display:none}
body.im-shell .im-dr-head{display:flex;align-items:center;border-bottom:1px solid var(--im-line);padding:0 6px 0 4px;flex:0 0 auto}
body.im-shell .im-dr-tabs{display:flex;gap:2px;overflow-x:auto;flex:1;scrollbar-width:none}
body.im-shell .im-dr-tab{padding:10px 10px 8px;font-size:12px;font-weight:600;color:var(--im-mut2);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}
body.im-shell .im-dr-tab.on{color:var(--im-acc);border-bottom-color:var(--im-acc)}
body.im-shell .im-dr-x{background:none;border:0;color:var(--im-mut2);font-size:14px;cursor:pointer;padding:6px}
body.im-shell .im-dr-tools{display:flex;gap:6px;flex-wrap:wrap;padding:8px 10px 4px;flex:0 0 auto}
body.im-shell .im-dr-tools:empty{display:none}
body.im-shell .im-dr-chip{border:1px solid #334155;border-radius:999px;padding:2px 9px;font-size:11px;color:var(--im-mut);cursor:pointer}
body.im-shell .im-dr-chip.on{border-color:var(--im-acc);color:var(--im-acc);background:rgba(56,189,248,.1)}
body.im-shell .im-dr-filter{flex:1 1 120px;min-width:100px;background:var(--im-bg2);border:1px solid #334155;border-radius:6px;color:var(--im-ink);font-size:12px;padding:4px 8px;outline:none}
body.im-shell .im-dr-body{flex:1;overflow-y:auto;padding:4px 8px 16px;scrollbar-width:thin;scrollbar-color:#334155 transparent}
body.im-shell .im-dr-load,body.im-shell .im-dr-err{padding:14px 8px;color:var(--im-mut);font-size:12.5px;line-height:1.5}
body.im-shell .im-dr-note{font-size:11.5px;color:var(--im-mut);padding:8px 8px 6px;line-height:1.45}
body.im-shell .im-dr-links{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}
body.im-shell .im-dr-links a,body.im-shell .im-dr-body a.lnk,body.im-shell .im-dr-body a.cite,body.im-shell .im-dr-err a,body.im-shell .im-dr-secbody a{color:var(--im-acc);text-decoration:none;font-size:11px}
body.im-shell .im-dr-it{padding:7px 8px;border-radius:7px;border-left:3px solid transparent;margin:2px 0}
body.im-shell .im-dr-it.clk{cursor:pointer}body.im-shell .im-dr-it.clk:hover{background:rgba(148,163,184,.08);border-left-color:var(--im-acc)}
body.im-shell .im-dr-it .m{display:flex;gap:8px;align-items:center;font-size:10.5px;color:var(--im-mut2);margin-bottom:2px}
body.im-shell .im-dr-it .tm{font-family:ui-monospace,Consolas,monospace;color:var(--im-mut)}
body.im-shell .im-dr-it .sc{background:var(--im-bg2);border-radius:4px;padding:0 6px;color:var(--im-mut)}
body.im-shell .im-dr-it .co{margin-left:auto}
body.im-shell .im-dr-it .tt{font-size:12.5px;line-height:1.35;color:var(--im-ink)}
body.im-shell .im-dr-it .d{font-size:11px;color:var(--im-mut2);margin-top:2px;line-height:1.35}
body.im-shell .im-dr-h{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--im-mut2);margin:12px 8px 4px;font-weight:700}
body.im-shell .im-dr-h small{font-weight:500;color:var(--im-mut2);letter-spacing:0;text-transform:none}
body.im-shell .im-dr-h2{font-size:12.5px;font-weight:700;color:var(--im-acc);margin:12px 8px 4px;line-height:1.35}
body.im-shell .im-dr-line{font-size:12.3px;line-height:1.45;color:var(--im-ink);padding:4px 8px;border-left:3px solid transparent;text-align:justify;hyphens:auto}
body.im-shell .im-dr-line.new{background:rgba(245,158,11,.07);border-left-color:#f59e0b}
body.im-shell .im-guv{font-size:10px;color:var(--im-mut2)}
body.im-shell .im-new{color:#f59e0b;font-weight:700}
body.im-shell .im-lock{color:#fbbf24}
body.im-shell .im-dr-sec{border:1px solid var(--im-line);border-radius:8px;margin:5px 0;background:rgba(30,41,59,.35)}
body.im-shell .im-dr-sec summary{cursor:pointer;padding:7px 10px;font-size:12.5px;font-weight:600;color:var(--im-ink);list-style:none}
body.im-shell .im-dr-sec summary::-webkit-details-marker{display:none}
body.im-shell .im-dr-sec summary small{font-weight:500;color:var(--im-mut2);font-size:10.5px;margin-left:4px}
body.im-shell .im-dr-sec.locked summary{color:var(--im-mut)}
body.im-shell .im-dr-secbody{padding:2px 10px 10px;font-size:12px;line-height:1.5;color:var(--im-mut)}
@media (max-width:768px){ body.im-shell{--im-drawer-w:100vw} body.im-shell.im-drawer-open #map{display:none} }
@media (min-width:769px) and (max-width:1280px){ body.im-shell{--im-drawer-w:320px} }

/* 2026-09-26: mini rayda HAM (sarmalanmamis) yazi sizintisi — font-size:0 ile tamamen sustur,
   yalniz .im-ico geri acilir. Onceki kural sadece .im-label/.im-n gizliyordu. */
body.im-shell.im-rail-mini #im-rail .btn,
body.im-shell.im-rail-mini #im-rail .view-3d-btn,
body.im-shell.im-rail-mini #im-rail .im-row,
body.im-shell.im-rail-mini #im-rail div[id^="im-"][id$="-btn"]{font-size:0 !important;letter-spacing:0 !important}
body.im-shell.im-rail-mini #im-rail .im-ico{font-size:15px !important;line-height:1 !important}
body.im-shell.im-rail-mini #im-rail .im-grp{font-size:0 !important}


/* 2026-09-29: elektrik hatti / trafo GERILIM etiketleri.
   Varsayilan GIZLI; harita z>=11 olunca .im-lbl-on ile gorunur.
   Kutu/ok yok — cizginin uzerinde sade metin, koyu golgeyle okunur. */
.leaflet-tooltip.im-en-lbl{
  background:transparent !important; border:none !important; box-shadow:none !important;
  padding:0 !important; font-weight:700; font-size:11px; letter-spacing:.2px;
  text-shadow:0 0 3px #000,0 0 6px #000,0 1px 2px #000;
  pointer-events:none; display:none;
}
.leaflet-tooltip.im-en-lbl::before{ display:none !important; }
.im-lbl-on .leaflet-tooltip.im-en-lbl{ display:block; }


/* 2026-09-29: enerji katmani popup'i KOYU tema.
   Icerik zaten koyu zemin icin yazilmisti (#e6edf8 / #94a3b8) ama kutu
   Leaflet varsayilani (beyaz) kaldigi icin metin okunmuyordu. */
.leaflet-popup.im-en-pop .leaflet-popup-content-wrapper{
  background:#0b1220; color:#e6edf8; border:1px solid #1e293b;
  border-radius:9px; box-shadow:0 10px 30px rgba(0,0,0,.55);
}
.leaflet-popup.im-en-pop .leaflet-popup-content{ margin:11px 13px; }
.leaflet-popup.im-en-pop .leaflet-popup-tip{ background:#0b1220; border:1px solid #1e293b; }
.leaflet-popup.im-en-pop a{ color:#8f9cc4; }
.leaflet-popup.im-en-pop .leaflet-popup-close-button{ color:#94a3b8; }
.leaflet-popup.im-en-pop .leaflet-popup-close-button:hover{ color:#e6edf8; }


/* 2026-09-29: KAYNAK satiri yalniz ADMIN'e. Musteri (enterprise dahil) veri
   kaynagini gormesin. Zamanlama: _imIsAdmin asenkron geldigi icin satir her
   zaman uretilir, gorunurluk CSS ile yonetilir. */
.im-src{ display:none !important; }
body.im-admin .im-src{ display:block !important; }

/* 2026-09-29: ETIKETLER KALDIRILDI (performans). Artik uretilmiyorlar;
   bu kural eski onbellekten gelen bir sayfada bile gorunmemelerini garanti eder. */
.leaflet-tooltip.im-en-lbl{ display:none !important; }
