  *{box-sizing:border-box;}
  html,body{height:100%;margin:0;}
  body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:hsl(var(--background));color:hsl(var(--foreground));font-size:14px;-webkit-font-smoothing:antialiased;}
  .kg-shell{display:flex;height:100vh;min-width:0;overflow-x:hidden;}  /* sayfa ASLA yatay kaymaz */
  .kg-sidebar{width:310px;flex-shrink:0;background:hsl(var(--card));border-right:1px solid hsl(var(--border));display:flex;flex-direction:column;min-height:0;transition:width .18s ease;}
  .kg-sidetoggle{display:inline-flex}
  /* Kenar çubuğu daraltma YALNIZ masaüstü (mobilde çekmece/hamburger var; state taşınsa bile bozulmasın). */
  @media(min-width:761px){ .kg-shell.side-collapsed .kg-sidebar{width:0;min-width:0;padding:0;border-right:0;overflow:hidden;pointer-events:none} }
  /* Sidebar alt yardımcı bölüm: kullanıcı çipi + tema/dil/⋯ (mobilde ekran modu da) BURADA durur —
     hem masaüstü hem mobil. Topbar'ı sadeleştirir. syncMobileChrome düğümleri buraya taşır. */
  .kg-drawerutil{display:flex;flex-direction:column;gap:10px;padding:12px;border-top:1px solid hsl(var(--border));margin-top:auto}
  .kg-drawerutil #userMenu{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
  .kg-drawerutil #userMenu .kg-userchip{flex:1;min-width:0}
  /* Alt yardımcı satır (tema/dil/⋯): tam genişlik, hizalı — dil butonu ortayı doldurur, ikonlar uçlarda. */
  .kg-drawerutil #topUtilSw{display:flex;gap:8px;align-items:center;width:100%}
  .kg-drawerutil #topUtilSw>*{flex:none}
  .kg-drawerutil #topUtilSw #lang-btn{flex:1;justify-content:center}
  .kg-drawerutil #liveModeChip{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
  /* Kullanıcı çipi eylemleri (parola/çıkış) sağda gruplu + hizalı; taşma/kayma yok. */
  .kg-userchip .kg-uactions{display:flex;gap:4px;flex-shrink:0;align-items:center;margin-left:2px;padding-left:7px;border-left:1px solid hsl(var(--border));}
  .kg-userchip .kg-uactions .kg-iconbtn{width:31px;height:31px;}
  /* Sürücüye özel yardım bölümü (bağlam-duyarlı yardım) */
  .kg-help.kg-help-wide{width:760px;}
  .kg-help-body .kg-help-drv{margin:14px 0 6px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--muted)/.35);}
  .kg-help-body .kg-help-drvh{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12.5px;margin-bottom:6px;color:hsl(var(--foreground));}
  .kg-help-body .kg-help-drv p{color:hsl(var(--foreground));}
  #sepUtil,#sepUser{display:none}   /* kullanıcı+util sidebar'a taşındı → topbar'daki ayraçlar dangling */
  .kg-brand{display:flex;align-items:center;gap:10px;padding:0 16px;height:56px;box-sizing:border-box;border-bottom:1px solid hsl(var(--border));}
  .kg-logo{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .kg-logo svg{display:block;}
  .kg-brand b{font-size:15px;letter-spacing:.3px;} .kg-brand b span{color:hsl(var(--primary));}
  .kg-brand small{display:block;font-size:11px;color:hsl(var(--muted-foreground));}
  .kg-conn{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 6px;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:hsl(var(--muted-foreground));}
  .kg-tree{flex:1;overflow:auto;padding:2px 8px 16px;min-height:0;}
  .kg-node{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:7px;cursor:pointer;white-space:nowrap;color:hsl(var(--foreground));font-size:13px;}
  .kg-node:hover{background:hsl(var(--muted));}
  .kg-node.sel{background:hsl(var(--primary)/.12);color:hsl(var(--foreground));font-weight:600;box-shadow:inset 3px 0 0 hsl(var(--primary));}
  .kg-node.sel i.ic{color:hsl(var(--primary));}
  .kg-node.msel{background:hsl(var(--primary)/.22);outline:1px solid hsl(var(--primary)/.5);}
  .kg-tree-sep{height:1px;background:hsl(var(--border));margin:6px 6px;}
  .kg-node .chev{width:14px;flex-shrink:0;text-align:center;color:hsl(var(--muted-foreground));transition:transform .15s;}
  /* Uzun adda satır taşınca ok/simge ezilmesin: yoksa kısa adlar içeride görünür, alt öğe sanılır. */
  .kg-node > i.ic{flex-shrink:0;}
  .kg-node .chev.open{transform:rotate(90deg);}
  /* Protokol rozeti: marka rengi + kÄ±saltma â€” kanal ne kanalÄ±, bakÄ±nca belli. */
  .drv-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
    padding:1px 4px;min-width:20px;height:14px;border-radius:4px;
    font-size:8px;font-weight:800;letter-spacing:.3px;line-height:1;color:#fff;
    font-family:ui-monospace,Menlo,Consolas,monospace;text-shadow:0 1px 1px rgba(0,0,0,.25);}
  /* GerÃ§ek protokol logosu: beyaz mini-chip (koyu temada da logo aslÄ±na uygun gÃ¶rÃ¼nÃ¼r). */
  .drv-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
    height:16px;max-width:54px;padding:2px 4px;border-radius:4px;background:#fff;
    border:1px solid rgba(0,0,0,.12);}
  .drv-logo img{height:100%;max-width:100%;display:block;object-fit:contain;}
  /* Property editor form kontrolleri satÄ±rdan TAÅMASIN (select'ler sayfa dÄ±ÅŸÄ±na Ã§Ä±kÄ±yordu). */
  .kg-prow select,.kg-prow input[type=text],.kg-prow input[type=number],.kg-prow input:not([type]){
    width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
  .kpe-pane{min-width:0;overflow:hidden;} .kg-prow{min-width:0;}
  .kg-ctx{position:fixed;z-index:4000;min-width:180px;background:hsl(var(--popover,var(--card)));border:1px solid hsl(var(--border));border-radius:9px;box-shadow:0 12px 34px rgba(0,0,0,.28);padding:5px;font-size:13px;user-select:none;}
  .kg-ctx-it{display:flex;align-items:center;gap:9px;padding:7px 11px;border-radius:6px;cursor:pointer;color:hsl(var(--foreground));white-space:nowrap;}
  .kg-ctx-it i{color:hsl(var(--muted-foreground));font-size:15px;}
  .kg-ctx-it:hover{background:hsl(var(--muted));}
  .kg-ctx-it.danger{color:hsl(var(--destructive,0 72% 51%));} .kg-ctx-it.danger i{color:inherit;}
  .kg-ctx-it.danger:hover{background:hsl(var(--destructive,0 72% 51%)/.12);}
  .kg-ctx-it.dis{opacity:.4;pointer-events:none;}
  .kg-ctx-sep{height:1px;background:hsl(var(--border));margin:4px 6px;}
  /* â”€â”€ Profesyonel Olay GÃ¼nlÃ¼ÄŸÃ¼ â”€â”€ */
  .evt-wrap{display:flex;flex-direction:column;min-height:0;}
  .evt-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
  .evt-search{padding:6px 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:inherit;font-size:12px;min-width:160px;}
  .evt-stats{display:inline-flex;gap:6px;align-items:center;}
  .evt-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;padding:3px 8px;border-radius:20px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));}
  .evt-pill.err{background:#ef44441a;color:#ef4444;} .evt-pill.warn{background:#f59e0b1a;color:#b45309;}
  .evt-head{display:grid;grid-template-columns:104px 96px 190px 1fr;gap:10px;padding:7px 12px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:hsl(var(--muted-foreground));background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-bottom:0;border-radius:9px 9px 0 0;}
  .evt-box{max-height:58vh;overflow:auto;border:1px solid hsl(var(--border));border-radius:0 0 9px 9px;background:hsl(var(--card));font-variant-numeric:tabular-nums;}
  .evt-row{display:grid;grid-template-columns:104px 96px 190px 1fr;gap:10px;align-items:center;padding:6px 12px;border-left:3px solid transparent;border-bottom:1px solid hsl(var(--border)/.5);font-size:12px;}
  .evt-row:nth-child(even){background:hsl(var(--muted)/.28);}
  .evt-row:hover{background:hsl(var(--primary)/.07);}
  .evt-time{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:hsl(var(--muted-foreground));white-space:nowrap;}
  .evt-badge{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:700;letter-spacing:.3px;padding:2px 7px;border-radius:5px;white-space:nowrap;justify-self:start;}
  .evt-badge i{font-size:12px;}
  .evt-badge-h{font:inherit;}
  .evt-src{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:hsl(var(--foreground)/.75);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .evt-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .evt-row:hover .evt-msg{white-space:normal;}
  .evt-foot{margin-top:7px;font-size:11px;color:hsl(var(--muted-foreground));}
  .scrun-wrap{display:flex;flex-direction:column;min-height:0;}
  .scrun-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
  .scrun-box{max-height:60vh;overflow:auto;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--card));}
  .kg-count{margin-left:auto;flex:0 0 auto;font-size:11px;font-weight:600;line-height:1;padding:2px 7px;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));min-width:18px;text-align:center;}
  .kg-node.sel .kg-count{background:hsl(var(--primary)/.2);color:hsl(var(--primary));}
  td .kg-count{margin-left:0;display:inline-block;}
  td.val-ro{color:hsl(var(--muted-foreground));cursor:default;}
  .kg-table tr.rowsel{background:hsl(var(--primary)/.14);}
  .kg-table tr.rowsel td:first-child{box-shadow:inset 3px 0 0 hsl(var(--primary));}
  /* Ã‡oklu seÃ§imde tarayÄ±cÄ± metin seÃ§imini engelle (profesyonel tablo davranÄ±ÅŸÄ±). */
  .kg-table tr.link,.kg-table tr.link td,#tagTableWrap tr,#tagTableWrap td{user-select:none;-webkit-user-select:none;}
  .conn-selbar{display:inline-flex;gap:8px;align-items:center;margin-right:4px;}
  .kg-node i.ic{color:hsl(var(--primary));}
  .kg-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;container-type:inline-size;container-name:tb;}
  /* Topbar küçülebilir (crumb esner) + son çare olarak KENDİ İÇİNDE yatay kayar — böylece
     sağ küme (kullanıcı/çıkış) asla kalıcı kırpılmaz ve sayfa geneli yatay kaymaz. */
  /* TAŞMA STRATEJİSİ: sağ küme (kullanıcı/çıkış/tema) ASLA kırpılmaz (flex-shrink:0). Yer daralınca
     önce crumb (flex:1) sonra durum pill'leri (flex-shrink:1) yol verir → admin çipi hep tam görünür.
     Topbar KENDİ İÇİNDE kaymaz (o sağ çipi kırpıyordu); .kg-shell overflow-x:hidden sayfa güvencesi. */
  .kg-topbar{display:flex;align-items:center;gap:10px;padding:0 18px;height:56px;box-sizing:border-box;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));min-width:0;overflow:hidden;}
  .kg-topbar::-webkit-scrollbar{height:0;}
  /* İKONLAR BİRBİRİNE GİRMESİN: üst çubuk bir flex kabıdır ve ikon düğmelerinin varsayılan
     flex-shrink'i 1'dir → yer daralınca 34px kutu EZİLİYOR (ölçüm: 820px'te alarm zili 34→19px),
     içindeki 17px ikon kutusundan taşıp komşusunun üstüne biniyordu. Düğmeler ARTIK ezilmez;
     yer daralması aşağıdaki kademeli sadeleşme ile karşılanır. */
  .kg-topbar>.kg-btn,.kg-topbar>.kg-iconbtn,.kg-topbar>.kg-alarmbell,.kg-topbar>.kg-sw,.kg-topbar>.kg-livemode,.kg-topbar>.kg-sep{flex-shrink:0;}
  .kg-topbar .kg-sw>.kg-btn{flex-shrink:0;}
  .kg-crumb{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:hsl(var(--muted-foreground));}
  .kg-crumb b,.kg-crumb .cur{color:hsl(var(--foreground));}
  .kg-crumb .muted{font-weight:400;}
  .kg-spacer{margin-left:auto;}
  /* Pill'ler ARTIK küçülebilir + kırpılır (tam detay title tooltip'inde): eskiden flex-shrink:0 idi ve
     uzun kaynak metni sağdaki kullanıcı menüsünü/çıkışı ekran dışına itiyordu. */
  /* Durum hapları ASLA ezilip kelime ortasından kırpılmaz (flex-shrink:0); yer daralınca
     içerik KademeLİ gizlenir: makine/disk+istemci bölümü → kaynak çipi → nav etiketleri → haplar. */
  .kg-statpill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;color:hsl(var(--muted-foreground));background:hsl(var(--muted));border:1px solid hsl(var(--border));padding:5px 12px;border-radius:20px;flex-shrink:1;min-width:0;overflow:hidden;}
  .kg-statpill .mopt{display:inline-flex;align-items:center;gap:6px;}
  .kg-userchip b{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom;}
  /* Topbar daralma merdiveni — TAM içerik ~2000px istiyor; 1920'de bile kademeli kısılmalı.
     Sıra: "Ekran modu" etiketi → makine/disk+istemci bölümü → kaynak çipi → nav yazıları. */
  /* Topbar KENDİ genişliğine göre kademeli sadeleşir (container query — kenar çubuğunu otomatik
     hesaba katar; viewport-media eski çözümde 310px sidebar yüzünden yanılıp admin çipini kırpıyordu).
     Sıra: ekran-modu etiketi → makine/disk detayı → kaynak çipi → nav yazıları → aktif-tag çipi.
     Her biri KIRPILMADAN tümüyle gizlenir; sağ küme (kullanıcı/çıkış) hiç dokunulmaz. */
  @container tb (max-width:1600px){ .kg-livemode .lm-lbl{display:none} }
  @container tb (max-width:1450px){ .kg-statpill .mopt{display:none} }
  @container tb (max-width:1300px){ #resChip{display:none!important} }
  @container tb (max-width:1200px){ #nav .kg-btn span{display:none} }
  @container tb (max-width:1050px){ #status{display:none!important} }
  /* 1050px altı için de merdiven ŞARTTI: eskiden burada bitiyordu, kalan yer açığı ikon düğmelerini
     eziyordu. Ekran modu seçici (≈210px) önce yazısını, sonra tamamını bırakır. */
  @container tb (max-width:900px){ .kg-livemode .lm-opt .lm-t{display:none} .kg-livemode .lm-opt{padding:5px 11px} }
  /* Daha da dar olursa seçici üst çubuktan ÇIKAR: index.html'deki krom taşıyıcısı onu (≤1000px
     görünümde) kenar çubuğu alt bölümüne alır — gizlenmez, yeri değişir. */
  .kg-statpill b{color:hsl(var(--foreground));font-variant-numeric:tabular-nums;}
  /* İçe/dışa aktarma sayaç hapları — kg-statpill dar ekranda GİZLENİR (araç çubuğu gürültüsü),
     ama import özeti "ne eklendi/atlandı" bilgisidir: her ekranda görünmek ZORUNDA. */
  .imp-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;
    color:hsl(var(--muted-foreground));background:hsl(var(--muted));border:1px solid hsl(var(--border));
    padding:4px 11px;border-radius:20px;}
  .imp-pill b{color:hsl(var(--foreground));font-variant-numeric:tabular-nums;}
  /* durum hapı metrik parçaları — muted etiket + bold değer + ince dikey ayraç (pipe yerine) */
  .kg-statpill .ml{color:hsl(var(--muted-foreground));font-weight:500}
  .kg-statpill .mv{color:hsl(var(--foreground));font-weight:600;font-variant-numeric:tabular-nums}
  .kg-statpill .md{display:inline-block;width:1px;height:11px;background:hsl(var(--border-strong,var(--border)));margin:0 5px;vertical-align:middle;flex-shrink:0}
  .kg-statpill .mi{opacity:.6;font-size:13px}
  /* Lisans rozeti (#licBadge) — bağımsız pill. Eskiden stilsiz + flex-shrink yoktu → küçük laptoplarda
     taşıp kırpılıyordu. Artık ASLA kırpılmaz; yer daralınca kademeli sadeleşir (önce tag sayısı, sonra
     paket adı gizlenir; renkli anahtar ikonu HEP kalır — tam bilgi title tooltip'inde). */
  #licBadge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0;font-size:12px;line-height:1;
    background:hsl(var(--muted));border:1px solid hsl(var(--border));padding:5px 11px;border-radius:20px;max-width:100%;}
  #licBadge .mv{font-weight:600;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;max-width:16ch}
  #licBadge .ml{color:hsl(var(--muted-foreground));font-weight:500;font-variant-numeric:tabular-nums}
  #licBadge .md{display:inline-block;width:1px;height:11px;background:hsl(var(--border-strong,var(--border)));margin:0 3px;flex-shrink:0}
  #licBadge .mi{font-size:13px}
  @container tb (max-width:1300px){ #licBadge .ml{display:none} }
  @container tb (max-width:1150px){ #licBadge .mv{display:none} #licBadge .md{display:none} }
  .kg-topbar .kg-sep{width:1px;height:22px;background:hsl(var(--border));flex-shrink:0;}
  /* Konfig ekrani veri modu secici (Sadece Konfig / Canli Veri) — her ekranin tepesinde net gorunur. */
  .kg-livemode{display:flex;align-items:center;gap:8px;flex-shrink:0;}
  .kg-livemode .lm-lbl{font-size:11px;color:hsl(var(--muted-foreground));white-space:nowrap;}
  .lm-seg{display:inline-flex;border:1px solid hsl(var(--border));border-radius:20px;overflow:hidden;background:hsl(var(--muted));}
  .lm-seg .lm-opt{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:hsl(var(--muted-foreground));font-size:12px;padding:5px 12px;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s;}
  .lm-seg .lm-opt:hover{color:hsl(var(--foreground));}
  .lm-seg .lm-opt.on{background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:600;}
  .lm-seg .lm-opt.on i{color:hsl(var(--primary-foreground));}
  .kg-content{flex:1;overflow:auto;padding:20px;min-height:0;}
  /* SCADA editÃ¶rÃ¼ tÃ¼m alanÄ± doldursun: padding YOK, kenar/kÃ¶ÅŸe YOK â€” tam oturur. */
  .kg-content:has(.sc-editor){padding:0;overflow:hidden;}
  .kg-content:has(.sc-editor) .sc-editor{height:100%;border:0;border-radius:0;}
  button.kg-btn{background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border));padding:7px 13px;border-radius:8px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:6px;font-family:inherit;white-space:nowrap;transition:background .12s,border-color .12s,color .12s;}
  button.kg-btn:hover{border-color:hsl(var(--primary));background:hsl(var(--muted));}
  button.kg-btn.primary{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground));}
  button.kg-btn.primary:hover{filter:brightness(1.06);background:hsl(var(--primary));}
  button.kg-btn.danger{color:#e5484d;border-color:hsl(var(--border));}
  button.kg-btn.danger:hover{background:#e5484d;border-color:#e5484d;color:#fff;}
  button.kg-btn:disabled{opacity:.5;cursor:not-allowed;}
  .kg-iconbtn{width:34px;height:34px;padding:0;justify-content:center;}
  .kg-iconbtn i{font-size:16px;}
  .kg-iconbtn.on{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary));}
  .kg-sw{display:flex;gap:4px;flex-shrink:0;}
  /* Aktif gÃ¶rÃ¼nÃ¼m sekmesi belirgin */
  #nav .kg-btn.on{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground));}
  #nav .kg-btn.on:hover{background:hsl(var(--primary));filter:brightness(1.06);}
  .kg-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;overflow:hidden;margin-bottom:16px;}
  .kg-card-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid hsl(var(--border));}
  .kg-card-head h3{margin:0;font-size:14px;} .kg-card-head .kg-spacer{margin-left:auto;}
  /* MOBİL: kart başlığındaki araç çubuğu (başlık + aksiyon butonları) tek satıra sığmayınca
     SARSIN — aksi halde .kg-card overflow:hidden butonları ekran dışında KIRPAR (erişilemez).
     Genel kural: connectivity cihaz görünümü, ayarlar kartları, her yerdeki toolbar'lar. */
  @media(max-width:720px){ .kg-card-head{flex-wrap:wrap;row-gap:8px;} }
  table.kg-table{width:100%;border-collapse:collapse;}
  .kg-table th,.kg-table td{text-align:left;padding:9px 14px;border-bottom:1px solid hsl(var(--border));font-size:13px;}
  .kg-table tr:last-child td{border-bottom:none;}
  .kg-table th{color:hsl(var(--muted-foreground));font-weight:500;}
  .kg-table tbody tr{cursor:default;} .kg-table tbody tr.link{cursor:pointer;} .kg-table tbody tr.link:hover{background:hsl(var(--muted));}
  .chip{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));}
  .q{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;}
  .q.Good{background:#22c55e;}.q.Bad{background:#ef4444;}.q.Uncertain{background:#f59e0b;}
  .val{font-variant-numeric:tabular-nums;font-weight:600;}
  /* ── Gelişmiş Trend Grafiği (Data Logger + connectivity modal) ── */
  .lg-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
  .lg-toolbar .lg-sep{width:1px;height:22px;background:hsl(var(--border))}
  .lg-toolbar input[type=datetime-local],.lg-toolbar select{padding:5px 8px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:inherit;font-size:12px}
  /* İKİ-KOLON sorgu paneli (SCADA trend tarzı): sol aramalı+renkli parametre listesi, sağ grafik */
  .lg-panel2{display:flex;gap:12px;align-items:stretch}
  .lg-panel2 .lg-params{flex:0 0 250px;display:flex;flex-direction:column;gap:7px;border-right:1px solid hsl(var(--border));padding-right:12px;min-width:0}
  .lg-panel2 .lg-main{flex:1;min-width:0;display:flex;flex-direction:column}
  .lg-params-hd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:6px}
  .lg-params-search{padding:6px 9px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:inherit;font-size:12px;outline:none}
  .lg-params-acts{display:flex;gap:5px}
  .lg-params-acts .kg-btn{flex:1;font-size:11px;padding:4px 6px}
  .lg-params-list{flex:1;overflow-y:auto;max-height:420px;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin}
  .lg-pcard{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;cursor:pointer;background:hsl(var(--card));transition:border-color .12s,background .12s;min-width:0}
  .lg-pcard:hover{border-color:hsl(var(--primary)/.55);background:hsl(var(--muted)/.4)}
  .lg-pcard.on{border-color:hsl(var(--primary));background:hsl(var(--primary)/.08)}
  .lg-pcol{width:14px;height:14px;border-radius:4px;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
  .lg-pinfo{display:flex;flex-direction:column;min-width:0;line-height:1.25;flex:1}
  .lg-pinfo b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lg-ptag{font-size:10px;color:hsl(var(--muted-foreground));font-family:ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lg-pchk{flex-shrink:0;color:hsl(var(--muted-foreground));font-size:16px}
  .lg-pcard.on .lg-pon{color:hsl(var(--primary))}
  @media(max-width:820px){.lg-panel2{flex-direction:column}.lg-panel2 .lg-params{flex:0 0 auto;border-right:none;border-bottom:1px solid hsl(var(--border));padding-right:0;padding-bottom:10px}.lg-params-list{max-height:200px}}
  .lg-tagpick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;max-height:96px;overflow:auto}
  .lg-tagchk{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 7px;border:1px solid hsl(var(--border));border-radius:20px;font-size:12px;cursor:pointer;user-select:none;background:hsl(var(--card));transition:border-color .12s,background .12s}
  .lg-tagchk:hover{border-color:hsl(var(--primary)/.6)}
  .lg-tagchk.on{border-color:hsl(var(--primary));background:hsl(var(--primary)/.08);font-weight:600}
  .lg-tagchk input{margin:0}
  .lg-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;border:1px solid hsl(var(--border))}
  .lg-chart{width:100%;height:auto;display:block;margin-top:4px}
  /* LEJANT: seri başına 2 satırlı istatistik kartı — Ort/Min/Max/Fark/Son KIRPILMADAN görünür
     (eski tek-satır nowrap+ellipsis çipi değerleri "…" ile yutuyordu). */
  .lg-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;margin-top:6px}
  .lg-leg{font-size:10.5px;color:hsl(var(--muted-foreground));background:hsl(var(--muted)/.3);border:1px solid hsl(var(--border)/.6);border-left:3px solid var(--c,hsl(var(--border)));border-radius:7px;padding:4px 9px;min-width:0}
  .lg-leg-hd{display:flex;align-items:center;gap:6px;margin-bottom:2px;min-width:0}
  .lg-leg-hd b{color:hsl(var(--foreground));font-weight:600;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lg-leg-n{margin-left:auto;flex-shrink:0;font-size:9.5px;opacity:.7}
  .lg-leg-st{display:flex;flex-wrap:wrap;gap:2px 11px;font-variant-numeric:tabular-nums;line-height:1.45;font-size:10px}
  .lg-leg-kv{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}
  .lg-leg-kv i{font-style:normal;font-size:10.5px;opacity:.8}
  .lg-leg-kv b{color:hsl(var(--foreground));font-weight:600}
  .lg-empty{margin-top:10px;padding:10px 12px;border-radius:8px;background:hsl(45 90% 55%/.12);border:1px solid hsl(45 90% 45%/.35);color:hsl(38 92% 38%);font-size:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .conn-graph-btn{opacity:0;color:hsl(var(--primary));cursor:pointer;padding:1px 4px;transition:opacity .12s}
  tr:hover .conn-graph-btn,.conn-graph-btn.always{opacity:.85}
  .conn-graph-btn:hover{opacity:1}
  .muted{color:hsl(var(--muted-foreground));}
  .empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:52px 24px;text-align:center;color:hsl(var(--muted-foreground));font-size:13px;}
  .empty i{font-size:40px;opacity:.4;color:hsl(var(--muted-foreground));}
  /* KÜÇÜK/ALÇAK EKRAN: eskiden align-items:center + taşma görünür idi. Modal ekrandan uzun olunca
     üstü ve altı viewport DIŞINA taşıyor, arka plan kaymadığı için başlık ve "Kaydet" ERİŞİLEMEZ
     oluyordu (saha: "modal ortadan başlıyor, yazı içeride kalmış"). Ölçüm 390×430'da modalTop=-12px.
     Çözüm: arka plan kayar (overflow:auto) + çocuk margin:auto ile ortalanır (flex-start ile taşmada
     üst KIRPILMAZ) + modal kendi içinde baş/gövde/ayak flex kolonu olur, yalnız GÖVDE kayar. */
  .kg-modal-bd{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:center;z-index:1000;overflow:auto;padding:12px;box-sizing:border-box;overscroll-behavior:contain;}
  .kg-modal{width:500px;max-width:94vw;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4);}
  /* Yalnız DIALOG bağlamı (.kg-modal-bd altı); aynı sınıflar içerik sayfalarında satır içi de kullanılıyor. */
  .kg-modal-bd>.kg-modal{margin:auto;max-width:100%;max-height:100%;display:flex;flex-direction:column;min-height:0;}
  .kg-modal-bd>.kg-modal>.kg-modal-head,.kg-modal-bd>.kg-modal>.kg-modal-foot{flex:0 0 auto;}
  .kg-modal-bd>.kg-modal>.kg-modal-body{flex:1 1 auto;min-height:0;}
  .kg-modal.wide{width:720px;}
  /* SCADA Grafik (trend) — TAM görünüm: dar modalda grafik sıkışıyordu; büyük modal + yüksek gövde */
  .kg-modal.sc-huge-modal{width:min(1240px,96vw)!important;}
  .kg-modal.sc-huge-modal .kg-modal-body{max-height:none;padding:14px 16px;}
  .kg-modal.ua-import-modal{width:min(1120px,96vw)!important;}
  .kg-modal.ua-import-modal .kg-modal-body{max-height:80vh;}
  .kg-modal.ua-srv-modal{width:min(760px,96vw)!important;}
  @media(max-width:760px){ .ua-import-grid{flex-direction:column} .ua-import-grid>div{width:auto!important} }

  /* ── OPC UA Browser — profesyonel bileşen seti ─────────────────────────── */
  .uab-seg{display:inline-flex;background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:9px;padding:3px;gap:2px;}
  .uab-seg button{border:none;background:transparent;color:hsl(var(--muted-foreground));padding:6px 14px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:inherit;transition:background .12s,color .12s;}
  .uab-seg button:hover{color:hsl(var(--foreground));}
  .uab-seg button.on{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:0 1px 2px rgba(0,0,0,.12);font-weight:600;}
  .uab-row{display:flex;gap:8px;align-items:center;}
  .uab-in{flex:1;min-width:0;background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));padding:8px 11px;border-radius:8px;font-size:13px;font-family:inherit;box-sizing:border-box;transition:border-color .12s,box-shadow .12s;}
  .uab-in:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.15);}
  .uab-hint{font-size:11.5px;color:hsl(var(--muted-foreground));line-height:1.5;}
  .uab-prog{font-size:12px;color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .uab-prog b{color:hsl(var(--foreground));font-weight:600;}
  /* sunucu listesi */
  .uab-list{border:1px solid hsl(var(--border));border-radius:10px;overflow:hidden;background:hsl(var(--card));}
  .uab-srv{display:flex;align-items:center;gap:11px;padding:11px 13px;cursor:pointer;border-top:1px solid hsl(var(--border));transition:background .1s;}
  .uab-srv:first-child{border-top:none;}
  .uab-srv:hover{background:hsl(var(--primary)/.07);}
  .uab-srv-ic{width:34px;height:34px;flex-shrink:0;border-radius:8px;display:flex;align-items:center;justify-content:center;background:hsl(var(--primary)/.12);color:hsl(var(--primary));font-size:17px;}
  .uab-srv-main{min-width:0;flex:1;}
  .uab-srv-nm{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:7px;}
  .uab-srv-url{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:11.5px;color:hsl(var(--primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .uab-chip{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;}
  .uab-chip.sec{background:hsl(142 60% 40%/.15);color:hsl(142 55% 38%);}
  .uab-chip.insec{background:hsl(0 65% 55%/.14);color:hsl(0 60% 52%);}
  :root[data-theme=dark] .uab-chip.sec{color:hsl(142 55% 62%);} :root[data-theme=dark] .uab-chip.insec{color:hsl(0 70% 68%);}
  @media(prefers-color-scheme:dark){:root:not([data-theme=light]) .uab-chip.sec{color:hsl(142 55% 62%);}:root:not([data-theme=light]) .uab-chip.insec{color:hsl(0 70% 68%);}}
  .uab-srv-sec{font-size:11px;color:hsl(var(--muted-foreground));margin-top:1px;}
  .uab-empty{padding:26px 14px;text-align:center;color:hsl(var(--muted-foreground));font-size:12.5px;}
  /* seçmeli ağaç */
  .uab-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:8px;}
  .uab-search{flex:1;position:relative;}
  .uab-search .ph{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));font-size:15px;pointer-events:none;}
  .uab-search input{width:100%;box-sizing:border-box;padding:8px 11px 8px 32px;border:1px solid hsl(var(--input));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font-size:13px;}
  .uab-search input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.15);}
  .uab-tree{border:1px solid hsl(var(--border));border-radius:10px;overflow:auto;padding:5px;background:hsl(var(--card));}
  .uab-node{display:flex;align-items:center;gap:5px;padding:4px 6px;border-radius:7px;white-space:nowrap;transition:background .08s;cursor:pointer;}
  .uab-node:hover{background:hsl(var(--muted)/.7);}
  .uab-node.sel{background:hsl(var(--primary)/.22);box-shadow:inset 3px 0 0 hsl(var(--primary));}
  .uab-node.sel .uab-nm{color:hsl(var(--primary));font-weight:600;}
  .uab-caret{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));cursor:pointer;border-radius:5px;flex-shrink:0;}
  .uab-caret:hover{background:hsl(var(--muted));color:hsl(var(--foreground));}
  .uab-node input[type=checkbox]{width:15px;height:15px;flex-shrink:0;}
  .uab-ic{font-size:15px;flex-shrink:0;display:inline-flex;}
  .uab-ic.folder{color:hsl(38 80% 52%);} .uab-ic.var{color:hsl(var(--primary));}
  .uab-nm{font-size:13px;color:hsl(var(--foreground));}
  .uab-node.sel .uab-nm{font-weight:600;color:hsl(var(--primary));}
  .uab-addr{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:10.5px;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;}
  .uab-branch{margin-left:auto;display:inline-flex;gap:4px;opacity:0;transition:opacity .1s;padding-left:10px;}
  .uab-node:hover .uab-branch{opacity:1;}
  .uab-branch button{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--muted-foreground));border-radius:6px;padding:2px 8px;font-size:10.5px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:3px;white-space:nowrap;}
  .uab-branch button:hover{background:hsl(var(--muted));color:hsl(var(--foreground));}
  /* import paneli */
  .uab-imp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
  .uab-imp-head .t{font-weight:600;font-size:13px;}
  .uab-imp-head .n{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:11px;font-size:11px;font-weight:700;margin-left:6px;}
  .uab-implist{border:1px solid hsl(var(--border));border-radius:10px;overflow:auto;padding:4px;background:hsl(var(--card));}
  .uab-imp-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;font-size:12px;}
  .uab-imp-row:hover{background:hsl(var(--muted)/.6);}
  .uab-imp-row .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .uab-imp-row .rm{color:hsl(var(--muted-foreground));cursor:pointer;border-radius:5px;padding:2px;flex-shrink:0;}
  .uab-imp-row .rm:hover{background:hsl(0 65% 55%/.15);color:hsl(0 60% 52%);}
  /* Kepware "Select Items to Import" 3-kolon düzeni: Browsing | butonlar | Import Items */
  .uab-imp2{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start;}
  .uab-col{display:block;min-width:0;}
  .uab-collbl{font-weight:600;font-size:12.5px;color:hsl(var(--muted-foreground));margin-bottom:7px;text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:8px;}
  .uab-cnt{display:inline-flex;min-width:20px;height:19px;padding:0 6px;align-items:center;justify-content:center;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:10px;font-size:11px;font-weight:700;text-transform:none;}
  /* sabit yükseklik + blok akış → içerik DAİMA üstten başlar (flex:1 çakışması yok) */
  .uab-imp2 .uab-tree,.uab-imp2 .uab-implist{height:56vh;min-height:380px;max-height:64vh;overflow:auto;}
  .uab-mid{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:0 2px;align-self:center;}
  .uab-mid .kg-btn{justify-content:space-between;min-width:132px;font-size:12.5px;}
  .uab-chkline{display:flex;align-items:center;gap:7px;font-size:12.5px;color:hsl(var(--foreground));margin-bottom:8px;cursor:pointer;user-select:none;}
  @media(max-width:820px){ .uab-imp2{grid-template-columns:1fr;} .uab-mid{flex-direction:row;justify-content:center;flex-wrap:wrap;} .uab-mid .kg-btn{min-width:0;} }
  .uab-errbox{padding:22px 18px;text-align:center;}
  .uab-errbox .ic{font-size:34px;color:hsl(0 65% 55%);}
  .uab-errbox .ti{font-weight:600;margin-top:10px;color:hsl(0 60% 52%);font-size:14px;}
  .uab-errbox .ms{color:hsl(var(--muted-foreground));font-size:12.5px;margin:8px auto;max-width:440px;word-break:break-word;}
  .kg-modal-head{padding:15px 20px;border-bottom:1px solid hsl(var(--border));font-weight:600;display:flex;align-items:center;gap:9px;}
  /* Başlıktaki ✕ — dışa TEK tık artık kapatmadığı için görünür kapatma yolu (çift tık da çalışır) */
  .kg-modal-x{margin-left:auto;flex-shrink:0;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font-size:16px;}
  .kg-modal-x:hover{background:hsl(var(--muted)/.7);color:hsl(var(--foreground));}
  .kg-modal-body{padding:20px;display:flex;flex-direction:column;gap:14px;max-height:68vh;overflow:auto;}
  /* Ayarlar sayfasÄ±nda (modal deÄŸil) iÃ§ kaydÄ±rmayÄ± kaldÄ±r â€” gÃ¼venlik listesi kesilmesin */
  .kg-content .kg-modal-body{max-height:none;overflow:visible;}
  .kg-pgroup{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:hsl(var(--muted-foreground));margin:10px 0 4px;padding-bottom:4px;border-bottom:1px solid hsl(var(--border));font-weight:600;}
  .kg-prow{display:flex;gap:12px;align-items:center;padding:5px 2px;border-radius:6px;}
  .kg-prow:hover{background:hsl(var(--muted)/.5);}
  .kg-prow label{font-size:13px;color:hsl(var(--foreground));margin:0;display:flex;align-items:center;gap:5px;width:190px;flex-shrink:0;}
  .kg-prow input,.kg-prow select{flex:1;min-width:0;}
  .kg-prow label .ph-info{color:hsl(var(--muted-foreground));font-size:14px;cursor:help;}
  .kg-prow input,.kg-prow select{width:100%;background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));padding:7px 10px;border-radius:7px;font-size:13px;font-family:inherit;box-sizing:border-box;}
  .kg-prow input[disabled],.kg-prow select[disabled]{opacity:.55;}
  /* Data Bridge master-detail — agent listesi */
  .iot-agitem{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;cursor:pointer;margin-bottom:3px;border:1px solid transparent;}
  .iot-agitem:hover{background:hsl(var(--muted)/.6);}
  .iot-agitem.sel{background:hsl(var(--primary)/.12);border-color:hsl(var(--primary)/.5);}
  /* Alarm A&E ağacı — Alan → Kaynak → Koşullar */
  .alm-tree{display:flex;flex-direction:column;gap:10px;}
  .alm-area{border:1px solid hsl(var(--border));border-radius:10px;overflow:hidden;}
  .alm-area-hd{display:flex;align-items:center;gap:8px;padding:9px 12px;background:hsl(var(--muted)/.4);border-bottom:1px solid hsl(var(--border));}
  .alm-area-hd b{font-size:13.5px;}
  .alm-empty{font-size:12px;padding:12px 16px;}
  .alm-src{margin:8px 10px 8px 22px;}
  .alm-src-hd{display:flex;align-items:center;gap:7px;font-size:13px;color:hsl(var(--muted-foreground));margin-bottom:4px;}
  .alm-src-hd b{color:hsl(var(--foreground));}
  .alm-conds{margin-left:22px;}
  .kg-iconbtn{padding:3px 7px;}
  .kg-prow input:focus,.kg-prow select:focus{outline:2px solid hsl(var(--primary)/.4);border-color:hsl(var(--primary));}
  /* Checkbox'lar metin kutusu gibi ESNEMEMELÄ° (yetki ekranÄ± + boolean property'ler). */
  .kg-prow input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;min-width:0;padding:0;margin:0;border-radius:4px;cursor:pointer;accent-color:hsl(var(--primary));}
  .kg-prow input[type=checkbox]:focus{outline:2px solid hsl(var(--primary)/.4);}
  /* Yetki satÄ±rÄ±: checkbox + etiket + kod; etiket 190px'e sabitlenmesin. */
  .kg-permrow label{width:auto;flex-shrink:1;}
  .kg-permrow .cap-id{font-family:ui-monospace,monospace;font-size:11px;color:hsl(var(--muted-foreground));}
  .kg-modal-gap{grid-column:1/-1;}
  .kg-helpfoot{grid-column:1/-1;font-size:12px;color:hsl(var(--muted-foreground));background:hsl(var(--muted)/.5);border-radius:8px;padding:8px 12px;min-height:34px;margin-top:6px;}
  .kg-help{width:640px;max-width:94vw;}
  .kg-help-body{padding:20px;max-height:70vh;overflow:auto;font-size:13px;line-height:1.6;display:block;}
  .kg-help-body h4{margin:16px 0 6px;font-size:14px;} .kg-help-body h4:first-child{margin-top:0;}
  .kg-help-body p{margin:4px 0;color:hsl(var(--muted-foreground));}
  .kg-help-body table{width:100%;border-collapse:collapse;margin:8px 0;}
  .kg-help-body td{padding:5px 8px;border-bottom:1px solid hsl(var(--border));vertical-align:top;}
  .kg-help-body td:first-child{font-weight:600;white-space:nowrap;width:170px;}
  .kg-modal-foot{padding:14px 20px;border-top:1px solid hsl(var(--border));display:flex;justify-content:flex-end;gap:8px;}
  /* ── Adım-adım sihirbaz (Kepware tarzı) ── */
  .wz-steps{display:flex;align-items:center;gap:0;padding:12px 20px;border-bottom:1px solid hsl(var(--border));overflow-x:auto;background:hsl(var(--muted)/.28);scrollbar-width:none;-ms-overflow-style:none;}
  .wz-steps::-webkit-scrollbar{display:none;}  /* çirkin yatay çubuk gizli — aktif adım otomatik görünüre kayar */
  .wz-step{min-height:210px;}                   /* adımlar arası modal boyu zıplamasın */
  .wz-step .kg-field{margin-bottom:12px;}
  .wz-step .kg-field>label{font-weight:600;font-size:12.5px;margin-bottom:4px;display:block;}
  /* Cihaz ID / adres biçimi ipucu kutusu (tek kaynak — placeholder ile mükerrerlik bitti) */
  .wz-fmt{display:flex;gap:7px;align-items:flex-start;font-size:11.5px;color:hsl(var(--muted-foreground));background:hsl(var(--muted)/.4);border:1px solid hsl(var(--border)/.6);border-radius:8px;padding:7px 10px;margin:-4px 0 12px;}
  .wz-fmt i{color:hsl(var(--primary));margin-top:1px;}
  .wz-fmt code{background:hsl(var(--muted)/.7);padding:1px 6px;border-radius:5px;font-size:11px;}
  .wz-dot{display:flex;align-items:center;gap:8px;flex:none;color:hsl(var(--muted-foreground));font-size:12px;white-space:nowrap;}
  .wz-dot .wz-num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:11px;font-weight:600;flex:none;border:1px solid hsl(var(--border));transition:.2s;}
  .wz-dot.cur{color:hsl(var(--foreground));font-weight:600;}
  .wz-dot.cur .wz-num{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.16);}
  .wz-dot.done{color:hsl(var(--foreground));cursor:pointer;}
  .wz-dot.done .wz-num{background:hsl(142 60% 40%);color:#fff;border-color:hsl(142 60% 40%);}
  .wz-dot.done:hover .wz-num{filter:brightness(1.1);}
  .wz-sep{flex:1 1 14px;min-width:14px;height:2px;background:hsl(var(--border));margin:0 8px;border-radius:2px;}
  .wz-sep.done{background:hsl(142 60% 40%);}
  .wz-req{color:#e5484d;margin-left:2px;font-weight:700;}
  .wz-reqhint{font-size:11.5px;color:hsl(var(--muted-foreground));margin:-2px 0 8px;display:flex;align-items:center;gap:6px;}
  .kg-field input.wz-invalid,.kg-field select.wz-invalid{border-color:#e5484d;box-shadow:0 0 0 3px #e5484d22;}
  @media(max-width:600px){ .wz-dot .wz-lbl{display:none;} .wz-sep{min-width:10px;} }
  .kg-field label{display:block;font-size:12px;color:hsl(var(--muted-foreground));margin-bottom:5px;}
  .kg-field input,.kg-field select{width:100%;background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));padding:8px 11px;border-radius:8px;font-size:13px;font-family:inherit;}
  .hidden{display:none!important;}
  /* pointer-events:none: toast bir bildirimdir, ASLA tıklama hedefi olmamalı. Aksi halde sönük (opacity:0)
     toast sağ-alt köşede kalıp altındaki SCADA "Tasarıma dön" barının tıklamalarını yutuyordu. */
  #toast{position:fixed;bottom:20px;right:20px;background:hsl(var(--card));border:1px solid hsl(var(--border));padding:11px 17px;border-radius:9px;opacity:0;transition:opacity .3s;z-index:2000;box-shadow:0 8px 24px rgba(0,0,0,.3);pointer-events:none;}
  #toast.show{opacity:1;}
  /* GÜVENLİK: kimlik doğrulanana kadar uygulama kabuğunu GİZLE — giriş yapılmadan arayüz FLAŞ etmesin
     (auth /me çözülene kadar boş; sonra startApp kabuğu açar ya da login overlay örter). */
  body.pre-auth .kg-shell{display:none!important;}
  body.pre-auth{background:hsl(var(--background));}
  .kg-auth{position:fixed;inset:0;background:hsl(var(--background));display:flex;align-items:center;justify-content:center;z-index:500;}
  .kg-auth-card{width:380px;max-width:92vw;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:16px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.45);}
  .kg-auth-card h2{margin:14px 0 4px;font-size:20px;text-align:center;}
  .kg-auth-card .sub{text-align:center;color:hsl(var(--muted-foreground));font-size:13px;margin-bottom:20px;}
  .kg-auth-card .kg-field{margin-bottom:12px;}
  .kg-auth-logo{display:flex;justify-content:center;}
  .kg-auth-err{color:#ef4444;font-size:13px;text-align:center;min-height:18px;margin:4px 0;}
  .kg-linkbtn{display:block;width:100%;background:none;border:none;color:hsl(var(--primary));font-size:13px;cursor:pointer;padding:4px;text-align:center;font-family:inherit;}
  .kg-linkbtn:hover{text-decoration:underline;}
  /* Giriş ekranı — iki panel: markalı hero + form (sistemin ruhuna uygun). Mobilde hero gizlenir. */
  /* Giriş ekranı v2 — ürün/site kimliğiyle aynı dil: mürekkep (ink) zemin, pirinç (brass) vurgu, kâğıt ızgara, cam form kartı. */
  .kg-auth{background:#0A1E27;background-image:radial-gradient(900px 520px at 12% -10%,rgba(185,118,26,.22),transparent 60%),radial-gradient(700px 480px at 100% 110%,rgba(23,65,79,.9),transparent 60%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:auto,auto,56px 56px,56px 56px;}
  .kg-auth-split{display:flex;width:1040px;max-width:94vw;min-height:600px;background:hsl(var(--card));border:1px solid rgba(255,255,255,.08);border-radius:22px;overflow:hidden;box-shadow:0 40px 120px -30px rgba(0,0,0,.75),0 0 0 1px rgba(0,0,0,.3);}
  .kg-auth-hero{flex:1.08;position:relative;background:linear-gradient(160deg,#10303D 0%,#0A1E27 55%,#0B151C 100%);color:#DCE6EA;padding:50px 48px 40px;display:flex;align-items:stretch;overflow:hidden;}
  .kg-auth-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 85%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 85%);}
  .kg-auth-hero::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(228,161,60,.32),transparent 68%);filter:blur(2px);}
  .kg-auth-hero-logo{background:#fff;min-width:60px;height:60px;border-radius:16px;display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;padding:9px 14px;margin-bottom:26px;box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 6px rgba(255,255,255,.06);}
  .kg-auth-hero-logo img,.kg-auth-hero-logo svg{max-height:42px;width:auto;display:block;}
  .kg-auth-hero-in{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;}
  .kg-auth-eyebrow{font-family:ui-monospace,Consolas,monospace;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:#E4A13C;display:flex;align-items:center;gap:12px;margin-bottom:14px;}
  .kg-auth-eyebrow::after{content:"";flex:1;height:1px;max-width:110px;background:rgba(255,255,255,.14);}
  .kg-auth-powered{margin-top:auto;padding-top:20px;display:flex;align-items:center;gap:7px;font-size:11.5px;opacity:.72;}
  .kg-auth-powered svg,.kg-auth-powered img{opacity:.9;}
  .kg-auth-powered b{font-weight:700;}
  .kg-auth-meta{margin-top:auto;padding-top:26px;display:flex;gap:18px;flex-wrap:wrap;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8FA6AF;}
  .kg-auth-meta span{display:inline-flex;align-items:center;gap:7px;}
  .kg-auth-meta i.dot{width:6px;height:6px;border-radius:50%;background:#1E8E6A;display:inline-block;box-shadow:0 0 0 3px rgba(30,142,106,.2);animation:kgPulse 2s infinite;}
  @keyframes kgPulse{50%{opacity:.35}}
  .kg-auth-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px;}
  .kg-auth-stats div{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);border-radius:10px;padding:11px 13px;}
  .kg-auth-stats b{display:block;font-size:20px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.1;}
  .kg-auth-stats span{font-family:ui-monospace,Consolas,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8FA6AF;display:block;margin-top:5px;}
  /* Sidebar "powered by MergenHub" — yalnız müşteri markası varken (altyapı bizde). */
  .kg-poweredby{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;color:hsl(var(--muted-foreground));padding:6px 8px;border-top:1px solid hsl(var(--border));opacity:.85;}
  .kg-poweredby b{color:hsl(var(--foreground));font-weight:600;}
  /* AYARLAR — gruplu sol-dikey navigasyon (düz 14-tab yatay sırası yerine). */
  .kg-setwrap{display:flex;gap:20px;align-items:flex-start;}
  /* Sol menü = belirgin PANEL (kart zemin + kenarlık) — açıkça "menü" gibi dursun. */
  .kg-setnav{width:230px;flex-shrink:0;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:8px;position:sticky;top:8px;box-shadow:0 1px 3px rgba(0,0,0,.05);}
  .kg-setnav-grp{display:flex;flex-direction:column;gap:1px;}
  .kg-setnav-grp + .kg-setnav-grp{margin-top:6px;padding-top:8px;border-top:1px solid hsl(var(--border));}
  .kg-setnav-hd{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:hsl(var(--muted-foreground));padding:5px 10px 5px;}
  .kg-setnav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border:none;background:none;border-radius:8px;cursor:pointer;font-size:13.5px;color:hsl(var(--foreground));text-align:left;width:100%;font-family:inherit;position:relative;}
  .kg-setnav-item i{font-size:17px;color:hsl(var(--muted-foreground));flex-shrink:0;width:19px;text-align:center;}
  .kg-setnav-item:hover{background:hsl(var(--muted)/.75);}
  .kg-setnav-item.on{background:hsl(var(--primary)/.14);color:hsl(var(--primary));font-weight:600;}
  .kg-setnav-item.on i{color:hsl(var(--primary));}
  .kg-setnav-item.on::before{content:"";position:absolute;left:2px;top:7px;bottom:7px;width:3px;border-radius:2px;background:hsl(var(--primary));}
  .kg-setmain{flex:1;min-width:0;}
  /* Mobil bölüm seçici (dropdown) — masaüstünde gizli; mobilde yatay-sarmalı menü YERİNE tek satır. */
  .kg-setnav-m{display:none;}
  @media(max-width:860px){
    /* KRİTİK: sütun-flex'te align-items VARSAYILAN stretch OLMALI — aksi halde (masaüstü flex-start miras
       kalırsa) çocuklar içeriğe göre genişler ve .kg-setmain viewport'u TAŞIRIR (formlar/kartlar ekrandan çıkar). */
    .kg-setwrap{flex-direction:column;gap:14px;align-items:stretch;}
    .kg-setnav{display:none;}                 /* dikey panel yerine dropdown */
    .kg-setmain{width:100%;max-width:100%;min-width:0;}
    .kg-setnav-m{display:block;width:100%;box-sizing:border-box;padding:11px 12px;font-size:14px;font-weight:600;
      color:hsl(var(--foreground));background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:10px;
      font-family:inherit;box-shadow:0 1px 3px rgba(0,0,0,.05);}
  }
  .kg-auth-hero h1{font-size:40px;line-height:1.06;margin:0 0 12px;font-weight:800;letter-spacing:-.025em;color:#fff;}
  .kg-auth-hero .kg-hb{color:#E4A13C;}
  .kg-auth-tag{font-size:15px;color:#A9BEC6;margin:0 0 26px;max-width:380px;line-height:1.55;}
  .kg-auth-feats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px;}
  .kg-auth-feats li{display:flex;align-items:center;gap:9px;font-size:13px;color:#DCE6EA;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);border-radius:10px;padding:9px 11px;}
  .kg-auth-feats li i{color:#E4A13C;font-size:17px;flex:none;}
  .kg-auth-formside{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:44px 52px;background:hsl(var(--card));}
  .kg-auth-form{width:100%;max-width:352px;}
  .kg-auth-logo-sm{display:none;justify-content:center;margin-bottom:16px;}
  .kg-auth-form h2{font-size:27px;margin:0 0 6px;font-weight:800;letter-spacing:-.02em;}
  .kg-auth-form .sub{color:hsl(var(--muted-foreground));font-size:13.5px;margin-bottom:24px;}
  .kg-auth-form .kg-field{margin-bottom:14px;}
  .kg-auth-form .kg-field label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));font-weight:600;}
  .kg-auth-in{position:relative;}
  .kg-auth-in > i.ph{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:17px;color:hsl(var(--muted-foreground));pointer-events:none;}
  .kg-auth-in input{width:100%;height:46px;padding:0 44px 0 40px;border-radius:11px;font-size:15px;}
  .kg-auth-in input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.18);}
  .kg-auth-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:6px;border-radius:6px;font-size:17px;line-height:1;}
  .kg-auth-eye:hover{color:hsl(var(--foreground));background:hsl(var(--muted)/.6);}
  .kg-auth-form .kg-btn.primary{height:46px;font-size:15px;font-weight:700;border-radius:11px;box-shadow:0 10px 24px -10px hsl(var(--primary)/.7);}
  .kg-auth-lang{position:absolute;top:18px;right:20px;display:inline-flex;border:1px solid hsl(var(--border));border-radius:999px;overflow:hidden;font-size:11.5px;font-weight:700;letter-spacing:.06em;}
  .kg-auth-lang button{background:none;border:none;padding:5px 11px;cursor:pointer;color:hsl(var(--muted-foreground));font-family:inherit;}
  .kg-auth-lang button.on{background:hsl(var(--primary));color:#fff;}
  /* Giriş/şifre ekranlarında marka vurgusu PİRİNÇ (uygulamanın mavi --primary'si yerine) — mürekkep+pirinç kimliği. */
  .kg-auth{--primary:32 76% 41%;--ring:32 76% 41%;}
  .kg-auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 16px;flex-wrap:wrap;}
  .kg-auth-remember{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:hsl(var(--foreground));user-select:none;}
  .kg-auth-remember input{width:16px;height:16px;accent-color:hsl(var(--primary));cursor:pointer;margin:0;}
  .kg-auth-row .kg-linkbtn{display:inline;width:auto;margin:0;padding:0;font-size:13px;text-align:right;}
  .kg-auth-foot{margin-top:26px;padding-top:16px;border-top:1px solid hsl(var(--border));display:flex;justify-content:space-between;gap:10px;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));}
  /* MOBİL: hero'yu GİZLEME — kompakt markalı üst banner'a çevir (logo + ürün adı + slogan),
     form altında. Böylece giriş ekranı mobilde de sistemin kimliğini/ruhunu taşır. */
  @media(max-width:720px){
    .kg-auth{align-items:flex-start;overflow-y:auto;padding:18px 14px;}
    .kg-auth-split{flex-direction:column;width:100%;max-width:430px;min-height:0;border-radius:18px;margin:auto;}
    .kg-auth-hero{flex:none;padding:30px 28px 26px;align-items:stretch;}
    .kg-auth-hero-in{height:auto;align-items:flex-start;}
    .kg-auth-hero-logo{margin-bottom:15px;}
    .kg-auth-hero h1{font-size:25px;}
    .kg-auth-tag{font-size:13px;margin:0;max-width:none;}
    .kg-auth-feats,.kg-auth-stats,.kg-auth-meta{display:none;}   /* özellik listesi/istatistikler mobilde gizli (yer kazan) */
    .kg-auth-hero h1{font-size:28px;}
    .kg-auth-lang{top:12px;right:12px;}
    .kg-auth-powered{margin-top:14px;padding-top:0;}      /* varsa attribution slogan altında kalsın */
    .kg-auth-formside{flex:none;padding:28px 26px 30px;}
    .kg-auth-logo-sm{display:none;}                       /* hero logosu zaten görünüyor */
    .kg-auth-form{max-width:none;}
  }
  .kg-userchip{display:flex;align-items:center;gap:9px;width:100%;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:11px;padding:7px 9px;font-size:13px;box-shadow:0 1px 2px rgba(0,0,0,.04);}
  .kg-userchip .kg-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary)/.65));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;letter-spacing:.3px;}
  .kg-userchip .kg-uinfo{display:flex;flex-direction:column;line-height:1.25;min-width:0;flex:1;}
  .kg-userchip .kg-uinfo b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
  .kg-userchip .role{font-size:10.5px;color:hsl(var(--muted-foreground));background:none;padding:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .kg-userchip .kg-iconbtn{flex-shrink:0;}
  .kg-menu{position:fixed;z-index:400;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.35);padding:6px;min-width:170px;display:flex;flex-direction:column;gap:2px;}
  .mcp-tools{display:none} .mcp-tools.open{display:block}
  .mcp-detail{display:none} .mcp-detail.open{display:table-row}
  .kg-menu-item{display:flex;align-items:center;gap:9px;background:none;border:none;color:hsl(var(--foreground));font:inherit;font-size:13px;padding:8px 10px;border-radius:7px;cursor:pointer;text-align:left;width:100%;}
  .kg-menu-item:hover{background:hsl(var(--muted));}
  .kg-menu-item.sel{background:hsl(var(--primary)/.14);color:hsl(var(--foreground));font-weight:600;}
  .kg-menu-item i{color:hsl(var(--primary));font-size:16px;width:18px;text-align:center;}
  /* SCADA / HMI */
  .kg-seg{display:inline-flex;gap:0;border:1px solid hsl(var(--border));border-radius:8px;overflow:hidden;}
  .kg-seg .kg-btn{border:none;border-radius:0;}
  .sc-palette{display:inline-flex;gap:2px;padding:2px;border:1px solid hsl(var(--border));border-radius:8px;}
  .sc-palette .kg-btn{padding:6px 9px;}
  .sc-w{box-sizing:border-box;}
  /* MAKRO SÜRÜKLERKEN TİTREMESİN. Makro bir iframe'dir; SVG foreignObject'in x/y'si her karede
     değişince tarayıcı iframe'i yeniden yerleştirir ve içerik yeniden yüklenir → obje sürüklerken
     "pır pır" eder ve bırakana kadar görünmez. Sürükleme boyunca iframe gizlenip yerine hafif bir
     hayalet kutu gösterilir; bırakınca gerçek içerik geri gelir. */
  .sc-macroghost{display:none}
  .scx-dragging iframe.sc-macro{visibility:hidden}
  .scx-dragging .sc-macroghost{display:flex;align-items:center;justify-content:center;gap:6px;
    position:absolute;inset:0;border:2px dashed hsl(var(--primary)/.65);border-radius:8px;
    background:hsl(var(--primary)/.08);color:hsl(var(--primary));font:600 12px system-ui;letter-spacing:.04em}
  .sc-w.sc-sel{outline:2px solid hsl(var(--primary));outline-offset:1px;}
  .sc-cover{position:absolute;inset:0;cursor:move;z-index:2;}
  .sc-h{position:absolute;width:9px;height:9px;background:#fff;border:1.5px solid hsl(var(--primary));border-radius:2px;transform:translate(-50%,-50%) scale(var(--sc-inv,1));z-index:4;}
  .sc-h-nw{cursor:nwse-resize;} .sc-h-se{cursor:nwse-resize;} .sc-h-ne{cursor:nesw-resize;} .sc-h-sw{cursor:nesw-resize;}
  .sc-h-n{cursor:ns-resize;} .sc-h-s{cursor:ns-resize;} .sc-h-e{cursor:ew-resize;} .sc-h-w{cursor:ew-resize;}
  .sc-rot{position:absolute;left:50%;top:-22px;width:12px;height:12px;background:hsl(var(--primary));border:2px solid #fff;border-radius:50%;transform:translateX(-50%) scale(var(--sc-inv,1));cursor:grab;z-index:4;}
  .kg-spin{display:inline-block;width:14px;height:14px;border:2px solid hsl(var(--muted-foreground)/.35);border-top-color:hsl(var(--primary));border-radius:50%;animation:kg-spin .7s linear infinite;vertical-align:middle;}
  @keyframes kg-spin{to{transform:rotate(360deg)}}
  .sc-sp-ok{color:#16a34a;font-weight:600;} .sc-sp-err{color:hsl(var(--destructive,0 72% 51%));font-weight:600;}
  @keyframes sc-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
  @keyframes sc-flow{from{background-position:0 0}to{background-position:20px 0}}
  @keyframes sc-blink{0%,50%{opacity:1}51%,100%{opacity:.12}}
  @keyframes sc-beltmove{from{background-position:0 0}to{background-position:22px 0}}
  /* Konveyör üstündeki koli bant boyunca ilerler (SVG user-unit; reverse=ters yön) */
  @keyframes sc-convbox{from{transform:translateX(-6px)}to{transform:translateX(158px)}}
  @keyframes sc-flowmove-h{from{background-position:0 0}to{background-position:24px 0}}
  @keyframes sc-flowmove-v{from{background-position:0 0}to{background-position:0 24px}}
  @keyframes sc-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
  /* Çalışma LED halesi: SVG içinde scale kaydırma yapar → yalnız opaklık. */
  @keyframes sc-ledglow{0%,100%{opacity:.10}50%{opacity:.42}}
  /* AKIŞ ŞERİDİ (kutu bindirmesi + boru-modu eksen şeridi): tekrar aralığı --sc-fs (çizgi+boşluk) kadar
     kaydırılır → döngü dikişsiz. Eski .sc-anim-flow beyaz şeridi kaldırıldı (açık temada görünmezdi). */
  @keyframes sc-flowov-h{to{background-position:var(--sc-fs,26px) 0}}
  @keyframes sc-flowov-v{to{background-position:0 var(--sc-fs,26px)}}
  /* SU SEVİYESİ/DOLULUK: TAM-boy div (inset:0), su gradyanla alt p%'e dolar, silüete kırpılır → HİZALI. */
  .sc-water{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.82;
    transition:background .55s cubic-bezier(.4,0,.2,1);}
  .sc-symgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;}
  .sc-sym{border:1px solid hsl(var(--border));border-radius:8px;padding:6px;cursor:pointer;background:hsl(var(--card));display:flex;align-items:center;justify-content:center;height:72px;transition:border-color .12s,background .12s;}
  .sc-sym:hover{border-color:hsl(var(--primary));background:hsl(var(--primary)/.08);}
  .sc-sym img{max-width:100%;max-height:100%;pointer-events:none;}
  /* 3B sahne/depo altlıkları — geniş önizleme kartı (ad etiketiyle) */
  .sc-sym-wide{grid-column:span 2;height:110px;flex-direction:column;gap:4px;padding:8px;}
  .sc-sym-wide img{max-height:78px;border-radius:6px;}
  .sc-sym-wide .sc-symname{font-size:10px;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
  /* Kategorili yerleÅŸik semboller */
  #scSymAll{max-height:60vh;overflow:auto;padding-right:2px;}
  .sc-symcat{margin-bottom:6px;}
  .sc-symcat-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:hsl(var(--muted-foreground));margin:10px 2px 6px;position:sticky;top:0;background:hsl(var(--popover,var(--card)));padding:2px 0;z-index:1;}
  .sc-sym-b{flex-direction:column;gap:4px;height:auto;padding:8px 4px;}
  .sc-sym-b .sc-symsvg{width:46px;height:46px;}
  .sc-sym-b .sc-symsvg svg{width:100%;height:100%;}
  /* Sol sidebar kategorili sembol paleti: thumbnail'lar SABİT boyutta (oran korunur, hepsi eşit) */
  .sc-tool>.sc-symsvg{flex:none;overflow:hidden}
  .sc-tool>.sc-symsvg svg{width:100%;height:100%;display:block}
  .sc-symname{font-size:10px;color:hsl(var(--muted-foreground));text-align:center;line-height:1.05;max-width:100%;word-break:break-word;}
  .sc-marquee{position:absolute;border:1.5px dashed hsl(var(--primary));background:hsl(var(--primary)/.1);pointer-events:none;}
  /* TasarÄ±m: araÃ§ Ã§ubuÄŸu + sekme ÅŸeridi TEK birleÅŸik baÅŸlÄ±k bandÄ±nda (Ã¼st Ã¼ste iki bordÃ¼r deÄŸil) */
  /* Kullanıcı Kılavuzu (manuel) — sol TOC + sağ içerik, tema uyumlu */
  .man-modal{width:min(1100px,94vw);height:88vh;display:flex;flex-direction:column;padding:0;overflow:hidden}
  .man-modal .kg-modal-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid hsl(var(--border))}
  .man-search{margin-left:14px;flex:0 1 300px;padding:6px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font-size:13px}
  .man-body{display:flex;flex:1;min-height:0}
  .man-toc{width:260px;flex-shrink:0;overflow-y:auto;border-right:1px solid hsl(var(--border));background:hsl(var(--muted)/.25);padding:8px}
  .man-ch-h{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;cursor:pointer;font-weight:600;font-size:13px;color:hsl(var(--foreground))}
  .man-ch-h:hover{background:hsl(var(--muted)/.6)}
  .man-ch-h .man-caret{margin-left:auto;transition:transform .15s;font-size:13px;color:hsl(var(--muted-foreground))}
  .man-ch.open .man-ch-h .man-caret{transform:rotate(90deg)}
  .man-ch-s{display:none;padding:2px 0 6px 12px}
  .man-ch.open .man-ch-s{display:block}
  .man-sec{padding:6px 10px;margin:1px 0;border-radius:6px;cursor:pointer;font-size:12.5px;color:hsl(var(--muted-foreground));border-left:2px solid transparent}
  .man-sec:hover{background:hsl(var(--muted)/.5);color:hsl(var(--foreground))}
  .man-sec.active{background:hsl(var(--primary)/.12);color:hsl(var(--primary));border-left-color:hsl(var(--primary));font-weight:600}
  .man-content{flex:1;overflow-y:auto;padding:22px 30px;min-width:0}
  .man-crumb{font-size:11.5px;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px;margin-bottom:4px}
  .man-content h2{font-size:22px;margin:0 0 14px;color:hsl(var(--foreground))}
  .man-html{font-size:13.5px;line-height:1.65;color:hsl(var(--foreground));max-width:760px}
  .man-html p{margin:0 0 12px}
  .man-html h4{margin:18px 0 8px;font-size:13px;color:hsl(var(--primary))}
  .man-html ul{margin:0 0 12px;padding-left:20px}.man-html li{margin:4px 0}
  .man-html table{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:13px}
  .man-html td{padding:6px 10px;border:1px solid hsl(var(--border));vertical-align:top}
  .man-html td:first-child{background:hsl(var(--muted)/.4);font-weight:600;white-space:nowrap;width:34%}
  .man-html code{background:hsl(var(--muted)/.6);padding:1px 5px;border-radius:4px;font-size:12px}
  .man-html pre{background:hsl(var(--muted)/.55);border:1px solid hsl(var(--border));border-radius:8px;padding:11px 13px;font-size:12px;overflow-x:auto;white-space:pre;margin:0 0 14px}
  .man-pager{display:flex;justify-content:space-between;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid hsl(var(--border))}
  /* Kepware-tarzı callout kutuları + figür + "Ayrıca bkz" */
  .man-cb{border-radius:9px;padding:10px 13px 10px 40px;margin:14px 0;font-size:13px;position:relative;border:1px solid hsl(var(--border))}
  .man-cb::before{position:absolute;left:12px;top:10px;font-family:'Phosphor';font-size:17px}
  .man-cb b{display:block;margin-bottom:2px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}
  .man-note{background:hsl(210 90% 55%/.09);border-color:hsl(210 90% 55%/.35)} .man-note::before{content:'\f4e1';color:hsl(210 80% 55%)} .man-note b{color:hsl(210 70% 55%)}
  .man-tip{background:hsl(150 65% 45%/.10);border-color:hsl(150 60% 45%/.35)} .man-tip::before{content:'\f4f7';color:hsl(150 60% 42%)} .man-tip b{color:hsl(150 55% 42%)}
  .man-warn{background:hsl(38 92% 50%/.12);border-color:hsl(38 90% 50%/.4)} .man-warn::before{content:'\f5f3';color:hsl(38 85% 48%)} .man-warn b{color:hsl(38 75% 45%)}
  .man-seealso{margin:16px 0 4px;padding:9px 12px;background:hsl(var(--muted)/.4);border-left:3px solid hsl(var(--primary));border-radius:0 7px 7px 0;font-size:12.5px}
  .man-seealso b{color:hsl(var(--muted-foreground));text-transform:uppercase;font-size:10.5px;letter-spacing:.5px;margin-right:6px}
  .man-seealso a{color:hsl(var(--primary));cursor:pointer;text-decoration:none;font-weight:600;margin-right:12px;white-space:nowrap}
  .man-seealso a:hover{text-decoration:underline}
  .man-fig{margin:14px 0;text-align:center;background:hsl(var(--muted)/.3);border:1px solid hsl(var(--border));border-radius:10px;padding:14px}
  .man-fig svg{max-width:100%;height:auto} .man-fig img{max-width:100%;height:auto;border-radius:6px;border:1px solid hsl(var(--border))}
  .man-fig figcaption{margin-top:8px;font-size:11.5px;color:hsl(var(--muted-foreground));font-style:italic}
  .man-ver{display:inline-block;font-size:11px;color:hsl(var(--muted-foreground));background:hsl(var(--muted)/.5);padding:2px 8px;border-radius:5px;margin-bottom:8px}
  /* PDF / Yazdır — tüm kılavuzu tek belge olarak bas (tarayıcı: PDF olarak kaydet) */
  #manPrint{display:none}
  @media print{
    @page{margin:16mm 14mm}
    body.man-printing>*:not(#manPrint){display:none!important}
    body.man-printing #manPrint{display:block!important}
    #manPrint{color:#111;font-family:system-ui,Arial,sans-serif;font-size:11.5pt;line-height:1.5}
    #manPrint *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .mpr-cover{height:245mm;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;page-break-after:always}
    .mpr-logo{font-size:34pt;font-weight:800;color:#1f2937} .mpr-logo b{color:#3E6BC9}
    .mpr-sub{color:#6b7280;margin-top:4px;font-size:12pt} .mpr-title{font-size:26pt;margin:40px 0 6px;color:#111} .mpr-ver{color:#6b7280}
    .mpr-ch{page-break-before:always} .mpr-toc ol{font-size:13pt;line-height:2}
    #manPrint h1{font-size:19pt;color:#1f2937;border-bottom:2px solid #3E6BC9;padding-bottom:6px;margin:0 0 14px}
    #manPrint h2{font-size:14pt;color:#3E6BC9;margin:16px 0 6px} #manPrint h4{font-size:12pt;color:#374151;margin:12px 0 5px}
    #manPrint p{margin:0 0 9px} #manPrint ul{margin:0 0 9px 18px}
    #manPrint table{width:100%;border-collapse:collapse;margin:0 0 11px;font-size:10.5pt} #manPrint td{border:1px solid #d1d5db;padding:5px 8px;vertical-align:top} #manPrint td:first-child{background:#f3f4f6;font-weight:600;width:34%}
    #manPrint code{background:#f3f4f6;padding:1px 4px;border-radius:3px;font-size:10pt}
    #manPrint pre{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:9px 11px;font-size:9.5pt;white-space:pre-wrap;page-break-inside:avoid}
    #manPrint .man-cb{border:1px solid #d1d5db;border-radius:6px;padding:8px 11px 8px 12px;margin:11px 0;page-break-inside:avoid} #manPrint .man-cb::before{content:none} #manPrint .man-cb b{font-size:9.5pt;text-transform:uppercase;display:block;margin-bottom:2px}
    #manPrint .man-note{background:#eef4fd;border-color:#93c5fd} #manPrint .man-tip{background:#ecfdf3;border-color:#86efac} #manPrint .man-warn{background:#fef6e7;border-color:#fcd34d}
    #manPrint .man-seealso{background:#f3f4f6;border-left:3px solid #3E6BC9;padding:7px 10px;margin:11px 0;font-size:10pt} #manPrint .man-seealso a{color:#1f2937;text-decoration:none;margin-right:10px}
    #manPrint .man-fig{border:1px solid #e5e7eb;border-radius:8px;padding:10px;text-align:center;margin:11px 0;page-break-inside:avoid} #manPrint .man-fig svg{max-width:100%;height:auto} #manPrint figcaption{font-size:9.5pt;color:#6b7280;font-style:italic;margin-top:6px}
    #manPrint .man-ver{display:none}
  }
  @media(max-width:720px){ .man-toc{width:180px} .man-content{padding:16px} }
  /* ── MOBİL / RESPONSIVE ─────────────────────────────────────────────── */
  .kg-navtoggle{display:none!important} .kg-navscrim{display:none}
  @media(max-width:760px){
    .kg-navtoggle{display:inline-flex!important}
    .kg-sidetoggle{display:none!important}
    /* Sol menü → kayan çekmece (overlay) + karartma */
    .kg-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:400;width:min(300px,85vw);transform:translateX(-100%);transition:transform .22s ease;box-shadow:0 0 40px rgba(0,0,0,.4)}
    .kg-shell.nav-open .kg-sidebar{transform:none}
    .kg-navscrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:390;opacity:0;pointer-events:none;transition:opacity .22s}
    .kg-shell.nav-open .kg-navscrim{opacity:1;pointer-events:auto}
    .kg-main{width:100%;min-width:0}
    .kg-topbar{padding:6px 8px;height:auto;gap:6px;flex-wrap:nowrap;overflow:hidden}
    #nav .kg-btn span{display:none}            /* nav yalnız ikon */
    .kg-crumb{display:none}                     /* başlık mobilde gereksiz — yer aç */
    .kg-topbar .kg-sep{display:none}            /* ayraçlar mobilde gizli */
    .kg-statpill{display:none!important}        /* durum hapları mobilde gizli */
    /* MOBİL SCADA ekran seçici — içerik alanında büyük dokunmatik kartlar (drawer'a bağımlı değil) */
    .sc-mscrlist{display:flex;flex-direction:column;gap:8px;padding:8px 2px}
    .sc-mscr{display:flex;align-items:center;gap:10px;width:100%;padding:14px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card));font-size:15px;text-align:left;color:inherit;cursor:pointer}
    .sc-mscr>.ph:first-child{color:hsl(var(--primary));font-size:18px}
    .sc-mscr span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .sc-mscr-car{color:hsl(var(--muted-foreground))}
    .kg-content{padding:12px}
    .man-modal{width:96vw;height:92vh} .man-toc{width:150px}
    /* SCADA editör panelleri daralsın (tuval korunur) */
    .sc-left{width:150px} .sc-editor .sc-right,#scPanel{width:180px!important}
    /* SCADA çalıştır: kontrol çubuğu sarsın, ekran viewport'a sığar (fit) */
    .sc-runbar{flex-wrap:wrap;max-width:94vw;gap:6px}
    /* MOBİL: SCADA yalnız operatör (run) görünümü — tasarım paneli/araç çubuğu görünse bile gizle.
       Tuval TAM GENİŞLİK; dokunmatik pan/pinch için tarayıcı jestleri kapalı. */
    .sc-editor .sc-left,.sc-editor .sc-split,.sc-editor .sc-right,#scPanel,.sc-editor .sc-status{display:none!important}
    .sc-editor .sc-body{flex-direction:column}
    .sc-center,.sc-center-run{flex:1;width:100%}
    .sc-viewport.run{touch-action:none}
    .sc-editor{height:calc(100dvh - 84px - env(safe-area-inset-bottom))}
    /* iOS Safari alt araç çubuğu run bar'ı örtüyordu (butonlar telefonda görünmüyor). fixed/absolute
       iOS'ta pinch-zoom'lu sayfada güvenilir değil → run bar'ı mobilde ÜSTTE, NORMAL AKIŞTA statik bir
       bar yap (her zaman görünür). Viewport altında flex ile kalan alanı doldurur. */
    .sc-center-run{display:flex;flex-direction:column}
    .sc-center-run>.sc-viewport{position:relative;inset:auto;flex:1 1 auto;min-height:0}
    /* NOT: daha özgül selektör (.sc-center-run>.sc-runbar) — tek-class .sc-runbar{position:absolute}
       kuralı bu media query'den SONRA geldiğinden özgüllük EŞİTse onu ezmek için 2-class şart. */
    /* MOBİL: sekme şeridi kendi TAM GENİŞLİK satırında (10 sekme çubuğu 4 satıra bölmesin);
       şerit kendi içinde kayar, Alarm/Grafik/⚙ düğmeleri alt satırda görünür kalır. */
    .sc-runbar .sc-rungroup{flex-wrap:wrap;justify-content:center;width:100%;}
    .sc-runbar .sc-tabwrap{flex:1 1 100%!important;max-width:100%!important;order:-1;}
    .sc-center-run>.sc-runbar{position:static;order:-1;flex:0 0 auto;bottom:auto;left:auto;right:auto;width:100%;
      max-width:none;margin:0;padding:7px 8px;gap:6px;justify-content:center;flex-wrap:wrap;border:0;
      border-bottom:1px solid hsl(var(--border));border-radius:0;background:hsl(var(--card));
      backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;opacity:1;overflow-x:auto}
  }
  /* ── MOBİL İÇERİK SAYFALARI: Alarmlar / Veri Kaydı / Virtual Tag / Denetim + tüm tablolar & dialoglar ── */
  @media(max-width:760px){
    #content{overflow-x:hidden}                /* sayfa YANA taşmasın; tablolar kendi kutusunda kayar */
    .kg-table th,.kg-table td{padding:7px 9px;font-size:12px;white-space:nowrap}
    .kg-modal-body{padding:12px;max-height:76vh}
    /* Form satırları: 190px etiket kolonu yarım ekranı yiyordu → etiket ÜSTTE, alan TAM genişlik */
    .kg-modal .kg-prow,#content .kg-prow{flex-wrap:wrap;row-gap:4px}
    .kg-modal .kg-prow>label,#content .kg-prow>label{width:100%!important;font-size:12px;color:hsl(var(--muted-foreground))}
    .kg-modal .kg-prow>input:not([type=checkbox]),.kg-modal .kg-prow>select,.kg-modal .kg-prow>textarea,
    #content .kg-prow>input:not([type=checkbox]),#content .kg-prow>select,#content .kg-prow>textarea{flex:1 1 100%;min-width:0;box-sizing:border-box;width:auto!important}
    .evt-search{min-width:0;flex:1 1 140px}
    .kg-seg{flex-wrap:wrap}
    /* SCADA Grafik modalı: yan yana düzen telefonda sıkışıyor → parametreler ÜSTTE (kendi içinde
       kayar), zaman butonları + grafik ALTTA tam genişlik. !important inline flex-direction:row'u ezer. */
    .scrun-wrap{height:auto!important;max-height:82vh}
    #modal2 .scrun-wrap[style*="flex-direction:row"]{flex-direction:column!important}
    #modal2 .scrun-wrap[style*="flex-direction:row"]>div:first-child{width:100%!important;border-right:0!important;padding-right:0!important;max-height:30vh}
    #modal2 .scrun-wrap[style*="flex-direction:row"] #scTrChart{min-height:230px!important}
  }
  @media(max-width:560px){
    .kg-statpill{display:none}                 /* dar ekranda durum hapı gizle */
    .kg-content{padding:8px}
    .sc-left{width:120px} .sc-editor .sc-right,#scPanel{width:150px!important}
    .kg-modal:not(.man-modal){width:96vw;max-width:96vw}
    .man-body{flex-direction:column} .man-toc{width:auto;max-height:34vh;border-right:0;border-bottom:1px solid hsl(var(--border))}
  }
  /* REST API dokümantasyon modalı — markalı, temiz (ham swagger yerine) */
  .api-docs{font-size:13px;line-height:1.5;color:hsl(var(--foreground))}
  .api-docs h4{margin:18px 0 7px;font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:hsl(var(--muted-foreground));border-top:1px solid hsl(var(--border));padding-top:12px}
  .api-hero{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
  .api-hero>div{flex:1;min-width:150px;background:hsl(var(--muted)/.4);border:1px solid hsl(var(--border));border-radius:9px;padding:9px 11px}
  .api-k{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--muted-foreground));margin-bottom:3px}
  .api-base{font-size:12.5px;word-break:break-all;color:hsl(var(--primary))}
  .api-note{background:hsl(var(--muted)/.35);border-radius:8px;padding:8px 11px;color:hsl(var(--muted-foreground))}
  .api-note code,.api-docs code{background:hsl(var(--muted)/.6);padding:1px 5px;border-radius:4px;font-size:12px}
  .api-tbl{width:100%;border-collapse:collapse}
  .api-tbl td{padding:5px 8px;border-bottom:1px solid hsl(var(--border));vertical-align:top}
  .api-tbl td:first-child{width:66px}.api-tbl td:nth-child(2){white-space:nowrap}
  .api-m{display:inline-block;font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;color:#fff}
  .api-get{background:#0891b2}.api-post{background:#16a34a}.api-put{background:#d97706}.api-delete{background:#dc2626}
  .api-pre{background:hsl(var(--muted)/.55);border:1px solid hsl(var(--border));border-radius:8px;padding:11px 13px;font-size:12px;overflow-x:auto;white-space:pre;color:hsl(var(--foreground))}
  .api-footlink{margin-top:16px;padding-top:12px;border-top:1px solid hsl(var(--border))}
  .api-footlink a{color:hsl(var(--primary));font-weight:600;text-decoration:none}
  .sc-head{display:flex;flex-direction:column;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted)/.4);}
  /* ── EKRAN SEKME ŞERİDİ ────────────────────────────────────────────────────────
     Çok sekmede (Korubin şablonu = 1 ana + 9 ayar ekranı) ESKİDEN tüm araç çubuğu yana
     taşıyor, sağdaki EYLEM düğmeleri (Düzenle/Kaydet/Alarm/⚙) erişilemez oluyordu.
     Kural: yalnız .sc-tabs (sekme kutusu) esner ve kendi içinde kayar; okla/⌄ menüsüyle
     gezilir. Eylem düğmeleri flex:0 0 auto → hiçbir zaman kırpılmaz. */
  .sc-tabwrap{display:flex;align-items:center;gap:3px;min-width:0;}
  .sc-toolbar>.sc-tabwrap{flex:1 1 auto;min-width:64px;max-width:46%;border-left:1px solid hsl(var(--border));margin-left:4px;padding-left:8px;}
  .sc-tabs{display:flex;align-items:center;gap:3px;flex:1 1 0;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;}
  .sc-tabs::-webkit-scrollbar{height:0;width:0;display:none;}
  .sc-tab{font-size:12.5px;flex:0 0 auto;max-width:170px;overflow:hidden;}
  .sc-tab>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sc-tabnav,.sc-tabmenu,.sc-tab-add{flex:0 0 auto;}
  .sc-tabnav{display:none;}                     /* JS yalnız taşma varsa gösterir */
  .sc-tabnav[disabled]{opacity:.35;cursor:default;}
  .sc-tabn{font-size:9.5px;font-weight:700;margin-left:1px;color:hsl(var(--muted-foreground));}
  .sc-tabmenu{width:auto!important;padding:0 5px!important;gap:1px;min-width:0;}
  .sc-tabcur{display:none;}
  /* DAR EKRAN: şeride ~160px kalınca 10 sekme sığmaz → şerit "ekran seçici" düğmesine katlanır.
     Aktif ekranın adı düğmede yazar (aktif her zaman görünür), diğerleri ⌄ listesinden açılır. */
  .sc-tabwrap.mini .sc-tabs,.sc-tabwrap.mini .sc-tabnav{display:none!important;}
  .sc-tabwrap.mini .sc-tabmenu{flex:1 1 auto;justify-content:flex-start;padding:0 7px!important;}
  .sc-tabwrap.mini .sc-tabcur{display:inline;font-size:12.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 3px;}
  /* Profesyonel editÃ¶r dÃ¼zeni: Ã¼st menÃ¼ + sol araÃ§ kutusu + tuval + saÄŸ Ã¶zellik.
     RENK YOK â€” editÃ¶r uygulamanÄ±n 4 temasÄ±nÄ± (light/dark/marine/gruvbox) birebir takip eder;
     burada yalnÄ±z YOÄUNLUK/YERLEÅÄ°M tanÄ±mlanÄ±r, tÃ¼m renkler tema deÄŸiÅŸkenlerinden gelir. */
  .sc-editor{display:flex;flex-direction:column;height:calc(100vh - 120px);border:1px solid hsl(var(--border));border-radius:12px;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));}
  .sc-editor .kg-btn{padding:4px 9px;font-size:12.5px;border-radius:6px;}
  .sc-editor .kg-btn.danger{color:hsl(var(--destructive,0 72% 51%));}
  /* Alt durum Ã§ubuÄŸu â€” zoom Â· imleÃ§ (world) Â· seÃ§ili Â· nesne + ipucu (referans editÃ¶rdeki gibi) */
  .sc-status{display:flex;gap:16px;align-items:center;padding:5px 12px;background:hsl(var(--card));border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px;font-variant-numeric:tabular-nums;flex-shrink:0;}
  .sc-status b{color:hsl(var(--foreground));font-weight:500;}
  .sc-status .sc-status-hint{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sc-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:8px 12px 6px;scrollbar-width:thin;}
  .sc-toolbar::-webkit-scrollbar{height:6px;}
  .sc-toolbar>*{flex:0 0 auto;}
  /* Ã‡alÄ±ÅŸtÄ±r: kenarlÄ±ksÄ±z tam ekran + saÄŸ Ã¼stte yÃ¼zen cam kontrol paneli (boÅŸtayken sÃ¶nÃ¼k, hover'da belirir) */
  .sc-editor-run{border:0;border-radius:0;}
  .sc-runbar{position:absolute;bottom:18px;right:18px;z-index:250;display:flex;align-items:center;gap:8px;padding:6px;border-radius:14px;background:hsl(var(--card)/.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--border)/.8);box-shadow:0 10px 34px rgba(0,0,0,.22);opacity:.9;transition:opacity .18s ease;max-width:calc(100% - 36px);overflow-x:auto;}
  .sc-runbar>*{pointer-events:auto;}  /* çubuk üstünde tıklama daima çalışsın (arka plan/widget geçirmesin) */
  .sc-runbar:hover{opacity:1;}
  .sc-runbar-sp{width:1px;align-self:stretch;background:hsl(var(--border)/.6);margin:2px 0;flex:0 0 auto;}
  .sc-rungroup{display:flex;align-items:center;gap:8px;}
  .sc-runset-wrap{position:relative;display:inline-flex;}
  .sc-runset{position:absolute;bottom:calc(100% + 10px);right:0;z-index:260;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,.28);padding:10px 12px;min-width:210px;display:flex;flex-direction:column;gap:5px;}
  .sc-runset-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:hsl(var(--muted-foreground));margin-top:3px;}
  .sc-runset .kg-seg{display:flex;flex-wrap:wrap;gap:3px;}
  .sc-more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:2px 8px 4px;}
  .sc-more-grid .kg-btn{justify-content:center;padding:6px;}
  .sc-runbar>*{flex:0 0 auto;}
  /* ÇALIŞTIR ÇUBUĞU: sekme şeridi taştığında Alarm/Grafik/⚙/Düzenle düğmeleri çubuğun
     dışında kalıyordu. Yalnız şerit esner (aşağıdaki 2-class kurallar .sc-runbar>* ve
     .sc-rungroup>* tekil kurallarını özgüllükle ezer), düğmeler sabit kalır. */
  .sc-rungroup>*{flex:0 0 auto;}
  .sc-runbar>.sc-rungroup{flex:1 1 auto;min-width:0;}
  .sc-rungroup>.sc-tabwrap{flex:1 1 auto;min-width:64px;max-width:52%;}
  .sc-run-sep{width:1px;align-self:stretch;background:hsl(var(--border));margin:3px 1px;}
  .sc-tbgrp{display:flex;gap:3px;align-items:center;padding-left:8px;margin-left:2px;border-left:1px solid hsl(var(--border));}
  .sc-body{flex:1;display:flex;min-height:0;}
  .sc-left{width:184px;flex-shrink:0;overflow-y:auto;border-right:1px solid hsl(var(--border));padding:8px;background:hsl(var(--muted)/.25);}
  .sc-split{flex:0 0 6px;cursor:col-resize;background:hsl(var(--border)/.4);transition:background .12s;}
  .sc-split:hover{background:hsl(var(--primary)/.5);}
  .sc-toolcat{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:hsl(var(--muted-foreground));margin:10px 2px 5px;}
  .sc-toolcat:first-child{margin-top:2px;}
  .sc-toolgrid{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
  /* Akordion palet (gerçek SCADA editörü tarzı) + arama */
  .sc-palsearch-wrap{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:6px;padding:7px 8px;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));}
  .sc-palsearch-wrap i{color:hsl(var(--muted-foreground));font-size:14px}
  .sc-palsearch{flex:1;min-width:0;border:1px solid hsl(var(--border));border-radius:7px;padding:5px 8px;font-size:12px;background:hsl(var(--background));color:hsl(var(--foreground));}
  .sc-acc{border-bottom:1px solid hsl(var(--border));}
  .sc-acc-h{display:flex;align-items:center;gap:7px;padding:8px 10px;cursor:pointer;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:hsl(var(--muted-foreground));user-select:none;}
  .sc-acc-h:hover{background:hsl(var(--muted)/.5);color:hsl(var(--foreground));}
  .sc-acc-h i:first-child{font-size:14px;color:hsl(var(--primary));}
  .sc-acc-car{margin-left:auto;font-size:13px;transition:transform .15s;}
  .sc-acc:not(.open) .sc-acc-car{transform:rotate(-90deg);}
  .sc-acc-body{display:none;padding:2px 8px 10px;}
  .sc-acc.open .sc-acc-body{display:block;}
  .sc-acc.open .sc-acc-body.sc-toolgrid{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
  .sc-tool{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--card));cursor:pointer;color:hsl(var(--foreground));font-size:10px;transition:border-color .12s,background .12s;}
  .sc-tool i{font-size:18px;color:hsl(var(--primary));}
  .sc-tool:hover{border-color:hsl(var(--primary));background:hsl(var(--primary)/.08);}
  .sc-tool span{max-width:100%;white-space:normal;line-height:1.1;text-align:center;word-break:break-word;}
  .sc-tool{min-height:52px;justify-content:center;}
  .sc-subcount{margin-left:auto;flex:0 0 auto;font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));}
  .sc-objtree{display:flex;flex-direction:column;gap:0;max-height:46vh;overflow-y:auto;scrollbar-width:thin;border:1px solid hsl(var(--border));border-radius:8px;padding:3px;background:hsl(var(--card));}
  .sc-objsearch{display:flex;align-items:center;gap:5px;margin:2px 0 4px;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--muted)/.4);}
  .sc-objsearch i{color:hsl(var(--muted-foreground));font-size:12px;flex-shrink:0;}
  .sc-objsearch input{flex:1;border:0;background:transparent;outline:none;font-size:12px;color:inherit;min-width:0;}
  .sc-in.sc-hl{outline:2px solid #f59e0b;outline-offset:2px;box-shadow:0 0 0 4px rgba(245,158,11,.25);border-radius:3px;}
  .sc-objrow{display:flex;align-items:center;gap:7px;padding:0 7px;min-height:26px;border-radius:6px;cursor:pointer;font-size:12px;white-space:nowrap;overflow:hidden;}
  .sc-objrow+.sc-objrow,.sc-objgrouphd+.sc-objrow{border-top:1px solid hsl(var(--border)/.5);}
  .sc-objrow span{overflow:hidden;text-overflow:ellipsis;}
  .sc-objrow i{color:hsl(var(--primary));flex-shrink:0;}
  .sc-objrow:hover{background:hsl(var(--muted));}
  .sc-objrow.sel{background:hsl(var(--primary)/.16);font-weight:600;}
  .sc-objrow.ing{padding-left:20px;}                       /* grup üyesi: girintili */
  /* İKİ SATIR: ad üstte tam okunur, tag/tür altta küçük. Tek satırdayken ikisi genişlik için
     yarışıyordu ve dar panelde ikisi de "D…" gibi kırpılıyordu (kullanılamaz hâldeydi). */
  .sc-objrow{min-height:34px;}
  .sc-objrow .sc-objtxt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;line-height:1.25;}
  .sc-objrow .sc-objname{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sc-objrow .sc-objsub{display:block;font-size:10px;color:hsl(var(--muted-foreground));font-family:ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sc-objrow .sc-objtag{font-size:10px;color:hsl(var(--muted-foreground));font-family:ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;max-width:90px;flex:0 1 auto;}
  /* Animasyon rozeti: hangi objede kural var, bir bakışta belli olsun */
  .sc-objrow .sc-objanim{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;font-size:10px;font-weight:700;
    color:hsl(var(--primary));background:hsl(var(--primary)/.13);border-radius:999px;padding:1px 6px;}
  .sc-objrow .sc-objanim i{font-size:11px;}
  /* SVG içi parça satırı (animasyonlu ya da kaldırılmış parçalar) */
  .sc-objrow.sc-objpart{padding-left:28px;min-height:30px;background:hsl(var(--muted)/.35);}
  .sc-objrow.sc-objpart .sc-objname{font-size:11.5px;}
  .sc-objrow .sc-objtype{color:hsl(var(--primary));flex-shrink:0;font-size:14px;}
  /* ── ANİMASYON LİSTESİ PANELİ (⚡): ekrandaki tüm animasyonlar; tıkla → tuvalde göster ── */
  .sc-animpanel{position:fixed;right:302px;top:104px;z-index:890;width:308px;max-height:min(66vh,580px);
    display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--card));color:hsl(var(--foreground));
    border:1px solid hsl(var(--border));border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.28);}
  .sc-animpanel-hd{display:flex;align-items:center;gap:7px;padding:9px 8px 9px 12px;font-size:12.5px;font-weight:700;
    border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted)/.35);}
  .sc-animpanel-hd>i{color:hsl(var(--primary));font-size:15px;}
  .sc-animpanel-hd .kg-btn{margin-left:auto;}
  .sc-animpanel-n{font-size:10.5px;font-weight:700;color:hsl(var(--primary));background:hsl(var(--primary)/.13);
    border-radius:999px;padding:1px 8px;}
  .sc-animpanel-bd{overflow-y:auto;scrollbar-width:thin;padding:4px;}
  .sc-animpanel-empty{padding:18px 12px;text-align:center;font-size:11.5px;color:hsl(var(--muted-foreground));line-height:1.6;}
  .sc-animrow{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;cursor:pointer;}
  .sc-animrow+.sc-animrow{border-top:1px solid hsl(var(--border)/.45);}
  .sc-animrow:hover{background:hsl(var(--muted)/.6);}
  .sc-animrow-ic{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;
    font-size:14px;color:hsl(var(--primary));background:hsl(var(--primary)/.12);border-radius:7px;}
  .sc-animrow-tx{flex:1 1 auto;min-width:0;line-height:1.3;}
  .sc-animrow-nm{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sc-animrow-part{color:hsl(var(--primary));font-weight:700;}
  .sc-animrow-sub{font-size:10.5px;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sc-animrow-sub b{color:hsl(var(--foreground)/.8);font-weight:600;}
  .sc-animrow-del{flex-shrink:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;
    width:24px;height:24px;border-radius:6px;display:none;align-items:center;justify-content:center;font-size:13px;}
  .sc-animrow:hover .sc-animrow-del{display:flex;}
  .sc-animrow-del:hover{color:#e5484d;background:#e5484d1a;}
  /* GİZLE animasyonu tasarımda: obje kaybolmaz — soluk + kesikli çerçeve (çalıştırmada gerçekten gizlenir) */
  .sc-anim-hidden{opacity:.28!important;outline:1px dashed hsl(var(--muted-foreground)/.7);outline-offset:2px;}
  .sc-animrow-tpl{flex-shrink:0;font-size:9.5px;font-weight:700;letter-spacing:.3px;color:hsl(var(--muted-foreground));
    background:hsl(var(--muted));border-radius:999px;padding:2px 7px;text-transform:uppercase;}
  /* ── ANİMASYON KURAL KARTLARI (sağ panel) — tasarım diliyle uyumlu, ferah ── */
  .sc-anim-card{border:1px solid hsl(var(--border));border-left:3px solid hsl(var(--primary)/.55);border-radius:10px;
    padding:10px 11px;margin-bottom:9px;background:hsl(var(--card));box-shadow:0 1px 3px rgba(0,0,0,.06);}
  .sc-anim-head{display:flex;gap:7px;align-items:center;}
  .sc-anim-head>i{color:hsl(var(--primary));font-size:15px;flex-shrink:0;}
  .sc-anim-head select{flex:1;font-weight:600;min-width:0;}
  .sc-anim-sum{font-size:11.5px;line-height:1.5;margin:7px 0 3px;padding:6px 9px;border-radius:8px;
    background:hsl(var(--primary)/.08);border:1px solid hsl(var(--primary)/.16);}
  .sc-anim-desc{font-size:10px;line-height:1.4;margin:0 0 2px;color:hsl(var(--muted-foreground));}
  .sc-anim-sect{font-size:10px;font-weight:700;color:hsl(var(--muted-foreground));text-transform:uppercase;
    letter-spacing:.5px;margin:10px 0 5px;display:flex;align-items:center;gap:6px;}
  .sc-anim-sect::after{content:"";flex:1;height:1px;background:hsl(var(--border)/.7);}
  .sc-anim-cond{border:1px solid hsl(var(--border));border-radius:8px;padding:8px 9px;background:hsl(var(--muted)/.25);}
  .sc-objrow .sc-objgrp{opacity:.5;font-size:11px;flex-shrink:0;}
  .sc-objrow.hid .sc-objname{opacity:.5;font-style:italic;}
  .sc-objrow .sc-objacts{display:flex;gap:1px;flex-shrink:0;opacity:0;transition:opacity .12s;margin-left:auto;}
  /* Grup başlığı (katlanabilir): parçalanmış sembol vb. tek satırda toplanır */
  .sc-objgrouphd{display:flex;align-items:center;gap:6px;padding:0 7px;min-height:26px;cursor:pointer;font-size:12px;font-weight:600;border-radius:6px;background:hsl(var(--muted)/.5);white-space:nowrap;overflow:hidden;}
  .sc-objgrouphd:hover{background:hsl(var(--muted));}
  .sc-objgrouphd .sc-objcar{transition:transform .15s;color:hsl(var(--muted-foreground));flex-shrink:0;}
  .sc-objgrouphd.open .sc-objcar{transform:rotate(90deg);}
  .sc-objgrouphd .sc-objname{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;}
  .sc-objrow:hover .sc-objacts,.sc-objrow.sel .sc-objacts{opacity:1;}
  .sc-objbtn{border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;padding:2px 3px;border-radius:4px;display:flex;}
  .sc-objbtn:hover{background:hsl(var(--muted));color:hsl(var(--foreground));}
  .sc-objbtn.on{color:hsl(var(--primary));}
  .sc-center{flex:1;position:relative;background:hsl(var(--muted)/.35);min-width:0;overflow:hidden;}
  .sc-viewport{position:absolute;inset:0;overflow:hidden;background-color:hsl(var(--muted)/.55);background-image:radial-gradient(hsl(var(--border)/.55) 1px,transparent 1px);background-size:22px 22px;}
  /* Ã‡alÄ±ÅŸtÄ±r zemini: yumuÅŸak vinyet â†’ beyaz sayfa "yÃ¼zer", boÅŸ ekran bile kasÄ±tlÄ±/profesyonel durur */
  .sc-viewport.run{background:radial-gradient(130% 100% at 50% 22%, hsl(var(--muted)/.45), hsl(var(--muted)/.9));background-image:none;}
  /* YENÄ° Ã‡EKÄ°RDEK â€” screen-space overlay (handle/seÃ§im/dÃ¶ndÃ¼rme/marquee): SVG dÃ¼nya transform'unu ATLAR */
  #scWorld foreignObject > .scx-in{overflow:hidden}
  /* SVG semboller taşabilir: tüm-obje dönüşünde köşeler kutuda kırpılıp "yarım" görünüyordu */
  #scWorld foreignObject > .scx-in.scx-free{overflow:visible}
  /* Döndürülen HER widget kırpılmaz — köşeler/uzun kenarlar kutu dışına taşsa da görünür.
     Sınıf 'scx-rotated' (döndürme tutamağı '.scx-rot' ile ÇAKIŞMASIN — yoksa tutamağın
     border-radius:50%+border'ı widget'a sızıp etrafında yuvarlak çizerdi). */
  #scWorld foreignObject > .scx-in.scx-rotated{overflow:visible}
  .scx-selbox{border:1.5px solid hsl(var(--primary))}
  .scx-grpbox{border:1px dashed hsl(var(--primary));background:hsl(var(--primary)/.06)}
  .scx-h{width:10px;height:10px;margin:-5px 0 0 -5px;background:hsl(var(--background));border:1.5px solid hsl(var(--primary));border-radius:2px;pointer-events:auto;z-index:4}
  .scx-h-nw,.scx-h-se{cursor:nwse-resize}.scx-h-ne,.scx-h-sw{cursor:nesw-resize}
  .scx-h-n,.scx-h-s{cursor:ns-resize}.scx-h-e,.scx-h-w{cursor:ew-resize}
  .scx-rot{width:12px;height:12px;margin:-6px 0 0 -6px;background:hsl(var(--background));border:1.5px solid hsl(var(--primary));border-radius:50%;pointer-events:auto;cursor:grab;z-index:4}
  .scx-rotline{height:0;border-top:1px solid hsl(var(--primary)/.6);transform-origin:0 0}
  .scx-marquee{border:1px solid hsl(var(--primary));background:hsl(var(--primary)/.12);pointer-events:none}
  .scx-guide{position:absolute;background:#f43f5e;pointer-events:none;z-index:5}
  .scx-guide-v{top:0;bottom:0;width:1px}
  .scx-guide-h{left:0;right:0;height:1px}
  /* â”€â”€ endüstriyel standart tarzÄ± Property Editor: sol grup navigasyonu + saÄŸ alan bÃ¶lmesi â”€â”€ */
  .kpe{display:flex;min-height:320px;max-height:62vh;border:1px solid hsl(var(--border));border-radius:10px;overflow:hidden;margin-top:2px}
  .kpe-nav{width:190px;flex-shrink:0;border-right:1px solid hsl(var(--border));background:hsl(var(--muted)/.35);overflow-y:auto;padding:6px}
  .kpe-nav-h{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:hsl(var(--muted-foreground));padding:4px 8px 6px}
  .kpe-nav-it{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:12.5px}
  .kpe-nav-it>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .kpe-nav-it:hover{background:hsl(var(--muted))}
  .kpe-nav-it.on{background:hsl(var(--primary)/.14);font-weight:600;box-shadow:inset 2px 0 0 hsl(var(--primary))}
  .kpe-navhelp{opacity:0;font-size:12px;color:hsl(var(--muted-foreground));cursor:help;flex-shrink:0;transition:opacity .12s}
  .kpe-nav-it:hover .kpe-navhelp,.kpe-nav-it.on .kpe-navhelp{opacity:.55}
  .kpe-navhelp:hover{opacity:1 !important;color:hsl(var(--primary))}
  .kpe-pane{flex:1;overflow-y:auto;padding:10px 14px;min-width:0}
  .kpe-title{display:flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:hsl(var(--muted-foreground));margin:2px 0 10px;padding-bottom:6px;border-bottom:1px solid hsl(var(--border))}
  .kpe-titlehelp{font-size:13px;color:hsl(var(--muted-foreground));cursor:help;margin-left:7px;font-weight:400}
  .kpe-titlehelp:hover{color:hsl(var(--primary))}
  /* â”€â”€ Kanal/cihaz haberleÅŸme durum noktasÄ± (aÄŸaÃ§) â€” _System._NoError karÅŸÄ±lÄ±ÄŸÄ± â”€â”€ */
  .kg-dot{width:8px;height:8px;border-radius:50%;background:hsl(var(--muted-foreground)/.35);flex-shrink:0;display:inline-block}
  .kg-dot.ok{background:#22c55e;box-shadow:0 0 5px #22c55e88}
  .kg-dot.err{background:#ef4444;box-shadow:0 0 5px #ef444488}
  .kg-dot.warn{background:#f59e0b}
  /* â”€â”€ SCADA sidebar ekran gÃ¶stergeleri (ikon+tag, canlÄ± renklenir) â”€â”€ */
  .sc-ind{font-size:13px;flex-shrink:0;color:hsl(var(--muted-foreground)/.6)}
  .sc-ind.on{color:#22c55e}.sc-ind.off{color:#ef4444}
  /* â”€â”€ EditÃ¶r inceliÄŸi: panel/palet/araÃ§ Ã§ubuÄŸu (profesyonel yoÄŸunluk) â”€â”€ */
  .sc-editor .sc-toolbar .kg-btn{padding:0 8px;height:28px;display:inline-flex;align-items:center;gap:5px}
  .sc-editor .sc-toolbar .kg-iconbtn{width:28px;justify-content:center;padding:0}
  .sc-editor .sc-tbgrp{gap:2px;padding-left:6px;margin-left:4px}
  .sc-editor .kg-btn:disabled{opacity:.35;cursor:default}
  /* saÄŸ Ã¶zellik paneli */
  .sc-editor .sc-right{background:hsl(var(--card));padding:0}
  .sc-editor .sc-right .kg-card{border:0;border-radius:0;background:transparent;box-shadow:none;padding:12px 12px 20px!important}
  .sc-editor .sc-right .kg-card-head h3{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:7px}
  .sc-editor .sc-right .kg-card-head h3 i{color:hsl(var(--primary));font-size:15px}
  .sc-editor .kg-prow{display:flex;align-items:center;gap:6px;margin-bottom:7px}
  .sc-editor .kg-prow label{width:96px!important;font-size:11px!important;color:hsl(var(--muted-foreground))}
  .sc-editor .kg-prow input:not([type=color]):not([type=checkbox]),.sc-editor .kg-prow select{flex:1;min-width:0;padding:5px 8px;font-size:12.5px;border-radius:6px}
  .sc-editor .kg-prow input[type=color]{width:46px;height:26px;padding:2px;border-radius:6px;flex:0 0 auto}
  .sc-editor .kg-pgroup{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:hsl(var(--muted-foreground));margin:14px -12px 8px;padding:8px 12px 0;border-top:1px solid hsl(var(--border))}
  /* geometri grid'i (X/Y/W/H/âˆ ) */
  .scx-geo{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:4px}
  .scx-cell{display:flex;flex-direction:column;gap:2px}
  .scx-cell span{font-size:9.5px;font-weight:700;letter-spacing:.4px;color:hsl(var(--muted-foreground));text-align:center}
  .scx-cell input{width:100%;box-sizing:border-box;padding:4px 2px;font-size:12px;text-align:center;border-radius:6px;font-variant-numeric:tabular-nums}
  /* sol palet: 2 sÃ¼tun thumbnail'li kart grid'i (referans editÃ¶r gÃ¶rÃ¼nÃ¼mÃ¼) */
  .sc-editor .sc-left{background:hsl(var(--card));border-right:1px solid hsl(var(--border))}
  .sc-editor .sc-toolgrid{grid-template-columns:1fr 1fr;gap:6px}
  .sc-editor .sc-tool{min-height:64px;padding:7px 4px 5px;gap:4px;border-radius:8px;background:hsl(var(--muted)/.45);border:1px solid hsl(var(--border)/.6);cursor:grab;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:border-color .12s,background .12s,transform .12s,box-shadow .12s}
  .sc-editor .sc-tool:active{cursor:grabbing}
  .sc-editor .sc-tool i{font-size:20px}
  .sc-editor .sc-tool span{font-size:9.5px;color:hsl(var(--muted-foreground))}
  .sc-editor .sc-tool:hover{border-color:hsl(var(--primary)/.7);background:hsl(var(--primary)/.08);transform:translateY(-1px);box-shadow:0 3px 10px hsl(var(--primary)/.18)}
  .sc-editor .sc-tool:hover span{color:hsl(var(--foreground))}
  .sc-thumb{height:32px;display:flex;align-items:center;justify-content:center;pointer-events:none;color:hsl(var(--foreground)/.8)}
  .sc-thumb svg{width:32px;height:32px}
  /* saÄŸ panel obje baÅŸlÄ±ÄŸÄ± (ikon kutusu + ad + tip) */
  .sc-objhead{display:flex;align-items:center;gap:9px;padding:0 0 10px;margin-bottom:8px;border-bottom:1px solid hsl(var(--border))}
  .sc-objhead-ico{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:8px}
  .sc-objhead-ico .sc-thumb{height:24px}.sc-objhead-ico .sc-thumb svg{width:24px;height:24px}
  .sc-objhead-nm{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sc-objhead-ty{font-size:10.5px;color:hsl(var(--muted-foreground));font-family:ui-monospace,Menlo,Consolas,monospace}
  /* durum Ã§ubuÄŸu grid/snap dÃ¼ÄŸmesi */
  .sc-status-tgl{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:11px;padding:2px 8px;border-radius:5px;border:1px solid hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}
  .sc-status-tgl.on{color:hsl(var(--primary));border-color:hsl(var(--primary)/.5);background:hsl(var(--primary)/.10)}
  .sc-canvas{will-change:transform;}
  .sc-zoomctl{position:absolute;left:12px;bottom:12px;display:flex;gap:4px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:9px;padding:3px;box-shadow:0 3px 12px rgba(0,0,0,.18);z-index:5;}
  .sc-zoomctl .kg-btn{font-variant-numeric:tabular-nums;min-width:34px;}
  .sc-hint{position:absolute;right:12px;bottom:12px;font-size:11px;color:hsl(var(--muted-foreground));background:hsl(var(--card)/.85);border:1px solid hsl(var(--border));border-radius:7px;padding:4px 9px;pointer-events:none;z-index:5;}
  .sc-run-full{position:fixed !important;inset:0;z-index:300;height:100vh !important;border-radius:0;border:0;}
  /* SCADA TAM EKRAN (operatör kiosk): uygulama çerçevesini gizle → çalıştır görünümü tüm pencereyi kaplar */
  .kg-shell.sc-fs .kg-sidebar,.kg-shell.sc-fs .kg-topbar,.kg-shell.sc-fs #capBanner{display:none !important}
  .kg-shell.sc-fs .kg-content{padding:0 !important}
  .kg-shell.sc-fs .kg-navscrim{display:none !important}
  /* MergenHub Mobil gömülü görünümü (?mview=scada): yalnız operatör ekranı — çalıştırma çubuğu, ekran listesi ve "Yeni Ekran" yok */
  body.mh-embed .sc-runbar,body.mh-embed .sc-list,body.mh-embed .kg-card-head .kg-btn,body.mh-embed #aiDock,body.mh-embed .ai-fab{display:none !important}
  .sc-tool-on{border-color:hsl(var(--primary)) !important;background:hsl(var(--primary)/.16) !important;}
  .sc-flowpath{animation:sc-flowdash 1.6s linear infinite;}
  @keyframes sc-flowdash{to{stroke-dashoffset:-100;}}
  .sc-right{width:288px;flex-shrink:0;overflow-y:auto;border-left:1px solid hsl(var(--border));padding:10px;}
  /* İllustrator tarzı panel aç/kapa sekmeleri — tuval kenarında ince, dikey ortalı şerit. */
  .sc-left,.sc-right,#scPanel{transition:width .16s ease;}
  .sc-paltab{position:absolute;top:50%;transform:translateY(-50%);z-index:30;width:15px;height:48px;display:flex;
    align-items:center;justify-content:center;padding:0;cursor:pointer;background:hsl(var(--card));
    border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));box-shadow:0 1px 5px rgba(0,0,0,.12);
    transition:background .12s,color .12s,border-color .12s;opacity:.72;}
  .sc-paltab:hover{opacity:1;background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary));}
  .sc-paltab i{font-size:12px;}
  .sc-paltab-l{left:0;border-left:0;border-radius:0 8px 8px 0;}
  .sc-paltab-r{right:0;border-right:0;border-radius:8px 0 0 8px;}
  .kg-node .sc-treebtn{padding:1px 5px;opacity:0;transition:opacity .12s;}
  .kg-node:hover .sc-treebtn{opacity:.75;}
  .kg-node .sc-treebtn:hover{opacity:1;}
  .sc-resize{position:absolute;right:-4px;bottom:-4px;width:12px;height:12px;background:hsl(var(--primary));border:2px solid hsl(var(--card));border-radius:3px;cursor:nwse-resize;}
  .tb-row:hover{background:hsl(var(--muted)/.6);}
  .tb-row.sel{background:hsl(var(--primary)/.16);}
  .tb-search{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:0 12px;height:42px;border:2px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card));transition:border-color .15s,box-shadow .15s;}
  .tb-search:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.15);}
  .tb-search i.ph-magnifying-glass{font-size:18px;color:hsl(var(--muted-foreground));}
  .tb-search input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:hsl(var(--foreground));height:100%;}
  .tb-search .tb-clear{border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;padding:4px;border-radius:6px;display:flex;}
  .tb-search .tb-clear:hover{background:hsl(var(--muted));color:hsl(var(--foreground));}
  .kg-alarmbell{position:relative;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:9px;width:34px;height:34px;cursor:pointer;color:hsl(var(--muted-foreground));font-size:17px;display:inline-flex;align-items:center;justify-content:center;}
  .kg-alarmbell:hover{color:hsl(var(--foreground));border-color:hsl(var(--primary));}
  .kg-alarmbell.has-alarms{color:#e5484d;border-color:#e5484d;animation:kg-bell 1.4s ease-in-out infinite;}
  @keyframes kg-bell{0%,100%{transform:rotate(0)}10%{transform:rotate(12deg)}20%{transform:rotate(-10deg)}30%{transform:rotate(6deg)}40%{transform:rotate(0)}}
  .kg-alarmcount{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;background:#e5484d;color:#fff;border-radius:9px;font-size:11px;font-weight:700;display:none;align-items:center;justify-content:center;line-height:17px;}
  .kg-alarmcount.show{display:flex;}
  .tag-alarm{color:#e5484d;font-size:13px;margin-left:4px;vertical-align:middle;cursor:pointer;}
  .tag-alarm.ack{color:#f59e0b;}
  /* Tanımlı ama AKTİF OLMAYAN alarm: soluk zil (tıkla → tanımı düzenle) */
  .tag-alarm.def{color:hsl(var(--muted-foreground));animation:none;}
  .tag-alarm.def:hover{color:hsl(var(--primary));}
  .tag-write{opacity:0;color:hsl(var(--primary));cursor:pointer;font-size:15px;padding:3px;border-radius:6px;transition:opacity .12s,background .12s;}
  tr:hover .tag-write{opacity:.75;}
  .tag-write:hover{opacity:1!important;background:hsl(var(--primary)/.14);}
  .val-w{cursor:cell;} .val-w:hover{outline:1px dashed hsl(var(--primary)/.5);outline-offset:-2px;border-radius:4px;}
  /* İfade editörü — TEMA UYUMLU (eski hardcoded koyu zemin açık temada yabancıydı) */
  .adf-wrap{display:flex;align-items:stretch;border:1.5px solid hsl(var(--border));border-radius:9px;overflow:hidden;background:hsl(var(--card));}
  .adf-wrap:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.15);}
  .adf-fx{display:flex;align-items:center;padding:0 10px;background:hsl(var(--primary)/.14);color:hsl(var(--primary));font-weight:700;font-style:italic;font-family:ui-monospace,monospace;font-size:13px;}
  /* Girdi + renklendirme katmanı: input yazısı saydam (caret görünür), altındaki .adf-hl
     aynı metni token renkleriyle çizer — {Tag} referansı/fonksiyon/sayı renklenir. */
  .adf-editor{position:relative;flex:1;min-width:0;}
  /* ÇOK SATIRLI formül editörü: textarea + arkasında renklendirme katmanı. İki katman
     PİKSEL PİKSEL aynı (font/padding/line-height/sarma) olmalı — caret kayması olmasın. */
  /* SARMA: kelime ortasından KIRMA (break-all tag path'lerini paramparça ediyordu) —
     boşluk/operatörde sar; ancak satıra sığmayan TEK token varsa mecburen kır (anywhere). */
  .adf-input{display:block;width:100%;box-sizing:border-box;border:none;outline:none;background:transparent;color:transparent;caret-color:hsl(var(--foreground));font-family:ui-monospace,'Cascadia Code',Consolas,monospace;font-size:14px;line-height:1.65;padding:11px 13px;position:relative;z-index:1;resize:none;min-height:110px;max-height:340px;overflow:auto;white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere;}
  .adf-input::placeholder{color:hsl(var(--muted-foreground));}
  .adf-input::selection{background:hsl(var(--primary)/.25);}
  .adf-hl{position:absolute;inset:0;padding:11px 13px;font-family:ui-monospace,'Cascadia Code',Consolas,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere;overflow:hidden;pointer-events:none;color:hsl(var(--foreground));}
  .adf-fx{align-items:flex-start !important;padding-top:12px !important;}
  .adf-tag{align-items:flex-start !important;padding-top:12px !important;}
  /* Tag referansı hap görünümü (padding YOK — metin metriği textarea ile birebir kalmalı) */
  .adf-ref{background:hsl(var(--primary)/.10);border-radius:4px;}
  .adf-op{color:#d97706;font-weight:600;}
  .adf-par{color:hsl(var(--muted-foreground));}
  .adf-ref{color:hsl(var(--primary));font-weight:600;}
  .adf-fn{color:hsl(265 70% 62%);font-weight:600;}
  .adf-num{color:hsl(199 80% 45%);}
  .adf-tag{border:none;border-left:1px solid hsl(var(--border));background:hsl(var(--primary)/.10);color:hsl(var(--primary));cursor:pointer;padding:0 12px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap;}
  .adf-tag:hover{background:hsl(var(--primary)/.2);}
  .adf-tag i{font-size:16px;}
  .adf-ops{font-size:11px;color:hsl(var(--muted-foreground));margin-top:7px;display:flex;flex-wrap:wrap;gap:4px;align-items:center;line-height:1.9;}
  .adf-ops code{background:hsl(var(--muted));padding:3px 9px;border-radius:6px;font-size:12px;cursor:pointer;user-select:none;border:1px solid hsl(var(--border)/.6);}
  .adf-ops code:hover{background:hsl(var(--primary)/.15);color:hsl(var(--primary));border-color:hsl(var(--primary)/.5);}
  /* Formül "klavyesi": operatör + ETİKETLİ fonksiyon grupları (27 çip tek dev satır yerine okunur paneller) */
  .adf-kb{margin-top:8px;border:1px solid hsl(var(--border)/.7);border-radius:10px;background:hsl(var(--muted)/.25);padding:8px 10px;display:flex;flex-direction:column;gap:5px;}
  .adf-kbrow{display:flex;align-items:baseline;gap:10px;}
  .adf-kblbl{flex:0 0 84px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:hsl(var(--muted-foreground));text-align:right;}
  .adf-kbchips{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0;}
  .adf-kb code{background:hsl(var(--card));padding:3px 9px;border-radius:6px;font-size:12px;cursor:pointer;user-select:none;border:1px solid hsl(var(--border)/.6);font-family:ui-monospace,'Cascadia Code',Consolas,monospace;}
  .adf-kb code:hover{background:hsl(var(--primary)/.12);color:hsl(var(--primary));border-color:hsl(var(--primary)/.5);}
  /* Klavye içi fonksiyon araması */
  .adf-kbq{flex:1;min-width:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:inherit;font-size:12px;padding:5px 9px;outline:none;}
  .adf-kbq:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/.12);}
  /* Otomatik tamamlama: editörün hemen altında imza + açıklama listesi (↑/↓ + Enter/Tab) */
  .adf-ac{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:3px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.18);overflow:hidden;max-height:240px;overflow-y:auto;}
  .adf-ac-it{display:flex;align-items:baseline;gap:10px;padding:6px 11px;cursor:pointer;font-size:12px;min-width:0;}
  .adf-ac-it+.adf-ac-it{border-top:1px solid hsl(var(--border)/.4);}
  .adf-ac-it code{font-family:ui-monospace,'Cascadia Code',Consolas,monospace;font-size:12.5px;font-weight:600;color:hsl(265 70% 55%);white-space:nowrap;}
  .adf-ac-it span{color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
  .adf-ac-it.on,.adf-ac-it:hover{background:hsl(var(--primary)/.1);}
  .adf-ac-it.on code{color:hsl(var(--primary));}
  /* Parametre ipucu: imleç fonksiyon parantezi içindeyken imza + aktif argüman vurgusu */
  .adf-sig{display:flex;align-items:baseline;gap:10px;margin-top:6px;padding:6px 11px;border:1px solid hsl(var(--primary)/.3);background:hsl(var(--primary)/.06);border-radius:8px;font-size:12px;min-width:0;}
  .adf-sig code{font-family:ui-monospace,'Cascadia Code',Consolas,monospace;font-size:12.5px;white-space:nowrap;color:hsl(var(--foreground));}
  .adf-sig code b{color:hsl(265 70% 55%);}
  .adf-sig code span.on{background:hsl(var(--primary)/.18);color:hsl(var(--primary));font-weight:700;border-radius:4px;padding:1px 4px;}
  .adf-sig>span{color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
  /* İfade doğrulama sonucu: renkli durum bandı + referans çipleri (küçük gri satır yerine net geri bildirim) */
  .adf-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;padding:7px 10px;border-radius:8px;}
  .adf-status i{font-size:15px;}
  .adf-status.ok{background:hsl(151 55% 42%/.09);border:1px solid hsl(151 55% 42%/.32);color:#2f9e68;}
  .adf-status.err{background:hsl(0 72% 55%/.07);border:1px solid hsl(0 72% 55%/.32);color:#e5484d;}
  .adf-refs{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:2px;min-width:0;}
  .adf-refs code{background:hsl(var(--card));border:1px solid hsl(var(--border)/.7);border-radius:5px;padding:1px 7px;font-size:11px;color:hsl(var(--foreground));font-family:ui-monospace,monospace;}
  /* Alarm rozeti widget'ın İÇİNDE köşede (foreignObject dış-taşmayı kırptığından -8px kesiliyordu);
     halka + gölge ile içerikten ayrışır, üstte kalır. */
  .sc-alarm{position:absolute;top:3px;right:3px;z-index:30;pointer-events:auto;background:#e5484d;color:#fff;border-radius:50%;width:19px;height:19px;display:flex;align-items:center;justify-content:center;font-size:11px;box-shadow:0 0 0 2px hsl(var(--card)),0 1px 5px rgba(0,0,0,.4);cursor:pointer;animation:kg-bell 1.4s ease-in-out infinite;}
  .sc-alarm.ack{background:#f59e0b;animation:none;}
  /* LOG rozeti — loglanan tag'e (alarm rozeti gibi ama sol-üst, mavi, grafik ikonu); tıkla → trend */
  .sc-log{position:absolute;top:3px;left:3px;z-index:30;pointer-events:auto;background:#2563eb;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;box-shadow:0 0 0 2px hsl(var(--card)),0 1px 5px rgba(0,0,0,.35);cursor:pointer;}
  .sc-log:hover{background:#1d4ed8;}
  /* Grup izolasyon modu: grup DIŞI objeler soluk (filter — inline opacity ile çakışmaz). */
  .sc-isodim{filter:opacity(.35) grayscale(.4);}
  /* SCADA harita istasyon pinleri */
  .sc-map-des{position:absolute;inset:0;z-index:3;cursor:crosshair;}
  .sc-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;z-index:4;white-space:nowrap;}
  .sc-pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.5);display:inline-block;flex-shrink:0;}
  .sc-pin-lbl{font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9);background:rgba(0,0,0,.35);padding:1px 5px;border-radius:4px;}
  .sc-pin-val{font-size:11px;font-weight:700;color:#fff;background:hsl(var(--primary));padding:1px 5px;border-radius:4px;font-variant-numeric:tabular-nums;}
  .sc-pin-al .sc-pin-dot{animation:sc-pin-pulse 1s ease-in-out infinite;}
  @keyframes sc-pin-pulse{0%,100%{box-shadow:0 0 0 0 rgba(229,72,77,.7);}50%{box-shadow:0 0 0 8px rgba(229,72,77,0);}}
  /* SCADA bölge ağacı (sidebar) */
  .sc-zdot{width:9px;height:9px;border-radius:50%;background:hsl(var(--muted-foreground)/.45);margin-left:auto;flex-shrink:0;}
  .sc-zdot.on{background:#22c55e;box-shadow:0 0 6px #22c55e88;}
  .sc-zdot.off{background:#ef4444;box-shadow:0 0 6px #ef444488;animation:sc-pin-pulse 1.2s ease-in-out infinite;}
  .sc-zlink{font-size:12px;color:hsl(var(--primary));margin-left:4px;flex-shrink:0;}
  .sc-zkids{margin-left:auto;font-size:10px;font-weight:600;padding:1px 6px;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));flex-shrink:0;}
  .sc-zcfg{margin-left:auto;font-size:12px;color:hsl(var(--muted-foreground));opacity:.55;flex-shrink:0;}
  .sc-znode-empty{opacity:.62;} .sc-znode-empty:hover{opacity:1;} .sc-znode-empty:hover .sc-zcfg{opacity:1;color:hsl(var(--primary));}
  /* Ağaç alarm çanı (ekran/bölge alarmda) */
  .sc-treealarm{margin-left:4px;color:#e5484d;font-size:13px;flex-shrink:0;animation:kg-bell 1.4s ease-in-out infinite;}
  .sc-treealarm.ack{color:#f59e0b;animation:none;}
  /* SCADA trend/log popup */
  .sct-bar{display:flex;align-items:center;gap:8px;justify-content:center;}
  #sctChart svg{cursor:crosshair;}
  /* Koyu temada yüklenen SVG/resim objesini ters çevir (renk uyumu) */
  .dark .sc-invertdark{filter:invert(1) hue-rotate(180deg);}
  /* Bölge editörü */
  .ze-row{display:flex;align-items:center;gap:6px;border-radius:6px;cursor:pointer;}
  .ze-row:hover{background:hsl(var(--muted));} .ze-row.sel{background:hsl(var(--primary)/.14);box-shadow:inset 2px 0 0 hsl(var(--primary));}
  .ze-mini{width:22px;height:22px;opacity:0;transition:opacity .1s;} .ze-row:hover .ze-mini{opacity:.7;} .ze-mini:hover{opacity:1;}
  .ze-icons{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-bottom:8px;}
  /* CHIP tabanlı tag listesi editörü (Data Logger / Data Bridge / her tag-seçim yeri) */
  .tagchips{display:flex;flex-wrap:wrap;gap:6px;max-height:180px;overflow:auto;padding:8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--muted)/.35);min-height:38px;align-content:flex-start;}
  .tagchip{display:inline-flex;align-items:center;gap:6px;background:hsl(var(--primary)/.12);border:1px solid hsl(var(--primary)/.35);color:hsl(var(--foreground));border-radius:14px;padding:3px 6px 3px 10px;font-size:12px;max-width:100%;}
  .tagchip-t{font-family:ui-monospace,monospace;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px;}
  .tagchip-x{border:none;background:hsl(var(--primary)/.2);color:inherit;width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .tagchip-x:hover{background:#e5484d;color:#fff;}
  /* Trend grafiği zoom-sıfırla butonu (zoomdan sonra tam aralığa dön) */
  /* Araç grubu (Sıfırla + PNG + Excel) grafiğin sağ üstünde yan yana durur. */
  .lg-chart-tools{position:absolute;top:8px;right:10px;z-index:3;display:flex;gap:6px;}
  .lg-chart-tools .lg-chart-reset{position:static;}
  .lg-chart-reset{position:absolute;top:8px;right:10px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;font-weight:600;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--card)/.92);color:hsl(var(--foreground));cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.12);}
  .lg-chart-reset:hover{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary));}
  .ze-ic{display:flex;align-items:center;justify-content:center;height:28px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--card));cursor:pointer;color:hsl(var(--foreground));font-size:15px;}
  .ze-ic:hover{background:hsl(var(--muted));} .ze-ic.sel{background:hsl(var(--primary)/.16);border-color:hsl(var(--primary));color:hsl(var(--primary));}
  /* SCADA FACEPLATE — sürüklenebilir + resize edilebilir yüzen pencere */
  .scpop{position:fixed;z-index:5000;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.38);display:flex;flex-direction:column;overflow:hidden;min-width:240px;min-height:160px;}
  .scpop-head{display:flex;align-items:center;gap:8px;padding:8px 10px;background:hsl(var(--muted)/.6);border-bottom:1px solid hsl(var(--border));cursor:move;user-select:none;font-size:13px;font-weight:600;flex-shrink:0;}
  .scpop-head i{color:hsl(var(--primary));} .scpop-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .scpop-x{border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;}
  .scpop-x:hover{background:hsl(var(--destructive,0 72% 51%)/.15);color:hsl(var(--destructive,0 72% 51%));}
  .scpop-body{flex:1;position:relative;overflow:hidden;min-height:0;}
  /* KATMAN DÜZELTMESİ: SCADA parça çerçevesi/izolasyon çubuğu/rozetler z-index
     9995-9999 ile fixed basılıyor; modallar 1000'de kalınca seçim öğeleri modal
     ÜSTÜNDE kalıyordu. Kural: modallar her şeyin üstünde, toast en üstte. */
  #modal .kg-modal-bd{z-index:100000 !important;}
  #modal2 .kg-modal-bd{z-index:100010 !important;}
  #toast{z-index:100020 !important;}
  .scpop-rz{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,hsl(var(--muted-foreground)/.5) 50%);border-bottom-right-radius:12px;}
  /* OPC UA — "Şu an etkin" canlı güvenlik paneli (kaydedilen ≠ çalışan farkı görünür olsun) */
  .ua-live{display:flex;gap:11px;align-items:flex-start;border:1px solid hsl(var(--border));border-radius:11px;padding:11px 13px;margin:0 0 12px;font-size:12.5px;background:hsl(var(--muted)/.25);}
  .ua-live>i{font-size:19px;flex-shrink:0;margin-top:1px;color:hsl(var(--muted-foreground));}
  .ua-live-ok{border-color:hsl(142 60% 40%/.4);background:hsl(142 60% 40%/.07);} .ua-live-ok>i{color:#30a46c;}
  .ua-live-warn{border-color:hsl(38 92% 50%/.5);background:hsl(38 92% 50%/.09);} .ua-live-warn>i{color:#e0a800;}
  .ua-live-hint{font-size:11.5px;margin-top:3px;line-height:1.5;}
  .ua-live-list{margin-top:7px;display:flex;flex-direction:column;gap:5px;}
  .ua-live-ep{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;}
  .ua-live-ep code{font-family:ui-monospace,monospace;font-size:11.5px;background:hsl(var(--muted)/.6);border-radius:5px;padding:1px 7px;}
  .ua-live-pols{display:flex;flex-wrap:wrap;gap:5px;}
  .ua-live-saved{margin-top:9px;padding-top:8px;border-top:1px dashed hsl(var(--border));display:flex;flex-direction:column;gap:5px;}
  .ua-live-sl{font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:hsl(var(--muted-foreground));}

/* Asistan onay bekliyor çubuğu (uygulama genelinde; tıklayınca asistan açılır) */
.mh-approvalbar{position:fixed;left:50%;transform:translateX(-50%);bottom:22px;z-index:9000;display:flex;align-items:center;gap:10px;
  padding:10px 16px;border-radius:999px;cursor:pointer;font-size:13px;color:#fff;background:hsl(32 95% 44%);box-shadow:0 8px 26px rgba(0,0,0,.3)}
.mh-approvalbar b{background:rgba(255,255,255,.2);padding:2px 10px;border-radius:999px;font-weight:600}
.mh-approvalbar:hover{filter:brightness(1.06)}
