/* ortak.css — panel geneli paylaşılan tasarım katmanı.
   KAYNAK: uygulama.css :root token seti + nötr bileşenler KOPYALANMIŞTIR.
   Editörün uygulama.css'i BUNA BAĞLANMAZ (regresyon riski sıfır); bu dosya
   yalnız landing / giris / pdf gibi YENİ sayfalarca yüklenir. Editörünkinden
   farkı: .btn burada açık zemin için NÖTR stillenmiştir (koyu appbar değil). */

:root{
  --bg:#eef0f3; --yuzey:#ffffff; --metin:#0f172a; --silik:#64748b;
  --kenar:#e2e8f0; --kenar2:#cbd5e1;
  --aks:#4f46e5; --aks-koyu:#4338ca; --aks-silik:#eef2ff;
  --vurgu:#0e7490; --vurgu-koyu:#155e75;
  --basari:#15803d; --basari-bg:#dcfce7;
  --hata:#b91c1c; --hata-bg:#fee2e2;
  --bilgi:#1e40af; --bilgi-bg:#dbeafe;
  --golge:0 1px 2px rgba(15,23,42,.06),0 4px 16px rgba(15,23,42,.06);
  --r:10px; --hiz:.16s;
  --appbar-h:56px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:var(--bg);color:var(--metin);
  -webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;
}
button{font:inherit;color:inherit}
a{color:var(--aks);text-decoration:none}
a:hover{text-decoration:underline}
/* KRİTİK: [hidden] her zaman gizlesin. .arac{display:flex} gibi author kuralları
   yoksa hidden'ı ezer (erişimi olmayan panel görünür kalırdı). */
[hidden]{display:none!important}

/* Üst ilerleme çubuğu (ortak) */
.ilerleme{position:fixed;inset:0 auto auto 0;height:3px;width:0;
  background:linear-gradient(90deg,var(--aks),var(--vurgu));
  z-index:60;transition:width .25s ease;opacity:0}
.ilerleme.aktif{opacity:1}

/* Buton — NÖTR (açık zemin). Editörün koyu .btn'inden bilinçli olarak farklı. */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  background:var(--yuzey);color:var(--metin);border:1px solid var(--kenar2);
  border-radius:9px;padding:10px 16px;font-size:14px;font-weight:600;
  min-height:42px;transition:background var(--hiz),border-color var(--hiz),transform var(--hiz);
  white-space:nowrap;user-select:none}
.btn:hover{background:var(--bg)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:2px solid var(--aks);outline-offset:2px}
.btn .ikon{width:18px;height:18px;flex:none}
.btn.birincil{background:var(--aks);border-color:var(--aks);color:#fff}
.btn.birincil:hover{background:var(--aks-koyu)}
.btn.vurgu{background:var(--vurgu);border-color:var(--vurgu);color:#fff}
.btn.vurgu:hover{background:var(--vurgu-koyu)}
.btn.tehlike{background:var(--hata);border-color:var(--hata);color:#fff}
.btn.blok{width:100%}
.btn[disabled],.btn.mesgul{opacity:.55;pointer-events:none}

/* Metin girişi (ortak form) */
.alan{width:100%;padding:11px 13px;border:1px solid var(--kenar2);border-radius:9px;
  font-size:15px;background:var(--yuzey);color:var(--metin)}
.alan:focus{outline:2px solid var(--aks);outline-offset:0}

/* Kart (landing/giris kabı) */
.kart{background:var(--yuzey);border:1px solid var(--kenar);border-radius:14px;
  box-shadow:var(--golge);padding:24px}

/* Toast */
.toastlar{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));
  transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;
  z-index:70;width:min(420px,92vw);pointer-events:none}
.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;
  padding:12px 14px;border-radius:10px;font-size:13.5px;line-height:1.45;
  box-shadow:var(--golge);background:var(--yuzey);border:1px solid var(--kenar);
  animation:gir .2s ease}
.toast .x{margin-left:auto;cursor:pointer;color:var(--silik);
  background:none;border:0;font-size:16px;line-height:1;padding:2px 4px}
.toast.basari{background:var(--basari-bg);border-color:#bbf7d0;color:var(--basari)}
.toast.hata{background:var(--hata-bg);border-color:#fecaca;color:var(--hata)}
.toast.bilgi{background:var(--bilgi-bg);border-color:#bfdbfe;color:var(--bilgi)}
@keyframes gir{from{opacity:0;transform:translateY(8px)}to{opacity:1}}

/* Modal */
.modal-kat{position:fixed;inset:0;background:rgba(15,23,42,.5);
  display:flex;align-items:center;justify-content:center;padding:18px;
  z-index:80;backdrop-filter:blur(2px)}
.modal-kat.gizli{display:none}
.modal{background:var(--yuzey);border-radius:14px;width:min(440px,100%);
  padding:22px;box-shadow:0 20px 50px rgba(15,23,42,.25);animation:gir .18s ease}
.modal-baslik{font-size:17px;font-weight:650;margin-bottom:12px}
.modal-govde{font-size:14px;color:var(--metin);line-height:1.55}
.modal-govde input[type=text]{width:100%;margin-top:10px;padding:11px 13px;
  border:1px solid var(--kenar2);border-radius:9px;font-size:15px}
.modal-govde input:focus{outline:2px solid var(--aks);outline-offset:0}
.modal-aksiyon{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.mbtn{padding:10px 16px;border-radius:9px;border:1px solid var(--kenar2);
  background:var(--yuzey);cursor:pointer;font-size:14px;font-weight:550}
.mbtn:hover{background:var(--bg)}
.mbtn.birincil{background:var(--aks);border-color:var(--aks);color:#fff}
.mbtn.birincil:hover{background:var(--aks-koyu)}
.mbtn.tehlike{background:var(--hata);border-color:var(--hata);color:#fff}

/* Rozet */
.rozet{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px}
.rozet.ko{background:var(--hata-bg);color:var(--hata)}
.rozet.ok{background:var(--basari-bg);color:var(--basari)}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
