html, body.tam-ekran{height:100%; margin:0;}
body.tam-ekran{overflow:hidden;}

.kapsayici{
  min-height:100vh;
  height:100vh;
  height:100dvh;
  display:flex;
  flex-direction:column;
  overflow:hidden; /* sayfa aşağıya kaymasın; içerik alanı kendi içinde scroll olur */
}
.ust{
  position:-webkit-sticky;
  position:sticky;
  top:0;
  z-index:10;
  padding:14px 14px 10px;
  -webkit-backdrop-filter: var(--cam);
  backdrop-filter: var(--cam);
  background: linear-gradient(to bottom, rgba(255,255,255,.65), rgba(255,255,255,.0));
}
:root[data-tema="dark"] .ust{
  background: linear-gradient(to bottom, rgba(5,9,20,.72), rgba(5,9,20,.0));
}
.ust-icerik{
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:space-between;
  min-height:44px;
}
.baslik{
  display:flex;
  align-items:center;
  gap:10px;
  flex:1 1 auto;
  min-width:0;
}
.logo{
  width:42px;height:42px;border-radius:14px;
  background: radial-gradient(circle at 30% 30%, var(--vurgu2), var(--vurgu));
  box-shadow: var(--golge);
}
.logo.logo-resim{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.h1{
  font-size:16px;
  font-weight:800;
  letter-spacing:.2px;
  margin:0;
}
.alt-baslik{
  font-size:12px;
  opacity:.7;
  margin-top:2px;
}
.durum-bandi{
  margin-top:10px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  border-radius: var(--radius);
  background: var(--kart);
  border:1px solid var(--kenar);
  box-shadow: var(--golge);
}

.durum-sag{display:flex; gap:10px; align-items:center;}
.durum-sol{
  display:flex;gap:10px;align-items:center;
}
.nokta{
  width:10px;height:10px;border-radius:99px;background:var(--hata);
  box-shadow:0 0 0 6px rgba(239,68,68,.12);
}
.nokta.online{background:var(--basari); box-shadow:0 0 0 6px rgba(22,163,74,.12);}
.kucuk{
  font-size:12px; opacity:.85;
}
.sag-kontrol{
  display:flex; gap:6px; align-items:center;
  flex-shrink:0;
}
.secici{
  padding:8px 10px;
  border-radius: 14px;
  border:1px solid var(--kenar);
  background: var(--kart2);
  color: var(--yazi);
  width: 100%;
  box-sizing: border-box;
}

/* Select/option okunabilirliği (özellikle Windows/Edge) */
.secici{ color-scheme: light; }
:root[data-tema="dark"] .secici{ color-scheme: dark; }
.secici option{ background: var(--kart2); color: var(--yazi); }
.secici optgroup{ background: var(--kart2); color: var(--yazi); }
.butonlar{
  padding:12px 14px 0;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.buton{
  padding:12px 12px;
  border-radius: var(--radius2);
  border:1px solid var(--kenar);
  background: linear-gradient(135deg, rgba(37,99,235,var(--butonA1)), rgba(14,165,233,var(--butonA2)));
  color: #fff;
  box-shadow: var(--golge);
  cursor:pointer;
  font-weight:800;
  display:flex;align-items:center;justify-content:center;gap:10px;
  user-select:none;
}
.buton.dar{
  display:inline-flex;
  width:auto;
  padding:12px 18px;
}
.buton.ikincil{
  background: var(--kart);
  color: var(--yazi);
}
.buton.ikincil.vurgu{
  background: linear-gradient(135deg, rgba(37,99,235,var(--kucukVurguA1)), rgba(14,165,233,var(--kucukVurguA2)));
  border-color: rgba(37,99,235,.35);
  color:#fff;
}
.buton:active{transform: translateY(1px);}
.sekmeler{
  padding:14px;
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:10px;
}
.sekmeler.iki-sekme{
  grid-template-columns: 1fr 1fr;
}
.sekme{
  padding:10px 10px;
  border-radius: 16px;
  border:1px solid var(--kenar);
  background: var(--kart);
  cursor:pointer;
  font-weight:800;
  text-align:center;
  opacity:.9;
  color: var(--yazi);
}
.sekme.secili{
  background: linear-gradient(135deg, rgba(37,99,235,var(--seciliA1)), rgba(14,165,233,var(--seciliA2)));
  border-color: rgba(37,99,235,.35);
  color:#fff;
}
.icerik{
  padding: 10px 14px;
  padding-bottom: max(120px, calc(env(safe-area-inset-bottom) + 110px));
  flex:1;
  overflow:auto;
  min-height:0;
  -webkit-overflow-scrolling: touch;
}
.kart{
  border-radius: var(--radius2);
  border:1px solid var(--kenar);
  background: var(--kart);
  box-shadow: var(--golge);
  padding:7px 10px;
  margin-bottom:6px;
  position: relative;
  isolation: isolate;
}

.kart.hatali{
  border-color: rgba(239,68,68,.45);
  background: rgba(239,68,68,.10);
}
:root[data-tema="dark"] .kart.hatali{
  background: rgba(239,68,68,.14);
}
.badge.hata{
  background: rgba(239,68,68,.14);
  color: var(--hata);
  border-color: rgba(239,68,68,.35);
}
.kart-aksiyonlar .alt-aksiyonlar{
  width:100%;
  flex:0 0 100%;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.kart-baslik{
  position: relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap: nowrap;
}
/* Sol metin alanı: kendi içinde wrap eder, sağ butona taşmaz */
.kart-baslik > div:first-child{
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}
.kart-baslik h3{
  margin:0;
  font-size:14px;
  font-weight:900;
  word-break: break-word;
  overflow-wrap: break-word;
  overflow-wrap: anywhere;
}

/* İş tamamlandı etiketi (kırmızı) */
.etiket-tamamlandi{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:8px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(239,68,68,.45);
  background: rgba(239,68,68,.10);
  color: rgba(239,68,68,1);
  font-size:11px;
  font-weight:900;
  letter-spacing:.2px;
  white-space:nowrap;
}
.badge{
  font-size:11px;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--kenar);
  background: rgba(245,158,11,.12);
  color: var(--uyari);

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:128px;
  text-align:center;
  white-space:nowrap;
}

.badge.yukleniyor{
  background: rgba(37,99,235,.12);
  color: var(--vurgu);
  border-color: rgba(37,99,235,.28);
}

.badge .dots{
  display:inline-flex;
  gap:2px;
  margin-left:2px;
}
.badge .dots span{
  opacity:.25;
  animation: dotPulse 1.1s infinite;
}
.badge .dots span:nth-child(2){ animation-delay:.15s; }
.badge .dots span:nth-child(3){ animation-delay:.3s; }

@keyframes dotPulse{
  0%, 80%, 100% { opacity:.25; transform: translateY(0); }
  40% { opacity: 1; transform: translateY(-1px); }
}

.kart-progress{
  width:100%;
  height:8px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid var(--kenar);
  background: rgba(148,163,184,.10);
  margin-top:10px;
}
:root[data-tema="dark"] .kart-progress{
  background: rgba(148,163,184,.14);
}
.kart-progress .bar{
  height:100%;
  width:35%;
  border-radius:999px;
  background: var(--vurgu);
  animation: kartProgress 1s infinite linear;
}

@keyframes kartProgress{
  0% { transform: translateX(-140%); }
  100% { transform: translateX(380%); }
}

.badge.gri{
  background: rgba(148,163,184,.14);
  color: rgba(148,163,184,1);
}
.badge.kayitli{
  background: rgba(22,163,74,.14);
  color: var(--basari);
}

.badge.ilerleme{
  background: linear-gradient(135deg, rgba(37,99,235,.12), rgba(22,163,74,.12));
  color: var(--vurgu);
  border-color: rgba(37,99,235,.28);
  font-variant-numeric: tabular-nums;
}
.badge.ilerleme svg{
  width:14px;
  height:14px;
}

.badge.tamamlandi{
  background: rgba(239,68,68,.12);
  color: rgba(239,68,68,1);
  border-color: rgba(239,68,68,.35);
  font-variant-numeric: tabular-nums;
}
.kart-alt{
  margin-top:6px;
  font-size:12px;
  opacity:.8;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
/* Kart başlığının altındaki açıklamalarda (adres / oluşturan) boşluk olmasın */
.kart-baslik .kart-alt{
  margin-top:0;
}
.kart-alt.dikey{
  display:grid;
  gap:3px;
}
/* Adres - tam göster, sol kolonda wrap eder */
.kart-adres {
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}
.kart-olusturan {
  font-size: .88em;
  opacity: .72;
}
.kart-aksiyonlar{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.kart-aksiyonlar.uc{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
}
.kart-aksiyonlar.uc .kucuk-buton{
  min-width: 0;
  width: 100%;
}
.kart-aksiyonlar .kucuk-buton{
  flex: 1 1 0;
  min-width: 110px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.kucuk-buton{
  padding:9px 10px;
  border-radius: 14px;
  border:1px solid var(--kenar);
  background: var(--kart2);
  cursor:pointer;
  font-weight:900;
  font-size:12px;
  color: var(--yazi);
}
.kucuk-buton.vurgu{
  background: linear-gradient(135deg, rgba(37,99,235,var(--kucukVurguA1)), rgba(14,165,233,var(--kucukVurguA2)));
  border-color: rgba(37,99,235,.35);
  color:#fff;
}
.kucuk-buton.tehlike{
  background: linear-gradient(135deg, rgba(239,68,68,.95), rgba(220,38,38,.92));
  border-color: rgba(239,68,68,.45);
  color:#fff;
}

/* İkon butonlar (yukarı/aşağı/sil/kaydet vb.) */
.ikon-buton{
  width: 38px;
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border: 1px solid var(--kenar);
  background: var(--kart2);
  cursor: pointer;
  font-weight: 900;
  font-size: 16px;
  line-height: 1;
  color: var(--yazi);
  user-select: none;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.ikon-buton:active{transform: translateY(1px);}
.ikon-buton.vurgu{
  background: linear-gradient(135deg, rgba(37,99,235,var(--kucukVurguA1)), rgba(14,165,233,var(--kucukVurguA2)));
  border-color: rgba(37,99,235,.35);
  color: #fff;
}

.ikon-buton.tehlike{
  background: linear-gradient(135deg, rgba(239,68,68,.95), rgba(220,38,38,.92));
  border-color: rgba(239,68,68,.45);
  color: #fff;
}
.ikon-buton.sil{ color: var(--hata); }

/* Üst bar: PWA kurulum butonu */
.pwa-ust-buton{
  height: 38px;
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(37,99,235,.30);
  background: linear-gradient(135deg, rgba(37,99,235,.95), rgba(14,165,233,.92));
  color: #fff;
  box-shadow: 0 16px 38px rgba(2,6,23,.18);
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
  line-height: 1;
  position: relative;
  overflow: hidden;
  user-select:none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  max-width: min(42vw, 190px);
}
.pwa-ust-buton svg{ width:18px; height:18px; flex:0 0 auto; opacity:.95; animation: pwa_icon 1.6s ease-in-out infinite; transform-origin: center; }
.pwa-ust-buton span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}
.pwa-ust-buton::before{
  content:"";
  position:absolute;
  inset:-40% -40%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), rgba(255,255,255,0) 55%);
  transform: translateX(-15%) rotate(12deg);
  animation: pwa_parilti 2.4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes pwa_parilti{
  0%{ opacity:.35; transform: translateX(-25%) rotate(12deg); }
  50%{ opacity:.75; transform: translateX(10%) rotate(12deg); }
  100%{ opacity:.35; transform: translateX(-25%) rotate(12deg); }
}
@keyframes pwa_icon{
  0%,100%{ transform: translateY(0) scale(1); }
  50%{ transform: translateY(-2px) scale(1.03); }
}
.pwa-ust-buton:active{ transform: translateY(1px); }

/* WhatsApp butonu: mobilde tıklanabilirliği garanti et */
.whatsapp-buton{
  position: relative;
  z-index: 3;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.gizli{display:none !important;}

.liste-ust{
  display:flex;
  justify-content:flex-end;
  margin: 0 0 10px;
}

.modal-arka{
  position:fixed; inset:0;
  background: rgba(2,6,23,.50);
  display:flex; align-items:flex-end; justify-content:center;
  /* Leaflet vb. katmanların (z-index 400+) modal üstüne çıkmasını engelle */
  z-index:20000;
  padding-top: env(safe-area-inset-top);
  /* Klavye açılınca modalın üstte kalması için --kb eklenir */
  padding-bottom: calc(env(safe-area-inset-bottom) + var(--kb, 0px));
  /* Mobilde modal dışarı taşmasın */
  padding-left: calc(12px + env(safe-area-inset-left));
  padding-right: calc(12px + env(safe-area-inset-right));
}
.modal-arka.klavye-acik{ align-items:flex-start; }
.modal-arka.ortada{ align-items:center; }
.modal{
  box-sizing: border-box;
  width:min(780px, 100%);
  border-radius: 24px 24px 0 0;
  background: var(--kart2);
  border:1px solid var(--kenar);
  box-shadow: var(--golge);
  padding:14px 14px 18px;
  padding-top: calc(14px + env(safe-area-inset-top));
  padding-bottom: calc(18px + env(safe-area-inset-bottom));
  /* visualViewport ile güncellenen yükseklik (klavye açılınca küçülür) */
  max-height: calc(var(--vvh, 100vh) - var(--kb, 0px) - 24px);
  max-height: calc(var(--vvh, 100dvh) - var(--kb, 0px) - 24px);
  overflow:auto;
  scroll-padding-top: calc(14px + env(safe-area-inset-top));
  -webkit-overflow-scrolling: touch;
}
.modal.ortada{
  width:min(520px, 100%);
  border-radius: 24px;
}
.modal.ortada.genis{
  width:min(760px, 100%);
  max-height: calc(var(--vvh, 92vh) - var(--kb, 0px) - 24px);
  max-height: calc(var(--vvh, 92dvh) - var(--kb, 0px) - 24px);
  overflow-y: auto;
}

/* Modal içine taşınan ayarlar bölümü mobilde dışarı taşmasın */
.modal #bolumIletisim{ width:100%; max-width:100%; }
.modal #bolumIletisim .kart{ width:100%; }
.modal-baslik{
  display:flex; align-items:center; justify-content:space-between;
}
.modal-baslik h2{
  margin:0; font-size:15px; font-weight:900;
}
.form{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.giris{
  display:grid;
  gap:8px;
}
.input{
  width:100%;
  padding:12px 12px;
  border-radius: 16px;
  border:1px solid var(--kenar);
  background: rgba(255,255,255,.9);
  color: #0b1220;
  font-size: 16px;
  -webkit-appearance: none;
  appearance: none;
}

/* Input içinde sağ ikon (QR okuma vb.) */
.input-ikonlu{ position:relative; }
.input-ikonlu .input{ padding-right: 56px; }
.input-ikonlu .input-ikon{
  position:absolute;
  right: 10px;
  top: 50%;
  /* Resim5: ikon biraz daha aşağıda dursun */
  transform: translateY(calc(-50% + 3px));
  width: 40px;
  height: 40px;
}

/* Leaflet harita katmanları modalın üstüne çıkmasın */
.leaflet-container, .leaflet-pane, .leaflet-top, .leaflet-bottom{ z-index: 1 !important; }
.leaflet-popup-content-wrapper{border-radius:16px !important;box-shadow:0 8px 30px rgba(0,0,0,.18) !important;padding:0 !important;}
.leaflet-popup-content{margin:14px 16px 18px !important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif !important;}
.leaflet-popup-tip{box-shadow:0 4px 12px rgba(0,0,0,.12) !important;}

/* Kart sağ rozet alanı + WhatsApp butonu */
.kart-badge-alani{
  flex: 0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;

  /* Mobilde üstteki metin/başlık katmanları bazen sağdaki butonların üzerine tıklamayı engelleyebiliyor.
     Sağ blok kendi stacking context'inde üstte kalsın. */
  position: relative;
  z-index: 6;
}

.whatsapp-buton{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(37,99,235,.30);
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color:#fff;
  font-weight:900;
  font-size:12px;
  letter-spacing:.2px;
  cursor:pointer;
  box-shadow: 0 4px 14px rgba(37,99,235,.30);
  transition: transform .1s, box-shadow .1s;
}
.whatsapp-buton svg{ width:16px; height:16px; }
.whatsapp-buton:active{ transform: translateY(1px); box-shadow: 0 2px 6px rgba(37,99,235,.20); }
.whatsapp-buton:hover{ background: linear-gradient(135deg, #1d4ed8, #1e40af); }

/* ─── Diger rol kartları: eşit yükseklik için ───────────────────────────── */
/* Kart içi flex yapısı: metin sol, buton sağda sabit yer kaplar */
.diger-kart-ic {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  justify-content: space-between;
  min-height: 52px; /* tüm kartlar en az bu yükseklikte */
}
.diger-kart-metin {
  flex: 1;
  min-width: 0;
}
.diger-kart-metin h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 900;
  overflow-wrap: break-word;
  word-break: break-word;
}
.diger-kart-btn-alan {
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
}
/* Buton görünmez olsa da alanı korur */
.diger-kart-btn-alan .whatsapp-buton[style*="visibility:hidden"] {
  pointer-events: none;
}
:root[data-tema="dark"] .input{
  background: rgba(255,255,255,.10);
  color: var(--yazi);
}
.iki{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.uyari{
  font-size:12px;
  color: var(--hata);
  font-weight:900;
}
.uyari.bilgi{
  color: var(--yazi);
  font-weight:800;
  opacity:.88;
}
.gorev-kart{
  padding:12px;
  border-radius: 18px;
  border:1px solid var(--kenar);
  background: var(--kart);
  margin-bottom:10px;
}
.gorev-kart.tamam{
  border-color: rgba(22,163,74,.45);
  background: rgba(22,163,74,.22);
}

.ilerleme-ust{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; opacity:.92;}
.ilerleme-bar{height:10px; border-radius:999px; background: rgba(148,163,184,.25); overflow:hidden;}
:root[data-tema="dark"] .ilerleme-bar{background: rgba(148,163,184,.18);}
.ilerleme-dol{height:100%; border-radius:999px; background: linear-gradient(90deg, rgba(37,99,235,.85), rgba(14,165,233,.85)); transition: width 520ms cubic-bezier(.2,.9,.2,1);}

/* Harita güncelleme progress (modern) */
.ilerleme{width:100%;}
.ilerleme-cizgi{height:10px; border-radius:999px; background: rgba(148,163,184,.25); overflow:hidden;}
:root[data-tema="dark"] .ilerleme-cizgi{background: rgba(148,163,184,.18);}
.ilerleme-dolgu{
  height:100%;
  width:0%;
  border-radius:999px;
  background: linear-gradient(90deg, rgba(37,99,235,.92), rgba(14,165,233,.92), rgba(37,99,235,.92));
  background-size: 200% 100%;
  transition: width 520ms cubic-bezier(.2,.9,.2,1);
}
.ilerleme.indet .ilerleme-dolgu{animation: ilerlemeKay 1.1s linear infinite;}
@keyframes ilerlemeKay{from{background-position:0% 0;} to{background-position:200% 0;}}

.oneriler{margin-top:8px; border:1px solid var(--kenar); border-radius:16px; overflow:hidden; background: var(--kart); box-shadow: var(--golge);}
.oneriler .oneri{display:block; width:100%; text-align:left; padding:10px 12px; border:0; background:transparent; color:var(--yazi); font-size:13px; line-height:1.25; cursor:pointer;}
.oneriler .oneri + .oneri{border-top:1px solid var(--kenar);}
.oneriler .oneri:active{transform: translateY(1px);}

/* Modal alt sabit aksiyon (ör. Kaydet) */
.modal-alt-sabit{
  position: sticky;
  bottom: 0;
  padding-top: 12px;
  margin-top: 14px;
  background: linear-gradient(to top, var(--kart2) 70%, rgba(255,255,255,0));
}
:root[data-tema="dark"] .modal-alt-sabit{
  background: linear-gradient(to top, var(--kart2) 70%, rgba(0,0,0,0));
}

/* Sayfa geçişleri (sekmelerde yumuşak animasyon) */
.gecis-anim{animation: fadeSlide 1s ease-out;}
@keyframes fadeSlide{from{opacity:.0; transform: translateY(12px);} to{opacity:1; transform: translateY(0);} }

/* Ayarlar: saha yöneticisi/işçi için ortada popup form */
.ayarlar-sayfa{
  position:fixed;
  inset:0;
  z-index:160;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  background: rgba(2,6,23,.45);
  -webkit-backdrop-filter: var(--cam);
  backdrop-filter: var(--cam);
  opacity:0;
  pointer-events:none;
  transform: scale(1.02);
  transition: opacity 1s ease, transform 1s cubic-bezier(.2,.9,.2,1);
}
:root[data-tema="dark"] .ayarlar-sayfa{ background: rgba(2,6,23,.62); }
.ayarlar-sayfa.acik{ opacity:1; pointer-events:auto; transform: scale(1); }

.ayarlar-modal{
  width: min(780px, 100%);
  border-radius: 26px;
  border: 1px solid var(--kenar);
  box-shadow: var(--golge);
  background:
    radial-gradient(circle at 35% 20%, rgba(37,99,235,.10), transparent 55%),
    radial-gradient(circle at 70% 85%, rgba(14,165,233,.08), transparent 55%),
    var(--kart);
  overflow:hidden;
}
.ayarlar-ust{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 14px 10px;
}
.ayarlar-baslik{ font-weight:900; font-size:16px; }
.ayarlar-icerik{
  padding:0 14px 14px;

}

/* Ayarlar seçim kartları (Resim4 tarzı) */
.ayarlar-grup{ margin-top: 2px; }
.secim-satir{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:10px;
  overflow-x:auto;
  padding-bottom: 2px;
  -webkit-overflow-scrolling: touch;
}
.secim-satir::-webkit-scrollbar{ height: 6px; }
.secim-satir::-webkit-scrollbar-thumb{ background: rgba(148,163,184,.35); border-radius:999px; }

.secim-kart{
  flex: 1 0 140px;
  min-width: 140px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 12px;
  border-radius: 18px;
  border: 1px solid var(--kenar);
  background: rgba(255,255,255,.72);
  color: var(--yazi);
  cursor:pointer;
  user-select:none;
  transition: transform 140ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

/* Tema satırı: mobilde iki buton aynı anda görünsün */
#adminTemaSecimler,
#ayarlarTemaSecimler{
  overflow-x: hidden;
  flex-wrap: wrap;
}
#adminTemaSecimler .secim-kart,
#ayarlarTemaSecimler .secim-kart{
  flex: 1 1 calc(50% - 6px);
  min-width: calc(50% - 6px);
}

@media (max-width: 420px){
  #adminTemaSecimler .secim-kart,
  #ayarlarTemaSecimler .secim-kart{ padding: 10px 10px; gap: 8px; }
  #adminTemaSecimler .renk-kutu,
  #ayarlarTemaSecimler .renk-kutu{ width: 30px; height: 30px; border-radius: 11px; }
}
:root[data-tema="dark"] .secim-kart{ background: rgba(255,255,255,.08); }
.secim-kart:active{ transform: translateY(1px); }

.secim-kart .bayrak{ font-size: 26px; line-height:1; }
.secim-kart .secim-yazi{ font-weight:900; font-size:13px; letter-spacing:.2px; }

/* Seçili (Dil/Tema): açık yeşil */
.secim-kart.secili,
.secim-kart.secili-tema{
  background: rgba(34,197,94,.18);
  border-color: rgba(34,197,94,.55);
  color: var(--yazi);
  box-shadow: 0 10px 24px rgba(2,6,23,.12);
}
:root[data-tema="dark"] .secim-kart.secili,
:root[data-tema="dark"] .secim-kart.secili-tema{
  background: rgba(34,197,94,.20);
  border-color: rgba(34,197,94,.60);
  color: var(--yazi);
}

.renk-kutu{ width:34px; height:34px; border-radius: 12px; border:1px solid rgba(148,163,184,.35); box-shadow: 0 8px 18px rgba(2,6,23,.10) inset; }
.renk-kutu.acik{ background: #dbeafe; }
.renk-kutu.koyu{ background: #0f172a; }

@media (max-width: 520px){
  .secim-kart{ min-width: 124px; padding: 11px 10px; }
}

/* Modal uyarı içinde boş durum kartı kullanımı */
.uyari.bos{ color: var(--yazi); font-weight:600; }
.uyari.bos .bos-baslik{ color: var(--yazi); }


/* Global yükleniyor overlay (Resim4 benzeri) */
.yukleniyor-arka{
  position:fixed;
  inset:0;
  z-index:220;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background: rgba(2,6,23,.45);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
.yukleniyor-kart{
  width:min(760px, 92vw);
  border-radius: 24px;
  border:1px solid var(--kenar);
  background: var(--kart2);
  box-shadow: var(--golge);
  padding:16px 16px 14px;
}
.yukleniyor-baslik{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  margin-bottom:12px;
}
.yukleniyor-cizgi{
  height:10px;
  border-radius:999px;
  background: rgba(148,163,184,.25);
  overflow:hidden;
  position:relative;
}
:root[data-tema="dark"] .yukleniyor-cizgi{ background: rgba(148,163,184,.18); }
.yukleniyor-nokta{
  position:absolute;
  top:0; bottom:0;
  width:38%;
  border-radius:999px;
  background: linear-gradient(90deg, rgba(37,99,235,.85), rgba(14,165,233,.85));
  animation: yukleniyorKay 1s infinite linear;
}
@keyframes yukleniyorKay{ 0%{ transform: translateX(-140%);} 100%{ transform: translateX(380%);} }
.gorev-ust{
  display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
}
.gorev-adi{
  font-weight:900; font-size:13px;
}
.foto-satir{
  margin-top:10px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
.foto-kutu{
  border-radius: 16px;
  border:1px dashed rgba(148,163,184,.55);
  background: rgba(148,163,184,.10);
  height:92px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  position:relative;
  cursor:pointer;
}
.foto-kutu img{
  width:100%;height:100%; object-fit:cover;
}
.foto-kutu .etiket{
  position:absolute; left:8px; top:8px;
  font-size:10px; font-weight:900;
  padding:4px 8px;
  border-radius: 999px;
  background: rgba(2,6,23,.62);
  color:#fff;
}

.foto-kutu-bos{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.foto-kutu-ikon{
  width:22px;
  height:22px;
  opacity:.65;
  color: var(--yazi);
}
.foto-kutu-ikon svg{
  width:100%;
  height:100%;
}
.foto-kutu-plus{
  font-weight:900;
  opacity:.7;
  font-size:18px;
  line-height:1;
}

/* Kilitli slot */
.foto-kutu.kilitli{
  cursor:not-allowed;
  border-color: rgba(139,92,246,.55);
  background: rgba(139,92,246,.08);
}
.foto-kutu.pasif{
  cursor:default;
  opacity:.65;
}
/* Modern kilit overlay */
.foto-kutu-kilit{
  position:absolute;
  inset:6px;
  border-radius:14px;
  background: linear-gradient(145deg, rgba(17,24,39,.82), rgba(30,20,60,.88));
  border:1px solid rgba(139,92,246,.35);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 12px 32px rgba(0,0,0,.38);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 8px;
  overflow:hidden;
}
/* Animasyonlu parlama halkası */
.foto-kutu-kilit::before{
  content:"";
  position:absolute;
  width:80px; height:80px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(139,92,246,.35) 0%, transparent 70%);
  animation: kilitGlow 2.4s ease-in-out infinite;
}
.foto-kutu-kilit::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, transparent 40%, rgba(139,92,246,.08) 100%);
  border-radius:14px;
}
@keyframes kilitGlow{
  0%,100%{ transform:scale(.8); opacity:.4; }
  50%{ transform:scale(1.3); opacity:.9; }
}
.foto-kutu-kilit-ikon{
  position:relative;
  z-index:1;
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  animation: kilitFloat 2.8s ease-in-out infinite;
  filter: drop-shadow(0 0 10px rgba(139,92,246,.6));
}
.foto-kutu-kilit-ikon svg{
  width:36px; height:36px;
}
@keyframes kilitFloat{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-3px) scale(1.06); }
}
.foto-kutu-kilit-yazi{
  position:relative;
  z-index:1;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.3px;
  color:rgba(255,255,255,.9);
  text-align:center;
  max-width:84px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow: 0 2px 10px rgba(139,92,246,.5);
}

/* Yerel kayıt bekliyor rozeti */

.foto-yerel-kilit{
  position:absolute;
  top:6px;right:6px;
  font-size:14px;
  line-height:1;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.5));
  pointer-events:none;
}


.aktarim-arka{
  position:fixed;inset:0;
  background:rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  z-index:30000;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:aktarimIn .22s ease;
}
@keyframes aktarimIn{from{opacity:0;}to{opacity:1;}}
.aktarim-kart{
  background:var(--kart2);
  border-radius:24px;
  padding:32px 28px;
  width:100%;max-width:340px;
  box-shadow:0 32px 80px rgba(0,0,0,.35);
  text-align:center;
  animation:aktarimKartIn .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes aktarimKartIn{from{transform:scale(.88) translateY(24px);opacity:0;}to{transform:none;opacity:1;}}
.aktarim-ikon{
  width:72px;height:72px;border-radius:20px;
  background:linear-gradient(135deg,#eff6ff,#dbeafe);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
  box-shadow:0 4px 20px rgba(37,99,235,.2);
  position:relative;
}
.aktarim-ikon svg{ color:#2563eb; }
.aktarim-ring{
  position:absolute;inset:-6px;
  border-radius:26px;
  border:2.5px solid transparent;
  border-top-color:#2563eb;
  border-right-color:#3b82f6;
  animation:aktarimDon 1s linear infinite;
}
@keyframes aktarimDon{to{transform:rotate(360deg);}}
.aktarim-baslik{
  font-size:1.1rem;font-weight:900;
  color:var(--yazi);margin-bottom:6px;
}
.aktarim-alt{
  font-size:.84rem;color:var(--aciklama);margin-bottom:20px;
}
.aktarim-bar{
  height:8px;border-radius:4px;
  background:var(--alan);
  overflow:hidden;margin-bottom:8px;
}
.aktarim-dol{
  height:100%;border-radius:4px;
  background:linear-gradient(90deg,#2563eb,#3b82f6);
  transition:width .4s cubic-bezier(.25,.46,.45,.94);
}
.aktarim-prog{
  font-size:.78rem;color:var(--aciklama);font-weight:600;
  margin-bottom:18px;
}
.aktarim-adim{
  display:flex;align-items:center;justify-content:center;
  gap:8px;font-size:.82rem;color:var(--aciklama);
  min-height:22px;
}
.aktarim-adim-dot{
  width:8px;height:8px;border-radius:50%;
  background:#2563eb;
  animation:adimPulse 1s ease-in-out infinite;
}
@keyframes adimPulse{0%,100%{transform:scale(1);opacity:.6;}50%{transform:scale(1.4);opacity:1;}}
.aktarim-tamam{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,#10b981,#059669);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
  box-shadow:0 4px 16px rgba(16,185,129,.35);
  animation:tamamIn .4s cubic-bezier(.34,1.56,.64,1);
}
@keyframes tamamIn{from{transform:scale(0);}to{transform:scale(1);}}
.aktarim-tamam svg{color:#fff;}
.alt-yonlendirme{
  position:fixed;
  left:0; right:0;
  /* Mobil tarayıcı alt barına takılmaması için biraz yukarı al */
  bottom: calc(env(safe-area-inset-bottom) + 10px);
  padding:10px 14px calc(14px + env(safe-area-inset-bottom));
  -webkit-backdrop-filter: var(--cam);
  backdrop-filter: var(--cam);
  background: linear-gradient(to top, rgba(255,255,255,.70), rgba(255,255,255,.0));
}
:root[data-tema="dark"] .alt-yonlendirme{
  background: linear-gradient(to top, rgba(5,9,20,.76), rgba(5,9,20,.0));
}
.alt-icerik{
  display:flex; gap:10px;
  width:min(780px, 100%);
  margin:0 auto;
}
.alt-icerik .kucuk-buton{flex:1;}

/* Sabit alt yazı */
.alt-footer{
  width:min(780px, 100%);
  margin: 8px auto 0;
  text-align:center;
  font-size:12px;
  font-weight:900;
  opacity:.75;
  padding-bottom: env(safe-area-inset-bottom);
}

/* Alt menü butonları: Açık temada (Resim2 gibi) dolu mavi, koyu temada (Resim3 gibi) neon çizgili */
.alt-yonlendirme .kucuk-buton,
.admin-nav .kucuk-buton{
  padding:12px 12px;
  border-radius: var(--radius2);
  font-size:13px;
}

:root[data-tema="light"] .alt-yonlendirme .kucuk-buton,
:root[data-tema="light"] .admin-nav .kucuk-buton{
  background: linear-gradient(135deg, rgba(37,99,235,var(--butonA1)), rgba(14,165,233,var(--butonA2)));
  border-color: rgba(37,99,235,.35);
  color:#fff;
  box-shadow: var(--golge);
}
.ana-sinirlama{
  width:min(780px, 100%);
  margin:0 auto;
}
.video-kapsayici{
  margin-top:12px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--kenar);
}
video{width:100%; height:auto; display:block; background:#000;}


/* Light temada butonlar: mavi zemin + beyaz yazı (örnekle uyumlu) */
:root[data-tema="light"] .buton:not(.ikincil){ color:#fff; }
:root[data-tema="light"] .sekme.secili{ color:#fff; }
:root[data-tema="light"] .kucuk-buton.vurgu{ color:#fff; }

/* QR ve bazı modaller ekranda ortalı çıksın */
.modal-arka.ortada{ align-items:center; }
.modal-arka.ortada .modal{ border-radius:24px; }

/* Kart alt bilgileri satır satır */
.kart-alt.dikey{ display:grid; gap:4px; }

/* Liste üst aksiyonları (Toplu Veri Aktar vb.) */
.liste-ust{ display:flex; justify-content:flex-end; margin: 6px 0 10px; }


/* Dark temada butonlar: neon çizgili (örnekle uyumlu) */
:root[data-tema="dark"] .buton{
  background: rgba(7,12,28,.55);
  border:1px solid rgba(96,165,250,.30);
  color: rgba(226,232,240,.98);
  box-shadow: 0 12px 34px rgba(0,0,0,.42);
}
:root[data-tema="dark"] .buton:not(.ikincil){
  border-color: rgba(56,189,248,.55);
  color: rgba(224,242,254,1);
  box-shadow: 0 12px 34px rgba(0,0,0,.42), 0 0 0 4px rgba(56,189,248,.10) inset;
}
:root[data-tema="dark"] .buton.ikincil{
  border-color: rgba(148,163,184,.22);
  color: rgba(226,232,240,.92);
}
:root[data-tema="dark"] .kucuk-buton,
:root[data-tema="dark"] .sekme{
  background: rgba(7,12,28,.55);
  border:1px solid rgba(96,165,250,.26);
  color: rgba(226,232,240,.95);
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
}
:root[data-tema="dark"] .kucuk-buton.vurgu{
  background: rgba(7,12,28,.55);
  border:1px solid rgba(56,189,248,.60);
  color: rgba(56,189,248,1);
  box-shadow: 0 10px 26px rgba(0,0,0,.35), 0 0 0 4px rgba(56,189,248,.10) inset;
}
:root[data-tema="dark"] .sekme.secili{
  background: rgba(7,12,28,.55);
  border:1px solid rgba(56,189,248,.60);
  color: rgba(56,189,248,1);
  box-shadow: 0 10px 26px rgba(0,0,0,.35), 0 0 0 4px rgba(56,189,248,.10) inset;
}

/* Toast bildirimleri */
.toast-alan{
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  width: min(420px, calc(100vw - 32px));
  z-index: 9999;
  display: grid;
  gap: 8px;
  pointer-events: none;
}
.toast-alan.ortada{
  top: 50%;
  bottom: auto;
  transform: translate(-50%, -50%);
}
.toast{
  pointer-events: auto;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(15, 23, 42, 0.92);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.28), 0 2px 8px rgba(0,0,0,0.16);
  padding: 12px 14px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  animation: toastGelsin 0.28s cubic-bezier(0.34,1.56,0.64,1) both;
}
@keyframes toastGelsin{
  from{ opacity:0; transform:translateY(16px) scale(0.94); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.toast.kapan{
  animation: toastGitsin 0.18s ease forwards;
}
@keyframes toastGitsin{
  from{ opacity:1; transform:translateY(0) scale(1); }
  to{ opacity:0; transform:translateY(10px) scale(0.92); }
}
.toast-ikon{
  width:8px;height:8px;border-radius:999px;margin-top:7px;
  background: rgba(148,163,184,1);
  box-shadow: 0 0 0 5px rgba(148,163,184,.15);
  flex:0 0 auto;
}
.toast.basari .toast-ikon{ background: #22c55e; box-shadow: 0 0 0 5px rgba(34,197,94,.2); }
.toast.hata .toast-ikon{ background: #ef4444; box-shadow: 0 0 0 5px rgba(239,68,68,.2); }
.toast.uyari .toast-ikon{ background: #f59e0b; box-shadow: 0 0 0 5px rgba(245,158,11,.2); }
.toast-metin{ font-size: 13px; font-weight: 600; line-height:1.4; color: rgba(241,245,249,1); }
.toast-kapat{ background:none; border:none; color:rgba(148,163,184,.7); cursor:pointer; font-size:16px; padding:0 2px; line-height:1; margin-left:auto; flex-shrink:0; }


/* Karşılama ekranı (ilk açılış) */
.karsilama-arka{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 14px;
  background: rgba(2,6,23,.62);
  -webkit-backdrop-filter: var(--cam);
  backdrop-filter: var(--cam);
}
.karsilama-kart{
  width:min(420px, 92vw);
  border-radius: 28px;
  border:1px solid var(--kenar);
  background: var(--kart);
  box-shadow: var(--golge);
  padding:18px 18px 16px;
  text-align:center;
}
.karsilama-illus{
  display:flex;
  align-items:center;
  justify-content:center;
  margin: 8px 0 10px;
}
.karsilama-ikon{
  width:120px;
  height:120px;
  border-radius: 28px;
  background: radial-gradient(circle at 30% 30%, var(--vurgu2), var(--vurgu));
  box-shadow: var(--golge);
  opacity:.95;
}
.karsilama-baslik{
  margin: 8px 0 6px;
  font-size: 18px;
  font-weight: 900;
}
.karsilama-aciklama{
  margin: 0 0 12px;
  font-size: 13px;
  opacity: .78;
  line-height: 1.35;
}
.karsilama-noktalar{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  margin: 6px 0 14px;
}
.nokta-mini{
  width:7px;height:7px;border-radius:99px;
  background: rgba(148,163,184,.55);
}
.nokta-mini.secili{
  background: rgba(37,99,235,1);
}
.karsilama-link{
  display:inline-block;
  margin-top: 12px;
  font-size: 13px;
  font-weight: 900;
  color: var(--vurgu);
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* Fotoğraf önizleme (büyük görüntü) */
.foto-onizleme-arka{
  position:fixed;
  inset:0;
  z-index:99999;
  background: rgba(0,0,0,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.foto-onizleme-kutu{
  width:min(92vw, 720px);
  max-height:92vh;
  background: var(--kart);
  border:1px solid var(--cizgi);
  border-radius:18px;
  box-shadow: var(--golge);
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.foto-onizleme-img{
  width:100%;
  height:auto;
  max-height:72vh;
  object-fit:contain;
  border-radius:14px;
  background: rgba(0,0,0,.04);
}
.foto-onizleme-aks{
  display:flex;
  gap:10px;
}
.foto-onizleme-aks .buton{
  flex:1;
}


/* Fotoğraf ekle seçim sheet (Resim Çek / Resim Yükle) */
.foto-ekle-arka{
  position:fixed;
  inset:0;
  z-index:99998;
  background: rgba(2,6,23,.35);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding: 14px 14px calc(14px + env(safe-area-inset-bottom));
}
.foto-ekle-arka.ortada{
  align-items:center;
}
.foto-ekle-kutu{
  width:min(520px, 100%);
  border-radius: 22px;
  border:1px solid var(--kenar);
  background: var(--kart2);
  box-shadow: var(--golge);
  padding: 14px;
  animation: sheetYukari 220ms cubic-bezier(.2,.9,.2,1);
}
@keyframes sheetYukari{from{transform: translateY(18px); opacity:.0;} to{transform: translateY(0); opacity:1;}}
.foto-ekle-baslik{
  font-weight: 900;
  margin-bottom: 12px;
  letter-spacing: .2px;
}
.foto-ekle-aks{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin-bottom: 10px;
}
@media (max-width: 420px){
  .foto-ekle-aks{ grid-template-columns: 1fr; }
}
.foto-ekle-kutu .kucuk-buton{ width:100%; }

/* Görev satırı: input + sağ ikonlar aynı satır */
.input-aksiyon-satir{
  display:flex;
  align-items:center;
  gap:8px;
}
.input-aksiyon-satir .input{
  flex:1;
  min-width:0;
}
.input-aksiyon-satir .aksiyonlar{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}
@media (max-width: 420px){
  .input-aksiyon-satir{gap:6px;}
  .input-aksiyon-satir .aksiyonlar{gap:6px;}
}

/* Modern boş durum */
.bos-durum{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border-radius:18px;
  border:1px dashed rgba(148,163,184,.45);
  background: rgba(148,163,184,.08);
}
:root[data-tema="dark"] .bos-durum{
  border-color: rgba(148,163,184,.28);
  background: rgba(148,163,184,.06);
}
.bos-durum .bos-ikon{font-size:20px; line-height:1;}
.bos-durum .bos-baslik{font-weight:900; font-size:13px; margin-bottom:3px;}
.bos-durum .bos-aciklama{font-size:12px; opacity:.78; line-height:1.25;}

/* QR ikon (SVG) */
.input-ikonlu .input-ikon svg{
  width:22px;
  height:22px;
  display:block;
}


/* Sayfalar arası geçiş animasyonu (1sn) */
.sayfa-gecis{
  animation: sayfaGecis 1s ease both;
}
@keyframes sayfaGecis{
  from{ opacity: .35; transform: translateY(10px); filter: blur(2px); }
  to{ opacity: 1; transform: translateY(0); filter: blur(0); }
}


/* Tüm İşler: Tarih filtresi (Resim5 benzeri) */
.tarih-filtre{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 10px;
  border-radius: 18px;
  border:1px solid var(--kenar);
  background: rgba(148,163,184,.10);
}
:root[data-tema="dark"] .tarih-filtre{
  background: rgba(148,163,184,.14);
}
.tarih-orta{
  flex:1;
  min-width:0;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:2px;
  align-items:flex-start;
}
.tarih-gun{
  font-size:13px;
  font-weight:900;
  letter-spacing:.2px;
}
.tarih-alt{
  font-size:12px;
  opacity:.75;
  font-weight:900;
}
.tarih-ok{
  width:42px;
  height:42px;
  border-radius: 16px;
}

.tarih-takvim{
  width:42px;
  height:42px;
  border-radius: 16px;
}

/* Görünmez ama tetiklenebilir date input (takvim açma) */
.tarih-date{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  opacity:0;
}

.kart-tarih{
  font-size:12px;
  opacity:.78;
}

/* Sağ alt sabit Yeni İş (+) */
.fab{
  position:fixed;
  left: 18px;
  right: auto;
  bottom: calc(env(safe-area-inset-bottom) + 50px);
  width:64px;
  height:64px;
  border-radius:999px;
  border: none;
  background: linear-gradient(135deg, rgba(37,99,235,var(--butonA1)), rgba(14,165,233,var(--butonA2)));
  color:#fff;
  box-shadow: 0 18px 46px rgba(2,6,23,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index: 18000;
}
.fab svg{ width:32px; height:32px; }
.fab:active{ transform: translateY(1px) scale(.99); }


/* FAB menüsü */
.hizli-menu{
  display:grid;
  gap:12px;
}
.hizli-menu-baslik{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.hizli-menu-baslik h2{
  margin:0;
  font-size:15px;
  font-weight:900;
}
.hizli-menu-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.hizli-menu-aksiyon{
  border-radius: 20px;
  border:1px solid var(--kenar);
  background: var(--kart);
  box-shadow: var(--golge);
  padding:14px 12px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:900;
  color: var(--yazi);
  text-align:center;
}
.hizli-menu-aksiyon .ikon{
  width:42px;
  height:42px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, rgba(37,99,235,.14), rgba(14,165,233,.14));
  border:1px solid rgba(37,99,235,.22);
  color: var(--vurgu);
}
.hizli-menu-aksiyon .ikon svg{ width:22px; height:22px; }
.hizli-menu-aksiyon:active{ transform: translateY(1px); }


/* --- Yeni İş: Modern Adres Formu (Nominatim) --- */

.adres-form-kart{
  background: var(--kart2);
  border:1px solid var(--kenar);
  border-radius: 22px;
  padding:14px;
  color: var(--yazi);
  box-shadow: var(--golge);
}
.adres-form-ust{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.adres-form-baslik-satir{
  display:flex;
  align-items:center;
  gap:10px;
}
.adres-form-baslik{
  font-weight:900;
  font-size:13px;
  letter-spacing:.2px;
}
.adres-mini-yukleniyor{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(37,99,235,.18);
  background: rgba(37,99,235,.10);
  box-shadow: 0 10px 22px rgba(37,99,235,.10);
}
:root[data-tema="dark"] .adres-mini-yukleniyor{
  border-color: rgba(59,130,246,.22);
  background: rgba(59,130,246,.10);
}
.adres-mini-yukleniyor .adres-bayrak{
  font-size:16px;
  line-height:1;
  display:inline-block;
  transform-origin: 20% 80%;
  animation:adresBayrakDalga .75s ease-in-out infinite;
}
.adres-mini-yukleniyor .adres-yukleniyor-spin{
  width:14px;
  height:14px;
  border-radius:50%;
  border:2px solid rgba(37,99,235,.25);
  border-top-color: rgba(37,99,235,.95);
  animation:adresSpin .9s linear infinite;
}
:root[data-tema="dark"] .adres-mini-yukleniyor .adres-yukleniyor-spin{
  border:2px solid rgba(255,255,255,.18);
  border-top-color: rgba(59,130,246,.95);
}
.adres-form-aksiyonlar{ display:flex; gap:8px; align-items:center; }

.resim-aksiyonlar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.buton.mini{ padding:10px 12px; border-radius: 16px; font-weight:900; }
.konum-ikon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;opacity:.95;}
.konum-ikon svg{width:18px;height:18px;}

.adres-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}
.adres-alan{
  position:relative;
  display:grid;
  gap:8px;
}
/* Sokak/Bina yükleniyor animasyonu */
.adres-yukleniyor{
  position:fixed;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:rgba(10, 15, 30, .35);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  z-index:9999;
}

.adres-yukleniyor .adres-bayrak{
  font-size:72px;
  line-height:1;
  animation:adresBayrakNefes .9s ease-in-out infinite;
}

.adres-yukleniyor .adres-yukleniyor-spin{
  width:42px;
  height:42px;
  border-radius:50%;
  border:4px solid rgba(255,255,255,.35);
  border-top-color: rgba(255,255,255,.95);
  animation:adresSpin .9s linear infinite;
}

.adres-yukleniyor .adres-yukleniyor-metin{
  margin-top:4px;
  font-weight:600;
  font-size:14px;
  color:#fff;
  text-align:center;
  padding:0 18px;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}

/* Yeni iş oluştururken görünen bayrak animasyonu kaldırıldı */
.adres-mini-yukleniyor .adres-bayrak,
.adres-yukleniyor .adres-bayrak{
  display:none !important;
  animation:none !important;
}

@keyframes adresSpin{
  to{ transform: rotate(360deg); }
}

@keyframes adresBayrakNefes{
  0%,100%{ transform: translateY(0) scale(1); }
  50%{ transform: translateY(-6px) scale(1.06); }
}

.adres-yukleniyor .adres-bayrak{
  display:inline-block;
  font-size: clamp(160px, 26vw, 300px);
  line-height:1;
  transform-origin: 20% 80%;
  animation:adresBayrakDalga .75s ease-in-out infinite;
  filter: drop-shadow(0 10px 26px rgba(0,0,0,.35));
}
@keyframes adresBayrakDalga{
  0%{ transform: rotate(0deg) translateY(0px); }
  25%{ transform: rotate(10deg) translateY(-1px); }
  50%{ transform: rotate(0deg) translateY(0px); }
  75%{ transform: rotate(-8deg) translateY(-1px); }
  100%{ transform: rotate(0deg) translateY(0px); }
}
.adres-yukleniyor .adres-yukleniyor-spin{
  width:46px;
  height:46px;
  border-radius:50%;
  border:4px solid rgba(255,255,255,.35);
  border-top-color: rgba(255,255,255,.95);
  animation:adresSpin .9s linear infinite;
}
:root[data-tema="dark"] .adres-yukleniyor .adres-yukleniyor-spin{
  border:2px solid rgba(255,255,255,.22);
  border-top-color: rgba(59,130,246,.95);
}
@keyframes adresSpin{ from{ transform:rotate(0deg);} to{ transform:rotate(360deg);} }

.adres-tam{ grid-column:1/-1; }
.adres-etiket{
  font-size:11px;
  opacity:.78;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--yazi);
}
.adres-secici{
  background: rgba(2,6,23,.04);
  border:1px solid var(--kenar);
  color: var(--yazi);
}
:root[data-tema="dark"] .adres-secici{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
}
.adres-secici:focus{
  outline:none;
  border-color: rgba(59,130,246,.65);
  box-shadow:0 0 0 3px rgba(59,130,246,.22);
}


/* Combo (filtrelenebilir dropdown) */
.combo{ position:relative;   width: 100%;
}
.combo-input{ padding-right:46px; }
.combo-arrow{
  position:absolute;
  right:10px;
  top:50%;
  transform: translateY(-50%);
  width:34px;
  height:34px;
  border-radius: 12px;
  border:1px solid var(--kenar);
  background: rgba(2,6,23,.04);
  color: var(--yazi);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  user-select:none;
}
:root[data-tema="dark"] .combo-arrow{ background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.combo-panel{
  position:absolute;
  left:0;
  right:0;
  top: calc(100% + 8px);
  z-index: 80;
  border-radius: 16px;
  border:1px solid var(--kenar);
  background: rgba(255,255,255,.92);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 45px rgba(0,0,0,.12);
  max-height: 260px;
  overflow:auto;
  padding:6px;
}
:root[data-tema="dark"] .combo-panel{
  background: rgba(10,14,24,.92);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 18px 55px rgba(0,0,0,.45);
}
.combo-item{
  width:100%;
  text-align:left;
  padding:10px 12px;
  border:0;
  border-radius: 12px;
  background: transparent;
  color: var(--yazi);
  cursor:pointer;
}
.combo-item:hover{ background: rgba(59,130,246,.12); }
.combo-bos{ padding:10px 12px; opacity:.75; font-size:12px; }
.adres-ara-satir{
  display:flex;
  gap:8px;
  align-items:center;
}
.adres-ara-input{
  width:100%;
  padding:12px 12px;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.93);
}
.adres-ara-input::placeholder{ color: rgba(255,255,255,.55); }
.adres-yardim{
  font-size:12px;
  opacity:.82;
  color: var(--yazi);
  padding: 0 2px;
  line-height:1.25;
}
.adres-durum{ margin-top:10px; }
.adres-durum[data-tur="uyari"]{ color: var(--hata); }
.adres-durum[data-tur="bilgi"]{ opacity:.85; }

/* Takvim modal (uygulama içi) */
.takvim-kart{
  padding: 14px;
}
.takvim-ust{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.takvim-baslik-yazi{
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .2px;
}
.takvim-ust2{
  margin-top: 6px;
}

.takvim-nav-buton{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(2,6,23,.10);
  background: rgba(255,255,255,.75);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 18px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.takvim-nav-buton:active{ transform: translateY(1px) scale(.99); }
:root[data-tema="dark"] .takvim-nav-buton{
  border-color: rgba(255,255,255,.12);
  background: rgba(20,20,20,.55);
}
.takvim-baslik{
  flex: 1;
  text-align: center;
}
.takvim-secili{
  font-weight: 700;
  font-size: 16px;
}
.takvim-ay{
  opacity: .75;
  margin-top: 2px;
  font-size: 13px;
  text-transform: capitalize;
}
.takvim-hafta{
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  margin-top: 12px;
  padding: 0 2px;
}
.takvim-hafta-gun{
  text-align: center;
  font-size: 12px;
  opacity: .75;
  font-weight: 600;
}
.takvim-grid{
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  margin-top: 8px;
}
.takvim-bos{
  height: 38px;
}
.takvim-gun{
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.65);
  font-weight: 700;
}
.koyu .takvim-gun{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(20,20,20,.6);
}

.takvim-gun{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.takvim-gun-sayi{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.takvim-adet-inline{
  font-size: 11px;
  font-weight: 900;
  opacity: .70;
  margin-left: 3px;
}

.takvim-badge{
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  color: #111827;
  background: #e5e7eb;
  border: 2px solid rgba(148,163,184,.70);
  box-shadow: 0 10px 18px rgba(0,0,0,.18);
  z-index: 2;
  pointer-events: none;
  user-select: none;
}
.koyu .takvim-badge{
  background: #e5e7eb;
  color: #111827;
  border: 2px solid rgba(0,0,0,.25);
}

.takvim-gun.secili .takvim-badge{
  background: #e5e7eb;
  color: #111827;
}
.takvim-gun.secili{
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, rgba(33,150,243,.95), rgba(0,200,255,.95));
  box-shadow: 0 10px 18px rgba(0,0,0,.12);
}
.takvim-gun.pasif{
  opacity: .35;
}
.takvim-alt{
  display: flex;
  gap: 10px;
  margin-top: 14px;
}
.takvim-alt .buton{
  flex: 1;
}

.takvim-tumgunler{ position: relative; }
.takvim-tumgunler-badge{ top: -6px; right: -6px; }


.takvim-alt2{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top: 10px;
}
.takvim-alt2 .buton{
  flex: 1;
}
.takvim-toplam{
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(2,6,23,.05);
  border: 1px solid rgba(2,6,23,.08);
  font-weight: 800;
  font-size: 13px;
  white-space: nowrap;
}
:root[data-tema="dark"] .takvim-toplam{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.12);
}
/* Ayarlar: Bölüm ayracı + Logo önizleme */
.bolum-ayrac{
  height: 1px;
  border-radius: 999px;
  background: rgba(2,6,23,.08);
  margin: 14px 0;
}
:root[data-tema="dark"] .bolum-ayrac{ background: rgba(255,255,255,.12); }

.logo-onizleme{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}
.logo-onizleme-kutu{
  width: 72px;
  height: 72px;
  border-radius: 18px;
  border: 1px solid var(--kenar);
  background: rgba(2,6,23,.04);
  overflow: hidden;
  display: grid;
  place-items: center;
}
:root[data-tema="dark"] .logo-onizleme-kutu{ background: rgba(255,255,255,.06); }
.logo-onizleme-kutu img{ width: 100%; height: 100%; object-fit: contain; }
.logo-onizleme-yazi{ font-size: 12px; opacity: .72; font-weight: 900; letter-spacing: .1px; }


/* Ekran ortası popup (modern) */
.popup-orta-alan{
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 16px;
}
.popup-orta-alan.gizli{ display:none; }
.popup-orta-arka{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.35);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
.popup-orta-kart{
  position: relative;
  width: min(420px, calc(100vw - 32px));
  border-radius: 16px;
  background: var(--kart2);
  border: 1px solid var(--kenar);
  box-shadow: var(--golge);
  padding: 14px 14px 12px 14px;
  animation: popupOrtaIn .16s ease-out;
}
.popup-orta-ust{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.popup-orta-ikon{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  flex: 0 0 auto;
  background: linear-gradient(135deg, rgba(245,158,11,.22), rgba(14,165,233,.12));
  border: 1px solid rgba(245,158,11,.22);
}
.popup-orta-kart[data-tur="hata"] .popup-orta-ikon{
  background: linear-gradient(135deg, rgba(239,68,68,.22), rgba(37,99,235,.10));
  border-color: rgba(239,68,68,.25);
}
.popup-orta-kart[data-tur="basari"] .popup-orta-ikon{
  background: linear-gradient(135deg, rgba(22,163,74,.22), rgba(14,165,233,.10));
  border-color: rgba(22,163,74,.25);
}
.popup-orta-ikon::before{
  content: "!";
  font-weight: 900;
  font-size: 16px;
  line-height: 1;
  color: var(--yazi);
  opacity: .92;
}
.popup-orta-kart[data-tur="basari"] .popup-orta-ikon::before{ content: "✓"; }
.popup-orta-kart[data-tur="hata"] .popup-orta-ikon::before{ content: "×"; }
.popup-orta-x{
  margin-left: auto;
  background: transparent;
  border: 0;
  color: var(--yazi);
  opacity: .65;
  font-size: 20px;
  line-height: 1;
  padding: 6px 8px;
  border-radius: 12px;
  cursor: pointer;
}
.popup-orta-x:hover{ opacity: .9; background: rgba(0,0,0,.06); }
:root[data-tema="dark"] .popup-orta-x:hover{ background: rgba(255,255,255,.08); }
.popup-orta-baslik{
  font-weight: 700;
  font-size: 16px;
  margin: 4px 0 0 0;
  color: var(--yazi);
}
.popup-orta-metin{
  font-size: 14px;
  line-height: 1.35;
  color: var(--yazi);
  opacity: .88;
  margin-bottom: 12px;
  white-space: pre-wrap;
}
.popup-orta-aksiyon{
  display:flex;
  justify-content:flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

/* Ortadaki popup tek buton (uyarı/ok) */
.popup-orta-btn{
  border-radius: 12px;
  padding: 10px 14px;
}

/* PWA açılış popup'ı: daha modern görünüm */
.pwa-kurulum-popup{
  border-radius: 20px;
  padding: 16px 16px 14px 16px;
}
.pwa-kurulum-popup .popup-orta-ikon{
  width: 38px;
  height: 38px;
  border-radius: 14px;
}
.pwa-kurulum-popup .popup-orta-baslik{
  font-size: 17px;
}
.pwa-kurulum-popup .popup-orta-metin{
  margin-bottom: 10px;
}
.pwa-kurulum-popup .buton.dar{
  padding: 10px 16px;
  border-radius: 14px;
}

@media(max-width:420px){
  .pwa-kurulum-popup .popup-orta-aksiyon{ justify-content: stretch; }
  .pwa-kurulum-popup .buton.dar{ flex:1; min-width: 0; }
}
@keyframes popupOrtaIn{
  from{ transform: translateY(6px) scale(.98); opacity: .2; }
  to{ transform: translateY(0) scale(1); opacity: 1; }
}


/* PWA üstten kayan kurulum bildirimi */
.pwa-banner{
  position: fixed;
  top: 10px;
  left: 50%;
  transform: translate(-50%, -140%);
  z-index: 9999;
  width: min(520px, calc(100vw - 24px));
  transition: transform .22s ease, opacity .22s ease;
  opacity: 0;
  pointer-events: none;
}
.pwa-banner.acik{
  transform: translate(-50%, 0);
  opacity: 1;
  pointer-events: auto;
}
.pwa-banner-ic{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 14px 40px rgba(0,0,0,.18);
  border-radius: 16px;
  padding: 12px 12px 10px 12px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.pwa-banner-baslik{
  font-weight: 700;
  font-size: 14px;
  color: #0b1220;
  margin-bottom: 4px;
}
.pwa-banner-metin{
  font-size: 13px;
  color: rgba(11,18,32,.78);
  margin-bottom: 10px;
}
.pwa-banner-aksiyon{
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  align-items: center;
}
.pwa-banner .buton.pwa-btn{
  padding: 8px 14px;
  border-radius: 999px;
}
.pwa-banner .buton.ikincil.pwa-kapat{
  width: 38px;
  height: 38px;
  border-radius: 999px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
}
@media (prefers-color-scheme: dark){
  .pwa-banner-ic{
    background: rgba(24,28,36,.92);
    border-color: rgba(255,255,255,.12);
  }
  .pwa-banner-baslik{ color: rgba(255,255,255,.92); }
  .pwa-banner-metin{ color: rgba(255,255,255,.72); }
}


/* PWA Kurulum Popup */
.pwa-kurulum-arkaplan{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.38);display:flex;align-items:center;justify-content:center;padding:16px;}
.pwa-kurulum-popup{width:min(520px,100%);background:var(--kart,#fff);border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.22);padding:16px 16px 14px;}
.pwa-kurulum-baslik{font-weight:800;font-size:18px;letter-spacing:.2px;margin-bottom:8px;}
.pwa-kurulum-mesaj{opacity:.9;line-height:1.35;font-size:14px;margin-bottom:14px;}
.pwa-kurulum-butonlar{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.pwa-kurulum-butonlar .buton{min-width:140px;}
@media(max-width:420px){.pwa-kurulum-butonlar{justify-content:stretch;}.pwa-kurulum-butonlar .buton{flex:1;min-width:0;}}


/* Açılış Yükleme (Sitem Açılıyor) */
.acilis-arka{
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0,0,0,.28);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.acilis-arka.gizli{ display:none !important; }

.acilis-kart{
  width: min(980px, calc(100% - 16px));
  background: rgba(17,24,39,.66);
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
  overflow: hidden;
  padding: 18px 18px 16px;
}
:root[data-tema="light"] .acilis-kart{
  background: rgba(255,255,255,.78);
  color: rgba(15,23,42,.92);
  border-color: rgba(15,23,42,.10);
  box-shadow: 0 30px 90px rgba(15,23,42,.18);
}

.acilis-ust{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom: 12px;
}
.acilis-ikon{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(37,99,235,.22);
  border: 1px solid rgba(37,99,235,.35);
}
:root[data-tema="light"] .acilis-ikon{
  background: rgba(37,99,235,.12);
  border-color: rgba(37,99,235,.22);
}
.acilis-ikon span{
  font-weight: 800;
  font-size: 14px;
  letter-spacing:.2px;
}
.acilis-baslik{
  font-weight: 850;
  font-size: 20px;
  line-height: 1.1;
}
.acilis-alt{
  opacity: .78;
  font-size: 13px;
  margin-top: 4px;
}

.acilis-icerik{
  margin-top: 10px;
  padding: 14px 14px 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
:root[data-tema="light"] .acilis-icerik{
  background: rgba(2,6,23,.06);
  border-color: rgba(2,6,23,.08);
}

.acilis-satir{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 8px 2px;
  font-size: 14px;
  opacity: .92;
}
.acilis-durum{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(34,197,94,.18);
  border: 1px solid rgba(34,197,94,.35);
  color: rgba(34,197,94,.98);
  font-weight: 900;
  font-size: 13px;
  flex: 0 0 auto;
}
:root[data-tema="light"] .acilis-durum{
  background: rgba(34,197,94,.12);
  border-color: rgba(34,197,94,.25);
}

.acilis-bar{
  height: 10px;
  border-radius: 999px;
  overflow:hidden;
  margin-top: 12px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
}
:root[data-tema="light"] .acilis-bar{
  background: rgba(2,6,23,.06);
  border-color: rgba(2,6,23,.08);
}
.acilis-bar-ic{
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(99,102,241,.9), rgba(59,130,246,.9), rgba(14,165,233,.9), rgba(234,179,8,.9));
  transition: width 900ms ease;
}


/* iOS: ikon butonlarda dokunma gecikmesi/çakışması azalt */
.ikon-buton{ touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

/* ─── bildirimiGoster popup progress bar ─── */
@keyframes _bdProgress {
  from { width: 100%; }
  to   { width: 0%; }
}
.bildirim-progress-bar {
  position: absolute;
  bottom: 0; left: 0;
  height: 4px;
  border-radius: 0 0 22px 22px;
  animation: _bdProgress linear forwards;
  opacity: 0.7;
}

/* ── Modern aktarım popup ─────────────────────────────────── */
@keyframes aktarimCheckDraw{
  from{ stroke-dashoffset:50; opacity:.4; }
  to{ stroke-dashoffset:0; opacity:1; }
}
@keyframes aktarimRipple{
  0%{ box-shadow: 0 0 0 0 rgba(16,185,129,.6); }
  100%{ box-shadow: 0 0 0 24px rgba(16,185,129,0); }
}
.aktarim-tamam{
  animation: aktarimTamamAnim .4s cubic-bezier(.34,1.56,.64,1) forwards, aktarimRipple 1.2s ease-out .3s forwards !important;
}
.aktarim-hata-ikon{
  width:72px; height:72px;
  border-radius:50%;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 20px;
  box-shadow: 0 8px 24px rgba(239,68,68,.4);
  animation: aktarimTamamAnim .4s cubic-bezier(.34,1.56,.64,1) forwards;
}

/* ─── Yeni kart layout (işçi / saha / yönetici) ─────────────────────────── */
.kart.tamamlandi-kart {
  background: rgba(22, 163, 74, 0.18);
  border-color: rgba(22, 163, 74, 0.50);
}
:root[data-tema="dark"] .kart.tamamlandi-kart {
  background: rgba(22, 163, 74, 0.22);
  border-color: rgba(22, 163, 74, 0.50);
}
.kart-yeni-layout {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.kart-yeni-metin {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.kart-yeni-baslik {
  font-weight: 800;
  font-size: 14px;
  line-height: 1.3;
  overflow-wrap: break-word;
  word-break: break-word;
}
.kart-yeni-alt {
  font-size: 12px;
  opacity: 0.65;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
.kart-yeni-badge {
  margin-top: 4px;
}
.kart-yeni-layout {
  display: none; /* artık kullanılmıyor */
}

/* ─── Admin kart — yeni düzen ────────────────────────────────────────────── */
.admin-kart-yeni {
  padding: 14px 14px 12px;
}
/* ─── Yeni Kart Düzeni: Üst metin + Alt yatay butonlar ──────────────────── */
.kart-ust-alani {
  margin-bottom: 10px;
}
.admin-kart-ilk-satir {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.is-onay-btn {
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(37,99,235,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(243,244,246,.92));
  color:#1d4ed8;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(15,23,42,.10);
  transition:transform .12s, opacity .12s, box-shadow .12s, background .12s, color .12s;
  white-space:nowrap;
}
.is-onay-btn svg{ width:15px; height:15px; flex-shrink:0; }
.is-onay-btn:active{ transform:translateY(1px); }
.is-onay-btn.onayli{
  background:linear-gradient(135deg,#16a34a,#15803d);
  border-color:rgba(22,163,74,.28);
  color:#fff;
  box-shadow:0 8px 20px rgba(22,163,74,.22);
}
:root[data-tema="dark"] .is-onay-btn{
  background:linear-gradient(135deg,rgba(30,41,59,.96),rgba(15,23,42,.94));
  border-color:rgba(96,165,250,.26);
  color:#e2e8f0;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
:root[data-tema="dark"] .is-onay-btn.onayli{
  background:linear-gradient(135deg,#16a34a,#15803d);
  border-color:rgba(74,222,128,.24);
  color:#fff;
}

/* Buton satırı: eşit genişlikte yatay */
.kart-btn-satir {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 7px;
}

/* Tek buton stili */
.kart-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 8px;
  border-radius: 12px;
  border: none;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  -webkit-appearance: none;
  appearance: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: opacity .12s, transform .1s;
  flex: 1;
  min-width: 0;
}
.kart-btn:active { transform: scale(0.97); opacity: .85; }

.kart-btn svg { flex-shrink: 0; }

.kart-btn-sari {
  background: linear-gradient(135deg, #d97706, #f59e0b);
  box-shadow: 0 3px 8px rgba(245,158,11,.35);
}
.kart-btn-kirmizi {
  background: linear-gradient(135deg, #dc2626, #ef4444);
  box-shadow: 0 3px 8px rgba(220,38,38,.35);
}
.kart-btn-mavi {
  background: linear-gradient(135deg, #2563eb, #0ea5e9);
  box-shadow: 0 3px 8px rgba(37,99,235,.35);
}
.kart-btn-yesil {
  background: linear-gradient(135deg, #16a34a, #22c55e);
  box-shadow: 0 3px 8px rgba(22,163,74,.35);
}

.admin-kart-ic {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  gap: 10px;
  align-items: flex-start;
  cursor: pointer;
}
.admin-kart-sol {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.admin-kart-baslik {
  font-weight: 800;
  font-size: 14px;
  line-height: 1.3;
  overflow-wrap: break-word;
}
.admin-kart-adr {
  font-size: 12px;
  opacity: 0.7;
  line-height: 1.4;
  overflow-wrap: break-word;
  margin-top: 2px;
}
.admin-kart-meta {
  font-size: 11px;
  opacity: 0.55;
  margin-top: 2px;
}
.admin-kart-ilerleme {
  opacity: 0.65;
  font-weight: 600;
}
.admin-kart-sag {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
  width: 110px;
}
.admin-kart-sag.admin-kart-ikonlar {
  width: auto;
  flex-direction: row;
  gap: 6px;
  align-items: center;
}
/* Kart butonlar: alt satır, sola yaslanmış */
.admin-kart-butonlar {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  gap: 6px;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  align-items: flex-end;
  margin-top: 0 !important;
}
.admin-toggle-btn {
  width: 100%;
  padding: 9px 6px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 800;
  border: none;
  cursor: pointer;
  text-align: center;
  transition: opacity .12s, transform .1s;
}
.admin-toggle-btn:active { transform: scale(0.97); opacity: .85; }
.admin-toggle-btn.bitir {
  background: linear-gradient(135deg, #dc2626, #ef4444);
  color: #fff;
  box-shadow: 0 3px 10px rgba(220,38,38,.35);
}
.admin-toggle-btn.aktifle {
  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: #fff;
  box-shadow: 0 3px 10px rgba(22,163,74,.35);
}
.admin-duzenle-btn {
  width: 100%;
  padding: 9px 6px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 800;
  border: 1.5px solid rgba(99,102,241,.35);
  background: var(--kart);
  color: #6366f1;
  cursor: pointer;
  text-align: center;
  transition: opacity .12s, transform .1s;
}
.admin-duzenle-btn:active { transform: scale(0.97); opacity: .85; }
:root[data-tema="dark"] .admin-duzenle-btn { background: var(--kart2); }

/* Alt icon butonlar */
.admin-kart-alt {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  justify-content: flex-end;
}
.admin-ikon-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .1s, opacity .12s;
  flex-shrink: 0;
}
.admin-ikon-btn:active { transform: scale(0.93); opacity: .85; }
.admin-btn-sari  { background: #f59e0b; color: #fff; box-shadow: 0 3px 8px rgba(245,158,11,.4); }
.admin-btn-kirmizi { background: #dc2626; color: #fff; box-shadow: 0 3px 8px rgba(220,38,38,.4); }
.admin-btn-mavi  { background: #2563eb; color: #fff; box-shadow: 0 3px 8px rgba(37,99,235,.4); }
.admin-ikon-bos  { width: 36px; height: 36px; flex-shrink: 0; }

.kart-yeni-butonlar {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  margin-top: 10px;
}
/* ─── Metin + İkon butonlar (Almanca etiketli) ─────────────────────────── */
.kart-yazi-buton {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 5px !important;
  padding: 0 12px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  white-space: nowrap;
  border-radius: 11px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 40px !important;
  flex-shrink: 1 !important;
  flex-grow: 1 !important;
  letter-spacing: 0.01em;
}
.kart-yazi-buton span { line-height: 1; overflow: hidden; text-overflow: ellipsis; }

/* ikon-buton'un sabit genişliğini kart-yazi-buton içinde sıfırla */
.ikon-buton.kart-yazi-buton {
  width: 100% !important;
  min-width: 0 !important;
  flex-shrink: 1 !important;
  flex-grow: 1 !important;
}

/* Stop butonu: beyaz arka plan, kırmızı gradyan yazı + ikon */
.ikon-buton.toggle-bitir {
  background: var(--kart) !important;
  border-color: rgba(220,38,38,.3) !important;
  color: #dc2626 !important;
}
.ikon-buton.toggle-bitir .toggle-yazi-kirmizi {
  background: linear-gradient(135deg, #dc2626, #f87171);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
}
:root[data-tema="dark"] .ikon-buton.toggle-bitir { background: var(--kart2) !important; }

/* Play butonu: beyaz arka plan, yeşil gradyan yazı + ikon */
.ikon-buton.toggle-aktifle {
  background: var(--kart) !important;
  border-color: rgba(22,163,74,.3) !important;
  color: #16a34a !important;
}
.ikon-buton.toggle-aktifle .toggle-yazi-yesil {
  background: linear-gradient(135deg, #16a34a, #4ade80);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
}
:root[data-tema="dark"] .ikon-buton.toggle-aktifle { background: var(--kart2) !important; }

/* Löschen: beyaz bg, kırmızı yazı/ikon */
.kart-yazi-buton.tehlike {
  background: var(--kart) !important;
  color: #dc2626 !important;
  border-color: rgba(239,68,68,.4) !important;
}
:root[data-tema="dark"] .kart-yazi-buton.tehlike { background: var(--kart2) !important; }

/* Foto: beyaz bg, yeşil yazı/ikon — kamera-buton renklerini korur */

/* Teilen/vurgu butonu — mevcut tema renklerini korur */
/* Boş 4. slot (Teilen yokken) */
.kart-paylas-bos {
  height: 36px;
  border-radius: 10px;
  background: transparent;
  border: none;
  pointer-events: none;
}

/* Onay modal buton renkleri — beyaz arka plan, renkli ikon/yazı */
.buton.tehlike-buton {
  background: var(--kart);
  border-color: rgba(239,68,68,.5);
  color: #dc2626;
}
:root[data-tema="dark"] .buton.tehlike-buton { background: var(--kart2); }
.buton.basari-buton {
  background: var(--kart);
  border-color: rgba(22,163,74,.5);
  color: #16a34a;
}
:root[data-tema="dark"] .buton.basari-buton { background: var(--kart2); }

/* Toggle ikon buton renkleri — beyaz arka plan, renkli ikon */
.ikon-buton.aktif-toggle {
  background: var(--kart);
  border-color: rgba(22,163,74,.5);
  color: #16a34a;
}
:root[data-tema="dark"] .ikon-buton.aktif-toggle { background: var(--kart2); }
.ikon-buton.tamamlandi-toggle {
  background: var(--kart);
  border-color: rgba(239,68,68,.5);
  color: #dc2626;
}
:root[data-tema="dark"] .ikon-buton.tamamlandi-toggle { background: var(--kart2); }
.ikon-buton.kamera-buton {
  background: var(--kart);
  border-color: rgba(22,163,74,.5);
  color: #16a34a;
}
:root[data-tema="dark"] .ikon-buton.kamera-buton { background: var(--kart2); }

/* ─── Modern Silme Onay Popup ───────────────────────────────────────────── */
.sil-popup-arka {
  position: fixed; inset: 0; z-index: 100000;
  background: rgba(0,0,0,0.68);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  animation: silPopupArkaGel 0.2s ease;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
@keyframes silPopupArkaGel { from { opacity:0 } to { opacity:1 } }
.sil-popup-kart {
  background: var(--kart);
  border-radius: 24px;
  padding: 34px 26px 28px;
  width: 100%; max-width: 340px;
  animation: silPopupGel 0.35s cubic-bezier(.34,1.56,.64,1);
  text-align: center;
  box-shadow: 0 28px 70px rgba(0,0,0,0.4), 0 0 0 1px rgba(239,68,68,.18);
  position: relative; overflow: hidden;
}
.sil-popup-kart::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background: linear-gradient(90deg,#dc2626,#ef4444,#dc2626);
  border-radius:24px 24px 0 0;
}
@keyframes silPopupGel {
  from { transform:scale(0.65) translateY(40px); opacity:0 }
  to   { transform:scale(1) translateY(0); opacity:1 }
}
.sil-popup-ikon {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(239,68,68,.2) 0%,rgba(239,68,68,.05) 100%);
  border: 2px solid rgba(239,68,68,.3);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
  animation: silIkonPulse 0.5s cubic-bezier(.36,.07,.19,.97) 0.12s both;
}
@keyframes silIkonPulse {
  0%{transform:scale(0.4);opacity:0} 55%{transform:scale(1.15)} 75%{transform:scale(0.95)} 100%{transform:scale(1);opacity:1}
}
.sil-popup-ikon svg { width:44px; height:44px; color:#dc2626; filter:drop-shadow(0 2px 6px rgba(220,38,38,.4)); }
.sil-popup-baslik { font-size:20px; font-weight:900; margin-bottom:10px; color:var(--yazi); letter-spacing:-.3px; }
.sil-popup-mesaj { font-size:14px; color:var(--yazi); opacity:.62; margin-bottom:28px; line-height:1.65; }
.sil-popup-butonlar { display:flex; gap:12px; }
.sil-popup-butonlar .buton { flex:1; font-size:15px; padding:15px 10px; border-radius:16px; font-weight:800; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:transform .1s,box-shadow .1s; }
.sil-popup-butonlar .buton:active { transform:scale(0.97); }
.sil-popup-evet { background:linear-gradient(135deg,#dc2626,#ef4444) !important; color:#fff !important; box-shadow:0 8px 24px rgba(220,38,38,.5) !important; border:none !important; }
.sil-popup-evet:active { box-shadow:0 3px 10px rgba(220,38,38,.3) !important; }
.sil-popup-hayir { background:#fff !important; color:#374151 !important; box-shadow:0 2px 12px rgba(0,0,0,.12) !important; border:1.5px solid #e5e7eb !important; }
.sil-popup-hayir:active { background:#f9fafb !important; }
:root[data-tema="dark"] .sil-popup-hayir { background:#1e293b !important; color:#e2e8f0 !important; border-color:#334155 !important; }

/* ─── Mükerrer İş Uyarısı Popup ─────────────────────────────────────────── */
.mukerrer-popup-arka {
  position: fixed; inset: 0; z-index: 100000;
  background: rgba(0,0,0,0.68);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  animation: silPopupArkaGel 0.2s ease;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.mukerrer-popup-kart {
  background: var(--kart); border-radius: 24px;
  padding: 34px 26px 28px; width: 100%; max-width: 340px;
  animation: silPopupGel 0.35s cubic-bezier(.34,1.56,.64,1);
  text-align: center;
  box-shadow: 0 28px 70px rgba(0,0,0,0.35), 0 0 0 1px rgba(245,158,11,.2);
  position: relative; overflow: hidden;
}
.mukerrer-popup-kart::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background: linear-gradient(90deg,#d97706,#f59e0b,#d97706); border-radius:24px 24px 0 0;
}
.mukerrer-popup-ikon {
  width:80px; height:80px; border-radius:50%;
  background:radial-gradient(circle,rgba(245,158,11,.2) 0%,rgba(245,158,11,.05) 100%);
  border:2px solid rgba(245,158,11,.35);
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
  animation: silIkonPulse 0.5s cubic-bezier(.36,.07,.19,.97) 0.12s both;
}
.mukerrer-popup-ikon svg { width:44px; height:44px; color:#f59e0b; filter:drop-shadow(0 2px 6px rgba(245,158,11,.45)); }
.mukerrer-popup-baslik { font-size:19px; font-weight:900; margin-bottom:10px; color:var(--yazi); letter-spacing:-.3px; }
.mukerrer-popup-mesaj { font-size:13.5px; color:var(--yazi); opacity:.62; margin-bottom:24px; line-height:1.65; }
.mukerrer-popup-detay { font-size:12px; color:var(--yazi); opacity:.5; margin-bottom:24px; padding:10px 14px; background:rgba(245,158,11,.08); border-radius:12px; border:1px solid rgba(245,158,11,.2); }
.mukerrer-popup-buton { width:100%; font-size:15px; padding:16px; border-radius:16px; font-weight:800; cursor:pointer; background:linear-gradient(135deg,#d97706,#f59e0b); color:#fff; border:none; box-shadow:0 8px 24px rgba(245,158,11,.45); transition:transform .1s; }
.mukerrer-popup-buton:active { transform:scale(0.97); }

/* ─── Pull-to-refresh ───────────────────────────────────────────────────── */
.ptr-gostergesi {
  position: fixed; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 18px;
  pointer-events: none;
  z-index: 9998;
  opacity: 0;
  background: radial-gradient(ellipse at center,
    rgba(0, 0, 0, 0.0) 0%,
    rgba(159, 18, 57, 0.55) 55%,
    rgba(225, 29, 72, 0.88) 100%);
  backdrop-filter: blur(0px);
  transition: opacity 0.25s ease;
}
.ptr-gostergesi.gorunur {
  opacity: 1;
}
.ptr-gostergesi .ptr-logo {
  width: 88px; height: 88px;
  border-radius: 22px;
  background-size: cover; background-position: center;
  background-color: rgba(255,255,255,0.15);
  box-shadow: 0 8px 40px rgba(0,0,0,0.35);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.ptr-gostergesi .ptr-logo img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 22px;
}
.ptr-gostergesi .ptr-logo svg {
  width: 44px; height: 44px; opacity: 0.9;
}
.ptr-gostergesi .ptr-spin-wrap {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px;
  background: rgba(255,255,255,0.18);
  border-radius: 50%;
}
.ptr-gostergesi .ptr-spin-wrap svg {
  width: 26px; height: 26px;
  color: #fff; fill: #fff;
}
.ptr-gostergesi.yukleniyor .ptr-spin-wrap svg { animation: ptrDon 0.7s linear infinite; }
@keyframes ptrDon { to { transform: rotate(360deg); } }
/* ─── Onay popup animasyonları ─────────────────────────────────────────── */
@keyframes onayfadeIn { from { opacity:0 } to { opacity:1 } }
@keyframes onayfadeOut { from { opacity:1 } to { opacity:0 } }
@keyframes onaySlideUp { from { transform:translateY(30px);opacity:0 } to { transform:translateY(0);opacity:1 } }
@keyframes onayWobble {
  0%,100%{transform:scale(1)} 20%{transform:scale(1.18)} 40%{transform:scale(.92)}
  60%{transform:scale(1.08)} 80%{transform:scale(.97)}
}

/* ─── Safari / iOS Uyumluluk Güçlendirmesi ────────────────────────────────── */

/* Tüm scroll alanlara Safari momentum scrolling */
.icerik, .modal-icerik, .liste, .combo-panel, .secim-liste,
.ayar-bolum-icerik, .yatay-liste {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* Buton/input Safari default stil sıfırlama */
button {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
input, select, textarea {
  -webkit-appearance: none;
  appearance: none;
}
/* NOT: border-radius:0 kaldırıldı - Safari'da özgün border-radius override'larını eziyor */

/* iOS form input zoom fix (font-size < 16px zoom tetikler) */
input.secici, input.combo-input, select.secici, textarea {
  font-size: 16px;
}

/* Safari flexbox gap desteği yoksa fallback */
.kart-yeni-butonlar > * + * { margin-left: 6px; }

/* Safari animasyon GPU katmanı zorunlu */
.sil-popup-kart, .aktarim-kart, .bildirim, .toast {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform, opacity;
}

/* iOS notch/safe-area desteği */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .alt-nav, .modal-alt-sabit, .fab-menu-kont {
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
  }
  body { padding-bottom: env(safe-area-inset-bottom); }
}

/* Safari backdrop-filter prefix */
.modal-icerik, .bildirim-kont, .ust-bar {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

/* iOS tap delay kaldır */
a, button, [role="button"], .sekme, .kart {
  touch-action: manipulation;
}

/* Safari: position:sticky için z-index fix */
.ust-bar { position: -webkit-sticky; position: sticky; }

/* iOS input focus scrollTop sorunu */
.modal-icerik { -webkit-overflow-scrolling: touch; }

/* Safari: SVG fill inherit fix */
svg { fill: currentColor; }

/* iOS: text selection rengi */
::selection { background: rgba(37,99,235,0.25); }
::-webkit-selection { background: rgba(37,99,235,0.25); }

/* ═══════════════════════════════════════════════════════════════
   iOS Safari Kapsamlı Uyumluluk Yamaları (v20260305)
   Chrome ile görünüm farkı en aza indirgendi
   ═══════════════════════════════════════════════════════════════ */

/* 1. Flex container overflow — Safari'de min-width:0 zorunlu */
.ust-icerik { align-items: center; }
.baslik { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.sag-kontrol { flex-shrink: 0; }

/* 2. Buton görünüm sıfırlama — Safari default button stili kaldır */
.buton, .kucuk-buton, .ikon-buton, .sekme, .fab,
.admin-toggle-btn, .admin-duzenle-btn, .admin-ikon-btn {
  -webkit-appearance: none;
  appearance: none;
}

/* 3. Tüm input alanlarında iOS zoom fix (font-size<16px → zoom) */
input, textarea, select {
  font-size: 16px !important;
}
/* Ama küçük font görüntüsü gerektiren yerler için */
.combo-input, .input { font-size: 16px !important; }

/* 4. Backdrop-filter prefix eksikliği toplu fix */
.ust { -webkit-backdrop-filter: var(--cam); }
.hizli-menu-arka { -webkit-backdrop-filter: blur(7px); }
.imza-arka { -webkit-backdrop-filter: blur(10px); }
.takvim-popup { -webkit-backdrop-filter: blur(8px); }
.modal-arka { -webkit-backdrop-filter: blur(0); }
.sil-popup-arka { -webkit-backdrop-filter: blur(6px); }
.mukerrer-popup-arka { -webkit-backdrop-filter: blur(10px); }
.onay-popup-arka { -webkit-backdrop-filter: blur(10px); }

/* 5. iOS: position sticky için -webkit prefix */
.ust, #haritaKonteynerWrap, #appHaritaKonteynerWrap {
  position: -webkit-sticky;
  position: sticky;
}

/* 6. Gap desteği olmayan eski Safari için fallback (Safari < 14) */
@supports not (gap: 8px) {
  .sag-kontrol > * + * { margin-left: 6px; }
  .ust-icerik > * + * { margin-left: 8px; }
  .admin-kart-butonlar > * + * { margin-top: 6px; }
}

/* 7. 100dvh → 100vh fallback (Safari < 15.4) */
@supports not (height: 100dvh) {
  .kapsayici { height: 100vh; }
}

/* 8. Overflow-wrap: anywhere Safari fallback */
.admin-kart-baslik, .admin-kart-adr {
  word-break: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

/* 9. SVG boyutları Safari'de net tanımla */
.ikon-buton svg, .admin-ikon-btn svg, .fab svg {
  display: block;
  flex-shrink: 0;
  pointer-events: none;
}

/* 10. iOS tap highlight kaldır — tüm etkileşimli elementlerde */
*, *::before, *::after {
  -webkit-tap-highlight-color: transparent;
}

/* 11. Kart düzeni: sol metin + sağ butonlar — yukarıdaki .admin-kart-butonlar tanımında ayarlandı */

/* 12. Modal scroll Safari fix */
.modal {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* 13. FAB: sol taraf — ana .fab tanımında ayarlandı */
.fab { left: max(18px, calc(env(safe-area-inset-left) + 14px)); z-index: 99999; }

/* 14. Sekmeler: Safari'de flex child overflow fix */
.sekmeler .sekme {
  -webkit-flex: 1;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 15. Font weight normalize: 900 her yerde güvenli */
.buton, .kucuk-buton, .sekme.secili, .admin-kart-baslik,
.ayarlar-baslik, .modal-baslik h2, .hizli-menu-baslik h2 {
  font-weight: 900;
}

/* 16. Chrome vs Safari button line-height farkını kapat */
.ikon-buton {
  line-height: 1;
  letter-spacing: 0;
}

/* 17. Renk kutu görüntüsü Safari'de bozulmasın */
.renk-kutu, .renk-kutu-vurgu {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

/* 18. Input placeholder rengi Safari uyumlu */
::placeholder { opacity: 0.55; }
::-webkit-input-placeholder { opacity: 0.55; }

/* 19. Safe area: bottom padding içerik alanında — yukarıdaki .icerik tanımında ayarlandı */

/* 20. Kart tıklama alanı Safari'de sorunsuz */
.kart { -webkit-transform: translateZ(0); }

/* ═══════════════════════════════════════════════════════════════
   iOS Safari Son Uyumluluk Yamaları — Fotoğraf & Tüm Özellikler
   ═══════════════════════════════════════════════════════════════ */

/* iOS: file input görünürlüğü (kamera açma için) */
input[type="file"] {
  position: fixed;
  top: -9999px;
  left: -9999px;
  opacity: 0;
  pointer-events: none;
}

/* iOS: input:focus zoom fix — tüm text inputları */
input[type="text"],
input[type="number"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
textarea,
select {
  font-size: 16px !important;
  -webkit-appearance: none;
  appearance: none;
}

/* iOS: select arrow kaldır */
select {
  background-image: none;
}

/* iOS: kart üzerinde highlight rengi */
.kart:active {
  -webkit-tap-highlight-color: transparent;
  background-color: var(--kart);
}

/* iOS: pull-to-refresh göstergesi — kırmızı gradyan banner */
/* (Üstteki tanım geçerli; bu blok eski override'ı temizler) */
@keyframes ptrSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* iOS: modal overflow gizle (bounce scroll sorununu önle) */
.modal-arka {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* iOS: smooth scroll polyfill — CSS ile */
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* iOS: safe-area tüm sayfalarda header */
.ust {
  padding-top: max(14px, calc(env(safe-area-inset-top) + 8px));
}

/* iOS: FAB safe-area sol */
.fab {
  left: max(18px, calc(env(safe-area-inset-left) + 14px));
}

/* iOS: İçerik alanı alt güvenli bölge */
.icerik {
  padding-bottom: max(120px, calc(env(safe-area-inset-bottom) + 100px));
}

/* iOS 16+: rubber-band scroll body'de olmasın */
body {
  overscroll-behavior-y: none;
}
.icerik {
  overscroll-behavior-y: auto;
}

/* iOS: Butonlarda minimum dokunma alanı (44x44px Apple HIG) */
.ikon-buton,
.admin-ikon-btn,
.kucuk-buton {
  min-width: 44px;
  min-height: 44px;
}
.ikon-buton {
  width: 44px;
  height: 44px;
}

/* iOS: resim görüntüleme için object-fit */
.foto-kucuk img,
.foto-tam img,
.resim-alani img {
  object-fit: cover;
  -webkit-touch-callout: none; /* iOS'ta uzun basınca resim kaydetmeyi engelle */
}

/* iOS: Seçim imleci (cursor) */
* { cursor: default; }
button, [role="button"], a, input, select, textarea, label {
  cursor: pointer;
}
input[type="text"], input[type="number"], input[type="password"],
input[type="email"], input[type="search"], input[type="tel"],
input[type="url"], textarea {
  cursor: text;
}

/* iOS: Swipe ile geri gitmeyi engellemek için */
.modal-icerik {
  touch-action: pan-y;
}

/* iOS 15+: color-scheme dark mode input */
input, select, textarea {
  color-scheme: light;
}
:root[data-tema="dark"] input,
:root[data-tema="dark"] select,
:root[data-tema="dark"] textarea {
  color-scheme: dark;
}

/* iOS: CheckBox/Radio native görünüm sıfırlama */
input[type="checkbox"],
input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  border: 2px solid var(--kenar);
  border-radius: 4px;
  background: var(--kart2);
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
}
input[type="radio"] {
  border-radius: 50%;
}
input[type="checkbox"]:checked,
input[type="radio"]:checked {
  background: var(--vurgu);
  border-color: var(--vurgu);
}
input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px; top: 1px;
  width: 8px; height: 12px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}
input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 8px; height: 8px;
  background: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
