/* Emlak ofisi uygulaması (BrokerDesk): Peak kimliği, yön B "gece çerçeve, açık içerik" (G1 maketi, Arda 22 Eki).
   Çerçeve (yan menü, telefon üst çubuğu, giriş) gece #05070F; içerik açık. Vurgu tek iş görür: içerikte kobalt yalnız birincil
   düğme, bağlantı ve seçili; buz yalnız koyu çerçevede. Durum biçimle ayrılır, renkle değil: İşlendi düz yazı, Onay bekliyor
   mavi kesik çizgi, tek sıcak renk (#B3261E) yalnız sorun anında (eksi bakiye, yetki bitiyor, hata). Yeşil ve turuncu yok.
   Yazı: Geist (gövde), DM Serif Display italik (sayfa başlığında en çok bir dönem ya da yer öbeği). İkisi de OFL, depoda.
   Satır içi stil yok (CSP default-src 'self'): oranlar SVG özniteliğiyle, renkler burada. */
@font-face {
  font-family: "Geist";
  src: url("/statik/geist-wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DM Serif Display";
  src: url("/statik/dm-serif-display-italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
:root {
  /* Peak paleti */
  --gece: #05070F; --kobalt: #1E50FF; --kobalt-acik: #2F6BFF; --buz: #7FD4FF; --lacivert: #0B1B6B;
  /* içerik (B) */
  --icerik: #EEF1F6; --kart: #FFFFFF; --kart-2: #F4F6FA; --cizgi: #DCE2EE; --ikincil-cizgi: #C9D2E6;
  --baslik: #0A0A0A; --metin: #1B2333; --soluk: #535D76; --vurgu: #1E50FF; --vurgu-zemin: #E8EEFF;
  --birincil: #1E50FF; --birincil-ust: #2F6BFF; --birincil-yazi: #FFFFFF;
  /* durum: bekliyor (biçim: kesik çizgi) ve uyarı (tek sıcak renk, yalnız sorun anında) */
  --bekle: #0B1B6B; --bekle-zemin: #E8F4FF; --bekle-cizgi: #2F6BFF;
  --uyari: #B3261E; --uyari-zemin: #FDECEA; --uyari-cizgi: #E8A39C;
  --cubuk-iz: #E6EAF2; --tarali: #8F9BBD; --foto-yok: #E3E8F1;
  /* çerçeve */
  --yan-yazi: #C9D2EA; --yan-soluk: #8F9BBD; --yan-secili: rgba(30, 80, 255, .22); --yan-uzerinde: rgba(255, 255, 255, .05);
  --yan-cizgi: rgba(127, 212, 255, .12);
  --font: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-vurgu: "DM Serif Display", Georgia, serif;
  --yan-en: 248px;
  /* eski adlar: G2'den önce yazılmış bloklar (ör. E1 eski kayıt aktarma) yeni değerleri alsın diye. Yeni kodda kullanma. */
  --navy-900: var(--gece); --navy-800: var(--birincil-ust); --navy-700: var(--lacivert); --blue: var(--vurgu);
  --cyan: var(--vurgu); --cyan-2: var(--vurgu); --ice: var(--vurgu-zemin); --panel: var(--kart); --soft: var(--kart-2);
  --ink: var(--metin); --muted: var(--soluk); --line: var(--cizgi); --in: var(--baslik); --out: var(--uyari);
  --wait: var(--bekle); --wait-bg: var(--bekle-zemin);
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: var(--gece); color: var(--metin); font-family: var(--font); font-size: 15px; line-height: 1.45; }
a { color: var(--vurgu); }
h1, h2, h3 { margin: 0; letter-spacing: -.01em; color: var(--baslik); }
button, input, select { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--kobalt); outline-offset: 2px; }
.yan :focus-visible, .mobil-ust :focus-visible, .giris-sol :focus-visible, .harita-kart :focus-visible { outline-color: var(--buz); }
.atla { position: absolute; left: -999px; top: 8px; background: var(--kart); color: var(--metin); padding: 8px 12px; border-radius: 8px; z-index: 50; }
.atla:focus { left: 8px; }
.gorunmez { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.n { font-variant-numeric: tabular-nums; }

/* gren: koyu çerçevede çok hafif kumlanma; ışık lekesi yalnız yan menünün altında (ekran başına tek leke) */
.gren { background-image: url("/statik/gren.svg"); background-blend-mode: overlay; }

/* --- çerçeve ----------------------------------------------------------------------------------------- */
.uyg { display: grid; grid-template-columns: var(--yan-en) minmax(0, 1fr); min-height: 100vh; min-height: 100dvh; }
.yan { position: sticky; top: 0; height: 100vh; height: 100dvh; overflow-y: auto; padding: 24px 14px 18px;
  display: flex; flex-direction: column; gap: 10px; color: var(--yan-yazi); scrollbar-width: thin; scrollbar-color: var(--yan-cizgi) transparent;
  background-color: var(--gece); border-right: 1px solid var(--yan-cizgi);
  background-image: url("/statik/gren.svg"), radial-gradient(circle at 0% 100%, rgba(30, 80, 255, .38), rgba(30, 80, 255, 0) 62%);
  background-blend-mode: overlay, normal; }
.yan-ust { display: flex; align-items: center; gap: 8px; }
.marka { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 0 6px; text-decoration: none; min-width: 0; color: #fff; }
.marka-logo { display: block; height: 30px; width: auto; max-width: 100%; object-fit: contain; object-position: left; }
.marka-ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; color: var(--yan-soluk); font-size: 12.5px; font-weight: 500; }
.menu-kapat { display: none; }
.navt { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--yan-soluk); padding: 0 10px; margin: 10px 0 0; }
.yan nav { display: flex; flex-direction: column; gap: 1px; }
.yan nav a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 10px; border-radius: 10px; color: var(--yan-yazi);
  font-size: 14px; font-weight: 500; text-decoration: none; }
.yan nav a:hover { background: var(--yan-uzerinde); color: #fff; }
.yan nav a .i { display: grid; place-items: center; flex: none; color: var(--yan-soluk); }
.yan nav a .i svg { width: 18px; height: 18px; stroke-width: 1.6; }
.yan nav a.on { background: var(--yan-secili); color: #fff; font-weight: 600; }
.yan nav a.on .i { color: var(--buz); }
.yan nav a.sonra { color: var(--yan-soluk); }
.yan nav a small { margin-left: auto; font-size: 11.5px; color: var(--yan-soluk); }
.yan nav a .say { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--buz); background: none; padding: 0; }
.kullanici { margin-top: auto; display: flex; align-items: center; gap: 10px; padding: 14px 6px 0; border-top: 1px solid var(--yan-cizgi); }
.ini { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 600; font-size: 12.5px; flex: none;
  letter-spacing: .02em; background: var(--vurgu-zemin); color: var(--vurgu); }
.kullanici .ini { background: rgba(127, 212, 255, .12); color: var(--buz); }
.kullanici b { color: #fff; font-size: 14px; font-weight: 600; display: block; }
.kullanici small { color: var(--yan-soluk); font-size: 12.5px; }
.kullanici-islem { display: flex; align-items: center; gap: 2px; padding: 0; flex-wrap: wrap; }
.kullanici-islem a, .kullanici-islem button { background: none; border: 0; color: var(--yan-yazi); font-size: 13px; padding: 0 10px;
  border-radius: 10px; cursor: pointer; text-decoration: none; min-height: 44px; display: inline-grid; place-items: center; }
.kullanici-islem a:hover, .kullanici-islem button:hover { background: var(--yan-uzerinde); color: #fff; }
.kullanici-islem a[aria-current] { color: #fff; font-weight: 600; }
.kullanici-islem form { margin: 0; }

.ana { background: var(--icerik); margin: 12px 12px 12px 0; border-radius: 22px; padding: 26px 28px 36px; min-width: 0;
  display: flex; flex-direction: column; gap: 16px; }
.ana:focus { outline: none; }
.ust { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.baslik { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; min-width: 0; }
.ust h1 { font-size: 30px; font-weight: 700; letter-spacing: -.025em; line-height: 1.1; color: var(--baslik); }
.ust h1 i { font-family: var(--font-vurgu); font-style: italic; font-weight: 400; letter-spacing: -.005em; font-size: 1.06em; color: var(--vurgu); margin-left: 8px; }
.ust .alt { color: var(--soluk); font-size: 14px; flex-basis: 100%; margin: -6px 0 0; }
.ust .sp { flex: 1; }
.zil { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; position: relative; color: var(--baslik);
  border: 1px solid var(--cizgi); background: var(--kart); flex: none; }
.zil svg { width: 18px; height: 18px; }
.zil b { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; border-radius: 10px; padding: 0 5px; display: grid; place-items: center;
  background: var(--kobalt); color: #fff; font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.mobil-ust, .perde { display: none; }

/* --- bileşenler -------------------------------------------------------------------------------------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--birincil); color: var(--birincil-yazi);
  border: 1px solid var(--birincil); border-radius: 12px; padding: 0 18px; font-size: 14px; font-weight: 600;
  text-decoration: none; cursor: pointer; min-height: 44px; }
.btn:hover { background: var(--birincil-ust); border-color: var(--birincil-ust); }
.btn.ikincil { background: var(--kart); color: var(--baslik); border-color: var(--ikincil-cizgi); }
.btn.ikincil:hover { background: var(--kart-2); }
.btn.kucuk { min-height: 44px; padding: 0 14px; font-size: 13px; }
.btn.genis { width: 100%; }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn svg { width: 16px; height: 16px; }
.kart { background: var(--kart); border-radius: 20px; padding: 20px 22px; border: 1px solid var(--cizgi); min-width: 0; }
.kart > h2, .kart-bas h2 { font-size: 16px; font-weight: 600; letter-spacing: -.01em; }
.kart > h2 { margin-bottom: 6px; }
.kart-bas { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.kart-bas .sp { flex: 1; }
.kart-bas form { margin: 0; }
.say { font-size: 12.5px; font-weight: 600; color: var(--soluk); font-variant-numeric: tabular-nums; }
.donem { color: var(--soluk); font-size: 12.5px; }
.etiket-yazi { font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vurgu); }
.kart.dar { max-width: 560px; }
.d { color: var(--soluk); font-size: 13.5px; margin: 4px 0; }
.kucuk { font-size: 12.5px; }
.izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.bilgi { margin: 0; background: var(--vurgu-zemin); color: var(--lacivert); border-radius: 12px; padding: 10px 14px; font-size: 14px; }
.hata { margin: 0; background: var(--uyari-zemin); color: var(--uyari); border: 1px solid var(--uyari-cizgi); border-radius: 12px; padding: 10px 14px; font-size: 14px; }
.hata strong { color: var(--uyari); }
.hata ul { margin: 6px 0 0; padding-left: 18px; }
.hata a { color: var(--uyari); }
.yakinda { display: flex; gap: 18px; align-items: flex-start; max-width: 760px; padding: 22px; }
.yakinda > .i { width: 52px; height: 52px; border-radius: 16px; background: var(--vurgu-zemin); color: var(--vurgu); display: grid; place-items: center; flex: none; }
.yakinda > .i svg { width: 24px; height: 24px; }
.yakinda h2 { font-size: 20px; margin: 8px 0 6px; }
.yakinda .ne { font-size: 15px; margin: 0 0 8px; }
.bos-durum { padding: 18px 4px 6px; }
.bos-b { font-weight: 600; color: var(--baslik); margin: 0 0 4px; }
.bos-durum p, .ust .alt, .kart > p.d, .kart > .d, p.ipucu { max-width: 62ch; }   /* uzun açıklama satırı göz yormasın: Geist'te 62ch ≈ 75-80 harf */
.bildirim-liste { list-style: none; margin: 0; padding: 0; }
.bildirim-liste li { display: flex; gap: 12px; align-items: baseline; padding: 11px 4px; border-top: 1px solid var(--cizgi); flex-wrap: wrap; }
.bildirim-liste li.okunmadi .metin { font-weight: 600; color: var(--baslik); }
.bildirim-liste .zaman { color: var(--soluk); font-size: 12.5px; min-width: 120px; font-variant-numeric: tabular-nums; }

/* durum: biçim + renk (G1 RAPOR §1). ok = İşlendi (düz yazı), w = bekliyor (kesik çizgi), r = sorun (tek uyarı rengi),
   s = nötr (kapandı, düzeltildi, reddedildi). .etiket ve .chip aynı dili konuşur. */
.durum, .etiket { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; border-radius: 8px; padding: 3px 9px;
  white-space: nowrap; text-decoration: none; line-height: 1.35; }
.durum svg, .etiket svg, .chip svg { width: 14px; height: 14px; stroke-width: 2; }
.durum.ok { color: var(--soluk); font-weight: 500; padding: 3px 0; }
.durum.w, .etiket { color: var(--bekle); background: var(--bekle-zemin); border: 1px dashed var(--bekle-cizgi); }
.durum.r, .etiket.kirmizi { color: var(--uyari); background: var(--uyari-zemin); border: 1px solid var(--uyari-cizgi); }
.durum.s, .etiket.pf-kapali { color: var(--soluk); background: var(--kart-2); border: 1px solid var(--cizgi); }
a.durum:hover { text-decoration: underline; }
.uyari, .uyari-k, .uyari-metin, b.e, .v.e { color: var(--uyari); font-weight: 600; }
.uyari, .uyari-k { margin: 6px 0 0; font-size: 13px; }

/* form */
.form { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; }
.alan { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--soluk); }
.alan input, .alan select { border: 1px solid var(--ikincil-cizgi); border-radius: 12px; padding: 10px 12px; font-size: 15px; font-weight: 400;
  background: var(--kart); color: var(--baslik); min-height: 44px; width: 100%; }
.alan input:focus, .alan select:focus { border-color: var(--kobalt); outline: 2px solid var(--vurgu-zemin); outline-offset: 0; }
.ipucu { font-weight: 400; color: var(--soluk); font-size: 12.5px; }
.form .btn { align-self: flex-start; }

/* tablo */
.tablo-sar { overflow-x: auto; }
.tablo { border-collapse: collapse; width: 100%; font-size: 14px; }
.tablo th { font-size: 12px; color: var(--soluk); font-weight: 600; text-align: left; padding: 8px 10px; white-space: nowrap; border-bottom: 1px solid var(--cizgi); }
.tablo td { padding: 11px 10px; border-bottom: 1px solid var(--cizgi); vertical-align: middle; color: var(--metin); }
.tablo tbody tr:last-child td { border-bottom: 0; }
.tablo td.islem { white-space: nowrap; text-align: right; }
.tablo td.islem form { display: inline-block; margin: 0 0 0 6px; }
.tablo tr.kapali td { color: var(--soluk); }
.rol-hap { font-size: 12.5px; font-weight: 600; border-radius: 8px; padding: 3px 9px; display: inline-block; white-space: nowrap;
  background: var(--kart-2); color: var(--metin); }
.rol-muhasebe, .rol-yonetici { background: var(--vurgu-zemin); color: var(--lacivert); }
.rol-admin { background: var(--gece); color: #fff; }
.parola-kart { background: var(--vurgu-zemin); border-color: var(--vurgu-zemin); }
.parola-satir { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 8px 0; }
.parola-goster { font-family: ui-monospace, "SF Mono", Consolas, monospace; font-size: 20px; font-weight: 600; background: var(--kart);
  border-radius: 10px; padding: 8px 14px; letter-spacing: .04em; color: var(--baslik); user-select: all; }
.liste { display: grid; grid-template-columns: max-content 1fr; gap: 8px 16px; margin: 8px 0 0; font-size: 14px; }
.liste dt { color: var(--soluk); }
.liste dd { margin: 0; font-weight: 600; color: var(--baslik); overflow-wrap: anywhere; }

/* --- giriş -------------------------------------------------------------------------------------------- */
.duz-zemin { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: 24px 16px; }
.tek { width: 100%; display: grid; place-items: center; }
.giris { position: relative; z-index: 1; width: 100%; max-width: 400px; display: flex; flex-direction: column; gap: 18px; }
/* Giriş ekranı, seçenek A (Arda 21 Eki): gece Erzincan haritası + başlık + kart; Peak renkleri (G2) */
.giris-sahne { position: fixed; inset: 0; overflow: hidden; background-color: var(--gece); }
.giris-sahne img { position: absolute; inset: -4%; width: 108%; height: 108%; object-fit: cover; }
.giris-sahne::after { content: ""; position: absolute; inset: 0; background-image: url("/statik/gren.svg"),
  radial-gradient(ellipse at 75% 50%, rgba(5, 7, 15, .15), rgba(5, 7, 15, .86) 70%); background-blend-mode: overlay, normal; }
.giris-sol { display: flex; flex-direction: column; gap: 14px; color: #fff; }
.giris-baslik { margin: 10px 0 0; font-size: 34px; font-weight: 700; line-height: 1.06; letter-spacing: -.03em; color: #fff; }
.giris-baslik em { font-family: var(--font-vurgu); font-style: italic; font-weight: 400; letter-spacing: -.005em; color: var(--buz); }
.giris-alt { margin: 0; color: var(--yan-yazi); font-size: 15px; }
@media (min-width: 900px) {
  .giris { max-width: 1180px; display: grid; grid-template-columns: 1fr 400px; align-items: center; gap: 56px; }
  .giris-baslik { font-size: 64px; max-width: 640px; margin-top: 20px; }
  .giris-alt { font-size: 18px; max-width: 460px; }
}
@media (max-width: 899px) {
  .giris-sahne img { inset: -10% -60% 30% -60%; width: 220%; height: 80%; }
  .giris-sahne::after { background-image: url("/statik/gren.svg"), linear-gradient(180deg, rgba(5, 7, 15, .35), rgba(5, 7, 15, .92) 62%); }
}
.giris-marka { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; color: #fff; padding: 0 4px; }
.giris-marka img { display: block; height: 92px; width: auto; max-width: 100%; margin-left: -18px; margin-bottom: -10px; }
.giris-marka small { color: var(--yan-soluk); font-size: 13px; padding-left: 2px; }
.giris-kart { background: var(--kart); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.giris-kart h1 { font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.giris-kart form { display: flex; flex-direction: column; gap: 12px; }
.giris-kart .btn { margin-top: 4px; }
.giris .kart.bos { background: var(--kart); }

/* --- telefon ve dar ekran ------------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .uyg { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; }
  .mobil-ust { display: flex; align-items: center; gap: 10px; padding: 10px 16px; padding-top: max(10px, env(safe-area-inset-top));
    color: #fff; position: sticky; top: 0; z-index: 20; background-color: var(--gece); border-bottom: 1px solid var(--yan-cizgi);
    background-image: url("/statik/gren.svg"); background-blend-mode: overlay; }
  .menu-dugme { display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 1px solid var(--yan-cizgi); color: #fff;
    border-radius: 12px; padding: 0 12px; min-height: 44px; font-weight: 600; font-size: 14px; cursor: pointer; }
  .menu-dugme svg { width: 18px; height: 18px; }
  .mobil-marka { color: #fff; text-decoration: none; flex: 1; min-width: 0; overflow: hidden; }
  .mobil-marka img { display: block; height: 24px; width: auto; max-width: 100%; object-fit: contain; object-position: left; }
  .zil.mobil { background: transparent; color: #fff; border-color: var(--yan-cizgi); }
  .zil.masa { display: none; }
  .yan { position: fixed; inset: 0 auto 0 0; width: min(300px, 86vw); height: 100%; z-index: 40;
    transform: translateX(-102%); transition: transform .2s ease; box-shadow: 8px 0 30px rgba(0, 0, 0, .35); visibility: hidden; }
  body[data-menu="acik"] .yan { transform: none; visibility: visible; }
  body[data-menu="acik"] { overflow: hidden; }
  .perde { position: fixed; inset: 0; background: rgba(5, 7, 15, .6); z-index: 30; }
  body[data-menu="acik"] .perde { display: block; }
  .menu-kapat { display: grid; place-items: center; margin-left: auto; width: 44px; height: 44px; border-radius: 12px;
    border: 1px solid var(--yan-cizgi); background: transparent; color: #fff; cursor: pointer; }
  .menu-kapat svg { width: 18px; height: 18px; }
  .ana { margin: 0 8px 8px; border-radius: 18px; padding: 20px 14px 28px; gap: 14px; }
  .ust h1 { font-size: 26px; }
  .ust > .btn, .ust > .ay-secici, .ust > .pf-gorunum { flex: 1 1 100%; }
  .kart { padding: 16px; border-radius: 18px; }
  .yakinda { flex-direction: column; gap: 12px; padding: 18px; }
  .tablo.kullanicilar thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tablo.kullanicilar, .tablo.kullanicilar tbody, .tablo.kullanicilar tr, .tablo.kullanicilar td { display: block; width: 100%; }
  .tablo.kullanicilar tr { border-top: 1px solid var(--cizgi); padding: 10px 0; }
  .tablo.kullanicilar td { border: 0; padding: 3px 0; display: flex; gap: 10px; justify-content: space-between; text-align: right; }
  .tablo.kullanicilar td::before { content: attr(data-etiket); color: var(--soluk); font-size: 12px; text-align: left; }
  .tablo.kullanicilar td.islem { justify-content: flex-start; flex-wrap: wrap; gap: 6px; padding-top: 8px; white-space: normal; }
  .tablo.kullanicilar td.islem::before { content: none; }
  .tablo.kullanicilar td.islem form { margin: 0; }
  .liste { grid-template-columns: 1fr; gap: 2px; }
  .liste dd { margin-bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) { .yan { transition: none; } }
/* alçak ekranlı dizüstü (960 px ve altı yükseklik): boşluklar daralır; satırlar 44 px kalır, sığmazsa menü kayar */
@media (min-width: 901px) and (max-height: 960px) {
  .yan { padding-top: 18px; gap: 6px; }
  .navt { margin-top: 6px; }
}

/* --- muhasebe ekranları ------------------------------------------------------------------------------ */
h3 { font-size: 14.5px; font-weight: 600; margin: 12px 0 6px; color: var(--baslik); }
.k { font-size: 13px; color: var(--soluk); font-weight: 500; }
.v { font-size: 30px; font-weight: 300; font-variant-numeric: tabular-nums; letter-spacing: -.035em; line-height: 1.1; color: var(--baslik); }
.v small, .big small, .buyuk small { font-size: .45em; color: var(--soluk); font-weight: 400; margin-left: 3px; letter-spacing: 0; }
.big, .buyuk { font-weight: 300; letter-spacing: -.045em; line-height: .98; color: var(--baslik); font-size: 56px; font-variant-numeric: tabular-nums; margin: 0; }
.big small, .buyuk small { font-size: 22px; }
.kpi { display: flex; flex-direction: column; gap: 4px; }
.kpi-satir { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; flex: 1; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.chip { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 500; border-radius: 8px; padding: 3px 9px;
  background: var(--kart-2); color: var(--metin); text-decoration: none; border: 1px solid var(--cizgi); }
.chip.bekle { background: var(--bekle-zemin); color: var(--bekle); border: 1px dashed var(--bekle-cizgi); font-weight: 600; }
.chip.kirmizi { background: var(--uyari-zemin); color: var(--uyari); border-color: var(--uyari-cizgi); font-weight: 600; }
a.chip:hover { text-decoration: underline; }
.calc, .hesap-not { font-size: 13px; color: var(--soluk); line-height: 1.5; margin: 0; }
.calc b { color: var(--baslik); font-weight: 600; }
.amt, .tutar { white-space: nowrap; margin-left: auto; text-align: right; font-weight: 600; font-size: 15px; font-variant-numeric: tabular-nums; color: var(--baslik); }
.tutar.uyari-metin { color: var(--uyari); }

/* satır listesi (kasa dökümü, ortaklar, onay, portföylerim) */
.satirlar { list-style: none; margin: 0; padding: 0; }
.satirlar > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 14px; align-items: center; padding: 11px 0; border-top: 1px solid var(--cizgi); }
.satirlar > li:first-child { border-top: 0; }
.satirlar b { color: var(--baslik); font-weight: 600; }
.satirlar small { display: block; color: var(--soluk); font-size: 12.5px; }
.satirlar .ini { width: 40px; height: 40px; }
.satirlar.kisili > li { grid-template-columns: auto minmax(0, 1fr) auto; }

/* üç durumlu yatay çubuk (SVG; oran öznitelikte) */
svg.yatay { display: block; width: 100%; height: 12px; border-radius: 6px; overflow: hidden; stroke: none; }
svg.yatay .iz { fill: var(--cubuk-iz); }
svg.yatay .k1 { fill: var(--kobalt); }
svg.yatay .k2 { fill: var(--buz); }
svg.yatay .k3 { fill: var(--lacivert); }
svg.yatay .tr { fill: var(--tarali); }
.lejant-satir { display: flex; gap: 6px 16px; flex-wrap: wrap; font-size: 12.5px; color: var(--soluk); margin: 10px 0 0; }
.lejant-satir span { display: inline-flex; align-items: center; gap: 6px; }
.lejant-satir i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; background: var(--kobalt); }
.lejant-satir i.k2 { background: var(--buz); }
.lejant-satir i.k3 { background: var(--lacivert); }
.lejant-satir i.tr { background: var(--tarali); }

/* Özet: ekranın işi kasa ve onay bekleyen para; ikisi üstte (G1 bulgu 12). Gelir-gider grafiği Arda'nın seçimini bekliyor
   (22 Eki); şimdilik bu ayın iki sayısı. Ortaklara kalan, kısa gelir kartının ve hareketlerin yanında boydan uzanır. */
.ozet-izgara { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .95fr); gap: 16px; align-items: start;
  grid-template-areas: "kasa kasa onay" "gelir gelir kalan" "hareket hareket kalan"; }
.alan-kasa { grid-area: kasa; } .alan-onay { grid-area: onay; } .alan-gelir { grid-area: gelir; } .alan-kalan { grid-area: kalan; }
.alan-hareket { grid-area: hareket; }
.kasa-ic { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 28px; align-items: center; }
.kasa-ic .big { margin-bottom: 18px; }
/* Ortaklara kalan dar sütunda: eksi yedi haneli tutar 1180-1440 px arasında sütuna sığsın (kartın genişliğine göre küçülür) */
.alan-kalan { container-type: inline-size; }
.alan-kalan .big { font-size: min(56px, 18cqi); }
@media (max-width: 900px) { .alan-kalan .big { font-size: min(46px, 18cqi); } }
.alan-onay { display: flex; flex-direction: column; gap: 12px; border: 1px dashed var(--bekle-cizgi); }
.alan-onay .kart-bas { margin: 0; }
.onay-oge { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 12px 14px; border-radius: 14px; background: var(--kart-2);
  color: var(--metin); text-decoration: none; min-height: 44px; }
a.onay-oge:hover { background: var(--bekle-zemin); }
.onay-oge b { color: var(--baslik); font-weight: 600; }
.onay-oge small { grid-column: 1 / -1; color: var(--soluk); font-size: 12.5px; }
.alan-onay .btn { align-self: flex-start; }
.ay-iki { display: flex; gap: 12px 40px; flex-wrap: wrap; }
.ay-iki > div { display: flex; flex-direction: column; gap: 2px; }
.ay-iki .v { font-size: 34px; }
.alan-kalan { display: flex; flex-direction: column; gap: 12px; }
.alan-kalan .kart-bas { margin: 0; }
.alan-kalan .lejant-satir { margin: 0; }

/* tablo ekleri: tutar işaretle ayrılır, renkle değil (gider sorun değildir) */
.tablo th.r, .tablo td.n { text-align: right; }
.tablo td.n { font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; color: var(--baslik); }
.tablo td.n.p, .tablo td.n.e { color: var(--baslik); }
.tablo.kompakt td:nth-child(3) { white-space: nowrap; }
.tablo td.tarih { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--soluk); }
.tur { font-size: 13.5px; color: var(--metin); white-space: nowrap; }

/* formlar */
.izgara-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px 14px; align-items: start; }
.izgara-form .form-alt { grid-column: 1 / -1; }
.secenekler { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.secenekler legend { padding: 0; margin-bottom: 4px; font-size: 12.5px; font-weight: 600; color: var(--soluk); }
.secenek { display: flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 400; font-size: 14px; color: var(--metin); cursor: pointer; }
.secenek input { width: 18px; height: 18px; margin: 0; accent-color: var(--kobalt); }
.form .hata, .hata + .form { margin-top: 8px; }
details.ac-kapa { margin-top: 10px; }
details.ac-kapa > summary { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--ikincil-cizgi);
  border-radius: 12px; font-weight: 600; font-size: 14px; cursor: pointer; list-style: none; background: var(--kart); color: var(--baslik); }
details.ac-kapa > summary::-webkit-details-marker { display: none; }
details.ac-kapa[open] > summary { background: var(--kart-2); }
details.satir-ici { display: inline-block; margin: 0 6px 0 0; text-align: left; }
details.satir-ici[open] { display: block; margin: 8px 0; }
details.satir-ici > summary { min-height: 44px; padding: 0 14px; font-size: 13px; }

/* düzen */
.ay-secici { display: inline-flex; align-items: center; gap: 2px; border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart); }
.ay-secici a { min-width: 44px; min-height: 44px; display: grid; place-items: center; color: var(--baslik); text-decoration: none; border-radius: 11px; }
.ay-secici a:hover { background: var(--kart-2); }
.ay-secici svg { width: 18px; height: 18px; }
.ay-secici b { padding: 0 8px; font-weight: 600; color: var(--baslik); font-size: 14px; white-space: nowrap; }
.iki-sutun { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 16px; align-items: start; }
.ust-arac { margin: 0; }
.adim { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--vurgu-zemin); color: var(--vurgu);
  font-size: 13px; font-weight: 600; margin-right: 10px; vertical-align: 2px; font-variant-numeric: tabular-nums; }
.kurulum-giris { background: var(--vurgu-zemin); border-color: var(--vurgu-zemin); }
.kurulum-giris h2 { font-size: 20px; }
.kurulum-bitir { border: 1px solid var(--kobalt); }
.kalem-liste { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.kalem-liste li { background: var(--kart-2); border: 1px solid var(--cizgi); border-radius: 8px; padding: 4px 10px; font-size: 13px; }
.hesap-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.hesap-kart { display: flex; flex-direction: column; gap: 2px; text-decoration: none; color: var(--metin); padding: 14px 16px; min-height: 44px; }
.hesap-kart:hover { border-color: var(--ikincil-cizgi); }
.hesap-kart.secili { border: 1px solid var(--kobalt); box-shadow: 0 0 0 1px var(--kobalt); }
.hesap-kart.eksi { border-color: var(--uyari-cizgi); background: var(--uyari-zemin); }
.hesap-kart.eksi .v { color: var(--uyari); }
.hesap-kart b { font-size: 15px; font-weight: 600; color: var(--baslik); }
.hesap-kart .v { font-size: 24px; }
.toplamlar { margin: 12px 0 0; font-size: 14px; }
.toplamlar b { color: var(--baslik); }
.oneri { border-top: 1px solid var(--cizgi); padding: 14px 0 6px; }
.oneri-bas { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.oneri-bas b { color: var(--baslik); font-weight: 600; }
.oneri-tutar { margin: 6px 0 0; font-size: 14px; }
.onay-kart { display: flex; flex-direction: column; gap: 4px; }
.onay-bas { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.onay-bas .sp { flex: 1; }
.onay-bas .n { font-size: 20px; font-weight: 600; color: var(--baslik); font-variant-numeric: tabular-nums; }
.onay-bas .tarih { color: var(--soluk); font-size: 13px; }
.onay-ac { margin: 2px 0; font-weight: 600; color: var(--baslik); }
.onay-dugmeler { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; margin-top: 6px; }
.onay-dugmeler form { margin: 0; }
.onay-dugmeler details.ac-kapa { margin-top: 0; }
.hesap-dokum { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; margin: 8px 0 0; font-size: 14px; }
.hesap-dokum dt { color: var(--metin); }
.hesap-dokum dd { margin: 0; text-align: right; font-weight: 600; color: var(--baslik); font-variant-numeric: tabular-nums; }
.hesap-dokum .son { border-top: 1px solid var(--cizgi); padding-top: 8px; font-weight: 600; font-size: 16px; color: var(--baslik); }
.satir-dl { margin: 2px 0; font-size: 14px; }
.kdv-satir { margin: 0 0 6px; font-size: 15px; }
.kart.koyu { background: var(--kart); }   /* eski koyu kart (Hak edişim ekranı): B'de beyaz kart, yazı normal */
.d.acik { color: var(--soluk); }

@media (max-width: 1180px) {
  .ozet-izgara { grid-template-columns: minmax(0, 1fr); grid-template-areas: "onay" "kasa" "kalan" "gelir" "hareket"; }
}
@media (max-width: 900px) {
  .big, .buyuk { font-size: 46px; }
  .kasa-ic { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .ay-iki .v { font-size: 30px; }
  .iki-sutun { grid-template-columns: minmax(0, 1fr); }
  .ust .ay-secici { justify-content: space-between; }
  .tablo.kartli thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tablo.kartli, .tablo.kartli tbody, .tablo.kartli tr, .tablo.kartli td { display: block; width: 100%; }
  .tablo.kartli tr { border-top: 1px solid var(--cizgi); padding: 10px 0; }
  .tablo.kartli tbody tr:first-child { border-top: 0; }
  .tablo.kartli td { border: 0; padding: 3px 0; display: flex; gap: 10px; justify-content: space-between; text-align: right; align-items: baseline; }
  .tablo.kartli td::before { content: attr(data-etiket); color: var(--soluk); font-size: 12px; text-align: left; font-weight: 500; flex: none; }
  .tablo.kartli td.n { white-space: normal; }
  .tablo.kartli td.islem { justify-content: flex-start; flex-wrap: wrap; gap: 6px; padding-top: 8px; white-space: normal; text-align: left; }
  .tablo.kartli td.islem::before { content: none; }
  /* Özet'in son hareketleri: telefonda iki satır (açıklama + tutar, altında tarih · kim · hesap, sağda durum) */
  .tablo.kompakt tr { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 2px 10px; padding: 12px 0; align-items: baseline; }
  .tablo.kompakt td { display: block; padding: 0; text-align: left; }
  .tablo.kompakt td::before { content: none; }
  .tablo.kompakt td:nth-child(2) { grid-column: 1 / 4; grid-row: 1; color: var(--baslik); font-weight: 600; }
  .tablo.kompakt td:nth-child(5) { grid-column: 4; grid-row: 1; text-align: right; }
  .tablo.kompakt td:nth-child(1), .tablo.kompakt td:nth-child(3), .tablo.kompakt td:nth-child(4) { grid-row: 2; font-size: 12.5px; color: var(--soluk); }
  .tablo.kompakt td:nth-child(4) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tablo.kompakt td:nth-child(6) { grid-column: 4; grid-row: 2; justify-self: stretch; text-align: right; }
  .tablo-sar { overflow-x: visible; }
  .izgara-form { grid-template-columns: minmax(0, 1fr); }
  .hesap-dokum { font-size: 13.5px; }
}

/* X1: müşteri talepleri */
.talep { display: grid; gap: 16px; min-width: 0; overflow-wrap: anywhere; }
.talep .kart { min-width: 0; }
.talep-mahalleler { grid-column: 1 / -1; min-width: 0; border: 1px solid var(--cizgi); border-radius: 12px; padding: 14px; }
.talep-mahalleler legend { font-weight: 600; }
.talep-mahalle-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 4px 12px; }
.talep-mahalle-izgara .secenek { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.talep-not { grid-column: 1 / -1; }
.talep textarea { width: 100%; min-width: 0; resize: vertical; }

/* --- portföy ekranları ---------------------------------------------------------------------------------- */
[hidden] { display: none !important; }
.pf-suzgec { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto auto; gap: 12px; align-items: end; padding: 16px 18px; }
.pf-suzgec .alan select { min-height: 44px; }
.pf-gorunum { display: inline-flex; background: var(--kart-2); border: 1px solid var(--cizgi); border-radius: 12px; padding: 3px; gap: 2px; }
.pf-gorunum a { min-height: 44px; min-width: 64px; display: grid; place-items: center; padding: 0 12px; border-radius: 9px;
  font-weight: 600; font-size: 13.5px; color: var(--soluk); text-decoration: none; }
.pf-gorunum a.on { background: var(--kart); color: var(--baslik); box-shadow: 0 0 0 1px var(--cizgi); }
.pf-sayac { margin: 0; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-size: 13.5px; color: var(--soluk); }
.pf-sayac b { color: var(--baslik); font-weight: 600; }
.pf-sayac .d { margin: 0; }
.pf-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(236px, 1fr)); gap: 16px; }
.pf-kart { padding: 0; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: var(--metin); }
.pf-kart:hover { border-color: var(--ikincil-cizgi); }
.pf-foto { position: relative; display: block; aspect-ratio: 16 / 10; background: var(--foto-yok); }
.pf-kapak { display: block; width: 100%; height: 100%; object-fit: cover; }
.pf-fotosuz { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 100%;
  color: var(--soluk); font-size: 12.5px; font-weight: 500; text-align: center; padding: 8px; }
.pf-fotosuz svg { width: 26px; height: 26px; stroke-width: 1.3; }
.pf-rozet { position: absolute; top: 10px; left: 10px; display: flex; gap: 6px; flex-wrap: wrap; }
.pf-rozet .durum, .pf-rozet .etiket { box-shadow: 0 0 0 2px rgba(255, 255, 255, .6); }
.pf-say { position: absolute; right: 10px; bottom: 10px; background: rgba(5, 7, 15, .72); color: #fff; font-size: 12px; font-weight: 600;
  border-radius: 8px; padding: 2px 8px; }
.pf-govde { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; flex: 1; }
.pf-ust { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pf-no { font-size: 12.5px; color: var(--soluk); }
.pf-fiyat { font-size: 23px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.02em; color: var(--baslik); line-height: 1.15; }
.pf-fiyat small { font-size: 13px; color: var(--soluk); font-weight: 500; letter-spacing: 0; }
.pf-ozet { font-weight: 600; font-size: 14px; color: var(--metin); }
.pf-adres { color: var(--soluk); font-size: 13px; }
.pf-temsilci { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; font-size: 13px; color: var(--metin); }
.ini.pf-ini { width: 30px; height: 30px; font-size: 11.5px; }
.ini.pf-ini.buyuk { width: 44px; height: 44px; font-size: 14px; }
.pf-tur { font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vurgu); white-space: nowrap; }

/* form */
.pf-form { display: flex; flex-direction: column; gap: 16px; }
.pf-form-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.pf-bolum { display: flex; flex-direction: column; gap: 12px; }
.pf-bolum h2 { font-size: 16px; font-weight: 600; display: flex; align-items: center; }
.pf-genis { grid-column: 1 / -1; }
.pf-iki { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pf-alan-kap { display: contents; }
.pf-yildiz { color: var(--soluk); }
.alan input[type="date"] { appearance: none; -webkit-appearance: none; }
.pf-segment { border: 0; padding: 0; margin: 0; }
.pf-segment legend { padding: 0; margin-bottom: 6px; font-size: 12.5px; font-weight: 600; color: var(--soluk); }
.pf-segment > div { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--kart-2); border: 1px solid var(--cizgi); border-radius: 12px; padding: 3px; gap: 3px; }
.pf-segment label { position: relative; }
.pf-segment input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.pf-segment label span { display: grid; place-items: center; min-height: 44px; border-radius: 9px; font-weight: 600; font-size: 13.5px; color: var(--soluk); text-align: center; }
.pf-segment label input:checked + span { background: var(--kart); color: var(--baslik); box-shadow: 0 0 0 1px var(--cizgi); }
.pf-segment input:focus-visible + span { outline: 2px solid var(--kobalt); }
.pf-konum > span { font-size: 12.5px; font-weight: 600; color: var(--soluk); }
.pf-harita { position: relative; border-radius: 14px; overflow: hidden; background: #070B1A; }
.pf-harita-svg { display: block; width: 100%; height: auto; aspect-ratio: 600 / 417; touch-action: none; cursor: crosshair; user-select: none; -webkit-user-select: none; }
.pf-harita-svg.salt { touch-action: auto; cursor: default; }
.pf-harita-arac { position: absolute; top: 10px; right: 10px; display: flex; gap: 6px; }
.pf-harita-arac .btn { min-width: 44px; min-height: 44px; font-size: 18px; }
.pf-harita-arac [data-konumum] { font-size: 13px; }
.pf-harita-not, .pf-harita-alt { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 18px 14px 10px; color: #fff;
  font-size: 12.5px; font-weight: 500; background: linear-gradient(transparent, rgba(5, 7, 15, .86)); pointer-events: none; }
.pf-adres-not { margin: 8px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.pf-adres-not[hidden] { display: none; }
.pf-adres-yazi { flex: 1 1 220px; }
.pf-adres-uygula { min-height: 44px; }
.pf-elle > summary { cursor: pointer; font-size: 13px; color: var(--vurgu); min-height: 44px; display: flex; align-items: center; font-weight: 600; }
.pf-elle[open] > summary { margin-bottom: 6px; }
.pf-foto-sec { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.pf-onizleme, .pf-foto-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.pf-onizleme li, .pf-foto-liste li { position: relative; width: 132px; display: flex; flex-direction: column; gap: 6px; }
.pf-onizleme canvas, .pf-foto-liste img, .pf-onizleme .pf-fotosuz { width: 132px; height: 96px; object-fit: cover; border-radius: 12px; background: var(--foto-yok); display: block; }
.pf-foto-liste a { display: block; }
.pf-kapak-rozet { position: absolute; top: 6px; left: 6px; font-size: 11.5px; font-weight: 600; background: var(--gece); color: #fff; border-radius: 7px; padding: 1px 7px; }
.pf-foto-dugme { display: flex; flex-wrap: wrap; gap: 4px; }
.pf-foto-dugme form { margin: 0; }
.pf-foto-dugme .btn { min-height: 44px; padding: 0 10px; }
.pf-foto-ekle { width: 132px; min-height: 96px; border: 1.5px dashed var(--ikincil-cizgi); border-radius: 12px; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 4px; text-align: center; cursor: pointer; color: var(--vurgu); padding: 10px; background: var(--kart); }
.pf-foto-ekle small { color: var(--soluk); font-size: 12px; }
.pf-foto-ekle:focus-within { outline: 2px solid var(--kobalt); outline-offset: 2px; }
.pf-foto-yukle { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--cizgi); }
.pf-foto-yukle .btn { align-self: flex-start; }
.pf-gonder { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pf-gonder .sp { flex: 1; }
.pf-gonder .d { margin: 0; }

/* ayrıntı */
.pf-ayrinti { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.pf-sol, .pf-sag { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.pf-galeri { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-auto-rows: 120px; gap: 8px; }
.pf-galeri a { display: block; border-radius: 12px; overflow: hidden; background: var(--foto-yok); }
.pf-galeri img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pf-g-ilk { grid-row: span 2; }
.pf-galeri-tek { grid-template-columns: 1fr; grid-auto-rows: 300px; }
.pf-galeri-tek .pf-g-ilk { grid-row: auto; }
.pf-galeri-bos { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; height: 180px; border-radius: 16px;
  background: var(--foto-yok); color: var(--soluk); font-size: 13px; }
.pf-galeri-bos svg { width: 26px; height: 26px; stroke-width: 1.3; }
.pf-bilgi { display: flex; flex-direction: column; gap: 10px; }
.pf-cipler { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.pf-buyuk-fiyat { margin: 0; font-size: 38px; font-weight: 300; letter-spacing: -.04em; font-variant-numeric: tabular-nums; color: var(--baslik); }
.pf-buyuk-fiyat small { font-size: 18px; color: var(--soluk); letter-spacing: 0; }
.pf-kutular { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.pf-kutular div { background: var(--kart-2); border-radius: 12px; padding: 10px 12px; }
.pf-kutular small { display: block; color: var(--soluk); font-size: 12px; }
.pf-kutular b { font-size: 16px; font-weight: 600; color: var(--baslik); }
.pf-yan-kart h2 { margin-bottom: 10px; }
.pf-kisi { display: flex; align-items: center; gap: 10px; }
.pf-kisi b { display: block; color: var(--baslik); font-weight: 600; }
.pf-kisi small { color: var(--soluk); font-size: 12.5px; }
.pf-harita-kucuk .pf-harita-svg { aspect-ratio: 600 / 417; }
.pf-islem-ic { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.pf-islem-ic details.ac-kapa { margin-top: 0; width: 100%; }
.pf-islem-ic .form { margin-top: 10px; }
.pf-islem-ic form { margin: 0; }
.pf-iz { list-style: none; margin: 0; padding: 0; }
.pf-iz li { display: flex; gap: 12px; align-items: baseline; padding: 9px 2px; border-top: 1px solid var(--cizgi); font-size: 13.5px; flex-wrap: wrap; }
.pf-iz .tarih { color: var(--soluk); font-size: 12.5px; min-width: 128px; font-variant-numeric: tabular-nums; }
.pf-iz li > span:nth-child(2) { flex: 1; min-width: 200px; }

/* onay kutusu sekmeleri ve portföy kartı */
.sekmeler { display: flex; gap: 4px; border-bottom: 1px solid var(--cizgi); overflow-x: auto; }
.sekmeler a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px; font-weight: 600; font-size: 14px;
  color: var(--soluk); text-decoration: none; border-bottom: 2px solid transparent; white-space: nowrap; margin-bottom: -1px; }
.sekmeler a.on { color: var(--baslik); border-bottom-color: var(--kobalt); }
.pf-onay { display: grid; grid-template-columns: 200px minmax(0, 1fr) minmax(0, 300px); gap: 18px; align-items: start; }
.pf-onay-foto { text-decoration: none; display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--foto-yok); }
.pf-onay-ic { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pf-kontrol h3 { margin-top: 0; }
.pf-kontrol ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.pf-kontrol li { padding-left: 22px; position: relative; }
.pf-kontrol li::before { position: absolute; left: 0; top: 0; font-weight: 600; }
.pf-kontrol li.ok::before { content: "✓"; color: var(--soluk); }
.pf-kontrol li.x::before { content: "✕"; color: var(--uyari); }
.pf-kontrol li.x { color: var(--uyari); }

@media (max-width: 1180px) {
  .pf-suzgec { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pf-onay { grid-template-columns: 160px minmax(0, 1fr); }
  .pf-kontrol { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .pf-form-izgara, .pf-ayrinti { grid-template-columns: minmax(0, 1fr); }
  .pf-kutular { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pf-galeri { grid-template-columns: 1fr 1fr; grid-auto-rows: 110px; }
  .pf-g-ilk { grid-column: 1 / -1; grid-row: span 2; }
  .pf-onay { grid-template-columns: minmax(0, 1fr); }
  .pf-onay-foto { max-height: 200px; aspect-ratio: auto; height: 180px; }
  .pf-buyuk-fiyat { font-size: 32px; }
  .pf-gonder .btn { flex: 1; }
  .pf-gonder .d { flex-basis: 100%; }
  .pf-ayrinti { display: flex; flex-direction: column; align-items: stretch; }
  .pf-sol, .pf-sag { display: contents; }
  .pf-ayrinti .pf-gecmis { order: 5; }
  .pf-suzgec { padding: 14px; }
}
@media (max-width: 520px) {
  .pf-tam { grid-column: 1 / -1; }
  .pf-suzgec { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
  .pf-gorunum { grid-column: 1 / -1; justify-self: start; }
  .pf-izgara { grid-template-columns: minmax(0, 1fr); }
  .pf-iki { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
  .pf-onizleme li, .pf-foto-liste li, .pf-foto-ekle { width: calc(50% - 5px); }
  .pf-onizleme canvas, .pf-foto-liste img, .pf-onizleme .pf-fotosuz { width: 100%; height: 110px; }
  .pf-harita-svg { aspect-ratio: 4 / 3.4; }
}

/* --- harita, ana sayfa, hesaplayıcılar, sıralama, temsilci fotoğrafı ---------------------------------------------
   Harita gece kalır (koyu çerçevenin parçası); iğne kobalt + buz, onaylanmamış iğne kesik çizgili. Mahalle adı haritanın
   üstündeki katmanda: iğnesi olan mahallede ad iğnenin altına iner (G1 bulgu 4). */
img.ini { object-fit: cover; background: var(--foto-yok); padding: 0; }
.harita-duzen { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.harita-kolon { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.harita-kart { position: relative; background: #070B1A; border-radius: 20px; overflow: hidden; border: 1px solid #070B1A; }
.lejant { display: flex; gap: 6px 16px; flex-wrap: wrap; font-size: 12.5px; color: var(--soluk); margin: 0 4px; align-items: center; }
.lejant span { display: inline-flex; align-items: center; gap: 6px; }
.lejant i { width: 12px; height: 12px; border-radius: 50%; display: inline-block; background: var(--kobalt); border: 1.5px solid var(--buz); }
.lejant i.b { background: var(--kart); border: 1.5px dashed var(--kobalt-acik); }
.harita-kaydir { overflow: hidden; overscroll-behavior: contain; aspect-ratio: 600 / 417; touch-action: none; }
svg.harita-svg { display: block; width: 100%; height: 100%; stroke: none; fill: none; cursor: grab; user-select: none; -webkit-user-select: none; }
svg.harita-svg:active { cursor: grabbing; }
svg .adlar { font-family: var(--font); font-weight: 600; letter-spacing: .06em; }
svg .adlar text { fill: var(--yan-soluk); color: var(--yan-soluk); text-anchor: middle; pointer-events: none; }
svg .adlar text.sol { text-anchor: start; }
svg .adlar text.sag { text-anchor: end; }
svg .adlar text.pinli { fill: var(--yan-yazi); color: var(--yan-yazi); }
/* H1: bütün il görünürken ilçe adları (boyu harita.js ekranda sabit tutar); formda seçilen mahalle/köyün yeri */
svg .ilce-adlar { font-family: var(--font); font-weight: 700; letter-spacing: .08em; }
svg .ilce-adlar text { fill: var(--yan-yazi); text-anchor: middle; pointer-events: none; }
.pf-yer-isaret circle { fill: rgba(127, 212, 255, .18); stroke: var(--buz); stroke-width: 1.5; }
.pf-yer-isaret text { fill: var(--yan-yazi); font-family: var(--font); font-size: 10px; font-weight: 600; pointer-events: none; }
.pf-ilce[hidden] { display: none; }
.harita-yakin { position: absolute; right: 12px; bottom: 12px; z-index: 3; display: flex; flex-direction: column; gap: 6px; }
.harita-yakin button { width: 44px; height: 44px; border-radius: 12px; border: 1px solid rgba(127, 212, 255, .25); background: rgba(5, 7, 15, .86);
  color: #fff; font: inherit; font-size: 20px; font-weight: 600; line-height: 1; cursor: pointer; }
.harita-yakin button:focus-visible { outline: 2px solid var(--buz); outline-offset: 2px; }
.pin { cursor: pointer; outline: none; }
.pin .vur { fill: transparent; }
.pin .kuyruk { fill: var(--kobalt); }
.pin .halka { fill: var(--gece); stroke: var(--kobalt); stroke-width: 4; }
.pin .foto-dolgu { fill: var(--lacivert); }
.pin text { fill: #fff; color: #fff; font: 600 11.5px var(--font); text-anchor: middle; }
.pin.bekle .halka { fill: var(--lacivert); stroke: var(--buz); stroke-width: 3; stroke-dasharray: 5 3; }
.pin.bekle .kuyruk { fill: var(--buz); }
.pin.secili .halka, .pin:focus-visible .halka { stroke: #fff; stroke-width: 4; stroke-dasharray: none; }
.pin.secili .kuyruk { fill: #fff; }
.pf-igne .govde { fill: var(--kobalt); stroke: var(--buz); stroke-width: 1.4; }
.pf-igne .ic { fill: var(--gece); }
.pin-kart { position: absolute; left: 14px; bottom: 14px; z-index: 3; width: min(380px, calc(100% - 28px)); background: var(--kart); border-radius: 16px;
  display: grid; grid-template-columns: 112px minmax(0, 1fr); overflow: hidden; box-shadow: 0 18px 40px rgba(0, 0, 0, .35); }
.pin-kart-foto { display: block; background: var(--foto-yok); min-height: 100%; text-decoration: none; }
.pin-kart-foto .pf-kapak { height: 100%; object-fit: cover; }
.pin-kart .ic { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pin-kart .pf-ust { padding-right: 34px; }
.pin-kart .pf-fiyat { font-size: 19px; }
.pin-kart .btn { align-self: flex-start; margin-top: 6px; }
.pin-kart .kapat { position: absolute; right: 2px; top: 2px; width: 44px; height: 44px; display: grid; place-items: center; color: var(--soluk);
  border-radius: 12px; }
.pin-kart .kapat:hover { background: var(--kart-2); }
.pin-kart .kapat svg { width: 18px; height: 18px; }
.harita-yan { display: flex; flex-direction: column; gap: 10px; }
.harita-yan .kart-bas { margin: 0; }
.harita-suzgec { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.harita-liste { list-style: none; margin: 0; padding: 0; max-height: 640px; overflow-y: auto; }
.harita-liste a { display: flex; align-items: center; gap: 10px; padding: 9px 6px; min-height: 52px; border-top: 1px solid var(--cizgi);
  color: var(--metin); text-decoration: none; }
.harita-liste li:first-child a { border-top: 0; }
.harita-liste a:hover, .harita-liste a[aria-current] { background: var(--kart-2); border-radius: 10px; }
.harita-liste .hl-ic { flex: 1; min-width: 0; }
.harita-liste b { display: block; font-size: 14px; font-weight: 600; color: var(--baslik); }
.harita-liste small { color: var(--soluk); font-size: 12.5px; }
.harita-liste .fy { font-weight: 600; font-size: 13.5px; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--baslik); }
.harita-liste .ini { width: 32px; height: 32px; font-size: 11px; }
.harita-foto-not { margin: 0; }
.btn.acik-dugme { background: var(--kart); color: var(--baslik); border-color: var(--ikincil-cizgi); }
.btn.acik-dugme:hover { background: var(--kart-2); }

/* ana sayfa (temsilci): solda iş (yetki uyarısı, portföylerim sıkı liste), sağda durum (hak edişim, sıralama, mini harita) */
.ana-izgara { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.ana-sol, .ana-sag { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.uyari-kart { border-color: var(--uyari-cizgi); }
.uyari-kart h2 { color: var(--uyari); }
.uyari-liste { list-style: none; margin: 6px 0 0; padding: 0; }
.uyari-liste a { display: flex; align-items: center; gap: 6px 12px; padding: 11px 0; border-top: 1px solid var(--cizgi); color: var(--metin);
  text-decoration: none; min-height: 44px; flex-wrap: wrap; }
.uyari-liste li:first-child a { border-top: 0; }
.uyari-liste b { color: var(--baslik); font-weight: 600; }
.uyari-liste .gun { margin-left: auto; }
.uyari-liste small { color: var(--soluk); display: block; font-size: 12.5px; }
.liste-pf > li { padding: 0; }
.liste-pf a { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 4px 14px; align-items: center; padding: 10px 0;
  color: var(--metin); text-decoration: none; min-height: 44px; }
.liste-pf a:hover b { text-decoration: underline; }
.kucuk-foto { width: 72px; height: 54px; border-radius: 10px; background: var(--foto-yok); display: grid; place-items: center; color: var(--soluk); overflow: hidden; }
.kucuk-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kucuk-foto svg { width: 18px; height: 18px; stroke-width: 1.4; }
.liste-pf .sag-sutun { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.hak-kart .big { margin: 2px 0 0; }
.hak-alt { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.hak-alt .sp { flex: 1; }
.hak-alt .d { margin: 0; }
.sira-kart { display: flex; flex-direction: column; gap: 4px; }
.sira-kart .kart-bas { margin-bottom: 4px; }
.sira-yer { font-size: 56px; font-weight: 300; color: var(--baslik); letter-spacing: -.045em; line-height: 1; font-variant-numeric: tabular-nums; }
.sira-yer small { font-size: 15px; color: var(--soluk); margin-left: 8px; letter-spacing: 0; font-weight: 400; }
.mini-bar { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.mini-bar div { display: grid; grid-template-columns: 110px minmax(0, 1fr) 40px; align-items: center; gap: 10px; font-size: 13px; color: var(--metin); }
.mini-bar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-bar b { text-align: right; font-variant-numeric: tabular-nums; font-weight: 500; }
.mini-bar .ben { color: var(--baslik); font-weight: 600; }
.mini-bar .ben b { font-weight: 600; }
svg.cubuk { display: block; width: 100%; height: 8px; stroke: none; border-radius: 4px; overflow: hidden; }
svg.cubuk .iz { fill: var(--cubuk-iz); }
svg.cubuk .dolu { fill: var(--kobalt); }
.mini-bar .ben svg.cubuk .dolu { fill: var(--buz); }
.sira-not { margin-top: 10px; }
.mini-harita { padding: 0; overflow: hidden; }
.mini-harita .kart-bas { padding: 16px 18px 0; margin: 0 0 12px; }
.harita-kart.mini { height: 300px; border-radius: 0; border: 0; }
.mini-alt { margin: 0; padding: 12px 18px 16px; }
.harita-kart.mini .harita-kaydir { position: absolute; inset: 0; overflow: hidden; aspect-ratio: auto; }
.harita-kart.mini svg.harita-svg { width: 100%; height: 100%; aspect-ratio: auto; }

/* hesaplayıcılar */
.hesap-duzen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.pf-segment.iki > div { grid-template-columns: repeat(2, 1fr); }
.sonuc-kart { background: var(--kart-2); border: 1px solid var(--cizgi); border-radius: 14px; padding: 12px 14px; }
.sonuc-kart .hesap-dokum { margin: 0; }
.sonuc-kart .k { color: var(--soluk); }
.sonuc-kart .v { color: var(--baslik); }
.sonuc-kart .pay { border-top: 1px solid var(--cizgi); margin-top: 10px; padding-top: 10px; }
.sonuc-kart .pay .v { font-size: 30px; }
.sonuc-kart .pay .d { margin: 2px 0 0; }
.hesap-uyari { margin: 0 0 6px; font-size: 13px; color: var(--soluk); }
.hesap-uyari.hata { color: var(--uyari); background: none; border: 0; padding: 0; }
.hesap-uyari:empty { display: none; }
.oran-not { font-size: 12px; color: var(--soluk); margin: 0; }
.hesap-kart .hesapla { align-self: flex-start; }

/* sıralama: "ben" satırı zemin + "Sen" yazısıyla ayrılır; renkli sol şerit yok (G1 bulgu 8) */
.sira-duzen { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.sira-yan { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.sira-tablo td.yer { font-size: 20px; font-weight: 300; width: 44px; font-variant-numeric: tabular-nums; color: var(--baslik); }
.sira-tablo tr.ben td { background: var(--vurgu-zemin); }
.sira-tablo .kisi { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.sira-tablo td.puan { font-size: 17px; font-weight: 600; }
.sira-tablo .say, .sira-liste .say { color: var(--vurgu); }
.sira-liste { display: none; list-style: none; margin: 0; padding: 0; }
.sira-liste li { display: grid; grid-template-columns: 30px auto minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; padding: 10px 6px;
  border-top: 1px solid var(--cizgi); }
.sira-liste li:first-child { border-top: 0; }
.sira-liste li.ben { background: var(--vurgu-zemin); border-radius: 10px; }
.sira-liste .yer { font-size: 18px; font-weight: 300; text-align: center; color: var(--baslik); }
.sira-liste b { display: block; font-size: 14.5px; font-weight: 600; color: var(--baslik); }
.sira-liste small { color: var(--soluk); font-size: 12.5px; }
.sira-liste .puan { font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; color: var(--baslik); }
.sira-liste .puan small { display: block; font-size: 11.5px; font-weight: 500; }
.formul { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px 12px; font-size: 14px; margin: 8px 0 0; align-items: baseline; }
.formul .d { margin: 0; }
.formul b { font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--baslik); font-weight: 600; }
.pasif-not { font-size: 12.5px; color: var(--soluk); margin: 10px 0 0; }

/* temsilci fotoğrafı */
.foto-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.ana > .foto-kart { max-width: 560px; }
.foto-kart { display: flex; flex-direction: column; gap: 12px; }
.foto-bas { display: flex; align-items: center; gap: 14px; }
.foto-bas h2 { font-size: 16px; font-weight: 600; }
.foto-buyuk { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; flex: none; background: var(--foto-yok); }
.ini.foto-buyuk { font-size: 26px; }
.foto-form { display: flex; flex-direction: column; gap: 10px; }
.foto-form .btn { align-self: flex-start; }

@media (max-width: 1180px) {
  .ana-izgara { grid-template-columns: minmax(0, 1fr); }
  .hesap-duzen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .harita-duzen { grid-template-columns: minmax(0, 1fr) 300px; }
}
@media (max-width: 900px) {
  .sira-yer { font-size: 46px; }
  .harita-duzen, .hesap-duzen, .sira-duzen { grid-template-columns: minmax(0, 1fr); }
  .harita-kaydir { height: 62vh; min-height: 420px; max-height: 640px; aspect-ratio: auto; }
  .harita-kart.mini { height: 300px; }
  .harita-kart.mini .harita-kaydir { height: auto; min-height: 0; max-height: none; }
  .pin-kart { grid-template-columns: 92px minmax(0, 1fr); left: 10px; bottom: 10px; width: calc(100% - 20px); }
  .harita-liste { max-height: none; }
  .sira-ana .tablo-sar { display: none; }
  .sira-liste { display: block; }
  .sira-duzen > .sira-yan { order: -1; }
  .mini-bar div { grid-template-columns: 96px minmax(0, 1fr) 36px; }
  .formul { font-size: 13.5px; }
  .liste-pf a { grid-template-columns: 56px minmax(0, 1fr); align-items: start; }
  .liste-pf .kucuk-foto { width: 56px; height: 44px; grid-row: span 2; }
  .liste-pf .sag-sutun { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; }
}
@media (max-width: 520px) {
  .harita-suzgec { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .harita-suzgec .pf-suz-dugme { grid-column: 1 / -1; }
}

/* E1 eski kayıt aktarma (renkler B değişkenlerinden) */
.e1-damga { display: inline-block; margin-left: 6px; font-size: 11px; font-weight: 800; letter-spacing: .02em; text-transform: lowercase;
  border: 1px dashed var(--soluk); color: var(--soluk); border-radius: 6px; padding: 1px 6px; text-decoration: none; white-space: nowrap; vertical-align: middle; }
.e1-damga:hover { color: var(--vurgu); border-color: var(--vurgu); }
.e1-ayrinti { display: block; margin-top: 2px; font-size: 12px; color: var(--soluk); overflow-wrap: anywhere; }
.e1-chip { text-decoration: none; border: 1px dashed var(--soluk); }
.e1-aktarilan { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--cizgi); }
.e1-aktarilan h3 { font-size: 15px; margin: 0 0 4px; }
.e1-aktarilan-satir { display: block; margin-top: 6px; font-size: 12.5px; line-height: 1.4; color: var(--soluk); text-decoration: none;
  border-left: 2px dashed var(--ikincil-cizgi); padding-left: 8px; overflow-wrap: anywhere; }
.e1-aktarilan-satir:hover { color: var(--vurgu); border-left-color: var(--vurgu); }
.e1-diger { margin-top: 10px; }
.e1-yer { font-size: 11.5px; padding: 1px 7px; margin-top: 4px; }
.e1-gg { margin-top: 4px; }
.e1-rapor-yeri { max-width: 75ch; }
.e1-not { margin: 6px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--bekle); text-align: left; }
.e1-not.hata-not { color: var(--uyari); }
.e1-onizleme td { vertical-align: top; overflow-wrap: anywhere; }
.e1-onizleme tr.e1-hata td { background: var(--kart-2); }
.e1-onizleme tr.e1-tekrar td { background: var(--bekle-zemin); }
.e1-onizleme .secenek { min-height: 32px; margin-top: 4px; }
.e1-hata-chip { color: var(--uyari); }
.e1-gonder { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 14px; }
.e1-onizleme td[data-etiket="Hesap"] { white-space: nowrap; }
.e1-ozet { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 12px; word-break: break-all; }
@media (max-width: 900px) {
  .e1-onizleme tr.e1-hata, .e1-onizleme tr.e1-tekrar { padding-left: 8px; padding-right: 8px; }
  .e1-onizleme tr.e1-hata { background: var(--kart-2); }
  .e1-onizleme tr.e1-tekrar { background: var(--bekle-zemin); }
  .e1-onizleme td { flex-wrap: wrap; }
  .e1-onizleme td .e1-not, .e1-onizleme td .e1-ayrinti, .e1-onizleme td .e1-gg { flex-basis: 100%; }
}

/* G3 Özet gelir-gider grafiği (worker/grafik.py). İki çizim: geniş ve dar; CSS biri gösterir, yazılar ölçeklenmez.
   Gelir kobalt, gider koyu gri (beyaz zeminde 3:1 üstü); aktarılan eski kayıt aynı renkte kesik çizgi. Bu ay hafif zeminle
   ve dolu noktayla vurgulanır. Kırmızı yok: grafik sorun bildirmez (gider geliri aşarsa sayının altında yazar). */
.gg { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--cizgi); }
.gg-bas { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 6px; }
.gg-bas h3 { margin: 0; font-size: 15px; }
.gg-bas .sp { flex: 1; }
.gg-degisim { font-size: 13px; color: var(--soluk); }
.gg-degisim b { color: var(--baslik); font-weight: 600; font-variant-numeric: tabular-nums; }
svg.gg-grafik { display: block; width: 100%; height: auto; stroke: none; fill: none; overflow: visible; }
svg.gg-dar { display: none; }
.gg-grafik .gg-bu-zemin { fill: var(--kart-2); }
.gg-grafik .gg-sifir { stroke: var(--cizgi); stroke-width: 1; }
.gg-grafik .gg-cizgi { fill: none; stroke-width: 2.25; stroke-linejoin: round; stroke-linecap: round; }
.gg-grafik .gg-cizgi.gelir, .gg-grafik .gg-nokta.gelir, .gg-grafik .gg-cizgi.akt-gelir, .gg-grafik .gg-nokta.akt-gelir { stroke: var(--kobalt); }
.gg-grafik .gg-cizgi.gider, .gg-grafik .gg-nokta.gider, .gg-grafik .gg-cizgi.akt-gider, .gg-grafik .gg-nokta.akt-gider { stroke: var(--soluk); }
.gg-grafik .gg-cizgi.akt-gelir, .gg-grafik .gg-cizgi.akt-gider { stroke-dasharray: 6 5; }
.gg-grafik circle.gg-nokta { fill: var(--kart); stroke-width: 2; }
.gg-grafik circle.gg-nokta.bu.gelir { fill: var(--kobalt); }
.gg-grafik circle.gg-nokta.bu.gider { fill: var(--soluk); }
.gg-grafik circle.gg-nokta.bu.akt-gelir, .gg-grafik circle.gg-nokta.bu.akt-gider { fill: var(--kart-2); }
.gg-grafik text { font-family: var(--font); font-size: 13px; text-anchor: middle; font-variant-numeric: tabular-nums;
  paint-order: stroke; stroke: var(--kart); stroke-width: 4px; stroke-linejoin: round; }
.gg-grafik text.bu { stroke: var(--kart-2); }
.gg-grafik .gg-etiket { font-weight: 500; }
.gg-grafik .gg-etiket.gelir { fill: var(--kobalt); }
.gg-grafik .gg-etiket.gider { fill: var(--soluk); }
.gg-grafik .gg-etiket.akt-gelir, .gg-grafik .gg-etiket.akt-gider { fill: var(--soluk); font-style: italic; font-weight: 400; }
.gg-grafik .gg-etiket.bu { font-weight: 700; }
.gg-grafik .gg-etiket.gelir.bu { fill: var(--kobalt); }
.gg-grafik .gg-etiket.gider.bu { fill: var(--baslik); }
.gg-grafik .gg-ay { fill: var(--soluk); font-size: 13px; stroke: none; }
.gg-grafik .gg-ay.bu { fill: var(--baslik); font-weight: 700; }
.gg-grafik .gg-bos { fill: var(--soluk); font-size: 12px; stroke: none; }
.gg-lejant { margin-top: 8px; }
.gg-lejant i.gg-l { width: 18px; height: 0; border-radius: 0; background: none; border-top: 2.5px solid var(--kobalt); }
.gg-lejant i.gg-l.gider { border-top-color: var(--soluk); }
.gg-lejant i.gg-l.akt { border-top: 2.5px dashed var(--soluk); }
.gg-hic { margin: 6px 0 0; }
@media (max-width: 520px) {
  svg.gg-genis { display: none; }
  svg.gg-dar { display: block; }
  .gg-grafik text { font-size: 12px; }
  .gg-grafik .gg-ay { font-size: 12px; }
  .gg-grafik .gg-bos { font-size: 11px; }
}

/* Özet son hareketler: hesap adı ("Banka 1") geniş ekranda iki satıra bölünmez (E1 görüntüsünde 1440 px'te bölünüyordu) */
.alan-hareket .tablo.kompakt td:nth-child(4) { white-space: nowrap; }
@media (max-width: 900px) {
  /* telefonda ikinci satır: tarih · hesap · kim · durum. Hesap tam görünür; uzun kişi adı ("Temsilci İki (bulan: …)")
     kalan yere sığar ve kısaltılır, satırı taşırmaz (deneme kayıtlarıyla 390 px'te 15 px taşıyordu) */
  .alan-hareket .tablo.kompakt tr { grid-template-columns: auto minmax(0, max-content) minmax(0, 1fr) auto; }
  .alan-hareket .tablo.kompakt td:nth-child(1) { grid-column: 1; }
  .alan-hareket .tablo.kompakt td:nth-child(4) { grid-column: 2; }
  .alan-hareket .tablo.kompakt td:nth-child(3) { grid-column: 3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
/* K2 ------------------------------------------------------------------------------------------------------------
   Harita iğne gruplama: ekranda üst üste binen iğneler sayılı tek iğne (harita.js çizer; JS yoksa iğneler tek tek).
   Hak edişim kartı: büyük sayı bu ay kazandığı, altında ofisten alacağı toplam. Yeni renk yok. */
.pin.grupta { display: none; }
.pin-grup { cursor: pointer; outline: none; }
.pin-grup .vur { fill: transparent; }
.pin-grup .arka { fill: var(--lacivert); stroke: var(--kobalt); stroke-width: 3; }
.pin-grup .kuyruk { fill: var(--kobalt); }
.pin-grup .halka { fill: var(--kobalt); stroke: var(--buz); stroke-width: 3; }
.pin-grup text { fill: #fff; color: #fff; font: 700 14px var(--font); text-anchor: middle; font-variant-numeric: tabular-nums; }
.pin-grup.bekle .halka { fill: var(--lacivert); stroke-dasharray: 5 3; }
.pin-grup:focus-visible .halka { stroke: #fff; stroke-width: 4; stroke-dasharray: none; }
.harita-yakin[hidden] { display: none; }
.k2-suz { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; margin: 0 0 8px; padding: 8px 8px 8px 14px;
  border-radius: 12px; background: var(--vurgu-zemin); color: var(--lacivert); font-size: 13.5px; }
.k2-suz span { flex: 1; min-width: 12em; }
.k2-baslik { margin: 0; font-size: 13px; font-weight: 500; color: var(--soluk); }
.hak-kart .k2-usd { font-size: 34px; margin-top: 6px; }
.hak-kart .k2-usd small { font-size: 16px; }
.k2-bakiye { display: flex; align-items: baseline; justify-content: space-between; gap: 4px 12px; flex-wrap: wrap; margin-top: 12px;
  padding-top: 12px; border-top: 1px solid var(--cizgi); font-size: 14px; color: var(--metin); }
.k2-bakiye + .k2-bakiye { margin-top: 6px; padding-top: 0; border-top: 0; }
.k2-bakiye b { font-weight: 600; color: var(--baslik); font-variant-numeric: tabular-nums; white-space: nowrap; }
.k2-dokum { margin-top: 6px; font-size: 13px; }
.k2-dokum dt { color: var(--soluk); }
.k2-dokum dd { font-weight: 500; color: var(--metin); }
/* S1 · İlandan doldur: yapıştır ya da ekran görüntüsü; dolan alan işaretli, elle yazılan korunur ("Uygula" önerisi) */
.pf-ilan[hidden], .pf-ilan-durum[hidden], .pf-ilan-ozet[hidden] { display: none; }
.pf-ilan textarea { border: 1px solid var(--ikincil-cizgi); border-radius: 12px; padding: 10px 12px; font: inherit; font-size: 14px;
  font-weight: 400; color: var(--metin); background: var(--kart); resize: vertical; min-height: 96px; width: 100%; box-sizing: border-box; }
.pf-ilan textarea:focus { border-color: var(--kobalt); outline: 2px solid var(--vurgu-zemin); outline-offset: 0; }
.pf-ilan-arac { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pf-ilan-gorsel { position: relative; cursor: pointer; }
.pf-ilan-durum { margin: 0; color: var(--metin); font-weight: 600; }
.pf-ilan-durum.pf-ilan-hata { color: var(--uyari); }
.pf-ilan-ozet { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--soluk); }
.pf-ilan-ozet p { margin: 0; overflow-wrap: anywhere; }
.pf-ilan-ozet b { color: var(--metin); font-weight: 600; }
.pf-ilandan input, .pf-ilandan select { border-color: var(--bekle-cizgi); background: var(--bekle-zemin); }
.pf-ilandan.pf-segment > div { border-color: var(--bekle-cizgi); }
.pf-ilandan-not { font-size: 12px; font-weight: 600; color: var(--bekle); }
.pf-ilandan-not::before { content: "↺ "; }
.pf-ilan-oneri { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 12.5px; font-weight: 400; color: var(--metin);
  border-left: 2px dashed var(--bekle-cizgi); padding-left: 8px; margin-top: 2px; }
.pf-segment .pf-ilandan-not, .pf-segment .pf-ilan-oneri { margin-top: 6px; }
/* B1 ------------------------------------------------------------------------------------------------------------
   Ayarlarım: bildirim sesi listesi (her satırda seçim + Dinle) ve masaüstü bildirimi izni. Bildirim listesinde metin
   ilgili ekrana bağlantıdır. Yeni renk yok. */
.b1-sesler { gap: 0; }
.b1-ses { display: flex; align-items: center; gap: 8px 12px; padding: 6px 0; border-top: 1px solid var(--cizgi); }
.b1-ses:first-of-type { border-top: 0; }
.b1-ses .secenek { flex: 1; min-width: 0; }
.b1-ses .secenek span { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.b1-ses .secenek b { font-weight: 600; color: var(--baslik); }
.b1-ses .secenek small { color: var(--soluk); font-size: 12.5px; }
.b1-ses .btn { flex: none; }
.b1-izin { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; margin: 4px 0 0; }
.b1-sinir { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--cizgi); }
/* B3: uygulama kapalıyken bildirim kartı */
.b3-yardim { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--kart-2); color: var(--metin); }
.bildirim-liste .metin a { color: inherit; text-decoration: underline; text-decoration-color: var(--ikincil-cizgi); text-underline-offset: 3px; }
.bildirim-liste .metin a:hover { color: var(--vurgu); text-decoration-color: currentColor; }

/* T1 · telefonda her ekran denetimi (22 Eki). Ölçüm ve kanıt: raporlar/t1-telefon-denetimi/. Yalnız görünüm; renk değişkenlerden. */
.atla { min-height: 44px; display: inline-flex; align-items: center; }
/* harita altındaki adres yazısı haritanın kendi mahalle adının üstüne biniyordu: yazının arkası koyulaşır */
.pf-harita-not, .pf-harita-alt { background: linear-gradient(transparent, var(--gece) 34%); padding-top: 24px; }
@media (max-width: 900px) {
  /* okunur en küçük yazı 13 px (ikincil satırlar, etiketler, rozetler, tablo kartının sol etiketi) */
  .marka-ad, .navt, .yan nav a small, .yan nav a .say, .ini, .ini.pf-ini, .kullanici small, .zil b, .say, .donem, .etiket-yazi, .kucuk,
  .bildirim-liste .zaman, .durum, .etiket, .alan, .ipucu, .tablo th, .rol-hap, .chip, .satirlar small, .lejant-satir, .onay-oge small,
  .secenekler legend, .pf-fotosuz, .pf-say, .pf-no, .pf-tur, .pf-segment legend, .pf-konum > span, .pf-harita-not, .pf-harita-alt,
  .pf-kapak-rozet, .pf-foto-ekle small, .pf-kutular small, .pf-kisi small, .pf-iz .tarih, .lejant, .harita-liste small, .harita-liste .ini,
  .uyari-liste small, .oran-not, .sira-liste small, .sira-liste .puan small, .pasif-not, .e1-damga, .e1-ayrinti, .e1-aktarilan-satir,
  .e1-yer, .e1-not, .e1-ozet, .pf-ilandan-not, .pf-ilan-oneri, .b1-ses .secenek small { font-size: 13px; }
  .tablo.kullanicilar td::before, .tablo.kartli td::before { font-size: 13px; }
  .tablo.kompakt td:nth-child(1), .tablo.kompakt td:nth-child(3), .tablo.kompakt td:nth-child(4) { font-size: 13px; }
  .navt, .etiket-yazi, .pf-tur { letter-spacing: .1em; }
  .zil b { min-width: 22px; height: 22px; border-radius: 11px; }
  /* 44 px dokunma alanı */
  .mobil-marka { display: flex; align-items: center; min-height: 44px; }
  .e1-onizleme .secenek { min-height: 44px; }
  /* yazı içindeki bağlantı: satır yerleşimi değişmeden dokunma alanı dikeyde 44 px'e büyür (satır içi dolgu satırı itmez) */
  p.d > a, .pasif-not > a { padding-block: 14px; }
  .e1-ayrinti a { padding: 14px 6px; margin: 0 -6px; }
  .bildirim-liste .metin a { display: inline-flex; align-items: center; min-height: 44px; }
  .liste dd a[href^="tel:"] { display: inline-flex; align-items: center; min-height: 44px; }
  a.chip { min-height: 44px; padding: 0 12px; }
}
@media (max-width: 520px) {
  /* onay kutusu sekmeleri: üçü de ekranda (yana kaydırınca saklanan "Göstermeler" kalmasın) */
  .sekmeler { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; overflow-x: visible; }
  .sekmeler a { justify-content: center; text-align: center; flex-wrap: wrap; gap: 2px 6px; padding: 8px 6px; white-space: normal; }
}

/* B2 · Ayarlarım: Sesli / Sessiz seçimi ve hangi bildirimde hangi ses (özel iki sesin yanında Dinle). Yeni renk yok. */
.b2-secim .secenek span { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.b2-secim .secenek b, .b2-ses b { font-weight: 600; color: var(--baslik); }
.b2-secim .secenek small, .b2-ses small { color: var(--soluk); font-size: 12.5px; }
.b2-sesler { list-style: none; margin: 16px 0 0; padding: 0; border-top: 1px solid var(--cizgi); }
.b2-ses { display: flex; align-items: center; gap: 8px 12px; min-height: 44px; padding: 8px 0; border-bottom: 1px solid var(--cizgi); }
.b2-ses:last-child { border-bottom: 0; }
.b2-ses > span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.b2-ses .btn { flex: none; }
@media (max-width: 900px) { .b2-secim .secenek small, .b2-ses small { font-size: 13px; } }

/* G4 geri oku (22 Eki): her sayfada başlığın solunda; dokunma hedefi 44 px */
.baslik { align-items: center; }
.geri { flex: none; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--ikincil-cizgi);
  background: var(--kart); color: var(--baslik); align-self: center; }
.geri:hover { background: var(--kart-2); }
.geri:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 2px; }
.geri svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* S2 sözleşmeler: liste, yeni, satış ve kira formu, A4 önizleme ve yazdırma (maket raporlar/s2-sozlesme-maket) */
.sz-filtre { display: flex; flex-wrap: wrap; gap: 6px; }
.sz-filtre a { padding: 8px 14px; min-height: 44px; display: inline-flex; align-items: center; border-radius: 10px; border: 1px solid var(--cizgi); background: var(--kart); color: var(--baslik); font-size: 13.5px; font-weight: 600; text-decoration: none; }
.sz-filtre a.on { background: var(--baslik); color: var(--kart); border-color: var(--baslik); }
.sz-satir { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 4px; border-top: 1px solid var(--cizgi); text-decoration: none; color: inherit; }
.sz-satir:first-child { border-top: 0; }
.sz-satir:hover { background: var(--kart-2); }
.sz-tur { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--soluk); }
.sz-tur b { display: block; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--baslik); }
.sz-orta b { display: block; font-size: 14.5px; color: var(--baslik); }
.sz-orta small { display: block; font-size: 13px; color: var(--soluk); margin-top: 2px; }
.sz-sag { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; text-align: right; }
.sz-sag .tutar { font-weight: 700; font-size: 15px; color: var(--baslik); }
.sz-sec { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sz-sec label { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: 16px; border: 1px solid var(--cizgi); background: var(--kart); cursor: pointer; }
.sz-sec label:has(input:checked) { border-color: var(--vurgu); box-shadow: 0 0 0 2px var(--vurgu) inset; }
.sz-sec label:has(input:focus-visible) { outline: 2px solid var(--kobalt); outline-offset: 2px; }
.sz-sec input { position: absolute; opacity: 0; }
.sz-sec b { font-size: 17px; color: var(--baslik); }
.sz-sec small { font-size: 13px; color: var(--soluk); }
.sz-yazi { font-size: 12.5px; color: var(--soluk); margin-top: 2px; font-style: italic; font-weight: 400; }
.sz-oto { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; padding: 12px 14px; border-radius: 12px; background: var(--kart-2); border: 1px solid var(--cizgi); }
.sz-oto span { font-size: 12px; color: var(--soluk); }
.sz-oto b { display: block; font-size: 14px; color: var(--baslik); font-weight: 600; overflow-wrap: anywhere; }
.sz-toplam { display: flex; flex-wrap: wrap; gap: 6px 14px; justify-content: space-between; align-items: baseline; padding: 12px 14px; border-radius: 12px; background: var(--kart-2); border: 1px solid var(--cizgi); font-size: 14px; }
.sz-toplam b { font-size: 18px; color: var(--baslik); }
.sz-form { align-items: start; }
.sz-form .ipucu { margin: 0; }
.sz-grup[hidden] { display: none; }
.alan textarea { border: 1px solid var(--ikincil-cizgi); border-radius: 12px; padding: 10px 12px; font: inherit; font-size: 15px; font-weight: 400; color: var(--metin); background: var(--kart); resize: vertical; }
.alan textarea:focus { border-color: var(--kobalt); outline: 2px solid var(--vurgu-zemin); outline-offset: 0; }
.alan input[readonly] { background: var(--kart-2); color: var(--baslik); }
.sz-kutu { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--baslik); cursor: pointer; }
.sz-kutu input { width: 20px; height: 20px; margin-top: 1px; flex: none; accent-color: var(--vurgu); }
.sz-alt { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end; padding: 14px 18px; margin-top: 16px; }
.sz-alt p { margin: 0 auto 0 0; font-size: 13px; color: var(--soluk); max-width: 520px; }
.sz-alt-ic { padding: 0; margin: 0; }
.sz-arac { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.sz-arac form { margin: 0; }
.sz-arac .sp { flex: 1; }
.sz-arac [hidden] { display: none; }
.sz-not { margin: 12px 0; }
.sz-kagit-kap { overflow-x: auto; padding: 18px 0; display: flex; flex-direction: column; align-items: center; gap: 18px; background: var(--kart-2); border-radius: 18px; border: 1px solid var(--cizgi); }
.sz-kagit { width: 794px; min-height: 1123px; flex: none; background: #fff; color: #111; padding: 60px 64px; box-shadow: 0 10px 30px rgba(5, 7, 15, .12);
  font: 13px/1.5 "Times New Roman", Times, serif; text-align: justify; }
.sz-kagit h3 { text-align: center; font-size: 15px; letter-spacing: .04em; margin: 0 0 18px; color: #111; }
.sz-kagit p { margin: 0 0 6px; }
.sz-kagit b { color: #111; }
.sz-kagit .d { background: #e8eeff; border-bottom: 1px solid #2f5bff; padding: 0 2px; font-weight: 700; font-size: inherit; color: #111; }
.sz-kagit .bos { color: #555; letter-spacing: .05em; }
.sz-kagit .yok { color: #777; }
.sz-kagit .sz-tab { display: inline-block; width: 2.5em; }
.sz-kagit .sz-tablo { width: 100%; border-collapse: collapse; margin: 0 0 14px; }
.sz-kagit .sz-tablo th, .sz-kagit .sz-tablo td { border: 1px solid #888; padding: 3px 8px; text-align: left; vertical-align: top; font-size: 12.5px; }
.sz-kagit .sz-tablo th { width: 38%; font-weight: 700; }
.sz-kagit .imza { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; text-align: center; margin-top: 36px; font-weight: 700; break-inside: avoid; }
.sz-kagit .imza-2 { grid-template-columns: repeat(2, 1fr); }
.sz-kagit .imza-4 { grid-template-columns: repeat(4, 1fr); }
.sz-kagit .imza small { display: block; font-weight: 400; font-size: 12.5px; margin-top: 48px; border-top: 1px solid #555; padding-top: 4px; }
.sz-kagit .sag { text-align: right; margin-top: 36px; }
.sz-iptal { margin-top: 12px; }
.sz-alt-bolum { margin-top: 16px; }
.sz-takvim .satirlar > li, .sz-pf-kart .satirlar > li { display: block; padding: 0; }
.sz-takvim .satirlar a, .sz-pf-kart .satirlar a { display: flex; align-items: center; gap: 12px; padding: 11px 0; color: inherit; text-decoration: none; }
.sz-takvim .satirlar a > span:first-child, .sz-pf-kart .satirlar a > span:first-child { flex: 1; min-width: 0; }
.sz-pf-kart .btn.genis { margin-top: 10px; }
.sz-muh .satirlar form { margin: 0; }
.sz-muh .satirlar b a { color: inherit; }
.sz-dolgu { margin-bottom: 4px; }
@media (max-width: 760px) {
  .sz-satir { grid-template-columns: 1fr; gap: 6px; }
  .sz-sag { align-items: center; justify-content: flex-start; text-align: left; flex-direction: row; flex-wrap: wrap; }
  .sz-sec { grid-template-columns: 1fr; }
  .sz-oto { grid-template-columns: 1fr 1fr; }
  .sz-alt { justify-content: stretch; }
  .sz-alt .btn { flex: 1; }
  .sz-kagit-kap { padding: 10px; align-items: flex-start; }
  .sz-kagit { zoom: .41; }
}
@page { size: A4; margin: 15mm; }
@media print {
  .yan, .mobil-ust, .ust, .sz-arac, .sz-not, .sz-alt-bolum, .bilgi, .hata, .perde, .atla, .zil { display: none !important; }
  body, .cerceve, .uyg, .ana { background: #fff !important; margin: 0 !important; padding: 0 !important; display: block !important; }
  .sz-kagit-kap { background: none; border: 0; padding: 0; overflow: visible; display: block; }
  .sz-kagit { box-shadow: none; padding: 0; width: auto; min-height: 0; zoom: 1; }
  .sz-kagit + .sz-kagit { break-before: page; }
  .sz-kagit .d { background: none; border: 0; padding: 0; }
}

/* G6 · portföy görme kuralı (22 Eki): fiyatı görmeyen için boşluk değil kısa, nötr ifade; uyarı rengi değil */
.pf-fiyat-yok { display: inline-block; font-size: 14px; font-weight: 500; letter-spacing: 0; line-height: 1.35; color: var(--soluk); }
.pf-buyuk-fiyat .pf-fiyat-yok { font-size: 16px; }
.harita-liste .fy.yok { font-weight: 500; font-size: 12.5px; color: var(--soluk); }
.pf-sinirli-not { margin: 0; }

/* S4 · kira artışı (onaylı maket raporlar/m2-eksikler-maket, "M2 bloğu" S4 kısmı aynen; renk yalnız mevcut değişkenlerden) */
.m2-artis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.m2-artis > div { padding: 14px; border-radius: 14px; background: var(--kart-2); border: 1px solid var(--cizgi); display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.m2-artis span { font-size: 12.5px; color: var(--soluk); }
.m2-artis b { font-size: 22px; font-weight: 600; color: var(--baslik); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.m2-artis .ana-tutar { background: var(--vurgu-zemin); border-color: var(--bekle-cizgi); }
.m2-artis .ana-tutar b { color: var(--lacivert); font-size: 28px; }
.m2-artis small { font-size: 12.5px; color: var(--soluk); }
.m2-satir-dugme { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 12px; margin: 0; }
.m2-oran { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 0; }
.m2-oran .alan { min-width: 180px; }
.m2-oran .btn { flex: none; }
.sz-artis .ipucu, .sz-artis .d { margin: 0; }
.sz-artis .kart-bas { margin-bottom: 0; }
.sz-artis .kart-bas .etiket + .etiket { margin-left: 6px; }
.sz-karar { padding: 0; }
.sz-artis-alt { margin-bottom: 16px; }
.sz-artis-durum { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.sz-artis-tablo td small.d { display: block; font-weight: 400; }
.sz-artis-tablo td a { color: inherit; }
@media (max-width: 900px) { .m2-artis { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .m2-oran .alan { flex: 1 1 100%; } .m2-oran .btn { flex: 1 1 auto; } }
.sz-artis-soz small.d { display: block; }
@media (max-width: 900px) {
  .sz-artis-tablo td .sz-artis-durum { justify-content: flex-end; }
  .sz-artis-tablo td:first-child { justify-content: flex-start; text-align: left; }
  .sz-artis-tablo td:first-child::before { content: none; }
}

/* S3 · çok taraf: kişi kutuları, vekâlet, hisse toplamı, kâğıtta alt alta imza (onaylı maket raporlar/m2-eksikler-maket, "M2 bloğu"
   S3 kısmı; renk yalnız mevcut değişkenlerden) */
.m2-taraf { display: flex; flex-direction: column; gap: 12px; padding: 14px; border: 1px solid var(--cizgi); border-radius: 14px; background: var(--kart); min-width: 0; }
.m2-taraf + .m2-taraf { margin-top: 2px; }
.m2-taraf-bas { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.m2-taraf-bas b { font-size: 14.5px; color: var(--baslik); }
.m2-taraf-bas small { color: var(--soluk); font-size: 12.5px; }
.m2-taraf-bas .sp { flex: 1; }
.m2-vekil { border-top: 1px dashed var(--ikincil-cizgi); padding-top: 12px; display: flex; flex-direction: column; gap: 12px; }
.m2-hisse b { color: var(--bekle); font-size: 15px; }
.m2-hisse.ok b { color: var(--baslik); font-size: 18px; }
.sz-kurallar ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 14px; }
.sz-kagit .imza div small + small { margin-top: 40px; }

/* S5 · imzalı hali: telefondan fotoğraf ya da PDF, sayfalar sırayla (onaylı maket raporlar/m2-eksikler-maket, "M2 bloğu" S5 kısmı
   aynen; renk yalnız mevcut değişkenlerden, kâğıt kutusunun açık zemini maketteki gibi) */
.m2-sayfalar { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.m2-sayfalar li { width: 112px; display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; color: var(--soluk); }
.m2-tarama { width: 112px; height: 158px; border-radius: 6px; border: 1px solid var(--cizgi); position: relative; overflow: hidden; display: block;
  background: #f7f5ef repeating-linear-gradient(180deg, transparent 0 9px, rgba(40, 40, 40, .16) 9px 10px) 14px 26px / 84px 96px no-repeat;
  box-shadow: 0 4px 12px rgba(5, 7, 15, .08); }
.m2-tarama::before { content: ""; position: absolute; left: 30px; right: 30px; top: 12px; height: 5px; background: rgba(40, 40, 40, .35); border-radius: 2px; }
.m2-tarama svg { position: absolute; left: 14px; bottom: 10px; width: 50px; height: 22px; fill: none; stroke: #1d2b6b; stroke-width: 1.6; }
.m2-tarama.foto { transform: rotate(-1.2deg); background-color: #efece4; }
.m2-sayfalar .pf-foto-ekle { width: 112px; min-height: 158px; }
.m2-sayfalar li[hidden] { display: none; }
.m2-kaynak { display: flex; flex-wrap: wrap; gap: 10px; }
.m2-kaynak label.btn { cursor: pointer; }
.m2-kaynak label.btn:focus-within { outline: 2px solid var(--kobalt); outline-offset: 2px; }
.m2-tarama img, .m2-tarama canvas { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; display: block; }
.m2-tarama .sz-tarama-tur { position: absolute; right: 10px; bottom: 10px; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; color: #1d2b6b; }
a.m2-tarama:focus-visible { outline: 2px solid var(--kobalt); outline-offset: 2px; }
.m2-sayfalar li > span { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px; }
.m2-sayfalar li form { margin: 0; }
.m2-sayfalar li .btn.kucuk { min-height: 44px; padding: 0 10px; align-self: flex-start; }
.sz-tarama { display: flex; flex-direction: column; gap: 14px; }
.sz-tarama .kart-bas { margin-bottom: 0; }
.sz-tarama .d, .sz-tarama .ipucu { margin: 0; }
.sz-tarama-form { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.sz-tarama-ek { border-top: 1px solid var(--cizgi); padding-top: 14px; }
@media (max-width: 900px) {
  .m2-sayfalar li { width: calc(33.3% - 8px); }
  .m2-sayfalar .pf-foto-ekle { width: 100%; min-height: 0; aspect-ratio: 1 / 1.414; }
  .m2-tarama { width: 100%; height: auto; aspect-ratio: 1 / 1.414; }
}
@media print { .sz-tarama { display: none !important; } }
/* şef: telefonda sözleşme formu tek sütun (dış ızgara da .pf-iki; iç içe iki sütun alanları ~40 px'e düşürüyordu) */
@media (max-width: 520px) {
  .pf-iki.sz-form, .sz-form .pf-iki { grid-template-columns: minmax(0, 1fr); }
}

/* K3 */
/* Kurulum (/kur), açılış (/ac), giriş ekranındaki "bu cihaza kur" bağlantısı ve Yenilikler kartı. Onaylı maket M3
   (raporlar/m3-kurulum-maket/kaynak.html) "M3 ekranları" kuralları; tarayıcının kendi parçalarının çizimleri ve maketin mk-* kuralları alınmadı. */
.m3-kur { position: relative; z-index: 1; max-width: 1120px; margin: 0 auto; padding: 30px 28px 40px; display: flex; flex-direction: column; gap: 22px; }
.m3-bas { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.m3-bas img { height: 64px; width: auto; margin-left: -18px; display: block; }
.m3-cihaz-hap { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; color: var(--buz); border: 1px solid var(--yan-cizgi); background: rgba(127, 212, 255, .06);
  border-radius: 999px; padding: 7px 14px; font-size: 13px; font-weight: 600; }
.m3-cihaz-hap svg { width: 16px; height: 16px; }
.m3-kart { background: var(--kart); color: var(--metin); border-radius: 24px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); overflow: hidden; min-height: 480px; }
.m3-metin { padding: 36px 36px 32px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.m3-metin h1 { font-size: 40px; line-height: 1.06; letter-spacing: -.03em; font-weight: 700; color: var(--baslik); margin: 0; }
.m3-metin h1 em { font-family: var(--font-vurgu); font-style: italic; font-weight: 400; letter-spacing: -.005em; color: var(--vurgu); }
.m3-metin h1 b { font-weight: 700; color: var(--vurgu); }
.m3-metin .on-yazi { font-size: 16.5px; line-height: 1.5; color: var(--metin); margin: 0; max-width: 46ch; }
.m3-metin .d { max-width: 52ch; }
.btn.m3-buyuk { min-height: 56px; font-size: 16px; padding: 0 26px; border-radius: 14px; align-self: flex-start; }
.btn.m3-buyuk svg { width: 20px; height: 20px; stroke-width: 2; }
.btn.m3-basili { background: var(--birincil-ust); box-shadow: 0 0 0 4px var(--vurgu-zemin); }
.m3-dugmeler { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; }
.m3-dugmeler .btn.m3-buyuk { align-self: auto; }
.m3-gorsel { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 32px 28px; color: #fff; min-width: 0;
  background-color: var(--gece); background-image: url("/statik/gren.svg"), radial-gradient(circle at 50% 48%, rgba(30, 80, 255, .42), rgba(30, 80, 255, 0) 62%);
  background-blend-mode: overlay, normal; }
.m3-gorsel figcaption, .m3-gorsel .alt-yazi { font-size: 13px; color: var(--yan-yazi); text-align: center; max-width: 34ch; margin: 0; }
.m3-yol { list-style: none; margin: 4px 0 0; padding: 0; display: flex; gap: 8px; }
.m3-yol li { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 7px; font-size: 13px; color: var(--soluk); font-weight: 600; }
.m3-yol li i { display: block; height: 6px; border-radius: 3px; background: var(--cubuk-iz); overflow: hidden; }
.m3-yol li.tamam i { background: var(--kobalt); }
.m3-yol li.simdi { color: var(--baslik); }
.m3-yol li.simdi i::before { content: ""; display: block; height: 100%; width: 45%; border-radius: 3px; background: var(--kobalt); animation: m3-akis 1.4s ease-in-out infinite; }
.m3-yol li.tamam { color: var(--baslik); }
@keyframes m3-akis { 0% { transform: translateX(-100%); } 100% { transform: translateX(230%); } }
.m3-adimlar { list-style: none; margin: 0; padding: 0; }
.m3-adimlar li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 2px 14px; align-items: center; padding: 13px 0; border-top: 1px solid var(--cizgi); }
.m3-adimlar li:first-child { border-top: 0; }
.m3-adimlar b { color: var(--baslik); font-weight: 600; font-size: 15px; }
.m3-adimlar small { grid-column: 2; display: block; color: var(--soluk); font-size: 13px; }
.m3-adimlar li.sonra b { color: var(--soluk); font-weight: 500; }
.m3-isaret { grid-row: span 2; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; }
.tamam > .m3-isaret { background: var(--kobalt); color: #fff; }
.tamam > .m3-isaret svg { width: 16px; height: 16px; stroke-width: 2.4; }
.simdi > .m3-isaret { border: 3px solid var(--cubuk-iz); border-top-color: var(--kobalt); animation: m3-don .9s linear infinite; }
.sonra > .m3-isaret { border: 2px dashed var(--ikincil-cizgi); }
@keyframes m3-don { to { transform: rotate(360deg); } }
.m3-alt { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: center; color: var(--yan-yazi); font-size: 14px; }
.m3-alt .sp { flex: 1; }
.m3-koyu-btn { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--yan-cizgi); color: #fff;
  text-decoration: none; font-weight: 600; font-size: 14px; background: transparent; }
.m3-koyu-btn svg { width: 18px; height: 18px; }
.m3-koyu-btn:hover { background: var(--yan-uzerinde); }
.m3-alt a.duz { color: var(--yan-yazi); text-decoration: none; font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; gap: 6px; }
.m3-ipucu { background: var(--kart-2); border: 1px solid var(--cizgi); border-radius: 14px; padding: 12px 14px; font-size: 14px; color: var(--metin); margin: 0; display: flex; gap: 10px; }
.m3-ipucu svg { width: 20px; height: 20px; color: var(--vurgu); flex: none; margin-top: 1px; }
.m3-ipucu b { color: var(--baslik); }
.m3-sayac { font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vurgu); }
.m3-yer { display: inline-grid; place-items: center; min-width: 30px; height: 26px; padding: 0 6px; border-radius: 8px; background: var(--kart-2); border: 1px solid var(--cizgi);
  font-weight: 700; color: var(--baslik); vertical-align: 3px; font-size: .55em; letter-spacing: .1em; }
.m3-ok-yukari { position: absolute; z-index: 4; top: 18px; right: 520px; width: 64px; height: 64px; color: var(--buz); }
.m3-ok-yukari svg { width: 64px; height: 64px; stroke-width: 2; }
.m3-sira { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.m3-sira li::marker { color: var(--vurgu); font-weight: 700; }
.m3-sira .btn { margin-top: 8px; }
.m3-bilgi-satir { display: flex; gap: 10px; align-items: center; background: var(--bekle-zemin); border: 1px dashed var(--bekle-cizgi); color: var(--bekle); border-radius: 14px;
  padding: 12px 14px; font-size: 14px; font-weight: 600; margin: 0; }
.m3-bilgi-satir svg { width: 20px; height: 20px; flex: none; }
.m3-mini { width: 100%; max-width: 440px; aspect-ratio: 16 / 10.4; border-radius: 12px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .5); display: flex; flex-direction: column; background: var(--icerik); }
.m3-mini .ub { height: 26px; background: var(--gece); display: flex; align-items: center; gap: 7px; padding-left: 9px; font-size: 11px; color: #fff; flex: none; }
.m3-mini .ub img { width: 13px; height: 13px; border-radius: 3px; }
.m3-mini .ub .sp { flex: 1; }
.m3-mini .ub i { width: 26px; text-align: center; font-style: normal; color: var(--yan-soluk); }
.m3-mini .ic { flex: 1; display: grid; grid-template-columns: 26% 1fr; min-height: 0; }
.m3-mini .yn { background: var(--gece); padding: 10px 8px; display: flex; flex-direction: column; gap: 6px; }
.m3-mini .yn img { width: 70%; height: auto; margin-bottom: 6px; }
.m3-mini .yn i { display: block; height: 8px; border-radius: 4px; background: rgba(201, 210, 234, .22); }
.m3-mini .yn i.on { background: rgba(30, 80, 255, .55); }
.m3-mini .gv { padding: 10px; display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: min-content; gap: 8px; }
.m3-mini .gv .bsl { grid-column: 1 / -1; height: 12px; width: 40%; border-radius: 4px; background: #c9d2e6; }
.m3-mini .gv span { background: #fff; border-radius: 8px; height: 58px; border: 1px solid var(--cizgi); }
.m3-mini .gv span.genis { grid-column: 1 / -1; height: 64px; }
.m3-masa { width: 100%; max-width: 440px; aspect-ratio: 16 / 10.4; border-radius: 12px; overflow: hidden; position: relative; border: 1px solid rgba(255, 255, 255, .14);
  background: linear-gradient(155deg, #12257a, #05070F 70%); box-shadow: 0 24px 60px rgba(0, 0, 0, .5); }
.m3-masa .simgeler { position: absolute; left: 14px; top: 14px; display: flex; flex-direction: column; gap: 14px; }
.m3-masa .simgeler span { width: 64px; display: flex; flex-direction: column; align-items: center; gap: 5px; font-size: 10.5px; color: #fff; text-align: center; }
.m3-masa .simgeler span i { width: 38px; height: 38px; border-radius: 8px; background: rgba(255, 255, 255, .16); display: block; }
.m3-masa .simgeler span img { width: 40px; height: 40px; border-radius: 8px; }
.m3-masa .simgeler span.bd { outline: 1px solid rgba(127, 212, 255, .7); background: rgba(127, 212, 255, .16); border-radius: 6px; padding: 4px 0; }
.m3-masa .gorev { position: absolute; left: 0; right: 0; bottom: 0; height: 36px; background: rgba(15, 18, 32, .92); display: flex; justify-content: center; align-items: center; gap: 8px; }
.m3-masa .gorev i { width: 22px; height: 22px; border-radius: 5px; background: rgba(255, 255, 255, .2); display: block; }
.m3-masa .gorev img { width: 24px; height: 24px; border-radius: 5px; }
.m3-masa .gorev b { position: relative; display: block; }
.m3-masa .gorev b::after { content: ""; position: absolute; left: 7px; right: 7px; bottom: -5px; height: 3px; border-radius: 2px; background: var(--buz); }
.m3-tel { width: 240px; height: 490px; border-radius: 38px; border: 9px solid #1b1e29; background: #000; box-shadow: 0 24px 60px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .12);
  position: relative; flex: none; }
.m3-tel-ekran { position: absolute; inset: 0; border-radius: 29px; overflow: hidden; display: flex; flex-direction: column; background: var(--gece); }
.m3-tel-ekran .sb { height: 26px; display: flex; justify-content: space-between; align-items: center; padding: 0 18px; font: 600 10.5px/1 -apple-system, system-ui, sans-serif; color: #fff; flex: none; }
.m3-tel-ekran .sb span { display: flex; gap: 3px; }
.m3-tel-ekran .sb i { width: 10px; height: 7px; background: #fff; border-radius: 2px; display: block; }
.m3-tel-ekran .sb i:last-child { width: 16px; }
.m3-tel-sayfa { flex: 1; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; min-height: 0;
  background: var(--gece) url("/statik/gren.svg"); background-blend-mode: overlay; }
.m3-tel-sayfa img.lg { width: 96px; height: auto; margin-left: -6px; }
.m3-tel-sayfa .kt { background: #fff; border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 7px; }
.m3-tel-sayfa .kt i { display: block; height: 7px; border-radius: 4px; background: #dce2ee; }
.m3-tel-sayfa .kt i.b { height: 12px; width: 80%; background: #0A0A0A; }
.m3-tel-sayfa .kt i.k { height: 22px; width: 60%; background: var(--kobalt); border-radius: 7px; margin-top: 4px; }
.m3-tel-safari { flex: none; background: rgba(242, 242, 247, .97); padding: 7px 10px 6px; display: flex; flex-direction: column; align-items: center; gap: 6px; position: relative; }
.m3-tel-safari .c { display: flex; gap: 6px; width: 100%; align-items: center; }
.m3-tel-safari .y { width: 30px; height: 30px; border-radius: 50%; background: #fff; display: grid; place-items: center; font: 700 11px/1 -apple-system, system-ui, sans-serif; color: #1c1c1e;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .15); flex: none; letter-spacing: .05em; }
.m3-tel-safari .y svg { width: 14px; height: 14px; stroke-width: 2.4; }
.m3-tel-safari .p { flex: 1; height: 30px; border-radius: 15px; background: #fff; display: grid; place-items: center; font: 11px/1 -apple-system, system-ui, sans-serif; color: #1c1c1e; box-shadow: 0 1px 2px rgba(0, 0, 0, .15); min-width: 0; }
.m3-tel-safari .h { width: 80px; height: 4px; border-radius: 2px; background: #1c1c1e; }
.m3-hedef { position: relative; z-index: 2; }
.m3-hedef::after { content: ""; position: absolute; inset: -5px; border-radius: 999px; border: 2px solid var(--kobalt-acik); box-shadow: 0 0 0 5px rgba(47, 107, 255, .3);
  animation: m3-nabiz 1.6s ease-out infinite; pointer-events: none; }
.m3-hedef.kare::after { border-radius: 12px; }
@keyframes m3-nabiz { 0% { opacity: 1; transform: scale(.96); } 70% { opacity: .35; transform: scale(1.06); } 100% { opacity: 1; transform: scale(.96); } }
.m3-ios-menu { position: absolute; right: 8px; bottom: 50px; width: 150px; background: rgba(250, 250, 252, .98); border-radius: 16px; padding: 6px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .4); display: flex; flex-direction: column; gap: 2px; z-index: 3; }
.m3-ios-menu span { height: 30px; border-radius: 8px; display: flex; align-items: center; gap: 8px; padding: 0 8px; }
.m3-ios-menu span i { display: block; height: 7px; border-radius: 4px; background: #d6d6dc; flex: 1; }
.m3-ios-menu span em, .m3-ios-liste span em { width: 14px; height: 14px; border-radius: 4px; background: #d6d6dc; flex: none; }
.m3-ios-menu span.m3-hedef { background: #fff; font: 600 12px/1 -apple-system, system-ui, sans-serif; color: #1c1c1e; }
.m3-ios-menu span.m3-hedef svg, .m3-ios-liste span.m3-hedef svg { width: 15px; height: 15px; stroke-width: 2; color: #1c1c1e; }
.m3-ios-sayfa { position: absolute; left: 0; right: 0; bottom: 0; top: 70px; background: #f2f2f7; border-radius: 16px 16px 0 0; padding: 12px 10px; display: flex; flex-direction: column; gap: 10px;
  box-shadow: 0 -6px 24px rgba(0, 0, 0, .35); z-index: 3; color: #1c1c1e; font: 11.5px/1.2 -apple-system, system-ui, sans-serif; }
.m3-ios-sayfa .ust-satir { display: flex; gap: 8px; align-items: center; background: #fff; border-radius: 10px; padding: 8px; }
.m3-ios-sayfa .ust-satir img { width: 30px; height: 30px; border-radius: 7px; }
.m3-ios-sayfa .ust-satir b { display: block; font-size: 12px; }
.m3-ios-sayfa .ust-satir small { color: #8e8e93; font-size: 10px; }
.m3-ios-daire { display: flex; gap: 10px; padding: 2px 2px; }
.m3-ios-daire i { width: 38px; height: 38px; border-radius: 50%; background: #d6d6dc; display: block; flex: none; }
.m3-ios-liste { background: #fff; border-radius: 10px; padding: 2px 8px; display: flex; flex-direction: column; }
.m3-ios-liste span { height: 32px; display: flex; align-items: center; gap: 8px; border-top: 1px solid #ececf0; }
.m3-ios-liste span:first-child { border-top: 0; }
.m3-ios-liste span i { display: block; height: 7px; border-radius: 4px; background: #e1e1e6; flex: 1; max-width: 120px; }
.m3-ios-liste span.m3-hedef { font-weight: 600; font-size: 12px; justify-content: space-between; border-radius: 8px; padding: 0 6px; margin: 0 -6px; background: #fff; }
.m3-ios-ekle .bas { display: flex; justify-content: space-between; align-items: center; font-weight: 600; font-size: 12px; padding: 2px 4px; }
.m3-ios-ekle .bas span:first-child { color: #007aff; font-weight: 400; }
.m3-ios-ekle .bas .m3-hedef { color: #007aff; padding: 2px 6px; }
.m3-ios-ekle .kutu { background: #fff; border-radius: 10px; padding: 10px; display: flex; gap: 10px; align-items: center; }
.m3-ios-ekle .kutu img { width: 46px; height: 46px; border-radius: 11px; }
.m3-ios-ekle .kutu b { display: block; font-size: 13px; padding-bottom: 5px; border-bottom: 1px solid #e5e5ea; margin-bottom: 5px; }
.m3-ios-ekle .kutu small { color: #8e8e93; font-size: 10px; }
.m3-ios-ekle .anahtar { background: #fff; border-radius: 10px; padding: 9px 10px; display: flex; gap: 8px; justify-content: space-between; align-items: center; font-size: 11.5px; }
.m3-ios-ekle .anahtar i { width: 34px; height: 20px; border-radius: 10px; background: #34c759; position: relative; display: block; }
.m3-ios-ekle .anahtar i::after { content: ""; position: absolute; right: 2px; top: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; }
.m3-anaekran { flex: 1; padding: 18px 14px; display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: min-content; gap: 16px 8px;
  background: linear-gradient(170deg, #1a2f8f, #0a0f2a 60%, #05070F); }
.m3-anaekran span { display: flex; flex-direction: column; align-items: center; gap: 5px; font: 9.5px/1 -apple-system, system-ui, sans-serif; color: #fff; }
.m3-anaekran span i { width: 40px; height: 40px; border-radius: 11px; background: rgba(255, 255, 255, .16); display: block; }
.m3-anaekran span img { width: 40px; height: 40px; border-radius: 11px; display: block; }
.m3-anaekran span.bos i { background: transparent; border: 1.5px dashed rgba(127, 212, 255, .7); display: grid; place-items: center; color: var(--buz); font-style: normal; font-size: 18px; }
.m3-anaekran span .m3-hedef::after { border-radius: 14px; }
.m3-halka { position: relative; width: 220px; height: 220px; display: grid; place-items: center; }
.m3-halka svg { position: absolute; inset: 0; width: 220px; height: 220px; transform: rotate(-90deg); }
.m3-halka svg circle { fill: none; stroke-width: 6; }
.m3-halka svg .iz { stroke: rgba(127, 212, 255, .14); }
.m3-halka svg .dolu { stroke: var(--buz); stroke-linecap: round; transition: stroke-dashoffset .5s ease; }
.m3-halka img { width: 132px; height: 132px; border-radius: 30px; box-shadow: 0 0 60px rgba(47, 107, 255, .45); }
.m3-halka.bitti svg .dolu { stroke: var(--buz); }
.m3-acilis { flex: 1; background: #0A0A0A; display: grid; place-items: center; padding: 40px 20px; position: relative; }
.m3-acilis-ic { display: flex; flex-direction: column; align-items: center; gap: 26px; }
.m3-acilis-ic img.s { width: 128px; height: 128px; border-radius: 28%; }
.m3-acilis-ic img.k { height: 46px; width: auto; margin: -12px 0 -6px; }
.m3-cubuk3 { display: flex; gap: 6px; width: 200px; }
.m3-cubuk3 i { flex: 1; height: 4px; border-radius: 2px; background: rgba(127, 212, 255, .16); overflow: hidden; display: block; }
.m3-cubuk3 i.tamam { background: var(--buz); }
.m3-cubuk3 i.simdi::before { content: ""; display: block; height: 100%; width: 50%; background: var(--buz); animation: m3-akis 1.1s ease-in-out infinite; }
.m3-cubuk3 i.sorun { background: var(--uyari-cizgi); }
.m3-acilis-ic p { margin: 0; color: var(--yan-yazi); font-size: 14px; min-height: 20px; text-align: center; }
.m3-acilis-ic .btn { min-width: 180px; }
.m3-acilis-ic .hata-b { color: #fff; font-size: 17px; font-weight: 600; margin: 0 0 -16px; }
.m3-kur-bag { position: relative; display: flex; gap: 12px; align-items: center; margin-top: 8px; padding: 10px 40px 10px 10px; border-radius: 14px;
  border: 1.5px solid transparent; color: #fff; text-decoration: none; min-height: 44px; isolation: isolate;
  background: linear-gradient(135deg, #0B1230 0%, var(--gece) 60%, #0B1B6B 130%) padding-box,
              linear-gradient(115deg, var(--kobalt) 0%, var(--buz) 35%, var(--kobalt-acik) 65%, var(--kobalt) 100%) border-box;
  background-size: 100% 100%, 220% 100%;
  box-shadow: 0 8px 26px -6px rgba(30, 80, 255, .7), 0 0 30px -2px rgba(47, 107, 255, .55);
  transition: transform .18s ease, box-shadow .18s ease; animation: kur-isik 7s ease-in-out infinite; }
.m3-kur-bag svg { width: 38px; height: 38px; padding: 8px; box-sizing: border-box; border-radius: 10px; stroke: #fff; stroke-width: 2.2; flex: none;
  background: linear-gradient(140deg, var(--kobalt) 0%, var(--kobalt-acik) 55%, var(--buz) 100%);
  box-shadow: 0 4px 14px -4px rgba(30, 80, 255, .75), inset 0 1px 0 rgba(255, 255, 255, .35); }
.m3-kur-bag b { display: block; font-size: 14px; color: #fff; }
.m3-kur-bag small { display: block; font-size: 12.5px; color: #A9C4FF; }
.m3-kur-bag::after { content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px; margin-top: -5px;
  border-right: 2px solid var(--buz); border-top: 2px solid var(--buz); transform: rotate(45deg); transition: transform .18s ease; }
.m3-kur-bag:hover { transform: translateY(-1px); box-shadow: 0 12px 34px -6px rgba(30, 80, 255, .9), 0 0 44px 0 rgba(127, 212, 255, .65); }
.m3-kur-bag:hover::after { transform: translateX(3px) rotate(45deg); }
.m3-kur-bag:focus-visible { outline: 2px solid var(--buz); outline-offset: 3px; }
@keyframes kur-isik {
  0%, 100% { background-position: 0 0, 0% 50%; box-shadow: 0 8px 26px -6px rgba(30, 80, 255, .65), 0 0 28px -4px rgba(47, 107, 255, .5); }
  50% { background-position: 0 0, 100% 50%; box-shadow: 0 10px 32px -6px rgba(30, 80, 255, .85), 0 0 40px 0 rgba(127, 212, 255, .55); }
}
@media (prefers-reduced-motion: reduce) { .m3-kur-bag { animation: none; transition: none; } .m3-kur-bag:hover { transform: none; } }
@media (max-width: 760px) {
  .m3-kur { padding: 18px 14px 28px; gap: 16px; }
  .m3-bas img { height: 48px; margin-left: -14px; }
  .m3-cihaz-hap { margin-left: 0; }
  .m3-kart { grid-template-columns: minmax(0, 1fr); min-height: 0; border-radius: 20px; }
  .m3-kart.resim-once .m3-gorsel { order: -1; }
  .m3-metin { padding: 22px 18px 20px; gap: 14px; }
  .m3-metin h1 { font-size: 30px; }
  .m3-metin .on-yazi { font-size: 15.5px; }
  .btn.m3-buyuk { align-self: stretch; }
  .m3-dugmeler .btn { flex: 1 1 auto; }
  .m3-gorsel { padding: 24px 16px; }
  .m3-halka, .m3-halka svg { width: 180px; height: 180px; }
  .m3-halka img { width: 108px; height: 108px; border-radius: 24px; }
  .m3-ok-yukari { right: 40px; top: 6px; width: 48px; height: 48px; }
  .m3-ok-yukari svg { width: 48px; height: 48px; }
  .m3-yol li { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .m3-yol li.simdi i::before, .m3-cubuk3 i.simdi::before { animation: none; width: 50%; }
  .simdi > .m3-isaret { animation: none; }
  .m3-hedef::after { animation: none; }
}
/* K3: sayfa zemini (makette .m3-sayfa) ve eklenenler */
body.kur-zemin { position: relative; min-height: 100vh; min-height: 100dvh; background-color: var(--gece); color: #fff; isolation: isolate; overflow-x: hidden; }
body.kur-zemin::before { content: ""; position: fixed; inset: -4%; z-index: -2; background: url("/statik/giris-harita.svg") center / cover no-repeat; }
body.kur-zemin::after { content: ""; position: fixed; inset: 0; z-index: -1; background-image: url("/statik/gren.svg"),
  radial-gradient(ellipse at 70% 40%, rgba(5, 7, 15, .35), rgba(5, 7, 15, .92) 72%); background-blend-mode: overlay, normal; }
.kur-ekran { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.kur-ekran h1:focus { outline: none; }
figure.m3-gorsel { margin: 0; }
.m3-tel-sayfa .kt i.k7 { width: 70%; }
.m3-ios-ekle .kutu .esnek { flex: 1; min-width: 0; }
.m3-halka svg .dolu { stroke-dasharray: 628.3; stroke-dashoffset: 314; }
.m3-hazir-not { margin: 0; }
.btn.m3-buyuk:disabled { opacity: .55; }
.m3-ok-yukari { position: fixed; top: 4px; right: 40px; }
.m3-karekod-kutu { background: #fff; border-radius: 18px; padding: 14px; box-shadow: 0 24px 60px rgba(0, 0, 0, .5); color: var(--gece); }
.m3-karekod { display: block; width: 240px; height: 240px; stroke: none; }
.m3-adres-yazi { margin: 0; display: flex; flex-direction: column; gap: 4px; background: var(--kart-2); border: 1px solid var(--cizgi); border-radius: 14px; padding: 12px 14px; }
.m3-adres-yazi span { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--soluk); }
.m3-adres-yazi b { font-size: 17px; color: var(--baslik); overflow-wrap: anywhere; }
.m3-gizli-alan { position: fixed; left: -9999px; top: 0; opacity: 0; }
@media (display-mode: standalone), (display-mode: minimal-ui) { .m3-kur-bag { display: none; } }
body.acilis-zemin { margin: 0; min-height: 100vh; min-height: 100dvh; background: #0A0A0A; display: flex; }
body.acilis-zemin .m3-acilis { flex: 1; min-height: 100vh; min-height: 100dvh; box-sizing: border-box; }
.yenilik { border: 1px dashed var(--bekle-cizgi); background: var(--bekle-zemin); }
.yenilik .kart-bas { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.yenilik h2 { margin: 0; }
.yenilik-liste { margin: 10px 0 0; padding-left: 20px; display: grid; gap: 6px; color: var(--metin); }
@media (max-width: 760px) {
  .m3-ok-yukari { right: 24px; }
  .m3-karekod { width: 200px; height: 200px; }
}
@media (prefers-reduced-motion: reduce) {
  .m3-halka svg .dolu { transition: none; }
}

/* K4 */
.k4-bagla { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(18rem, 1fr); gap:1rem; align-items:start }
.k4-bagla > *, .k4-sozlesme { min-width:0 }
.k4-metin, .k4-alanlar { overflow-wrap:anywhere }
.k4-metin p { white-space:pre-wrap }
.k4-paragraf { border-bottom:1px solid var(--cizgi); padding:.6rem 0 }
.k4-paragraf small { opacity:.7 }
.k4-bagla fieldset, .k4-sozlesme fieldset { min-width:0; margin:1rem 0; padding:.8rem; border:1px solid var(--cizgi); border-radius:.5rem }
.k4-baglam, .k4-fark { white-space:pre-wrap; overflow-wrap:anywhere }
.k4-kutu { display:flex; gap:.5rem; align-items:center; margin:.6rem 0 }
.k4-yukle { padding:1rem; border:1px dashed var(--cizgi); border-radius:.5rem }
.k4-adim { line-height:1.8; overflow-wrap:anywhere }
.k4-ornek { font-weight:700; text-align:center; letter-spacing:.15em }
.k4-kagit p { white-space:pre-wrap; overflow-wrap:anywhere }
.k4-tablo { width:100%; table-layout:fixed; border-collapse:collapse }
.k4-tablo td { border:1px solid; padding:.3rem; vertical-align:top; overflow-wrap:anywhere }
@media(max-width:700px) { .k4-bagla { grid-template-columns:minmax(0,1fr) } .k4-alanlar { grid-row:1 } .k4-yukle input { max-width:100% } }
/* K4 düzeltme: onaylı M4 bağlama yüzü. */
.k4-adimlar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; gap:8px; padding:0; margin:0 0 16px }
.k4-adimlar li { background:var(--kart); border:1px solid var(--cizgi); border-radius:14px; padding:12px; font-weight:600; font-size:14px }
.k4-adimlar small { display:block; font-size:12px; font-weight:400; color:var(--soluk) }
.k4-adimlar .simdi { outline:2px solid var(--vurgu); outline-offset:-2px }
.k4-editor { min-width:0 }
.k4-editor .k4-bagla { grid-template-columns:minmax(0,1fr) 360px; gap:16px }
.k4-panel { display:flex; flex-direction:column; gap:16px; min-width:0 }
.k4-panel > .kart { margin:0 }
.k4-panel .kart-bas { display:flex; flex-wrap:wrap; align-items:center; gap:8px }
.k4-panel .kart-bas h2 { margin:0 auto 0 0; font-size:16px }
.k4-ilerleme progress { width:100%; height:8px; display:block; accent-color:var(--vurgu) }
.k4-ilerleme p { font-size:12px; margin:6px 0 12px }
.k4-word { background:var(--kart); border:1px solid var(--cizgi); border-radius:14px; padding:24px 28px; box-shadow:0 4px 15px #00000008; font:14px/1.7 Georgia, 'Times New Roman',serif; color:var(--metin) }
.k4-word table { border-collapse:collapse; width:100%; table-layout:fixed }
.k4-word td { border:1px solid var(--ikincil-cizgi); padding:6px 10px; vertical-align:top }
.k4-word .k4-paragraf { position:relative; border:0; padding:0 }
.k4-word p { margin:8px 0; white-space:pre-wrap; overflow-wrap:anywhere }
.k4-cip { font:600 11px/1.5 system-ui,sans-serif; display:inline; padding:1px 4px; border:1px dashed var(--ikincil-cizgi); border-radius:5px; background:var(--kart-2); color:var(--soluk); cursor:pointer; overflow-wrap:anywhere; box-decoration-break:clone }
.k4-cip i { font-style:normal; border-radius:50%; background:var(--kart); margin-right:4px; padding:0 3px }
.k4-cip.ok { background:var(--vurgu-zemin); color:var(--vurgu); border:1px solid var(--vurgu) }
.k4-cip.oneri { background:var(--bekle-zemin); color:var(--bekle); border-color:var(--bekle-cizgi) }
.k4-cip.secili { outline:2px solid var(--vurgu); outline-offset:1px }
.k4-cip:focus-visible { outline:3px solid var(--vurgu); outline-offset:2px }
.k4-lejant { font-size:12px }
.k4-baglam { padding:12px; background:var(--kart-2); border:1px solid var(--cizgi); border-radius:12px; font:14px/1.6 Georgia,serif }
.k4-oneri, .k4-uyari { padding:12px; border:1px dashed var(--bekle-cizgi); border-radius:14px; background:var(--bekle-zemin); color:var(--bekle); margin:12px 0 }
.k4-oneri p { margin-top:0; font-size:14px }
.k4-sec-alanlar { max-height:450px; overflow-y:auto; margin-top:12px }
.k4-sec-alanlar fieldset { border:0; margin:0 0 12px; padding:0 }
.k4-sec-alanlar legend { font-size:11px; text-transform:uppercase; letter-spacing:.05em; font-weight:700; color:var(--soluk); margin-bottom:6px }
.k4-alan-sec { display:flex; gap:8px; padding:8px; align-items:flex-start; font-size:13px; border-radius:9px; cursor:pointer }
.k4-alan-sec:has(:checked) { background:var(--vurgu-zemin); color:var(--vurgu); font-weight:600 }
.k4-alan-sec input { flex:none; margin-top:3px; accent-color:var(--vurgu) }
.k4-bekleyen ul { list-style:none; padding:0; margin:0 }
.k4-bekleyen a { display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; padding:12px 0; border-bottom:1px solid var(--cizgi) }
.k4-bekleyen i { flex:none; font-style:normal; border:1px dashed var(--bekle-cizgi); color:var(--bekle); border-radius:50%; padding:1px 5px; font-size:12px }
.k4-bekleyen small { display:block; color:var(--soluk); font:12px/1.4 Georgia,serif; margin-top:3px; max-height:34px; overflow:hidden }
.k4-bekleyen b { font-size:13px }
.k4-js .k4-fallback { display:none }
.k4-satir-sec { position:absolute; left:-24px; top:6px; cursor:pointer }
.k4-word td .k4-satir-sec { position:static; float:left; margin:0 6px 0 0 }
.k4-satir-sec input { accent-color:var(--vurgu); width:14px; height:14px }
.k4-secili-satir { outline:2px dashed var(--vurgu); background:var(--vurgu-zemin) }
.k4-secim { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:30; background:var(--kart); border:1px solid var(--vurgu); box-shadow:0 8px 32px #0003; border-radius:14px; padding:18px; max-width:calc(100vw - 28px); width:360px; overflow-wrap:anywhere }
.k4-alt { display:flex; align-items:center; gap:12px; margin-top:24px; flex-wrap:wrap }
.k4-alt p { flex:1 1 300px; font-size:13px; color:var(--soluk) }
.k4-editor [hidden], .k4-uyari[hidden] { display:none !important }
@media(max-width:1180px) {
  .k4-editor .k4-bagla { grid-template-columns:minmax(0,1fr) }
  .k4-panel { grid-row:1 }
  .k4-js .k4-bekleyen { max-height:230px; overflow:auto }
  .k4-sec-alanlar { max-height:240px }
}
@media(max-width:700px) {
  .k4-adimlar li { padding:8px 4px; text-align:center; font-size:12px }
  .k4-adimlar small { display:none }
  .k4-word { padding:14px 16px; font-size:13px }
  .k4-word td { padding:4px 6px }
  .k4-word > .k4-paragraf { margin-left:8px }
  .k4-word > .k4-paragraf .k4-satir-sec { left:-22px }
  .k4-alt .btn { flex:1 1 auto }
}
.k4-satir-sec span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap }
.k4-word .k4-gruplu { border-left:3px solid var(--vurgu); background:var(--vurgu-zemin); padding-left:6px }
.k4-bolum-isaret { display:block; color:var(--vurgu); font:600 11px/1.5 system-ui,sans-serif; padding-top:4px }

/* K4 hakem 3 */
.k4-editor .k4-uygula { display:flex; justify-content:flex-end; margin:0 0 8px }

/* K5 */
.k5-kart { min-width: 0; }
.k5-kart pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.k5-kart li, .k5-kart p, .k5-kart a { overflow-wrap: anywhere; }
.k5-kart article { padding-block: 16px; border-bottom: 1px solid var(--cizgi); }
.k5-kart textarea { min-height: 112px; resize: vertical; width: 100%; max-width: 100%; }
.k5-oran-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.k5-oran-grid .alan { min-width: 0; }
@media (max-width: 700px) {
  .k5-oran-grid { grid-template-columns: minmax(0, 1fr); }
}

/* X2: müşteri paylaşımı ve link yönetimi */
.pl-dis { margin: 0; background: var(--icerik); color: var(--metin); }
.pl-kapsayici { width: min(100% - 32px, 960px); margin: 28px auto; }
.pl-kapsayici > .kart { margin-block: 20px; padding: clamp(18px, 4vw, 32px); }
.pl-kapsayici h1 { font-size: clamp(28px, 5vw, 44px); line-height: 1.15; overflow-wrap: anywhere; }
.pl-marka { display: flex; align-items: center; gap: 16px; overflow-wrap: anywhere; }
.pl-marka img { width: 64px; height: 64px; object-fit: contain; }
.pl-fotolar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pl-fotolar img { display: block; width: 100%; height: auto; border-radius: 8px; }
.pl-satir { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; padding-block: 16px; border-bottom: 1px solid var(--cizgi); }
.pl-satir > div { min-width: 0; overflow-wrap: anywhere; }
.pl-eylemler { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
[data-link-adres] { width: 100%; min-width: 0; }
[data-link-form] input { display: block; width: min(100%, 360px); }
@media (max-width: 600px) {
  .pl-fotolar { grid-template-columns: minmax(0, 1fr); }
  .pl-kapsayici .liste { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pl-eylemler > .btn { white-space: normal; }
}

/* X3: gösterme takvimi, telefonda günler tek sütunda. */
.tk-gezinme, .tk-tarih { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; margin-bottom: 16px; }
.tk-gezinme [aria-current="page"] { background: var(--vurgu-zemin); }
.tk-gunler { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.tk-hafta { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.tk-gun { min-width: 0; border: 1px solid var(--ikincil-cizgi); border-radius: 14px; padding: 12px; }
.tk-gun h2 { font-size: 16px; margin: 0 0 14px; }
.tk-gun h2 span { display: block; font-size: 13px; font-weight: 400; margin-top: 4px; }
.tk-randevu { background: var(--kart); border: 1px solid var(--ikincil-cizgi); border-radius: 10px; padding: 12px; margin-top: 8px; overflow-wrap: anywhere; }
.tk-randevu p { margin: 6px 0; }
.tk-panel { padding: 20px; margin-bottom: 16px; overflow-wrap: anywhere; }
.tk-tam { grid-column: 1 / -1; }
.tk-metin { white-space: pre-wrap; overflow-wrap: anywhere; }
.takvim .alan, .takvim input, .takvim select, .takvim textarea { min-width: 0; max-width: 100%; }
@media (max-width: 1100px) { .tk-hafta { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tk-hafta { grid-template-columns: minmax(0, 1fr); } .tk-panel { padding: 16px; } .tk-tarih .alan { flex: 1 1 100%; } }
/* X4: Aylık ortak raporu. Renkler uygulamanın mevcut paletinden. */
.aylik-arac { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:18px; }
.aylik-arac form { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.aylik-arac p { flex-basis:100%; margin:0; }
.aylik-arac input[type="month"] { min-height:44px; padding:0 12px; border:1px solid var(--ikincil-cizgi); border-radius:10px; background:var(--kart); color:var(--baslik); font:inherit; }  /* D3b S3: 44 px */
.aylik-kagit { max-width:1100px; margin:auto; padding:24px; font-size:13px; line-height:1.4; }
.aylik-kagit section { min-width:0; margin:12px 0; }
.aylik-kagit h2 { font-size:16px; margin:0 0 8px; }
.aylik-kagit h3 { font-size:13px; margin:0 0 5px; color:var(--soluk); }
.aylik-kagit p { margin:6px 0; font-size:11px; color:var(--soluk); overflow-wrap:anywhere; }
.aylik-bas { display:flex; justify-content:space-between; gap:12px; border-bottom:2px solid var(--cizgi); padding-bottom:12px; }
.aylik-bas img { display:block; max-width:100%; object-fit:contain; object-position:left; margin-bottom:8px; }
.aylik-bas .aylik-varsayilan-logo { filter:brightness(0); }
.aylik-bas > div { min-width:0; overflow-wrap:anywhere; }
.aylik-bas > div:last-child { text-align:right; }
.aylik-ikili { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.aylik-tablo { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; font-size:12px; }
.aylik-tablo th, .aylik-tablo td { padding:5px 3px; border-bottom:1px solid var(--cizgi); text-align:right; overflow-wrap:anywhere; }
.aylik-tablo th:first-child { text-align:left; }
.aylik-tablo thead th { font-size:10px; font-weight:500; color:var(--soluk); }
.aylik-tablo tbody th { font-weight:500; }
.aylik-bekleyen { border:1px dashed var(--cizgi); border-radius:8px; padding:8px 10px; }
.aylik-olcu { position:fixed; visibility:hidden; width:180mm; height:264mm; pointer-events:none; left:0; top:0; }
@media screen and (max-width:700px) {
  .aylik-kagit { padding:12px; }
  .aylik-ikili { grid-template-columns:minmax(0,1fr); gap:0; }
  /* D3b S3: telefonda raporun en küçük yazısı 13 px (önce 10-11 px); yazdırma (.aylik-baski) kendi ölçüsünü korur */
  .aylik-tablo { font-size:13px; table-layout:fixed; }
  .aylik-tablo thead th, .aylik-kagit p, .aylik-kagit h3 { font-size:13px; }
  .aylik-tablo th, .aylik-tablo td { padding:6px 2px; }
  .aylik-temsilci, .aylik-temsilci tbody { display:block; }
  .aylik-temsilci thead { display:none; }
  .aylik-temsilci tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 12px; margin-bottom:10px; }
  .aylik-temsilci th { grid-column:1/-1; }
  .aylik-temsilci td { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px; }
  .aylik-temsilci td::before { content:attr(data-etiket); color:var(--soluk); }
}
.aylik-baski .aylik-kagit { zoom:1; }
.aylik-baski .aylik-kagit { width:180mm; max-width:none; box-sizing:border-box; padding:0; margin:0; border:0; box-shadow:none; font-size:10px; line-height:1.25; background:white; color:black; }
.aylik-baski .aylik-kagit h2 { font-size:12px; margin-bottom:4px; color:black; }
.aylik-baski .aylik-kagit h3 { font-size:10px; color:#444; }
.aylik-baski .aylik-kagit p { font-size:8px; color:#444; margin:4px 0; }
.aylik-baski .aylik-kagit section { margin:7px 0; }
.aylik-baski .aylik-tablo { font-size:9px; }
.aylik-baski .aylik-tablo th, .aylik-baski .aylik-tablo td { padding:3px; border-color:#ccc; }
.aylik-baski .aylik-ikili { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.aylik-baski .aylik-temsilci { display:table; table-layout:auto; }
.aylik-baski .aylik-temsilci thead { display:table-header-group; }
.aylik-baski .aylik-temsilci tbody { display:table-row-group; }
.aylik-baski .aylik-temsilci tr { display:table-row; }
.aylik-baski .aylik-temsilci td { display:table-cell; }
.aylik-baski .aylik-temsilci td::before { content:none; }
@media print {
  .aylik-arac { display:none !important; }
  .aylik-baski .ana > :not(.aylik-kagit):not(.aylik-olcu) { display:none !important; }
  .aylik-baski .uyg { min-height:0; }
  .aylik-baski .aylik-tablo thead th { color:#444; }
  .aylik-kagit { break-inside:avoid; }
  .aylik-baski .aylik-kagit { margin:0 !important; }
}

/* X5: telefon ve masaüstünde aylık kira takip kartları. */
.kt-suzgec .form { max-width: 24rem; }
.kt-liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1rem; align-items: start; }
.kt-kart { min-width: 0; overflow-wrap: anywhere; }
.kt-kart .kart-bas { flex-wrap: wrap; gap: .5rem; }
.kt-kart h2 { min-width: 0; }
.kt-kart input, .kt-kart textarea { max-width: 100%; min-width: 0; box-sizing: border-box; }
.kt-bilgiler { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.kt-bilgiler dt { color: var(--soluk); font-size: .85rem; }
.kt-bilgiler dd { margin: .3rem 0 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.kt-durdur { margin-top: 1rem; }
.kt-durdur summary { cursor: pointer; }
.kt-not { white-space: pre-wrap; }
.mf-mahalleler { display: grid; gap: 16px; }
.mf-mahalle { padding: 20px; min-width: 0; }
.mf-kovalar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mf-kovalar article { min-width: 0; border-top: 1px solid var(--cizgi); overflow-wrap: anywhere; }
.mf-kovalar h3 { font-size: 15px; }
.mf-deger { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
@media (max-width: 700px) { .mf-kovalar { grid-template-columns: minmax(0, 1fr); } }

/* Harita verisi lisansı (ODbL): görünür kaynak satırı her haritada */
.harita-kaynak { display: block; margin-top: 4px; font-size: 11px; line-height: 1.3; color: var(--soluk); text-align: right; }
/* (H2: giriş sayfasının kaynak satırı kalktı; arka plan artık OSM verisi değil, şehirsiz desen) */

/* --- L1 lisans: sayfa üstü bakım uyarısı, Peak'in Lisans kartı, yalnız okuma sayfası, ofisin verisi --------------------- */
/* Hatırlatma bekleme dilinde (kesik mavi çizgi); ek süre ve yalnız okuma sorun anı (tek sıcak renk). */
.lisans-uyari { margin: 0; background: var(--bekle-zemin); color: var(--bekle); border: 1px dashed var(--bekle-cizgi); border-radius: 12px;
  padding: 10px 14px; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.lisans-uyari b { font-weight: 600; }
.lisans-uyari a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; margin-left: 4px; white-space: nowrap; }
.lisans-uyari.ek, .lisans-uyari.kapali { background: var(--uyari-zemin); color: var(--uyari); border: 1px solid var(--uyari-cizgi); }
.lisans-kart .liste dd .d { font-weight: 400; }
.lisans-kapali p { margin: 6px 0; }
.lisans-eylem { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px !important; }
.veri-kart form { margin: 14px 0 6px; }
.veri-kart .hata { margin-top: 10px; }
.veri-liste { margin: 6px 0 0; padding-left: 18px; display: grid; gap: 6px; font-size: 14px; color: var(--metin); }
.veri-liste b { font-weight: 600; color: var(--baslik); }

/* D3b: iptal edilen randevu (silinmez, soluk görünür) ve ofis logosu önizlemesi */
.tk-iptal { opacity: .72; }
.tk-randevu.tk-iptal a strong, .tk-panel.tk-iptal h2 { text-decoration: line-through; }
.d3b-logo { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 4px 0 8px; }
.d3b-logo-onizleme { display: inline-grid; place-items: center start; min-height: 46px; padding: 8px 12px; border-radius: 10px; background: #05070F; }
.d3b-logo-onizleme img { display: block; max-width: 180px; height: 30px; width: auto; object-fit: contain; }
.d3b-logo .d { margin: 0; }
.d3b-dokun { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }   /* D3b S3: tek başına duran bağlantı */

/* --- H2: gerçek sokak haritası (MapLibre GL JS, Protomaps OSM kesiti). harita-vektor.js kurar; dosya yoksa ya da WebGL
   yoksa SVG harita kalır. Dört görünüm: Koyu (gece çerçevesi), Açık, Gri, Sade; seçim cihazda hatırlanır. Arama yerel dizinden,
   konum yalnız cihazda. İğneler HTML öğesi (MapLibre işaretçisi): yer ve boy JS'ten (CSSOM), satır içi stil yok. */
.harita-kaydir { position: relative; }
.harita-kart.vektorlu svg.harita-svg, .pf-harita.vektorlu > svg, .pf-harita.vektorlu .pf-harita-arac { display: none; }
.harita-kart.vektorlu > .harita-yakin:not(.vharita-yakin) { display: none; }
.vharita, .vharita.maplibregl-map { position: absolute; inset: 0; background: var(--gece); }      /* maplibre-gl.css sonra yüklenir */
.pf-harita.vektorlu .vharita.maplibregl-map, .pf-harita.vektorlu .vharita { position: relative; inset: auto; width: 100%; aspect-ratio: 600 / 417; }
@media (max-width: 520px) { .pf-harita.vektorlu .vharita.maplibregl-map, .pf-harita.vektorlu .vharita { aspect-ratio: 4 / 3.4; } }
.vharita .maplibregl-canvas { outline: none; }
.vharita .maplibregl-canvas-container.maplibregl-interactive { cursor: grab; }
.isaret-koyuyor .vharita .maplibregl-canvas-container.maplibregl-interactive,
.pf-harita.vektorlu .vharita .maplibregl-canvas-container.maplibregl-interactive { cursor: crosshair; }
.vharita-kaynak { position: absolute; left: 8px; bottom: 8px; z-index: 2; padding: 2px 7px; border-radius: 6px; font-size: 11px; line-height: 1.4;
  background: rgba(5, 7, 15, .66); color: #C9D2EA; pointer-events: none; }
[data-gorunum="acik"] .vharita-kaynak, [data-gorunum="gri"] .vharita-kaynak, [data-gorunum="sade"] .vharita-kaynak { background: rgba(255, 255, 255, .82); color: #353F57; }
.pf-harita .vharita-kaynak { top: 8px; bottom: auto; }
.vgizli { display: none !important; }

.vharita-ust { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.varama { position: relative; flex: 1 1 240px; min-width: 0; }
.varama input { width: 100%; min-height: 44px; padding: 0 12px 0 38px; border: 1px solid var(--ikincil-cizgi); border-radius: 12px; background: var(--kart);
  font-size: 15px; color: var(--metin); }
.varama input:focus { border-color: var(--kobalt); outline: 2px solid var(--vurgu-zemin); outline-offset: 0; }
.varama-ikon { position: absolute; left: 12px; top: 0; bottom: 0; display: grid; place-items: center; color: var(--soluk); pointer-events: none; }
.varama-sonuc { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 4px; list-style: none;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; box-shadow: 0 12px 32px rgba(5, 7, 15, .18); max-height: 330px; overflow-y: auto; }
.varama-sonuc li { display: flex; flex-direction: column; gap: 1px; padding: 8px 10px; border-radius: 8px; cursor: pointer; }
.varama-sonuc li[aria-selected="true"], .varama-sonuc li:hover { background: var(--vurgu-zemin); }
.varama-sonuc li b { font-size: 14px; font-weight: 600; color: var(--baslik); }
.varama-sonuc li small { font-size: 12.5px; color: var(--soluk); }
.varama-sonuc li.bos { cursor: default; color: var(--soluk); font-size: 13.5px; }
.vgorunum { display: inline-flex; flex: none; border: 1px solid var(--ikincil-cizgi); border-radius: 12px; overflow: hidden; background: var(--kart); }
.vgorunum button { min-height: 42px; padding: 0 12px; border: 0; background: none; font-size: 13.5px; font-weight: 500; color: var(--metin); cursor: pointer; }
.vgorunum button + button { border-left: 1px solid var(--cizgi); }
.vgorunum button:hover { background: var(--kart-2); }
.vgorunum button[aria-pressed="true"] { background: var(--vurgu); color: #fff; }
.vharita-arac { display: flex; flex-wrap: wrap; gap: 8px; }
.vharita-arac .btn svg { width: 16px; height: 16px; }
.visaret-dugme[aria-pressed="true"] { background: var(--lacivert); border-color: var(--lacivert); }
.vharita-durum { flex-basis: 100%; margin: 0; font-size: 13px; color: var(--soluk); }
.vharita-durum[hidden] { display: none; }

/* işaretçiler */
.vpin { position: relative; width: 34px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; }
.vpin::after { content: ""; position: absolute; left: 50%; bottom: 0; margin-left: -6px; border-left: 6px solid transparent; border-right: 6px solid transparent;
  border-top: 11px solid var(--buz); }
.vpin-bas { position: absolute; left: 0; top: 0; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
  background: var(--kobalt); border: 2px solid var(--buz); color: #fff; font: 600 11px/1 var(--font); overflow: hidden; box-shadow: 0 2px 8px rgba(5, 7, 15, .45); }
.vpin-bas img { width: 100%; height: 100%; object-fit: cover; }
.vpin.bekle .vpin-bas { background: var(--lacivert); border-style: dashed; }
.vpin.secili { z-index: 5; }
.vpin.secili .vpin-bas { transform: scale(1.12); box-shadow: 0 0 0 4px rgba(127, 212, 255, .45), 0 2px 8px rgba(5, 7, 15, .5); }
.vpin.grupta { display: none; }
.vgrup .vpin-bas { font-size: 13px; }
.vpin:focus-visible, .vrandevu:focus-visible, .visaret:focus-visible { outline: 2px solid var(--buz); outline-offset: 3px; }
.vrandevu { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 11px; border-radius: 999px; border: 2px solid var(--kobalt);
  background: #fff; color: var(--baslik); font: 600 13px/1 var(--font); cursor: pointer; box-shadow: 0 2px 8px rgba(5, 7, 15, .35); }
.vrandevu::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--kobalt); }
.visaret { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border-radius: 10px; border: 2px solid var(--kobalt); background: #fff;
  color: var(--kobalt); cursor: pointer; box-shadow: 0 2px 8px rgba(5, 7, 15, .35); }
.visaret svg { width: 18px; height: 18px; stroke-width: 2; }
.visaret.yeni { border-style: dashed; background: var(--vurgu-zemin); }
.vkonum { display: block; width: 18px; height: 18px; border-radius: 50%; background: #2F6BFF; border: 3px solid #fff; box-shadow: 0 0 0 7px rgba(47, 107, 255, .28); }
.vbulunan { display: block; width: 22px; height: 22px; border-radius: 50%; border: 3px solid var(--buz); background: rgba(30, 80, 255, .35);
  box-shadow: 0 0 0 7px rgba(127, 212, 255, .25); }
.vigne { position: relative; display: block; width: 30px; height: 42px; cursor: grab; }
.vigne::before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--buz);
  background: radial-gradient(circle, #05070F 0 5px, var(--kobalt) 6px); box-shadow: 0 2px 8px rgba(5, 7, 15, .45); box-sizing: border-box; }
.vigne::after { content: ""; position: absolute; left: 50%; bottom: 0; margin-left: -6px; border-left: 6px solid transparent; border-right: 6px solid transparent;
  border-top: 13px solid var(--buz); }
.maplibregl-popup-content { font-family: var(--font); border-radius: 12px; padding: 12px 30px 12px 14px; color: var(--metin); box-shadow: 0 10px 30px rgba(5, 7, 15, .25); }
.maplibregl-popup-close-button { width: 28px; height: 28px; font-size: 18px; }
.vpencere b { display: block; font-size: 14px; color: var(--baslik); }
.vpencere p { margin: 6px 0 0; font-size: 13px; }
.vpencere .vnot { white-space: pre-line; }

/* yan bölüm: bugünkü randevularım ve uğrayacağım yerler */
.harita-gunluk { display: flex; flex-direction: column; gap: 8px; }
.harita-gunluk .kart-bas { margin: 0; }
.harita-gunluk .isaret-bas { margin-top: 10px; }
.harita-randevular, .harita-isaretler { list-style: none; margin: 0; padding: 0; }
.harita-randevular li, .harita-isaretler li { padding: 10px 2px; border-top: 1px solid var(--cizgi); }
.harita-randevular li:first-child, .harita-isaretler li:first-child { border-top: 0; }
.harita-randevular li > a { display: flex; flex-direction: column; text-decoration: none; }
.harita-randevular b, .harita-isaretler li > b { display: block; font-size: 14px; font-weight: 600; color: var(--baslik); overflow-wrap: anywhere; }
.harita-randevular small, .harita-isaretler li > small { display: block; font-size: 12.5px; color: var(--soluk); }
.isaret-eylem, .tarif { margin: 4px 0 0; font-size: 13px; color: var(--soluk); }
.pin-kart .tarif { margin: 2px 0 4px; font-size: 12.5px; }
.isaret-duzen, .isaret-ekle { margin-top: 6px; }
.isaret-duzen summary, .isaret-ekle summary { cursor: pointer; min-height: 32px; display: flex; align-items: center; font-size: 13.5px; font-weight: 500; color: var(--vurgu); }
.isaret-ekle summary { font-size: 14px; font-weight: 600; }
.isaret-duzen form, .isaret-ekle form { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.isaret-duzen form + form { margin-top: 6px; }
.harita-gunluk .alan textarea { width: 100%; min-width: 0; }
/* H2: konum seçiminde alt not yakınlaşma düğmelerinin altında kalmasın */
.pf-harita.vektorlu .pf-harita-not { padding-right: 68px; }
.vharita-yakin button.vil { font-size: 14px; font-weight: 700; letter-spacing: .02em; }
