/* ==========================================================================
   TERMOTES AI — Soğuk oda yapılandırıcı (ÖN YÜZ-B · §12 sadeleştirme)
   Katmansızdır (app.css'in @layer kurallarının üzerinde). Ekran kuralları
   .ekran-yapilandirici altında; body'ye eklenen teklif belgesi .ty-belge-kap
   önekiyle kapsamlıdır. Tasarım değişkenleri app.css :root'tan gelir (KONTRAT §9).
   §12.4: tek vurgu rengi (--vurgu), mor yalnız AI öğelerinde, mono yalnız sayı ve
   model kodlarında; büyük harfli mikro etiket yok; bölge başına tek ışıyan öğe.
   ========================================================================== */

/* ── Yerleşim ─────────────────────────────────────────────────────────────── */

.ekran-yapilandirici { overflow: hidden; overflow: clip; } /* clip: kapalı AI çekmecesi taşarken odak/scrollIntoView ekranı yatay kaydıramaz */

.ekran-yapilandirici .ty {
  --ty-sol: clamp(330px, 25vw, 372px);
  --ty-ai: 412px;
  --ty-ust-y: 44px;
  --ty-zemin: rgba(6, 12, 24, .72);
  position: relative;
  height: 100%;
  display: grid;
  grid-template-columns: var(--ty-sol) minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  grid-template-areas: "ust ust" "sol orta";
  gap: 10px 12px;
  padding: 8px 14px 14px;
}

/* ── Proje şeridi (tek ince satır) ────────────────────────────────────────── */

.ekran-yapilandirici .ty-ust {
  grid-area: ust;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  height: var(--ty-ust-y);
}
.ekran-yapilandirici .ty-kirinti { display: inline-flex; align-items: center; gap: 6px; flex: none; font-size: 13px; color: var(--soluk); }
.ekran-yapilandirici .ty-kirinti a { color: var(--soluk); border-radius: 6px; padding: 2px 2px; }
.ekran-yapilandirici .ty-kirinti a:hover { color: var(--metin); }
.ekran-yapilandirici .ty-kirinti span { color: rgba(142, 163, 194, .55); }
.ekran-yapilandirici .ty-proje-ad {
  flex: 0 1 auto;
  width: 220px;
  max-width: min(460px, 36vw);
  min-width: 120px;
  height: 32px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  color: #fff;
  font: 600 15px/1 var(--font-baslik);
  letter-spacing: -.01em;
  text-overflow: ellipsis;
}
.ekran-yapilandirici .ty-proje-ad:hover { border-color: var(--kenar); }
.ekran-yapilandirici .ty-proje-ad:focus { border-color: var(--kenar-guclu); background: rgba(5, 11, 22, .7); box-shadow: 0 0 0 3px rgba(56, 225, 255, .12); }
.ekran-yapilandirici .ty-kayit { display: inline-grid; place-items: center; width: 16px; height: 16px; flex: none; cursor: default; }
.ekran-yapilandirici .ty-kayit i { width: 7px; height: 7px; border-radius: 50%; background: var(--soluk); }
.ekran-yapilandirici .ty-kayit[data-durum="temiz"] i { background: var(--ok); }
.ekran-yapilandirici .ty-kayit[data-durum="kirli"] i { background: var(--uyari); }
.ekran-yapilandirici .ty-kayit[data-durum="kaydediliyor"] i { background: var(--vurgu); animation: ty-yanip 1s ease-in-out infinite; }
.ekran-yapilandirici .ty-ust-bosluk { flex: 1 1 auto; min-width: 4px; }
.ekran-yapilandirici .ty-gecmis { display: inline-flex; gap: 2px; }
.ekran-yapilandirici .ty-gecmis .ikon-btn { width: 32px; height: 32px; }
.ekran-yapilandirici .ty-gecmis .ikon-btn:disabled { opacity: .35; }
.ekran-yapilandirici .ty-kaydet { box-shadow: none; }
.ekran-yapilandirici .ty-kaydet.ty-kirli { box-shadow: 0 0 0 1px rgba(56, 225, 255, .5), 0 8px 24px -10px rgba(56, 225, 255, .8); }
.ekran-yapilandirici .ty-daha-menu, .ekran-yapilandirici .ty-sablon-menu, .ekran-yapilandirici .ty-gorunum { position: relative; }
.ekran-yapilandirici .ty-daha-dugme { width: 34px; height: 32px; }

/* açılır menüler (⋯, şablonlar, görünüm) */
.ekran-yapilandirici .ty-menu {
  position: absolute;
  z-index: 60;
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 210px;
  padding: 6px;
  border-radius: 12px;
  border: 1px solid var(--kenar);
  background: rgba(9, 16, 31, .97);
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .95);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  animation: ty-baglam-gir .16s cubic-bezier(.2, .8, .2, 1) both;
}
.ekran-yapilandirici .ty-menu[hidden] { display: none; }
.ekran-yapilandirici .ty-daha-liste { top: calc(100% + 6px); right: 0; }
.ekran-yapilandirici .ty-menu > button {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 34px;
  padding: 6px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--metin-2);
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.ekran-yapilandirici .ty-menu > button:hover:not(:disabled), .ekran-yapilandirici .ty-menu > button:focus-visible { background: rgba(56, 225, 255, .09); color: #fff; outline: none; }
.ekran-yapilandirici .ty-menu > button:disabled { opacity: .4; cursor: not-allowed; }
.ekran-yapilandirici .ty-menu > button .ik { color: var(--soluk); }

/* metin bağlantısı görünümlü düğme */
.ekran-yapilandirici .ty-baglanti {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 0;
  border: 0;
  background: none;
  color: var(--vurgu);
  font: 500 13px/1.3 var(--font-govde);
  cursor: pointer;
  border-radius: 6px;
}
.ekran-yapilandirici .ty-baglanti:hover { color: #9ff3ff; text-decoration: underline; text-underline-offset: 3px; }
.ekran-yapilandirici .ty-baglanti:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 2px; }

/* ── Sol: form ────────────────────────────────────────────────────────────── */

.ekran-yapilandirici .ty-sol {
  grid-area: sol;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 16px;
  border: 1px solid var(--kenar);
  background: var(--cam-zemin);
  overflow: hidden;
}
.ekran-yapilandirici .ty-baslat {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 10px 10px 16px;
  border-bottom: 1px solid var(--cizgi);
  font-size: 13px;
}
.ekran-yapilandirici .ty-baslat[hidden] { display: none; }
.ekran-yapilandirici .ty-baslat-ayrac { color: var(--soluk); }
.ekran-yapilandirici .ty-baslat-ayrac[hidden] { display: none; }
.ekran-yapilandirici .ty-ai-baglanti { color: #c4b1ff; }
.ekran-yapilandirici .ty-ai-baglanti:hover { color: #ddd3ff; }
.ekran-yapilandirici .ty-ai-baglanti .ik { color: var(--vurgu-2); }
.ekran-yapilandirici .ty-baslat-kapat { margin-left: auto; width: 28px; height: 28px; color: var(--soluk); }
.ekran-yapilandirici .ty-sablon-liste { top: calc(100% + 6px); left: -8px; min-width: 260px; max-height: 340px; overflow-y: auto; }
.ekran-yapilandirici .ty-sablon-liste > button small { margin-left: auto; color: var(--sablon-renk); font-size: 11.5px; }
.ekran-yapilandirici .ty-sablon-ikon { display: grid; place-items: center; width: 26px; height: 26px; flex: none; border-radius: 8px; color: var(--sablon-renk); background: color-mix(in srgb, var(--sablon-renk) 12%, transparent); }

/* adım göstergesi: numara + kısa ad, ince çizgi */
.ekran-yapilandirici .ty-adimlar {
  display: flex;
  justify-content: space-between;
  gap: 4px;
  margin: 0;
  padding: 12px 12px 0;
  list-style: none;
  border-bottom: 1px solid var(--cizgi);
}
.ekran-yapilandirici .ty-adimlar[hidden] { display: none; }
.ekran-yapilandirici .ty-adim-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 4px 4px 11px;
  border: 0;
  background: none;
  color: var(--soluk);
  font: 500 12.5px/1.2 var(--font-govde);
  cursor: pointer;
  white-space: nowrap;
}
.ekran-yapilandirici .ty-adim-btn::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: -1px;
  height: 2px;
  border-radius: 2px;
  background: transparent;
  transition: background var(--gecis), box-shadow var(--gecis);
}
.ekran-yapilandirici .ty-adim-no {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  flex: none;
  border-radius: 50%;
  border: 1px solid rgba(120, 200, 255, .25);
  font-size: 10.5px;
  font-weight: 600;
}
.ekran-yapilandirici .ty-adim-ad { overflow: hidden; text-overflow: ellipsis; }
.ekran-yapilandirici .ty-adim-btn:hover { color: var(--metin); }
.ekran-yapilandirici .ty-adim-btn[aria-current="step"] { color: #fff; }
.ekran-yapilandirici .ty-adim-btn[aria-current="step"] .ty-adim-no { border-color: var(--vurgu); color: var(--vurgu); }
.ekran-yapilandirici .ty-adim-btn[aria-current="step"]::after { background: var(--vurgu); box-shadow: 0 0 10px rgba(56, 225, 255, .6); }
.ekran-yapilandirici .ty-adim-btn[data-durum="eksik"] .ty-adim-no,
.ekran-yapilandirici .ty-adim-btn[data-durum="hata"] .ty-adim-no { position: relative; }
.ekran-yapilandirici .ty-adim-btn[data-durum="eksik"] .ty-adim-no::after,
.ekran-yapilandirici .ty-adim-btn[data-durum="hata"] .ty-adim-no::after {
  content: "";
  position: absolute;
  top: -2px;
  right: -3px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--uyari);
}
.ekran-yapilandirici .ty-adim-btn[data-durum="hata"] .ty-adim-no::after { background: var(--tehlike); }
.ekran-yapilandirici .ty-adim-btn.ty-ai-isilti .ty-adim-no { animation: ty-ai-adim 2.1s ease-out; }

/* form gövdesi */
.ekran-yapilandirici .ty-form { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 14px 18px 22px; overscroll-behavior: contain; }
.ekran-yapilandirici .ty-adim, .ekran-yapilandirici .ty-hizli { animation: ty-adim-gir .28s cubic-bezier(.2, .8, .2, 1) both; }
.ekran-yapilandirici .ty-adim-baslik { margin: 0 0 8px; font: 600 16px/1.3 var(--font-baslik); letter-spacing: -.01em; color: #fff; outline: none; }
.ekran-yapilandirici .ty-adim-govde { display: grid; gap: 4px; }
.ekran-yapilandirici .ty-ikili { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
.ekran-yapilandirici .ty-uclu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 8px; }
.ekran-yapilandirici .ty-uclu .ty-adimla { display: none; }
.ekran-yapilandirici .ty-uclu .ty-sayi input { padding-left: 10px; }
.ekran-yapilandirici .ty-alt-baslik { margin: 14px 0 2px; font: 600 14px/1.3 var(--font-baslik); color: #fff; }
.ekran-yapilandirici .ty-sol-alt { display: flex; align-items: center; gap: 6px; padding: 10px 12px 10px 18px; border-top: 1px solid var(--cizgi); }
.ekran-yapilandirici .ty-sol-alt[hidden] { display: none; }
.ekran-yapilandirici .ty-mod-baglanti { font-size: 12.5px; color: var(--soluk); white-space: nowrap; }
.ekran-yapilandirici .ty-sol-alt .btn { flex: none; }
.ekran-yapilandirici .ty-hizli .ty-mod-baglanti { justify-self: start; margin-top: 10px; color: var(--vurgu); font-size: 13px; }

/* tek satırlık okumalar (kutusuz) */
.ekran-yapilandirici .ty-okuma { margin: 0 0 6px; font-size: 12.5px; line-height: 1.45; color: var(--metin-2); }
.ekran-yapilandirici .ty-okuma[hidden] { display: none; }
.ekran-yapilandirici .ty-okuma .mono { color: #fff; font-family: inherit; font-variant-numeric: tabular-nums; }
.ekran-yapilandirici .ty-okuma.uyari { color: #ffd59a; }
.ekran-yapilandirici .ty-urun-renk { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 3px; background: var(--urun-renk); vertical-align: 1px; }
.ekran-yapilandirici .ty-varsayimlar { margin: 8px 0 0; font-size: 12px; line-height: 1.55; }


/* katlanır bölümler (Proje bilgileri, Gelişmiş) */
.ekran-yapilandirici .ty-katlanir { margin-top: 6px; }
.ekran-yapilandirici .ty-katlanir > summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 0;
  font-size: 13px;
  color: var(--metin-2);
  cursor: pointer;
  list-style: none;
  border-radius: 6px;
}
.ekran-yapilandirici .ty-katlanir > summary::-webkit-details-marker { display: none; }
.ekran-yapilandirici .ty-katlanir > summary:hover { color: #fff; }
.ekran-yapilandirici .ty-katlanir > summary:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 2px; }
.ekran-yapilandirici .ty-katlanir > summary .ty-ok { transition: transform var(--gecis); color: var(--soluk); }
.ekran-yapilandirici .ty-katlanir[open] > summary .ty-ok { transform: rotate(90deg); }
.ekran-yapilandirici .ty-katlanir-govde { padding-top: 2px; }

/* önerilen ünite kartı (formun altı) */
.ekran-yapilandirici .ty-oneri-unite {
  display: grid;
  gap: 3px;
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid var(--cizgi);
}
.ekran-yapilandirici .ty-ou-ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ekran-yapilandirici .ty-ou-baslik { font-size: 12.5px; color: var(--soluk); }
.ekran-yapilandirici .ty-ou-model { font-size: 14px; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ekran-yapilandirici .ty-ou-alt { font-size: 12.5px; color: var(--metin-2); }
.ekran-yapilandirici .ty-oneri-unite .ty-baglanti { justify-self: start; margin-top: 4px; font-size: 12.5px; }
.ekran-yapilandirici .ty-yeter-metin { display: inline-flex; align-items: center; gap: 3px; }
.ekran-yapilandirici .ty-yeter-metin[data-durum="ok"] { color: #8dffcf; }
.ekran-yapilandirici .ty-yeter-metin[data-durum="tehlike"] { color: #ff9fb1; }
.ekran-yapilandirici .ty-yeter-metin[data-durum="uyari"], .ekran-yapilandirici .ty-yeter-metin[data-durum="asiri"] { color: #ffd59a; }

/* ── Sağ: 3B sahne ────────────────────────────────────────────────────────── */

.ekran-yapilandirici .ty-orta { grid-area: orta; display: flex; flex-direction: column; gap: 10px; min-width: 0; min-height: 0; }
.ekran-yapilandirici .ty-sahne-kap {
  position: relative;
  flex: 1 1 auto;
  min-height: 240px;
  border-radius: 16px;
  border: 1px solid var(--kenar);
  background: #04070d;
  overflow: hidden;
}
.ekran-yapilandirici .ty-sahne-kap.ty-hava-acik { border-color: rgba(34, 211, 238, .4); }
.ekran-yapilandirici .ty-sahne { position: absolute; inset: 0; border-radius: inherit; }
.ekran-yapilandirici .ty-sahne-hata {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 24px;
  text-align: center;
  color: var(--soluk);
  font-size: 12.5px;
}
.ekran-yapilandirici .ty-sahne-hata b { color: #fff; font-size: 15px; }
.ekran-yapilandirici .ty-sahne-hata .ik { color: var(--vurgu); }
.ekran-yapilandirici .ty-yukleniyor {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 14px;
  background: radial-gradient(ellipse at 50% 45%, rgba(56, 225, 255, .08), #04070d 70%);
  color: var(--soluk);
  transition: opacity .5s ease, visibility .5s;
}
.ekran-yapilandirici .ty-yukleniyor p { font-size: 13px; }
.ekran-yapilandirici .ty-yukleniyor.gizlendi { opacity: 0; visibility: hidden; pointer-events: none; }

/* tek yüzer araç çubuğu (alt orta, en çok 5 öğe) */
.ekran-yapilandirici .ty-arac {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 5px;
  border-radius: 14px;
  background: var(--ty-zemin);
  border: 1px solid rgba(120, 200, 255, .16);
  box-shadow: 0 14px 34px -18px rgba(0, 0, 0, .95);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  backdrop-filter: blur(12px) saturate(140%);
  max-width: calc(100% - 24px);
}
.ekran-yapilandirici .ty-arac > button, .ekran-yapilandirici .ty-gorunum > button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 34px;
  padding: 0 11px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--metin-2);
  font: 500 13px/1 var(--font-govde);
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--gecis), color var(--gecis), box-shadow var(--gecis);
}
.ekran-yapilandirici .ty-arac > button:hover, .ekran-yapilandirici .ty-gorunum > button:hover { background: rgba(255, 255, 255, .06); color: #fff; }
.ekran-yapilandirici .ty-arac > button:focus-visible, .ekran-yapilandirici .ty-gorunum > button:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 1px; }
.ekran-yapilandirici .ty-arac .ty-arac-ikon { width: 34px; padding: 0; justify-content: center; }
.ekran-yapilandirici .ty-arac > button[aria-pressed="true"], .ekran-yapilandirici .ty-gorunum > button[aria-expanded="true"] { color: #fff; background: rgba(56, 225, 255, .14); box-shadow: inset 0 0 0 1px rgba(56, 225, 255, .35); }
.ekran-yapilandirici .ty-arac .ty-arac-hava { padding: 0 13px 0 9px; color: #dff8ff; background: rgba(56, 225, 255, .1); box-shadow: inset 0 0 0 1px rgba(56, 225, 255, .3); font-weight: 600; }
.ekran-yapilandirici .ty-arac .ty-arac-hava .ik { color: var(--vurgu); }
.ekran-yapilandirici .ty-arac .ty-arac-hava[aria-pressed="true"] { color: #03121d; background: linear-gradient(90deg, #38e1ff, #7fe9ff); box-shadow: 0 0 20px rgba(56, 225, 255, .55); }
.ekran-yapilandirici .ty-arac .ty-arac-hava[aria-pressed="true"] .ik { color: #03121d; }
.ekran-yapilandirici .ty-ok { transition: transform var(--gecis); }
.ekran-yapilandirici .ty-gorunum > button[aria-expanded="true"] .ty-ok { transform: rotate(180deg); }

/* Görünüm ▾ paneli */
.ekran-yapilandirici .ty-gorunum-panel { bottom: calc(100% + 12px); left: 50%; transform: translateX(-50%); width: 300px; padding: 12px 14px 14px; gap: 6px; animation: none; }
.ekran-yapilandirici .ty-gp-baslik { margin: 4px 0 2px; font-size: 12px; color: var(--soluk); }
.ekran-yapilandirici .ty-gp-baslik:first-child { margin-top: 0; }
.ekran-yapilandirici .ty-kamera { display: flex; width: 100%; }
.ekran-yapilandirici .ty-kamera button { flex: 1 1 0; min-width: 0; height: 30px; padding: 0 4px; font-size: 12.5px; }
.ekran-yapilandirici .ty-gp-katmanlar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; padding: 2px 0; }
.ekran-yapilandirici .ty-gp-anahtar { font-size: 12.5px; }
.ekran-yapilandirici .ty-gp-ayrac { height: 1px; margin: 6px 0 4px; background: var(--cizgi); }

/* AI küre düğmesi (sağ alt; okunmamış rozeti) */
.ekran-yapilandirici .ty-ai-kure-dugme {
  position: absolute;
  z-index: 7;
  right: 14px;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 46px;
  padding: 0 16px 0 7px;
  border-radius: 999px;
  border: 1px solid rgba(139, 92, 255, .5);
  background: linear-gradient(135deg, rgba(30, 20, 66, .92), rgba(12, 22, 46, .92));
  color: #ede7ff;
  font: 600 13.5px/1 var(--font-govde);
  cursor: pointer;
  box-shadow: 0 0 26px -6px rgba(139, 92, 255, .7), 0 14px 30px -16px rgba(0, 0, 0, .9);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: transform var(--gecis), box-shadow var(--gecis), opacity var(--gecis);
}
.ekran-yapilandirici .ty-ai-kure-dugme:hover { transform: translateY(-2px); box-shadow: 0 0 34px -4px rgba(139, 92, 255, .9), 0 14px 30px -16px rgba(0, 0, 0, .9); }
.ekran-yapilandirici .ty-ai-kure-dugme:focus-visible { outline: 2px solid var(--vurgu-2); outline-offset: 3px; }
.ekran-yapilandirici .ty-ai-kure-dugme .ai-kure { width: 32px; height: 32px; }
.ekran-yapilandirici .ty-ai-kure-dugme.akiyor .ai-kure-halka { animation-duration: 1s; }
.ekran-yapilandirici .ty-ai-rozet {
  position: absolute;
  top: -4px;
  left: 30px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--tehlike);
  color: #fff;
  font: 700 10.5px/18px var(--font-govde);
  text-align: center;
  box-shadow: 0 0 0 2px #0b1226;
}
.ekran-yapilandirici .ty-ai-rozet[hidden] { display: none; }
.ekran-yapilandirici .ty[data-ai="acik"] .ty-ai-kure-dugme { opacity: 0; pointer-events: none; transform: scale(.9); }

/* 3B bağlam menüsü */
.ekran-yapilandirici .ty-baglam {
  position: absolute;
  z-index: 9;
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 190px;
  padding: 6px;
  border-radius: 12px;
  border: 1px solid var(--kenar);
  background: rgba(9, 16, 31, .96);
  box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .95);
  animation: ty-baglam-gir .18s cubic-bezier(.2, .8, .2, 1) both;
}
.ekran-yapilandirici .ty-baglam[hidden] { display: none; }
.ekran-yapilandirici .ty-baglam-baslik { display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px 5px; font-size: 12px; color: var(--soluk); }
.ekran-yapilandirici .ty-baglam button { display: flex; align-items: center; gap: 6px; padding: 7px 9px; border: 0; border-radius: 8px; background: transparent; color: var(--metin-2); font-size: 12.5px; text-align: left; cursor: pointer; }
.ekran-yapilandirici .ty-baglam button:hover, .ekran-yapilandirici .ty-baglam button:focus-visible { background: rgba(56, 225, 255, .1); color: #fff; }
.ekran-yapilandirici .ty-baglam button.aktif { color: #fff; }
.ekran-yapilandirici .ty-baglam button.aktif .ik { color: var(--vurgu); }

/* tam ekran */
.ekran-yapilandirici .ty-sahne-kap.ty-tam { border-radius: 0; border: 0; }
.ekran-yapilandirici .ty.ty-tam-ekran .ty-sahne-kap { position: fixed; inset: 0; z-index: 150; border-radius: 0; }
.ekran-yapilandirici .ty-sahne-kap.ty-tam .ty-ai-kure-dugme { display: none; }

/* §11.2 hava akışı paneli (sade) */
.ekran-yapilandirici .ty-hava-panel {
  position: absolute;
  z-index: 6;
  top: 14px;
  left: 14px;
  width: 284px;
  max-height: calc(100% - 92px);
  overflow-y: auto;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--ty-zemin);
  border: 1px solid rgba(34, 211, 238, .28);
  box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .95);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  backdrop-filter: blur(12px) saturate(140%);
  animation: ty-panel-gir .26s cubic-bezier(.2, .8, .2, 1) both;
  scrollbar-width: thin;
}
.ekran-yapilandirici .ty-hava-panel[hidden] { display: none; }
.ekran-yapilandirici .ty-hp-ust { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.ekran-yapilandirici .ty-hp-baslik { font: 600 13.5px/1.2 var(--font-baslik); color: #fff; }
.ekran-yapilandirici .ty-hp-not { font-size: 11.5px; color: var(--soluk); }
.ekran-yapilandirici .ty-hp-kapat { margin-left: auto; width: 26px; height: 26px; }
.ekran-yapilandirici .ty-hp-bar { height: 8px; border-radius: 5px; }
.ekran-yapilandirici .ty-hp-uclar { display: flex; justify-content: space-between; gap: 6px; margin-top: 4px; font: 500 11px/1.3 var(--font-govde); font-variant-numeric: tabular-nums; color: var(--metin-2); }
.ekran-yapilandirici .ty-hp-uclar span { white-space: nowrap; }
.ekran-yapilandirici .ty-hp-metrikler { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.ekran-yapilandirici .ty-hp-metrik { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ekran-yapilandirici .ty-hp-metrik span { font-size: 11.5px; color: var(--soluk); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ekran-yapilandirici .ty-hp-metrik b { font-size: 16px; font-weight: 600; color: #fff; white-space: nowrap; }
.ekran-yapilandirici .ty-hp-metrik.kotu b { color: #ff9fb1; }
.ekran-yapilandirici .ty-hp-ek { margin-top: 10px; }
.ekran-yapilandirici .ty-hp-ek .ty-hp-metrik b { font-size: 13px; }
.ekran-yapilandirici .ty-hp-ek .ty-hp-metrik:last-child { grid-column: 1 / -1; }
.ekran-yapilandirici .ty-hp-uyari { display: flex; align-items: flex-start; gap: 6px; margin: 10px 0 0; font-size: 12px; line-height: 1.4; color: #ffc9d3; }
.ekran-yapilandirici .ty-hp-uyari .ik { flex: none; margin-top: 2px; color: var(--tehlike); }
.ekran-yapilandirici .ty-hp-gelismis-dugme { margin-top: 8px; font-size: 12.5px; color: var(--soluk); }
.ekran-yapilandirici .ty-hp-gelismis { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--cizgi); display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.ekran-yapilandirici .ty-hp-satir > .ty-kaydirici { width: 0; }
.ekran-yapilandirici .ty-hp-satir { display: flex; align-items: center; gap: 8px; }
.ekran-yapilandirici .ty-hp-satir[hidden] { display: none; }
.ekran-yapilandirici .ty-hp-etiket { flex: 0 0 48px; font-size: 12px; color: var(--soluk); }
.ekran-yapilandirici .ty-hp-segment { flex: 1 1 auto; }
.ekran-yapilandirici .ty-hp-segment button { flex: 1 1 0; height: 26px; padding: 0 8px; font-size: 12px; }
.ekran-yapilandirici .ty-hp-anahtarlar { flex-wrap: wrap; gap: 8px 14px; }
.ekran-yapilandirici .ty-hp-anahtarlar .anahtar { font-size: 12px; }
.ekran-yapilandirici .ty-hp-deger { flex: none; min-width: 34px; text-align: right; font-size: 11.5px; color: var(--metin-2); }
.ekran-yapilandirici .ty-hp-oynat { width: 26px; height: 26px; flex: none; }
.ekran-yapilandirici .ty-hp-bos { font-size: 12.5px; color: var(--metin-2); line-height: 1.5; }
.ekran-yapilandirici .ty-hp-dipnot { font-size: 11px; color: var(--soluk); }
.ekran-yapilandirici .ty-kaydirici {
  flex: 1 1 auto;
  min-width: 0;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
.ekran-yapilandirici .ty-kaydirici::-webkit-slider-runnable-track { height: 4px; border-radius: 3px; background: rgba(56, 225, 255, .4); }
.ekran-yapilandirici .ty-kaydirici::-moz-range-track { height: 4px; border-radius: 3px; background: rgba(56, 225, 255, .4); }
.ekran-yapilandirici .ty-kaydirici::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; margin-top: -5px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px rgba(56, 225, 255, .3); }
.ekran-yapilandirici .ty-kaydirici::-moz-range-thumb { width: 14px; height: 14px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px rgba(56, 225, 255, .3); }
.ekran-yapilandirici .ty-kaydirici:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 2px; border-radius: 6px; }

/* ── Sonuç şeridi (3B'nin altında tek satır) ──────────────────────────────── */

.ekran-yapilandirici .ty-serit {
  flex: none;
  display: flex;
  align-items: center;
  gap: 6px 26px;
  min-height: 62px;
  padding: 8px 12px 8px 20px;
  border-radius: 16px;
  border: 1px solid var(--kenar);
  background: var(--cam-zemin);
}
.ekran-yapilandirici .ty-serit-oge { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ekran-yapilandirici .ty-serit-etiket { font-size: 12px; color: var(--soluk); white-space: nowrap; }
.ekran-yapilandirici .ty-serit-oge > b { font: 600 19px/1.15 var(--font-baslik); color: #fff; letter-spacing: -.01em; white-space: nowrap; }
.ekran-yapilandirici .ty-serit-oge > b.mono { font-family: var(--font-mono); font-size: 17px; letter-spacing: -.02em; }
.ekran-yapilandirici .ty-serit-unite {
  align-items: flex-start;
  margin: -6px -10px;
  padding: 6px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  max-width: 340px;
}
.ekran-yapilandirici .ty-serit-unite:hover { background: rgba(255, 255, 255, .04); }
.ekran-yapilandirici .ty-serit-unite:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 1px; }
.ekran-yapilandirici .ty-serit-unite > b { display: flex; align-items: baseline; gap: 10px; min-width: 0; font-size: 15px; }
.ekran-yapilandirici .ty-serit-model { overflow: hidden; text-overflow: ellipsis; font-size: 14.5px; }
.ekran-yapilandirici .ty-serit-unite .ty-yeter-metin { font: 600 14px var(--font-govde); }
.ekran-yapilandirici .ty-serit-durum { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--soluk); }
.ekran-yapilandirici .ty-serit-hata { display: inline-flex; align-items: center; gap: 5px; color: #ff9fb1; }
.ekran-yapilandirici .ty-teklif-gor { height: 36px; padding: 0 14px; }
.ekran-yapilandirici .ty-teklif-gor .ty-kisa { display: none; }
.ekran-yapilandirici .ty-detay-dugme[aria-expanded="true"] .ty-ok { transform: rotate(180deg); }
.ekran-yapilandirici .ty-donen { width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(56, 225, 255, .25); border-top-color: var(--vurgu); animation: ty-don .8s linear infinite; }
.ekran-yapilandirici .ty.ty-hesaplaniyor .ty-serit-oge > b { opacity: .55; transition: opacity .2s ease; }

/* ── Detaylar (alttan genişleyen panel) ───────────────────────────────────── */

.ekran-yapilandirici .ty-detay {
  flex: 0 0 min(50%, 460px);
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  border: 1px solid var(--kenar);
  background: var(--cam-zemin);
  overflow: hidden;
  container: sonuc / inline-size;
  animation: ty-detay-gir .26s cubic-bezier(.2, .8, .2, 1) both;
}
.ekran-yapilandirici .ty-detay[hidden] { display: none; }
.ekran-yapilandirici .ty-sekmeler { display: flex; align-items: center; gap: 2px; min-height: 46px; padding: 4px 8px 0 10px; border-bottom: 1px solid var(--cizgi); }
.ekran-yapilandirici .ty-sekmeler [role="tab"] {
  position: relative;
  height: 40px;
  padding: 0 13px;
  border: 0;
  background: transparent;
  color: var(--soluk);
  font: 600 13.5px/1 var(--font-govde);
  cursor: pointer;
  white-space: nowrap;
}
.ekran-yapilandirici .ty-sekmeler [role="tab"]:hover { color: var(--metin); }
.ekran-yapilandirici .ty-sekmeler [role="tab"][aria-selected="true"] { color: #fff; }
.ekran-yapilandirici .ty-sekmeler [role="tab"][aria-selected="true"]::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: -1px;
  height: 2px;
  border-radius: 2px;
  background: var(--vurgu);
}
.ekran-yapilandirici .ty-detay-kapat { width: 32px; height: 32px; }
.ekran-yapilandirici .ty-sonuc-govde { position: relative; flex: 1 1 auto; min-height: 0; }
.ekran-yapilandirici .ty-panel { position: absolute; inset: 0; overflow: auto; padding: 14px 18px 20px; outline: none; transition: opacity .25s ease; overscroll-behavior: contain; }
.ekran-yapilandirici .ty-detay.ty-bayat .ty-panel { opacity: .6; }
.ekran-yapilandirici .ty-sonuc-hata {
  position: absolute;
  z-index: 4;
  left: 12px;
  right: 12px;
  top: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px 9px 12px;
  border-radius: 11px;
  background: rgba(40, 10, 20, .95);
  border: 1px solid rgba(255, 92, 122, .45);
  color: #ffd1da;
  font-size: 12.5px;
}
.ekran-yapilandirici .ty-sonuc-hata > span { flex: 1; }
.ekran-yapilandirici .ty-sonuc-hata > .ik { color: var(--tehlike); }

/* ── AI çekmecesi (varsayılan kapalı) ─────────────────────────────────────── */

.ekran-yapilandirici .ty-ai-cekmece {
  position: absolute;
  z-index: 40;
  top: calc(var(--ty-ust-y) + 18px);
  right: 14px;
  bottom: 86px;
  width: min(var(--ty-ai), calc(100% - 28px));
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  border: 1px solid rgba(139, 92, 255, .38);
  background: rgba(8, 14, 28, .97);
  box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .95), 0 0 40px -18px rgba(139, 92, 255, .6);
  overflow: hidden;
  transition: transform .3s cubic-bezier(.2, .8, .2, 1), opacity .25s ease, visibility .3s;
}
.ekran-yapilandirici .ty[data-ai="kapali"] .ty-ai-cekmece { transform: translateX(24px); opacity: 0; visibility: hidden; pointer-events: none; }
.ekran-yapilandirici .ty-ai-kap { flex: 1 1 auto; min-height: 0; height: 100%; }
.ekran-yapilandirici .ty-ai-kapat { position: absolute; z-index: 3; top: 14px; right: 12px; width: 32px; height: 32px; }
.ekran-yapilandirici .ty-ai-cekmece .sohbet-ust { padding-right: 52px; }
.ekran-yapilandirici .ty-ai-cekmece .sohbet-alt-baslik { display: none; }

/* ≥1680 px: açık çekmece sahneyi daraltır (üstüne binmez) */
@media (min-width: 1680px) {
  .ekran-yapilandirici .ty[data-ai="acik"] { grid-template-columns: var(--ty-sol) minmax(0, 1fr) var(--ty-ai); grid-template-areas: "ust ust ust" "sol orta ai"; }
  .ekran-yapilandirici .ty[data-ai="acik"] .ty-ai-cekmece { position: relative; grid-area: ai; inset: auto; width: auto; top: auto; right: auto; bottom: auto; box-shadow: none; }
}

/* proje yüklenirken form ve sonuçlar beklemede */
.ekran-yapilandirici .ty.ty-proje-yukleniyor .ty-sol, .ekran-yapilandirici .ty.ty-proje-yukleniyor .ty-serit { opacity: .45; pointer-events: none; }

/* ── Form alanları ────────────────────────────────────────────────────────── */

.ekran-yapilandirici .ty-alan {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  margin: 0 -8px;
  padding: 6px 8px 7px;
  border-radius: 12px;
  container: alan / inline-size;
}
@container alan (max-width: 152px) {
  .ekran-yapilandirici .ty-adimla { display: none; }
  .ekran-yapilandirici .ty-sayi input { padding-left: 10px; }
}
.ekran-yapilandirici .ty-alan-ust { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 18px; }
.ekran-yapilandirici .ty-alan-ad { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.ekran-yapilandirici .ty-alan-ust label,
.ekran-yapilandirici .ty-alan-ust .ty-etiket { font-size: 12.5px; font-weight: 500; color: var(--metin-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ekran-yapilandirici .ty-zorunlu { margin-left: 3px; color: var(--vurgu); }
/* "?" yardım balonu (üzerine gelince) */
.ekran-yapilandirici .ty-yardim {
  display: inline-grid;
  place-items: center;
  width: 15px;
  height: 15px;
  flex: none;
  border-radius: 50%;
  border: 1px solid rgba(142, 163, 194, .4);
  color: var(--soluk);
  font: 600 10px/1 var(--font-govde);
  cursor: help;
}
.ekran-yapilandirici .ty-yardim:hover { color: #fff; border-color: var(--vurgu); }
.ekran-yapilandirici .ty-yardim::after {
  content: attr(data-ipucu);
  display: none;
  position: absolute;
  z-index: 30;
  left: 6px;
  right: 6px;
  top: 28px;
  padding: 8px 10px;
  border-radius: 9px;
  background: rgba(9, 16, 31, .98);
  border: 1px solid var(--kenar);
  box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .9);
  color: var(--metin-2);
  font: 400 12px/1.45 var(--font-govde);
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-3px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s;
  pointer-events: none;
}
.ekran-yapilandirici .ty-yardim:hover::after { display: block; opacity: 1; visibility: visible; transform: none; }
.ekran-yapilandirici .ty-ikili .ty-alan:has(.ty-yardim:hover), .ekran-yapilandirici .ty-uclu .ty-alan:has(.ty-yardim:hover) { z-index: 31; }
.ekran-yapilandirici .ty-ikili .ty-yardim::after, .ekran-yapilandirici .ty-uclu .ty-yardim::after { min-width: 210px; }
.ekran-yapilandirici .ty-ikili > .ty-alan:last-child .ty-yardim::after { left: auto; }
/* ipucu metni: ekran okuyucuya açık; görünür yalnız hata durumunda (tek satır) */
.ekran-yapilandirici .ty-ipucu { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ekran-yapilandirici .ty-hatali .ty-ipucu { position: static; width: auto; height: auto; margin: 0; clip: auto; overflow: hidden; text-overflow: ellipsis; font-size: 11.5px; line-height: 1.35; color: #ff9fb1; }
.ekran-yapilandirici .ty-eksik::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 2px;
  border-radius: 2px;
  background: var(--uyari);
}
.ekran-yapilandirici .ty-eksik .ty-alan-ust label::after,
.ekran-yapilandirici .ty-eksik .ty-alan-ust .ty-etiket::after { content: " · gerekli"; color: var(--uyari); font-size: 11px; }

.ekran-yapilandirici .ty-oneri-isaret { display: inline-flex; flex: none; color: rgba(56, 225, 255, .7); cursor: help; }
.ekran-yapilandirici .ty-oneri-isaret[hidden] { display: none; }
.ekran-yapilandirici .ty-oneri {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 19px;
  flex: none;
  padding: 0 7px;
  border-radius: 999px;
  border: 1px solid rgba(56, 225, 255, .35);
  background: rgba(56, 225, 255, .06);
  color: #9ff3ff;
  font: 600 10.5px/1 var(--font-mono);
  cursor: pointer;
  transition: background var(--gecis), border-color var(--gecis);
}
.ekran-yapilandirici .ty-oneri[hidden] { display: none; }
.ekran-yapilandirici .ty-oneri:hover { background: rgba(56, 225, 255, .14); border-color: rgba(56, 225, 255, .6); }

/* sayı girişi — ± düğmeleri yalnız üzerine gelince / odakta */
.ekran-yapilandirici .ty-sayi {
  display: flex;
  align-items: stretch;
  min-width: 0;
  border: 1px solid var(--kenar);
  border-radius: var(--yaricap-k);
  background: rgba(5, 11, 22, .72);
  transition: border-color var(--gecis), box-shadow var(--gecis), background var(--gecis);
}
.ekran-yapilandirici .ty-sayi:hover { border-color: rgba(120, 200, 255, .28); }
.ekran-yapilandirici .ty-sayi:focus-within { border-color: var(--kenar-guclu); box-shadow: 0 0 0 3px rgba(56, 225, 255, .14); background: rgba(7, 14, 28, .92); }
.ekran-yapilandirici .ty-sayi input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  min-height: 38px;
  padding: 0 4px 0 11px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
  color: #f4f9ff;
}
.ekran-yapilandirici .ty-sayi input:focus { box-shadow: none; background: transparent; }
.ekran-yapilandirici .ty-hatali .ty-sayi { border-color: rgba(255, 92, 122, .7); box-shadow: 0 0 0 3px rgba(255, 92, 122, .12); }
.ekran-yapilandirici .ty-birim { display: flex; align-items: center; padding: 0 8px 0 2px; font: 500 11.5px/1 var(--font-govde); color: var(--soluk); white-space: nowrap; pointer-events: none; }
.ekran-yapilandirici .ty-adimla {
  display: grid;
  place-items: center;
  width: 26px;
  flex: none;
  border: 0;
  background: transparent;
  color: var(--soluk);
  cursor: pointer;
  opacity: 0;
  transition: color var(--gecis), background var(--gecis), opacity var(--gecis);
}
.ekran-yapilandirici .ty-sayi:hover .ty-adimla, .ekran-yapilandirici .ty-sayi:focus-within .ty-adimla { opacity: 1; }
.ekran-yapilandirici .ty-adimla:first-child { border-radius: 9px 0 0 9px; }
.ekran-yapilandirici .ty-adimla:last-child { border-radius: 0 9px 9px 0; }
.ekran-yapilandirici .ty-adimla:hover { color: var(--vurgu); background: rgba(56, 225, 255, .07); }
@media (hover: none) { .ekran-yapilandirici .ty-adimla { opacity: 1; } }

/* seçim */
.ekran-yapilandirici .ty-secim-satir { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
/* "Diğer" açıklama kutusu her modda açılır kutunun ALTINDA, tam genişlikte açılır (metin kesilmez, §12.6) */
.ekran-yapilandirici .ty-diger-acik .ty-secim-satir { grid-template-columns: minmax(0, 1fr); }
.ekran-yapilandirici .ty-secim { position: relative; min-width: 0; }
.ekran-yapilandirici .ty-secim select { width: 100%; min-height: 38px; padding-top: 7px; padding-bottom: 7px; text-overflow: ellipsis; }
.ekran-yapilandirici .ty-secim.renkli select { padding-left: 34px; }
.ekran-yapilandirici .ty-renk {
  --renk: #e9eef2;
  position: absolute;
  left: 11px;
  top: 50%;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  border-radius: 4px;
  background: var(--renk);
  border: 1px solid rgba(255, 255, 255, .35);
  pointer-events: none;
}
.ekran-yapilandirici .ty-diger {
  width: 100%;
  min-height: 38px;
  border-style: dashed;
  border-color: rgba(56, 225, 255, .4);
  background: rgba(56, 225, 255, .04);
  animation: ty-diger-gir .28s cubic-bezier(.2, .8, .2, 1) both;
}
.ekran-yapilandirici .ty-alan-il input[data-il-metin] { width: 100%; }
.ekran-yapilandirici .ty-alan input[type="text"]:not(.ty-diger):not(.mono) { width: 100%; }

/* segment */
.ekran-yapilandirici .ty-segment { display: flex; width: 100%; }
.ekran-yapilandirici .ty-segment button { flex: 1 1 auto; min-width: 0; padding: 0 6px; overflow: hidden; text-overflow: ellipsis; font-size: 12.5px; }

/* kapı planı */
.ekran-yapilandirici .ty-plan { margin-top: 6px; padding: 4px 6px 2px; border-radius: 12px; background: rgba(56, 225, 255, .03); }
.ekran-yapilandirici .ty-plan svg { display: block; overflow: visible; }
.ekran-yapilandirici .ty-plan-oda { fill: rgba(56, 225, 255, .05); stroke: none; }
.ekran-yapilandirici .ty-plan-duvar { stroke: rgba(120, 200, 255, .32); stroke-width: 2; stroke-linecap: round; }
.ekran-yapilandirici .ty-plan-duvar.secili { stroke: rgba(56, 225, 255, .75); }
.ekran-yapilandirici .ty-plan-kapi { stroke: var(--vurgu); stroke-width: 5; stroke-linecap: round; }
.ekran-yapilandirici .ty-plan-evap { fill: #9fe9ff; }
.ekran-yapilandirici .ty-plan-hava { stroke: var(--vurgu); stroke-width: 1.6; stroke-dasharray: 4 5; animation: ty-tire 1.1s linear infinite; }
.ekran-yapilandirici .ty-plan-hit { stroke: transparent; stroke-width: 16; stroke-linecap: round; cursor: pointer; pointer-events: stroke; }
.ekran-yapilandirici .ty-plan-hit:hover { stroke: rgba(56, 225, 255, .14); }
.ekran-yapilandirici .ty-plan-yazi { font: 500 9px var(--font-govde); fill: rgba(142, 163, 194, .8); }
.ekran-yapilandirici .ty-plan-yazi.secili { fill: var(--vurgu); }
.ekran-yapilandirici .ty-plan-not { font: 400 8.5px var(--font-govde); fill: rgba(142, 163, 194, .6); }

/* parlama efektleri */
.ekran-yapilandirici .ty-alan.ty-ai-isilti { animation: ty-ai-parla 2s ease-out; }
.ekran-yapilandirici .ty-alan.ty-ai-isilti::after {
  content: "AI";
  position: absolute;
  top: -7px;
  right: 12px;
  padding: 2px 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, #8b5cff, #38e1ff);
  color: #04070d;
  font: 700 9px/1.2 var(--font-govde);
  animation: ty-sol-cik 2s ease-out forwards;
  pointer-events: none;
}
.ekran-yapilandirici .ty-alan.ty-hedef-isilti { animation: ty-hedef-parla 1.9s ease-out; }
.ekran-yapilandirici .ty-alan.ty-gecmis-isilti { animation: ty-gecmis-parla 1.6s ease-out; }

/* ── Detay panelleri: ortak sonuç bileşenleri ─────────────────────────────── */

/* ortak sonuç bileşenleri */
.ekran-yapilandirici .ty-ozet-seridi { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin-bottom: 14px; }
.ekran-yapilandirici .ty-stat { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--cizgi); background: rgba(255, 255, 255, .022); }
.ekran-yapilandirici .ty-stat > span { font: 500 12px/1.2 var(--font-govde); color: var(--soluk); }
.ekran-yapilandirici .ty-stat > b { font: 600 19px/1.2 var(--font-baslik); color: #fff; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ekran-yapilandirici .ty-stat > b small { font: 500 11px var(--font-govde); color: var(--soluk); }
.ekran-yapilandirici .ty-stat > b .rozet { vertical-align: 3px; }
.ekran-yapilandirici .ty-stat > small { font-size: 11px; line-height: 1.35; color: var(--soluk); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ekran-yapilandirici .ty-stat-ana { border-color: rgba(56, 225, 255, .35); background: rgba(56, 225, 255, .06); }
.ekran-yapilandirici .ty-stat-ana > b { font-size: 22px; }
.ekran-yapilandirici .ty-panel-iskelet { display: grid; gap: 6px; }
.ekran-yapilandirici .ty-iskelet-serit { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; margin-bottom: 10px; }
.ekran-yapilandirici .ty-iskelet-kutu { height: 62px; border-radius: 12px; }
.ekran-yapilandirici .ty-iskelet-kart { height: 230px; border-radius: 14px; }
.ekran-yapilandirici .ty-bos { justify-content: flex-start; text-align: left; gap: 14px; flex-wrap: wrap; border: 1px dashed var(--kenar); border-radius: 14px; margin-bottom: 14px; }
.ekran-yapilandirici .ty-bos > .ik { color: var(--vurgu); }
.ekran-yapilandirici .ty-bos b { color: #fff; }
.ekran-yapilandirici .ty-bos p { margin-top: 3px; font-size: 12.5px; }
.ekran-yapilandirici .ty-tablo-kap { border: 1px solid var(--cizgi); border-radius: 12px; overflow: auto; }
.ekran-yapilandirici .ty-tablo-kap .tablo th { position: static; }

/* a) ısı yükü */
.ekran-yapilandirici .ty-grafik { position: relative; margin: 0 0 14px; padding: 12px 14px 8px; border-radius: 14px; border: 1px solid var(--cizgi); background: rgba(4, 8, 16, .35); }
.ekran-yapilandirici .ty-grafik figcaption { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 10px; margin-bottom: 8px; font-size: 12.5px; font-weight: 600; color: #fff; }
.ekran-yapilandirici .ty-grafik figcaption .soluk { font-size: 11px; font-weight: 400; }
.ekran-yapilandirici .ty-grafik-kap { width: 100%; }
.ekran-yapilandirici .ty-g { display: block; width: 100%; height: auto; overflow: visible; }
.ekran-yapilandirici .ty-g-ad { font: 500 12px var(--font-govde); fill: var(--metin-2); }
.ekran-yapilandirici .ty-g-deger { font: 500 11.5px var(--font-mono); fill: var(--metin); }
.ekran-yapilandirici .ty-g-eksen { font: 500 9.5px var(--font-mono); fill: rgba(142, 163, 194, .7); }
.ekran-yapilandirici .ty-g-izgara { stroke: rgba(140, 190, 255, .07); stroke-width: 1; }
.ekran-yapilandirici .ty-g-taban { stroke: rgba(140, 190, 255, .24); stroke-width: 1; }
.ekran-yapilandirici .ty-g-ayrac { stroke: rgba(140, 190, 255, .14); stroke-width: 1; }
.ekran-yapilandirici .ty-g-hit { fill: transparent; }
.ekran-yapilandirici .ty-g-satir { cursor: default; outline: none; }
.ekran-yapilandirici .ty-g-satir:hover .ty-g-hit, .ekran-yapilandirici .ty-g-satir:focus .ty-g-hit { fill: rgba(56, 225, 255, .055); }
.ekran-yapilandirici .ty-g-satir:focus-visible .ty-g-hit { stroke: rgba(56, 225, 255, .6); stroke-width: 1; }
.ekran-yapilandirici .ty-g-satir:hover .ty-g-cubuk, .ekran-yapilandirici .ty-g-satir:focus .ty-g-cubuk { filter: brightness(1.25); }
.ekran-yapilandirici .ty-g-satir.sifir .ty-g-ad, .ekran-yapilandirici .ty-g-satir.sifir .ty-g-deger { fill: var(--soluk); }
.ekran-yapilandirici .ty-g-sifir { fill: rgba(142, 163, 194, .5); }
.ekran-yapilandirici .ty-g-toplam .ty-g-ad { fill: #fff; font-weight: 600; }
.ekran-yapilandirici .ty-g-gerekli .ty-g-ad, .ekran-yapilandirici .ty-g-gerekli .ty-g-deger { fill: #fff; font-weight: 700; }
.ekran-yapilandirici .ty-grafik-balon {
  position: absolute;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-width: 280px;
  padding: 7px 10px;
  border-radius: 10px;
  background: rgba(6, 12, 24, .96);
  border: 1px solid rgba(56, 225, 255, .38);
  box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .9);
  pointer-events: none;
}
.ekran-yapilandirici .ty-grafik-balon b { font-size: 13px; color: #fff; }
.ekran-yapilandirici .ty-grafik-balon span { font-size: 11.5px; color: var(--metin-2); }
.ekran-yapilandirici .ty-grafik-balon small { font-size: 10.5px; color: var(--soluk); }
.ekran-yapilandirici .ty-isi-tablo { font-size: 12.5px; }
.ekran-yapilandirici .ty-isi-tablo td { padding: 8px 12px; vertical-align: top; }
.ekran-yapilandirici .ty-isi-tablo td b { font-weight: 600; color: #f3f8ff; }
.ekran-yapilandirici .ty-isi-tablo .alt-satir { font-size: 11.3px; line-height: 1.45; margin-top: 3px; }
.ekran-yapilandirici .ty-isi-tablo tfoot th, .ekran-yapilandirici .ty-isi-tablo tfoot td { padding: 8px 12px; border-top: 1px solid var(--kenar); font-size: 12.5px; text-align: left; }
.ekran-yapilandirici .ty-isi-tablo tfoot td.sag { text-align: right; }
.ekran-yapilandirici .ty-isi-tablo tfoot th { font-weight: 600; color: #fff; }
.ekran-yapilandirici .ty-gerekli-satir th, .ekran-yapilandirici .ty-gerekli-satir td { background: rgba(56, 225, 255, .07); color: #fff; }
.ekran-yapilandirici .ty-uyarilar { margin-top: 14px; }
.ekran-yapilandirici .ty-uyarilar h4 { display: flex; align-items: center; gap: 7px; margin: 12px 0 8px; font: 600 13px/1.2 var(--font-govde); color: var(--metin-2); }
.ekran-yapilandirici .ty-uyarilar h4 .mono { padding: 1px 6px; border-radius: 999px; background: rgba(255, 181, 71, .14); color: #ffd59a; letter-spacing: 0; }
.ekran-yapilandirici .ty-uyari-liste, .ekran-yapilandirici .ty-varsayim-liste2 { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ekran-yapilandirici .ty-uyari-liste li { display: flex; align-items: flex-start; gap: 8px; padding: 8px 11px; border-radius: 10px; background: rgba(255, 181, 71, .06); border: 1px solid rgba(255, 181, 71, .22); font-size: 12.3px; line-height: 1.5; color: #ffe8c6; }
.ekran-yapilandirici .ty-uyari-liste li > .ik { color: var(--uyari); margin-top: 2px; }
.ekran-yapilandirici .ty-varsayim-liste2 li { display: flex; align-items: flex-start; gap: 8px; padding: 6px 10px; border-radius: 9px; background: rgba(56, 225, 255, .035); font-size: 12px; color: var(--metin-2); }
.ekran-yapilandirici .ty-varsayim-liste2 li > .ik { color: var(--vurgu); margin-top: 2px; }
.ekran-yapilandirici .ty-tamam-not { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #9ff5cf; }

/* b) ünite seçimi */
.ekran-yapilandirici .ty-unite-ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.ekran-yapilandirici .ty-unite-ozet { font-size: 12.8px; color: var(--metin-2); min-width: 0; }
.ekran-yapilandirici .ty-unite-ozet b { font-size: 15px; color: #fff; }
.ekran-yapilandirici .ty-unite-eylem { display: flex; flex-wrap: wrap; gap: 6px; }
.ekran-yapilandirici .ty-unite-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(258px, 1fr)); gap: 10px; margin: 12px 0 16px; }
.ekran-yapilandirici .ty-unite-kart {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 12px 13px;
  border-radius: 14px;
  border: 1px solid var(--kenar);
  background: linear-gradient(180deg, rgba(19, 31, 56, .62), rgba(9, 15, 30, .62));
  transition: border-color var(--gecis), box-shadow var(--gecis), transform var(--gecis);
}
.ekran-yapilandirici .ty-unite-kart:hover { border-color: rgba(120, 200, 255, .3); transform: translateY(-1px); }
.ekran-yapilandirici .ty-unite-kart.ai::before {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  top: -1px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #8b5cff, #38e1ff);
  box-shadow: 0 0 12px rgba(139, 92, 255, .8);
}
.ekran-yapilandirici .ty-unite-kart.secili {
  border-color: rgba(56, 225, 255, .62);
  background: linear-gradient(180deg, rgba(20, 52, 76, .7), rgba(9, 19, 36, .7));
  box-shadow: 0 0 0 1px rgba(56, 225, 255, .3), 0 12px 40px -14px rgba(56, 225, 255, .55);
  animation: ty-kart-sec .6s ease-out;
}
.ekran-yapilandirici .ty-unite-kart header { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.ekran-yapilandirici .ty-unite-kart .rozet-ai { margin-left: 0; display: inline-flex; gap: 4px; }
.ekran-yapilandirici .ty-sira { font-size: 11px; color: var(--soluk); }
.ekran-yapilandirici .ty-unite-kart .sistem-etiket { font-size: 11.5px; padding: 0 2px; }
.ekran-yapilandirici .ty-secili-rozet { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; font: 600 12px/1 var(--font-govde); color: #8ef0ff; }
.ekran-yapilandirici .ty-unite-kart h4 { font-size: 15px; font-weight: 600; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; letter-spacing: .01em; }
.ekran-yapilandirici .ty-unite-alt { margin-top: -5px; font-size: 11.3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ekran-yapilandirici .ty-unite-kapasite { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; }
.ekran-yapilandirici .ty-unite-kapasite > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ekran-yapilandirici .ty-unite-kapasite b { font-size: 15px; color: #fff; white-space: nowrap; }
.ekran-yapilandirici .ty-unite-kapasite small { font-size: 10.5px; color: var(--soluk); white-space: nowrap; }
.ekran-yapilandirici .ty-yeter { align-items: flex-end; text-align: right; }
.ekran-yapilandirici .ty-yeter b { font-size: 17px; }
.ekran-yapilandirici .ty-yeter[data-durum="ok"] b { color: #8dffcf; }
.ekran-yapilandirici .ty-yeter[data-durum="uyari"] b, .ekran-yapilandirici .ty-yeter[data-durum="asiri"] b { color: #ffd59a; }
.ekran-yapilandirici .ty-yeter[data-durum="tehlike"] b { color: #ff9fb1; }
.ekran-yapilandirici .ty-gosterge-kart { min-width: 0; height: 6px; margin-top: -2px; }
.ekran-yapilandirici .ty-unite-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 12px; margin: 0; }
.ekran-yapilandirici .ty-unite-dl div { display: flex; flex-direction: column; min-width: 0; }
.ekran-yapilandirici .ty-unite-dl dt { font: 500 11.5px/1.2 var(--font-govde); color: var(--soluk); }
.ekran-yapilandirici .ty-unite-dl dd { margin: 1px 0 0; font-size: 12px; color: var(--metin); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ekran-yapilandirici .ty-neden { font-size: 11.5px; line-height: 1.5; color: var(--soluk); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ekran-yapilandirici .ty-paket { grid-column: 1 / -1; flex-direction: row !important; align-items: baseline; justify-content: space-between; gap: 8px; padding-top: 5px; border-top: 1px dashed var(--cizgi); }
.ekran-yapilandirici .ty-unite-kart:hover .ty-neden, .ekran-yapilandirici .ty-unite-kart.secili .ty-neden { -webkit-line-clamp: 8; }
.ekran-yapilandirici .ty-unite-kart footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 4px; }
.ekran-yapilandirici .ty-adet { display: flex; align-items: center; gap: 4px; padding: 2px; border-radius: 10px; border: 1px solid var(--kenar); }
.ekran-yapilandirici .ty-adet .ikon-btn { width: 28px; height: 28px; }
.ekran-yapilandirici .ty-adet span { min-width: 54px; text-align: center; font-size: 12px; color: #fff; }
.ekran-yapilandirici .ty-secili-not { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; color: #8ef0ff; }
.ekran-yapilandirici .ty-unite-detay { padding-top: 14px; border-top: 1px solid var(--cizgi); }
.ekran-yapilandirici .ty-unite-detay:empty { display: none; }
.ekran-yapilandirici .ty-unite-detay h4 { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font: 600 13px/1.2 var(--font-govde); color: var(--metin-2); }
.ekran-yapilandirici .ty-unite-detay h4 .ik { color: var(--vurgu); }
.ekran-yapilandirici .ty-unite-detay h4 .mono { letter-spacing: .02em; text-transform: none; }
.ekran-yapilandirici .ty-detay-hava { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 12px; padding: 9px 11px; border-radius: 11px; background: rgba(34, 211, 238, .06); border: 1px solid rgba(34, 211, 238, .24); font-size: 12px; line-height: 1.5; color: var(--metin-2); }
.ekran-yapilandirici .ty-detay-hava > .ik { color: #5fe3ff; margin-top: 2px; flex: none; }
.ekran-yapilandirici .ty-detay-hava small { display: block; font-size: 11px; }
.ekran-yapilandirici .ty-detay-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 6px 22px; }
.ekran-yapilandirici .ty-detay-izgara .veri-liste { margin: 0; }
.ekran-yapilandirici .ty-detay-izgara .veri-satir { font-size: 12.3px; padding: 6px 0; }
.ekran-yapilandirici .ty-detay-baslik { margin: 6px 0 4px; font: 600 12.5px/1.2 var(--font-govde); color: var(--metin-2); }
.ekran-yapilandirici .ty-kapasite-blok { margin-top: 14px; }
.ekran-yapilandirici .ty-kapasite-blok .kucuk-metin { margin-bottom: 6px; font-size: 11.5px; }
.ekran-yapilandirici .kapasite-tablo td.ty-yakin { box-shadow: inset 0 0 0 2px rgba(56, 225, 255, .85); position: relative; }
.ekran-yapilandirici .ty-not-liste { margin: 10px 0 0; padding-left: 18px; font-size: 11.5px; color: var(--soluk); }
.ekran-yapilandirici .ty-not-liste.uyari { list-style: none; padding-left: 0; color: #ffe3b8; }
.ekran-yapilandirici .ty-not-liste.uyari li { display: flex; align-items: flex-start; gap: 6px; }
.ekran-yapilandirici .ty-not-liste.uyari .ik { color: var(--uyari); margin-top: 3px; flex: none; }
.ekran-yapilandirici .ty-unite-detay > .bilgi-kutu { margin-top: 12px; }

/* katalog modalı */
.ekran-yapilandirici .ty-modal-arka { z-index: 190; }
.ekran-yapilandirici .ty-katalog { width: min(1000px, 100%); max-height: min(86vh, 860px); display: flex; flex-direction: column; text-align: left; padding: 0; }
.ekran-yapilandirici .ty-katalog .diyalog-ust { align-items: flex-start; }
.ekran-yapilandirici .ty-katalog h2 { display: flex; align-items: center; gap: 8px; }
.ekran-yapilandirici .ty-katalog h2 .ik { color: var(--vurgu); }
.ekran-yapilandirici .ty-katalog .diyalog-ust p { margin-top: 4px; }
.ekran-yapilandirici .ty-katalog-filtre { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 22px; border-bottom: 1px solid var(--cizgi); }
.ekran-yapilandirici .ty-katalog-filtre .arama-kutu { flex: 1 1 240px; }
.ekran-yapilandirici .ty-katalog-filtre .arama-kutu input { min-height: 36px; }
.ekran-yapilandirici .ty-katalog-kw { display: flex; align-items: center; gap: 5px; font-size: 12px; }
.ekran-yapilandirici .ty-katalog-kw input { width: 66px; min-height: 36px; padding: 6px 9px; }
.ekran-yapilandirici .ty-katalog-liste { flex: 1 1 auto; min-height: 220px; overflow: auto; padding: 0 12px 10px; transition: opacity .2s; }
.ekran-yapilandirici .ty-katalog-liste.ty-yukleniyor-liste { opacity: .5; }
.ekran-yapilandirici .ty-katalog-tablo td { padding: 8px 10px; font-size: 12.5px; }
.ekran-yapilandirici .ty-katalog-tablo th { padding: 9px 10px; }
.ekran-yapilandirici .ty-katalog-tablo tr.secili td { background: rgba(56, 225, 255, .07); }
.ekran-yapilandirici .ty-katalog-tablo tr.uygunsuz td { opacity: .55; }
.ekran-yapilandirici .ty-katalog-alt { padding: 10px 22px 14px; border-top: 1px solid var(--cizgi); font-size: 11px; }
.ekran-yapilandirici .ty-daha { display: flex; margin: 10px auto 0; }

/* c) teklif */
.ekran-yapilandirici .ty-teklif-ust { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: space-between; gap: 10px; }
.ekran-yapilandirici .ty-teklif-ozet { flex: 1 1 520px; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px; }
.ekran-yapilandirici .ty-teklif-eylem { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 6px; }
.ekran-yapilandirici .ty-teklif-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 14px 0 10px; }
.ekran-yapilandirici .ty-teklif-govde { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 300px); gap: 14px; align-items: start; }
.ekran-yapilandirici .ty-maliyet-tablo { font-size: 12.5px; }
.ekran-yapilandirici .ty-maliyet-tablo td { padding: 7px 10px; vertical-align: top; }
.ekran-yapilandirici .ty-maliyet-tablo th { padding: 9px 10px; }
.ekran-yapilandirici .ty-maliyet-tablo td.sag { white-space: nowrap; }
.ekran-yapilandirici .ty-maliyet-tablo .ty-grup th, .ekran-yapilandirici .ty-maliyet-tablo .ty-grup td {
  padding: 6px 10px;
  background: rgba(56, 225, 255, .045);
  border-bottom: 1px solid var(--cizgi);
  font: 600 12.5px/1.2 var(--font-govde);
  color: var(--metin);
  text-align: left;
}
.ekran-yapilandirici .ty-maliyet-tablo .ty-grup td { text-align: right; letter-spacing: 0; color: var(--metin-2); }
.ekran-yapilandirici .ty-kalem-ad { color: #f0f6ff; }
.ekran-yapilandirici .ty-maliyet-tablo .alt-satir { font-size: 11px; line-height: 1.45; margin-top: 2px; }
.ekran-yapilandirici .ty-elle td { background: rgba(255, 181, 71, .04); }
.ekran-yapilandirici .ty-elle-rozet { height: 18px; gap: 4px; font-size: 9px; vertical-align: 1px; }
.ekran-yapilandirici .ty-th-not { font-weight: 500; letter-spacing: .04em; text-transform: none; color: rgba(142, 163, 194, .7); }
.ekran-yapilandirici .ty-ek-sil { width: 26px; height: 26px; margin: -4px -6px -4px 4px; vertical-align: middle; }
.ekran-yapilandirici .ty-ek-sil:hover:not(:disabled) { color: #ffc9d3; background: rgba(255, 92, 122, .12); border-color: rgba(255, 92, 122, .35); }
.ekran-yapilandirici .ty-toplamlar { position: sticky; top: 0; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--kenar); background: linear-gradient(180deg, rgba(19, 31, 56, .82), rgba(9, 15, 30, .82)); }
.ekran-yapilandirici .ty-toplamlar dl { margin: 0; }
.ekran-yapilandirici .ty-toplamlar dl > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 8px; padding: 5px 0; }
.ekran-yapilandirici .ty-toplamlar dt { font-size: 12.3px; color: var(--metin-2); }
.ekran-yapilandirici .ty-toplamlar dd { margin: 0; font-size: 12.8px; color: #f3f8ff; white-space: nowrap; }
.ekran-yapilandirici .ty-toplamlar .ty-cizgi { margin-top: 3px; padding-top: 8px; border-top: 1px dashed var(--kenar); }
.ekran-yapilandirici .ty-toplamlar .ty-kar dt .rozet { margin-left: 4px; vertical-align: 1px; }
.ekran-yapilandirici .ty-kar-cubuk { flex-basis: 100%; height: 4px; border-radius: 3px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.ekran-yapilandirici .ty-kar-cubuk i { display: block; height: 100%; border-radius: 3px; background: var(--vurgu); }
.ekran-yapilandirici .ty-kar small { flex-basis: 100%; font-size: 10.5px; }
.ekran-yapilandirici .ty-satis dt, .ekran-yapilandirici .ty-satis dd { font-weight: 600; color: #fff; }
.ekran-yapilandirici .ty-genel { margin-top: 6px; padding: 10px 12px !important; border-radius: 11px; background: rgba(56, 225, 255, .1); border: 1px solid rgba(56, 225, 255, .35); }
.ekran-yapilandirici .ty-genel dt { font-weight: 600; color: #fff; }
.ekran-yapilandirici .ty-genel dd { font-size: 17px; font-weight: 700; color: #fff; text-shadow: 0 0 18px rgba(56, 225, 255, .45); }
.ekran-yapilandirici .ty-tl dt, .ekran-yapilandirici .ty-tl dd { color: var(--soluk); font-size: 12px; }
.ekran-yapilandirici .ty-ek-kalem { margin-top: 16px; padding: 12px 14px; border-radius: 13px; border: 1px dashed rgba(120, 200, 255, .22); background: rgba(4, 8, 16, .25); }
.ekran-yapilandirici .ty-ek-kalem h4 { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; font-size: 13px; font-weight: 600; }
.ekran-yapilandirici .ty-ek-kalem h4 .ik { color: var(--vurgu); }
.ekran-yapilandirici .ty-ek-kalem h4 .soluk { font: 400 11px var(--font-govde); }
.ekran-yapilandirici .ty-ek-form { display: grid; grid-template-columns: minmax(0, 1fr) 150px auto; gap: 8px; align-items: center; }
.ekran-yapilandirici .ty-ek-form input { width: 100%; min-height: 36px; }
.ekran-yapilandirici .ty-ek-tutar { position: relative; }
.ekran-yapilandirici .ty-ek-tutar input { padding-right: 28px; font-family: var(--font-mono); text-align: right; }
.ekran-yapilandirici .ty-ek-tutar span { position: absolute; right: 11px; top: 50%; transform: translateY(-50%); font-size: 12px; color: var(--soluk); pointer-events: none; }
.ekran-yapilandirici .ty-ek-hata { margin-top: 6px; font-size: 12px; color: #ff9fb1; }
.ekran-yapilandirici .ty-teklif-govde + .ty-ek-kalem { margin-top: 14px; }


/* hata ekranı */
.ekran-yapilandirici .ty-hata-ekran { grid-column: 1 / -1; grid-row: 1 / -1; display: grid; place-items: center; padding: 24px; }

/* ── Duyarlı düzen ────────────────────────────────────────────────────────── */

@media (max-width: 1440px) {
  .ekran-yapilandirici .ty-serit { gap: 6px 20px; }
}
@media (min-width: 901px) and (max-width: 1199px) {
  .ekran-yapilandirici .ty { --ty-sol: 318px; }
  .ekran-yapilandirici .ty-serit-etiket { font-size: 11.5px; }
  .ekran-yapilandirici .ty-serit-oge > b { font-size: 17px; }
  .ekran-yapilandirici .ty-serit-model { max-width: 150px; }
  .ekran-yapilandirici .ty-arac > button > span, .ekran-yapilandirici .ty-gorunum > button > span { display: none; }
  .ekran-yapilandirici .ty-arac .ty-arac-hava > span { display: inline; }
  .ekran-yapilandirici .ty-ai-kure-metin { display: none; }
  .ekran-yapilandirici .ty-ai-kure-dugme { padding: 0 7px; }
}
@container sonuc (max-width: 900px) {
  .ekran-yapilandirici .ty-teklif-govde { grid-template-columns: 1fr; }
}

/* ≤900 px: üstte 3B (~40vh), altında form; alta yapışık sıkışık sonuç çubuğu */
@media (max-width: 900px) {
  .ekran-yapilandirici .ty {
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px 10px calc(76px + env(safe-area-inset-bottom, 0px));
    overscroll-behavior: contain;
  }
  .ekran-yapilandirici .ty-orta { display: contents; }
  .ekran-yapilandirici .ty-ust { order: 0; height: 40px; gap: 4px; }
  .ekran-yapilandirici .ty-sahne-kap { order: 1; flex: 0 0 auto; height: 40vh; min-height: 240px; max-height: 420px; }
  .ekran-yapilandirici .ty-sol { order: 2; flex: none; overflow: visible; }
  .ekran-yapilandirici .ty-form { overflow: visible; padding: 12px 14px 16px; }
  .ekran-yapilandirici .ty-kirinti { display: none; }
  .ekran-yapilandirici .ty-proje-ad { width: auto; flex: 1 1 auto; min-width: 0; font-size: 14px; }
  .ekran-yapilandirici .ty-ust > .ty-ust-bosluk { display: none; }
  .ekran-yapilandirici .ty-kaydet { padding: 0 10px; }
  .ekran-yapilandirici .ty-gecmis .ikon-btn { width: 30px; }

  /* araç çubuğu: yalnız simgeler + hava etiketi */
  .ekran-yapilandirici .ty-arac { bottom: 10px; padding: 4px; gap: 2px; }
  .ekran-yapilandirici .ty-arac > button, .ekran-yapilandirici .ty-gorunum > button { height: 32px; padding: 0 9px; }
  .ekran-yapilandirici .ty-arac > button > span, .ekran-yapilandirici .ty-gorunum > button > span { display: none; }
  .ekran-yapilandirici .ty-gorunum-panel { left: auto; right: -40px; transform: none; width: min(300px, calc(100vw - 32px)); }
  .ekran-yapilandirici .ty-hava-panel { top: 8px; left: 8px; width: min(236px, calc(100% - 16px)); max-height: calc(100% - 64px); padding: 9px 11px; }
  .ekran-yapilandirici .ty-hp-ust { margin-bottom: 6px; }
  .ekran-yapilandirici .ty-hp-metrik b { font-size: 14px; }

  /* sonuç çubuğu: alta yapışık */
  .ekran-yapilandirici .ty-serit {
    position: fixed;
    z-index: 45;
    left: 0;
    right: 0;
    bottom: 0;
    min-height: 60px;
    gap: 4px 20px;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)) 14px;
    border-radius: 16px 16px 0 0;
    border-width: 1px 0 0;
    background: rgba(8, 14, 28, .96);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }
  .ekran-yapilandirici .ty-serit-unite, .ekran-yapilandirici .ty-serit-durum { display: none; }
  .ekran-yapilandirici .ty-serit-oge > b { font-size: 16px; }
  .ekran-yapilandirici .ty-serit-oge > b.mono { font-size: 15px; }
  .ekran-yapilandirici .ty-serit-etiket { font-size: 11px; }
  .ekran-yapilandirici .ty-serit .ty-ust-bosluk { display: block; }
  .ekran-yapilandirici .ty-teklif-gor { padding: 0 12px; }
  .ekran-yapilandirici .ty-teklif-gor .ty-uzun { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ekran-yapilandirici .ty-teklif-gor .ty-kisa { display: inline; }
  .ekran-yapilandirici .ty-detay-dugme { width: 36px; padding: 0; justify-content: center; }
  .ekran-yapilandirici .ty-detay-dugme > span { display: none; }

  /* Detaylar ve AI: tam ekran sayfa */
  .ekran-yapilandirici .ty-detay {
    position: fixed;
    z-index: 70;
    inset: var(--ust-cubuk-y) 0 0 0;
    flex: none;
    border-radius: 0;
    border: 0;
    background: rgba(6, 11, 22, .99);
  }
  .ekran-yapilandirici .ty-ai-cekmece { position: fixed; z-index: 80; inset: var(--ust-cubuk-y) 0 0 0; width: auto; border-radius: 0; border: 0; }
  .ekran-yapilandirici .ty[data-ai="kapali"] .ty-ai-cekmece { transform: translateY(18px); }
  .ekran-yapilandirici .ty-ai-kure-dugme { position: fixed; z-index: 46; right: 56px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); height: 42px; padding: 0 4px; box-shadow: 0 0 18px -6px rgba(139, 92, 255, .8); }
  .ekran-yapilandirici .ty-ai-kure-metin { display: none; }
  .ekran-yapilandirici .ty-ai-kure-dugme .ai-kure { width: 32px; height: 32px; }
  .ekran-yapilandirici .ty-ai-kure-dugme:hover { transform: none; }
  .ekran-yapilandirici .ty-detay-dugme { margin-left: 52px; }
  .ekran-yapilandirici .ty-hp-metrikler { margin-top: 8px; }
  .ekran-yapilandirici .ty-hp-uyari { margin-top: 6px; }
}
@media (max-width: 480px) {
  .ekran-yapilandirici .ty { padding-left: 8px; padding-right: 8px; }
  .ekran-yapilandirici .ty-kaydet > span { display: none; }
  .ekran-yapilandirici .ty-kaydet { width: 34px; padding: 0; justify-content: center; }
  .ekran-yapilandirici .ty-serit { gap: 4px 12px; }
  .ekran-yapilandirici .ty-ikili { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 8px; }
  .ekran-yapilandirici .ty-adim-btn { font-size: 11.5px; gap: 4px; }
  .ekran-yapilandirici .ty-adim-ad { max-width: 64px; }
  .ekran-yapilandirici .ty-sekmeler [role="tab"] { padding: 0 9px; font-size: 13px; }
}

/* ── Hareketler ───────────────────────────────────────────────────────────── */

@keyframes ty-don { to { transform: rotate(360deg); } }
@keyframes ty-yanip { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
@keyframes ty-tire { to { stroke-dashoffset: -18; } }
@keyframes ty-tarama { 0% { transform: translateX(-100%); } 100% { transform: translateX(260%); } }
@keyframes ty-nokta-nabiz { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .55; transform: scale(.82); } }
@keyframes ty-kaydet-nabiz { 0%, 100% { box-shadow: 0 10px 28px -12px rgba(56, 225, 255, .75), inset 0 1px 0 rgba(255, 255, 255, .45); } 50% { box-shadow: 0 0 0 3px rgba(56, 225, 255, .25), 0 10px 32px -10px rgba(56, 225, 255, .95), inset 0 1px 0 rgba(255, 255, 255, .45); } }
@keyframes ty-adim-gir { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes ty-diger-gir { from { opacity: 0; transform: translateX(-6px); } to { opacity: 1; transform: none; } }
@keyframes ty-panel-gir { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: none; } }
@keyframes ty-baglam-gir { from { opacity: 0; transform: translateY(4px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes ty-detay-gir { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes ty-cekmece { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: none; } }
@keyframes ty-sol-cik { 0%, 70% { opacity: 1; } 100% { opacity: 0; } }
@keyframes ty-kart-sec { 0% { box-shadow: 0 0 0 1px rgba(56, 225, 255, .9), 0 0 50px -6px rgba(56, 225, 255, .9); } 100% { box-shadow: 0 0 0 1px rgba(56, 225, 255, .3), 0 12px 40px -14px rgba(56, 225, 255, .55); } }
@keyframes ty-ai-parla {
  0% { background: rgba(139, 92, 255, .2); box-shadow: 0 0 0 1px rgba(139, 92, 255, .95), 0 0 28px -2px rgba(139, 92, 255, .8); }
  60% { background: rgba(139, 92, 255, .08); box-shadow: 0 0 0 1px rgba(139, 92, 255, .5), 0 0 16px -4px rgba(139, 92, 255, .5); }
  100% { background: transparent; box-shadow: 0 0 0 1px rgba(139, 92, 255, 0), 0 0 0 0 rgba(139, 92, 255, 0); }
}
@keyframes ty-hedef-parla {
  0% { background: rgba(56, 225, 255, .16); box-shadow: 0 0 0 1px rgba(56, 225, 255, .95), 0 0 26px -2px rgba(56, 225, 255, .75); }
  100% { background: transparent; box-shadow: 0 0 0 1px rgba(56, 225, 255, 0), 0 0 0 0 rgba(56, 225, 255, 0); }
}
@keyframes ty-gecmis-parla {
  0% { background: rgba(255, 255, 255, .07); box-shadow: 0 0 0 1px rgba(200, 235, 255, .5); }
  100% { background: transparent; box-shadow: 0 0 0 1px rgba(200, 235, 255, 0); }
}
@keyframes ty-ai-adim {
  0%, 30% { box-shadow: 0 0 0 3px rgba(139, 92, 255, .55), 0 0 20px rgba(139, 92, 255, .9); border-color: #8b5cff; }
  100% { box-shadow: 0 0 0 0 rgba(139, 92, 255, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .ekran-yapilandirici .ty *,
  .ekran-yapilandirici .ty *::before,
  .ekran-yapilandirici .ty *::after,
  .ty-belge-kap,
  .ty-belge-kap * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* ── Teklif belgesi (önizleme + yazdırma) ─────────────────────────────────── */

.ty-belge-kap {
  position: fixed;
  inset: 0;
  z-index: 240;
  display: flex;
  flex-direction: column;
  background: #02050c;   /* opak: arkadaki 3B/etiketler okunmaz; blur gereksiz */
  animation: ty-belge-gir .22s ease both;
}
.ty-belge-arac {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--cizgi);
  background: linear-gradient(180deg, rgba(17, 28, 52, .98), rgba(8, 14, 28, .98));
  color: var(--metin);
}
.ty-belge-arac-baslik { display: inline-flex; align-items: center; gap: 8px; margin-right: auto; font: 600 13px/1.2 var(--font-baslik); }
.ty-belge-arac-baslik .ik { color: var(--vurgu); }
.ty-belge-ayar { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: var(--soluk); }
.ty-belge-ayar input { min-height: 32px; padding: 5px 8px; font-size: 12.5px; }
.ty-belge-ayar input[type="number"] { width: 70px; }
.ty-belge-not-ayar input { width: min(280px, 40vw); }
.ty-belge-kaydir { flex: 1 1 auto; overflow: auto; padding: 26px 16px 56px; }
.ty-belge-sayfa { width: min(210mm, 100%); min-height: 297mm; margin: 0 auto; background: #fff; color: #172338; border-radius: 4px; box-shadow: 0 30px 90px -20px rgba(0, 0, 0, .85), 0 0 0 1px rgba(255, 255, 255, .06); }
@keyframes ty-belge-gir { from { opacity: 0; } to { opacity: 1; } }

.ty-belge { padding: 15mm 14mm 12mm; font: 400 9.6pt/1.45 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #172338; -webkit-font-smoothing: antialiased; }
.ty-belge * { box-sizing: border-box; }
.ty-belge b, .ty-belge strong { color: #0b1a33; font-weight: 600; }
.ty-belge h1, .ty-belge h2 { font-family: "Space Grotesk", "Inter", system-ui, sans-serif; color: #0b1a33; letter-spacing: -.01em; }
.ty-belge .sag { text-align: right; }
.ty-b-ust { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding-bottom: 12px; border-bottom: 2px solid #0b1a33; }
.ty-b-ust::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 36%; height: 2px; background: linear-gradient(90deg, #0aa6d6, #6a3cf0); }
.ty-b-marka { display: flex; align-items: center; gap: 11px; }
.ty-belge-logo { display: block; flex: none; }
.ty-b-marka b { display: block; font: 700 17pt/1.05 "Space Grotesk", "Inter", sans-serif; letter-spacing: .16em; color: #0b1a33; }
.ty-b-marka span { display: block; margin-top: 3px; font-size: 8pt; letter-spacing: .03em; color: #5a6b85; }
.ty-b-baslik { text-align: right; }
.ty-b-baslik h1 { margin: 0 0 6px; font-size: 16pt; font-weight: 600; }
.ty-b-baslik dl { display: grid; gap: 1px; margin: 0; }
.ty-b-baslik dl div { display: flex; justify-content: flex-end; gap: 10px; }
.ty-b-baslik dt { font-size: 8pt; color: #5a6b85; }
.ty-b-baslik dd { margin: 0; min-width: 120px; font: 600 8.8pt "JetBrains Mono", ui-monospace, monospace; color: #0b1a33; text-align: left; }
.ty-b-taraf { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0 6px; }
.ty-b-taraf > div { display: flex; flex-direction: column; gap: 1px; padding: 9px 12px; border: 1px solid #d8e1ee; border-radius: 6px; background: #f6f9fc; }
.ty-b-etiket { font: 600 8.5pt "Inter", system-ui, sans-serif; color: #0a8fbd; }
.ty-b-taraf b { font-size: 11pt; color: #0b1a33; }
.ty-b-taraf span:not(.ty-b-etiket) { font-size: 8.6pt; color: #5a6b85; }
.ty-belge h2 { margin: 14px 0 6px; padding-bottom: 4px; border-bottom: 1px solid #e3e9f2; font-size: 10.5pt; font-weight: 600; }
.ty-b-ozet { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.ty-b-ozet-tablo { width: 100%; border-collapse: collapse; }
.ty-b-ozet-tablo th { width: 34%; padding: 3.5px 8px 3.5px 0; vertical-align: top; text-align: left; font-size: 8.5pt; font-weight: 500; color: #5a6b85; }
.ty-b-ozet-tablo td { padding: 3.5px 0; vertical-align: top; color: #172338; }
.ty-b-ozet-tablo tr + tr th, .ty-b-ozet-tablo tr + tr td { border-top: 1px solid #eef2f7; }
.ty-b-iki th { width: 28%; }
.ty-b-soluk { color: #8a99b0; }
.ty-b-resim { margin: 34px 0 0; border: 1px solid #d8e1ee; border-radius: 6px; overflow: hidden; background: #04070d; }
.ty-b-resim img { display: block; width: 100%; height: auto; }
.ty-b-resim figcaption { padding: 4px 8px; font-size: 7.4pt; color: #5a6b85; background: #f6f9fc; border-top: 1px solid #d8e1ee; }
.ty-b-tablo { width: 100%; border-collapse: collapse; font-size: 8.7pt; }
.ty-b-tablo thead th { padding: 5px 7px; background: #0b1a33; color: #fff; font-size: 7.8pt; font-weight: 600; letter-spacing: .02em; text-align: left; }
.ty-b-tablo thead th.sag { text-align: right; }
.ty-b-tablo tbody td { padding: 4px 7px; border-bottom: 1px solid #eef2f7; vertical-align: top; }
.ty-b-tablo td.sag { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 8.4pt; white-space: nowrap; }
.ty-b-tablo td.sag em { font-family: "Inter", sans-serif; font-style: normal; font-size: 7.8pt; color: #9a6200; }
.ty-b-grup th { padding: 4px 7px; background: #edf6fb; color: #0a7aa3; font: 600 8.4pt "Inter", system-ui, sans-serif; text-align: left; }
.ty-b-no { width: 22px; color: #8a99b0; }
.ty-b-toplam { display: flex; justify-content: flex-end; margin-top: 8px; }
.ty-b-toplam dl { width: 310px; margin: 0; }
.ty-b-toplam dl div { display: flex; justify-content: space-between; gap: 12px; padding: 4px 2px; border-bottom: 1px solid #eef2f7; }
.ty-b-toplam dt { color: #5a6b85; }
.ty-b-toplam dd { margin: 0; font: 600 9pt "JetBrains Mono", ui-monospace, monospace; color: #0b1a33; white-space: nowrap; }
.ty-b-toplam .ty-b-genel { margin-top: 5px; padding: 7px 10px; border: 0; border-radius: 5px; background: linear-gradient(100deg, #0b1a33, #13284d); }
.ty-b-toplam .ty-b-genel dt { color: #fff; font-weight: 600; }
.ty-b-toplam .ty-b-genel dd { color: #fff; font-size: 11pt; }
.ty-b-toplam .ty-b-tl dt, .ty-b-toplam .ty-b-tl dd { color: #5a6b85; font-weight: 500; font-size: 8.4pt; }
.ty-b-notlar ol { margin: 0; padding-left: 16px; font-size: 8.4pt; color: #36465f; }
.ty-b-notlar li + li { margin-top: 2px; }
.ty-b-imza { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 22px; }
.ty-b-imza div { display: flex; flex-direction: column; gap: 4px; }
.ty-b-imza span { font-size: 8.6pt; font-weight: 600; color: #0b1a33; }
.ty-b-imza i { display: block; height: 34px; border-bottom: 1px solid #9aa9bf; }
.ty-b-imza small { font-size: 7.4pt; color: #8a99b0; }
.ty-b-alt { display: flex; justify-content: space-between; gap: 10px; margin-top: 18px; padding-top: 6px; border-top: 1px solid #e3e9f2; font-size: 7.3pt; color: #8a99b0; }

@media (max-width: 700px) {
  .ty-belge { padding: 18px 14px; font-size: 9pt; }
  .ty-b-ust, .ty-b-ozet, .ty-b-taraf { grid-template-columns: minmax(0, 1fr); display: grid; }
  .ty-b-baslik { text-align: left; }
  .ty-b-baslik dl div { justify-content: flex-start; }
  .ty-b-tablo { display: block; overflow-x: auto; }
  .ty-belge-sayfa { min-height: 0; }
  .ty-b-resim { margin-top: 6px; }
}

@media print {
  @page { size: A4 portrait; margin: 11mm 10mm 12mm; }
  html.ty-yazdirma { color-scheme: light !important; }
  html.ty-yazdirma, html.ty-yazdirma body { background: #fff !important; height: auto !important; min-height: 0 !important; overflow: visible !important; }
  html.ty-yazdirma body::before, html.ty-yazdirma body::after { display: none !important; content: none !important; }
  html.ty-yazdirma body > *:not(.ty-belge-kap) { display: none !important; }
  html.ty-yazdirma .ty-belge-kap { position: static !important; display: block !important; inset: auto !important; background: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; animation: none !important; }
  html.ty-yazdirma .ty-belge-arac { display: none !important; }
  html.ty-yazdirma .ty-belge-kaydir { overflow: visible !important; padding: 0 !important; }
  html.ty-yazdirma .ty-belge-sayfa { width: auto !important; min-height: 0 !important; margin: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
  html.ty-yazdirma .ty-belge { padding: 0 !important; }
  .ty-belge, .ty-belge * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .ty-b-tablo tr, .ty-b-ozet-tablo tr { break-inside: avoid; }
  .ty-b-tablo thead { display: table-header-group; }
  .ty-b-toplam, .ty-b-notlar, .ty-b-imza, .ty-b-resim { break-inside: avoid; }
  .ty-b-unite { break-inside: avoid; }
}

/* Soğutma adımı: split'e özgü alanlar (monoblokta tek satır özet; split'te özet gizli, alanlar açık) */
.ekran-yapilandirici .ty-split-alanlar:not([data-mono]) > summary { display: none; }
.ekran-yapilandirici .ty-split-alanlar:not([data-mono]) > .ty-katlanir-govde { padding: 0; border: 0; background: none; }
.ekran-yapilandirici .ty-split-alanlar[data-mono] .ty-zorunlu { display: none; }

/* AI çekmecesi sahnenin üstüne bindiğinde (901–1679 px) araç çubuğu sahnenin görünen sol kısmına hizalanır */
@media (min-width: 901px) and (max-width: 1679px) {
  .ekran-yapilandirici .ty[data-ai="acik"] .ty-arac { left: 14px; transform: none; max-width: calc(100% - var(--ty-ai) - 40px); }
}

/* Araç çubuğundaki kısa "Hava" etiketi yalnız telefonda (uzun etiket gizliyken) görünür */
.ekran-yapilandirici .ty-arac .ty-arac-kisa { display: none; font-weight: 600; font-size: 12.5px; }

@media (max-width: 900px) {
  .ekran-yapilandirici .ty-arac .ty-arac-hava > .ty-arac-kisa { display: inline; margin-left: 2px; }
  .ekran-yapilandirici .ty-arac .ty-arac-hava { padding: 0 11px 0 8px; }

  /* Hava paneli telefonda: sahnenin altında tek satırlık şerit (lejant + 2 metrik); uyarı ve Gelişmiş
     yalnız "Gelişmiş" açılınca, şerit yukarı doğru genişler. Görünüm paneli açıkken geçici gizlenir. */
  .ekran-yapilandirici .ty-hava-panel {
    top: auto;
    left: 8px;
    right: 8px;
    bottom: 52px;
    width: auto;
    max-height: calc(100% - 70px);
    padding: 7px 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 12px;
  }
  .ekran-yapilandirici .ty-hava-panel[hidden] { display: none; }
  .ekran-yapilandirici .ty-hp-ust { grid-column: 1 / -1; grid-row: 1; margin: 0; }
  .ekran-yapilandirici .ty-hp-ust .ty-hp-baslik { font-size: 12.5px; }
  .ekran-yapilandirici .ty-hp-lejant { grid-column: 1; min-width: 0; }
  .ekran-yapilandirici .ty-hp-bar { height: 6px; }
  .ekran-yapilandirici .ty-hp-uclar { font-size: 10.5px; }
  .ekran-yapilandirici .ty-hava-panel > .ty-hp-metrikler { grid-column: 2; display: flex; gap: 10px; margin: 0; }
  .ekran-yapilandirici .ty-hp-metrik span { font-size: 10.5px; }
  .ekran-yapilandirici .ty-hp-metrik b { font-size: 13px; }
  .ekran-yapilandirici .ty-hp-gelismis-dugme { grid-row: 1; grid-column: 2; justify-self: end; margin: 0 34px 0 0; font-size: 12px; position: relative; z-index: 1; }
  .ekran-yapilandirici .ty-hp-uclar span:nth-child(2) { display: none; }
  .ekran-yapilandirici .ty-hp-lejant { grid-row: 2; }
  .ekran-yapilandirici .ty-hava-panel > .ty-hp-metrikler { grid-row: 2; }
  .ekran-yapilandirici .ty-hp-uyari { grid-column: 1 / -1; display: none; }
  .ekran-yapilandirici .ty-hp-gelismis { grid-column: 1 / -1; }
  .ekran-yapilandirici .ty-hava-panel:has(.ty-hp-gelismis) .ty-hp-uyari { display: flex; }
  .ekran-yapilandirici .ty-hp-bos { grid-column: 1 / -1; margin: 0; }
  .ekran-yapilandirici .ty-sahne-kap.ty-gorunum-acik .ty-hava-panel { display: none; }
}

/* Detaylar → Isı yükü tablosu telefonda kendi içinde yatay kaydırılır (sayfa kaymaz, W sütunu kesilmez) */
@media (max-width: 600px) {
  .ekran-yapilandirici .ty-isi-tablo-kap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
.ekran-yapilandirici .ty-unite-sinif { font-size: 12.5px; white-space: nowrap; }
/* Açılışta görünürlük ANINDA değişir (metin kutusu hemen odak alabilsin); kapanışta solma süresince görünür kalır */
.ekran-yapilandirici .ty[data-ai="acik"] .ty-ai-cekmece { transition: transform .3s cubic-bezier(.2, .8, .2, 1), opacity .25s ease, visibility 0s; }
