/* =====================================================================
   61 · KİMLİK AKIŞI — kaynak `.au-*` (giriş · kayıt · şifre · doğrulama)
   ---------------------------------------------------------------------
   Ölçüm: slot-1, @1440. BEŞ pano tek kartta: `giris · kayit · sifre ·
   yeni-sifre · dogrula`; ilk ikisi sekmeli, kalan üçü raysız.

   🔴 §34 `.bant` DEĞİL ve §60 `.arama-hero` DEĞİL — üçüncü hero kipi:
     .bant         yükseklik SABİT · overflow hidden · tek kolon dikey ortalı
     .arama-hero   yükseklik İÇERİK · overflow visible · tek kolon
     .giris-hero   yükseklik İÇERİK · İKİ KOLON (628 + 520) · h1 BANTTA DEĞİL
   Başlık kartın İÇİNDE yaşıyor; bant yalnız görsel kolonu ve kartı taşır.

   ⚠ Ad `.kimlik-*` DEĞİL: §25 `.kimlik` profil kartı, çakışırdı (slot-1
   sordu). `.giris-*` seçildi.
   ===================================================================== */

.giris-hero{
  position:relative;
  padding:calc(var(--kabuk-h) + var(--hero-ust)) 0 var(--bosluk-74);
  background:
    var(--giris-parilti),
    var(--giris-perde),
    var(--bant-gorsel) var(--bant-gorsel-yeri)/cover no-repeat,
    var(--bant-zemin);
}
/* Kırıntı AKIŞTA — bant yüksekliği içerikten geliyor (§60 ile aynı kip). */
/* 🔴 BU EKRANIN KIRINTISI §17 `.kirinti` DEĞİL — kaynağı `.rd-crumb`,
   ölçüsü ayrı: 13px/500 · lh 1.55 · alt pay YOK, yerine 18/14 dolgu.
   Ve `<b>` (şimdiki sayfa) 340px'te kırpılıyor; §17'nin 900 ağırlığı ve
   sınırsız genişliği burada başlığı taşırıyor (slot-1 ölçtü). */
.giris-hero .kirinti{
  position:static; margin-bottom:0;
  padding:var(--bosluk-18) 0 var(--bosluk-14);
  font-size:var(--yazi-13); font-weight:var(--agirlik-govde);
  line-height:var(--satir-govde);
}
.giris-hero .kirinti b,
.giris-hero .kirinti .kirinti-simdi{
  font-weight:var(--agirlik-kalin); max-width:340px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
/* Kart görselin ÜSTÜNDE durmalı — hero'nun kendi süsleme katmanı (z 1)
   ve pano (z yok) arasında kalmasın diye ikisi de konumlu ve katmanlı. */
.giris-hero>.kap{ position:relative; z-index:5; }
.giris-kart{ position:relative; z-index:6; }
/* 🔴 SOL KOLON ESNEK, SAĞ KOLON SABİT. Kaynak `minmax(0,1fr) 520px` yazıyor;
   @1440 sonuç 628px olduğu için ölçüm iki yazımı ayırt edemiyor, ama sabit
   628 yazmak 1024-1180 arasında kabı taşırır (628+28+520 = 1176 sabit). */
.giris-duzen{
  display:grid; grid-template-columns:minmax(0,1fr) 520px; gap:var(--bosluk-28);
  margin-top:var(--bosluk-6);
  /* Kolonlar EŞİT BOY — kart görselle aynı yüksekliği alsın diye. */
  align-items:stretch;
}

/* ---- SOL KOLON: GÖRSEL PANO ---------------------------------------- */
/* 🔴 PANONUN YÜKSEKLİĞİ KARTA BAĞLI DEĞİL — kaynağın R15 kararı, şerhiyle
   birlikte ölçüldü (giris-v1.html:108-114). Ölçüt görüntü alanı: kabuk
   yüksekliği + 120px nefes çıkarılır; taban 624 (eski min-height), tavan
   1036 (giriş sekmesinin ölçülen boyu). Değer sekmeye değil yalnız pencereye
   bağlı, iki sekmede de aynı; uzun kayıt formu kaydırılırken görsel yerinde
   durur. `align-items:stretch` ızgarada KALIR (kart hâlâ satırı belirler),
   ama pano kendi boyunu yazdığı için esnemez — sticky ancak böyle çalışır. */
.giris-pano{
  display:flex; flex-direction:column; justify-content:flex-end;
  height:clamp(624px, calc(100vh - var(--kabuk-h) - 120px), 1036px);
  position:sticky; top:calc(var(--kabuk-h) + var(--bosluk-24));
  padding:var(--bosluk-38) var(--bosluk-40);
  border-radius:var(--yuvarlak-xl); overflow:hidden; box-shadow:var(--golge-md);
  background:var(--giris-pano-perde), var(--bant-gorsel) center/cover no-repeat, var(--bant-zemin);
}
/* 🔴 §18 `.ust-etiket`in ÜÇÜNCÜ rengi — `--aksan-parlak` DEĞİL, daha açık
   bir adım (slot-1 ölçtü). Koyu görsel üstünde okunurluk için. */
.giris-pano .ust-etiket{ color:var(--koyu-aksan-2); }
.giris-pano .ust-etiket::before{ background:var(--koyu-aksan-2); }
.giris-pano h2{
  font-size:var(--yazi-36); font-weight:var(--agirlik-kalin);
  line-height:var(--satir-baslik); letter-spacing:var(--aralik-baslik-2);
  max-width:420px; margin:var(--bosluk-14) 0 var(--bosluk-10); color:var(--kagit);
}
.giris-pano h2 .vurgu{ color:var(--koyu-aksan); }
.giris-pano .giris-metni{
  font-size:var(--yazi-15); font-weight:var(--agirlik-govde);
  line-height:var(--satir-genis); max-width:420px; color:var(--koyu-metin-3);
  text-align:left; text-align-last:auto;    /* B36 */
}
.giris-avantaj{ display:flex; flex-direction:column; gap:var(--bosluk-11); margin-top:var(--bosluk-22); }
.giris-avantaj span{
  display:inline-flex; align-items:center; gap:var(--bosluk-11);
  font-size:var(--yazi-13-5); font-weight:var(--agirlik-orta); color:var(--koyu-metin-4);
}
.giris-avantaj i{
  flex:none; width:26px; height:26px; border-radius:var(--yuvarlak-daire);
  display:grid; place-items:center; font-size:var(--yazi-11);
  background:var(--koyu-aksan-zemin); color:var(--kagit);
}
.giris-sayilar{
  display:flex; gap:var(--bosluk-34);
  padding-top:var(--bosluk-22); margin-top:var(--bosluk-26);
  border-top:var(--cizgi-1) solid var(--dip-cizgi);
}
.giris-sayilar b{
  display:block; font-size:var(--yazi-25); font-weight:var(--agirlik-kalin);
  line-height:1.1; letter-spacing:var(--aralik-baslik); color:var(--kagit);
}
.giris-sayilar span{
  display:inline; font-size:var(--yazi-12); font-weight:var(--agirlik-govde);
  color:var(--koyu-metin-2);
}

/* ---- SAĞ KOLON: KART ------------------------------------------------ */
.giris-kart{
  display:flex; flex-direction:column;
  padding:var(--bosluk-34) var(--bosluk-38) var(--bosluk-36);
  border-radius:var(--yuvarlak-xl);
  border:var(--cizgi-1) solid var(--cizgi); background:var(--kagit);
  box-shadow:var(--golge-sm);
}
/* Sekme rayı kartın içinde ORTALI ve kalemler eşit bölünür. */
.giris-kart .sekmeler{ margin:0 auto var(--bosluk-24); }
.giris-kart .sekmeler .sekme{ flex:1; justify-content:center; }
.giris-bas{ margin-bottom:var(--bosluk-20); }
.giris-bas h1{
  font-size:var(--yazi-25); font-weight:var(--agirlik-kalin);
  line-height:var(--satir-baslik); letter-spacing:var(--aralik-baslik);
}
.giris-bas p{
  margin-top:var(--bosluk-5);
  font-size:var(--yazi-13-5); font-weight:var(--agirlik-govde); color:var(--metin-ikincil);
  text-align:left; text-align-last:auto;    /* B36 */
}

/* Sosyal giriş — iki kolonlu ızgara. */
.sosyal-kolon{ display:grid; grid-template-columns:1fr 1fr; gap:var(--bosluk-10); }
.sosyal-dugme{
  display:flex; align-items:center; justify-content:center; gap:var(--bosluk-11);
  /* 46px kaynakta DOLGUDAN gelir, `min-height` bildirilmez — kanon da
     yazmaz ki punto değişince kutu kilitli kalmasın (slot-1 ölçtü). */
  padding:var(--bosluk-13) var(--bosluk-16);
  line-height:normal; text-align:center;
  border-radius:var(--yuvarlak-md);
  border:var(--cizgi-1) solid var(--cizgi); background:var(--kagit);
  font-family:inherit; font-size:var(--yazi-14); font-weight:var(--agirlik-kalin);
  color:var(--murekkep); cursor:pointer;
}
.sosyal-ikon{ width:18px; height:18px; flex:none; overflow:hidden; }

/* Ayraç — "ya da". */
.giris-ayrac{
  display:flex; align-items:center; gap:var(--bosluk-14);
  margin:var(--bosluk-20) 0;
  font-size:var(--yazi-12); font-weight:var(--agirlik-orta);
  letter-spacing:var(--aralik-etiket-2); color:var(--metin-ikincil);
}
.giris-ayrac::before,.giris-ayrac::after{
  content:""; flex:1; height:1px; background:var(--cizgi);
}

/* Segment — "nasıl giriş yapmak istersin" (§29 md.18: Diyet'te telefonla
   giriş YOK ama kanon FIT'in yapısını taşır; yetenek ürün işi). */
.giris-segment{
  display:flex; gap:var(--bosluk-4);
  padding:var(--bosluk-4); margin-bottom:var(--bosluk-18);
  border-radius:var(--yuvarlak-md);
  border:var(--cizgi-1) solid var(--cizgi); background:var(--zemin);
}
.giris-segment button{
  flex:1; display:inline-flex; align-items:center; justify-content:center;
  gap:var(--bosluk-7); min-height:44px;
  padding:var(--bosluk-9) var(--bosluk-14); border:none;
  border-radius:var(--yuvarlak-sm); background:transparent;
  font-family:inherit; font-size:var(--yazi-13); font-weight:var(--agirlik-kalin);
  color:var(--metin-ikincil); cursor:pointer;
}
/* ROL KİPİ — "ne olarak katılıyorsun / hangi hesaba giriyorsun" ikilisi.
   Taban segmentten üç yerde ayrılır: sarar, alt payı 22, ve kalemleri dar
   ekranda yarım-yarım tabana oturur (560'tan sonra eşit bölünmeye döner). */
.giris-segment.rol{ flex-wrap:wrap; margin-bottom:var(--bosluk-22); }
.giris-segment.rol button{
  flex:1 1 calc(50% - var(--bosluk-4));
  min-width:0;                      /* uzun etiket kabı taşırmasın */
}
@media (min-width:560px){ .giris-segment.rol button{ flex:1 1 0; } }
.giris-segment button i{ font-size:var(--yazi-12); }
.giris-segment button.aktif{ background:var(--aksan-koyu); color:var(--kagit); }
.giris-segment-giris{
  display:flex; align-items:center; gap:var(--bosluk-8);
  margin-bottom:var(--bosluk-16);
  font-size:var(--yazi-12); font-weight:var(--agirlik-orta); color:var(--metin-ikincil);
  text-align:left; text-align-last:auto;    /* 🔴 B36 — bir <p>, yaslanıyordu */
}
.giris-segment-giris i{ font-size:var(--yazi-12); color:var(--aksan); }

.giris-satir{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--bosluk-14); margin:var(--bosluk-16) 0 var(--bosluk-20);
}
/* Satır içi onay KUTUSUZ — §39'un kutulu kipi buraya girmez (yukarıdaki
   şerh). Kanon kaynağın yaptığını yapar: kutuyu satır kapsamında söker. */
.giris-satir .onay-kutusu{
  align-items:center; min-height:44px;
  padding:0; border:none; border-radius:0; background:none;
  gap:var(--bosluk-9);
  font-size:var(--yazi-13); line-height:var(--satir-orta);
}
.giris-satir .onay-kutusu input{ margin-top:0; }
.giris-unuttum{
  display:inline-flex; align-items:center; min-height:44px;
  /* Bir button; tarayıcı zemini ve çerçevesi BİLDİRİLEREK silinir. */
  padding:0; background:none; border:none; cursor:pointer;
  font-family:inherit;
  font-size:var(--yazi-13); font-weight:var(--agirlik-kalin); color:var(--aksan);
}
/* 🔴 §2 `.dugme`den AYRI ÖLÇÜ: taban 14/26 · 14.5px, bu 15/26 · 15px.
   Kartın tek birincil eylemi, tam genişlikte. */
.giris-gonder{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--bosluk-10);
  /* 48px DOLGUDAN gelir — kaynak `min-height` bildirmiyor (slot-1). */
  width:100%; padding:var(--bosluk-15) var(--bosluk-26);
  border:none; border-radius:var(--yuvarlak-md);
  font-family:inherit; font-size:var(--yazi-15); font-weight:var(--agirlik-kalin);
  background:var(--aksan-koyu); color:var(--kagit); cursor:pointer;
}
.giris-not{
  margin-top:var(--bosluk-16); padding:var(--bosluk-12) var(--bosluk-14);
  border-radius:var(--yuvarlak-md);
  border:var(--cizgi-1) solid var(--cizgi); background:var(--zemin);
  font-size:var(--yazi-12-5); font-weight:var(--agirlik-govde); color:var(--metin-ikincil);
  text-align:left; text-align-last:auto;    /* B36 */
}
.giris-alt{
  padding-top:var(--bosluk-18); margin-top:var(--bosluk-20);
  border-top:var(--cizgi-1) solid var(--cizgi);
  text-align:center;
  font-size:var(--yazi-13-5); font-weight:var(--agirlik-govde); color:var(--metin-ikincil);
}
.giris-alt button{
  display:inline-flex; align-items:center; min-height:44px;
  font-family:inherit; font-size:var(--yazi-13-5); font-weight:var(--agirlik-kalin);
  color:var(--aksan); background:none; border:none; cursor:pointer;
}
/* 🔴 HATA RENGİ KART KAPSAMINDA YEREL. Kaynağın kendi şerhi gerekçeli:
   kabuğun aksanı YEŞİL ve hata mesajı yeşil çıkmasın diye kart kendi
   tehlike rengini tanımlıyor. Kanon aynı yolu izler ama uydurmaz —
   `--tehlike` ailesine bağlar. */
/* Kimlik formunun hata satırı — kaynağın `.fk-error`ı (`.fk-err` DEĞİL,
   bkz. §3'ün K3 şerhi). Ölçüldü: center · 700 · gizli doğar. */
.giris-hata{
  display:none; align-items:center; gap:var(--bosluk-7);
  margin-top:var(--bosluk-8);
  font-size:var(--yazi-12-5); font-weight:var(--agirlik-kalin); color:var(--tehlike);
}
/* 🔴 B36 — `.giris-hata` bir `<p>` ve `text-align` bildirmiyor; kabuğun
   `p{text-align:justify}` kuralı sızıyor. Hata satırı iki satıra düştüğünde
   yaslanacaktı. B36 listesine yeni kalem (slot-1 çift ekleyince doğdu). */
.giris-hata{ text-align:left; text-align-last:auto; }
.giris-hata i{ font-size:var(--yazi-12); }
/* Form düzeyi hata alan hatasından DAHA DAR pay taşır (4 ↔ 8) —
   kaynağın `.au-form-error{margin:4px 0 0}` değiştiricisi. */
.giris-hata.form{ margin-top:var(--bosluk-4); }
.giris-hata.acik{ display:flex; }

/* =====================================================================
   61b · KİMLİK AKIŞININ EKSİK KALEMLERİ (slot-1, 2026-09-02)
   ---------------------------------------------------------------------
   Beş pano kaynağın DOM'undan yeniden kurulunca (EKSİ BİRİNCİ MADDE)
   markup'ta doğan ama kanonda kuralı OLMAYAN on kalem çıktı. Hepsi
   render edilmiş DOM'dan ölçüldü; hiçbiri türetilmedi.
   🔴 Bu kalemlerin hiçbiri daha önce görünmüyordu çünkü MARKUP'TA YOKTU —
   "olmayan elemanın çifti de yoktur". Yöntem değişikliğinin doğrudan
   getirisi: on bileşen bir turda ortaya çıktı.
   ===================================================================== */

/* T3 · Rol segmentinin İKİNCİ kalemi bir BAĞLANTI, seçim değil — antrenör/
   diyetisyen başvurusuna gider. §61 yalnız `button` yazıyordu, bağlantı
   raydan taşıyordu (Beyar ekran görüntüsünde gördü). */
.giris-segment .segment-baglanti{
  /* `flex:1`in `0%` tabanı uzun etiketi kabı taşırıyordu; kaynak
     `0` + `min-width:0` yazıyor. */
  flex:1 1 0; min-width:0;
  display:flex; align-items:center; justify-content:center;
  gap:var(--bosluk-7); min-height:44px;
  padding:var(--bosluk-9) var(--bosluk-14);
  border-radius:var(--yuvarlak-sm);
  font-size:var(--yazi-13); font-weight:var(--agirlik-kalin);
  color:var(--metin-ikincil); text-decoration:none;
}
.segment-ok{ font-size:var(--yazi-12); font-weight:var(--agirlik-siyah); line-height:1; opacity:.75; }

/* T4 · Kayıt onayları DÜZ SATIR — §39'un kutulu `.onay-kutusu`su BAŞKA bir
   bileşen. Kanonun kendi deseni: kutuyu KAPSAMDA sök (`.giris-satir`da
   slot-3'ün yaptığının aynısı), yeni bileşen üretme. */
.onay-satirlari{
  display:flex; flex-direction:column; gap:var(--bosluk-13);
  margin:var(--bosluk-18) 0 var(--bosluk-20);
}
.onay-satirlari .onay-kutusu{
  padding:var(--bosluk-4) 0; border:0; background:none; border-radius:0;
  gap:var(--bosluk-9); min-height:44px;
  font-size:var(--yazi-12-5); line-height:var(--satir-orta);
  /* §39'un 600'ü miras kalıyordu; kaynak 500. */
  font-weight:var(--agirlik-govde);
}
/* Onay kutusu ESNEMEZ — kaynakta sabit; esneyince küçülüyordu. */
.onay-satirlari .onay-kutusu input{ flex:none; }
/* 🔴 Zorunluluk yıldızı — çifti YOKTU, eklenince iki fark birden doğdu.
   `.ol-consents-min`in tek karşılıksız etkisi de buydu (slot-1 ölçtü:
   değiştirici KABA değil ÇOCUKLARA yazıyor, dört kuralı var; ikisi
   marka yuvasıyla zaten karşılanıyor, üçüncüsü bu 3px). */
.onay-satirlari .zorunlu{ margin-left:3px; font-weight:var(--agirlik-kalin); }
/* Yasal bağlantıların altı ÇİZİLİ — kaynakta çizili, kanonda değildi. */
.onay-satirlari a{
  /* Dokunma payı — kaynakta 5px; dikey hedefi büyütür, satırı bozmaz. */
  padding:var(--bosluk-5) 0;
  font-weight:var(--agirlik-kalin); color:var(--aksan-koyu);
  text-decoration:underline; text-underline-offset:2px;
}

/* T5 · reCAPTCHA / güvenlik notu. §15 `.alt-not`un AKRABASI ama beş yerde
   ayrışıyor (dolgu 16↔14 · pay 18↔16 · boşluk 9↔8 · 12↔12.5 punto ·
   renk `--metin-ikincil`↔`--murekkep-yumusak`) — ayrı ad. */
.guvenlik-notu{
  display:flex; align-items:center; gap:var(--bosluk-9);
  padding-top:var(--bosluk-16); margin-top:var(--bosluk-18);
  border-top:var(--cizgi-1) solid var(--cizgi);
  font-size:var(--yazi-12); font-weight:var(--agirlik-govde);
  line-height:var(--satir-govde); color:var(--metin-ikincil);
}
.guvenlik-notu i{ font-size:var(--yazi-13); color:var(--aksan); }

/* T6 · 🔴 HATA SATIRI HER ZAMAN GÖRÜNÜYORDU — kural yukarıda, §61'in
   kendi bloğunda; kaynak `display:none` + `.show` yazıyor. Kayıt
   panosunda kırmızı ünlem hata yokken de ekranda duruyordu (B37 ailesi,
   GÖZLE görülüyor). */

/* T7 · "Girişe dön" — düğme kabuğu taşımaz, düz bir bağlantı gibi çizilir. */
.giris-geri{
  display:inline-flex; align-items:center; gap:var(--bosluk-8);
  min-height:44px; margin-bottom:var(--bosluk-16);
  padding:0; border:0; background:none;
  font-family:inherit; font-size:var(--yazi-13); font-weight:var(--agirlik-kalin);
  color:var(--metin-ikincil); cursor:pointer;
}

/* T8 · Yeni şifrenin CANLI kural listesi — beş kalem. Kanon bunu tek
   cümleye indirmişti (slot-1'in kendi kaydı: "beş kalemlik bir bileşeni
   tek cümleye indirmişim").
   ⚠ `-10px` üst pay kaynağın kendi değeri: liste kendi alanına yapışıyor. */
.sifre-kural{
  display:flex; flex-direction:column; gap:var(--bosluk-7);
  margin:-10px 0 var(--bosluk-22); padding:0; list-style:none;
}
.sifre-kural li{
  display:flex; align-items:center; gap:var(--bosluk-9);
  font-size:var(--yazi-12-5); line-height:var(--satir-govde);
  color:var(--metin-ikincil);
}
/* Kalem yazıldı, İKONU yazılmadı: daralınca eziliyor, punto şişiyordu. */
.sifre-kural li i{ flex:none; font-size:var(--yazi-12); line-height:1; }
/* 🔴 SAĞLANDI DURUMU YAZILMAMIŞTI. `kimlik-formu.js` yazdıkça `li.ok` takıyor ve
   ikonu `fa-solid fa-circle-check` yapıyordu, ama bu kurala karşılık gelen CSS
   hiç yoktu — renk sabit `--metin-ikincil` kalıyordu. Ölçüldü 2026-09-16 canlıda,
   "a → aA → aA1 → aA1! → aA1!aaaa" dizisiyle: beş adımın beşinde de
   `rgb(113,113,113)`. Kullanıcı "sağlandı" bilgisini yalnız ikon biçiminden
   çıkarmak zorundaydı. Dört markada da aynı eksikti.
   Renk uydurulmadı: kanonun kendi "sağlandı" rengi (`kanon-govde.css:3345`
   `.alan-yardim.tamam{color:var(--aksan-koyu)}`) alındı.
   ⚠ Sınıf adı `ok` — Diet/Fit/Gourmet üçünde de aynı. Eskiden burada `tamam`
   vardı; `kimlik-formu.js` ile birlikte değiştirildi, ikisi ayrışırsa kural
   SESSİZCE hiç uygulanmaz. */
.sifre-kural li.ok,
.sifre-kural li.ok i{ color:var(--aksan-koyu); }

/* T9 · "Giriş yapılamadı" bandı — kaynağın `.sbanner.reddedildi`si. */
/* 🔴 DURUM KAPISI YOKTU — kırmızı "Giriş yapılamadı" bandı hata yokken
   de ekranda duruyordu. Kaynağın `.sbanner`ı CSS'te `display:none`
   doğuyor. `.giris-hata` ile aynı aile (B37). */
.giris-serit{ display:none; }
.giris-serit.acik{
  display:flex; align-items:flex-start; gap:var(--bosluk-14);
  padding:var(--bosluk-16) var(--bosluk-18); margin:0 0 var(--bosluk-22);
  border-radius:var(--yuvarlak-lg);
  border:var(--cizgi-1) solid var(--tehlike-cizgi-yumusak);
  background:var(--tehlike-yikama);
}
.serit-ikon{
  display:grid; place-items:center; flex:none;
  width:42px; height:42px; border-radius:var(--yuvarlak-md);
  font-size:var(--yazi-17);
  background:var(--tehlike-yikama-2); color:var(--tehlike);
}
.serit-govde h4{
  display:flex; align-items:center; gap:var(--bosluk-9);
  margin:0 0 var(--bosluk-4);
  font-size:var(--yazi-15-5); font-weight:var(--agirlik-kalin);
  line-height:var(--satir-baslik);
}
.serit-govde p{
  margin:0; font-size:var(--yazi-13-5); line-height:var(--satir-genis);
  text-align:left; text-align-last:auto;    /* B36 */
}

/* T10 · Doğrulama panosunun eylem satırı. `.dogrula-durum` kaynakta
   kuralsız (yalın `<div>`) — ad basıldı, kural YAZILMADI (uydurma yok). */
.dogrula-eylemler{
  display:flex; flex-wrap:wrap; gap:var(--bosluk-10); margin:0 0 var(--bosluk-16);
}

/* T2 · BAŞARI DURUMU — dört panoda birden (kayit · sifre · yeni-sifre ·
   dogrula) ve kanonda hiç yoktu.
   ⚠ §7 `.bos-durum`a bakıp geçilmedi, ÖLÇÜLDÜ: o 40/24 dolgulu ve h4'ü
   15.5px; bu değil. */
/* 🔴 DOLGU DÜZELTİLDİ: 18/10 → 34/14. İlk ölçüm `querySelector`ın
   SAYFADAKİ İLK eşleşmesinden alınmıştı ve o blok hiçbir panoya ait
   değildi (öksüz `#fbSuccess`). Panoların gerçek değeri 34/14.
   ⚠ `.fs-top` turundaki dersin aynısı: **tek eşleşme aldığında hangi
   ÖRNEĞİ aldığını doğrula.** İki turda iki kez aynı hata. */
.giris-basari{
  display:none; text-align:center;
  padding:var(--bosluk-34) 0 var(--bosluk-14);
}
.giris-basari.acik{ display:block; }
.basari-tik{
  display:grid; place-items:center;
  width:56px; height:56px; margin:0 auto var(--bosluk-16);
  border-radius:var(--yuvarlak-daire); font-size:var(--yazi-22);
  background:var(--aksan-yikama); color:var(--aksan-koyu);
}
.giris-basari h4{
  margin:0 0 var(--bosluk-7);
  font-size:var(--yazi-18); font-weight:var(--agirlik-kalin);
  line-height:var(--satir-baslik);
}
.giris-basari p{
  margin:0 auto; max-width:374px;
  font-size:var(--yazi-13-5); line-height:var(--satir-genis);
  text-align:center; text-align-last:auto;
}
.giris-basari-notu{
  display:inline-flex; align-items:center; gap:var(--bosluk-8);
  margin-top:var(--bosluk-16);
  font-size:var(--yazi-12-5); line-height:var(--satir-govde);
  color:var(--metin-ikincil);
}
.giris-basari-notu i{ font-size:var(--yazi-12-5); color:var(--aksan); }


/* §61'in DAR EKRAN DALLARI — kaynağın İKİ medya bloğu birebir
   (`giris-v1.html:428-465`, render edilmiş DOM'la @390 doğrulandı).
   🔴 İlk yazımda yalnız ≤640 dalı vardı ve kırılma noktası 1180'di;
   kaynağınki 1024 ve tablet dalı bambaşka şeyler yapıyor. Ölçüm
   (slot-3) iki teşhisi birden çürüttü:
     · mobildeki iki dev aralık hatasının (−1286 · +1452) kökü
       `.giris-avantaj{display:none}` DEĞİL, `order` — kaynak dar
       ekranda KARTI ÖNE alıyor, kanonda pano üstte kalıyordu;
     · pano dar ekranda clamp yüksekliğini bırakıp içeriğine dönüyor.
   🔴 Blok §61'in bütün tanımlarından SONRA duruyor — `@media` özgüllük
   artırmaz, sıra belirler. */

/* ---- TABLET (≤1024) — tek kolon, KART ÖNDE, pano altta ------------- */
@media (max-width:1024px){
  .giris-duzen{ grid-template-columns:1fr; gap:var(--bosluk-20); }
  .giris-kart{ order:1; padding:var(--bosluk-28) var(--bosluk-26) var(--bosluk-30); }
  /* Pano sticky KALIR — kaynak onu static yapmıyor; sıra 2 olduğu için
     zaten kartın altında ve yapışması görünür bir yan etki üretmiyor.
     ⚠ Bu bir ÖLÜ BİLDİRİM ve kaynağın hâli basılıyor (bildirildi,
     düzeltilmedi) — `ray.top` kararının emsali. */
  .giris-pano{ order:2; height:auto; min-height:0; padding:var(--bosluk-30) var(--bosluk-28); }
  .giris-pano h2{ font-size:var(--yazi-29); }
  /* Dört avantaj maddesi dar ekranda GİZLENİR — kart öne çıksın diye. */
  .giris-avantaj{ display:none; }
}

/* ---- MOBİL (≤640) --------------------------------------------------- */
@media (max-width:640px){
  .giris-hero{ padding:var(--bosluk-74) 0 var(--bosluk-50); }
  .giris-hero .kirinti{ padding:var(--bosluk-14) 0 var(--bosluk-10); font-size:var(--yazi-12); }
  .giris-kart{ padding:var(--bosluk-22) var(--bosluk-18) var(--bosluk-26); border-radius:var(--yuvarlak-lg); }
  .giris-bas h1{ font-size:var(--yazi-22); }
  .sosyal-kolon{ grid-template-columns:1fr; }
  .giris-pano{ padding:var(--bosluk-24) var(--bosluk-20); border-radius:var(--yuvarlak-lg); }
  .giris-pano h2{ font-size:var(--yazi-24); }
  .giris-sayilar{ gap:var(--bosluk-22); margin-top:var(--bosluk-18); padding-top:var(--bosluk-16); }
  .giris-sayilar b{ font-size:var(--yazi-21); }
  .giris-satir{ flex-wrap:wrap; gap:var(--bosluk-10); }
}


/* ---- KABUĞUN DİL MENÜSÜ · KALEMLER ---------------------------------
   Kutu kabuğun gömülü dosyasından geliyor; kalem kuralları kanon menüyü
   düz bağlantıya indirdiğinde düşmüştü ve markup geri gelince ham tarayıcı
   düğmesi çizildi. Ölçüler kaynağın (`fit-shell.css`). */
.tb-lang-menu button{
  display:flex; align-items:center; gap:var(--bosluk-9);
  width:100%; text-align:left;
  padding:var(--bosluk-9) var(--bosluk-11);
  border:0; background:none; cursor:pointer; font-family:inherit;
  border-radius:var(--yuvarlak-sm);
  font-size:var(--yazi-13); font-weight:var(--agirlik-orta); color:var(--murekkep);
}
.tb-lang-menu button span{
  font-size:var(--yazi-12-5); font-weight:var(--agirlik-govde); color:var(--metin-ikincil);
}
.tb-lang-menu button:hover{ background:var(--aksan-yikama); color:var(--aksan-koyu); }
.tb-lang-menu button.active,
.tb-lang-menu button.active span{ color:var(--aksan-koyu); }
/* Seçili dili ayırt eden şey RENK DEĞİL, sağdaki onay işareti — kaynağın
   kendi kuralı; kanonda hiç yoktu ve iki kalem ayırt edilemiyordu. */
.tb-lang-menu button.active::after{
  content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900;
  margin-left:auto; font-size:var(--yazi-11);
}


/* ---- MOBİL ALT ÇUBUK · İKİ DÜZELTME --------------------------------
   Kabuğun kendi dosyası çubuğu getiriyor; iki bildirimi eksik.
   🔴 Dokunma hedefi 40 -> 44: kaynağın ölçüsü ve WCAG 2.5.8'in tabanı;
      kanonun §29 md.15 kararıyla (`.dugme{min-height:44px}`) aynı sayı. */
/* 🔴 `:not(.bn-center)` ZORUNLU — §0c/3'ün tuzağı. Düz `.bn-item{width:44px}`
   yazıldığında kabuğun `.bn-center{width:auto;height:auto}` varyantı EŞİT
   özgüllükte kalıyor, kanon SONRA yüklendiği için kazanıyor ve ortadaki
   52px'lik yüzen düğme 44'e iniyordu: çubuk 64 -> 56 düşüyordu (ölçüldü,
   gözle de görüldü). Yeni taban kuralı yazarken sorulacak soru: "bu kalemin
   bir VARYANTI var mı ve onu kapsıyor muyum?" */
.bn-item:not(.bn-center){ width:44px; height:44px; }
/* "Programlarım" slotu giriş yapılınca doğar — kaynağın kendi kuralı. */
.bn-item.bn-plan{ visibility:hidden; pointer-events:none; }


