/*
 * Form yardimcisi stilleri -- TEK KAYNAK (1 Eki 2026, Emre'nin toplu is listesi 1, 3, 4, 8). Davranis: static/js/form_yardim.js.
 * base.html'den butun sayfalara yuklenir (ana.css'ten SONRA: ayni oncelikteki kurallari ezer).
 */

/* Ekranda gorunmeyen, ekran okuyucunun okudugu metin (kontrol listesindeki "tamam / henuz degil") */
.gorunmez-metin{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 1. Sifre goz dugmesi: alanin sag icinde, dokunma alani 44 px ---------- */
.sifre-kutu{position:relative;display:block;width:100%;min-width:0}
.sifre-kutu>input{width:100%;padding-right:52px !important}
.sifre-goz{position:absolute;top:50%;right:3px;transform:translateY(-50%);width:44px;height:44px;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;
  border:0;border-radius:10px;background:transparent;color:var(--soluk);cursor:pointer;-webkit-tap-highlight-color:transparent}
.sifre-goz:hover{color:var(--murekkep);background:color-mix(in srgb,var(--murekkep) 6%,transparent)}
.sifre-goz:focus-visible{outline:2px solid var(--vurgu);outline-offset:-3px}
.sifre-goz[aria-pressed="true"]{color:var(--lacivert,var(--murekkep))}
.sifre-goz svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Edge'in kendi goz dugmesi ikinci kez cikmasin */
input::-ms-reveal,input::-ms-clear{display:none}

/* ---------- 2. Canli sifre kontrol listesi: yazarken yesile doner ---------- */
.sifre-kontrol{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;line-height:1.3;color:var(--soluk)}
.sifre-kontrol[hidden]{display:none}
.sifre-kontrol li{display:inline-flex;align-items:center;gap:7px;transition:color .15s ease}
.sifre-kontrol li::before{content:"";flex:none;width:16px;height:16px;box-sizing:border-box;border:1.5px solid currentColor;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;opacity:.75}
.sifre-kontrol li.tamam{color:var(--tamam);font-weight:600}
.sifre-kontrol li.tamam::before{content:"✓";background:var(--tamam);border-color:var(--tamam);color:var(--yuzey);opacity:1}
@media (prefers-reduced-motion:reduce){.sifre-kontrol li{transition:none}}

/* ---------- 3. Eksik / hatali alan KIRMIZI (sunucu hatasiyla ayni gorunum: .alan-hatali, .alan-hata ana.css) ----------
   Odaktayken de kirmizi kalir: onceden odak kurali zemini beyaza, halkayi maviye ceviriyordu ("mavi kenar anlasilmiyor"). */
.alan-hatali,.alan-hatali:focus,.alan-hatali:hover{border-color:var(--kritik) !important;background-color:var(--kritik-z) !important}
.alan-hatali:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--kritik) 28%,transparent) !important;outline:none}
input[type=checkbox].alan-hatali{outline:2px solid var(--kritik);outline-offset:2px;accent-color:var(--kritik)}
input[type=radio].alan-hatali{accent-color:var(--kritik)}
/* Hap seklindeki secenekler (Rol, Evet/Hayir): hapin kendisi kirmizi */
.kpt-radio label:has(>input.alan-hatali){border-color:var(--kritik) !important;background:var(--kritik-z) !important;color:var(--kritik)}
.onay-hatali,.onay-hatali a{color:var(--kritik)}
.onay-hatali+.alan-hata{margin-top:-6px}
.sifre-kutu+.alan-hata,.alan>.alan-hata{margin-top:2px}

/* ---------- 4. Logo alani: "Logo Yükle" dugmesi + onizleme (Firma Bilgileri) ---------- */
.dosya-gizli{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dosya-gizli:focus-visible+.dosya-dugme{outline:2px solid var(--vurgu);outline-offset:2px}
.dosya-dugme{cursor:pointer;gap:8px;min-height:44px;padding-inline:16px}
.dosya-dugme svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.logo-alani{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
/* Damali zemin: seffaf logonun seffaf kaldigi gorulsun */
.logo-onizleme{flex:none;display:flex;align-items:center;justify-content:center;width:220px;max-width:100%;height:96px;padding:10px;box-sizing:border-box;
  border:1px dashed var(--cizgi-alan,var(--cizgi));border-radius:14px;
  background:repeating-conic-gradient(color-mix(in srgb,var(--murekkep) 7%,transparent) 0 25%,transparent 0 50%) 50%/16px 16px,var(--yuzey)}
.logo-onizleme img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.logo-onizleme .logo-bos{font-size:13px;color:var(--soluk);text-align:center}
.logo-dugmeler{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
.logo-dugmeler .kucult-uyari{flex-basis:100%;margin:0}
.dosya-adi{margin:8px 0 0;overflow-wrap:anywhere}
