/* ==========================================================================
   ClientPoster — yardımcı sınıflar (plan 20.13, CSP stil tarafı · seçenek B)
   ==========================================================================
   Görünümlerdeki satır içi style="…" niteliklerinin BİREBİR karşılığı.
   CSP artık `style-src 'self'` + `style-src-attr 'none'` taşıyor: nitelik
   tarayıcıda UYGULANMIYOR ve konsola hata düşüyor. Görünümde nitelik yazılmaz;
   gereken bildirim buradaki sınıfla verilir (nöbetçi: GorunumNobetcileriTestleri).

   🔴 NEDEN !important — BİREBİR ÇEVİRİNİN ŞARTI:
   Satır içi stil HER yazar kuralını yener (medya sorgusu, :hover, daha özgül
   bileşen kuralı). Normal öncelikli bir sınıf bunların bir kısmına KAYBEDER
   ve görünüm sessizce değişirdi. !important sınıf da hepsini yener — önceliği
   taşıyan tek çeviri bu. Eşitlik çeviri sırasında ÖLÇÜLDÜ: aynı sayfa
   yüklemesinde bütün öğelerin hesaplanmış stili nitelik varken ve yokken
   karşılaştırıldı.
   ⚠️ Tek fark diğer !important kurallarıyla: `.gizle` (görünümlerde 0 kullanım)
   ve hareket azaltma (burada animasyon/geçiş yok). JS'in CSSOM ile yazdığı
   bir özelliği buradaki bir sınıf EZER — öyle bir öğe buraya bağlanmaz
   (şifre gücü çubuğu kabuk.css'te normal öncelikli kural taşır).

   ⚖️ ADLANDIRMA: `y-` öneki + özellik + değer. Boşluk ölçeği sayıyla
   (y-alt-5 = margin-bottom: var(--b-5)), piksel değeri birimiyle (y-ust-6px).
   dis = margin · ic = padding · bas = inline-start (RTL'de doğru yöne döner:
   eski margin-left / text-align:right mantıksal karşılığına çevrildi).

   ⚖️ app.css SADIK KOPYA ve düzenlenmez; kabuk.css ürüne özgü bileşenler.
   Bu dosya yalnızca tek bildirimli yardımcıları taşır ve kabuk.css'ten SONRA
   yüklenir.
   ========================================================================== */

/* ---------------------------------------------------------------- Yardımcılar */
.y-hiza-bas { align-items: start !important; }
.y-hiza-esnek-bas { align-items: flex-start !important; }
.y-hiza-orta { align-items: center !important; }
.y-hiza-son { align-items: end !important; }
.y-zemin-yuzey-2 { background: var(--yuzey-2) !important; }
.y-cizgi { border: 1px solid var(--cizgi) !important; }
.y-cizgi-alt { border-bottom: 1px solid var(--cizgi) !important; }
.y-kose-md { border-radius: var(--r-md) !important; }
.y-cizgi-ust { border-top: 1px solid var(--cizgi) !important; }
.y-renk-beyaz { color: #fff !important; }
.y-renk-hata { color: var(--hata-metin) !important; }
.y-renk-marka { color: var(--marka-metin) !important; }
.y-renk-marka-600 { color: var(--marka-600) !important; }
.y-renk-metin-2 { color: var(--metin-2) !important; }
.y-renk-metin-3 { color: var(--metin-3) !important; }
.y-renk-uyari { color: var(--uyari-metin) !important; }
.y-renk-miras { color: inherit !important; }
.y-blok { display: block !important; }
.y-esnek { display: flex !important; }
.y-satirici-esnek { display: inline-flex !important; }
.y-esne-1 { flex: 1 !important; }
.y-esne-1-1-oto { flex: 1 1 auto !important; }
.y-esne-sabit { flex: 0 0 auto !important; }
/* Yalnız gerektiğinde daralır: .satir--ara'nın son çocuğu (flex: 0 0 auto) dar ekranda sarmayı bırakıp taşardı (kanal satırı, 2026-09-30). */
.y-esne-daralir { flex: 0 1 auto !important; }
.y-yon-satir { flex-direction: row !important; }
.y-yon-sutun { flex-direction: column !important; }
.y-sar { flex-wrap: wrap !important; }
.y-punto-11px { font-size: 11px !important; }
.y-punto-lg { font-size: var(--ts-lg) !important; }
.y-punto-xl { font-size: var(--ts-xl) !important; }
.y-kalinlik-400 { font-weight: 400 !important; }
.y-aralik-1 { gap: var(--b-1) !important; }
.y-aralik-2 { gap: var(--b-2) !important; }
.y-aralik-3 { gap: var(--b-3) !important; }
.y-aralik-4 { gap: var(--b-4) !important; }
.y-aralik-4px { gap: 4px !important; }
.y-aralik-5 { gap: var(--b-5) !important; }
.y-aralik-5px { gap: 5px !important; }
.y-aralik-6 { gap: var(--b-6) !important; }
.y-aralik-6px { gap: 6px !important; }
.y-yuk-oto { height: auto !important; }
.y-yasla-ara { justify-content: space-between !important; }
.y-yasla-esnek-son { justify-content: flex-end !important; }
.y-yasla-orta { justify-content: center !important; }
.y-harf-araligi-0 { letter-spacing: 0 !important; }
.y-harf-araligi-05em { letter-spacing: .05em !important; }
.y-bosluk-normal { white-space: normal !important; }
.y-satir-araligi-14 { line-height: 1.4 !important; }
.y-satir-araligi-16 { line-height: 1.6 !important; }
.y-liste-yok { list-style: none !important; }
.y-dis-0 { margin: 0 !important; }
.y-dis-0-0-4 { margin: 0 0 var(--b-4) !important; }
.y-dis-1-0-0 { margin: var(--b-1) 0 0 !important; }
.y-dis-2-0-0 { margin: var(--b-2) 0 0 !important; }
.y-dis-3-0-0 { margin: var(--b-3) 0 0 !important; }
.y-dis-4-0-2 { margin: var(--b-4) 0 var(--b-2) !important; }
.y-dis-4-0-5 { margin: var(--b-4) 0 var(--b-5) !important; }
.y-dis-5-0 { margin: var(--b-5) 0 !important; }
.y-dis-5-0-2 { margin: var(--b-5) 0 var(--b-2) !important; }
.y-dis-eksi3-0-5 { margin: calc(-1 * var(--b-3)) 0 var(--b-5) !important; }
.y-alt-0 { margin-bottom: 0 !important; }
.y-alt-2 { margin-bottom: var(--b-2) !important; }
.y-alt-3 { margin-bottom: var(--b-3) !important; }
.y-alt-4 { margin-bottom: var(--b-4) !important; }
.y-alt-5 { margin-bottom: var(--b-5) !important; }
.y-alt-5px { margin-bottom: 5px !important; }
.y-alt-6 { margin-bottom: var(--b-6) !important; }
.y-alt-7px { margin-bottom: 7px !important; }
.y-alt-8 { margin-bottom: var(--b-8) !important; }
.y-bas-2 { margin-inline-start: var(--b-2) !important; }
.y-bas-oto { margin-inline-start: auto !important; }
.y-ust-2 { margin-top: var(--b-2) !important; }
.y-ust-2px { margin-top: 2px !important; }
.y-ust-3 { margin-top: var(--b-3) !important; }
.y-ust-4 { margin-top: var(--b-4) !important; }
.y-ust-4px { margin-top: 4px !important; }
.y-ust-5 { margin-top: var(--b-5) !important; }
.y-ust-6 { margin-top: var(--b-6) !important; }
.y-ust-6px { margin-top: 6px !important; }
.y-ust-8 { margin-top: var(--b-8) !important; }
.y-maks-yuk-160px { max-height: 160px !important; }
.y-maks-gen-22ch { max-width: 22ch !important; }
.y-maks-gen-720px { max-width: 720px !important; }
.y-maks-gen-240px { max-width: 240px !important; }
.y-maks-gen-360px { max-width: 360px !important; }
.y-maks-gen-8rem { max-width: 8rem !important; }
.y-maks-gen-tam { max-width: 100% !important; }
.y-min-yuk-24px { min-height: 24px !important; }
.y-min-gen-0 { min-width: 0 !important; }
.y-min-gen-24px { min-width: 24px !important; }
.y-tasma-gizli { overflow: hidden !important; }
.y-tasma-kir-her-yer { overflow-wrap: anywhere !important; }
.y-ic-0 { padding: 0 !important; }
.y-ic-10px-3 { padding: 10px var(--b-3) !important; }
.y-ic-2-0 { padding: var(--b-2) 0 !important; }
.y-ic-3-0 { padding: var(--b-3) 0 !important; }
.y-ic-3-4 { padding: var(--b-3) var(--b-4) !important; }
.y-ic-3px-0 { padding: 3px 0 !important; }
.y-ic-4 { padding: var(--b-4) !important; }
.y-ic-4px-6px { padding: 4px 6px !important; }
.y-ic-6px-8px { padding: 6px 8px !important; }
.y-ic-alt-3 { padding-bottom: var(--b-3) !important; }
.y-ic-bas-5 { padding-inline-start: var(--b-5) !important; }
.y-metin-bas { text-align: start !important; }
.y-metin-orta { text-align: center !important; }
.y-metin-son { text-align: end !important; }
.y-tasma-metin-uc-nokta { text-overflow: ellipsis !important; }
.y-harf-donusumu-yok { text-transform: none !important; }
.y-bosluk-koru { white-space: pre-wrap !important; }
.y-bosluk-tek-satir { white-space: nowrap !important; }
.y-gen-15px { width: 15px !important; }
.y-gen-44px { width: 44px !important; }
.y-gen-48px { width: 48px !important; }
.y-gen-64px { width: 64px !important; }
.y-gen-72px { width: 72px !important; }
.y-gen-oto { width: auto !important; }
.y-kelime-kir-hepsi { word-break: break-all !important; }

/* ---------------------------------------------------------------- Çubuk oranı
   Veriden türeyen yüzdeli genişlik (ilerleme çubukları). Değer tam sayı ve
   0–100 arası; sınıf adını StilSinifi.Oran üretir ve sınırlar. CSS custom
   property ile yazılamıyor: değişken de bir style niteliği isterdi. */
.y-oran-0 { width: 0% !important; }
.y-oran-1 { width: 1% !important; }
.y-oran-2 { width: 2% !important; }
.y-oran-3 { width: 3% !important; }
.y-oran-4 { width: 4% !important; }
.y-oran-5 { width: 5% !important; }
.y-oran-6 { width: 6% !important; }
.y-oran-7 { width: 7% !important; }
.y-oran-8 { width: 8% !important; }
.y-oran-9 { width: 9% !important; }
.y-oran-10 { width: 10% !important; }
.y-oran-11 { width: 11% !important; }
.y-oran-12 { width: 12% !important; }
.y-oran-13 { width: 13% !important; }
.y-oran-14 { width: 14% !important; }
.y-oran-15 { width: 15% !important; }
.y-oran-16 { width: 16% !important; }
.y-oran-17 { width: 17% !important; }
.y-oran-18 { width: 18% !important; }
.y-oran-19 { width: 19% !important; }
.y-oran-20 { width: 20% !important; }
.y-oran-21 { width: 21% !important; }
.y-oran-22 { width: 22% !important; }
.y-oran-23 { width: 23% !important; }
.y-oran-24 { width: 24% !important; }
.y-oran-25 { width: 25% !important; }
.y-oran-26 { width: 26% !important; }
.y-oran-27 { width: 27% !important; }
.y-oran-28 { width: 28% !important; }
.y-oran-29 { width: 29% !important; }
.y-oran-30 { width: 30% !important; }
.y-oran-31 { width: 31% !important; }
.y-oran-32 { width: 32% !important; }
.y-oran-33 { width: 33% !important; }
.y-oran-34 { width: 34% !important; }
.y-oran-35 { width: 35% !important; }
.y-oran-36 { width: 36% !important; }
.y-oran-37 { width: 37% !important; }
.y-oran-38 { width: 38% !important; }
.y-oran-39 { width: 39% !important; }
.y-oran-40 { width: 40% !important; }
.y-oran-41 { width: 41% !important; }
.y-oran-42 { width: 42% !important; }
.y-oran-43 { width: 43% !important; }
.y-oran-44 { width: 44% !important; }
.y-oran-45 { width: 45% !important; }
.y-oran-46 { width: 46% !important; }
.y-oran-47 { width: 47% !important; }
.y-oran-48 { width: 48% !important; }
.y-oran-49 { width: 49% !important; }
.y-oran-50 { width: 50% !important; }
.y-oran-51 { width: 51% !important; }
.y-oran-52 { width: 52% !important; }
.y-oran-53 { width: 53% !important; }
.y-oran-54 { width: 54% !important; }
.y-oran-55 { width: 55% !important; }
.y-oran-56 { width: 56% !important; }
.y-oran-57 { width: 57% !important; }
.y-oran-58 { width: 58% !important; }
.y-oran-59 { width: 59% !important; }
.y-oran-60 { width: 60% !important; }
.y-oran-61 { width: 61% !important; }
.y-oran-62 { width: 62% !important; }
.y-oran-63 { width: 63% !important; }
.y-oran-64 { width: 64% !important; }
.y-oran-65 { width: 65% !important; }
.y-oran-66 { width: 66% !important; }
.y-oran-67 { width: 67% !important; }
.y-oran-68 { width: 68% !important; }
.y-oran-69 { width: 69% !important; }
.y-oran-70 { width: 70% !important; }
.y-oran-71 { width: 71% !important; }
.y-oran-72 { width: 72% !important; }
.y-oran-73 { width: 73% !important; }
.y-oran-74 { width: 74% !important; }
.y-oran-75 { width: 75% !important; }
.y-oran-76 { width: 76% !important; }
.y-oran-77 { width: 77% !important; }
.y-oran-78 { width: 78% !important; }
.y-oran-79 { width: 79% !important; }
.y-oran-80 { width: 80% !important; }
.y-oran-81 { width: 81% !important; }
.y-oran-82 { width: 82% !important; }
.y-oran-83 { width: 83% !important; }
.y-oran-84 { width: 84% !important; }
.y-oran-85 { width: 85% !important; }
.y-oran-86 { width: 86% !important; }
.y-oran-87 { width: 87% !important; }
.y-oran-88 { width: 88% !important; }
.y-oran-89 { width: 89% !important; }
.y-oran-90 { width: 90% !important; }
.y-oran-91 { width: 91% !important; }
.y-oran-92 { width: 92% !important; }
.y-oran-93 { width: 93% !important; }
.y-oran-94 { width: 94% !important; }
.y-oran-95 { width: 95% !important; }
.y-oran-96 { width: 96% !important; }
.y-oran-97 { width: 97% !important; }
.y-oran-98 { width: 98% !important; }
.y-oran-99 { width: 99% !important; }
.y-oran-100 { width: 100% !important; }

/* ---------------------------------------------------------------- Müşteri rengi
   Müşteri avatarı. Renk sekiz renkli sabit paletten (MusteriEsleme.RenkPaleti);
   sıra ve değerler bir testle o paletle kilitli. Palet dışı bir renk
   (CHECK her #RRGGBB'yi kabul ediyor) sınıf almaz ve .avatar zeminine düşer. */
.y-musteri-renk-0 { background: #8B5E34 !important; }
.y-musteri-renk-1 { background: #0EA5A5 !important; }
/* K22 (2026-10-23): paletin pembesi #E1306C → #DF2363 (MusteriEsleme.RenkPaleti; beyaz baş harf 4,61). Eski kayıtlı değer
   StilSinifi'nde bu sınıfa eşleniyor; açık zeminli üç renkte baş harf koyu (kabuk.css). */
.y-musteri-renk-2 { background: #DF2363 !important; }
.y-musteri-renk-3 { background: #F97316 !important; }
.y-musteri-renk-4 { background: #0A66C2 !important; }
.y-musteri-renk-5 { background: #0891B2 !important; }
.y-musteri-renk-6 { background: #78350F !important; }
.y-musteri-renk-7 { background: #6C5CE7 !important; }
