/* ── İş Takip (adım 07, maket «Sade», sahip 09.10) ─────────────────────────────
   Renkler tema token'larından (style.css :root ve [data-theme="dark"]); maketteki
   açık tema tonları burada, koyu karşılıkları dosyanın sonunda. Yüzen düğmeler
   adacığın cam ailesi (style.css «CAM AİLE»). */

:root {
  --is-gec-zemin: rgba(217, 75, 75, 0.12);
  --is-gec-yazi: #b23a3a;
  --is-bugun-zemin: rgba(224, 148, 0, 0.14);
  --is-bugun-yazi: #8a5a00;
  --is-simdi: #b4baf0;
  --is-sonra: #e4e6ea;
  --is-vurgu-koyu: #4a52b8;
  --is-halka: 0 1px 2px rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.04);
}
[data-theme="dark"] {
  --is-gec-zemin: rgba(217, 75, 75, 0.2);
  --is-gec-yazi: #f08a8a;
  --is-bugun-zemin: rgba(224, 148, 0, 0.2);
  --is-bugun-yazi: #f2b84b;
  --is-simdi: #4b5394;
  --is-sonra: #2a2c33;
  --is-vurgu-koyu: #a9b0f5;
  --is-halka: 0 0 0 1px rgba(255, 255, 255, 0.07);
}

/* ── Yüzen düğme (yalnız telefon) ─────────────────────────────────────────── */
/* Zemin ve koyu tema «+» ve aramayla ortak (style.css CAM AİLE; sahip 12.10); simge web rayındaki renkli çanta. */
#bn-is {
  position: fixed; z-index: 99; width: 40px; height: 40px; margin: 0; padding: 0; left: 14px;
  bottom: calc(var(--bottom-nav-h, calc(70px + env(safe-area-inset-bottom, 0px))) + 6px);
  transition: opacity 0.25s, transform 0.25s cubic-bezier(0.32, 0.72, 0.3, 1);
}
#bn-is .bn-is__ikon { width: 24px; height: 24px; display: block; object-fit: contain; pointer-events: none; }
#bn-is:active { transform: scale(0.94); }
.is-fab-rozet {
  position: absolute; top: -5px; right: -5px; height: 17px; min-width: 17px; padding: 0 4px; box-sizing: border-box;
  border-radius: 9px; background: var(--danger, #e11d48); color: #fff; font-size: 0.66rem; font-weight: 700; line-height: 17px;
  text-align: center; box-shadow: 0 0 0 2px var(--bg-secondary); pointer-events: none;
}
.is-fab-rozet[hidden] { display: none; }

@media (max-width: 768px) {
  body:not(.app-chrome) #bn-is,
  body[data-screen="asistan"] #bn-is, body[data-screen="masistan"] #bn-is, body[data-screen="profile"] #bn-is,
  body[data-screen="map"]:not(.globe-ready) #bn-is, body.klavye-acik #bn-is { display: none !important; }
  /* Şirket seçilmeden de canlı (sahip 13.10): modül şirkete bağlı değil; öbür FAB'lar sönük kalır. */
  body.shub-acik #bn-is, body.notif-panel-acik #bn-is { opacity: 0 !important; pointer-events: none !important; transform: scale(0.85) !important; }
  /* Kaydırınca saklanır (js/fab-kaydir.js): öbür yüzen düğmelerle aynı noktada söner. */
  body.fab-sakla #bn-is { transform: translateY(12px) scale(0.6); opacity: 0; pointer-events: none;
    transition: transform 0.2s cubic-bezier(0.4, 0, 1, 1), opacity 0.16s linear; }
  /* Ayrı modül (sahip 09.10): ekran adacığın ve yüzen düğmelerin üstünde. Adacık yalnız söner,
     yeri ölçülmeye devam eder (--bottom-nav-h). */
  .bottom-nav { transition: opacity 0.2s, visibility 0s; }
  body[data-screen="istakip"] .bottom-nav { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s, visibility 0s 0.2s; }
  body[data-screen="istakip"] #bn-is, body[data-screen="istakip"] #bn-add, body[data-screen="istakip"] #bn-ara { display: none !important; }
}
@media (min-width: 769px) {
  #bn-is { display: none !important; }
}

/* Ray satırı sayısı */
.app-drawer__item--is { position: relative; }
/* Ayrı mod girişi gezintiden şirket↔Harita kadar ayrık (26 px = 2 px satır aralığı + 24). */
.app-drawer__item.is-ray-giris { margin-top: 24px; }
.is-ray-rozet {
  position: absolute; top: 4px; left: 28px; min-width: 17px; height: 17px; padding: 0 4px; box-sizing: border-box;
  border-radius: 9px; background: var(--danger, #e11d48); color: #fff; font-size: 0.66rem; font-weight: 700; line-height: 17px; text-align: center;
  box-shadow: 0 0 0 2px var(--bg-secondary);
}
.is-ray-rozet[hidden] { display: none; }

/* ── Giriş/çıkış geçişi (sahip 11.10, maket 6 = 3 + 4; js/is-takip.js _gecis) ─────────────────────────
   Ray menüsü ve ekran kayar (girişte sola, çıkışta sağa), çanta menüden modül kartına uçar (çıkışta geri).
   Adlar yalnız geçiş sırasında: tema geçişine karışmaz, aynı ad iki öğede olmaz (menü ve kart aynı anda yok). */
/* Ray (zemin, çerçeve, başlık) kendi katmanı: ekranın üstünde kalır. Yoksa ekranın görüntüsü rayın zemini
   üstüne çiziliyordu, menü haritanın üstünde zeminsiz kalıyordu (sahibin kaydı 11.10). Ekran = #app: konumu
   ve boyu iki ekranda aynı, görüntü ölçeklenmez ve yanlış yöne kaymaz (.screen.active 0 → 64 px'e kayıyordu). */
html.is-gecis #app { view-transition-name: is-ekran; }
html.is-gecis #app-drawer { view-transition-name: is-ray; }
/* Ray parçaları iki durumda AYRI adla (sahip 13.10: çanta dışında her şey yalnız yatay). Aynı ad iki durumda olunca
   tarayıcı grubu eski yerinden yenisine taşıyordu: alt öbek 48 px aşağı, menü 8 px yukarı kayıyordu. Ayrı adla her
   görüntü kendi yerinde kalır; eskisi yana kayıp söner, yenisi yandan gelir. -a: ana menü, -m: modül (.app-drawer--is). */
html.is-gecis #app-drawer:not(.app-drawer--is) #drawer-company { view-transition-name: is-ray-sirket-a; }
html.is-gecis #app-drawer:not(.app-drawer--is) #drawer-nav { view-transition-name: is-ray-nav-a; }
html.is-gecis #app-drawer:not(.app-drawer--is) #drawer-foot { view-transition-name: is-ray-alt-a; }
html.is-gecis #app-drawer.app-drawer--is #drawer-company { view-transition-name: is-ray-sirket-m; }
html.is-gecis #app-drawer.app-drawer--is #drawer-nav { view-transition-name: is-ray-nav-m; }
html.is-gecis #app-drawer.app-drawer--is #drawer-foot { view-transition-name: is-ray-alt-m; }
html.is-gecis .is-ray-giris .app-drawer__img, html.is-gecis .is-mod-kart__ikon { view-transition-name: is-canta; }
/* Ekranın kendi belirme animasyonu (style.css fadeIn) geçişte süresiz biter. animation:none olmaz: sınıf kalkınca
   ad geri gelir ve animasyon baştan başlar, ekran geçişten sonra söner ve yeniden belirirdi (ölçüldü, sahip 11.10: «sayfa yenileniyor»). */
html.is-gecis .screen { animation-duration: 0s; }
/* Yerinde kalanlar (sahip 11.10): Profil, zil ve Deneme şeridi kaymaz, sönmez. Zil ve şerit #app dışında (body), adsız kalsalar
   kökle birlikte ekran katmanının altında kalıp geçiş boyunca görünmüyordu. */
html.is-gecis .rail-profil { view-transition-name: is-profil; }
html.is-gecis #notification-badge.zil-yuzer { view-transition-name: is-zil; }
html.is-gecis #is-deneme-kim { view-transition-name: is-deneme; }
html.is-gecis::view-transition-group(is-profil), html.is-gecis::view-transition-group(is-zil), html.is-gecis::view-transition-group(is-deneme),
html.is-gecis::view-transition-new(is-profil), html.is-gecis::view-transition-new(is-zil), html.is-gecis::view-transition-new(is-deneme) { animation: none; }
html.is-gecis::view-transition-old(is-profil), html.is-gecis::view-transition-old(is-zil), html.is-gecis::view-transition-old(is-deneme) { animation: none; opacity: 0; }
@keyframes is-gecis-cikis { to { opacity: 0; transform: translateX(var(--is-k)); } }
@keyframes is-gecis-giris { from { opacity: 0; transform: translateX(var(--is-k)); } }
@keyframes is-gecis-belir { from { opacity: 0; } }
@keyframes is-gecis-alta { 0%, 85% { opacity: 1; } 100% { opacity: 0; } }
/* Sırayla (önce eski tamamen gider, sonra yeni gelir): ikisi aynı anda görünmez, çift yazı ve harita üstünde liste olmaz. */
html.is-gecis::view-transition-old(is-ray-sirket-a), html.is-gecis::view-transition-old(is-ray-nav-a), html.is-gecis::view-transition-old(is-ray-alt-a),
html.is-gecis::view-transition-old(is-ray-sirket-m), html.is-gecis::view-transition-old(is-ray-nav-m),
html.is-gecis::view-transition-old(is-ray-alt-m) { animation: is-gecis-cikis 120ms cubic-bezier(0.4, 0, 1, 1) both; }
html.is-gecis::view-transition-new(is-ray-sirket-a), html.is-gecis::view-transition-new(is-ray-nav-a), html.is-gecis::view-transition-new(is-ray-alt-a),
html.is-gecis::view-transition-new(is-ray-sirket-m), html.is-gecis::view-transition-new(is-ray-nav-m),
html.is-gecis::view-transition-new(is-ray-alt-m) { animation: is-gecis-giris 230ms cubic-bezier(0, 0, 0.2, 1) 110ms both; }
/* Ekran: yeni ekran eskisinin ÜSTÜNE kayarak belirir, eski sonuna dek altta durur. Sırayla söndürmek ortada 1-2 kare
   boş alan bırakıyordu (ikisi de ~0 opak, sahibin kaydı 11.10: «titriyor»). Yeni ekran opak, eskiyi örter. */
html.is-gecis::view-transition-old(is-ekran) { animation: is-gecis-alta 300ms linear both; }
html.is-gecis::view-transition-new(is-ekran) { animation: is-gecis-giris 300ms cubic-bezier(0, 0, 0.2, 1) both; }
/* Çanta: kalkar, yol alır, yumuşak iner (önceki eğri yolun çoğunu 150 ms'de alıp 300 ms sürünüyordu). */
/* Çanta bütün katmanların üstünde (sahip 13.10): gruplar belge sırasıyla çizilir, modül kartının yeni görüntüsü
   (beyaz zemin) inerken çantayı örtüyordu, çanta varış anında kayboluyordu. */
html.is-gecis::view-transition-group(is-canta) { animation-duration: 380ms; animation-timing-function: cubic-bezier(0.45, 0, 0.2, 1); z-index: 10; }
html.is-gecis::view-transition-group(is-ray) { animation-duration: 300ms; }
/* Kök (zil, arka zemin) yumuşak geçer; style.css tema geçişi için kökü animasyonsuz bırakır. */
html.is-gecis::view-transition-new(root) { animation: is-gecis-belir 300ms ease both; }
/* Girişte ana menü sola gider, modül sağdan gelir; çıkışta tersi (modül sağa gider, ana menü soldan gelir). */
html.is-gecis-gir::view-transition-old(is-ray-sirket-a), html.is-gecis-gir::view-transition-old(is-ray-nav-a), html.is-gecis-gir::view-transition-old(is-ray-alt-a),
html.is-gecis-cik::view-transition-new(is-ray-sirket-a), html.is-gecis-cik::view-transition-new(is-ray-nav-a), html.is-gecis-cik::view-transition-new(is-ray-alt-a) { --is-k: -28px; }
html.is-gecis-gir::view-transition-new(is-ray-sirket-m), html.is-gecis-gir::view-transition-new(is-ray-nav-m), html.is-gecis-gir::view-transition-new(is-ray-alt-m),
html.is-gecis-cik::view-transition-old(is-ray-sirket-m), html.is-gecis-cik::view-transition-old(is-ray-nav-m), html.is-gecis-cik::view-transition-old(is-ray-alt-m) { --is-k: 28px; }
html.is-gecis-cik::view-transition-new(is-ekran) { --is-k: -48px; }
html.is-gecis-gir::view-transition-new(is-ekran) { --is-k: 48px; }
@media (min-width: 769px) {
  /* Geçişte ray açık kalır (hover düşse de): style.css'teki :hover kurallarının aynısı, bir derece özgül. */
  html .app-drawer.ray-acik-tut { width: 264px; box-shadow: 4px 0 24px rgba(0, 0, 0, 0.18); overflow: visible; }
  html .app-drawer.ray-acik-tut .app-drawer__brand, html .app-drawer.ray-acik-tut .app-drawer__label,
  html .app-drawer.ray-acik-tut .app-drawer__item > span:last-child, html .app-drawer.ray-acik-tut .ws-picker__name,
  html .app-drawer.ray-acik-tut .ws-picker__chev, html .app-drawer.ray-acik-tut .is-mod-kart__ad,
  html .app-drawer.ray-acik-tut .is-mod-kart__geri { opacity: 1; pointer-events: auto; }
  html .app-drawer.ray-acik-tut .app-drawer__mode-badge { opacity: 0; }
}

/* ── Ayrı mod (sahip 10.10, webde): İş Takip ekranındayken ray modülün ───────────────────────────────
   Şirket yerine modül kartı (ok geldiği ekrana döndürür), gezinti yerine bölümler, dipte «Yeni talep».
   Ray ana menüyle aynı renkte (sahip 27.10: vurgu tonu kalktı). Kapalı rayda kartta yalnız modül simgesi (ok sağ uçta, sahip 10.10), satırlarda
   simgeler (merkez x=31, nav sütunu: kart 8 + iç boşluk 9 + simgenin yarısı 14). */
.is-mod-kart {
  display: flex; align-items: center; gap: 10px; padding: 6px 6px 6px 9px; border-radius: 12px; overflow: hidden; white-space: nowrap;
  background: var(--bg-secondary); box-shadow: 0 0 0 1.5px var(--accent);
}
.is-mod-kart__geri {
  width: 32px; height: 32px; flex: none; margin-left: auto; padding: 0; border: 0; border-radius: 9px; background: transparent; color: var(--text-primary);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.is-mod-kart__geri .material-symbols-outlined { font-size: 22px; }
.is-mod-kart__geri:hover { background: var(--bg-hover); }
.is-mod-kart__geri:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
/* Ray girişiyle aynı simge (mavi çanta, sahip 10.10). */
.is-mod-kart__ikon { width: 28px; height: 28px; flex: none; display: block; object-fit: contain; }
.is-mod-kart__ad { font-size: 0.92rem; font-weight: 700; }
.is-mod-kart__ad, .is-mod-kart__geri { transition: opacity 0.15s ease; }
[data-theme="dark"] .is-mod-kart { background: rgba(255, 255, 255, 0.06); }
.is-ray-ad { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.is-ray-ad small { font-size: 0.78rem; font-weight: 600; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.is-ray-ayirici { flex: none; height: 1px; margin: 6px 11px; background: var(--border); }
.app-drawer__item.is-ray-yeni { background: var(--accent); color: #fff; }
.app-drawer__item.is-ray-yeni:hover { background: var(--accent); filter: brightness(1.08); }
.app-drawer__item[data-is-ray]:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.app-drawer__item.is-ray-yeni:focus-visible { outline-color: #fff; outline-offset: -4px; }
@media (min-width: 769px) {
  .app-drawer:not(:hover) .is-mod-kart__ad, .app-drawer:not(:hover) .is-mod-kart__geri { opacity: 0; pointer-events: none; }
}

/* ── Ekran ───────────────────────────────────────────────────────────────── */
#screen-istakip .manager-content { padding: 0; background: var(--bg-primary); }
/* Tam genişlik, Mühendislik ve İSG ekranları gibi (sahip 30.10). Zil webde sağ üstte yüzer (style.css .zil-yuzer):
   yalnız araç satırı sağda ona yer bırakır. */
.is-ekran { padding: 22px 24px 48px; box-sizing: border-box; display: flex; flex-direction: column; gap: 14px; }
/* Araç satırı (sahip 10.10): solda sekmeler, geçmiş ve süzgeç; ortada arama; sağda Yeni talep, Raporlar, Ayarlar. */
.is-ust { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-right: 48px; }
.is-ust__sol { display: flex; align-items: center; gap: 10px; flex: none; }
.is-sekmeler { display: flex; background: var(--bg-tertiary); border-radius: 12px; padding: 3px; }
.is-sekme {
  height: 36px; padding: 0 16px; border: 0; border-radius: 9px; background: transparent; color: var(--text-secondary);
  font: 600 0.86rem/1 var(--font); cursor: pointer; white-space: nowrap;
}
.is-sekme[aria-selected="true"] { background: var(--accent); color: #fff; font-weight: 650; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12); }   /* tek sekme dili: seçili mavi (sahip 27.10, .is-fseg ile aynı) */
.is-sekme--ikon { display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; }
.is-sekme--ikon .material-symbols-outlined { font-size: 20px; }
/* Arama ve «+ Yeni talep» yan yana ortada (sahip 10.10); Raporlar ve Ayarlar sağ uçta. */
.is-ara-web { position: relative; flex: 1 1 240px; min-width: 200px; max-width: 420px; margin: 0 0 0 auto; display: flex; align-items: center; }
.is-yeni { margin-right: auto; }
.is-ara-web .material-symbols-outlined { position: absolute; left: 12px; font-size: 20px; color: var(--text-muted); pointer-events: none; }
.is-ara-web input {
  width: 100%; box-sizing: border-box; height: 42px; padding: 0 14px 0 40px; background: var(--bg-secondary); border: 0;
  box-shadow: 0 0 0 1px var(--border); border-radius: 12px; font: 400 0.95rem var(--font); color: var(--text-primary);
}
.is-ara-web input:focus { outline: none; box-shadow: 0 0 0 2px var(--accent); }
.is-ikon-dugme.is-geri { display: none; }
.is-ust__baslik { display: none; }
@media (min-width: 769px) {
  /* Ayrı mod (sahip 10.10): sekmeler, Yeni talep, Raporlar ve Ayarlar rayda; üstte başlık, arama ve süzgeç. */
  .is-ust__baslik { display: flex; align-items: baseline; gap: 10px; margin: 0 16px 0 0; font-size: 1.3rem; font-weight: 700; line-height: 1.2; color: var(--text-primary); white-space: nowrap; }
  .is-ust__baslik small { font-size: 0.86rem; font-weight: 500; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
  .is-ust .is-sekmeler, .is-ust .is-yeni, .is-ust .is-rapor-dugme, .is-ust .is-ayar-dugme, .is-ust .is-firma-dugme, .is-yalniz-tel { display: none !important; }
  .is-ara-web { order: 1; }
  .is-ust__sol { order: 2; }
  .is-ust__sol:not(:has(.is-suz-dugme)) { display: none; }
  /* Bütün sekmelerde (sahip 30.10): başlık solda, arama tam ortada, hemen sağında süzgeç ya da «+ Firma».
     Zil sağ sütunun ucunda yüzer, düğmeye değmez: sağ boşluk gerekmez. */
  .is-ust { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 420px) minmax(0, 1fr); column-gap: 10px; padding-right: 0; }
  .is-ust .is-ust__baslik { grid-area: 1 / 1; }
  .is-ust .is-ara-web { grid-area: 1 / 2; margin: 0; max-width: none; }
  .is-ust .is-ust__sol, .is-ust .isf-yeni { grid-area: 1 / 3; justify-self: start; }
  .is-ust .isf-yeni { height: 42px; }
}
/* Simge düğmeleri (süzgeç, Raporlar, Ayarlar): nötr plaka; yazısız, adı ipucunda. */
.is-ikon-dugme.is-arac { width: 42px; height: 42px; border-radius: 12px; background: var(--bg-secondary); box-shadow: 0 0 0 1px var(--border); color: var(--text-primary); position: relative; }
.is-suz-dugme--acik { box-shadow: 0 0 0 2px var(--accent) !important; }
.is-suz-dugme--var::after { content: ''; position: absolute; top: 7px; right: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--danger, #e11d48); box-shadow: 0 0 0 2px var(--bg-secondary); }
/* Süzgeç açıkken seçimler satırı */
.is-suz-sira { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: -2px; }
.is-suz { position: relative; display: inline-flex; align-items: center; height: 36px; border-radius: 10px; background: var(--bg-secondary); box-shadow: 0 0 0 1px var(--border); color: var(--text-primary); flex: none; }
.is-suz select {
  appearance: none; -webkit-appearance: none; field-sizing: content; height: 100%; max-width: 240px; padding: 0 30px 0 12px; border: 0; border-radius: 10px;
  background: transparent; color: inherit; font: 600 0.82rem var(--font); cursor: pointer; text-overflow: ellipsis;
}
.is-suz select option { background: var(--bg-secondary); color: var(--text-primary); }
.is-suz .material-symbols-outlined { position: absolute; right: 8px; font-size: 18px; color: var(--text-muted); pointer-events: none; }
.is-suz--dugme { border: 0; gap: 6px; padding: 0 12px 0 10px; font: 600 0.82rem var(--font); cursor: pointer; }
.is-suz--dugme .material-symbols-outlined { position: static; }
.is-suz--secili { background: rgba(var(--accent-rgb), 0.1); box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.45); color: var(--is-vurgu-koyu); }
.is-suz--secili .material-symbols-outlined { color: var(--is-vurgu-koyu); }
.is-suz-temizle { display: inline-flex; align-items: center; gap: 4px; height: 36px; padding: 0 6px; border: 0; background: transparent; color: var(--text-secondary); font: 600 0.8rem var(--font); cursor: pointer; }
.is-suz-temizle .material-symbols-outlined { font-size: 18px; }
.is-liste { display: flex; flex-direction: column; gap: 22px; }
.is-bolum { display: flex; flex-direction: column; gap: 12px; }
.is-bolum__ad { margin: 6px 2px 0; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: var(--text-secondary); }
.is-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 14px; align-items: start; }

/* Tümü aşama panosu (is-pano.js, sahip 30.10): noktalı şerit ve sütunlar aynı ızgarada. */
.is-pano { overflow-x: auto; display: flex; flex-direction: column; gap: 16px; padding-bottom: 4px; }
/* Sütun en çok 380 px: Bende'de iki üç aşama kalınca kartlar ekranı boydan boya kaplamasın. */
.is-pano__serit, .is-pano__kolonlar { display: grid; grid-template-columns: repeat(var(--is-pano-n, 7), minmax(160px, 380px)); gap: 10px; }
.is-pano__kolonlar { align-items: start; }
.is-pano__kolon { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
/* Dar sütunda kart: süre adın altında, ad iki satıra kadar (yedi sütun 1440 px ekrana sığsın). */
.is-pano__kolon .is-kart { padding: 12px; gap: 9px; }
.is-pano__kolon .is-kart__ust { flex-direction: column; gap: 6px; }
.is-pano__kolon .is-kart__kim { width: 100%; }
.is-pano__kolon .is-kart__firma { font-size: 0.92rem; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.is-pano__kolon--bos { min-height: 72px; border: 1px dashed var(--border-light); border-radius: 14px; align-items: center; justify-content: center; }
.is-pano__kolon--bos span { font-size: 0.76rem; color: var(--text-muted); }
/* Nokta: sütunun ortasında, çizgi komşu sütunlara uzanır (uçlarda yalnız içe). */
.is-pano__asama { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; padding: 0 2px 2px;
  border: 0; background: none; cursor: pointer; font: 600 0.8rem/1.2 var(--font); color: var(--text-muted); }
.is-pano__asama::before { content: ''; position: absolute; top: 7px; left: -5px; right: -5px; height: 2px; background: var(--is-sonra); }
.is-pano__asama:first-child::before { left: 50%; }
.is-pano__asama:last-child::before { right: 50%; }
.is-pano__nokta { position: relative; z-index: 1; width: 16px; height: 16px; box-sizing: border-box; border-radius: 50%;
  background: var(--bg-primary); border: 2px solid var(--is-sonra); transition: transform 0.12s; }
.is-pano__ad { display: flex; align-items: baseline; justify-content: center; gap: 5px; max-width: 100%; }
.is-pano__ad span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.is-pano__ad b { flex: none; font-variant-numeric: tabular-nums; }
.is-pano__asama--dolu { color: var(--text-primary); }
.is-pano__asama--dolu .is-pano__nokta { background: var(--is-simdi); border-color: var(--is-simdi); }
.is-pano__asama--on { color: var(--accent); }
.is-pano__asama--on .is-pano__nokta { background: var(--accent); border-color: var(--accent); box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.18); }
@media (hover: hover) { .is-pano__asama:hover .is-pano__nokta { transform: scale(1.18); } }
.is-pano__asama:focus-visible { outline: none; }
.is-pano__asama:focus-visible .is-pano__nokta { box-shadow: 0 0 0 3px var(--accent); }
/* Tek aşama seçili: şerit dar noktalar, kartlar altta ızgarada. */
.is-pano--tek .is-pano__serit { grid-template-columns: repeat(var(--is-pano-n, 7), minmax(112px, 1fr)); gap: 4px; }
.is-pano--tek .is-pano__asama::before { left: -2px; right: -2px; }
.is-pano--tek .is-pano__asama:first-child::before { left: 50%; }
.is-pano--tek .is-pano__asama:last-child::before { right: 50%; }
/* Telefon: dikey şerit (sahip 30.10). Çizgi noktaların ortasından aşağı iner; ilkinde noktadan başlar, sonuncuda noktada biter. */
.is-pano-dikey { display: flex; flex-direction: column; }
.is-pano-dikey__asama { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 0 0 18px 28px; }
.is-pano-dikey__asama::before { content: ''; position: absolute; left: 7px; top: 0; bottom: 0; width: 2px; background: var(--is-sonra); }
.is-pano-dikey__asama:first-child::before { top: 8px; }
.is-pano-dikey__asama:last-child::before { bottom: auto; height: 8px; }
.is-pano-dikey__asama:last-child { padding-bottom: 0; }
.is-pano-dikey__bas { position: relative; display: flex; align-items: baseline; gap: 6px; margin: 0; min-height: 16px;
  font: 700 0.76rem/16px var(--font); letter-spacing: 0.4px; text-transform: uppercase; color: var(--text-muted); }
.is-pano-dikey__bas b { font-variant-numeric: tabular-nums; }
.is-pano-dikey__bas .is-pano__nokta { position: absolute; left: -28px; top: 0; }
.is-pano-dikey__asama--dolu .is-pano-dikey__bas { color: var(--text-primary); }
.is-pano-dikey__asama--dolu .is-pano__nokta { background: var(--is-simdi); border-color: var(--is-simdi); }
.is-pano-dikey__kartlar { display: flex; flex-direction: column; gap: 12px; min-width: 0; }

.is-kart {
  background: var(--bg-secondary); border-radius: 16px; padding: 14px; display: flex; flex-direction: column; gap: 10px;
  box-shadow: var(--is-halka); cursor: pointer; text-align: left; color: var(--text-primary); min-width: 0;
}
.is-kart:focus-visible, .is-satir:focus-visible, .is-sonuc:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (hover: hover) { .is-kart:hover { box-shadow: var(--is-halka), 0 4px 14px rgba(0, 0, 0, 0.06); } }
/* Sahip 24.10: sırası sizde olan kart yumuşak çerçeve ve hafif tonla (parlak değil). */
.is-kart--sira { box-shadow: 0 0 0 1.5px rgba(var(--accent-rgb), 0.38); background: linear-gradient(rgba(var(--accent-rgb), 0.035), rgba(var(--accent-rgb), 0.035)), var(--bg-secondary); }
@media (hover: hover) {
  .is-kart--sira:hover { box-shadow: 0 0 0 1.5px rgba(var(--accent-rgb), 0.55), 0 4px 14px rgba(0, 0, 0, 0.06); }
}
.is-kart__ust { display: flex; gap: 10px; align-items: flex-start; }
.is-kart__kim { flex: 1; min-width: 0; }
.is-kart__firma { font-size: 1rem; font-weight: 650; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.is-kart__alt { font-size: 0.78rem; color: var(--text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Sahip 24.10: aşamanın adı kartta yok (şeridi kısaltıyordu); aşama satırlardan ve şerit ipucundan okunur. */
.is-kart__ilerleme { display: flex; align-items: center; gap: 10px; }
.is-kart__kol { display: flex; align-items: center; gap: 8px; font-size: 0.84rem; min-height: 24px; min-width: 0; }
.is-kart__kol .material-symbols-outlined { font-size: 18px; color: var(--text-secondary); flex: none; }
/* Sahip 24.10: düğme yerine «Sıra sizde: …» (kart zaten pencereyi açar). */
.is-kart__kol--sira, .is-kart__kol--sira .material-symbols-outlined { color: var(--accent); }
.is-kart__kol-metin { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.is-kart__kol-metin b { font-weight: 600; }
.is-kart__kol-metin span { color: var(--text-secondary); }
.is-kart__kol--onay .is-kart__kol-metin { color: var(--is-vurgu-koyu); font-weight: 600; }
.is-kart--kapali { opacity: 0.92; }
.is-ini {
  width: 24px; height: 24px; border-radius: 50%; background: var(--bg-tertiary); font-size: 0.62rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center; flex: none; color: var(--text-primary);
}
/* Profil fotoğrafı olan kişi (sahip 11.10); açılmazsa js baş harflere döndürür. */
.is-ini--foto { overflow: hidden; }
.is-ini--foto img { width: 100%; height: 100%; object-fit: cover; display: block; }

.is-zaman {
  flex: none; display: inline-flex; align-items: center; gap: 3px; font-size: 0.72rem; font-weight: 700; padding: 4px 9px;
  border-radius: 99px; white-space: nowrap; background: var(--bg-tertiary); color: var(--text-secondary);
}
.is-zaman .material-symbols-outlined { font-size: 14px; }
.is-zaman--gec { background: var(--is-gec-zemin); color: var(--is-gec-yazi); }
.is-zaman--bugun { background: var(--is-bugun-zemin); color: var(--is-bugun-yazi); }
.is-durum { flex: none; font-size: 0.72rem; font-weight: 700; padding: 4px 9px; border-radius: 99px; background: var(--bg-tertiary); color: var(--text-secondary); }
.is-durum--tamamlandi { background: var(--green-bg); color: var(--green); }
.is-durum--reddedildi, .is-durum--iptal { background: var(--is-gec-zemin); color: var(--is-gec-yazi); }

/* İlerleme şeridi: aşama sayısı akıştan gelir (düzenleyici değiştirebilir) */
.is-serit { flex: 1; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 3px; }
.is-serit__p { position: relative; height: 4px; border-radius: 2px; background: var(--is-sonra); }
.is-serit--kalin .is-serit__p { height: 5px; border-radius: 3px; }
.is-serit__p--tamam { background: var(--accent); }
.is-serit__p--simdi { background: var(--is-simdi); }
.is-serit__p--durdu { background: color-mix(in srgb, var(--is-gec-yazi) 55%, transparent); }
/* Atlanan aşama (sahip 29.10): taranmış, yapılmadı ama geçildi. */
.is-serit__p--atla { background: repeating-linear-gradient(135deg, var(--text-muted) 0 2px, transparent 2px 5px); opacity: 0.75; }
/* Aşama ipucu (sahip 09.10): webde üstüne gelince, kartta dokununca. Parçanın tutma alanı ince çizgiden geniş. */
.is-serit__p[data-ipucu]::before { content: ''; position: absolute; inset: -9px 0; }
.is-serit__p[data-ipucu]::after {
  content: attr(data-ipucu); position: absolute; top: calc(100% + 9px); left: 50%; transform: translateX(-50%); z-index: 5;
  padding: 6px 10px; border-radius: 9px; white-space: pre; font: 600 0.76rem/1.4 var(--font); text-align: left;
  background: #1f2430; color: #fff; box-shadow: 0 6px 18px rgba(12, 16, 38, 0.22);
  opacity: 0; pointer-events: none; transition: opacity 0.12s;
}
.is-serit__p[data-yon="sol"]::after { left: 0; transform: none; }
.is-serit__p[data-yon="sag"]::after { left: auto; right: 0; transform: none; }
@media (hover: hover) { .is-serit__p[data-ipucu]:hover::after { opacity: 1; } }
.is-serit__p.is-ipucu-acik::after { opacity: 1; }
[data-theme="dark"] .is-serit__p[data-ipucu]::after { background: rgb(38, 41, 51); color: #dfe8ec; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14), 0 10px 30px rgba(0, 0, 0, 0.45); }

.is-daha { align-self: center; margin-top: 4px; }
.is-bos { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 48px 16px; color: var(--text-secondary); text-align: center; }
.is-bos .material-symbols-outlined { font-size: 40px; color: var(--text-muted); }
.is-bos p { margin: 0; font-size: 0.9rem; max-width: 36ch; }

/* Düğmeler */
.is-dugme {
  height: 42px; padding: 0 16px; border: 0; border-radius: 12px; font: 650 0.88rem var(--font);
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; white-space: nowrap;
}
.is-dugme .material-symbols-outlined { font-size: 20px; }
.is-dugme--ana { background: var(--accent); color: #fff; }
.is-dugme--ikincil { background: var(--bg-secondary); color: var(--text-primary); box-shadow: 0 0 0 1px var(--border); }
.is-dugme--ikincil .material-symbols-outlined { color: var(--text-secondary); }
.is-dugme--tehlike { background: var(--red); color: #fff; }
.is-dugme--kucuk { height: 32px; padding: 0 10px; font-size: 0.8rem; border-radius: 9px; background: rgba(var(--accent-rgb), 0.12); color: var(--is-vurgu-koyu); }
.is-dugme--kucuk.is-dugme--ana { background: var(--accent); color: #fff; }
.is-dugme--kucuk .material-symbols-outlined { font-size: 18px; }
.is-dugme--genis { width: 100%; height: 50px; font-size: 0.92rem; }
.is-dugme:disabled { opacity: 0.55; cursor: not-allowed; }
.is-dugme.is-bekliyor { cursor: progress; opacity: 0.7; }
.is-dugme:focus-visible, .is-ikon-dugme:focus-visible, .is-suz select:focus-visible, .is-suz--dugme:focus-visible, .is-sekme:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.is-ikon-dugme {
  width: 40px; height: 40px; flex: none; border: 0; border-radius: 10px; background: transparent; color: var(--text-secondary);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
@media (hover: hover) { .is-ikon-dugme:hover { background: var(--bg-hover); } }
.is-baglanti {
  align-self: flex-start; border: 0; background: transparent; color: var(--accent); font: 600 0.85rem var(--font);
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 0; cursor: pointer;
}
.is-baglanti .material-symbols-outlined { font-size: 18px; }
/* ── Katmanlar (kart, talep, ayarlar) ───────────────────────────────────────
   Telefonda alttan çıkan sayfa, webde sağ panel. Bildirim paneli (4200) ve
   ileti pencereleri (top layer) üstte kalır. */
.is-katman { position: fixed; inset: 0; z-index: 300; }
/* Kapanırken (ve açılmadan önce) dokunuşlar alttaki listeye geçer (revü 07). */
.is-katman:not(.acik) { pointer-events: none; }
.is-katman--kart ~ .is-katman .is-karartma { background: var(--perde-ust); }   /* pencere üstünde pencere: iki tam karartma üst üste binmesin */
.is-karartma { position: absolute; inset: 0; background: var(--perde-pencere, rgba(8, 10, 18, 0.45)); opacity: 0; transition: opacity 0.25s; }
.is-katman.acik .is-karartma { opacity: 1; }
.is-sayfa {
  position: absolute; display: flex; flex-direction: column; overflow: hidden; background: var(--bg-secondary); color: var(--text-primary);
  box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.25); outline: none;
  transition: transform 0.3s cubic-bezier(0.32, 0.72, 0.3, 1);
}
.is-tutamac { width: 42px; height: 4px; border-radius: 2px; background: var(--border); align-self: center; margin-top: 8px; flex: none; }
.is-sayfa__govde { flex: 1; min-height: 0; overflow-y: auto; padding: 0 16px calc(24px + env(safe-area-inset-bottom, 0px)); display: flex; flex-direction: column; gap: 14px; }
/* Kaydıran flex sütununun çocukları sıkışmaz (overflow:hidden'lı liste yüksekliği 0'a ezilirdi). */
.is-sayfa__govde > * { flex-shrink: 0; }
.is-katman--talep .is-sayfa__govde { overflow: hidden; padding-bottom: 0; gap: 0; }
.is-katman--talep .is-sayfa__govde > .is-talep__icerik { flex-shrink: 1; }
@media (max-width: 768px) {
  .is-sayfa { left: 0; right: 0; bottom: 0; top: max(56px, calc(env(safe-area-inset-top, 0px) + 40px)); border-radius: 24px 24px 0 0; transform: translateY(104%); }
  .is-katman.acik .is-sayfa { transform: translateY(0); }
  .is-katman--dar .is-sayfa { top: max(96px, calc(env(safe-area-inset-top, 0px) + 80px)); }
  .is-ekran { padding: 12px 16px calc(24px + env(safe-area-inset-bottom, 0px)); gap: 10px; }
  /* Üst satır: geri, arama, +, Raporlar, Ayarlar; altında sekmeler, geçmiş ve süzgeç (sahip 10.10). */
  .is-ust { gap: 8px; padding-right: 0; }
  .is-ikon-dugme.is-geri { display: inline-flex; order: 1; margin-left: -8px; }
  .is-ara-web { order: 2; flex: 1 1 0; min-width: 0; max-width: none; margin: 0; }
  .is-yeni { order: 3; width: 40px; height: 40px; padding: 0; margin: 0; }
  .is-rapor-dugme { order: 4; }
  .is-ayar-dugme { order: 5; }
  .is-firma-dugme { order: 5; }
  .is-ust__sol { order: 6; flex: 1 0 100%; gap: 8px; }
  .is-ust__sol .is-sekmeler { flex: 1; min-width: 0; }
  .is-ikon-dugme.is-arac { width: 40px; height: 40px; }
  .is-sekme { flex: 1; height: 34px; padding: 0 6px; font-size: 0.82rem; }
  .is-sekme--ikon { flex: 0 0 auto; padding: 0 12px; }
  .is-yalniz-web { display: none !important; }
  .is-ara-web input { height: 40px; }
  /* Kayan şeritte odak halesi (4 px) üstte ve altta kesilmesin. */
  .is-suz-sira { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: -4px -16px; padding: 6px 16px; }
  .is-suz-sira::-webkit-scrollbar { display: none; }
  /* Webdeki ızgaranın align-items:start'ı sütunda kartı içeriği kadar daraltıyordu: tam genişlik. */
  .is-izgara { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
  .is-liste { gap: 10px; }
}
@media (min-width: 769px) {
  .is-sayfa { top: 0; right: 0; bottom: 0; width: min(560px, 100vw); border-radius: 16px 0 0 16px; transform: translateX(104%); box-shadow: -12px 0 40px rgba(0, 0, 0, 0.18); }
  .is-katman.acik .is-sayfa { transform: translateX(0); }
  .is-katman--dar .is-sayfa { width: min(480px, 100vw); }
  .is-katman--talep .is-sayfa { width: min(640px, 100vw); }
  .is-tutamac { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .is-sayfa, .is-karartma, #bn-is { transition: none; }
}
body.is-katman-acik #bn-is { opacity: 0; pointer-events: none; }

.is-sayfa__bas {
  position: sticky; top: 0; z-index: 2; background: var(--bg-secondary); display: flex; align-items: center; gap: 6px;
  padding: 10px 0 6px; margin: 0 -4px;
}
.is-sayfa__bas h1 { margin: 0; font-size: 1.2rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; flex: 1; min-width: 0; overflow-wrap: anywhere; }
.is-sayfa__kim { flex: 1; min-width: 0; }
.is-sayfa__kim h1 { flex: none; }
.is-sayfa__alt { font-size: 0.8rem; color: var(--text-secondary); margin-top: 2px; overflow-wrap: anywhere; }

/* Kart */
.is-kart-serit { display: flex; flex-direction: column; gap: 8px; }
.is-kart-serit__adlar { font-size: 0.76rem; }
.is-kart-serit__adlar b { color: var(--accent); font-weight: 700; }
.is-bant { padding: 10px 12px; border-radius: 12px; font-size: 0.85rem; font-weight: 600; overflow-wrap: anywhere; }
.is-bant--dur { background: var(--is-gec-zemin); color: var(--is-gec-yazi); }
.is-bant--tamam { background: var(--green-bg); color: var(--green); }
.is-bant--bilgi { background: rgba(var(--accent-rgb), 0.08); color: var(--is-vurgu-koyu); }
.is-bant--uyari { background: var(--is-bugun-zemin); color: var(--is-bugun-yazi); }
.is-siradaki { padding: 16px; border-radius: 12px; background: var(--bg-tertiary); display: flex; flex-direction: column; gap: 12px; }   /* çerçeve içinde çerçeve yok (sahip 27.10) */
.is-siradaki .is-bant { padding: 0; border-radius: 0; background: none; }
.is-siradaki__ust { display: flex; align-items: flex-start; gap: 10px; }
.is-siradaki__kim { flex: 1; min-width: 0; }
.is-siradaki__etiket { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: var(--is-vurgu-koyu); }
.is-siradaki__ad { font-size: 1.1rem; font-weight: 700; margin-top: 2px; display: flex; align-items: center; gap: 6px; }
.is-siradaki__ad .material-symbols-outlined { color: var(--accent); }
.is-siradaki__alt { font-size: 0.8rem; color: var(--text-secondary); margin-top: 2px; overflow-wrap: anywhere; }
.is-siradaki__birimler { margin-top: 10px; }
.is-onay { padding: 14px; border-radius: 16px; background: var(--is-bugun-zemin); display: flex; flex-direction: column; gap: 10px; }
.is-onay__ust { display: flex; gap: 10px; align-items: flex-start; font-size: 0.85rem; }
.is-onay__ust > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.is-onay__ust .material-symbols-outlined { color: var(--is-bugun-yazi); }
.is-onay__ust span { color: var(--text-secondary); font-size: 0.8rem; }
.is-onay__gerekce { margin: 0; font-size: 0.85rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.is-onay__dugmeler { display: flex; gap: 8px; justify-content: flex-end; }
.is-kollar { display: flex; flex-direction: column; }
.is-kol { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border-light); }
/* Bildirimden açılan görev (sahip 13.10): kısa vurgu, sonra söner. */
.is-odak { animation: is-odak 2.4s ease-out; }
@keyframes is-odak {
  0%, 35% { box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.55); background-color: rgba(var(--accent-rgb), 0.12); }
  100% { box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0); }
}
@media (prefers-reduced-motion: reduce) { .is-odak { animation: none; box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.55); } }
.is-kol__metin { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 0.88rem; }
.is-kol__metin b { font-weight: 600; }
.is-kol__metin span { font-size: 0.8rem; color: var(--text-secondary); overflow-wrap: anywhere; }
/* Son not kartta (sahip 11.10): en çok dört satır, fazlası «Tümü»nde. */
.is-son-not { display: flex; flex-direction: column; gap: 6px; }
.is-son-not .is-bolum__ad { overflow-wrap: anywhere; }
.is-son-not__kim { text-transform: none; letter-spacing: 0; font-weight: 500; }
.is-son-not .is-son-not__metin { margin: 0; }
/* Kırpma içteki yazıda: kutunun iç boşluğunda beşinci satırın yarısı görünmesin. */
.is-son-not__metin > span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
.is-son-not__tumu { align-self: flex-start; }
.is-satirlar { border-radius: 16px; background: var(--bg-secondary); box-shadow: 0 0 0 1px var(--border-light); overflow: hidden; display: flex; flex-direction: column; }
.is-satir {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 0 14px; border: 0; border-top: 1px solid var(--border-light);
  background: transparent; color: var(--text-primary); text-align: left; font: inherit; cursor: pointer;
}
.is-satir:first-child { border-top: 0; }
.is-satir > .material-symbols-outlined { font-size: 21px; color: var(--text-secondary); flex: none; }
.is-satir > .material-symbols-outlined:last-child { font-size: 20px; color: var(--text-muted); }
/* Renkli simge, profildeki gibi (sahip 11.10, js O.satirIkon): zemin yok, yalnız simge kendi renginde; renk anlama göre,
   aynı simge her yerde aynı. Profilin paleti (Tailwind 500), iki temada da aynı. */
.is-satir__ik { display: inline-flex; flex: none; color: var(--r, #3b82f6); }
.is-satir__ik .material-symbols-outlined { font-size: 21px; }
.is-satir__ik--yesil { --r: #10b981; }
.is-satir__ik--camgobegi { --r: #14b8a6; }
.is-satir__ik--pembe { --r: #ec4899; }
.is-satir__ik--turuncu { --r: #f97316; }
.is-satir__ik--gok { --r: #06b6d4; }
.is-satir__ik--lacivert { --r: #6366f1; }
.is-satir__ik--sari { --r: #f59e0b; }
.is-satir__ik--kirmizi { --r: #ef4444; }
.is-satir__ik--mor { --r: #8b5cf6; }
.is-satir__ad { flex: 1; min-width: 0; font-size: 0.9rem; font-weight: 600; display: flex; flex-direction: column; padding: 8px 0; overflow-wrap: anywhere; }
.is-satir__ad small { font-size: 0.76rem; font-weight: 400; color: var(--text-secondary); }
/* Müşteri kartı: bilgi grupları ayrı satırda, öğeler ikonlu; telefon bölünmez (sahip 18.10). */
.is-satir__bilgi { display: flex; flex-wrap: wrap; gap: 2px 12px; margin-top: 3px; }
.is-satir__bilgi > span { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
.is-satir__bilgi .material-symbols-outlined { font-size: 15px; color: var(--text-muted); flex: none; }
.is-satir__tel { white-space: nowrap; }
.is-satir__deger { font-size: 0.8rem; color: var(--text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 50%; }
.is-satir__deger--bekliyor { color: var(--is-bugun-yazi); font-weight: 600; }   /* sahip 29.10: «Rapor bekliyor 3» */
.is-satir--pasif { opacity: 0.6; }
div.is-satir { cursor: default; }
@media (hover: hover) { button.is-satir:hover { background: var(--bg-hover); } }
.is-alt-eylemler { display: flex; flex-direction: column; gap: 4px; margin-top: auto; padding-top: 4px; }
.is-alt-eylemler__not { font-size: 0.76rem; color: var(--text-muted); text-align: center; }
.is-alt-eylemler__sira { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; }
.is-alt-eylem { height: 40px; border: 0; background: transparent; color: var(--text-secondary); font: 600 0.85rem var(--font); padding: 0 9px; display: flex; align-items: center; gap: 5px; cursor: pointer; border-radius: 10px; }
.is-alt-eylem .material-symbols-outlined { font-size: 19px; }
@media (hover: hover) { .is-alt-eylem:hover { background: var(--bg-hover); color: var(--text-primary); } }
.is-ince { margin: 0; font-size: 0.8rem; color: var(--text-secondary); }
.is-teklif-surum { display: flex; flex-direction: column; gap: 8px; }
.is-ekler { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 4px; }
.is-mesai-notu { display: block; margin-top: 4px; font-size: 0.76rem; color: var(--text-secondary); }
.is-metin { margin: 0; font-size: 0.9rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.is-kalemler { display: flex; flex-direction: column; }
.is-kalem { display: flex; align-items: baseline; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border-light); font-size: 0.9rem; }
.is-kalem--vurgu .is-kalem__miktar { color: var(--is-vurgu-koyu); font-weight: 600; }
.is-kalem--sayim .is-kalem__miktar { white-space: normal; text-align: right; max-width: 60%; }
.is-kalem__ad { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.is-kalem__ad small { color: var(--text-secondary); }
.is-kalem__miktar, .is-kalem__fiyat { font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--text-secondary); }
.is-kalem__fiyat { font-weight: 600; color: var(--text-primary); }
/* Fatura: teklif ve yapılan yan yana (sahip 25.10, seçenek B). */
/* Fatura penceresi (sahip 25.10, seçenek A): sekmeler ve satırların kaynağı; seçili dolu. */
.is-fseg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 3px; padding: 3px; border-radius: 12px; background: var(--bg-tertiary); }
.is-fseg__oge { border: 0; border-radius: 9px; padding: 9px 6px; background: transparent; color: var(--text-secondary); font: inherit; font-size: 0.9rem; font-weight: 600; cursor: pointer; }
.is-fseg__oge--secili { background: var(--accent); color: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12); }
.is-fseg__oge:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.is-fseg--kucuk .is-fseg__oge { padding: 7px 6px; font-size: 0.84rem; }
.is-hz__ekle { justify-self: start; align-self: flex-start; }
/* Fatura hazırla (sahip 25.10): satır = hizmet, miktar, fiyat, kaldır. */
.is-hz__satirlar { display: flex; flex-direction: column; gap: 6px; }
.is-hz__satir { display: grid; grid-template-columns: minmax(0, 1fr) 52px 78px 78px 32px; gap: 6px; align-items: center; }
.is-hz__bas { font-size: 0.66rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-secondary); }
.is-hz__bas span:nth-child(n+2) { text-align: right; }
.is-hz__adkutu { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.is-hz__adkutu small { font-size: 0.72rem; color: var(--is-bugun-yazi); }
.is-hz__tutar { text-align: right; font-size: 0.82rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.is-hz__satir--eksik [data-hz="birimFiyat"] { border-color: var(--is-bugun-yazi); background: var(--is-bugun-zemin); }
.is-hz__elle { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; font-weight: 500; }
.is-hz__satir input { min-width: 0; height: 40px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-primary); color: var(--text-primary); font: inherit; font-size: 0.88rem; }
.is-hz__sayi { text-align: right; font-variant-numeric: tabular-nums; }
/* Telefonda satır iki sırada: üstte hizmetin adı tam, altta adet, fiyat, toplam, X. */
@media (max-width: 520px) {
  .is-hz__satir { grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1fr) 30px; grid-template-areas: "ad ad ad ad" "adet fiyat tutar x"; row-gap: 4px; padding-bottom: 8px; border-bottom: 1px solid var(--border-light); }
  .is-hz__adkutu { grid-area: ad; }
  .is-hz__satir [data-hz="miktar"] { grid-area: adet; }
  .is-hz__satir [data-hz="birimFiyat"] { grid-area: fiyat; }
  .is-hz__tutar { grid-area: tutar; }
  .is-hz__satir > .is-ikon-dugme { grid-area: x; }
  .is-hz__bas { grid-template-areas: "adet fiyat tutar x"; border-bottom: 0; padding-bottom: 0; }
  .is-hz__bas span:first-child { display: none; }
  .is-hz__bas span:nth-child(2) { grid-area: adet; } .is-hz__bas span:nth-child(3) { grid-area: fiyat; }
  .is-hz__bas span:nth-child(4) { grid-area: tutar; } .is-hz__bas span:nth-child(5) { grid-area: x; }
}
/* Müşterinin fatura bilgileri (sahip 25.10). */
.is-m-fatura { gap: 12px; }
.is-m-fatura__iki { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 420px) { .is-m-fatura__iki { grid-template-columns: 1fr; } }
/* Şube bilgileri (sahip 29.10, İSG gibi): diğer şubelerden öneri çipleri, yetkili satırları, kapalı fatura. */
.is-sube-oneri { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: -4px; }
.is-sube-oneri > small { font-size: 0.72rem; color: var(--text-secondary); }
.is-sube-oneri__cip { display: inline-flex; align-items: baseline; gap: 6px; max-width: 100%; min-height: 28px; border: 0; border-radius: 999px; padding: 4px 10px;
  font: inherit; font-size: 0.78rem; color: var(--accent); background: rgba(var(--accent-rgb), 0.12); cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.is-sube-oneri__cip small { color: var(--text-secondary); font-size: 0.7rem; }
.is-sube-oneri__cip:hover { background: rgba(var(--accent-rgb), 0.2); }
.is-m-kisiler { gap: 10px; }
[data-kisiler] { display: flex; flex-direction: column; gap: 10px; }
[data-kisiler]:empty { display: none; }
.is-m-kisi { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.2fr) 36px; gap: 8px; align-items: end; }
@media (max-width: 560px) {
  .is-m-kisi { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 36px; }
  .is-m-kisi > label:nth-child(3) { grid-column: 1 / 3; grid-row: 2; }
  [data-kisiler] { gap: 16px; }
  .is-m-kisi + .is-m-kisi { padding-top: 12px; border-top: 1px solid var(--border-light); }
}
.is-m-fatura-kap > summary { display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; padding: 10px 0; border-top: 1px solid var(--border-light);
  font-weight: 600; font-size: 0.9rem; color: var(--text-primary); }
.is-m-fatura-kap > summary::-webkit-details-marker { display: none; }
.is-m-fatura-kap > summary small { margin-left: auto; font-weight: 400; color: var(--text-secondary); font-size: 0.78rem; }
.is-m-fatura-kap > summary > .material-symbols-outlined:last-child, .is-sube-bilgi__fatura > summary > .material-symbols-outlined:last-child { transition: transform 0.15s; }
.is-m-fatura-kap[open] > summary > .material-symbols-outlined:last-child, .is-sube-bilgi__fatura[open] > summary > .material-symbols-outlined:last-child { transform: rotate(180deg); }
.is-m-fatura-kap > .is-m-fatura { padding-bottom: 4px; }
.is-sube-bilgi__fatura > summary { cursor: pointer; list-style: none; }
.is-sube-bilgi__fatura > summary::-webkit-details-marker { display: none; }
.is-sube-bilgi__fatura > summary > .material-symbols-outlined:last-child { margin-left: auto; color: var(--text-secondary); }
.is-sube-bilgi__fatura-ic { display: flex; flex-direction: column; gap: 4px; padding: 0 0 8px 29px; font-size: 0.88rem; color: var(--text-primary); }
.is-fk { display: flex; flex-direction: column; }
.is-fk__bas, .is-fk__satir > summary, .is-fk__ozet { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 2px 12px; align-items: baseline; }
.is-fk__bas { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-secondary); padding-bottom: 4px; }
.is-fk__bas span, .is-fk__toplam > span { text-align: right; min-width: 64px; }
.is-fk__satir { border-bottom: 1px solid var(--border-light); font-size: 0.9rem; }
.is-fk__satir:last-child { border-bottom: 0; }
.is-fk__satir > summary, .is-fk__ozet { padding: 10px 0; }
.is-fk__satir > summary { cursor: pointer; list-style: none; }
.is-fk__satir > summary::-webkit-details-marker { display: none; }
.is-fk__satir[open] { background: var(--bg-tertiary); border-radius: 10px; margin-inline: -8px; padding-inline: 8px; border-bottom-color: transparent; }
.is-fk__ad { min-width: 0; overflow-wrap: anywhere; }
.is-fk__ad small { display: block; color: var(--text-secondary); font-size: 0.8rem; }
.is-fk__sayi { font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; min-width: 64px; }
.is-fk__sayi small { display: block; font-size: 0.78rem; }
.is-fk__eksi { color: var(--is-gec-yazi); }
.is-fk__arti { color: var(--green); }
.is-fk__birimler { list-style: none; margin: 0; padding: 0 0 10px; display: flex; flex-direction: column; gap: 4px; font-size: 0.82rem; }
.is-fk__birim { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.is-fk__birim > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.is-fk__toplam { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px 0; padding: 12px 14px; border-radius: 12px; background: var(--bg-tertiary); font-size: 0.86rem; font-variant-numeric: tabular-nums; }
.is-fk__toplam > span { padding-left: 12px; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-secondary); }
.is-fk__toplam dt { color: var(--text-secondary); }
.is-fk__toplam dd { margin: 0; padding-left: 12px; text-align: right; font-weight: 600; min-width: 64px; }
.is-fk__toplam .is-fk__genel { color: var(--text-primary); font-weight: 700; padding-top: 8px; border-top: 1px solid var(--border-light); }
.is-fk__tutar { display: flex; flex-direction: column; gap: 8px; }
.is-fk__oneriler { display: flex; flex-wrap: wrap; gap: 6px; }
.is-fk__oneri { border: 0; border-radius: 99px; padding: 6px 12px; background: var(--bg-tertiary); color: var(--text-secondary); font: inherit; font-size: 0.82rem; font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer; }
.is-fk__oneri--secili { background: rgba(var(--accent-rgb), 0.12); color: var(--is-vurgu-koyu); box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.5); }
.is-fk__kdv { margin: 0; font-size: 0.85rem; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.is-fk__kdv b { color: var(--text-primary); }
.is-fk__duzelt { display: block; margin-top: 4px; }
.is-bilgiler { display: flex; flex-direction: column; }
.is-bilgi { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border-light); font-size: 0.9rem; }
.is-bilgi > .material-symbols-outlined { color: var(--text-secondary); font-size: 21px; flex: none; }
.is-bilgi > div { flex: 1; min-width: 0; display: flex; flex-direction: column; overflow-wrap: anywhere; }
.is-bilgi small { font-size: 0.74rem; color: var(--text-secondary); }
.is-bilgi a { color: var(--accent); font-weight: 600; text-decoration: none; }
/* Şubenin sonraki kontrolü (Müşteriler, 18.10): etiket ve o gün gelen ekipmanlar, altında raporlar ve yeni talep. */
.is-sube-kontrol { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; }
.is-sube-kontrol__ust { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.is-sube-kontrol__ust .is-etiket { align-self: flex-start; }
.is-sube-kontrol__dugmeler { display: flex; flex-wrap: wrap; gap: 0 16px; }
.is-sube-kontrol__dugmeler .is-baglanti { padding: 4px 0; }
.is-satir > .is-etiket { margin-left: auto; }
.is-olaylar { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.is-olay { display: flex; gap: 12px; position: relative; padding-bottom: 14px; }
.is-olay::before { content: ''; position: absolute; left: 4px; top: 14px; bottom: 0; width: 2px; background: var(--border-light); }
.is-olay:last-child::before { display: none; }
.is-olay__nokta { width: 10px; height: 10px; border-radius: 50%; background: var(--accent); margin-top: 5px; flex: none; }
.is-olay__govde { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.is-olay__ust { display: flex; justify-content: space-between; gap: 8px; font-size: 0.88rem; }
.is-olay__ust b { font-weight: 600; overflow-wrap: anywhere; }
.is-olay__ust time { font-size: 0.74rem; color: var(--text-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.is-olay__kim { font-size: 0.8rem; color: var(--text-secondary); }
.is-olay__ek { font-size: 0.78rem; color: var(--text-muted); }
/* Geçmiş (18.10): işlemin doğurduğu görevler ve iş durumu, kaydın altında. */
.is-olay__sonra { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.is-olay__sonra li { display: flex; align-items: flex-start; gap: 4px; font-size: 0.8rem; color: var(--text-secondary); overflow-wrap: anywhere; }
.is-olay__sonra .material-symbols-outlined { font-size: 15px; color: var(--text-muted); flex: none; margin-top: 1px; }
.is-olay__metin { margin: 4px 0 0; font-size: 0.85rem; white-space: pre-wrap; overflow-wrap: anywhere; background: var(--bg-tertiary); border-radius: 10px; padding: 8px 10px; }
/* Mühendislik kebab menüsüyle aynı (sahip 30.10): açıkta beyaz + kenar, koyuda kaldırılmış plaka (style.css). */
.is-menu { position: fixed; z-index: 5; min-width: 180px; padding: 5px; border-radius: 12px; display: flex; flex-direction: column; gap: 2px;
  background: var(--yuzey-pencere, var(--bg-secondary)); border: 1px solid var(--border); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.24); }
.is-menu__oge { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 11px; border: 0; border-radius: 8px; background: transparent; color: var(--text-primary); font: 500 0.86rem var(--font); cursor: pointer; text-align: left; }
.is-menu__oge--tehlike { color: var(--red); }
/* Mühendislik kebab menüsü gibi (sahip 30.10): simge gri, tehlikede kırmızı; açık ⋮ vurgu kenarlı. */
.is-menu__oge .material-symbols-outlined { font-size: 1.2rem; color: var(--text-muted); }
.is-menu__oge--tehlike .material-symbols-outlined { color: var(--red); }
.kebab__btn[aria-expanded="true"] { border-color: var(--accent); color: var(--accent); }
/* İki dokunuşlu öğe (sahip 25.10: taslak ve boş birim silme): ilk dokunuşta kırmızı zemin */
.is-menu__oge--onay, .is-menu__oge--onay:hover { background: var(--red-bg); color: var(--red); }
/* Rapor düzeltmeleri (sahip 25.10): tamamlanmış raporun altında, eskiden yeniye */
.is-rf-duzeltmeler { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.is-rf-duzeltme { display: flex; flex-direction: column; gap: 2px; padding: 6px 0 6px 10px; border-left: 3px solid var(--accent); font-size: 0.85rem; }
.is-rf-duzeltme small { color: var(--text-secondary); overflow-wrap: anywhere; }
.is-rf-duzeltme .is-baglanti { align-self: flex-start; }
/* Kaç kopya (sahip 25.10) */
.is-kopya { display: flex; flex-direction: column; gap: 12px; }
.is-kopya__sayac { align-self: center; }
.is-kopya__sayac input { width: 56px; text-align: center; font-size: 1.1rem; }
/* Onay penceresi (sahip 25.10) */
.is-onay__metin { margin: 4px 0 18px; color: var(--text-secondary); line-height: 1.5; }
.is-onay__dugmeler { gap: 10px; }
/* Birim satırının «⋮» düğmesi */
.is-birim-ek > .is-ikon-dugme[data-kart="birimMenu"] { flex: none; }
@media (hover: hover) { .is-menu__oge:hover { background: var(--bg-hover); } }

/* Formlar */
.is-form { display: flex; flex-direction: column; gap: 14px; padding-top: 4px; }
/* Saha kapanışında kalan (sahip 12.10): formun alanlarıyla aynı aralık. */
.is-ey-kalan:not([hidden]) { display: flex; flex-direction: column; gap: 14px; }
/* Rapor hazırlamada sayaç ve birimler (17.10): formun alanlarıyla aynı aralık. */
.is-ey-raporlar { display: flex; flex-direction: column; gap: 14px; }
.is-ey-raporlar:empty { display: none; }
.is-alan { display: flex; flex-direction: column; gap: 6px; }
.is-alan > span { font-size: 0.8rem; font-weight: 600; color: var(--text-secondary); }
.is-alan input, .is-alan textarea, .is-alan select, .is-talep__firma-ad input {
  width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--border);
  background: var(--bg-primary); color: var(--text-primary); font: 400 1rem var(--font);
}
.is-alan textarea { resize: vertical; }
/* Zorunlu alan (sahip 14.10): «isteğe bağlı» yazılmaz; zorunlunun etiketinde yıldız */
.is-alan:has(:required) > span:first-child::after { content: ' *'; }
.is-talep__firma-ad:has(:required) > small::after { content: ' *'; }
.is-secimler:has(:required) > legend::after { content: ' *'; }
/* SGK uyarısı (sahip 14.10): yalnız yanlış hanede görünür */
.is-alan__ipucu { font-size: 0.75rem; font-weight: 600; color: var(--is-gec-yazi); }
.is-alan__ipucu:empty { display: none; }
/* Öneri (uyarı değil): rapor kısaltması önerisi ve «Kullan». */
.is-alan__oneri { display: flex; align-items: center; gap: 8px; font-size: 0.75rem; color: var(--text-secondary); }
.is-alan__oneri:empty { display: none; }
.is-alan__oneri .is-baglanti { padding: 2px 0; font-size: 0.75rem; }
/* Önerili metin (sahip 24.10, «Diğer» yerine; is-oneri-alani.js): yazılır ya da alttaki listeden seçilir. */
.is-oneri { position: relative; }
.is-alan .is-oneri input { padding-right: 40px; }
.is-oneri__ok { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; display: grid; place-items: center;
  border: 0; border-radius: 8px; background: transparent; color: var(--text-muted); cursor: pointer; }
.is-oneri__ok:focus-visible { outline: 2px solid var(--accent); }
.is-oneri__liste { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; margin: 0; padding: 4px; list-style: none;
  background: var(--bg-primary); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16); max-height: 240px; overflow: auto; }
.is-oneri__liste li { padding: 10px 12px; border-radius: 8px; cursor: pointer; color: var(--text-primary); }
.is-oneri__liste li:hover, .is-oneri__liste li[aria-selected="true"] { background: var(--bg-hover); }
.is-oneri__liste mark { background: rgba(var(--accent-rgb), 0.18); color: inherit; border-radius: 3px; }
/* Açılır liste oku: .form-select (style.css) ile aynı. */
.is-alan select {
  appearance: none; -webkit-appearance: none; padding-right: 36px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239ca3b4' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
/* Koyu temada tarih, onay kutusu gibi yerel denetimler de koyu. */
[data-theme="dark"] #screen-istakip, [data-theme="dark"] .is-katman { color-scheme: dark; }
/* Koyu temada boş onay kutusu ve seçenek beyaz kalıyordu (accent-color): boşken çerçeve, seçilince yerel. */
[data-theme="dark"] .is-katman input:is([type="checkbox"], [type="radio"]):not(:checked) {
  appearance: none; -webkit-appearance: none; box-sizing: border-box; border: 1.5px solid rgba(255, 255, 255, 0.4); border-radius: 4px; background: transparent;
}
[data-theme="dark"] .is-katman input[type="radio"]:not(:checked) { border-radius: 50%; }
.is-alan input:focus, .is-alan textarea:focus, .is-alan select:focus, .is-talep__firma-ad input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.18); }
.is-alan[hidden], .is-kime[hidden] { display: none; }
/* Sonraki aşamanın önerilen kişisi (sahip 11.10): talepteki «kime» satırı; «Değiştir» sağda. */
.is-kime > .is-dugme { margin-left: auto; flex: none; }
.is-alan--sira { flex-direction: row; align-items: center; gap: 10px; }
.is-alan--sira > span { flex: none; }
.is-form__hata { margin: 0; padding: 10px 12px; border-radius: 10px; background: var(--is-gec-zemin); color: var(--is-gec-yazi); font-size: 0.85rem; list-style: none; display: flex; flex-direction: column; gap: 2px; }
.is-form__hata[hidden] { display: none; }
.is-form__alt { display: flex; justify-content: flex-end; }
@media (max-width: 768px) { .is-form__alt .is-dugme { width: 100%; height: 48px; } }
.is-secimler { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.is-secimler legend { font-size: 0.8rem; font-weight: 600; color: var(--text-secondary); margin-bottom: 6px; padding: 0; }
.is-secim { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; box-shadow: 0 0 0 1px var(--border); cursor: pointer; font-size: 0.92rem; -webkit-user-select: none; user-select: none; }
.is-secim input { width: 18px; height: 18px; accent-color: var(--accent); margin: 0; flex: none; }
.is-secim:has(input:disabled) { opacity: 0.45; cursor: not-allowed; }
.is-secim--satir { box-shadow: none; padding: 4px 0; font-size: 0.86rem; color: var(--text-secondary); }
/* Sahaya kim gidecek (sahip 24.10): Ekip listesindeki kişi satırı; seçilende baş harflerin yerinde onay, «Sorumlu» */
.is-saha-ekip { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.is-saha-ekip > legend { font-size: 0.8rem; font-weight: 600; color: var(--text-secondary); margin-bottom: 6px; padding: 0; }
.is-saha-kisi { display: flex; align-items: center; gap: 8px; padding-right: 14px; }
.is-saha-kisi + .is-saha-kisi { border-top: 1px solid var(--border-light); }
.is-saha-kisi:has(.is-saha-kisi__sec input:checked) { background: rgba(var(--accent-rgb), 0.07); }
.is-saha-kisi__sec { flex: 1; min-width: 0; position: relative; }
.is-saha-kisi__sec input, .is-saha-sorumlu input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.is-saha-kisi__sec:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: -2px; }
.is-saha-kisi__ini { position: relative; width: 24px; height: 24px; flex: none; }
.is-saha-kisi__ini > .material-symbols-outlined { display: none; position: absolute; inset: 0; border-radius: 50%; background: var(--accent); color: #fff; font-size: 16px; align-items: center; justify-content: center; }
.is-saha-kisi__sec:has(input:checked) .is-saha-kisi__ini > .material-symbols-outlined { display: flex; }
.is-saha-sorumlu { flex: none; position: relative; display: none; cursor: pointer; }
.is-saha-kisi:has(.is-saha-kisi__sec input:checked) .is-saha-sorumlu { display: inline-flex; }
.is-saha-sorumlu span { font-size: 0.74rem; font-weight: 600; padding: 4px 10px; border-radius: 99px; color: var(--text-secondary); box-shadow: inset 0 0 0 1px var(--border); }
.is-saha-sorumlu:has(input:checked) span { background: var(--accent); color: #fff; box-shadow: none; }
.is-saha-sorumlu:has(input:focus-visible) span { outline: 2px solid var(--accent); outline-offset: 2px; }
/* Ekip: Saha'lının rapordaki bilgileri, altında kontrol ettiği kalemler */
.is-ek-belge { margin-bottom: 14px; }
.is-mh-kat { border-radius: 12px; box-shadow: 0 0 0 1px var(--border); padding: 4px 12px; }
.is-mh-kat > summary { display: flex; align-items: center; gap: 8px; cursor: pointer; min-height: 40px; }
.is-mh-kat > summary .is-secim { flex: 1; color: var(--text-primary); font-weight: 600; }
.is-mh-kat > summary::-webkit-details-marker { display: none; }
.is-mh-ok { display: inline-flex; color: var(--text-secondary); transition: transform .15s; }
.is-mh-kat[open] .is-mh-ok { transform: rotate(180deg); }
.is-mh-kat > summary small { color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.is-mh-kat > .is-secimler { gap: 0; padding: 0 0 8px 28px; }
.is-mh-kat > .is-secimler .is-secim { color: var(--text-primary); }

/* Talep formu */
/* Yanlarda 6 px pay: kayan kutu içindeki çerçeve ve odak halesi kenarda kesilmesin (sahip 10.10). */
.is-talep__icerik { flex: 1; min-height: 0; overflow-y: auto; margin: 0 -6px; padding: 8px 6px 16px; display: flex; flex-direction: column; gap: 14px; }
.is-talep__icerik > *, .is-talep__bolum > * { flex-shrink: 0; }
.is-talep__bolum { display: flex; flex-direction: column; gap: 8px; }
.is-talep__durum { display: inline-flex; align-items: center; gap: 4px; font-size: 0.75rem; color: var(--green); white-space: nowrap; }
.is-talep__durum[hidden] { display: none; }
.is-talep__kutu { background: var(--bg-secondary); box-shadow: 0 0 0 1px var(--border); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.is-talep__kutu--vurgu { box-shadow: 0 0 0 2px var(--accent); padding: 0; overflow: hidden; gap: 0; }
.is-talep__kutu--liste { padding: 0; gap: 0; overflow: hidden; }
.is-talep__firma { display: flex; align-items: center; gap: 10px; }
.is-talep__firma > .material-symbols-outlined { color: var(--accent); font-size: 22px; }
.is-talep__firma-ad { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.is-talep__firma-ad small { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-secondary); }
.is-talep__firma-ad b { font-weight: 700; overflow-wrap: anywhere; }
.is-ara-kutu { display: flex; align-items: center; gap: 8px; height: 46px; padding: 0 12px; }
.is-talep__kutu:not(.is-talep__kutu--vurgu) > .is-ara-kutu, .is-sayfa__govde > .is-ara-kutu { border-radius: 12px; background: var(--bg-primary); box-shadow: 0 0 0 1px var(--border); }
.is-ara-kutu .material-symbols-outlined { font-size: 20px; color: var(--accent); }
.is-ara-kutu input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; color: var(--text-primary); font: 600 1rem var(--font); }
.is-ara-kutu small { font-size: 0.75rem; color: var(--text-secondary); white-space: nowrap; }
.is-sonuc {
  display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 12px; border: 0; border-top: 1px solid var(--border-light);
  background: transparent; color: var(--text-primary); text-align: left; font: inherit; cursor: pointer;
}
.is-sonuclar { display: flex; flex-direction: column; }
.is-talep__kutu:not(.is-talep__kutu--vurgu) .is-sonuclar > .is-sonuc { border-radius: 10px; border-top: 0; }
.is-sonuc > .material-symbols-outlined { color: var(--text-secondary); font-size: 20px; flex: none; }
.is-sonuc input { width: 18px; height: 18px; accent-color: var(--accent); margin: 0; flex: none; }
.is-sonuc__ad { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 0.9rem; font-weight: 600; overflow-wrap: anywhere; }
.is-sonuc__ad small { font-size: 0.74rem; font-weight: 400; color: var(--text-secondary); }
.is-sonuc--secili { background: rgba(var(--accent-rgb), 0.06); }
.is-sonuc--yeni, .is-sonuc--yeni > .material-symbols-outlined { color: var(--accent); }
/* «Yeni müşteri» satırı vurgulu (sahip 11.10); eşleşme yoksa Enter onu seçer, webde ipucu. */
.is-sonuc.is-sonuc--yeni { background: rgba(var(--accent-rgb), 0.09); font-weight: 650; }
@media (hover: hover) { .is-sonuc.is-sonuc--yeni:hover { background: rgba(var(--accent-rgb), 0.15); } }
/* Kapsam satırları (sahip 23.10): aramanın üstünde iki seçim, yan yana; dar ekranda alt alta. */
.is-kapsam { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; margin-bottom: 10px; }
.is-kapsam > .is-sonuc { border-top: 0; border-radius: 12px; box-shadow: 0 0 0 1px var(--border); background: var(--bg-primary); }
.is-kapsam > .is-sonuc.is-sonuc--secili { box-shadow: 0 0 0 1.5px var(--accent); background: rgba(var(--accent-rgb), 0.06); }
.is-sonuc.is-sonuc--bilgi { cursor: default; color: var(--text-secondary); }
.is-secili__tumu { flex: none; font-size: 0.78rem; font-weight: 600; color: var(--text-secondary); padding: 2px 8px; border-radius: 6px; box-shadow: 0 0 0 1px var(--border); }
.is-sonuc__tus { display: none; flex: none; font-size: 0.7rem; font-weight: 600; padding: 1px 6px; border-radius: 5px; box-shadow: 0 0 0 1px var(--border); color: var(--text-secondary); }
@media (hover: hover) { .is-sonuc__tus { display: inline-block; } }
.is-talep__ozet .is-talep__ozet--yok { color: var(--is-bugun-yazi); font-weight: 600; }
@media (hover: hover) { .is-sonuc:hover { background: var(--bg-hover); } }
.is-secili { display: flex; align-items: center; gap: 10px; padding: 8px 6px 8px 12px; border-top: 1px solid var(--border-light); }
.is-secili--ilk { border-top: 0; }
.is-secili__ad { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 0.86rem; font-weight: 600; overflow-wrap: anywhere; }
.is-secili__ad small { font-size: 0.74rem; font-weight: 400; color: var(--text-secondary); }
.is-adet { display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; flex: none; }
.is-adet button { width: 36px; height: 36px; border: 0; background: var(--bg-primary); color: var(--text-primary); cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
.is-adet button .material-symbols-outlined { font-size: 18px; }
.is-adet input { width: 44px; height: 36px; border: 0; background: transparent; text-align: center; font: 700 1rem var(--font); color: var(--text-primary); font-variant-numeric: tabular-nums; outline: none; padding: 0; }
.is-adet input:focus { background: rgba(var(--accent-rgb), 0.08); }
.is-ondalik { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--yuzey-alan-kenar, var(--border)); background: var(--yuzey-alan, transparent); border-radius: 10px; height: 36px; padding: 0 10px; flex: none; }   /* alan seviyesi (27.10): şeffaf girdi pencereyle aynı tondaydı */
.is-ondalik input { width: 72px; border: 0; background: transparent; text-align: right; font: 700 1rem var(--font); color: var(--text-primary); font-variant-numeric: tabular-nums; outline: none; }
.is-ondalik span { color: var(--text-secondary); font-size: 0.85rem; }
.is-diger { background: var(--bg-tertiary); border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.is-diger__sira { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
/* Tarih-saat çifti: telefonda alt alta, genişte yan yana (kutu taşmasın) */
.is-zaman-sira { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 10px; }
.is-zaman-sira .is-alan { min-width: 0; }
.is-diger__dugmeler { display: flex; justify-content: flex-end; gap: 8px; }
/* Seçilen şube/yetkilinin altında tam adres, telefon, e-posta (sahip 11.10); uzun adres kaydırılır. */
.is-talep__baglar { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: -4px; }
.is-alan select:invalid { color: var(--text-muted); }   /* «Şube seçin» ipucu gibi (uygulamadaki placeholder rengi) */
.is-alan select option { color: var(--text-primary); }
.is-ara-baglanti { display: inline-flex; align-items: flex-start; gap: 6px; min-width: 0; color: var(--accent); font-weight: 600; font-size: 0.88rem; line-height: 18px; text-decoration: none; }
.is-ara-baglanti span { min-width: 0; overflow-wrap: anywhere; }
.is-ara-baglanti .material-symbols-outlined { font-size: 18px; flex: none; }
.is-talep__alt {
  flex: none; background: var(--bg-secondary); border-top: 1px solid var(--border); margin: 0 -16px; padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px));
  display: flex; flex-direction: column; gap: 8px;
}
/* Sıradaki aşama (sahip 29.10): seçeneğin sonucu altında küçük yazıyla; belge düğmesi ve ipucu yan yana. */
.is-talep-siradaki .is-kime b { flex: 1; }
.is-talep-siradaki .is-secim small { display: block; margin-top: 2px; font-size: 0.78rem; font-weight: 400; color: var(--text-secondary); }
.is-talep__belge { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-width: 0; }
.is-talep__belge .is-ince { margin: 0; }
.is-talep__ozet { display: flex; justify-content: space-between; gap: 12px; font-size: 0.8rem; color: var(--text-secondary); }
.is-talep__ozet span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.is-talep__ozet b { color: var(--text-primary); font-weight: 600; white-space: nowrap; }
/* Talebin gideceği kişi, düğmenin üstünde (sahip 11.10). */
.is-talep__kime { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 0.82rem; color: var(--text-secondary); }
.is-talep__kime b { color: var(--text-primary); font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.is-etiket { flex: none; font-size: 0.7rem; font-weight: 600; padding: 3px 8px; border-radius: 99px; background: var(--bg-tertiary); color: var(--text-secondary); }
.is-etiket--uyari { background: var(--is-bugun-zemin); color: var(--is-bugun-yazi); }
.is-etiket--gec { background: var(--is-gec-zemin); color: var(--is-gec-yazi); }
/* Formda yan yana iki alan (ölçüm aletinin tarihleri); dar telefonda alt alta. */
.is-form__ikili { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 380px) { .is-form__ikili { grid-template-columns: minmax(0, 1fr); } }

/* ── Aşama formları ve teklif (adım 08, maket «Teklif gönderimi») ──────────── */
.is-siradaki__dugme { align-self: stretch; height: 46px; }
@media (min-width: 769px) { .is-siradaki__dugme { align-self: flex-start; } }
/* İki ana iş yan yana (sahip 25.10: «Sözleşmeyi gir» · «Sahayı tamamla») */
.is-siradaki__analar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.is-siradaki__analar .is-siradaki__dugme { align-self: stretch; }
/* Yol 2: sözleşmeden sonra sahada değişiklik var (sahip 25.10): düğmede sarı nokta */
.is-dugme--isaret { position: relative; }
.is-dugme--isaret::after { content: ""; position: absolute; top: 7px; right: 9px; width: 9px; height: 9px; border-radius: 50%; background: #f0b429; box-shadow: 0 0 0 2px var(--accent); }
.is-form__alt--iki { gap: 8px; flex-wrap: wrap; }   /* sığmayan düğme alt satıra (Teslim: üç düğme, soldaki kesiliyordu) */
@media (max-width: 768px) { .is-form__alt--iki .is-dugme { flex: 1; width: auto; } }
.is-form--satir { flex-direction: row; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding-top: 0; }
.is-form--satir .is-alan { flex: 1 1 220px; }
.is-form--satir .is-form__hata { flex-basis: 100%; }

/* Fiyat satırları */
.is-fiyatlar { display: flex; flex-direction: column; border-radius: 12px; background: var(--bg-tertiary); overflow: hidden; }   /* grup = kart dolgusu, çerçeve yok (27.10) */
.is-fiyat { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "ad ad" "fiyat tutar"; gap: 8px; align-items: center; padding: 12px; border-top: 1px solid var(--border-light); }
.is-fiyat:first-child { border-top: 0; }
.is-fiyat__ad { grid-area: ad; display: flex; flex-direction: column; font-size: 0.88rem; font-weight: 600; overflow-wrap: anywhere; }
.is-fiyat__ad small { font-size: 0.74rem; font-weight: 400; color: var(--text-secondary); }
.is-fiyat .is-ondalik { grid-area: fiyat; justify-self: stretch; height: 40px; }
.is-fiyat .is-ondalik input { flex: 1; width: auto; min-width: 0; }
.is-fiyat__dis { grid-column: 1 / -1; font-size: 0.82rem; }
.is-secim.is-fiyat__dis { padding: 4px 0; min-height: 40px; box-shadow: none; color: var(--text-secondary); }   /* çerçevesiz onay kutusu (27.10) */
.is-ondalik--fiyat input { width: 104px; }
/* Satır tutarı da yazılır (sahip 11.10); 27.10'dan beri birim fiyat gibi dolu alan, yanında (eski kesik çizgi yok). */
.is-ondalik--tutar input { width: 104px; font-size: 0.9rem; }
.is-fiyat .is-ondalik--tutar { grid-area: tutar; }

/* Saha birimleri (R2): satır × miktar; işaret, yer, kod. Fiyat satırlarının çerçevesi, 390px'te tek sıra. */
.is-birim-form { display: flex; flex-direction: column; gap: 14px; }
.is-birim-satir { display: flex; flex-direction: column; gap: 8px; }
.is-birim-satir__bas { display: flex; align-items: baseline; gap: 8px; }
.is-birim-satir__bas h3 { flex: 1; min-width: 0; margin: 0; font-size: 0.88rem; font-weight: 600; overflow-wrap: anywhere; }
.is-birim-satir__sayi { font-size: 0.78rem; color: var(--text-secondary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.is-birim-satir__bas .is-baglanti { font-size: 0.78rem; padding: 2px 0; white-space: nowrap; }
.is-birim-satir > .is-dugme { align-self: flex-start; }
.is-birimler { display: flex; flex-direction: column; border-radius: 12px; box-shadow: 0 0 0 1px var(--border); overflow: hidden; }
.is-birim { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) 32px; gap: 6px 8px; align-items: center; padding: 8px 10px; border-top: 1px solid var(--border-light); }
.is-birim:first-child { border-top: 0; }
.is-birim[hidden] { display: none; }
.is-birim__no { display: flex; align-items: center; gap: 6px; min-width: 52px; font-size: 0.85rem; font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer; }
.is-birim__no input { width: 18px; height: 18px; margin: 0; accent-color: var(--accent); flex: none; }
.is-birim input[type="text"] {
  width: 100%; min-width: 0; box-sizing: border-box; min-height: 40px; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--border);
  background: var(--bg-primary); color: var(--text-primary); font: 400 0.92rem var(--font);
}
.is-birim input[type="text"]:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.18); }
.is-birim .is-ikon-dugme { width: 32px; height: 32px; }
.is-birim__not { grid-column: 1 / -1; font-size: 0.75rem; color: var(--text-secondary); }
.is-birim--yok .is-birim__no span { color: var(--text-muted); text-decoration: line-through; }
.is-birim-kart { display: flex; flex-direction: column; gap: 4px; }
.is-birim-kart__ad { margin: 8px 0 0; font-size: 0.86rem; font-weight: 600; }
.is-birim-kart__ad small { font-weight: 400; color: var(--text-secondary); font-variant-numeric: tabular-nums; }

/* Mühendis başına İSG-KATİP sözleşmesi (R2); satır başına mühendis seçimleri de aynı aralıkla (alanlar yapışıktı). */
.is-atamalar, .is-soz-kisiler { display: flex; flex-direction: column; gap: 12px; }
.is-atamalar > .is-bolum__ad, .is-soz-kisiler > .is-bolum__ad { margin-bottom: -4px; }
.is-soz-kisiler > div { display: flex; flex-direction: column; gap: 10px; }
.is-soz-kisi { display: flex; flex-direction: column; gap: 8px; padding: 10px 12px; border-radius: 12px; box-shadow: 0 0 0 1px var(--border); }
.is-soz-kisi__ad { font-size: 0.88rem; font-weight: 600; min-width: 0; }
/* Sahip 19.10: mühendisin adının yanında İSG-KATİP PDF düğmesi; altında PDF'in özeti ya da reddin nedeni. */
.is-soz-kisi__bas { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.is-soz-kisi__bas .is-dosya { flex: none; }
.is-soz-katip { display: flex; flex-direction: column; gap: 6px; }
.is-soz-katip__alt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; }
.is-soz-katip__alt small { font-size: 0.76rem; color: var(--text-secondary); overflow-wrap: anywhere; }
.is-soz-elle { align-self: flex-start; }
/* Sahip 19.10: kalem ve seçim tek satırda; «Hepsi tek kişiye» başlıkta küçük eylem; kartta mühendisin kalemleri. */
.is-atamalar__bas { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-bottom: -4px; }
.is-atamalar__bas > .is-bolum__ad { margin-top: 0; }
/* Mekanik / Elektrik toplu seçim yan yana (sahip 25.10) */
.is-atamalar__tumler { display: flex; gap: 8px; flex-wrap: wrap; }
.is-atamalar__tumu {
  appearance: none; -webkit-appearance: none; max-width: 100%; min-height: 32px; padding: 4px 28px 4px 12px; border-radius: 999px;
  border: 1px solid var(--border); background: var(--bg-primary); color: var(--accent); font: 600 0.8rem var(--font); cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 12 8'%3E%3Cpath fill='%239ca3b4' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center;
}
.is-atamalar__tumu:focus-visible { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.18); }
.is-atama { flex-direction: row; align-items: center; gap: 10px; }
.is-atama > .is-atama__ad { flex: 1; min-width: 0; font-size: 0.88rem; color: var(--text-primary); overflow-wrap: anywhere; }
.is-atama > .is-atama__ad small { display: block; font-size: 0.76rem; font-weight: 400; color: var(--text-secondary); }
.is-atama > select { flex: 0 1 50%; min-width: 0; }
.is-alan.is-atama:has(:required) > span:first-child::after { content: none; }   /* her satır zorunlu; eksikte form kalemi adıyla söyler */
.is-soz-kisi__ad small { display: block; font-size: 0.76rem; font-weight: 400; color: var(--text-secondary); }
.is-soz-kisi__ad small:empty { display: none; }

/* Periyodik kontrol raporu (R3): telefonda birim birim; altta sabit ilerleme ve «Raporu tamamla». */
@media (min-width: 769px) { .is-katman--rapor .is-sayfa { width: min(760px, 100vw); } .is-katman--rapor-form .is-sayfa { width: min(1200px, 94vw); } }
/* Kartın üstünde açılan her pencere (kartın alt görünümü, eylem formu, teklif, rapor, PDF) webde ortada (sahip 23.10):
   kart sağda yerinde kalır. Küçük pencere içeriği kadar uzar, uzun içerik kendi içinde kayar; teklif ve rapor tam
   yükseklik ister. Telefonda değişmez: alttan çıkan sayfa. */
@media (min-width: 769px) {
  .is-katman--kart ~ .is-katman .is-sayfa {
    top: 50%; left: 50%; right: auto; bottom: auto; max-height: min(88vh, 960px); border-radius: 16px; opacity: 0;
    transform: translate(-50%, -47%) scale(0.98); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
    transition: transform 0.25s cubic-bezier(0.32, 0.72, 0.3, 1), opacity 0.2s;
  }
  .is-katman--kart ~ .is-katman.acik .is-sayfa { transform: translate(-50%, -50%); opacity: 1; }
  .is-katman--kart ~ .is-katman:not(.is-katman--talep):not(.is-katman--rapor):not(.is-katman--rapor-form) .is-sayfa__govde { flex: 1 1 auto; }
  .is-katman--kart ~ .is-katman--talep .is-sayfa,
  .is-katman--kart ~ .is-katman--rapor .is-sayfa { height: min(88vh, 960px); }
  /* Rapor formu webde geniş (sahip 24.10, Furkan: «pencere biraz daha büyük»): 1200 px, ekranın %94'ü. */
  .is-katman--kart ~ .is-katman--rapor-form .is-sayfa { height: 94vh; max-height: 94vh; }
  .is-katman--kart ~ .is-katman--alt .is-sayfa { width: min(640px, 94vw); }
  /* Ortadaki pencerede «geri» oku ile × aynı işi yapar: yalnız × kalır (telefonda ok kalır). */
  .is-katman--alt .is-sayfa__bas [data-kart="geri"] { display: none; }
}
/* Rapor formu Raporlar katmanından ayrı sınıfta: oradaki overflow:hidden formun kaymasını kesiyordu (sahip 20.10). */
.is-katman--rapor-form .is-sayfa__govde { padding-bottom: 0; }
.is-rf { display: flex; flex-direction: column; gap: 22px; padding-bottom: 8px; }
.is-rf-bolum { display: flex; flex-direction: column; gap: 12px; }
.is-rf-bolum__ad { margin: 0; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.4px; color: var(--text-primary); }
.is-rf-blok__ad { margin: 4px 0 0; font-size: 0.82rem; font-weight: 600; color: var(--text-secondary); }
.is-rf-alanlar { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 769px) { .is-rf-alanlar--2 { grid-template-columns: 1fr 1fr; } .is-rf-alanlar--3 { grid-template-columns: repeat(3, 1fr); } }
.is-rf-alan { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.is-rf-sorular { display: flex; flex-direction: column; gap: 10px; }
/* Geniş pencerede sorular yan yana ikişer (sahip 24.10); sıra soldan sağa, kart görünümü aynı. */
.is-rf { container-type: inline-size; }
@container (min-width: 960px) { .is-rf-sorular { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
.is-rf-soru { display: flex; flex-direction: column; gap: 10px; padding: 12px; border-radius: 12px; background: var(--bg-tertiary); }
.is-rf-soru__metin { font-size: 0.9rem; line-height: 1.4; overflow-wrap: anywhere; }
.is-rf-soru__metin b { font-variant-numeric: tabular-nums; margin-right: 2px; }
.is-rf-cevaplar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; padding: 3px; border-radius: 10px; background: var(--yuzey-alan, var(--bg-tertiary)); box-shadow: inset 0 0 0 1px var(--yuzey-alan-kenar, transparent); }
@media (max-width: 420px) { .is-rf-cevaplar { grid-template-columns: 1fr 1fr; } }
.is-rf-cevap { position: relative; display: flex; }
.is-rf-cevap input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.is-rf-cevap span { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 38px; padding: 6px 8px; border-radius: 8px;
  font-size: 0.82rem; font-weight: 600; text-align: center; color: var(--text-secondary); }
.is-rf-cevap input:focus-visible + span { box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.35); }
.is-rf-cevap--u input:checked + span { background: #1f7a35; color: #fff; }   /* beyaz yazı ≥4.5:1 (revü 27.10) */
.is-rf-cevap--ud input:checked + span { background: #c03a3a; color: #fff; }
.is-rf-cevap--ug input:checked + span { background: var(--text-secondary); color: var(--bg-secondary); }
.is-rf-cevap--g input:checked + span { background: var(--is-bugun-yazi); color: #111318; }   /* koyuda sarı zeminde beyaz 1.8:1 idi */
.is-rf-cevap input:disabled + span { opacity: 0.75; }
.is-rf-kusur { display: flex; flex-direction: column; gap: 8px; padding: 10px 0 0; border-top: 1px solid rgba(217, 75, 75, 0.35); }   /* kusur aynı kartta, ayrı kutu yok (27.10) */
.is-rf-tablo { display: flex; flex-direction: column; gap: 10px; }
.is-rf-tablo > .is-dugme { align-self: flex-start; }
/* Tablo satırı listede tek satır, dokununca penceresi (sahip 24.10, ENLAB gibi) */
.is-rf-satirlar { display: flex; flex-direction: column; gap: 6px; }
.is-rf-satir-kisa { display: flex; align-items: center; gap: 2px; padding-right: 4px; border-radius: 10px; box-shadow: 0 0 0 1px var(--border); }
.is-rf-satir-kisa--ud { box-shadow: 0 0 0 1px var(--is-gec-yazi); background: var(--is-gec-zemin); }
.is-rf-satir-ac { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 0; background: transparent; color: var(--text-primary); font: inherit; text-align: left; cursor: pointer; border-radius: 10px; }
.is-rf-satir-ac:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.is-rf-satir-no { min-width: 22px; font-size: 0.8rem; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.is-rf-satir-ipucu { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.9rem; }
.is-rf-satir-kisa small { flex: none; font-size: 0.76rem; font-weight: 700; color: var(--is-gec-yazi); }
.is-rf-pencere { position: fixed; inset: 0; z-index: 30; display: flex; align-items: center; justify-content: center; padding: 20px; }
.is-rf-pencere__perde { position: absolute; inset: 0; background: var(--perde-ust, rgba(0, 0, 0, 0.45)); }
.is-rf-pencere__kutu { position: relative; width: min(1000px, 100%); max-height: 100%; display: flex; flex-direction: column; background: var(--bg-secondary); border-radius: 16px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35); overflow: hidden; }
.is-rf-pencere__bas { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 12px 12px 16px; border-bottom: 1px solid var(--border-light); font-size: 1rem; }
.is-rf-pencere__govde { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 16px; }
.is-rf-pencere__govde .is-rf-alanlar { grid-template-columns: 1fr 1fr; }
.is-rf-pencere__govde { container-type: inline-size; }
@container (min-width: 860px) { .is-rf-pencere__govde .is-rf-alanlar { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.is-rf-pencere__alt { display: flex; justify-content: flex-end; padding: 12px 16px; border-top: 1px solid var(--border-light); }
@media (max-width: 768px) {
  .is-rf-pencere { padding: 0; }
  .is-rf-pencere__kutu { width: 100%; height: 100%; border-radius: inherit; }
  .is-rf-pencere__govde .is-rf-alanlar { grid-template-columns: 1fr; }
  .is-rf-pencere__alt { padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
  .is-rf-pencere__alt .is-dugme { width: 100%; height: 48px; }
}
.is-rf-satir, .is-rf-tekrar { display: flex; flex-direction: column; gap: 10px; padding: 10px 12px; border-radius: 12px; box-shadow: 0 0 0 1px var(--border); }
.is-rf-satir__bas, .is-rf-tekrar__bas { display: flex; align-items: center; gap: 8px; justify-content: space-between; }
.is-rf-tekrar__bas .is-alan { flex: 1; }
.is-rf-bolum > .is-dugme { align-self: flex-start; }
.is-rf-bilgiler { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 8px 14px; }
.is-rf-bilgi { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 0.88rem; overflow-wrap: anywhere; }
.is-rf-bilgi small { font-size: 0.74rem; color: var(--text-secondary); }
.is-rf-kusurlar { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 0.86rem; }
.is-rf-kusurlar span { color: var(--text-secondary); }
.is-rf-metin { width: 100%; box-sizing: border-box; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-primary);
  color: var(--text-primary); font: 400 0.92rem var(--font); resize: vertical; }
.is-rf-metin:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.18); }
.is-rf-sabit summary { cursor: pointer; font-size: 0.86rem; color: var(--text-secondary); }
.is-rf-sabit p { margin: 8px 0 0; font-size: 0.84rem; white-space: pre-line; color: var(--text-secondary); }
.is-rf-foto { display: inline-flex; align-items: center; gap: 2px; }
.is-rf-sonuclar { display: flex; flex-direction: column; gap: 8px; }
.is-rf-sonuc { position: relative; display: flex; gap: 10px; padding: 10px 12px; border-radius: 12px; box-shadow: 0 0 0 1px var(--border); cursor: pointer; }
.is-rf-sonuc input { margin: 3px 0 0; width: 18px; height: 18px; accent-color: var(--accent); flex: none; }
.is-rf-sonuc span { display: flex; flex-direction: column; gap: 4px; font-size: 0.9rem; }
.is-rf-sonuc small { font-size: 0.78rem; color: var(--text-secondary); line-height: 1.4; }
.is-rf-sonuc--secili { box-shadow: 0 0 0 1.5px var(--accent); }
.is-rf-alt { position: sticky; bottom: 0; z-index: 1; display: flex; flex-direction: column; gap: 8px;
  margin: 8px -16px 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: var(--bg-secondary); border-top: 1px solid var(--border-light);
  /* Revizyon paneli (yeniden kontrol alanlarıyla) kısa telefonda ekrandan uzun: üstü kaybolmasın, kendi içinde kayar. */
  max-height: 70vh; max-height: 70dvh; overflow-y: auto; }
.is-rf-alt__sayi { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 0.86rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.is-rf-alt__sayi small { font-weight: 400; color: var(--text-secondary); text-align: right; }
.is-rf-alt__dugmeler { display: flex; gap: 8px; }
/* Şablonun aletleri sabit liste (sahip 24.10); «Başka alet kullandım» seçimi açar */
.is-rf-aletler { display: flex; flex-direction: column; gap: 6px; }
.is-rf-alet { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; background: var(--green-bg); font-size: 0.92rem; }
.is-rf-alet > .material-symbols-outlined { color: var(--green); font-size: 20px; flex: none; }
.is-rf-alet > span:not(.material-symbols-outlined):not(.is-etiket) { flex: 1; min-width: 0; }
.is-rf-alet small { color: var(--text-secondary); }
.is-rf-alet-ac { align-self: flex-start; margin-top: 6px; }
/* X iki dokunuşla, yazısız (sahip 25.10, Müşteri Asistanı gibi): ilk dokunuş X'i yerinde kırmızı yapar */
.is-ikon-dugme.is-ikon-dugme--sil-onay, .is-ikon-dugme.is-ikon-dugme--sil-onay:hover { background: var(--is-gec-zemin); color: var(--is-gec-yazi); }
/* Tamamlamadan önce özet (sahip 24.10): ne imzalanıyor */
.is-rf-ozet { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; border-radius: 10px; background: rgba(var(--accent-rgb), 0.08); font-size: 0.84rem; }
.is-rf-ozet__baslik { font-weight: 600; font-variant-numeric: tabular-nums; }
.is-rf-ozet__cipler { display: flex; flex-wrap: wrap; gap: 6px; }
.is-rf-ozet__cip { font-size: 0.76rem; font-weight: 700; padding: 3px 9px; border-radius: 99px; font-variant-numeric: tabular-nums; }
.is-rf-ozet__cip--u { color: var(--green); background: var(--green-bg); }
.is-rf-ozet__cip--ug { color: var(--text-secondary); background: var(--bg-tertiary); }
.is-rf-ozet__cip--ud { color: var(--is-gec-yazi); background: var(--is-gec-zemin); }
.is-rf-alt__dugmeler .is-dugme { flex: 1; }
/* R7 (18.10): «Revize et» paneli: neden, yeniden kontrol, iki düğme. */
.is-rf-revize { display: flex; flex-direction: column; gap: 8px; }
.is-kalem--dugme { width: 100%; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.is-kalem--dugme:hover { background: var(--bg-hover); }
.is-birim-kart__rapor { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; color: var(--is-vurgu-koyu); }
.is-birim-kart__rapor .material-symbols-outlined { font-size: 15px; }
/* v6 (sahip 20.10): sahada ek birim; raporsuz ek birim satırın yanındaki düğmeyle kaldırılır. */
.is-birim-kart__ekle { align-self: flex-start; margin-top: 4px; }
/* Bütün birimleri çıkarılan ekipman (sahip 25.10): listede yok, altta tek satır */
.is-birim-kart__cikan { margin: 12px 0 0; font-size: 0.8rem; }
/* «Ekipman ekle» (sahip 25.10): «Rapor ekle»den ayrı görünsün: tam genişlik, kesik çerçeve, ayrı satır */
.is-birim-kart__ekipman { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 8px; padding: 10px 2px; border: 0; border-radius: 10px;   /* metin düğmesi, kesik kutu yok (27.10) */
  background: transparent; color: var(--accent); font: 600 0.9rem var(--font, inherit); text-align: left; cursor: pointer; }
.is-birim-kart__ekipman > span { display: flex; flex-direction: column; }
.is-birim-kart__ekipman small { font-weight: 400; font-size: 0.76rem; color: var(--text-secondary); }
@media (hover: hover) { .is-birim-kart__ekipman:hover { background: rgba(var(--accent-rgb), 0.08); } }
.is-birim-kart__ekipman:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.is-birim-ek { display: flex; align-items: center; gap: 4px; }
.is-birim-ek > .is-kalem { flex: 1; min-width: 0; }
/* Birim satırı (sahip 25.10): ayırıcı ve hover bütün satırda (ikonlar dahil); tamamlanmış rapor yumuşak yeşil zemin,
   solda şerit, durum yazısı yok. Satırlar aynı içeriden başlar. */
.is-birim-kart .is-kalemler { gap: 2px; }
.is-birim-kart .is-birim-ek { padding: 0 2px 0 10px; border-radius: 8px; border-bottom: 1px solid var(--border-light); }
.is-birim-kart .is-birim-ek > .is-kalem { border-bottom: 0; padding-right: 6px; }
.is-birim-kart .is-birim-ek > .is-kalem--dugme:hover { background: none; }
.is-birim-kart .is-birim-ek--tamam { background: none; box-shadow: none; }
.is-birim-ek--tamam .is-birim-kart__rapor { color: var(--green); }
/* UYGUN DEĞİLDİR sonuçlu rapor (sahip 25.10) */
.is-birim-kart .is-birim-ek--red { background: none; box-shadow: none; }
.is-birim-ek--red .is-birim-kart__rapor { color: var(--red); }
@media (hover: hover) {
  .is-birim-kart .is-birim-ek:has(> .is-kalem--dugme:hover) { background: var(--bg-hover); }
}
/* Telefonda iki ikon yanında durum sarılır, ad daralıp harf harf dökülmez */
.is-birim-ek .is-kalem__ad { min-width: 8em; }
.is-birim-ek .is-kalem__miktar { white-space: normal; text-align: right; }

/* Toplam (KDV hariç, KDV, genel) */
.is-toplam { margin: 0; display: grid; grid-template-columns: 1fr auto; gap: 6px 0; padding: 12px 14px; border-radius: 12px; background: var(--bg-tertiary); font-size: 0.86rem; font-variant-numeric: tabular-nums; }
.is-toplam dt { color: var(--text-secondary); }
.is-toplam dd { margin: 0; padding-left: 12px; text-align: right; font-weight: 600; }   /* sütun boşluğu yerine: genel toplam çizgisi kesintisiz */
.is-toplam .is-toplam__genel { color: var(--text-primary); font-weight: 700; font-size: 1rem; padding-top: 8px; border-top: 1px solid var(--border-light); }
.is-toplam small { font-weight: 400; }

/* Keşiften dönen fark */
.is-fark { display: flex; flex-direction: column; gap: 6px; }
.is-fark ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.is-fark__oge { display: flex; align-items: center; gap: 8px; font-size: 0.86rem; overflow-wrap: anywhere; }
.is-fark__oge .material-symbols-outlined { font-size: 18px; flex: none; }
.is-fark__oge--ekle .material-symbols-outlined { color: var(--green); }
.is-fark__oge--degis .material-symbols-outlined { color: var(--is-bugun-yazi); }
.is-fark__oge--cikar .material-symbols-outlined { color: var(--is-gec-yazi); }

/* Düzenleyicide birim fiyat (teklif) */
.is-secili--fiyatli { flex-wrap: wrap; }
.is-secili__fiyat { flex-basis: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-right: 6px; }
/* Teklif satırının açıklaması (PDF'te adın altında) */
.is-secili__aciklama { flex-basis: 100%; min-width: 0; box-sizing: border-box; min-height: 38px; margin-top: 6px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-primary); color: var(--text-primary); font: 400 0.86rem var(--font); }
.is-secili__aciklama:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.18); }
.is-tk-satir__ad small.is-tk-satir__ack { font-style: italic; }
.is-ta-banka { display: flex; flex-direction: column; gap: 14px; }
.is-ta-banka + .is-ta-banka { padding-top: 14px; border-top: 1px dashed var(--border); }

/* Teklif sayfası */
.is-rozet { flex: none; font-size: 0.72rem; font-weight: 700; border-radius: 7px; padding: 4px 8px; }
.is-rozet--taslak { color: var(--is-bugun-yazi); background: var(--is-bugun-zemin); }
.is-rozet--gonderildi { color: var(--is-vurgu-koyu); background: rgba(var(--accent-rgb), 0.12); }
.is-rozet--onay { color: var(--green); background: var(--green-bg); }
.is-tk { gap: 12px; }
.is-tk-pdf { display: flex; gap: 12px; align-items: center; padding: 12px; border-radius: 12px; box-shadow: 0 0 0 1px var(--border); }
.is-tk-pdf__kucuk { width: 64px; height: 84px; flex: none; box-sizing: border-box; border: 1px solid var(--border); border-radius: 6px; background: #fff; padding: 8px 7px; display: flex; flex-direction: column; gap: 4px; }
.is-tk-pdf__kucuk span { height: 3px; border-radius: 2px; background: #d8dadf; }
.is-tk-pdf__kucuk span:first-child { height: 5px; width: 60%; background: var(--accent); }
.is-tk-pdf__kucuk span:nth-child(4) { width: 80%; }
.is-tk-pdf__kucuk .is-tk-pdf__kutu { height: 14px; background: #f1f2f4; margin-top: 2px; }
.is-tk-pdf__kucuk span:last-child { width: 50%; align-self: flex-end; }
.is-tk-pdf__metin { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.is-tk-pdf__metin b { font-size: 0.88rem; }
.is-tk-pdf__metin > span { font-size: 0.78rem; color: var(--text-secondary); line-height: 1.4; }
.is-tk-pdf__baglar { display: flex; gap: 16px; flex-wrap: wrap; }
.is-tk-liste { border-radius: 12px; box-shadow: 0 0 0 1px var(--border); overflow: hidden; }
.is-tk-liste .is-toplam { border-radius: 0; border-top: 1px solid var(--border); }
.is-tk-satir { display: flex; gap: 10px; padding: 9px 12px; border-top: 1px solid var(--border-light); align-items: baseline; }
.is-tk-satir--ilk { border-top: 0; }
.is-tk-satir__ad { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; font-size: 0.86rem; font-weight: 600; overflow-wrap: anywhere; }
.is-tk-satir__ad small { font-size: 0.75rem; font-weight: 400; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.is-tk-satir b { font-size: 0.86rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.is-tk-eksik { color: var(--is-bugun-yazi); font-weight: 600; }   /* keşiften dönen kalemin fiyatı yok (sahip 12.10) */
.is-tk-gonder { display: flex; flex-direction: column; gap: 8px; }
.is-tk-gonder__sira { display: flex; gap: 8px; }
.is-dugme--iri { flex: 1; height: 48px; }
.is-dugme--wa { background: var(--green-bg); color: #1f6a30; box-shadow: inset 0 0 0 2px #1f8a3a; text-decoration: none; }
.is-gonderimler { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.is-gonderim { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--border-light); }
.is-gonderim:first-child { border-top: 0; }
.is-gonderim > .material-symbols-outlined { color: var(--text-secondary); font-size: 20px; }
.is-gonderim > span { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 0.86rem; overflow-wrap: anywhere; }
.is-gonderim small { font-size: 0.75rem; color: var(--text-secondary); }

/* PDF önizleme: gönderilecek dosyanın kendisi (pdf.js) */
.is-pdf { display: flex; flex-direction: column; gap: 12px; align-items: center; }
.is-pdf__sayfa { width: 100%; height: auto; background: #fff; border-radius: 6px; box-shadow: 0 0 0 1px var(--border), 0 4px 16px rgba(16, 22, 29, 0.07); }

/* WhatsApp teyidi: alttan panel */
.is-teyit { flex: none; margin: 0 -16px; padding: 10px 16px calc(18px + env(safe-area-inset-bottom, 0px)); border-radius: 20px 20px 0 0; background: var(--bg-secondary); box-shadow: 0 -6px 24px rgba(28, 31, 51, 0.14); display: flex; flex-direction: column; gap: 10px; }
.is-teyit__ust { display: flex; gap: 10px; align-items: flex-start; }
.is-teyit__ust > .material-symbols-outlined { font-size: 24px; color: #1f8a3a; }
.is-teyit__ust > div { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.is-teyit__ust b { font-size: 0.95rem; }
.is-teyit__ust span { font-size: 0.8rem; color: var(--text-secondary); line-height: 1.45; }
.is-teyit__dugmeler { display: flex; gap: 8px; }
.is-teyit__dugmeler .is-dugme { flex: 1; height: 48px; }
.is-teyit__dugmeler .is-dugme--ana { flex: 1.4; }
/* Altında düğme şeridi olmayan talep görünümleri: son düğme telefonun alt çubuğunun altında kalmasın. */
.is-katman--talep .is-sayfa__govde > .is-talep__icerik:last-child { padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
.is-teyit { border-top: 1px solid var(--border); }
[data-theme="dark"] .is-teyit { background: var(--bg-tertiary); box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.45); }
[data-theme="dark"] .is-dugme--wa { color: #7ad692; box-shadow: inset 0 0 0 2px #2f9e4f; }
[data-theme="dark"] .is-teyit__ust > .material-symbols-outlined { color: #7ad692; }
[data-theme="dark"] .is-tk-pdf__kucuk { border-color: transparent; }

/* ── KOYU TEMA: nötr düğmeler kaldırılmış plaka (style.css «nötr düğmeler harita plakaları gibi», sahip 05.09;
   İş Takip'e 09.10, sahip: «koyu temada düğmeler zeminle karışıyor»). Koyuda bg-secondary sayfayla aynı ton
   (#0f1011), düğme yalnız silik çerçeveyle seçiliyordu. Renk taşıyanlar (ana, WhatsApp, tehlike, seçili) dokunulmaz. */
[data-theme="dark"] .is-dugme--ikincil,
[data-theme="dark"] .is-ikon-dugme.is-arac,
[data-theme="dark"] .is-suz:not(.is-suz--secili),
[data-theme="dark"] .is-adet button {   /* seçili sekme artık mavi (sahip 27.10), bu plakadan çıktı */
  background: rgb(38, 41, 51);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14);
}
@media (hover: hover) {
  [data-theme="dark"] .is-dugme--ikincil:not(:disabled):hover,
  [data-theme="dark"] .is-ikon-dugme.is-arac:hover,
  [data-theme="dark"] .is-suz:not(.is-suz--secili):hover,
  [data-theme="dark"] .is-adet button:hover { background: rgb(50, 54, 66); }
}
/* Koyu temada liste kartları sol panelle aynı kaldırılmış ton (sahip 10.10: «kartlar görünmüyor»): sayfa neredeyse
   siyah, bg-secondary (#0f1011) kartı ondan ayırmıyordu. Kartın içindeki kalan şerit parçaları karta göre açılır. */
[data-theme="dark"] .is-kart { background: rgb(38, 41, 51); box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08); --is-sonra: rgba(255, 255, 255, 0.16); }
@media (hover: hover) { [data-theme="dark"] .is-kart:hover { background: rgb(44, 47, 58); box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14); } }
[data-theme="dark"] .is-kart--sira { background: linear-gradient(rgba(var(--accent-rgb), 0.07), rgba(var(--accent-rgb), 0.07)), rgb(38, 41, 51); box-shadow: 0 0 0 1.5px rgba(var(--accent-rgb), 0.45); }
@media (hover: hover) { [data-theme="dark"] .is-kart--sira:hover { background: linear-gradient(rgba(var(--accent-rgb), 0.07), rgba(var(--accent-rgb), 0.07)), rgb(44, 47, 58); box-shadow: 0 0 0 1.5px rgba(var(--accent-rgb), 0.6); } }
/* Raporlar katmanında seçimler panelin genişliğinde; başlık ve seçimler sabit, yalnız liste kayar
   (sahip 10.10: kaydırma çubuğu düğmeleri sola itmesin, çubuk seçimlerin altında başlasın). */
.is-katman--rapor .is-sekmeler--kucuk { align-self: stretch; min-width: 0; }
.is-katman--rapor .is-sayfa__govde { overflow: hidden; padding-bottom: 0; gap: 0; }
.is-rapor__ust { display: flex; flex-direction: column; gap: 14px; padding-bottom: 14px; }
.is-katman--rapor .is-sayfa__govde > .is-rapor__liste {
  flex: 1 1 auto; min-height: 0; overflow-y: auto; margin: 0 -16px; padding: 2px 16px calc(24px + env(safe-area-inset-bottom, 0px));
  display: flex; flex-direction: column; gap: 14px;
}
.is-rapor__liste > * { flex-shrink: 0; }
/* Raporlar katmanındaki Finans ve Süreler listeleri de aynı tonda (sayfanın zemininden ayrılsın). */
[data-theme="dark"] .is-suz-dugme--var::after { box-shadow: 0 0 0 2px rgb(38, 41, 51); }

/* ── Aşama eylemleri (adım 09): ana eylem geniş, yanlar küçük satırda ─────── */
.is-siradaki__yanlar { display: flex; flex-wrap: wrap; gap: 8px; }
.is-dugme--yan { height: 36px; padding: 0 12px; font-size: 0.82rem; }
.is-alinti { margin: 0; padding: 10px 12px; border-radius: 10px; background: var(--bg-tertiary); font-size: 0.9rem; overflow-wrap: anywhere; white-space: pre-wrap; }
.is-alinti--yanit { background: rgba(var(--accent-rgb), 0.08); }
.is-alinti small { display: block; margin-bottom: 2px; font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); }
.is-secimler--yan { flex-direction: row; flex-wrap: wrap; }
.is-secimler--yan .is-secim { flex: 1 1 140px; }
.is-ey-sonraki { display: flex; flex-direction: column; gap: 10px; }
/* Sonraki aşama blokları kabı: düzene katılmaz, ekip tazelenince içi yeniden çizilir. */
.is-sonraki { display: contents; }
.is-dosya { position: relative; align-self: flex-start; max-width: 100%; }
.is-dosya > span:not(.material-symbols-outlined) { overflow: hidden; text-overflow: ellipsis; }
.is-dosya input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }

/* ── Fatura ve tahsilat (adım 10) ─────────────────────────────────────────── */
.is-ondalik--genis { display: flex; height: 44px; }
.is-ondalik--genis input { flex: 1; width: auto; min-width: 0; }
.is-toplam .is-toplam__kalan { color: var(--is-gec-yazi); }
.is-pa-eylemler { display: flex; flex-direction: column; gap: 8px; }
.is-odemeler { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.is-odeme { display: flex; flex-direction: column; gap: 3px; padding: 10px 0; border-bottom: 1px solid var(--border-light); }
.is-odeme__ust { display: flex; justify-content: space-between; gap: 10px; font-size: 0.88rem; font-variant-numeric: tabular-nums; }
.is-odeme__ust b { font-weight: 600; overflow-wrap: anywhere; }
.is-odeme__ust span { font-size: 0.76rem; color: var(--text-muted); white-space: nowrap; }
.is-odeme__alt { font-size: 0.78rem; color: var(--text-secondary); }
.is-odeme__not { margin: 2px 0 0; font-size: 0.85rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.is-odeme__dugmeler { display: flex; gap: 8px; margin-top: 4px; }
.is-odeme--iptal .is-odeme__ust b:last-child { text-decoration: line-through; color: var(--text-muted); }
.is-odeme--ters .is-odeme__ust b { color: var(--text-secondary); }

/* Yönetici başkasının görevinde: «Adına» düğmeleri satırın altında (revü 10). */
.is-kol__adina { display: flex; flex-direction: column; gap: 8px; padding: 0 0 10px 38px; border-bottom: 1px solid var(--border-light); }
.is-kol .is-dugme--kucuk + .is-dugme--kucuk { margin-left: 6px; }

/* ── Yönetici ekranları (adım 11) ──────────────────────────────────────────── */
.is-sekmeler--kucuk { align-self: stretch; }
.is-sekmeler--kucuk .is-sekme { flex: 1; height: 32px; padding: 0 6px; font-size: 0.78rem; }
.is-sure__geri { align-self: flex-start; }
.is-sure__baslik { display: flex; align-items: baseline; gap: 8px; font-size: 0.95rem; }
.is-sure__baslik span { font-size: 0.8rem; color: var(--text-secondary); }
.is-sure-donemler .is-odeme { cursor: pointer; }
@media (min-width: 769px) {
  .is-sekmeler--kucuk { align-self: flex-start; min-width: 420px; }
  .is-fin-liste, .is-sure-liste, .is-sure-donemler, .is-liste > .is-toplam { max-width: 760px; }
}
.is-fin-liste, .is-sure-liste { display: flex; flex-direction: column; border-radius: 16px; background: var(--bg-secondary); box-shadow: 0 0 0 1px var(--border-light); overflow: hidden; }
.is-fin { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-top: 1px solid var(--border-light); cursor: pointer; }
.is-fin:first-child { border-top: 0; }
.is-fin__sol { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 0.86rem; }
.is-fin__sol b { font-weight: 600; overflow-wrap: anywhere; }
.is-fin__sol span { font-size: 0.76rem; color: var(--text-secondary); }
.is-fin__kalan { flex: none; font-variant-numeric: tabular-nums; font-size: 0.9rem; }
.is-fin__kalan--var { color: var(--is-gec-yazi); }
.is-sure { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 0; border-top: 1px solid var(--border-light); background: transparent; color: var(--text-primary); text-align: left; font: inherit; cursor: pointer; }
.is-sure:first-child { border-top: 0; }
.is-sure > .material-symbols-outlined { color: var(--text-muted); font-size: 20px; flex: none; }
.is-sure__metin { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 0.86rem; }
.is-sure__metin b { font-weight: 600; }
.is-sure__metin span { font-size: 0.76rem; color: var(--text-secondary); overflow-wrap: anywhere; }
.is-sure__isaret { color: var(--is-vurgu-koyu); font-weight: 600; }

/* ── Süreç düzenleyicisi (adım 12) ─────────────────────────────────────────── */
.is-sd-adim { display: flex; align-items: center; border-top: 1px solid var(--border-light); }
.is-sd-adim:first-child { border-top: 0; }
.is-sd-adim > .is-sure { flex: 1; min-width: 0; border-top: 0; }
.is-sd-sira { display: flex; flex: none; padding-right: 6px; }
.is-sd-sira .is-ikon-dugme { width: 36px; height: 36px; }
.is-sd-sira .is-ikon-dugme:disabled { opacity: 0.3; cursor: default; }
.is-sd-no { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--bg-tertiary); color: var(--text-secondary); font-size: 0.74rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.is-sd-ekle { display: flex; align-items: flex-end; gap: 8px; flex-wrap: wrap; }
.is-sd-ekle .is-alan { flex: 1 1 200px; }
.is-sd-ekle .is-dugme { height: 44px; }
.is-sd-hatalar { margin: 0; padding: 10px 12px 10px 28px; border-radius: 10px; background: var(--is-gec-zemin); color: var(--is-gec-yazi); font-size: 0.84rem; display: flex; flex-direction: column; gap: 4px; overflow-wrap: anywhere; }
.is-sd-hazir { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 0.88rem; font-weight: 600; color: var(--is-vurgu-koyu); }
.is-sd-hazir .material-symbols-outlined { font-size: 20px; }
.is-sd-cift { display: flex; gap: 8px; flex-wrap: wrap; }
.is-sd-cift > .is-alan { flex: 1 1 150px; }
.is-sd-sure { gap: 12px; }
.is-sd-grup { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 12px; box-shadow: 0 0 0 1px var(--border-light); }
.is-sd-grup > .is-dugme { align-self: flex-start; }
.is-sd-grup__bas { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 0.88rem; }
.is-sd-grup__bas b { font-weight: 600; overflow-wrap: anywhere; }
.is-sd-grup__bas .is-ince { flex: none; font-size: 0.74rem; }
.is-sd-cikis { display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; align-items: center; padding-top: 8px; border-top: 1px solid var(--border-light); }
.is-sd-cikis > select:first-child { grid-column: 1 / 3; grid-row: 1; }
.is-sd-cikis select {
  min-width: 0; height: 40px; padding: 0 28px 0 10px; border-radius: 10px; border: 1px solid var(--border); background-color: var(--bg-primary); color: var(--text-primary); font: inherit; font-size: 0.85rem;
  appearance: none; -webkit-appearance: none; cursor: pointer; background-repeat: no-repeat; background-position: right 10px center; background-size: 12px 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239ca3b4' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
}
.is-sd-cikis select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.18); }
.is-sd-cikis > .is-ikon-dugme { grid-column: 3; grid-row: 1; }
.is-sd-cikis > select[data-sd-alan^="c-sure"] { grid-column: 1 / 3; }
.is-su-yeni-dugme { align-self: flex-start; }
.is-su-yeni { padding: 14px; border-radius: 16px; background: var(--bg-secondary); box-shadow: 0 0 0 1px var(--border-light); }
.is-su-bilgi { cursor: default; }
.is-su-hata { color: var(--is-gec-yazi); }
@media (min-width: 769px) {
  .is-sd-liste, .is-sd-grup, .is-su-yeni { max-width: 760px; }
}

/* ── Denetim (sahip 10.10): klavye odağı, dokunma hedefi, telefon yazı boyu, koyu tema ─────────────────── */
.is-gizli { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Çerçevesiz kutular (arama, ondalık, adet, dosya): klavye odağı halkası kapsayıcıda. */
/* Bileşik alanlarda (arama kutusu, ondalık, adet, süzgeç seçimi) odak dış çerçevede, .is-alan alanlarıyla aynı: vurgu
   çizgisi ve yumuşak hale. İçteki alanın kendi halkası (tailwind formları, mavi 1 px) kapanır: halka içeride görünüyordu. */
.is-talep__kutu:not(.is-talep__kutu--vurgu) > .is-ara-kutu:focus-within, .is-sayfa__govde > .is-ara-kutu:focus-within,
.is-ondalik:focus-within, .is-adet:focus-within, .is-suz:focus-within {
  box-shadow: 0 0 0 1px var(--accent), 0 0 0 4px rgba(var(--accent-rgb), 0.18);
}
.is-ondalik:focus-within, .is-adet:focus-within { border-color: var(--accent); }
.is-talep__kutu--vurgu:focus-within { box-shadow: 0 0 0 2px var(--accent), 0 0 0 5px rgba(var(--accent-rgb), 0.18); }
.is-ara-kutu input:focus, .is-ondalik input:focus, .is-adet input:focus, .is-suz select:focus, .is-suz select:focus-visible { outline: none; box-shadow: none; }
.is-dosya:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
/* Taşması gizli listelerde halka içeride (kenarda kesilmesin); Finans ve ödeme satırlarında da. */
.is-satir:focus-visible, .is-sure:focus-visible, .is-fin:focus-visible, .is-odeme:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
/* Karttaki «kim, ne yapıyor» iki satıra iner: ertelenen işin takip tarihi kesilmesin. */
.is-kart__kol-metin { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
@media (max-width: 768px) {
  /* 16 px altı yazıda iOS odakta yakınlaştırır; uygulamanın form alanlarıyla aynı boy. */
  .is-ara-web input, .is-suz select, .is-sd-cikis select { font-size: 16px; }
  .is-suz--dugme { font-size: 16px; }   /* yanındaki seçimlerle aynı boy */
  /* Dokunma hedefi en az 40 px. */
  .is-ust__sol .is-sekmeler { padding: 2px; }
  .is-sekme { height: 36px; }
  .is-suz, .is-suz-temizle { height: 40px; }
  .is-sekmeler--kucuk .is-sekme { height: 38px; }
  .is-dugme--kucuk, .is-dugme--yan, .is-baglanti, .is-ara-baglanti, .is-secim--satir { min-height: 40px; }
  .is-ara-baglanti { align-items: center; }   /* 40 px kutuda yazı ortada */
  .is-adet button { width: 40px; height: 40px; }
  .is-adet input { width: 56px; height: 40px; }
  .is-ondalik { height: 40px; }
  .is-sd-sira .is-ikon-dugme { width: 40px; height: 40px; }
  /* Son tarih ve seçim satırları dar ekranda alt alta (uzun aşama adında tarih kutusu taşıyordu). */
  .is-alan--sira { flex-direction: column; align-items: stretch; gap: 6px; }
}
[data-theme="dark"] .is-ara-web input { background: rgb(38, 41, 51); box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14); }
[data-theme="dark"] .is-ara-web input:focus { box-shadow: 0 0 0 2px var(--accent); }

/* ── Rapor şablonları (R1 bölüm 3, 15.10): salt okunur görünüm; bölüm başlığı raporun koyu şeridi değil, liste dili ── */
@media (min-width: 769px) { .is-katman--sablon .is-sayfa { width: min(720px, 100vw); } }
.is-rs { display: flex; flex-direction: column; gap: 12px; }
.is-rs-bolum { border-radius: 16px; background: var(--bg-secondary); box-shadow: 0 0 0 1px var(--border-light); overflow: hidden; }
.is-rs-bolum__ad, .is-rs-blok__ad { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; margin: 0; overflow-wrap: anywhere; }
.is-rs-bolum__ad { padding: 11px 14px; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.3px; }
.is-rs-ad { flex: 1; min-width: 12ch; }
.is-rs-no { flex: none; min-width: 22px; font-variant-numeric: tabular-nums; color: var(--accent); font-weight: 700; }
.is-rs-blok { border-top: 1px solid var(--border-light); padding: 10px 14px 12px; }
.is-rs-blok__ad { font-size: 0.78rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 8px; }
.is-rs-alanlar, .is-rs-sorular { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px 14px; }
.is-rs-alanlar li { display: flex; flex-direction: column; min-width: 0; font-size: 0.84rem; overflow-wrap: anywhere; }
.is-rs-alanlar small { font-size: 0.74rem; color: var(--text-secondary); }
.is-rs-sorular li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; font-size: 0.84rem; overflow-wrap: anywhere; }
.is-rs-sorular b { font-variant-numeric: tabular-nums; color: var(--text-secondary); font-weight: 600; min-width: 3.2ch; }
@media (min-width: 560px) {
  .is-rs-alanlar--2, .is-rs-sorular--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .is-rs-alanlar--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.is-rs-not, .is-rs-metin { margin: 0; padding: 0 14px 12px; font-size: 0.82rem; color: var(--text-secondary); overflow-wrap: anywhere; }
ul.is-rs-not { padding-left: 32px; }
.is-rs-metin { white-space: pre-line; }
.is-rs-ac { border-top: 1px solid var(--border-light); }
.is-rs-ac summary { cursor: pointer; padding: 10px 14px; font-size: 0.82rem; color: var(--text-secondary); }
.is-rs-ac[open] summary { color: var(--text-primary); }
.is-rs-ac summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: 8px; }
.is-rs-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* ── Şablon düzenleyicisi (R1 bölüm 4b): görünümün kartları, satır içi girdiler, altta kayıt durumu ve yayın ── */
.is-sd-bolum > .is-sd-govde, .is-sd-blok { display: flex; flex-direction: column; gap: 10px; }
.is-sd-bolum > .is-sd-govde { border-top: 1px solid var(--border-light); padding: 12px 14px 14px; }
.is-sd-bolum:first-child > .is-sd-govde { border-top: 0; }
.is-sd-blok { border: 1px solid var(--border-light); border-radius: 12px; padding: 10px 12px 12px; }
.is-sd-bas { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; }
.is-sd-bas--bolum { padding: 10px 10px 10px 14px; }
.is-sd-bas .is-etiket { flex: none; }
.is-sd-ad { flex: 1 1 14ch; min-width: 0; }
.is-sd-bolum input[type="text"], .is-sd-bolum select, .is-sd-bolum textarea {
  font: inherit; font-size: 0.86rem; color: var(--text-primary); background: var(--bg-primary); border: 1px solid var(--border);
  border-radius: 8px; padding: 6px 9px; min-height: 34px; max-width: 100%;
}
.is-sd-bas--bolum .is-sd-ad { font-weight: 700; }
.is-sd-bolum textarea { width: 100%; resize: vertical; line-height: 1.45; }
.is-sd-bolum input:focus-visible, .is-sd-bolum select:focus-visible, .is-sd-bolum textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.is-ikon-dugme.is-sd-ik { width: 34px; height: 34px; flex: none; }
.is-ikon-dugme.is-sd-ik .material-symbols-outlined { font-size: 19px; }
.is-ikon-dugme.is-sd-ik:disabled { opacity: 0.35; cursor: default; }
.is-sd-ek { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 14px; }
.is-sd-kucuk, .is-sd-kutu { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.is-sd-kucuk > span, .is-sd-kutu > span { font-size: 0.72rem; font-weight: 600; color: var(--text-secondary); }
.is-sd-kucuk input { width: 14ch; }
.is-sd-genis { flex: 1 1 18ch; } .is-sd-genis input { width: 100%; }
.is-sd-kutu { width: 100%; }
.is-sd-kutu input { width: 100%; }
.is-sd-onek { width: 5ch !important; text-transform: uppercase; }
.is-secim.is-sd-isaret { font-size: 0.8rem; gap: 6px; padding: 2px 0; }
.is-sd-isaret input { width: 16px; height: 16px; }
.is-sd-bolum input.is-sd-birim { width: 16ch; }
.is-sd-alan .is-sd-ek { align-items: center; gap: 6px 14px; }
.is-sd-alan { display: flex; flex-direction: column; gap: 6px; padding-top: 8px; border-top: 1px dashed var(--border-light); }
.is-sd-satir { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.is-sd-satir select { flex: none; }
.is-katman--duzen .is-sd-ekle { align-items: center; }   /* şablon editörü; süreç editörünün flex-end hizasını ezmesin (revü 27.10) */
.is-sd-ekle > span { font-size: 0.74rem; font-weight: 600; color: var(--text-secondary); }
.is-sd-ekle--bolum { padding: 4px 2px; }
.is-sd-ekle1 { align-self: flex-start; }
.is-dugme.is-sd-onay { background: var(--danger, #dc2626); color: #fff; box-shadow: none; }
.is-sd-uyari { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 14px; border-radius: 12px;
  background: var(--is-bugun-zemin); color: var(--is-bugun-yazi); }
.is-sd-uyari p { margin: 0; flex: 1 1 24ch; font-size: 0.86rem; }
.is-sd-alt {
  position: sticky; bottom: calc(-24px - env(safe-area-inset-bottom, 0px)); z-index: 2; margin: 4px -16px calc(-24px - env(safe-area-inset-bottom, 0px));
  padding: 10px 16px calc(14px + env(safe-area-inset-bottom, 0px)); background: var(--bg-secondary); border-top: 1px solid var(--border-light);
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;
}
.is-sd-durum { margin: 0; flex: 1 1 16ch; font-size: 0.8rem; color: var(--text-secondary); }
.is-sd-durum--hata { color: var(--danger, #dc2626); font-weight: 600; }
.is-sd-sorun { flex: 1 1 100%; order: 3; font-size: 0.8rem; }
.is-sd-sorun summary { cursor: pointer; color: var(--danger, #dc2626); font-weight: 600; }
.is-sd-sorun ul { margin: 6px 0 0; padding-left: 18px; max-height: 30vh; overflow-y: auto; color: var(--text-secondary); }
.is-sd-alt__dugmeler { display: flex; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.is-sd-kapali { opacity: 0.55; }   /* çakışmada ve yayın sürerken düzenleme kapalı (inert) */
/* Telefonda: ilk satırda numara ve ad tam genişlik, tür etiketi ve düğmeler alt satırda (düğme tek başına kaymasın). */
@media (max-width: 560px) {
  .is-sd-bas .is-sd-ad { flex: 1 1 70%; }
  .is-sd-satir .is-sd-ad { flex: 1 1 100%; }
  .is-sd-bas .is-etiket { margin-right: auto; }
  .is-sd-satir select { margin-right: auto; }
}
/* Şablon seçimi (sahip 20.10): önerilen üstte, arama; liste sayfanın altına dek kayar. */
.is-rf-sablon-liste { display: flex; flex-direction: column; gap: 10px; padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }

/* ── Telefonda ortak pencere dili (sahip 27.10) ──
   Onay ve Kopyala (.is-katman--orta) ortada pencere; öteki sayfalarda tutamaç uygulamanın perdesiyle
   aynı, başlık ortada. Sağda üç ve daha çok düğme olan başlık (rapor formu) solda kalır. */
@media (max-width: 768px) {
  .is-tutamac { width: 42px; height: 5px; border-radius: 3px; margin: 8px 0 2px; background: #c9ccd2; }
  [data-theme="dark"] .is-tutamac { background: rgba(255, 255, 255, 0.28); }

  .is-katman:not(.is-katman--orta) .is-sayfa__bas h1 { font-size: 1.06rem; }
  .is-katman:not(.is-katman--orta) .is-sayfa__bas h1,
  .is-katman:not(.is-katman--orta) .is-sayfa__kim { text-align: center; }
  /* Soldaki boşluk sağdaki düğmeler kadar (düğme 40, ara 6); geri oku varsa o dengeler. */
  .is-katman:not(.is-katman--orta) .is-sayfa__bas::before { content: ''; flex: none; width: 40px; }
  .is-katman:not(.is-katman--orta) .is-sayfa__bas:has(> :is(h1, .is-sayfa__kim) + button + button)::before { width: 86px; }
  .is-katman:not(.is-katman--orta) .is-sayfa__bas:has(> button:first-child)::before,
  .is-katman:not(.is-katman--orta) .is-sayfa__bas:has(> :is(h1, .is-sayfa__kim) + button + button + button)::before { display: none; }
  .is-katman:not(.is-katman--orta) .is-sayfa__bas:has(> :is(h1, .is-sayfa__kim) + button + button + button) :is(h1, .is-sayfa__kim) { text-align: left; }

  .is-katman--orta .is-sayfa {
    left: 24px; right: 24px; top: 50%; bottom: auto; max-height: 90dvh;
    border-radius: 16px; border: 1px solid var(--border); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
    transform: translateY(-46%); opacity: 0; transition: transform 0.22s ease, opacity 0.22s ease;
  }
  [data-theme="dark"] .is-katman--orta .is-sayfa { border-color: rgba(255, 255, 255, 0.14); }
  .is-katman--orta.acik .is-sayfa { transform: translateY(-50%); opacity: 1; }
  .is-katman--orta .is-tutamac { display: none; }
  .is-katman--orta .is-sayfa__govde { flex: 0 1 auto; padding-bottom: 16px; }
}

/* ── Firmalar (sahip 29.10): satır = şube; webde tablo (Mühendislik/İSG tablosunun iskeleti .bmx), telefonda kart ── */
.is-firma-dugme[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--accent); color: var(--accent); }
.is-liste.isf { display: flex; flex-direction: column; gap: 12px; }
.isf-ust { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.isf-cipler { flex: 1 1 auto; min-width: 0; }
.isf-araclar { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.isf-wrap { max-width: 100%; }
.app table.isf-tablo { width: 100%; font-size: 0.8rem; }
.app .isf-tablo td { vertical-align: top; }
.app .isf-tablo td small { display: block; color: var(--text-muted); font-size: 0.7rem; margin-top: 2px; }
.app .isf-tablo .isf-k-firma { min-width: 220px; max-width: 340px; }
.app .isf-tablo .isf-k-tur { min-width: 160px; max-width: 280px; color: var(--text-secondary); }
.app .isf-tablo .isf-k-kontrol { white-space: nowrap; }
.app .isf-tablo .isf-k-kontrol .is-etiket { display: inline-block; margin-left: 6px; }
.app .isf-tablo .isf-k-is { min-width: 110px; }
.app .isf-tablo .isf-k-menu { width: 40px; padding: 2px 4px; }
.app .isf-tablo .isf-sayi { text-align: right; font-variant-numeric: tabular-nums; padding-right: 16px; }
.isf-tarih { font-variant-numeric: tabular-nums; }
.isf-th { display: inline-flex; align-items: center; gap: 2px; }
.isf-huni { border: 0; background: none; padding: 2px; color: var(--text-muted); cursor: pointer; display: inline-flex; border-radius: 6px; }
.isf-huni .material-symbols-outlined { font-size: 0.95rem; }
.isf-huni:hover { color: var(--text-secondary); }
.isf-huni.is-on { color: var(--accent); }
.isf-firma { border: 0; background: none; padding: 0; font: inherit; font-weight: 650; color: var(--text-primary); cursor: pointer; text-align: left; }
.isf-firma:hover { color: var(--accent); }
.isf-ad { font-weight: 600; }
.app .isf-tablo .isf-bant td { background: var(--bg-tertiary); padding-top: 8px; padding-bottom: 8px; }
.app .isf-tablo .isf-bant small { display: inline; margin: 0; }
.isf-is { border: 0; cursor: pointer; margin: 0 4px 4px 0; background: var(--accent-soft, rgba(94, 106, 210, 0.12)); color: var(--accent); }
span.isf-is { cursor: default; }
.isf-menu { vertical-align: middle; }   /* ⋮ Mühendislik Şubeler'in kebab__btn'i (sahip 30.10) */
.isf-alt { margin: 0; font-size: 0.8rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.isf-kartlar { gap: 8px; }
.isf-kart .is-satir__ad small { display: block; }
.isf-kart__sag { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; margin-left: auto; flex: none; }
.isf-kart__sag .isf-tarih { font-size: 0.74rem; color: var(--text-secondary); }
.isf-bant-tel { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; border: 0; background: none; padding: 8px 2px 2px; font: inherit; text-align: left; cursor: pointer; color: var(--text-primary); }
.isf-bant-tel b { font-size: 0.9rem; }
.isf-bant-tel small { font-size: 0.74rem; color: var(--text-secondary); }
@media (max-width: 768px) {
  .isf-ust { flex-direction: column; align-items: stretch; }
  .isf-cipler { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: -4px -16px; padding: 4px 16px; }
  .isf-cipler::-webkit-scrollbar { display: none; }
  .isf-araclar { margin-left: 0; }
}
.app .isf-tablo td small.isf-tek { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 340px; }
.isf-tur { display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ── Belgeler (sahip 29.10): şube arşivi, DocFolders bileşeni katmanda (.app dışında: klasör simgesi kuralı burada da) ── */
.is-katman .df-folder { vertical-align: -0.22em; object-fit: contain; flex: 0 0 auto; }
.is-belgeler__agac { min-height: 200px; }
.is-belgeler__alt { position: sticky; bottom: 0; padding: 10px 0 4px; background: var(--bg-secondary); }
/* Belgeler ortada (sahip 30.10, Mühendislik ve İSG'deki gibi): webde 560 px pencere (Mühendislik modal-dialog--orta gibi), telefonda .is-katman--orta. */
@media (min-width: 769px) {
  .is-katman--belgeler .is-sayfa { top: 50%; left: 50%; right: auto; bottom: auto; width: min(560px, 92vw); max-height: 86vh; border-radius: 16px;
    border: 1px solid var(--border); transform: translate(-50%, -46%); opacity: 0; transition: transform 0.22s ease, opacity 0.22s ease; }
  [data-theme="dark"] .is-katman--belgeler .is-sayfa { border-color: rgba(255, 255, 255, 0.14); }
  .is-katman--belgeler.acik .is-sayfa { transform: translate(-50%, -50%); opacity: 1; }
  .is-katman--belgeler .is-tutamac { display: none; }
  .is-katman--belgeler .is-sayfa__govde { flex: 0 1 auto; }
}

/* ── Şube bilgisi (sahip 29.10: Mühendislik gibi ⓘ ve klasör) ── */
.isf-ad-sat { display: inline-flex; align-items: flex-start; gap: 4px; max-width: 100%; }
.isf-bilgi, .isf-belge { border: 0; background: none; padding: 2px; color: var(--text-muted); cursor: pointer; display: inline-flex; border-radius: 6px; flex: none; }
.isf-bilgi .material-symbols-outlined { font-size: 1rem; }
.isf-belge .material-symbols-outlined { font-size: 1.15rem; }
.isf-bilgi:hover, .isf-belge:hover { color: var(--accent); }
.app .isf-tablo .isf-k-belge { width: 64px; text-align: center; }
.is-sube-bilgi { display: flex; flex-direction: column; }
.is-sube-bilgi .isf-is { margin: 0 4px 2px 0; }
.is-sube-bilgi__eylemler { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 4px; }
.is-sube-bilgi__eylemler--tek { grid-template-columns: minmax(0, 1fr); }
.is-sube-bilgi__eylem { border: 0; border-radius: 12px; background: var(--bg-tertiary); color: var(--accent); font: inherit; font-size: 0.84rem; font-weight: 600; padding: 10px 6px; display: flex; flex-direction: column; align-items: center; gap: 2px; cursor: pointer; }
.is-sube-bilgi__eylem small { color: var(--text-muted); font-weight: 500; font-size: 0.72rem; }
.is-sube-bilgi__eylem:hover { box-shadow: 0 0 0 1px var(--accent); }
.is-katman--bilgi .is-sayfa__kim h1 { display: flex; align-items: center; gap: 8px; }
@media (min-width: 769px) {
  .is-katman--bilgi .is-sayfa { top: 50%; left: 50%; right: auto; bottom: auto; width: min(480px, 92vw); max-height: 86vh; border-radius: 16px;
    border: 1px solid var(--border); transform: translate(-50%, -46%); opacity: 0; transition: transform 0.22s ease, opacity 0.22s ease; }
  .is-katman--bilgi.acik .is-sayfa { transform: translate(-50%, -50%); opacity: 1; }
  .is-katman--bilgi .is-tutamac { display: none; }
  .is-katman--bilgi .is-sayfa__govde { flex: 0 1 auto; padding-bottom: 18px; }
}

/* ── Şube paneli (sahip 29.10: İSG firma paneli gibi) ── */
.is-sp-kontrol { background: var(--bg-tertiary); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; border-left: 3px solid var(--border); }
.is-sp-kontrol--yakin { border-left-color: var(--is-bugun-yazi, #b45309); }
.is-sp-kontrol--gec { border-left-color: var(--is-gec-yazi, #e11d48); }
.is-sp-kontrol__ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.is-sp-kontrol__ust b { font-size: 0.92rem; }
.is-sp-kontrol small { color: var(--text-secondary); font-size: 0.82rem; }
.is-sp-kontrol .is-dugme { align-self: flex-start; }
.is-sp-cipler { margin: 0; }
.is-sp-isler { display: flex; flex-direction: column; gap: 10px; }
.is-sp-bolum { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.is-sp-bolum .is-bolum__ad { margin: 0; }
