/* azatech – ORTAK BİLEŞEN TAKIMI (e2-*) : Soğuyanlar, Takvim, Fiyat listesi, Envanter, Bina şeması, Fırsat / Müşteri / Acenta detay kartları.
 * Yapı: başlık + tek satır özet + tek ana eylem → KPI şeridi → süzgeç çubuğu → içerik.
 * Renk üretmez: tema değişkenleri (--navy, --line, --mut, --panel, --red). Aralık --b-* (belirtec.css), denetim yüksekliği 36 px (dokunmada 44).
 * Mantıksal özellikler (inline-start/end): Arapça / Farsça RTL'de ayna düzen. Sınıf adlarında reklam engelleyici kalıpları yok.
 * İçerik ve işlev değişmez; JS şablonlarının yeni yerleşimine aittir. Bu dosya diğerlerinden SONRA yüklenir. */
.e2-app {
  --e2-cizgi: color-mix(in srgb, var(--navy) 10%, var(--line));
  --e2-yuzey: color-mix(in srgb, var(--navy) 4%, var(--panel, #fff));
  --e2-vurgu: color-mix(in srgb, var(--navy) 8%, var(--panel, #fff));
  --e2-kirmizi: var(--red, #b42318);
  --e2-amber: #b45309;
  --e2-yesil: var(--green, #1a7f4b);
  --e2-h: 36px; --e2-r: 10px;
  display: grid; gap: var(--b-3, 12px); align-content: start; min-width: 0;
  width: 100%; max-width: var(--sayfa-genis, none); margin-inline: auto; padding: var(--b-3, 12px) var(--sayfa-px, 18px) var(--b-6, 32px); box-sizing: border-box;
}
.e2-app > * { min-width: 0; }
.e2-app :is(h2, h3, h4, p) { margin: 0; }

/* ---------- başlık: ad + tek satır özet (solda), ana eylem (sağda) ---------- */
.e2-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--b-2, 8px) var(--b-4, 16px); }
.e2-bas-m { display: grid; gap: 2px; min-width: 0; flex: 1 1 280px; }
.e2-bas h2 { font-size: 18px; line-height: 1.25; font-weight: 650; letter-spacing: -.01em; }
.e2-ozet { color: var(--mut); font-size: 13.5px; line-height: 1.4; }
.e2-ozet b { color: var(--ink); font-weight: 650; }
.e2-eylem { display: flex; flex-wrap: wrap; align-items: center; gap: var(--b-2, 8px); }
.e2-app :is(button, .ghost, .primary):not(.link):not(.chip) { min-height: var(--e2-h); }
.e2-app .ghost, .e2-app .primary { border-radius: 8px; }
.e2-app .ghost.sm, .e2-app .primary.sm { min-height: 32px; padding-block: 0; }

/* ---------- KPI şeridi: tek kutu, bölmeler ince çizgiyle ayrılır ---------- */
.e2-kpi { display: grid; grid-template-columns: repeat(var(--e2-n, 3), minmax(0, 1fr)); background: var(--panel, #fff); border: 1px solid var(--e2-cizgi); border-radius: var(--e2-r); box-shadow: var(--g-1); overflow: hidden; }
.e2-k { display: grid; gap: 2px; align-content: start; text-align: start; padding: var(--b-3, 12px) var(--b-4, 16px); min-width: 0; background: none; border: 0; border-radius: 0; color: inherit; font: inherit; cursor: default; position: relative; }
.e2-k + .e2-k { border-inline-start: 1px solid var(--e2-cizgi); }
.e2-k small { font-size: 12px; color: var(--mut); font-weight: 550; letter-spacing: .01em; }
.e2-k b { font-size: 22px; line-height: 1.2; font-weight: 650; letter-spacing: -.01em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.e2-k span { font-size: 12px; color: var(--mut); }
button.e2-k { cursor: pointer; }
button.e2-k:hover { background: var(--e2-yuzey); }
button.e2-k.on { background: var(--e2-vurgu); }
button.e2-k.on::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 2px; background: var(--navy); }
.e2-k.kritik b { color: var(--e2-kirmizi); }
.e2-kpi-alt { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--b-2, 8px) var(--b-4, 16px); padding: var(--b-2, 8px) var(--b-4, 16px); border-top: 1px solid var(--e2-cizgi); background: var(--e2-yuzey); font-size: 12.5px; color: var(--mut); }
.e2-kpi-alt > .e2-not { flex: 1 1 320px; }

/* dağılım çubuğu (soğuyan süre bandı) */
.e2-sev { display: flex; flex-wrap: wrap; gap: var(--b-1, 4px) var(--b-4, 16px); }
.e2-sev span { display: inline-flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; color: var(--ink); }
.e2-sev i { width: 8px; height: 8px; border-radius: 50%; background: var(--e2-nokta, var(--mut)); flex: none; }
.e2-sev .kritik { --e2-nokta: var(--e2-kirmizi); }
.e2-sev .orta { --e2-nokta: #e0654f; }
.e2-sev .hafif { --e2-nokta: #efb3a8; }
.e2-sev b { font-weight: 650; }

/* ---------- süzgeç çubuğu ---------- */
.e2-suz { display: flex; flex-wrap: wrap; align-items: center; gap: var(--b-2, 8px); }
.e2-suz > input[type=search], .e2-suz > .e2-ara { flex: 1 1 240px; max-width: 360px; min-width: 0; }
.e2-suz :is(input:not([type=checkbox], [type=radio]), select) { height: var(--e2-h); padding-block: 0; border-radius: 8px; min-width: 0; max-width: 100%; }
.e2-suz > .e2-say { margin-inline-start: auto; color: var(--mut); font-size: 12.5px; white-space: nowrap; }
.e2-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.e2-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 12px; border: 1px solid var(--e2-cizgi); border-radius: 999px; background: var(--panel, #fff); color: var(--ink); font-size: 13px; font-weight: 550; }
.e2-chip b { font-weight: 650; color: var(--navy); font-variant-numeric: tabular-nums; }
.e2-chip:hover { background: var(--e2-yuzey); }
.e2-chip.on { background: var(--navy); border-color: var(--navy); color: #fff; }
.e2-chip.on b { color: inherit; }
.e2-etiket { font-size: 12px; font-weight: 600; color: var(--mut); }

/* toplu işlem çubuğu: yalnız seçim varken */
.e2-toplu { display: flex; flex-wrap: wrap; align-items: center; gap: var(--b-2, 8px) var(--b-3, 12px); padding: var(--b-2, 8px) var(--b-3, 12px); border: 1px solid color-mix(in srgb, var(--navy) 30%, var(--line)); border-radius: var(--e2-r); background: var(--e2-vurgu); }
.e2-toplu select { height: var(--e2-h); border-radius: 8px; min-width: 0; max-width: 100%; }
.e2-toplu .e2-not { flex: 1 1 220px; }

/* ---------- kart ve tablo ---------- */
.e2-kart { background: var(--panel, #fff); border: 1px solid var(--e2-cizgi); border-radius: var(--e2-r); box-shadow: var(--g-1); min-width: 0; }
.e2-kart-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--b-2, 8px); padding: var(--b-3, 12px) var(--b-4, 16px); border-bottom: 1px solid var(--e2-cizgi); }
.e2-kart-bas h3 { font-size: 14px; font-weight: 650; }
.e2-kart-bas small { color: var(--mut); font-size: 12.5px; }
.e2-kart-ic { padding: var(--b-4, 16px); }
.e2-tablo { overflow-x: auto; max-width: 100%; }
table.e2-t { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; }
table.e2-t th { position: sticky; top: 0; z-index: 1; padding: 0 var(--b-3, 12px); height: 38px; text-align: start; font-size: 11.5px; font-weight: 650; letter-spacing: .05em; text-transform: uppercase; color: var(--mut); background: var(--e2-yuzey); border-bottom: 1px solid var(--e2-cizgi); white-space: nowrap; }
table.e2-t td { padding: 0 var(--b-3, 12px); height: 48px; border-bottom: 1px solid var(--e2-cizgi); vertical-align: middle; max-width: none; min-width: 0; }
table.e2-t tbody tr:last-child td { border-bottom: 0; }
table.e2-t tbody tr:hover td { background: var(--e2-yuzey); }
table.e2-t .e2-sag { text-align: end; font-variant-numeric: tabular-nums; }
table.e2-t td.e2-eylem-h { text-align: end; white-space: nowrap; width: 1%; }
table.e2-t td.e2-eylem-h > * { vertical-align: middle; }
.e2-t .e2-hucre-ad { display: block; max-width: 28ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.e2-t a.link, .e2-t a.e2-bag { color: var(--navy); font-weight: 600; text-decoration: none; }
.e2-t a.link:hover, .e2-t a.e2-bag:hover { text-decoration: underline; }
.e2-t .e2-sol td:first-child { box-shadow: inset 3px 0 0 var(--e2-sol, transparent); }
.e2-t .e2-sol.kritik { --e2-sol: var(--e2-kirmizi); }
.e2-t .e2-sol.orta { --e2-sol: #e0654f; }
.e2-t .e2-sol.hafif { --e2-sol: #efb3a8; }
[dir=rtl] .e2-t .e2-sol td:first-child { box-shadow: inset -3px 0 0 var(--e2-sol, transparent); }
.e2-ust { color: var(--mut); }
.e2-kirmizi { color: var(--e2-kirmizi); font-weight: 650; }

/* onay kutusu: görünen kutu 20 px, tıklama alanı 40 px (dokunmada 44 px) */
.e2-cb { display: inline-grid; place-items: center; min-width: 40px; min-height: 40px; cursor: pointer; margin: 0; }
.e2-cb input { width: 20px; height: 20px; margin: 0; cursor: pointer; accent-color: var(--navy); }
.e2-t th:has(> .e2-cb), .e2-t td:has(> .e2-cb) { width: 1%; padding-inline: var(--b-1, 4px); }
@media (pointer: coarse) { .e2-cb { min-width: 44px; min-height: 44px; } }

/* rozetler */
.e2-rozet { display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 650; line-height: 18px; white-space: nowrap; color: var(--e2-r-yazi, var(--navy)); background: var(--e2-r-zemin, var(--e2-vurgu)); }
.e2-rozet.kritik { --e2-r-yazi: #fff; --e2-r-zemin: var(--e2-kirmizi); }
.e2-rozet.orta { --e2-r-yazi: #8f2a1a; --e2-r-zemin: color-mix(in srgb, #e0654f 22%, var(--panel, #fff)); }
.e2-rozet.hafif { --e2-r-yazi: #8f2a1a; --e2-r-zemin: color-mix(in srgb, #efb3a8 35%, var(--panel, #fff)); }
.e2-rozet.ok { --e2-r-yazi: var(--e2-yesil); --e2-r-zemin: color-mix(in srgb, var(--e2-yesil) 12%, var(--panel, #fff)); }
.e2-rozet.uyari { --e2-r-yazi: var(--e2-amber); --e2-r-zemin: color-mix(in srgb, #f59e0b 16%, var(--panel, #fff)); }
.e2-rozet.sade { --e2-r-yazi: var(--mut); --e2-r-zemin: var(--e2-yuzey); }

/* durumlar: boş / hata / yükleniyor */
.e2-bos, .e2-durum { display: grid; justify-items: center; gap: var(--b-2, 8px); padding: var(--b-6, 32px) var(--b-4, 16px); text-align: center; color: var(--mut); }
.e2-bos b, .e2-durum b { color: var(--ink); font-size: 15px; font-weight: 650; }
.e2-durum.hata b { color: var(--e2-kirmizi); }
.e2-iskelet { display: grid; gap: var(--b-3, 12px); }
.e2-iskelet i { display: block; height: 56px; border-radius: var(--e2-r); background: linear-gradient(90deg, var(--e2-yuzey), var(--e2-vurgu), var(--e2-yuzey)); background-size: 200% 100%; animation: e2-kay 1.4s linear infinite; }
.e2-iskelet i:first-child { height: 40px; width: 40%; }
@keyframes e2-kay { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .e2-iskelet i { animation: none; } }

.e2-not { font-size: 12.5px; color: var(--mut); line-height: 1.45; }

/* ---------- dar ekran: tablo satırı kart olur (etiket data-l'den) ---------- */
@media (max-width: 760px) {
  .e2-app { padding-inline: var(--b-3, 12px); }
  .e2-kpi { grid-template-columns: repeat(var(--e2-nd, var(--e2-n, 3)), minmax(0, 1fr)); }
  .e2-k { padding: var(--b-2, 8px) var(--b-3, 12px); }
  .e2-k b { font-size: 19px; }
  .e2-suz > input[type=search], .e2-suz > .e2-ara { flex: 1 1 100%; max-width: none; }
  .e2-suz > select { flex: 1 1 calc(50% - 8px); }
  table.e2-t.e2-kartli, .e2-kartli thead, .e2-kartli tbody { display: block; }
  .e2-kartli thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .e2-kartli tbody { display: grid; gap: var(--b-2, 8px); padding: var(--b-2, 8px); }
  .e2-kartli tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px var(--b-3, 12px); position: relative; padding: var(--b-3, 12px); border: 1px solid var(--e2-cizgi); border-radius: var(--e2-r); background: var(--panel, #fff); }
  .e2-kartli td { display: grid; gap: 1px; height: auto; padding: 0; border: 0; text-align: start; overflow-wrap: anywhere; }
  .e2-kartli tbody tr:hover td { background: none; }
  .e2-kartli td[data-l]::before { content: attr(data-l); font-size: 11px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; color: var(--mut); }
  .e2-kartli td.e2-baslik-h { grid-column: 1 / -1; font-size: 15px; }
  .e2-kartli td.e2-baslik-h::before { display: none; }
  .e2-kartli td.e2-eylem-h { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--b-2, 8px); width: auto; padding-top: var(--b-2, 8px); border-top: 1px solid var(--e2-cizgi); text-align: start; }
  .e2-kartli td.e2-eylem-h .primary, .e2-kartli td.e2-eylem-h .ghost { flex: 1 1 auto; min-height: 40px; justify-content: center; }
  .e2-kartli td.e2-sec-h { position: absolute; inset-block-start: 4px; inset-inline-end: 4px; z-index: 1; }
  .e2-kartli td.e2-sec-h::before { display: none; }
  .e2-kartli td.e2-sag { text-align: start; }
  .e2-kartli .e2-sol { box-shadow: inset 3px 0 0 var(--e2-sol, transparent); }
  [dir=rtl] .e2-kartli .e2-sol { box-shadow: inset -3px 0 0 var(--e2-sol, transparent); }
  .e2-kartli .e2-sol td:first-child { box-shadow: none; }
  .e2-t .e2-hucre-ad { max-width: none; white-space: normal; }
  .e2-toplu > * { flex: 1 1 auto; }
}
@media (max-width: 340px) { .e2-kartli tr { grid-template-columns: minmax(0, 1fr); } }
.e2-kartli td > .e2-rozet { justify-self: start; }
@media (max-width: 760px) { .e2-kartli td.e2-sec-h { inset-block-start: 0; inset-inline-end: 0; } .e2-kartli td.e2-baslik-h { padding-inline-end: 44px; } }
@media (max-width: 760px) { .e2-tablo { overflow: visible; } .e2-kartli tr { position: relative; } .e2-kart:has(.e2-kartli) { border: 0; box-shadow: none; background: none; } }

/* ================= TAKVİM ================= */
.e2-tv-body { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(300px, 1fr); gap: var(--b-4, 16px); align-items: start; }
.e2-tv-cal { padding: var(--b-3, 12px); }
.e2-tv-h, .e2-tv-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.e2-tv-h span { text-align: center; font-size: 11.5px; letter-spacing: .06em; font-weight: 650; color: var(--mut); padding: 4px 0 8px; text-transform: uppercase; }
.e2-tv-g { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 3px; min-height: 104px; padding: 6px; text-align: start; border: 1px solid var(--e2-cizgi); border-radius: 8px; background: var(--panel, #fff); color: inherit; font: inherit; min-width: 0; overflow: hidden; }
.e2-tv-g:hover { background: var(--e2-yuzey); }
.e2-tv-g.hs { background: var(--e2-yuzey); }
.e2-tv-g.dis { background: transparent; border-style: dashed; color: var(--mut); }
.e2-tv-g.on { background: var(--e2-vurgu); box-shadow: inset 0 0 0 2px var(--navy); }
.e2-tv-g.gec:not(.on) { border-color: color-mix(in srgb, var(--e2-kirmizi) 35%, var(--e2-cizgi)); }
.e2-tv-d { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-size: 13px; font-weight: 650; }
.e2-tv-g.bugun .e2-tv-d { background: var(--navy); color: #fff; }
.e2-tv-c { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.e2-tv-i { display: block; font-style: normal; font-size: 11.5px; line-height: 1.35; padding: 2px 6px; border-radius: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; background: color-mix(in srgb, var(--navy) 10%, var(--panel, #fff)); color: var(--navy); }
.e2-tv-i.ac { background: color-mix(in srgb, var(--e2-yesil) 12%, var(--panel, #fff)); color: var(--e2-yesil); }
.e2-tv-i.gec { background: color-mix(in srgb, var(--e2-kirmizi) 10%, var(--panel, #fff)); color: var(--e2-kirmizi); }
.e2-tv-i.bitti { background: var(--e2-yuzey); color: var(--mut); text-decoration: line-through; }
.e2-tv-m { font-style: normal; font-size: 11px; color: var(--mut); padding-inline-start: 4px; }
.e2-tv-g b.e2-tv-n { display: none; }
.e2-tv-g .soguk-n { position: absolute; inset-block-start: 6px; inset-inline-end: 6px; font-style: normal; font-size: 11px; font-weight: 650; padding: 1px 6px; border-radius: 999px; background: color-mix(in srgb, var(--e2-kirmizi) 10%, var(--panel, #fff)); color: var(--e2-kirmizi); }
.e2-tv-help { display: flex; flex-wrap: wrap; gap: 4px var(--b-4, 16px); margin-top: var(--b-3, 12px); font-size: 12px; color: var(--mut); }
.e2-tv-help span { display: inline-flex; align-items: center; gap: 6px; }
.e2-tv-nok { width: 8px; height: 8px; border-radius: 50%; background: var(--navy); display: inline-block; }
.e2-tv-nok.gec { background: var(--e2-kirmizi); } .e2-tv-nok.ac { background: var(--e2-yesil); }
.e2-tv-gun { position: sticky; top: calc(var(--top-h, 56px) + 12px); max-height: calc(100dvh - 90px); overflow: auto; }
.e2-tv-gun h3 { font-size: 15px; text-transform: capitalize; }
.e2-tv-gun h4 { display: flex; align-items: center; gap: 6px; margin: var(--b-4, 16px) 0 var(--b-2, 8px); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--mut); }
.e2-tv-gun h4 small { font-size: 11.5px; padding: 0 7px; border-radius: 999px; background: var(--e2-vurgu); color: var(--navy); }
.e2-tv-gun-ic > h4:first-child { margin-top: 0; }
.e2-tv-l { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--b-2, 8px); }
.e2-tv-l > li { display: flex; align-items: center; justify-content: space-between; gap: var(--b-2, 8px); padding: 10px 12px; border: 1px solid var(--e2-cizgi); border-radius: 8px; background: var(--panel, #fff); }
.e2-tv-l > li.gec { border-inline-start: 3px solid var(--e2-kirmizi); }
.e2-tv-l > li.bitti { opacity: .6; }
.e2-tv-l > li.bitti b { text-decoration: line-through; }
.e2-tv-met { display: grid; gap: 1px; min-width: 0; flex: 1; }
.e2-tv-met b { font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.e2-tv-met small { font-size: 12px; color: var(--mut); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.e2-tv-eylem { display: flex; gap: 6px; flex: none; }
.e2-tv-soguk { border: 1px solid color-mix(in srgb, var(--e2-kirmizi) 30%, var(--e2-cizgi)); background: color-mix(in srgb, var(--e2-kirmizi) 4%, var(--panel, #fff)); border-radius: var(--e2-r); padding: var(--b-3, 12px); display: grid; gap: var(--b-2, 8px); }
.e2-tv-soguk-bas { display: grid; gap: var(--b-2, 8px); font-size: 13px; }
.e2-tv-sur { display: flex; flex-wrap: wrap; gap: 6px; }
.e2-tv-uzun { max-height: 320px; overflow: auto; }
.e2-tv-tum { justify-self: start; margin-top: var(--b-2, 8px); }
@media (max-width: 980px) { .e2-tv-body { grid-template-columns: minmax(0, 1fr); } .e2-tv-gun { position: static; max-height: none; } }
@media (max-width: 640px) {
  .e2-tv-g { min-height: 52px; padding: 4px; align-items: center; }
  .e2-tv-c { display: none; }
  .e2-tv-g b.e2-tv-n { display: inline-block; position: absolute; inset-block-end: 3px; inset-inline-end: 4px; min-width: 16px; text-align: center; padding: 0 4px; border-radius: 999px; font-size: 10.5px; color: #fff; background: var(--navy); }
  .e2-tv-g.gec b.e2-tv-n { background: var(--e2-kirmizi); }
  .e2-tv-g .soguk-n { display: none; }
  .e2-tv-l > li { flex-wrap: wrap; }
  .e2-tv-eylem { width: 100%; } .e2-tv-eylem .ghost { flex: 1; min-height: 40px; }
}

/* ================= FİYAT LİSTESİ ================= */
#app main #stBody.fl { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--b-4, 16px); padding: var(--b-3, 12px) var(--sayfa-px, 18px) var(--b-6, 32px); align-content: start; }
.e2-fl-ust { display: grid; gap: var(--b-3, 12px); min-width: 0; }
.e2-fl-in input:not([type=checkbox]) { width: 100%; min-width: 0; height: 34px; padding: 0 var(--b-2, 8px); border: 1px solid var(--e2-cizgi); border-radius: 8px; background: var(--panel, #fff); font: inherit; }
.e2-fl-in input.n { text-align: end; font-variant-numeric: tabular-nums; }
.e2-fl-in td { height: 52px; }
#app main #stBody.fl .fl-prev { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--b-4, 16px); }
#app main #stBody.fl .fl-pv { border-radius: var(--e2-r); border: 1px solid var(--e2-cizgi); box-shadow: var(--g-1); }
@media (max-width: 860px) { #app main #stBody.fl .fl-prev { grid-template-columns: minmax(0, 1fr); } .e2-fl-in td.e2-sag { text-align: start; } }
@media (max-width: 760px) { .e2-fl-in td { height: auto; } .e2-kartli td { min-width: 0; } .e2-fl-in td.e2-sec-h { height: 0; } .e2-k b { font-size: 17px; } }

/* ================= ENVANTER ================= */
#app main.inv-app.e2-env { height: auto; min-height: 0; padding-bottom: var(--b-3, 12px); }
.e2-env-bar { display: grid; gap: var(--b-3, 12px); }
.e2-env-kpi .e2-k { display: flex; align-items: baseline; justify-content: space-between; gap: var(--b-2, 8px); padding: 8px var(--b-4, 16px); }
.e2-env-kpi .e2-k b { font-size: 18px; }
.e2-env-kpi .e2-k.st-ok b { color: #1D7A46; } .e2-env-kpi .e2-k.st-opt b, .e2-env-kpi .e2-k.st-res b { color: #8F6100; } .e2-env-kpi .e2-k.st-sold b { color: var(--e2-kirmizi); }
.e2-env-arac { display: flex; flex-wrap: wrap; gap: var(--b-2, 8px); margin-inline-start: auto; }
.e2-env .grid-wrap { height: clamp(380px, calc(100dvh - 330px), 1000px); border: 1px solid var(--e2-cizgi); border-radius: var(--e2-r) var(--e2-r) 0 0; }
.e2-env .inv-foot { margin-top: -12px; }
/* satır seçme kutusu: 20 px, hücrenin tamamı tıklama alanı */
.grid .chk { width: 44px; }
.grid td.chk, .grid th.chk { cursor: pointer; }
.grid .chk input[type=checkbox], table.grid input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--navy); cursor: pointer; }
@media (max-width: 760px) {
  .e2-env-kpi { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .e2-env-kpi .e2-k { flex-direction: column; align-items: flex-start; gap: 0; padding: 6px 12px; }
  .e2-env-arac { margin-inline-start: 0; }
  .e2-env-arac > * { flex: 1 1 auto; }
  .e2-env .grid-wrap { height: clamp(320px, 60dvh, 700px); }
}
.grid .chk input[type=checkbox] { padding: 0; margin: 0; border-radius: 4px; box-shadow: none; }

/* ================= BİNA ŞEMASI ================= */
#app main.sema-app.e2-sema[data-v="sema"] { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--b-3, 12px); min-height: 0; padding: var(--b-3, 12px) var(--sayfa-px, 18px) var(--b-6, 32px); }
.e2-sema .e2-sema-govde { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--b-4, 16px); align-items: start; }
.e2-sema .sema-main { padding: 0; overflow: visible; display: grid; gap: var(--b-3, 12px); min-width: 0; }
.e2-sema .face { margin: 0; padding: 0; overflow: hidden; }
.e2-sema .face .face-draw { padding: var(--b-3, 12px) var(--b-3, 12px) var(--b-2, 8px); }
.e2-sema .sema-side { position: sticky; top: calc(var(--top-h, 56px) + 12px); min-height: 0; padding: 0; border-left: 1px solid var(--e2-cizgi); align-self: start; }
.e2-sema .sema-side > :not(.e2-kart-bas):not(.e2-bos) { margin-inline: var(--b-4, 16px); }
.e2-sema .sema-side > .side-a { margin-bottom: var(--b-4, 16px); }
.e2-sema .sema-side > .e2-bos { padding: var(--b-5, 24px) var(--b-4, 16px); }
.e2-sema .sema-side dl { margin-block: var(--b-3, 12px); }
.e2-sema .side-a { display: grid; gap: var(--b-2, 8px); }
.e2-sema .sema-zoom { display: inline-flex; gap: 0; }
.e2-sema .sema-zoom .ghost { border-radius: 0; min-width: 40px; }
.e2-sema .sema-zoom .ghost:first-child { border-start-start-radius: 8px; border-end-start-radius: 8px; }
.e2-sema .sema-zoom .ghost:last-child { border-start-end-radius: 8px; border-end-end-radius: 8px; }
.e2-sema-kpi { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.e2-sema-kpi .e2-k { display: flex; align-items: center; justify-content: space-between; gap: var(--b-2, 8px); padding: 10px var(--b-4, 16px); }
.e2-sema-kpi .e2-k small { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: 13px; }
.e2-sema-kpi .e2-k + .e2-k { border-inline-start: 1px solid var(--e2-cizgi); }
.e2-malik { font-style: normal; color: var(--mut); }
@media (max-width: 1100px) { .e2-sema .e2-sema-govde { grid-template-columns: minmax(0, 1fr); } .e2-sema .sema-side { position: static; } }
@media (max-width: 760px) { .e2-sema-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); } .e2-sema-kpi .e2-k:nth-child(odd) { border-inline-start: 0; } .e2-sema-kpi .e2-k { border-top: 1px solid var(--e2-cizgi); } }

/* Bina şeması yükleme penceresi (gövde) */
.e2-sy { --e2-cizgi: color-mix(in srgb, var(--navy) 10%, var(--line)); --e2-yuzey: color-mix(in srgb, var(--navy) 4%, var(--panel, #fff)); --e2-r: 10px; display: grid; gap: var(--b-3, 12px); padding: 0; }
.e2-sy .sy-yardim { border: 1px solid var(--e2-cizgi); border-radius: var(--e2-r); background: var(--e2-yuzey); padding: var(--b-2, 8px) var(--b-3, 12px); }
.e2-sy .sy-yardim summary { cursor: pointer; }
.e2-sy .sy-yardim p { margin: var(--b-2, 8px) 0 0; }
.e2-sy .sy-a { margin: 0; }
.e2-sy .primary.up { min-height: 40px; padding-inline: 16px; cursor: pointer; }
.e2-sy .sy-ok, .e2-sy .sy-warn, .e2-sy .sy-err { margin: 0; border-radius: var(--e2-r); padding: 10px 14px; }
.e2-sy .sy-face { margin: 0; padding: var(--b-3, 12px); display: grid; gap: var(--b-2, 8px); border-radius: var(--e2-r); }
.e2-sy .sy-face label { display: flex; align-items: center; gap: var(--b-2, 8px); }
.e2-sy .sy-face input { margin: 0; flex: 1; max-width: 360px; min-height: 36px; border-radius: 8px; }
.e2-sy .sy-face small { margin: 0; }

/* ================= DETAY KARTLARI: fırsat, müşteri, acenta, satışçı ================= */
.e2-dt { display: grid; gap: var(--b-3, 12px); min-width: 0; max-width: none; padding: 0; }
.e2-dt-geri .ghost { min-height: 32px; }
.e2-dt-bas { align-items: center; flex-wrap: nowrap; gap: var(--b-3, 12px); }
.e2-dt-av { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; font-size: 16px; font-weight: 700; color: var(--navy); background: var(--e2-vurgu); }
.e2-dt-ad { flex: 1 1 auto; }
.e2-dt-bas h2 { font-size: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: var(--b-2, 8px); overflow-wrap: anywhere; }
.e2-dt-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px var(--b-3, 12px); color: var(--mut); font-size: 13px; }
.e2-dt-dug { flex: none; justify-content: flex-end; }
.e2-dt .e2-kpi-oto { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.e2-dt .e2-kpi-oto .e2-k { border-inline-start: 0; border-inline-end: 1px solid var(--e2-cizgi); border-bottom: 1px solid var(--e2-cizgi); margin-inline-end: -1px; margin-bottom: -1px; }
.e2-dt .e2-k.stat b { font-size: 20px; }
.e2-dt .e2-k-metin b { font-size: 15px; font-weight: 600; }
.e2-dt .kk-sek { display: flex; gap: 0; border-bottom: 1px solid var(--e2-cizgi); margin: 0; padding: 0; background: none; border-radius: 0; box-shadow: none; }
.e2-dt .kk-sek [data-ksek] { min-height: 42px; padding: 0 var(--b-4, 16px); background: none; border: 0; border-radius: 0; color: var(--mut); font-weight: 600; font-size: 14px; }
.e2-dt .kk-sek [data-ksek]:hover { color: var(--ink); }
.e2-dt .kk-sek [data-ksek].on { color: var(--navy); box-shadow: inset 0 -2px 0 var(--navy); background: none; }
.e2-dt .kk-panel { display: grid; gap: var(--b-3, 12px); align-content: start; padding-top: var(--b-3, 12px); }
.e2-dt .kk-panel[hidden] { display: none; }
.e2-dt .dt-iki { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--b-3, 12px); align-items: start; }
.e2-dt .dt-iki > div { display: grid; gap: var(--b-3, 12px); min-width: 0; }
.e2-dt .dt-dl { display: grid; grid-template-columns: minmax(100px, 34%) minmax(0, 1fr); gap: 8px var(--b-3, 12px); margin: 0; font-size: 14px; }
.e2-dt .dt-dl dt { color: var(--mut); font-size: 13px; }
.e2-dt .dt-dl dd { margin: 0; overflow-wrap: anywhere; }
.e2-dt .e2-kart-ic > .e2-tablo { margin: calc(-1 * var(--b-4, 16px)); }
.e2-dt .e2-kart-ic > .e2-tablo:not(:only-child) { margin: 0; }
.e2-dt .dt-alt { display: flex; flex-wrap: wrap; align-items: center; gap: var(--b-3, 12px); }
.e2-dt .e2-kart-ic h4 { margin: var(--b-4, 16px) 0 var(--b-2, 8px); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--mut); }
.e2-dt .e2-kart-ic h4:first-child { margin-top: 0; }
.e2-dt .dt-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--b-3, 12px); margin-top: var(--b-3, 12px); }
.e2-dt .dt-form .tam { grid-column: 1 / -1; }
.e2-dt .cfld { display: grid; gap: 4px; font-size: 12.5px; font-weight: 600; color: var(--mut); }
.e2-dt .cfld :is(input, select, textarea) { width: 100%; min-width: 0; min-height: var(--e2-h); font-weight: 400; color: var(--ink); }
.e2-dt .e2-t small.by { display: block; color: var(--mut); font-size: 12px; }
@media (max-width: 900px) { .e2-dt .dt-iki { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) {
  .e2-dt-bas { flex-wrap: wrap; }
  .e2-dt-dug { flex: 1 1 100%; justify-content: flex-start; }
  .e2-dt-dug > * { flex: 1 1 auto; }
  .e2-dt .kk-sek { overflow: visible; }
  .e2-dt .e2-kart-ic > .e2-tablo { margin: 0; }
  .e2-dt .dt-form { grid-template-columns: minmax(0, 1fr); }
}
#app main[data-v] .dt-sayfa.e2-dt { max-width: none; margin: 0; padding: 0; width: 100%; }
#app main[data-v] .e2-dt .dt-b h3, #app main[data-v] .e2-dt .kk-panel .dt-b h3 { margin: 0; padding: 0; border: 0; font-size: 14px; font-weight: 650; color: var(--ink); }
#app main[data-v] .e2-dt .e2-kart-bas { padding: var(--b-3, 12px) var(--b-4, 16px); }
.e2-dt .dt-b { overflow: hidden; }

/* Görevlerim: dar ekranda tür etiketi sütunu sabit; başlıklar aynı hizadan başlar */
@media (max-width: 860px) { .gv-satir { grid-template-columns: 104px minmax(0, 1fr) auto; } .gv-satir .gr-tur { max-width: 100%; } }
.grid .chk input[type=checkbox] { min-width: 20px; min-height: 20px; flex: none; }
.e2-sy.sy-dlg { background: none; box-shadow: none; width: auto; border-radius: 0; padding: 0; }
