/* Portal sayfaları: müşteri teklif sayfası (/t/...) + yönetim paneli.
   Renkler style.css değişkenlerinden; açık/koyu tema otomatik. */

:root { --bilgi: #2f5f9a; }
@media (prefers-color-scheme: dark) { :root { --bilgi: #8cb4e8; } }

[hidden] { display: none !important; }

.kap.genis { max-width: 1280px; }
.sayfa { padding-top: 26px; padding-bottom: 80px; }
.yukleniyor { color: var(--muted); padding: 48px 0; }
.soluk { color: var(--muted); }
.kucuk-yazi { font-size: 13px; }
.kotu { color: var(--bad); }

.panel {
  background: var(--panel); border: 1px solid var(--line); border-radius: 12px;
  padding: 22px 24px; margin: 0 0 18px; box-shadow: var(--shadow);
}
.panel > h2 { font-size: 17px; margin: 0 0 14px; letter-spacing: -.01em; }
.alt-baslik {
  font-size: 12px; margin: 24px 0 10px; color: var(--muted);
  text-transform: uppercase; letter-spacing: .1em;
}

button.kucuk { min-height: 34px; padding: 6px 12px; font-size: 13px; }   /* dokunma hedefi ≥ 34 px */
button.tehlike { background: var(--bad); border-color: var(--bad); color: #fff; }
button.ikincil.tehlike-cizgi { color: var(--bad); }
button:disabled { opacity: .5; cursor: not-allowed; filter: none; }
.dugmeler { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 12px 0 0; }
.islem-durum { font-size: 13.5px; color: var(--muted); margin: 8px 0 0; }
.islem-durum:empty { display: none; }

/* ---------- üst bilgi + durum ---------- */

.talep-ust { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin: 4px 0 18px; }
.talep-ust h1 { font-size: clamp(22px, 4vw, 30px); line-height: 1.2; margin: 8px 0 4px; letter-spacing: -.02em; }
.talep-ust p { margin: 0; font-size: 14px; }
.talep-no {
  display: inline-block; font: 600 12.5px/1 ui-monospace, SFMono-Regular, Consolas, monospace;
  color: var(--accent); background: var(--accent-soft); border: 1px solid var(--line);
  border-radius: 6px; padding: 4px 8px;
}

.durum-rozet {
  font-size: 12px; font-weight: 700; white-space: nowrap; border-radius: 20px; padding: 4px 10px;
  border: 1px solid currentColor; color: var(--muted); background: var(--panel);
}
.durum-rozet.d-talep, .durum-rozet.d-dosya_onayi { color: var(--accent); }
.durum-rozet.d-fiyatlandirma, .durum-rozet.d-revizyon { color: var(--uyari); }
.durum-rozet.d-teklif_gonderildi, .durum-rozet.d-goruldu { color: var(--bilgi); }
.durum-rozet.d-kabul { color: var(--ok); }
.durum-rozet.d-red { color: var(--bad); }

.adimlar {
  list-style: none; margin: 0 0 18px; padding: 0;
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; counter-reset: adim;
}
.adimlar li {
  padding: 9px 4px 0; font-size: 12.5px; color: var(--muted);
  border-top: 3px solid var(--line); overflow-wrap: anywhere; hyphens: auto;
}
.adimlar li::before { counter-increment: adim; content: counter(adim) " "; font-weight: 700; }
.adimlar li.bitti { border-color: var(--ok); color: var(--ink); }
.adimlar li.bitti::before { content: "✓ "; color: var(--ok); }
.adimlar li.simdi { border-color: var(--accent); color: var(--ink); font-weight: 700; }
.adimlar.iptal li { opacity: .55; text-decoration: line-through; }

.durum-mesaji {
  font-size: 15.5px; margin: 0 0 14px; padding: 14px 18px; border-radius: 10px;
  background: var(--accent-soft); border: 1px solid var(--line);
}
.bildirim { border-radius: 10px; padding: 12px 16px; margin: 0 0 14px; font-weight: 600; border: 1px solid var(--line); }
.bildirim.tamam { color: var(--ok); background: color-mix(in srgb, var(--ok) 9%, var(--panel)); }
.bildirim.hata { color: var(--bad); background: color-mix(in srgb, var(--bad) 9%, var(--panel)); }

.baglanti-not {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-size: 13.5px; color: var(--muted); margin: 0 0 18px;
}
.baglanti-kutu h3 { margin: 0 0 6px; }
.baglanti-kutu .uyari-serit { margin: 0 0 12px; }

/* ---------- dosyalar ---------- */

.dosya-listesi { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.dosya-listesi li {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 12px; align-items: center;
  padding: 8px 12px; border-bottom: 1px solid var(--line); font-size: 14px;
}
.dosya-listesi li:last-child { border-bottom: 0; }
.dosya-tur {
  font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--accent); background: var(--accent-soft); border-radius: 5px; padding: 2px 7px;
}
.dosya-ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yukleme { margin: 14px 0 0; padding: 14px; border: 1.5px dashed var(--line); border-radius: 10px; background: var(--bg); }
.yukleme-satir { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.yukleme-satir input[type="file"] { flex: 1 1 240px; width: auto; border: 0; padding: 8px 0; background: none; }
.yukleme .soluk { margin: 8px 0 0; }

/* ---------- önizleme ---------- */

.onz-cubuk { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
.onz-secim { display: inline-flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--bg); }
.onz-secim button {
  min-height: 34px; background: transparent; color: var(--ink); border: 0; border-right: 1px solid var(--line);
  border-radius: 0; padding: 6px 14px; font-size: 13.5px; font-weight: 600;
}
.onz-secim button:last-child { border-right: 0; }
.onz-secim button:hover { filter: none; background: var(--accent-soft); }
.onz-secim button[aria-pressed="true"] { background: var(--accent); color: var(--accent-ink); }
.onz-secim.yak { margin-left: auto; }
.onz-tuval {
  position: relative; height: min(62vh, 560px); min-height: 280px;
  border-radius: 12px; overflow: hidden; background: #15181d; border: 1px solid var(--line);
}
/* width: 100% — oran + en fazla yükseklik birlikte genişliği de kısmasın (alan hep tam genişlik) */
.onz-tuval.oranli { width: 100%; height: auto; min-height: 200px; max-height: min(62vh, 560px); }   /* oran onizleme.js'ten */
/* 3D model görünümü (model3d.js) */
.onz-tuval.model-kap { width: 100%; height: auto; aspect-ratio: 4 / 3; min-height: 220px; max-height: min(62vh, 560px); }
.model-tuval { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; }
.model-tuval.suruklen { cursor: grabbing; }
.model-sec { margin: 0 0 10px; }
.kart-tuval { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; }
.kart-tuval.suruklen { cursor: grabbing; }
.onz-konum {
  position: absolute; left: 10px; bottom: 8px; pointer-events: none;
  font: 12px ui-monospace, SFMono-Regular, Consolas, monospace; color: #d4dbe3;
  background: rgba(0, 0, 0, .5); padding: 2px 8px; border-radius: 6px;
}
.onz-konum:empty { display: none; }
.kart-ipucu {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  padding: 16px; text-align: center; font-size: 15px; font-weight: 600; color: #fff;
  background: rgba(0, 0, 0, .55); opacity: 0; pointer-events: none; transition: opacity .2s;
}
.kart-ipucu.gorunur { opacity: 1; }
.onz-durum {
  margin: 0; padding: 70px 16px; text-align: center; color: var(--muted);
  background: var(--bg); border: 1px dashed var(--line); border-radius: 12px;
}
.onz-bos { color: var(--muted); margin: 0; }
.onz-not { font-size: 13px; color: var(--muted); margin: 0 0 10px; }
.onz-ipucu { font-size: 12.5px; color: var(--muted); margin: 8px 0 0; }
.onz-bilgi { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 0; }
.onz-cip { font-size: 13px; font-weight: 600; background: var(--bg-alt); border: 1px solid var(--line); border-radius: 20px; padding: 4px 12px; overflow-wrap: anywhere; }
.onz-uyarilar, .onz-kontrol { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; }
.onz-uyarilar li {
  font-size: 13.5px; padding: 8px 12px; border-radius: 0 8px 8px 0;
  border-left: 3px solid var(--uyari); background: var(--accent-soft);
}
.onz-kontrol li { position: relative; font-size: 13.5px; padding: 8px 12px 8px 32px; border: 1px solid var(--line); border-radius: 8px; }
.onz-kontrol li::before { position: absolute; left: 12px; font-weight: 700; }
.onz-kontrol li.tamam::before { content: "✓"; color: var(--ok); }
.onz-kontrol li.uyari { border-color: var(--uyari); }
.onz-kontrol li.uyari::before { content: "!"; color: var(--uyari); }
.onz-katmanlar { margin: 14px 0 0; border: 1px solid var(--line); border-radius: 10px; }
.onz-katmanlar > summary { cursor: pointer; padding: 10px 14px; font-weight: 600; font-size: 14px; }
.onz-liste { list-style: none; margin: 0; padding: 0; }
.onz-liste li {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px;
  padding: 7px 14px; border-top: 1px solid var(--line); font-size: 13.5px;
}
.onz-liste li.soluk { opacity: .6; }
.onz-liste label { display: inline-flex; align-items: center; gap: 8px; min-width: 200px; cursor: pointer; }
.onz-liste input[type="checkbox"] { accent-color: var(--accent); }
.onz-liste select { width: auto; padding: 3px 8px; font-size: 13px; }
.onz-renk { width: 12px; height: 12px; border-radius: 3px; border: 1px solid rgba(0, 0, 0, .25); flex: none; }
.onz-dosya { font: 12.5px ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.onz-kaynak, .onz-ek { font-size: 12px; color: var(--muted); }
.onz-ek { font-style: italic; }

/* ---------- onay ---------- */

.onay { margin: 18px 0 0; padding: 16px 18px; border: 1px solid var(--accent); border-radius: 12px; background: var(--accent-soft); }
.onay-etiket { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; cursor: pointer; }
.onay-etiket input { width: 18px; height: 18px; margin-top: 3px; flex: none; accent-color: var(--accent); }
.onay .soluk { margin: 8px 0 12px; }
.onay-katmanlar { margin: 10px 0 0; padding-left: 18px; font-size: 14px; }

/* ---------- teklif ---------- */

.tablo-kap { overflow-x: auto; }
.kalemler { width: 100%; border-collapse: collapse; font-size: 14px; }
.kalemler th {
  text-align: left; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--muted); padding: 8px 10px; border-bottom: 1px solid var(--line); white-space: nowrap;
}
.kalemler td { padding: 9px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.kalemler .sayi { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.kalemler tfoot td { border-bottom: 0; font-weight: 700; font-size: 15px; }
.surum { font-size: 12px; font-weight: 600; color: var(--muted); }
.teklif-alt { font-size: 14px; margin: 12px 0 0; }
.teklif-not { white-space: pre-wrap; font-size: 14px; background: var(--bg-alt); border-radius: 8px; padding: 10px 14px; }
p.teklif-not { margin: 10px 0 0; }
.yanit { margin: 16px 0 0; }
.yanit .uyari-serit { margin: 0 0 12px; }
.yanit-panel { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; }
.yanit-panel p { margin: 0 0 8px; font-weight: 600; }

/* ---------- talep ayrıntısı ---------- */

.talep-detay > summary { cursor: pointer; font-weight: 700; padding: 6px 0; }   /* dokunma hedefi ≥ 34 px */
.form-tablo { width: 100%; border-collapse: collapse; font-size: 14px; margin: 12px 0 0; }
.form-tablo td { padding: 7px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.form-tablo tr:last-child td { border-bottom: 0; }
.form-tablo td:first-child { color: var(--muted); width: 38%; }
.aciklama-metni { white-space: pre-wrap; font-size: 14.5px; margin: 0 0 8px; }
.bos-sayfa { text-align: center; padding: 48px 24px; }
.bos-sayfa h1 { margin: 0 0 12px; }

/* ---------- yönetim ---------- */

.marka-ek { font-weight: 400; color: var(--muted); }
.giris-kart { max-width: 380px; margin: 64px auto; display: grid; gap: 6px; }
.giris-kart h1 { font-size: 22px; margin: 0 0 10px; }
.giris-kart button { margin-top: 12px; }

/* ---------- iki adımlı giriş + Hesap (K33) ---------- */
.bildirim.uyari { color: var(--uyari); background: color-mix(in srgb, var(--uyari) 10%, var(--panel)); display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
#ust-uyari:empty { display: none; }
#ust-uyari { padding-top: 14px; }
#ust-uyari .bildirim { margin: 0; }
.kod-girdi { font: 600 22px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .3em; text-align: center; }
.kurulum-kart { max-width: 420px; }
.kurulum-adim { margin: 0 0 6px; padding-left: 20px; font-size: 14px; display: grid; gap: 4px; }
.qr { display: block; width: 200px; height: 200px; max-width: 100%; margin: 8px auto; padding: 10px; background: #fff; border-radius: 10px; box-sizing: content-box; }
.elle-anahtar { font-size: 13.5px; margin: 0 0 6px; }
.elle-anahtar > summary { cursor: pointer; min-height: 34px; display: flex; align-items: center; color: var(--accent); }
.elle-anahtar code { display: block; padding: 8px 10px; border-radius: 8px; background: var(--bg-alt); font-size: 14px; letter-spacing: .06em; overflow-wrap: anywhere; }
.yedek-kutu { display: grid; gap: 8px; margin: 6px 0; }
.yedek-kodlar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.yedek-kodlar code { display: block; padding: 7px 8px; border-radius: 6px; background: var(--bg-alt); text-align: center; font-size: 15px; letter-spacing: .08em; }
.yedek-kutu .dugmeler { margin: 0; }
/* ---------- Ürünler (K34) ---------- */
.ur-ekran { padding: 20px 0 60px; display: grid; gap: 14px; }
.ur-ekran > h1 { font-size: 22px; margin: 0; overflow-wrap: anywhere; }
.ur-ekran > button { justify-self: start; }
.ur-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ur-satir {
  display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center;
  padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel);
}
.ur-kucuk {
  width: 64px; height: 64px; border-radius: 10px; overflow: hidden; display: grid; place-items: center;
  background: var(--bg-alt); color: var(--muted); font-weight: 700; font-size: 22px;
}
.ur-kucuk img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ur-ozet { display: grid; gap: 2px; min-width: 0; }
.ur-ozet b { overflow-wrap: anywhere; }
.ur-ozet .soluk { overflow-wrap: anywhere; }
.ur-yayinda { color: var(--ok); font-weight: 600; }
.ur-gizli { color: var(--muted); font-weight: 600; }
.ur-dugmeler { padding-top: 0; max-width: none; }
.ur-duzenle { display: grid; gap: 0; }
.ur-duzenle .panel > h2 { margin-bottom: 12px; }
.ur-duzenle .ic-kutu { margin-top: 10px; }
.ur-gorseller { list-style: none; margin: 8px 0 14px; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.ur-gorsel { position: relative; display: grid; gap: 6px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); }
.ur-gorsel > img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; border-radius: 6px; background: var(--bg-alt); display: block; }
.ur-sira { justify-self: start; font-size: 12px; font-weight: 700; padding: 3px 8px; border-radius: 999px; background: var(--bg-alt); color: var(--muted); }
.ur-sira.ur-kapak { background: var(--accent); color: var(--accent-ink); }
.ur-gorsel .ic-oge-dugmeler { justify-content: flex-start; padding-top: 0; max-width: none; }
.ur-kaydet { margin: 4px 0 0; }
/* K36: reklam ölçümü kartı (Ürünler ekranının altında, kapalı gelir) */
.ur-reklam { margin-top: 22px; }
.ur-reklam > summary { display: flex; align-items: center; min-height: 34px; cursor: pointer; font-weight: 700; font-size: 17px; }
.ur-reklam form { margin-top: 10px; }
@media (max-width: 760px) {
  .ur-satir { grid-template-columns: 56px minmax(0, 1fr); }
  .ur-kucuk { width: 56px; height: 56px; }
  .ur-dugmeler { grid-column: 1 / -1; justify-content: flex-start; }
  .ur-gorseller { grid-template-columns: minmax(0, 1fr); }
}

.hesap-ekran { max-width: 760px; padding: 20px 0 60px; }
.hesap-ekran > h1 { font-size: 22px; margin: 0 0 14px; }
.hesap-ekran .kurulum-kart { margin: 16px 0 0; }
/* K35: bildirim adres listesi */
.bl-adresler { list-style: none; margin: 12px 0 6px; padding: 0; display: grid; gap: 8px; }
.bl-adresler li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.bl-adresler input { min-width: 0; }
.bl-deneme { margin-top: 10px; }
.bl-deneme p { margin: 0 0 4px; }
.bl-deneme ul { margin: 0; padding-left: 18px; font-size: 14px; }
.bl-deneme li { overflow-wrap: anywhere; }
.bl-adres { font-weight: 600; }
.bl-gonderildi { color: var(--ok); }
.bl-vazgecildi { color: var(--bad); }

.yonetim { display: grid; grid-template-columns: minmax(290px, 370px) minmax(0, 1fr); gap: 20px; align-items: start; padding: 20px 0 60px; }
.liste-kap {
  position: sticky; top: 76px; max-height: calc(100vh - 92px); overflow: auto;
  background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 12px; box-shadow: var(--shadow);
}
.liste-ust { display: flex; gap: 8px; }
.liste-ust input { flex: 1; }
.filtreler { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.filtreler button {
  min-height: 34px; background: var(--bg); color: var(--ink); border: 1px solid var(--line);
  padding: 6px 12px; font-size: 12.5px; border-radius: 20px;
}
.filtreler button:hover { border-color: var(--accent); filter: none; }
.filtreler button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.sayi-cip { margin-left: 6px; font-weight: 400; opacity: .8; }
.talep-listesi { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.talep-oge {
  width: 100%; text-align: left; display: grid; gap: 3px;
  background: var(--bg); color: var(--ink); border: 1px solid var(--line); border-radius: 10px;
  padding: 10px 12px; font-size: 14px; font-weight: 400;
}
.talep-oge:hover { border-color: var(--accent); filter: none; }
.talep-oge.secili { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }
.oge-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.oge-baslik { font-weight: 600; }
.oge-alt { font-size: 12.5px; color: var(--muted); }
.bos-liste, .bos-detay { padding: 24px 8px; text-align: center; }
.detay-kap { min-width: 0; padding: 0; }          /* genel section boşluğu burada yok: liste ile aynı hizada */
.detay-kap > .dugmeler { margin: 0 0 16px; }
.geri-dugme { display: none; margin: 0 0 10px; }
.baglanti-sonuc { margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--accent); border-radius: 10px; }
.baglanti-sonuc p { margin: 0; font-size: 14px; }
.baglanti-metin {
  display: block; margin: 8px 0; padding: 8px 10px; border-radius: 8px; background: var(--bg-alt);
  font-size: 12.5px; overflow-wrap: anywhere;
}
.bilgi-listesi { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 16px; margin: 0; font-size: 14.5px; }
.bilgi-listesi dt { color: var(--muted); }
.bilgi-listesi dd { margin: 0; overflow-wrap: anywhere; }
.teklif-kart { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; margin: 0 0 12px; }
.teklif-kart.taslak { border-style: dashed; border-color: var(--uyari); }
.teklif-kart header { display: flex; gap: 6px; align-items: baseline; flex-wrap: wrap; margin: 0 0 8px; }
.teklif-toplam { margin-left: auto; font-weight: 700; }
.teklif-formu { margin: 18px 0 0; padding: 16px; border: 1px solid var(--accent); border-radius: 12px; }
.teklif-formu h3 { margin: 0 0 10px; font-size: 15px; }
.teklif-formu .alanlar { margin: 14px 0 0; }
.kalemler.duzenle td { padding: 5px 4px; }
.kalemler.duzenle input { padding: 6px 8px; font-size: 13.5px; }
.kalemler.duzenle td:nth-child(2), .kalemler.duzenle td:nth-child(3), .kalemler.duzenle td:nth-child(4) { width: 112px; }
.dosya-listesi li.silindi .dosya-ad { text-decoration: line-through; color: var(--muted); }
.eposta-listesi { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13.5px; }
.eposta-listesi li { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.ep-durum { font-size: 12.5px; font-weight: 600; color: var(--muted); }
.ep-gonderildi .ep-durum { color: var(--ok); }
.ep-bekliyor .ep-durum { color: var(--uyari); }
.ep-vazgecildi .ep-durum, .ep-hata { color: var(--bad); }
.ep-hata { font-size: 12.5px; flex-basis: 100%; }
.olaylar { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13.5px; }
.olaylar li { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 10px; }
.olaylar time { color: var(--muted); font-variant-numeric: tabular-nums; }

/* ---------- yönetim üst menüsü + İçerik ekranı (K31) ---------- */

#ust-nav { gap: 8px; align-items: center; flex-wrap: wrap; }
#ust-nav button[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); }
#ust-cikis { display: contents; }
/* yanıt bekleyen talep sayısı */
.nav-rozet {
  display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; margin-left: 6px;
  border-radius: 10px; background: var(--accent); color: var(--bg); font-size: 12px; font-weight: 700; line-height: 1;
}
.nav-rozet[hidden] { display: none; }
/* telefonda: bölümler altta sekme çubuğu (başparmak erişimi), Çıkış üstte kalır */
@media (max-width: 760px) {
  body.alt-nav { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  /* backdrop-filter, içindeki fixed öğeyi başlığa bağlar: alt çubuk ekrana göre dursun diye kapalı */
  body.alt-nav .ustmenu { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--bg); }
  body.alt-nav #ust-nav {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; width: auto;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px;
    padding: 6px 8px max(6px, env(safe-area-inset-bottom));
    background: var(--panel); border-top: 1px solid var(--line); box-shadow: 0 -6px 18px rgb(0 0 0 / .18);
  }
  body.alt-nav #ust-nav button {
    position: relative; display: grid; justify-items: center; align-content: center; gap: 3px;
    min-height: 54px; padding: 4px 2px; border: 0; border-radius: 10px; background: none;
    font-size: 12.5px; color: var(--muted); filter: none;
  }
  body.alt-nav #ust-nav button[aria-pressed="true"] { color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }
  body.alt-nav #ust-nav button::before {
    content: ''; width: 22px; height: 22px; background: currentColor;
    -webkit-mask: var(--ikon) center / contain no-repeat; mask: var(--ikon) center / contain no-repeat;
  }
  #ust-nav button[data-ikon="talepler"] { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13h4l2 3h4l2-3h4'/%3E%3Cpath d='M6 5h12l2 8v6H4v-6z'/%3E%3C/svg%3E"); }
  #ust-nav button[data-ikon="urunler"] { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7l9-4 9 4-9 4z'/%3E%3Cpath d='M3 7v10l9 4 9-4V7'/%3E%3Cpath d='M12 11v10'/%3E%3C/svg%3E"); }
  #ust-nav button[data-ikon="icerik"] { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='M13 7l4 4'/%3E%3C/svg%3E"); }
  #ust-nav button[data-ikon="hesap"] { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1-4 4-6 8-6s7 2 8 6'/%3E%3C/svg%3E"); }
  body.alt-nav .nav-rozet { position: absolute; top: 3px; left: calc(50% + 6px); margin: 0; }
}
.ic-ekran { padding: 20px 0 60px; display: grid; gap: 14px; }
.ic-ust h1 { font-size: 22px; margin: 0; letter-spacing: -.01em; }
.ic-ust p { margin: 4px 0 0; font-size: 14px; }
.ic-arac { display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: center; justify-content: space-between; }
/* bütün sayfalarda arama: sonuca dokun → sekme açılır, bölge öne gelir */
.ic-sonuclar { display: grid; gap: 6px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); max-height: 50vh; overflow-y: auto; }
.ic-sonuclar p { margin: 0; }
.ic-sonuc {
  display: grid; gap: 2px; width: 100%; min-height: 44px; padding: 8px 12px; text-align: left;
  background: var(--bg); color: var(--ink); border: 1px solid var(--line); border-radius: 8px; font: inherit; font-size: 14px; font-weight: 400;
}
.ic-sonuc:hover { border-color: var(--accent); filter: none; }
.ic-sonuc-yer { font-size: 12.5px; font-weight: 600; color: var(--accent); overflow-wrap: anywhere; }
.ic-sonuc-metin { color: var(--muted); overflow-wrap: anywhere; }
.ic-bolge.bulundu { outline: 2px solid var(--accent); outline-offset: 6px; border-radius: 6px; }
.ic-sekmeler { margin: 0; }
.ic-sayfa-ac { display: inline-flex; align-items: center; min-height: 34px; font-size: 14px; }
.panel.ic-bolum { padding: 0; }
.ic-bolum > summary {
  display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; min-height: 50px;
  padding: 10px 20px; cursor: pointer; font-weight: 700; font-size: 15px;
}
.ic-bolum[open] > summary { border-bottom: 1px solid var(--line); }
.ic-sayac { font-size: 12.5px; font-weight: 600; color: var(--accent); }
.ic-bolum-govde { padding: 0 20px 16px; }
.ic-bolge { display: grid; gap: 10px; padding: 16px 0 4px; }
.ic-bolge + .ic-bolge { border-top: 1px dashed var(--line); }
.ic-bolge.kirli .ic-ad::after { content: " •"; color: var(--uyari); }
.ic-bolge-bas { display: flex; flex-wrap: wrap; gap: 2px 12px; align-items: baseline; }
.ic-ad { font-weight: 700; font-size: 14.5px; }
.ic-durum { font-size: 12.5px; color: var(--muted); }
.ic-durum.degisti { color: var(--accent); font-weight: 600; }
.ic-liste { display: grid; gap: 8px; justify-items: start; }
.ic-ogeler { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; width: 100%; }
.ic-oge {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; align-items: start;
  padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg);
}
.ic-sol { display: grid; gap: 6px; min-width: 0; }
.ic-alanlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 12px; }
.ic-alanlar.kart { grid-template-columns: repeat(2, minmax(0, 1fr)); }     /* başlık | etiketler, altta açıklama */
.ic-alanlar.dikey { grid-template-columns: minmax(0, 1fr); }
.ic-alan { display: grid; gap: 4px; min-width: 0; font-size: 12.5px; color: var(--muted); }
.ic-alan.genis { grid-column: 1 / -1; }
.ic-bolge textarea { min-height: 64px; max-height: 260px; field-sizing: content; }   /* metin sığdığı kadar uzar */
.ic-secimler { display: flex; flex-wrap: wrap; gap: 0 18px; }
.ic-kutu { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; font-size: 13.5px; cursor: pointer; }
.ic-kutu input { width: 18px; height: 18px; margin: 0; flex: none; accent-color: var(--accent); }
.ic-oge-dugmeler {
  display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: flex-end;
  max-width: 250px; padding-top: 18px;          /* alan etiketinin altında, girişle aynı hizada */
}
.ic-kilit { font-size: 12px; color: var(--muted); }
.ic-ipucu { margin: 0; font-size: 12.5px; color: var(--muted); }
.ic-dugmeler { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ic-bolge .islem-durum { margin: 0; }
.islem-durum.hata { color: var(--bad); font-weight: 600; }

@media (max-width: 900px) {
  .yonetim { grid-template-columns: minmax(0, 1fr); }
  .liste-kap { position: static; max-height: none; }
  body.detay-acik .liste-kap { display: none; }
  body:not(.detay-acik) .detay-kap { display: none; }
  .geri-dugme { display: inline-block; }
  .olaylar li { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

/* ≤ 760 px: tablo yok — her satır bir kart, hücreler "etiket: değer" (genel mobil kuralı) */
@media (max-width: 760px) {
  .kalemler, .kalemler tbody, .kalemler tfoot { display: block; }
  .kalemler thead { display: none; }
  .kalemler tbody tr {
    display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px;
    padding: 10px 0; border-bottom: 1px solid var(--line);
  }
  .kalemler tbody td { display: block; border: 0; padding: 0; text-align: left; }
  .kalemler tbody td:first-child { grid-column: 1 / -1; font-weight: 600; overflow-wrap: anywhere; }
  .kalemler tbody td[data-etiket]::before { content: attr(data-etiket) " "; color: var(--muted); font-size: 12px; }
  .kalemler tfoot tr { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .kalemler tfoot td { display: block; padding: 10px 0; border: 0; }
  /* yönetim: teklif düzenleme — açıklama tam satır, altında adet / fiyat / iskonto, sonra tutar + sil */
  .kalemler.duzenle tbody tr { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .kalemler.duzenle tbody td { width: auto !important; }
  .kalemler.duzenle tbody td:first-child { font-weight: 400; }
  .kalemler.duzenle tbody td[data-etiket]::before { display: block; margin-bottom: 2px; }
  .kalemler.duzenle input { font-size: 16px; }    /* iPhone 16 px altındaki alanda sayfayı büyütür */
  .kalemler.duzenle td.k-tutar { grid-column: 1 / 3; align-self: center; font-weight: 600; }
  .kalemler.duzenle tbody td:last-child { justify-self: end; align-self: center; }
  .form-tablo, .form-tablo tbody, .form-tablo tr, .form-tablo td { display: block; width: auto; }
  .form-tablo tr { padding: 7px 0; border-bottom: 1px solid var(--line); }
  .form-tablo tr:last-child { border-bottom: 0; }
  .form-tablo td, .form-tablo td:first-child { width: auto; padding: 0; border: 0; overflow-wrap: anywhere; }
  .form-tablo td:first-child { font-size: 12.5px; }
  .onz-liste label { min-width: 0; flex: 1 1 100%; }
  .dosya-ad { white-space: normal; overflow: visible; overflow-wrap: anywhere; }   /* kesme yok, sarılır */
  /* İçerik ekranı: öğe kartı tek sütun, düğmeler alanların altında */
  .ic-oge { grid-template-columns: minmax(0, 1fr); }
  .ic-alanlar, .ic-alanlar.kart { grid-template-columns: minmax(0, 1fr); }
  .ic-oge-dugmeler { justify-content: flex-start; max-width: none; padding-top: 0; }
  .ic-bolum > summary { padding: 10px 14px; }
  .ic-bolum-govde { padding: 0 14px 14px; }
}

@media (max-width: 620px) {
  .panel { padding: 18px 16px; }
  .talep-ust { flex-direction: column; gap: 8px; }
  /* dar ekranda yalnız işaretler; mevcut adımın adı yazılı */
  .adimlar { display: flex; }
  .adimlar li { flex: 1 1 0; font-size: 0; overflow-wrap: normal; }
  .adimlar li::before { font-size: 12.5px; }
  .adimlar li.simdi { flex: 3 1 0; font-size: 12.5px; }
  .dosya-listesi li { grid-template-columns: auto minmax(0, 1fr) auto; }
  .dosya-listesi li > .soluk { display: none; }
  .onz-secim.yak { margin-left: 0; }
  .onz-tuval { height: 56vh; }
  .onz-tuval.oranli, .onz-tuval.model-kap { height: auto; max-height: 56vh; }
  .bilgi-listesi { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .bilgi-listesi dt { font-size: 12.5px; margin-top: 6px; }
}
