/* ============================================================
   GLOBAL EKRAN/SUITE GECIS GIRISI (bug #2).

   etkilesim.js icindeki tek global htmx:afterSwap dinleyicisi, nitelikli her
   swap HEDEFINE bu sinifi ekler -> gelen suite/liste/filtre icerigi opacity ile
   yumusak belirir ("pat diye" gecis yerine macOS hissi). TUM modullerde otomatik
   (Cekirdek/Talep/Envanter/Arac/Proje); markup'a dokunmaya gerek yok.

   OPACITY-ONLY bilincli secim: transform'lu giris, icerigin barindirdigi
   position:fixed modal/toast'lari bozardi (fixed-trap). Keyframe p360-fade-in
   tek kaynak (temel.css'te tanimli; bu dosya ondan SONRA yuklenir).

   Asagidaki opt-in .p360-anim (cocuk-stagger) AYRI katmandir; cakismasin diye
   JS, .p360-anim tasiyan hedefe bu sinifi EKLEMEZ.
   ============================================================ */
.p360-swap-giris { animation: p360-fade-in 0.26s ease-out both; }

@media (prefers-reduced-motion: reduce) {
  .p360-swap-giris { animation: none; }
}

/* ============================================================
   Platform360 — eski opt-in .p360-anim (geriye-uyum).

   ESKI davranis: saf CSS ile yalniz ILK render'da fade — kalici bir innerHTML
   konteynerinde (or. #f-tablo) durunca filtre swap'inde YENIDEN oynamiyordu
   (konteyner DOM'da kaldigi icin CSS animation tekrar tetiklenmez). Bu yuzden
   Arac liste ekranlari filtre degisiminde animasyonsuz kaliyordu.

   YENI: .p360-anim artik global handler'in (etkilesim.js htmx:afterSwap) kapsaminda
   — gecisAtla istisnasi kaldirildi. Her nitelikli swap hedefine .p360-swap-giris
   remove->reflow->add ile YENIDEN eklenir; boylece her filtre/liste swap'inde fade
   tekrar oynar (Proje modeliyle birebir). Ayri .p360-anim CSS kurali KALDIRILDI
   (yoksa .p360-swap-giris ile cift animasyon). Markup'taki .p360-anim aynen kalir,
   yalniz artik global mekanizmayla islenir — tum Arac + Envanter ekranlarini kapsar.
   ============================================================ */

/* ============================================================
   Per-row SILME cikis animasyonu (item 8 / per-row refactor).
   Sil butonu: hx-target="closest tr" hx-swap="outerHTML swap:0.3s". Basarida controller
   bos icerik doner -> satir 0.3s boyunca .htmx-swapping alir; td'ler solar + hafif kirmizi.
   Tum liste yeniden render EDILMEZ (yalniz o satir gider). Basarisizsa controller panele
   retarget edip tam render eder (satir kalir).
   ============================================================ */
.dtable tbody tr.htmx-swapping > td,
.lines-table tbody tr.htmx-swapping > td,
.mac-table tbody tr.htmx-swapping > td {
  opacity: 0;
  background: rgba(255, 59, 48, 0.06);
  transition: opacity 0.25s ease, background 0.25s ease;
}
@media (prefers-reduced-motion: reduce) {
  .dtable tbody tr.htmx-swapping > td,
  .lines-table tbody tr.htmx-swapping > td,
  .mac-table tbody tr.htmx-swapping > td { transition: none; }
}
