/* ============================================================================
   buluttahsil MÜŞTERİ PANELİ — site temasının (buluttahsil.css) değişkenlerini kullanır.
   Site CSS'ine DOKUNULMAZ; panel sayfaları bu dosyayı EK olarak yükler (libraries.php).
   Karanlık mod otomatik gelir çünkü renkler --surface/--text/--brand token'larından okunur.
   ========================================================================== */

/* ── Giriş / parola ekranları ─────────────────────────────────────────────── */
/* ── GİRİŞ EKRANI (2026-11-08 tasarım) ────────────────────────────────────────
   Eskiden boş sayfada tek kart duruyordu. Artık iki bölmeli: solda marka paneli
   (≥920px), sağda form. Davranış değişmedi; yalnız kabuk yenilendi. */
.pnl-giris{ padding:38px 16px 56px; }
.pnl-giris-in{ max-width:1060px; margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr;
  gap:0; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); overflow:hidden; }

.pnl-giris-marka{ background:linear-gradient(155deg, var(--brand) 0%, #0b5f69 62%, #08454d 100%);
  color:#fff; padding:40px 38px; display:flex; align-items:center; }
.pnl-marka-ic{ width:100%; }
.pnl-marka-logo{ display:flex; align-items:center; gap:10px; font-size:20px; font-weight:800;
  letter-spacing:-.03em; margin-bottom:26px; }
.pnl-marka-logo svg{ width:38px; height:30px; flex:0 0 auto; }
.pnl-marka-logo b{ font-weight:800; opacity:.78; }
.pnl-giris-marka h2{ margin:0 0 12px; font-size:27px; line-height:1.25; letter-spacing:-.02em; color:#fff; }
.pnl-giris-marka > .pnl-marka-ic > p{ margin:0 0 24px; font-size:14.5px; line-height:1.6; color:rgba(255,255,255,.86); }
.pnl-marka-liste{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:13px; }
.pnl-marka-liste li{ display:flex; align-items:flex-start; gap:11px; font-size:14px; line-height:1.5;
  color:rgba(255,255,255,.93); }
.pnl-marka-liste i{ flex:0 0 auto; margin-top:3px; width:17px; text-align:center; color:var(--gold, #f0b429); }
.pnl-marka-guven{ margin:0; padding-top:18px; border-top:1px solid rgba(255,255,255,.18);
  font-size:12.5px; color:rgba(255,255,255,.75); }
.pnl-marka-guven i{ margin-right:7px; }

.pnl-giris-form{ display:flex; align-items:center; justify-content:center; padding:40px 38px; }
.pnl-giris-kart{ width:100%; max-width:380px; }
.pnl-giris-rozet{ display:none; align-items:center; gap:9px; font-size:19px; font-weight:800;
  letter-spacing:-.03em; color:var(--heading); margin-bottom:20px; }
.pnl-giris-rozet svg{ width:34px; height:27px; }
.pnl-giris-rozet b{ color:var(--brand); }
.pnl-giris-kart h1{ margin:0 0 6px; font-size:23px; color:var(--heading); }

/* Parola göster/gizle */
.pnl-parola{ position:relative; }
.pnl-parola .pnl-inp{ padding-right:44px; }
.pnl-parola-tog{ position:absolute; right:6px; top:50%; transform:translateY(-50%); width:32px; height:32px;
  display:flex; align-items:center; justify-content:center; border:0; background:none; cursor:pointer;
  color:var(--muted); border-radius:8px; }
.pnl-parola-tog:hover{ color:var(--brand); background:var(--surface-2); }

.pnl-giris-alt{ display:flex; flex-direction:column; gap:8px; margin-top:16px; padding-top:16px;
  border-top:1px solid var(--border); }
.pnl-giris-alt .pnl-link{ margin-top:0; }
.pnl-giris-alt .pnl-ipucu a{ color:var(--brand); font-weight:600; }

@media (max-width:920px){
  .pnl-giris{ padding:24px 16px 40px; }
  .pnl-giris-in{ grid-template-columns:1fr; }
  .pnl-giris-marka{ display:none; }          /* yerini formun üstündeki rozet alır */
  .pnl-giris-rozet{ display:flex; }
  .pnl-giris-form{ padding:28px 22px 30px; }
  .pnl-giris-kart{ max-width:none; }
}

.pnl-auth-wrap{ min-height:62vh; display:flex; align-items:center; justify-content:center; padding:48px 16px; }
.pnl-auth{ width:100%; max-width:420px; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); box-shadow:var(--shadow); padding:30px 28px; }
.pnl-auth h1{ margin:0 0 6px; font-size:23px; color:var(--heading); }
.pnl-sub{ margin:0 0 20px; color:var(--muted); font-size:14px; line-height:1.55; }
.pnl-form{ display:flex; flex-direction:column; gap:4px; }
.pnl-lbl{ font-size:13px; font-weight:600; color:var(--heading); margin-top:12px; }
.pnl-inp{ width:100%; padding:11px 13px; border:1px solid var(--border); border-radius:var(--radius-sm);
  background:var(--bg); color:var(--text); font:inherit; font-size:15px; }
.pnl-inp:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(14,124,134,.14); }
.pnl-btn{ margin-top:18px; width:100%; justify-content:center; }
.pnl-btn-sm{ display:inline-flex; margin-top:10px; }
.pnl-link{ display:inline-block; margin-top:14px; color:var(--brand); font-size:14px; text-decoration:none; }
.pnl-link:hover{ text-decoration:underline; }

/* hesap seçici (aynı e-posta birden çok kiracıda) */
.pnl-hesaplar{ display:flex; flex-direction:column; gap:9px; margin-top:6px; }
.pnl-hesap{ display:flex; align-items:center; gap:11px; padding:13px 14px; cursor:pointer;
  border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg); }
.pnl-hesap:has(input:checked){ border-color:var(--brand); background:var(--mint-soft); }
.pnl-hesap span{ display:flex; flex-direction:column; }
.pnl-hesap small{ color:var(--muted); font-size:12.5px; }

/* ── Panel kabuğu ─────────────────────────────────────────────────────────── */
.pnl-top{ background:var(--surface); border-bottom:1px solid var(--border); }
.pnl-top-in{ display:flex; align-items:center; justify-content:space-between; padding:13px 0; gap:16px; }
.pnl-who{ display:flex; align-items:baseline; gap:10px; min-width:0; }
.pnl-ad{ font-weight:700; color:var(--heading); }
.pnl-kiraci{ font-size:13px; color:var(--muted); background:var(--surface-2);
  padding:3px 10px; border-radius:999px; white-space:nowrap; }
.pnl-cikis{ color:var(--muted); text-decoration:none; font-size:14px; white-space:nowrap; }
.pnl-cikis:hover{ color:var(--brand); }

.pnl-tabs{ display:flex; gap:6px; margin:22px 0 20px; flex-wrap:wrap; }
.pnl-tab{ display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px;
  text-decoration:none; color:var(--muted); font-weight:600; font-size:14.5px; border:1px solid transparent; }
.pnl-tab:hover{ background:var(--surface-2); color:var(--text); }
.pnl-tab.on{ background:var(--brand); color:#fff; }

/* ── Kartlar ──────────────────────────────────────────────────────────────── */
.pnl-kartlar{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; margin-bottom:26px; }
.pnl-kart{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:18px 20px; box-shadow:var(--shadow); }
.pnl-kart.gelir{ background:linear-gradient(135deg,var(--brand),var(--brand-deep)); border-color:transparent; }
.pnl-kart.gelir *{ color:#fff; }
.pnl-kart-b{ font-size:13px; color:var(--muted); font-weight:600; }
.pnl-tutar{ font-size:26px; font-weight:800; margin-top:6px; letter-spacing:-.4px; }
.pnl-sayi{ font-size:30px; font-weight:800; margin-top:4px; color:var(--heading); }
.pnl-kart-alt{ font-size:12.5px; color:var(--muted); margin-top:4px; }
.pnl-kart-alt.lnk{ color:var(--brand); text-decoration:none; display:inline-block; }
.pnl-kart-alt.lnk:hover{ text-decoration:underline; }

/* ── Bloklar / tablolar ───────────────────────────────────────────────────── */
.pnl-blok{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:20px 22px; box-shadow:var(--shadow); margin-bottom:22px; }
.pnl-blok h2,.pnl-blok h3{ margin:0 0 14px; font-size:17px; color:var(--heading); }
.pnl-blok-bas{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin:4px 0 12px; }
.pnl-blok-bas h2{ margin:0; font-size:19px; color:var(--heading); }
.pnl-ikili{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }

.pnl-tablo-kutu{ overflow-x:auto; }              /* dar ekranda tablo kendi içinde kayar */
.pnl-tablo{ width:100%; border-collapse:collapse; font-size:14.5px; }
.pnl-tablo th{ text-align:left; font-size:12.5px; text-transform:uppercase; letter-spacing:.3px;
  color:var(--muted); padding:0 12px 10px; border-bottom:1px solid var(--border); white-space:nowrap; }
.pnl-tablo td{ padding:13px 12px; border-bottom:1px solid var(--border); vertical-align:middle; }
.pnl-tablo tr:last-child td{ border-bottom:0; }
.pnl-tablo td small{ display:block; color:var(--muted); font-size:12.5px; margin-top:2px; }
.pnl-tablo .sag{ text-align:right; }
.pnl-tablo .ks{ white-space:nowrap; color:var(--muted); }
.mono{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; }
.tutar{ font-weight:700; white-space:nowrap; }

.pnl-liste{ display:grid; grid-template-columns:auto 1fr; gap:9px 18px; margin:0; font-size:14.5px; }
.pnl-liste dt{ color:var(--muted); }
.pnl-liste dd{ margin:0; color:var(--text); }

/* ── Rozet / uyarı / boş durum ────────────────────────────────────────────── */
.pnl-rozet{ display:inline-block; padding:4px 11px; border-radius:999px; font-size:12.5px; font-weight:600; white-space:nowrap; }
.pnl-rozet.ok{ background:var(--mint-soft); color:var(--ok); }
.pnl-rozet.wait{ background:var(--gold-soft); color:var(--gold-ink); }
.pnl-rozet.fail{ background:#fde8e8; color:#b42318; }
.pnl-rozet.cancel{ background:var(--surface-2); color:var(--muted); }
.pnl-rozet.draft{ background:var(--surface-2); color:var(--muted); }

.pnl-uyari{ display:flex; align-items:center; gap:10px; padding:13px 16px; border-radius:var(--radius-sm);
  font-size:14px; margin-bottom:16px; }
.pnl-uyari.err{ background:#fde8e8; color:#b42318; }
.pnl-uyari.ok{ background:var(--mint-soft); color:var(--ok); }
.pnl-uyari.info{ background:var(--surface-2); color:var(--text); }

.pnl-bos{ text-align:center; padding:42px 16px; color:var(--muted); }
.pnl-bos i{ display:block; font-size:30px; margin-bottom:10px; opacity:.5; }

/* ── Filtre çubuğu / sayfalama ────────────────────────────────────────────── */
.pnl-filtre{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:18px; }
.pnl-filtre .pnl-inp{ width:auto; min-width:150px; flex:0 1 auto; }
.pnl-filtre input[type=search]{ flex:1 1 230px; }
.pnl-sayfa{ display:flex; align-items:center; justify-content:center; gap:16px; margin:20px 0 40px;
  font-size:14px; color:var(--muted); }
.pnl-mini{ display:inline-block; padding:6px 13px; border:1px solid var(--border); border-radius:999px;
  color:var(--brand); text-decoration:none; font-size:13px; font-weight:600; }
.pnl-mini:hover{ background:var(--surface-2); }
.pnl-tablo td .pnl-mini + .pnl-mini{ margin-left:6px; }
button.pnl-mini{ font-family:inherit; cursor:pointer; background:none; }
button.pnl-mini.ok{ background:var(--mint-soft); color:var(--ok); border-color:var(--mint-soft); }

/* ── Yeni ödeme linki formu + detay eylemleri ───────────────────────────── */
.pnl-tab-yeni{ display:inline-flex; align-items:center; gap:8px; margin-left:auto; padding:10px 16px;
  border-radius:999px; background:var(--brand); color:#fff; text-decoration:none; font-weight:600; font-size:14px; }
.pnl-tab-yeni:hover{ filter:brightness(1.07); color:#fff; }
.pnl-tabs{ flex-wrap:wrap; }

.pnl-form-genis{ display:block; }
.pnl-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.pnl-alan{ min-width:0; margin-bottom:14px; }
.pnl-ipucu{ display:block; margin-top:5px; color:var(--muted); font-size:12.5px; }
/* `display:` tanimlayan kurallar HTML'in `hidden` niteligini EZER (ipucu/onay kutusu gizli acilmali). */
[hidden]{ display:none !important; }
.pnl-secenekler{ display:flex; flex-wrap:wrap; gap:16px; margin-top:6px; }
.pnl-onay{ display:inline-flex; align-items:center; gap:7px; font-size:14px; color:var(--text); cursor:pointer; }
.pnl-form-alt{ display:flex; align-items:center; gap:18px; margin:4px 0 32px; }
.pnl-form-alt .pnl-btn{ width:auto; flex:0 0 auto; }   /* giriş formundaki tam genişlik buraya uymuyor */
.pnl-tablo-kutu.bos{ display:none; }                   /* kalem yokken boş başlık satırı görünmesin */
.pnl-inp.mini{ padding:7px 9px; font-size:13.5px; }
.pnl-sil{ border:0; background:none; color:#b42318; cursor:pointer; padding:4px; }
.pnl-kalem-toplam{ margin-top:10px; font-size:14px; color:var(--muted); }
.pnl-kalem-toplam b{ color:var(--text); }

.pnl-eylem{ display:flex; flex-wrap:wrap; gap:26px; align-items:flex-start; }
.pnl-eylem-form{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.pnl-eylem-form .pnl-inp{ width:auto; min-width:220px; }
.pnl-eylem-form .pnl-btn-sm{ margin-top:0; }
.pnl-eylem-form .pnl-ipucu{ flex-basis:100%; margin-top:0; }
.pnl-btn-sm.tehlike{ border-color:#f2b8b5; color:#b42318; background:#fff; }
.pnl-btn-sm.tehlike:hover{ background:#fde8e8; }

/* ── Ayarlar ───────────────────────────────────────────────────────────── */
.pnl-pos{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.pnl-pos-kart{ border:1px solid var(--border); border-radius:var(--radius-sm); padding:14px 16px; background:var(--surface); }
.pnl-pos-kart h4{ margin:0 0 8px; font-size:15px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pnl-pos-kart dl{ margin:0; font-size:13.5px; }
.pnl-pos-kart dt{ color:var(--muted); font-weight:500; float:left; clear:left; width:110px; }
.pnl-pos-kart dd{ margin:0 0 4px 110px; word-break:break-all; }
.pnl-etiket{ display:inline-block; padding:2px 9px; border-radius:999px; font-size:11.5px; font-weight:600; background:var(--surface-2); color:var(--muted); }
.pnl-etiket.on{ background:var(--mint-soft); color:var(--ok); }
.pnl-etiket.off{ background:#fde8e8; color:#b42318; }
.pnl-logo-kutu{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.pnl-logo-kutu img{ max-height:56px; max-width:180px; border:1px solid var(--border); border-radius:8px; padding:6px; background:#fff; }
.pnl-gizli-dosya{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }  /* erişilebilir gizleme (display:none klavyeyi bozar) */
.pnl-logo-kutu label.pnl-btn-sm{ cursor:pointer; margin-top:0; }
.pnl-logo-kutu #bt_logo_ad{ display:inline-block; margin-left:10px; }
.pnl-logo-kutu .pnl-btn-sm{ margin-top:4px; }
.pnl-not{ font-size:13px; color:var(--muted); margin:8px 0 0; }
.pnl-inp[readonly]{ background:var(--surface-2); color:var(--muted); }

/* ── Ödeme linki kutusu ─────────────────────────────────────────────────── */
.pnl-link-kutu{ display:flex; gap:20px; align-items:flex-start; flex-wrap:wrap; }
.pnl-link-kutu > div:first-child{ flex:1 1 320px; min-width:0; }
.pnl-link-kutu .pnl-inp{ font-size:13.5px; }
.pnl-link-dugmeler{ display:flex; gap:10px; flex-wrap:wrap; }
.pnl-link-dugmeler .pnl-btn-sm{ margin-top:10px; }
.pnl-qr{ width:132px; height:132px; border:1px solid var(--border); border-radius:var(--radius-sm); background:#fff; padding:6px; }

/* ── Son 6 ay grafigi (saf CSS, dis kutuphane yok) ──────────────────────── */
.pnl-grafik{ display:flex; align-items:flex-end; gap:10px; padding:6px 0 0; }
.pnl-sutun{ flex:1 1 0; min-width:0; text-align:center; }
.pnl-sutun-deger{ font-size:12px; color:var(--muted); height:16px; white-space:nowrap; overflow:hidden; }
.pnl-sutun-cubuk{ height:120px; display:flex; align-items:flex-end; justify-content:center; }
.pnl-sutun-cubuk span{ display:block; width:100%; max-width:54px; border-radius:6px 6px 0 0;
  background:linear-gradient(180deg, var(--brand) 0%, rgba(14,124,134,.55) 100%); min-height:2px; }
.pnl-sutun-etiket{ margin-top:7px; font-size:12.5px; font-weight:600; color:var(--text); }
.pnl-sutun-adet{ font-size:11.5px; color:var(--muted); }
.pnl-blok-bas .pnl-not{ margin:0; }

/* ── Hareket gecmisi ────────────────────────────────────────────────────── */
/* ── Tarih kisayollari + filtre toplami ─────────────────────────────────── */
/* ── Aramali musteri secici + yeni musteri kutusu ───────────────────────── */
.pnl-gizli-select{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.pnl-ara{ position:relative; }
.pnl-ara-liste{ position:absolute; z-index:40; left:0; right:0; top:calc(100% + 4px); max-height:290px;
  overflow:auto; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-sm); box-shadow:0 10px 28px rgba(0,0,0,.10); }
.pnl-ara-sat{ display:block; width:100%; text-align:left; padding:9px 13px; border:0; background:none;
  cursor:pointer; font:inherit; color:var(--text); }
.pnl-ara-sat:hover{ background:var(--surface-2); }
.pnl-ara-sat b{ font-weight:600; font-size:14px; }
.pnl-ara-sat small{ display:block; color:var(--muted); font-size:12.5px; }
.pnl-ara-bos{ padding:12px 13px; color:var(--muted); font-size:13.5px; }

.pnl-yeni-musteri{ margin-top:4px; padding:14px 16px; border:1px dashed var(--border);
  border-radius:var(--radius-sm); background:var(--surface-2); }
.pnl-yeni-bas{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:13.5px; color:var(--muted); }
.pnl-yeni-bas .pnl-btn-sm{ margin-top:0; }
.pnl-yeni-musteri .pnl-grid{ margin-top:12px; }
.pnl-yeni-alt{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:10px; }
.pnl-yeni-alt .pnl-btn-sm{ margin-top:0; }

.pnl-oran{ display:block; color:var(--muted); font-size:11.5px; }
.pnl-kisayol{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:-6px 0 16px; }
.pnl-kisayol > span{ font-size:13px; color:var(--muted); margin-right:2px; }
.pnl-mini.on{ background:var(--brand); color:#fff; border-color:var(--brand); }
.pnl-ozet-toplam{ display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 22px;
  margin-top:14px; padding:13px 16px; background:var(--surface-2); border-radius:var(--radius-sm); }
.pnl-ozet-b{ font-size:13.5px; color:var(--muted); }
.pnl-ozet-d b{ font-size:17px; color:var(--text); }
.pnl-ozet-d small{ color:var(--muted); font-size:12.5px; margin-left:5px; }

.pnl-zaman{ list-style:none; margin:0; padding:0; }
.pnl-zaman li{ display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; padding:9px 0 9px 16px;
  border-left:2px solid var(--border); position:relative; }
.pnl-zaman li:before{ content:""; position:absolute; left:-5px; top:15px; width:8px; height:8px;
  border-radius:50%; background:var(--brand); }
.pnl-zaman li.teknik{ color:var(--muted); }
.pnl-zaman li.teknik:before{ background:var(--border); }
.pnl-zaman-t{ flex:0 0 125px; font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }
.pnl-zaman-o{ flex:1 1 220px; min-width:0; font-size:14px; }
.pnl-zaman-c{ flex:0 0 auto; font-size:12px; color:var(--muted); background:var(--surface-2);
  padding:2px 9px; border-radius:999px; }

.pnl-toplam{ max-width:360px; margin-left:auto; margin-top:14px; }
.pnl-toplam dt{ float:left; clear:left; color:var(--muted); }
.pnl-toplam dd{ margin:0 0 6px 0; text-align:right; }
.pnl-blok .pnl-btn-sm + .pnl-btn-sm{ margin-left:8px; }
.pnl-kaynak{ display:block; color:var(--muted); font-size:12px; }
.pnl-indir{ margin-left:auto; display:inline-flex; align-items:center; gap:7px; }
.pnl-filtre .pnl-indir{ flex:0 0 auto; }

/* ── Fatura onay kutusu (iki adımlı GİB onayı) ───────────────────────────── */
.pnl-onay-kutu{ border-left:3px solid var(--brand); }
.pnl-onay-satir{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:10px 0 8px; }
.pnl-onay-satir .pnl-inp{ width:auto; min-width:180px; max-width:220px; letter-spacing:2px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.pnl-onay-kutu .pnl-ipucu{ white-space:nowrap; }
.pnl-onay-kutu .pnl-btn{ width:auto; margin-top:12px; }   /* giris formundaki tam genislik buraya uymuyor */

/* ── Kullanıcılar: yetki kutulari + satir ici duzenleme ─────────────────── */
.pnl-yetki{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:8px 18px; margin:8px 0 4px; }
.pnl-duzenle-satir > td{ background:var(--surface-2); padding:16px 18px; }
.pnl-duzenle{ display:flex; flex-wrap:wrap; gap:24px; align-items:flex-start; }
.pnl-duzenle-form{ flex:1 1 420px; min-width:0; }
.pnl-duzenle-yan{ flex:0 1 300px; min-width:0; display:flex; flex-direction:column; gap:18px;
  border-left:1px solid var(--border); padding-left:22px; }
.pnl-duzenle-yan .pnl-inp{ width:100%; min-width:0; }
.pnl-tehlike{ color:#b42318; border-color:#f3c6c2; }
.pnl-tehlike:hover{ background:#fde8e8; }
/* .pnl-link <button> olarak da kullaniliyor (Vazgec/Kapat): UA dugme cercevesini sifirla. */
button.pnl-link{ background:none; border:0; padding:0; font:inherit; cursor:pointer; }

/* ── Musteri defteri: sorun seridi ──────────────────────────────────────── */
.pnl-defter-ozet{ margin-bottom:4px; }
.pnl-defter-ozet .pnl-mini b{ margin-left:5px; }
.pnl-mini-uyari{ border-color:#f3c6c2; color:#b42318; }
.pnl-mini-uyari.on{ background:#fde8e8; }
.pnl-tablo .pnl-rozet{ margin:0 4px 3px 0; }
/* Yetki ozeti 319 harfe kadar cikabiliyor; dar sutunda ~20 satira sarip TUM SATIRI ~500px
   yukseltiyordu (olculdu). Tek satira kisaltilir; tam liste title'da ve Duzenle panelinde. */
.pnl-yetki-ozet{ display:block; max-width:300px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* Mail kuyrugu: hatali satirin altindaki aciklama seridi. */
.pnl-hata-satir > td{ background:#fde8e8; color:#b42318; font-size:12.5px; padding:7px 12px; }
.pnl-hata-satir i{ margin-right:6px; }
/* POS yoklamasi: kart icindeki dugme ve sonuc seridi. */
.pnl-pos-test{ margin-top:12px; }
.pnl-pos-test .pnl-btn-sm{ margin-top:0; }
.pnl-pos-sonuc{ margin-top:10px; align-items:flex-start; }
.pnl-pos-sonuc .pnl-ipucu{ margin-top:2px; }
/* API anahtari: tam deger BIR KEZ gosterilen kutu. */
.pnl-anahtar-kutu{ border-left:3px solid var(--brand); }
.pnl-anahtar-deger{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:10px 0 6px; }
.pnl-anahtar-deger code{ flex:1 1 320px; min-width:0; word-break:break-all; background:var(--surface-2);
  border:1px solid var(--border); border-radius:var(--radius-sm); padding:11px 13px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:14px; letter-spacing:.4px; }
.pnl-anahtar-deger .pnl-btn-sm{ margin-top:0; flex:0 0 auto; }
/* Anahtar tablosu 8 sutunlu: tarih araligi ve maske tek satirda kalsin, satir tasmasin. */
.pnl-anahtar-tablo td, .pnl-anahtar-tablo th{ white-space:nowrap; }
.pnl-anahtar-tablo td:first-child{ white-space:normal; min-width:150px; }
/* Sozlesme metinleri: dil bloklari ve genis metin alani. */
.pnl-sozlesme-dil{ padding:14px 0; border-top:1px solid var(--border); }
.pnl-sozlesme-dil:first-of-type{ border-top:0; padding-top:4px; }
.pnl-sozlesme-metin{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; line-height:1.6; }

@media (max-width:640px){
  .pnl-auth{ padding:24px 20px; }
  .pnl-tutar{ font-size:23px; } .pnl-sayi{ font-size:26px; }
  .pnl-blok{ padding:16px; }
  /* ⚠ FILTRE KUTUSU SUTUNA CEVRILMEZ. Eskiden `flex-direction:column` yapiliyordu; sutun
     yonunde flex-basis ARTIK YUKSEKLIK oldugu icin `flex:1 1 230px` olan arama kutusu
     mobilde 230px YUKSEK bir kutuya donusuyordu (390px'te olculdu). Cozum: satir+sarma
     kalsin, cocuklara GENISLIK temeli verilsin. Ayni tuzak .pnl-duzenle'de de vardi. */
  .pnl-filtre{ gap:8px; }
  .pnl-filtre > .pnl-inp{ flex:1 1 100%; width:auto; min-width:0; }
  .pnl-filtre input[type=date]{ flex:1 1 calc(50% - 4px); }   /* iki tarih yan yana */
  .pnl-filtre .btn{ flex:1 1 100%; justify-content:center; }
  .pnl-kisayol{ gap:6px; }
  .pnl-ozet-toplam{ gap:4px 14px; }
  .pnl-indir{ margin-left:0; justify-content:center; }
  /* ⚠ MOBILDE DIKEY ALAN: 8 sekme sarinca 3 satir + tam genislikte "Yeni odeme linki" =
     icerik ~250px asagi itiliyordu (390px'te olculdu). Sekmeler TEK SATIRDA yatay kaydirilir
     (sekme seridi deseni); kaydirma cubugu gizlenir ama dokunmayla kaydirma calisir. */
  .pnl-tabs{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; margin:14px 0 16px; padding-bottom:2px; }
  .pnl-tabs::-webkit-scrollbar{ display:none; }
  .pnl-tab, .pnl-tab-yeni{ flex:0 0 auto; white-space:nowrap; }
  .pnl-tab-yeni{ margin-left:6px; width:auto; }
  .pnl-eylem{ gap:18px; }
  .pnl-eylem-form{ width:100%; } .pnl-eylem-form .pnl-inp{ min-width:0; width:100%; }
  .pnl-onay-satir{ flex-direction:column; align-items:stretch; }
  .pnl-yetki{ grid-template-columns:1fr; }
  .pnl-yetki-ozet{ max-width:170px; }
  .pnl-duzenle{ flex-direction:column; gap:18px; }
  .pnl-duzenle-form, .pnl-duzenle-yan{ flex:0 0 auto; }
  .pnl-duzenle-yan{ border-left:0; border-top:1px solid var(--border); padding-left:0; padding-top:18px; width:100%; }
  .pnl-onay-satir .pnl-inp{ min-width:0; width:100%; max-width:none; }
  .pnl-form-alt{ flex-direction:column; align-items:stretch; gap:12px; text-align:center; }
  .pnl-link-kutu{ gap:14px; }
  .pnl-zaman li{ gap:4px 10px; }
  .pnl-zaman-t{ flex-basis:100%; }
  .pnl-zaman-o{ flex-basis:auto; }
  .pnl-grafik{ gap:5px; }
  .pnl-sutun-cubuk{ height:90px; }
  .pnl-sutun-deger{ display:none; }
  .pnl-sutun-etiket{ font-size:11px; }
  .pnl-sutun-adet{ display:none; }
  .pnl-qr{ width:116px; height:116px; margin:0 auto; }
}

/* ── Bildirim kutusu + zil (2026-11-11) ───────────────────────────────────────
   Mobil uygulamadaki zil/rozet ve Bildirimler ekranının web eşi. Renkler tema
   token'larından okunur → karanlık mod kendiliğinden doğru gelir. */
.pnl-top-sag{ display:flex; align-items:center; gap:16px; flex:0 0 auto; }
.pnl-zil{ position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%; color:var(--muted); text-decoration:none;
  font-size:16px; transition:background .15s, color .15s; }
.pnl-zil:hover{ background:var(--surface-2); color:var(--brand); }
.pnl-zil.on{ background:var(--mint-soft); color:var(--brand); }
.pnl-zil-sayi{ position:absolute; top:-2px; right:-3px; min-width:17px; height:17px; padding:0 4px;
  border-radius:9px; background:var(--gold); color:#fff; font-size:10.5px; font-weight:800;
  line-height:17px; text-align:center; box-shadow:0 0 0 2px var(--surface); }

.pnl-bildirimler{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.pnl-bildirim{ display:flex; gap:13px; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-sm); padding:14px 16px; }
.pnl-bildirim.yeni{ border-color:var(--brand); box-shadow:0 0 0 1px var(--brand) inset; }
.pnl-bildirim-ikon{ flex:0 0 auto; width:38px; height:38px; border-radius:10px; display:flex;
  align-items:center; justify-content:center; font-size:15px; }
.pnl-bildirim-ikon.odeme{  background:var(--mint-soft); color:var(--ok); }
.pnl-bildirim-ikon.fatura{ background:var(--surface-2); color:var(--brand); }
.pnl-bildirim-ikon.diger{  background:var(--gold-soft); color:var(--gold-ink, var(--gold)); }
.pnl-bildirim-ic{ min-width:0; flex:1 1 auto; }
.pnl-bildirim-bas{ display:flex; align-items:center; gap:7px; }
.pnl-bildirim-bas b{ font-size:14.5px; color:var(--heading); }
.pnl-bildirim-nokta{ width:8px; height:8px; border-radius:50%; background:var(--mint); flex:0 0 auto; }
.pnl-bildirim-ic p{ margin:3px 0 0; font-size:14px; line-height:1.45; color:var(--text); }
.pnl-bildirim-alt{ display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:8px; font-size:12.5px; color:var(--muted); }
.pnl-bildirim-alt a{ color:var(--brand); font-weight:700; text-decoration:none; white-space:nowrap; }
.pnl-bildirim-alt a:hover{ text-decoration:underline; }
.pnl-bildirim-alt i{ margin-left:3px; font-size:11px; }

@media (max-width:640px){
  .pnl-top-sag{ gap:10px; }
  .pnl-bildirim{ padding:12px 13px; gap:11px; }
  .pnl-bildirim-alt{ flex-direction:column; align-items:flex-start; gap:5px; }
}
