/* ============================================================================
   admin-modern.css — NADAS white-label YÖNETİM PANELİ modern teması
   ----------------------------------------------------------------------------
   • base.css'ten SONRA, yalnız admin sayfasında yüklenir. Markup değişmez:
     mevcut sınıflar (.adm-*, .afield, .atable, .kpis, .kanban, .scrm-* …)
     yalnız override edilir.
   • Her kural `#adminApp` altında → public siteye asla sızmaz.
   • Marka farkındalığı SADECE mevcut token'lar üzerinden: --accent, --accent-2,
     --muted, --ink, --line, --surface, --head/--body/--num, --radius*, --elev-*,
     --shadow*, --grad-hero/--grad-cta, --dur/--ease, --success/--warning/--danger.
     Kiracı (tenant) --accent'i değiştirdiğinde panel otomatik markalanır.
     Marka rengi HİÇBİR yerde sabit yazılmaz.
   • Bölümler: 0 Token · 1 Zemin · 2 Login · 3 Kabuk · 4 Kenar çubuğu · 5 Üst bar
     6 Kart · 7 Form · 8 Buton · 9 Tablo · 10 KPI/Grafik · 11 Kanban/Görev/Lead
     12 Rozet/Çip · 13 Çeşitli bileşen · 14 CRM (.scrm-*) · 15 Boş durum
     16 Odak/Scrollbar · 17 Duyarlı · 18 Koyu mod · 19 Azaltılmış hareket
   ========================================================================== */

/* ---------------------------------------------------------------------------
   0. ADMIN TOKEN'LARI — tümü mevcut marka token'larından türetilir
   ------------------------------------------------------------------------ */
#adminApp{
  --adm-bg:        var(--surface,#f5f7fa);
  --adm-card:      var(--white,#ffffff);
  --adm-card-2:    var(--surface-2,#eef3f9);
  --adm-ink:       var(--ink,#0E1147);
  --adm-ink-2:     var(--ink-2,#334155);
  --adm-muted:     var(--muted,#586475);
  --adm-line:      var(--line,#e2e8f0);
  --adm-line-2:    var(--line-2,#eef2f7);
  --adm-accent:    var(--accent,#1a1f66);
  --adm-accent-2:  var(--accent-2,var(--accent,#1a1f66));
  --adm-tint:      color-mix(in srgb,var(--accent,#1a1f66) 8%,transparent);
  --adm-tint-2:    color-mix(in srgb,var(--accent,#1a1f66) 14%,transparent);
  --adm-ring:      var(--ring,0 0 0 3px color-mix(in srgb,var(--accent,#1a1f66) 20%,transparent));
  --adm-r-sm:      var(--radius-sm,11px);
  --adm-r:         var(--radius,16px);
  --adm-r-lg:      var(--radius-lg,22px);
  --adm-e1:        var(--elev-1,0 1px 2px rgba(13,30,60,.06),0 1px 3px rgba(13,30,60,.10));
  --adm-e2:        var(--elev-2,0 4px 12px -4px rgba(13,30,60,.14));
  --adm-e3:        var(--elev-3,0 14px 36px -20px rgba(13,30,60,.22));
  --adm-e4:        var(--elev-4,0 30px 70px -30px rgba(13,30,60,.45));
  --adm-dur:       var(--dur,.2s);
  --adm-dur-fast:  var(--dur-fast,.15s);
  --adm-ease:      var(--ease,cubic-bezier(.2,.8,.2,1));
  --adm-head:      var(--head,'Sora'),system-ui,sans-serif;
  --adm-body:      var(--body,'Hanken Grotesk'),system-ui,sans-serif;
  --adm-num:       var(--num,var(--head,'Sora')),system-ui,sans-serif;
  /* kenar çubuğu: marka renginin derin tonu (nötr koyu zeminle karıştırılır) */
  --adm-side-bg:   color-mix(in srgb,var(--accent,#1a1f66) 32%,#090d1a);
  --adm-side-bg-2: color-mix(in srgb,var(--accent,#1a1f66) 18%,#090d1a);
  --adm-side-ink:  rgba(255,255,255,.72);
  --adm-side-line: rgba(255,255,255,.09);
  --adm-side-hover:rgba(255,255,255,.07);
  --adm-side-w:    256px;
  --adm-top-h:     64px;
  /* semantik durum */
  --adm-ok:        var(--success,#1e7e3a);
  --adm-ok-bg:     color-mix(in srgb,var(--success,#1e7e3a) 12%,transparent);
  --adm-warn:      var(--warning,#b45309);
  --adm-warn-bg:   color-mix(in srgb,var(--warning,#b45309) 12%,transparent);
  --adm-bad:       var(--danger,#b91c1c);
  --adm-bad-bg:    color-mix(in srgb,var(--danger,#b91c1c) 10%,transparent);
}
@supports not (color: color-mix(in srgb,#000 10%,#fff)){
  #adminApp{
    --adm-side-bg:var(--c-bg-navy,#0E1147);--adm-side-bg-2:var(--c-bg-deep,#020059);
    --adm-tint:rgba(0,0,0,.05);--adm-tint-2:rgba(0,0,0,.09);
    --adm-ok-bg:var(--success-bg,#ecfdf5);--adm-warn-bg:var(--warning-bg,#fffbeb);--adm-bad-bg:var(--danger-bg,#fef2f2);
  }
}

/* ---------------------------------------------------------------------------
   1. ZEMİN / TİPOGRAFİ
   ------------------------------------------------------------------------ */
#adminApp{
  background:var(--adm-bg);color:var(--adm-ink);
  font-family:var(--adm-body);font-size:.9375rem;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
#adminApp *,#adminApp *::before,#adminApp *::after{box-sizing:border-box}
#adminApp h1,#adminApp h2,#adminApp h3,#adminApp h4{
  font-family:var(--adm-head);color:var(--adm-ink);letter-spacing:-.015em;line-height:1.2;margin:0;
}
#adminApp a{color:var(--adm-accent)}
#adminApp code{font-family:var(--adm-num);font-size:.8125rem;background:var(--adm-card-2);color:var(--adm-accent);padding:2px 7px;border-radius:6px}
#adminApp hr{border:0;border-top:1px solid var(--adm-line-2);margin:16px 0}

/* ---------------------------------------------------------------------------
   2. LOGIN EKRANI
   ------------------------------------------------------------------------ */
#adminApp .adm-login{
  position:relative;isolation:isolate;padding:24px;
  background:var(--grad-hero,linear-gradient(135deg,#0E1147,#020059));
}
/* marka ışığı: accent'ten türeyen iki yumuşak halo */
#adminApp .adm-login::before,#adminApp .adm-login::after{
  content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;z-index:-1;pointer-events:none;
}
#adminApp .adm-login::before{width:46vw;height:46vw;max-width:560px;max-height:560px;left:-10vw;top:-14vw;background:color-mix(in srgb,var(--accent-2,var(--accent)) 55%,transparent)}
#adminApp .adm-login::after{width:40vw;height:40vw;max-width:480px;max-height:480px;right:-8vw;bottom:-12vw;background:color-mix(in srgb,var(--accent) 70%,transparent)}
#adminApp .adm-login .lbox{
  width:100%;max-width:400px;padding:36px 34px 28px;
  background:var(--adm-card);border:1px solid rgba(255,255,255,.35);border-radius:var(--adm-r-lg);
  box-shadow:var(--adm-e4);text-align:center;
  animation:admIn .45s var(--adm-ease) both;
}
#adminApp .adm-login .mark{
  width:60px;height:60px;border-radius:18px;margin:0 auto 18px;
  background:var(--grad-cta,linear-gradient(135deg,var(--accent),var(--accent-2)));
  box-shadow:var(--elev-btn,var(--adm-e2));color:#fff;font-family:var(--adm-head);font-weight:800;font-size:1.625rem;
}
#adminApp .adm-login h2{font-size:1.375rem;margin:0 0 4px;font-weight:800}
#adminApp .adm-login p{color:var(--adm-muted);font-size:.875rem;margin:0 0 22px}
#adminApp .adm-login input{
  width:100%;min-height:46px;padding:12px 14px;margin-bottom:12px;
  background:var(--adm-card);color:var(--adm-ink);border:1.5px solid var(--adm-line);border-radius:var(--adm-r-sm);
  font:inherit;font-size:.9375rem;outline:0;transition:border-color var(--adm-dur-fast),box-shadow var(--adm-dur-fast);
}
#adminApp .adm-login input::placeholder{color:var(--adm-muted);opacity:.8}
#adminApp .adm-login input:focus{border-color:var(--adm-accent);box-shadow:var(--adm-ring)}
#adminApp .adm-login .btn{width:100%;min-height:46px;margin-top:4px}
#adminApp .adm-login .hint{margin-top:16px;font-size:.75rem;line-height:1.5;color:var(--adm-muted)}
#adminApp .adm-login .hint+.hint{margin-top:10px}
#adminApp .adm-login .hint a{font-weight:700;text-decoration:none}
#adminApp .adm-login .hint a:hover{text-decoration:underline}

/* ---------------------------------------------------------------------------
   3. KABUK — kenar çubuğu + ana alan
   ------------------------------------------------------------------------ */
#adminApp.authed .adm-dash{
  display:grid;grid-template-columns:var(--adm-side-w) minmax(0,1fr);min-height:0;flex:1;
}
#adminApp .adm-main{
  overflow:auto;padding:0 32px 48px;min-width:0;
  background:
    radial-gradient(1200px 320px at 20% -120px,var(--adm-tint),transparent 70%),
    var(--adm-bg);
  scroll-behavior:smooth;overscroll-behavior:contain;
}

/* ---------------------------------------------------------------------------
   4. KENAR ÇUBUĞU — gruplu nav, net aktif durum
   ------------------------------------------------------------------------ */
#adminApp .adm-side{
  position:relative;display:flex;flex-direction:column;gap:2px;
  padding:18px 12px 16px;overflow:auto;overscroll-behavior:contain;
  color:#fff;background:linear-gradient(180deg,var(--adm-side-bg) 0%,var(--adm-side-bg-2) 100%);
  border-right:1px solid var(--adm-side-line);
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;
}
#adminApp .adm-side .alogo{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:6px 8px 16px;margin:0 0 8px;
  font-family:var(--adm-head);font-weight:800;font-size:1rem;letter-spacing:-.01em;color:#fff;
  border-bottom:1px solid var(--adm-side-line);
}
#adminApp .adm-side .alogo .mark{
  width:36px;height:36px;border-radius:11px;flex-shrink:0;
  background:var(--grad-cta,linear-gradient(135deg,var(--accent),var(--accent-2)));
  box-shadow:0 6px 16px -6px color-mix(in srgb,var(--accent-2,var(--accent)) 70%,transparent);
}
/* ikinci span (ürün adı) kiracı logosundan sonra küçük ve sakin */
#adminApp .adm-side .alogo span:not(.mark){
  font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.75;
  padding:3px 8px;border-radius:99px;background:rgba(255,255,255,.08);color:inherit!important;
}
#adminApp .adm-group{
  padding:16px 10px 6px;margin:0;
  font-family:var(--adm-body);font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.42);
}
#adminApp .adm-side .adm-group:first-of-type{padding-top:6px}
#adminApp .adm-nav{
  position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:40px;
  padding:9px 12px;border:0;border-radius:10px;background:none;cursor:pointer;text-align:left;
  font-family:var(--adm-body);font-size:.875rem;font-weight:600;line-height:1.3;color:var(--adm-side-ink);
  transition:background var(--adm-dur-fast) var(--adm-ease),color var(--adm-dur-fast) var(--adm-ease),transform var(--adm-dur-fast) var(--adm-ease);
}
#adminApp .adm-nav:hover{background:var(--adm-side-hover);color:#fff}
#adminApp .adm-nav:active{transform:scale(.985)}
#adminApp .adm-nav.act{
  color:#fff;background:linear-gradient(90deg,rgba(255,255,255,.14),rgba(255,255,255,.07));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
/* aktif işaretçi: accent-2 marka çubuğu */
#adminApp .adm-nav.act::before{
  content:"";position:absolute;left:-12px;top:50%;height:22px;width:3px;transform:translateY(-50%);
  border-radius:0 3px 3px 0;background:var(--adm-accent-2);
  box-shadow:0 0 12px color-mix(in srgb,var(--adm-accent-2) 60%,transparent);
}
#adminApp .adm-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}
#adminApp .adm-side .spacer{flex:1;min-height:12px}
#adminApp .adm-side .exit{color:#fca5a5}
#adminApp .adm-side .exit:hover{background:rgba(248,113,113,.12);color:#fecaca}
/* altta kalan "siteyi görüntüle / çıkış" bloğu ince çizgiyle ayrılır */
#adminApp .adm-side .spacer+.adm-nav{border-top:1px solid var(--adm-side-line);border-radius:0 0 10px 10px;margin-top:4px;padding-top:12px}

/* ---------------------------------------------------------------------------
   5. PANE + YAPIŞKAN ÜST BAR
   ------------------------------------------------------------------------ */
#adminApp .adm-pane{display:none}
#adminApp .adm-pane.act{
  display:flex;flex-direction:column;animation:admIn .32s var(--adm-ease) both;
}
#adminApp .adm-top{
  order:-1; /* JS ile en üste eklenen .scrm-box'ların başlığın altına düşmesini sağlar */
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  min-height:var(--adm-top-h);margin:0 -32px 22px;padding:12px 32px;
  background:color-mix(in srgb,var(--adm-bg) 82%,transparent);
  -webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);
  border-bottom:1px solid var(--adm-line-2);
}
#adminApp .adm-top h1,#adminApp .adm-top h2{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:1.375rem;font-weight:800;letter-spacing:-.02em;margin:0;
}
#adminApp .adm-top .vsite{
  display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:99px;
  font-size:.8125rem;font-weight:700;color:var(--adm-accent);background:var(--adm-tint);cursor:pointer;
  transition:background var(--adm-dur-fast);
}
#adminApp .adm-top .vsite:hover{background:var(--adm-tint-2)}
/* üst barda birden çok aksiyon varsa sağa yaslı, aralıklı */
#adminApp .adm-top>div{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ---------------------------------------------------------------------------
   6. KARTLAR
   ------------------------------------------------------------------------ */
#adminApp .adm-card{
  background:var(--adm-card);border:1px solid var(--adm-line);border-radius:var(--adm-r);
  padding:22px 24px;margin:0 0 18px;box-shadow:var(--adm-e1);
  transition:box-shadow var(--adm-dur) var(--adm-ease);
}
#adminApp .adm-card:hover{box-shadow:var(--adm-e2)}
#adminApp .adm-card h3{font-size:1.0625rem;font-weight:800;margin:0 0 4px}
#adminApp .adm-card h3+.csub,#adminApp .adm-card .csub{color:var(--adm-muted);font-size:.84375rem;line-height:1.55;margin:0 0 18px;max-width:72ch}
#adminApp .adm-card .csub:last-child{margin-bottom:0}
#adminApp .adm-card>.atable,#adminApp .adm-card>.csub+.atable{margin-top:2px}
/* düzenleme kartı (ilan/kişi/fırsat vb.) — marka tonlu çerçeve */
#adminApp .adm-card[id$="EditCard"]{
  border-color:color-mix(in srgb,var(--adm-accent) 28%,var(--adm-line));
  box-shadow:var(--adm-e2),inset 0 3px 0 var(--adm-accent-2);
}
#adminApp .adm-card[id$="EditCard"] h3{color:var(--adm-accent)}
#adminApp .tsub{font-size:.75rem;color:var(--adm-muted);margin-top:3px}

/* ---------------------------------------------------------------------------
   7. FORM KONTROLLERİ
   ------------------------------------------------------------------------ */
#adminApp .afield{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}
#adminApp .afield label{font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--adm-ink-2)}
#adminApp .afield input,#adminApp .afield select,#adminApp .afield textarea,
#adminApp .adm-ta,
#adminApp .scrm-row input,#adminApp .scrm-row select,#adminApp .scrm-row textarea,
#adminApp .adm-card input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]),
#adminApp .adm-card select,#adminApp .adm-card textarea{
  width:100%;min-height:42px;padding:10px 12px;
  background:var(--adm-card);color:var(--adm-ink);
  border:1.5px solid var(--adm-line);border-radius:var(--adm-r-sm);
  font:inherit;font-size:.9rem;line-height:1.4;outline:0;
  transition:border-color var(--adm-dur-fast),box-shadow var(--adm-dur-fast),background var(--adm-dur-fast);
}
#adminApp .afield input:hover,#adminApp .afield select:hover,#adminApp .afield textarea:hover,
#adminApp .adm-ta:hover{border-color:color-mix(in srgb,var(--adm-accent) 35%,var(--adm-line))}
#adminApp .afield input:focus,#adminApp .afield select:focus,#adminApp .afield textarea:focus,
#adminApp .adm-ta:focus,#adminApp .adm-card input:focus,#adminApp .adm-card select:focus,#adminApp .adm-card textarea:focus,
#adminApp .scrm-row input:focus,#adminApp .scrm-row select:focus,#adminApp .scrm-row textarea:focus{
  border-color:var(--adm-accent);box-shadow:var(--adm-ring)
}
#adminApp input::placeholder,#adminApp textarea::placeholder{color:var(--adm-muted);opacity:.7}
#adminApp textarea,#adminApp .adm-ta{min-height:96px;resize:vertical;line-height:1.55}
#adminApp .adm-card input[type=number]{font-family:var(--adm-num);font-variant-numeric:tabular-nums}
#adminApp .adm-card input:disabled,#adminApp .adm-card select:disabled{background:var(--adm-card-2);color:var(--adm-muted);cursor:not-allowed}
#adminApp .adm-card input[readonly]{background:var(--adm-card-2)}
/* select: özel ok */
#adminApp select{
  -webkit-appearance:none;appearance:none;padding-right:36px;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23586475' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;
}
#adminApp select[multiple]{background-image:none;padding-right:12px;min-height:120px}
/* checkbox / radio: accent-color ile marka */
#adminApp input[type=checkbox],#adminApp input[type=radio]{accent-color:var(--adm-accent);width:17px;height:17px;cursor:pointer}
#adminApp input[type=range]{accent-color:var(--adm-accent);width:100%}
#adminApp input[type=file]{font-size:.8125rem;color:var(--adm-muted)}
/* renk seçici */
#adminApp .colorrow{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:8px 10px;border:1px solid var(--adm-line-2);border-radius:var(--adm-r-sm);background:var(--adm-card-2)}
#adminApp .colorrow input[type=color]{width:44px;height:36px;padding:0;border:1px solid var(--adm-line);border-radius:9px;background:none;cursor:pointer}
#adminApp .colorrow input[type=color]::-webkit-color-swatch-wrapper{padding:3px}
#adminApp .colorrow input[type=color]::-webkit-color-swatch{border:0;border-radius:6px}
#adminApp .colorrow .cl{font-size:.84375rem;font-weight:700;color:var(--adm-ink-2)}
/* ızgaralar */
#adminApp .ed2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#adminApp .ed3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#adminApp .ed2>.afield,#adminApp .ed3>.afield{margin-bottom:12px}
/* anahtar (switch) satırları */
#adminApp .sw-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--adm-line-2)}
#adminApp .sw-row:last-child{border-bottom:0}
#adminApp .sw-row .swl b{display:block;font-size:.9rem;font-weight:700;color:var(--adm-ink)}
#adminApp .sw-row .swl span{font-size:.78125rem;color:var(--adm-muted);line-height:1.45}
#adminApp .switch{position:relative;width:46px;height:26px;flex-shrink:0}
#adminApp .switch input{opacity:0;width:0;height:0;position:absolute}
#adminApp .switch .sl{position:absolute;inset:0;border-radius:99px;background:color-mix(in srgb,var(--adm-muted) 45%,var(--adm-line));cursor:pointer;transition:background var(--adm-dur) var(--adm-ease)}
#adminApp .switch .sl::before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform var(--adm-dur) var(--adm-ease)}
#adminApp .switch input:checked+.sl{background:var(--adm-accent)}
#adminApp .switch input:checked+.sl::before{transform:translateX(20px)}
#adminApp .switch input:focus-visible+.sl{box-shadow:var(--adm-ring)}
/* yükleme alanı */
#adminApp .aupload{
  display:grid;place-items:center;gap:4px;min-height:96px;padding:20px;
  border:2px dashed color-mix(in srgb,var(--adm-accent) 30%,var(--adm-line));border-radius:var(--adm-r);
  background:var(--adm-tint);color:var(--adm-ink-2);font-size:.84375rem;font-weight:600;cursor:pointer;
  transition:border-color var(--adm-dur-fast),background var(--adm-dur-fast),transform var(--adm-dur-fast);
}
#adminApp .aupload:hover{border-color:var(--adm-accent);background:var(--adm-tint-2);transform:translateY(-1px)}
#adminApp .athumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--adm-r-sm);margin-top:10px;border:1px solid var(--adm-line);box-shadow:var(--adm-e1)}
/* kanal seçimi (iletişim merkezi) */
#adminApp .chan-pick{display:flex;gap:10px;margin-bottom:14px}
#adminApp .chan-pick label{
  flex:1;min-height:44px;display:grid;place-items:center;padding:10px;border:1.5px solid var(--adm-line);border-radius:var(--adm-r-sm);
  background:var(--adm-card);font-weight:700;font-size:.84375rem;cursor:pointer;color:var(--adm-ink-2);transition:all var(--adm-dur-fast);
}
#adminApp .chan-pick label:hover{border-color:color-mix(in srgb,var(--adm-accent) 40%,var(--adm-line))}
#adminApp .chan-pick label:has(input:checked){border-color:var(--adm-accent);background:var(--adm-tint);color:var(--adm-accent);box-shadow:var(--adm-ring)}
/* filtre çipleri */
#adminApp .crm-filt{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
#adminApp .crm-filt .cf{
  min-height:36px;padding:7px 14px;border:1px solid var(--adm-line);border-radius:99px;background:var(--adm-card);
  font-size:.8125rem;font-weight:600;color:var(--adm-muted);cursor:pointer;transition:all var(--adm-dur-fast);
}
#adminApp .crm-filt .cf:hover{border-color:var(--adm-accent);color:var(--adm-accent)}
#adminApp .crm-filt .cf.act{background:var(--adm-accent);border-color:var(--adm-accent);color:#fff;box-shadow:var(--adm-e2)}
/* mesaj şablonları */
#adminApp .msg-tpl{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
#adminApp .msg-tpl button{
  min-height:36px;padding:7px 12px;border:1px solid var(--adm-line);border-radius:9px;background:var(--adm-card);
  font:inherit;font-size:.78125rem;font-weight:600;color:var(--adm-ink-2);cursor:pointer;transition:all var(--adm-dur-fast);
}
#adminApp .msg-tpl button:hover{border-color:var(--adm-accent);color:var(--adm-accent);background:var(--adm-tint)}

/* ---------------------------------------------------------------------------
   8. BUTONLAR — primary / secondary / mini / tehlike
   ------------------------------------------------------------------------ */
#adminApp .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:11px 20px;border:0;border-radius:12px;
  font-family:var(--adm-body);font-size:.9rem;font-weight:700;white-space:nowrap;cursor:pointer;
  transition:transform var(--adm-dur-fast) var(--adm-ease),box-shadow var(--adm-dur) var(--adm-ease),background var(--adm-dur-fast),border-color var(--adm-dur-fast);
}
#adminApp .btn-primary{
  color:#fff;background:var(--grad-cta,linear-gradient(135deg,var(--accent),var(--accent-2)));
  box-shadow:var(--elev-btn,0 10px 26px -12px color-mix(in srgb,var(--accent) 55%,transparent));
}
#adminApp .btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px -12px color-mix(in srgb,var(--adm-accent) 65%,transparent);filter:brightness(1.04)}
#adminApp .btn-primary:active{transform:translateY(0) scale(.985)}
#adminApp .btn-line{background:var(--adm-card);border:1.5px solid var(--adm-line);color:var(--adm-ink)}
#adminApp .btn-line:hover{border-color:var(--adm-accent);color:var(--adm-accent);background:var(--adm-tint)}
#adminApp .btn-ghost{background:transparent;border:1.5px solid var(--adm-line);color:var(--adm-ink-2)}
#adminApp .btn-ghost:hover{background:var(--adm-tint);color:var(--adm-accent)}
#adminApp .btn-sm{min-height:38px;padding:8px 14px;font-size:.84375rem;border-radius:10px}
#adminApp .btn:disabled,#adminApp .btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;pointer-events:none}
/* ikincil küçük butonlar (tablo satırı / iptal) */
#adminApp .abtn,#adminApp .btn-mini{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:36px;padding:6px 12px;border:1px solid var(--adm-line);border-radius:9px;
  background:var(--adm-card);color:var(--adm-ink-2);
  font-family:var(--adm-body);font-size:.8125rem;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap;
  transition:all var(--adm-dur-fast) var(--adm-ease);
}
#adminApp .abtn:hover,#adminApp .btn-mini:hover{border-color:var(--adm-accent);color:var(--adm-accent);background:var(--adm-tint);box-shadow:var(--adm-e1)}
#adminApp .abtn:active,#adminApp .btn-mini:active{transform:scale(.97)}
#adminApp .abtn.del,#adminApp .ico-btn.del{color:var(--adm-bad)}
#adminApp .abtn.del:hover,#adminApp .ico-btn.del:hover{border-color:var(--adm-bad);background:var(--adm-bad-bg);color:var(--adm-bad)}
#adminApp .btn-mini.ct-add{background:var(--adm-card-2);min-height:40px;padding:8px 14px;border-radius:10px}
#adminApp .btn-mini.ct-add:hover{background:var(--adm-tint)}
#adminApp .ct-add-row{display:flex;flex-wrap:wrap;gap:9px;margin:4px 0 12px}
/* tablo hücresindeki butonlar yan yana */
#adminApp .atable td .abtn+.abtn{margin-left:6px}
/* sık rastlanan satır içi aksiyon konteyneri (style="display:flex;gap:10px") */
#adminApp .adm-card>div[style*="display:flex"]{margin-top:6px;flex-wrap:wrap}

/* ---------------------------------------------------------------------------
   9. TABLOLAR
   ------------------------------------------------------------------------ */
#adminApp .atable{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}
#adminApp .atable th{
  position:sticky;top:0;z-index:1;text-align:left;padding:10px 12px;
  background:var(--adm-card-2);color:var(--adm-muted);
  font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border-bottom:1px solid var(--adm-line);
}
#adminApp .atable th:first-child{border-radius:10px 0 0 10px}
#adminApp .atable th:last-child{border-radius:0 10px 10px 0}
#adminApp .atable td{padding:12px;border-bottom:1px solid var(--adm-line-2);vertical-align:middle;color:var(--adm-ink)}
#adminApp .atable tbody tr{transition:background var(--adm-dur-fast)}
#adminApp .atable tbody tr:hover{background:var(--adm-tint)}
#adminApp .atable tbody tr:last-child td{border-bottom:0}
#adminApp .atable td.ta{text-align:right;white-space:nowrap}
#adminApp .atable td b{font-weight:700}
#adminApp .atable .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--adm-line);margin-right:7px;vertical-align:middle}
#adminApp .atable .dot.ok{background:var(--adm-ok);box-shadow:0 0 0 3px var(--adm-ok-bg)}
#adminApp .atable a{text-decoration:none;font-weight:600}
#adminApp .atable a:hover{text-decoration:underline}
/* geniş tablolar kart içinde yatay kayar */
#adminApp .adm-card>.atable,#adminApp .adm-card>table{display:table}
#adminApp .adm-card:has(>.atable){overflow-x:auto}
#adminApp .ep-map td code{font-size:.75rem}

/* ---------------------------------------------------------------------------
   10. KPI KARTLARI + GRAFİKLER
   ------------------------------------------------------------------------ */
#adminApp .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}
#adminApp .fin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
#adminApp .rep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#adminApp .kpic,#adminApp .kpi .k,#adminApp .fin-grid>div{
  position:relative;overflow:hidden;
  background:var(--adm-card);border:1px solid var(--adm-line);border-radius:var(--adm-r);
  padding:18px 20px;box-shadow:var(--adm-e1);transition:transform var(--adm-dur) var(--adm-ease),box-shadow var(--adm-dur) var(--adm-ease);
}
#adminApp .kpic::after,#adminApp .kpi .k::after{
  content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;
  background:radial-gradient(circle,var(--adm-tint-2),transparent 70%);pointer-events:none;
}
#adminApp .kpic:hover,#adminApp .kpi .k:hover{transform:translateY(-2px);box-shadow:var(--adm-e3)}
#adminApp .kpic .n,#adminApp .kpi .k .n{
  font-family:var(--adm-num);font-weight:800;font-size:1.75rem;letter-spacing:-.03em;line-height:1.1;
  color:var(--adm-ink);font-variant-numeric:tabular-nums;
}
#adminApp .kpi .k .n small{color:var(--adm-muted);font-size:1rem;font-weight:700}
#adminApp .kpic .l,#adminApp .kpi .k .l{font-size:.78125rem;font-weight:600;color:var(--adm-muted);margin-top:6px}
#adminApp .kpic .d{font-size:.75rem;font-weight:700;margin-top:8px;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;background:var(--adm-ok-bg);color:var(--adm-ok)}
#adminApp .kpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
/* çubuk grafik */
#adminApp .barc{display:flex;align-items:flex-end;gap:12px;height:200px;padding:12px 4px 0;border-bottom:1px solid var(--adm-line);background:repeating-linear-gradient(180deg,transparent 0 39px,var(--adm-line-2) 39px 40px)}
#adminApp .barc .bcol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px;min-width:0}
#adminApp .barc .bcol .bar{width:62%;max-width:48px;min-height:4px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--adm-accent-2),var(--adm-accent));box-shadow:0 6px 14px -8px var(--adm-accent);transition:transform var(--adm-dur) var(--adm-ease)}
#adminApp .barc .bcol:hover .bar{transform:scaleY(1.02);transform-origin:bottom}
#adminApp .barc .bcol .bv{font-family:var(--adm-num);font-weight:800;font-size:.8125rem;color:var(--adm-ink)}
#adminApp .barc .bcol .bl{font-size:.6875rem;font-weight:600;color:var(--adm-muted);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
/* kota çubuğu (ProX) */
#adminApp .quota{margin:8px 0 6px}
#adminApp .quota .bar{height:10px;border-radius:99px;background:var(--adm-card-2);overflow:hidden;border:1px solid var(--adm-line-2)}
#adminApp .quota .fill{height:100%;border-radius:99px;background:var(--grad-cta,linear-gradient(90deg,var(--accent),var(--accent-2)))}
#adminApp .quota .qlabel{display:flex;justify-content:space-between;font-size:.78125rem;font-weight:600;color:var(--adm-muted);margin-top:8px}

/* ---------------------------------------------------------------------------
   11. KANBAN / GÖREV LİSTESİ / LEAD SATIRLARI / SÖZLEŞMELER
   ------------------------------------------------------------------------ */
#adminApp .adm-card:has(>.kanban){padding:14px;background:transparent;border:0;box-shadow:none}
#adminApp .kanban{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}
#adminApp .kcol{
  scroll-snap-align:start;min-height:160px;padding:10px;
  background:var(--adm-card-2);border:1px solid var(--adm-line);border-radius:var(--adm-r);
  transition:outline-color var(--adm-dur-fast),background var(--adm-dur-fast);
}
#adminApp .kcol h4{
  display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;padding:4px 6px 8px;
  font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--adm-ink-2);
  border-bottom:2px solid var(--adm-accent-2);
}
#adminApp .kcol h4 .cnt{font-family:var(--adm-num);font-size:.6875rem;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--adm-card);border:1px solid var(--adm-line);color:var(--adm-muted)}
#adminApp .kcol.over{outline:2px dashed var(--adm-accent);outline-offset:-2px;background:var(--adm-tint)}
#adminApp .kcard{
  display:flex;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;
  background:var(--adm-card);border:1px solid var(--adm-line);border-radius:12px;box-shadow:var(--adm-e1);
  cursor:grab;transition:transform var(--adm-dur-fast) var(--adm-ease),box-shadow var(--adm-dur-fast) var(--adm-ease);
}
#adminApp .kcard:hover{transform:translateY(-1px);box-shadow:var(--adm-e2);border-color:color-mix(in srgb,var(--adm-accent) 30%,var(--adm-line))}
#adminApp .kcard:active{cursor:grabbing}
#adminApp .kcontact{font-size:.78125rem;color:var(--adm-muted)}
/* görevler */
#adminApp .tasklist{display:flex;flex-direction:column;gap:0}
#adminApp .tk{display:flex;gap:12px;align-items:flex-start;padding:13px 8px;border-bottom:1px solid var(--adm-line-2);border-radius:10px;transition:background var(--adm-dur-fast)}
#adminApp .tk:hover{background:var(--adm-tint)}
#adminApp .tkchk{width:22px;height:22px;border:2px solid var(--adm-line);border-radius:7px;flex-shrink:0;display:grid;place-items:center;cursor:pointer;margin-top:1px;transition:all var(--adm-dur-fast)}
#adminApp .tkchk:hover{border-color:var(--adm-accent)}
#adminApp .tk.done .tkchk,#adminApp .tkchk.on{background:var(--adm-ok);border-color:var(--adm-ok);color:#fff}
#adminApp .tkbody{flex:1;min-width:0}
#adminApp .tkmeta{display:flex;gap:10px;flex-wrap:wrap;font-size:.75rem;color:var(--adm-muted);margin-top:4px}
#adminApp .tktype{font-size:.6875rem;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--adm-tint);color:var(--adm-accent)}
#adminApp .tkdate{font-family:var(--adm-num);font-size:.75rem;font-weight:700;white-space:nowrap}
/* lead satırları (CRM panosu) */
#adminApp .lrow{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 6px;border-bottom:1px solid var(--adm-line-2);border-radius:10px;transition:background var(--adm-dur-fast)}
#adminApp .lrow:hover{background:var(--adm-tint)}
#adminApp .lrow:last-child{border-bottom:0}
/* sözleşme listesi + not */
#adminApp .ct-note{margin-top:14px;padding:12px 14px;font-size:.78125rem;line-height:1.55;color:var(--adm-ink-2);background:var(--adm-warn-bg);border:1px solid color-mix(in srgb,var(--adm-warn) 28%,transparent);border-radius:var(--adm-r-sm)}
#adminApp #contractList .adm-card{box-shadow:var(--adm-e1)}

/* ---------------------------------------------------------------------------
   12. ROZETLER / ÇİPLER
   ------------------------------------------------------------------------ */
#adminApp .ai-badge,#adminApp .badge-ai-feat{
  display:inline-flex;align-items:center;gap:6px;vertical-align:middle;
  padding:4px 11px;border-radius:99px;font-family:var(--adm-body);font-size:.6875rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:#fff;background:var(--grad-cta,linear-gradient(135deg,var(--accent),var(--accent-2)));
  box-shadow:0 4px 12px -6px var(--adm-accent);
}
#adminApp .dot-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--adm-ok);margin-right:7px;box-shadow:0 0 0 3px var(--adm-ok-bg);animation:admPulse 2s ease-in-out infinite}
#adminApp .eids-box{margin:14px 0;padding:16px 18px;border:1px solid color-mix(in srgb,var(--adm-accent-2) 35%,var(--adm-line));border-radius:var(--adm-r);background:linear-gradient(180deg,var(--adm-tint),transparent)}
#adminApp .eids-box .eh{display:flex;align-items:center;gap:9px;font-family:var(--adm-head);font-weight:800;font-size:.875rem;margin-bottom:6px}
#adminApp .eids-box .eh .shield{color:var(--adm-accent-2);display:flex}

/* ---------------------------------------------------------------------------
   13. ÇEŞİTLİ BİLEŞENLER
   ------------------------------------------------------------------------ */
#adminApp .theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
#adminApp .theme-grid>*{border-radius:var(--adm-r-sm);border:1.5px solid var(--adm-line);cursor:pointer;overflow:hidden;transition:all var(--adm-dur-fast)}
#adminApp .theme-grid>*:hover{border-color:var(--adm-accent);transform:translateY(-2px);box-shadow:var(--adm-e2)}
#adminApp .theme-grid>.act,#adminApp .theme-grid>.sel,#adminApp .theme-grid>[aria-pressed="true"]{border-color:var(--adm-accent);box-shadow:var(--adm-ring)}
#adminApp .logo-prev{margin-top:12px}
#adminApp .logo-prev-in{border-radius:var(--adm-r-sm);border:1px solid var(--adm-line)}
#adminApp .viewer3d{aspect-ratio:16/10;border-radius:var(--adm-r);border:1px solid var(--adm-line);box-shadow:var(--adm-e2);background:var(--grad-hero,linear-gradient(135deg,#0E1147,#020059))}
#adminApp .viewer3d .hint3d{left:12px;bottom:12px;padding:6px 11px;border-radius:9px;font-size:.71875rem;font-weight:700;background:rgba(255,255,255,.92);color:var(--adm-ink);backdrop-filter:blur(6px)}
#adminApp .sentlog{font-size:.8125rem;color:var(--adm-muted);margin-top:6px}
#adminApp .sentlog .sl{padding:10px 0;border-bottom:1px solid var(--adm-line-2)}
#adminApp .sentlog .sl:last-child{border-bottom:0}
/* hizmet alanı çipleri (saIlChips / saMahChips / saKatChips) */
#adminApp [id$="Chips"]{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
#adminApp [id$="Chips"]>*{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 12px;border-radius:99px;border:1px solid var(--adm-line);background:var(--adm-card);font-size:.8125rem;font-weight:600;color:var(--adm-ink-2)}
#adminApp [id$="Chips"]>*.act,#adminApp [id$="Chips"]>*.sel{background:var(--adm-tint);border-color:var(--adm-accent);color:var(--adm-accent)}
/* kota/bulk çıktı ve pre alanları */
#adminApp pre,#adminApp #bulk_out,#adminApp #repResult,#adminApp #ki_out{
  font-family:var(--adm-num);font-size:.8125rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;
  padding:12px 14px;border-radius:var(--adm-r-sm);background:var(--adm-card-2);border:1px solid var(--adm-line-2);color:var(--adm-ink-2);
}
#adminApp #bulk_out:empty,#adminApp #repResult:empty,#adminApp #ki_out:empty{display:none}
/* içerik stüdyosu konteyneri */
#adminApp #csHost{padding-top:8px}

/* ---------------------------------------------------------------------------
   14. CRM BİLEŞENLERİ (.scrm-* — saas-crm.js runtime stilini ezer)
   ------------------------------------------------------------------------ */
#adminApp .scrm-box{
  margin:0 0 18px;padding:22px 24px;
  background:var(--adm-card);border:1px solid var(--adm-line);border-radius:var(--adm-r);box-shadow:var(--adm-e1);
}
#adminApp .scrm-hd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 14px;font-family:var(--adm-head);font-size:1.0625rem;font-weight:800;color:var(--adm-ink)}
#adminApp .scrm-hd small{font-family:var(--adm-body);font-size:.78125rem;font-weight:500;color:var(--adm-muted)}
#adminApp .scrm-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;padding:14px;margin-bottom:12px;background:var(--adm-card-2);border:1px solid var(--adm-line-2);border-radius:var(--adm-r-sm)}
#adminApp .scrm-row>div{display:flex;flex-direction:column;gap:6px;flex:1 1 150px;min-width:0}
#adminApp .scrm-row label{display:block;margin:0;font-size:.75rem;font-weight:700;color:var(--adm-ink-2)}
#adminApp .scrm-row input,#adminApp .scrm-row select,#adminApp .scrm-row textarea{min-width:0;font-size:.875rem}
#adminApp .scrm-add{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:10px 18px;
  border:0;border-radius:10px;color:#fff;background:var(--grad-cta,linear-gradient(135deg,var(--accent),var(--accent-2)));
  font-family:var(--adm-body);font-size:.875rem;font-weight:700;cursor:pointer;white-space:nowrap;
  box-shadow:var(--elev-btn,var(--adm-e2));transition:transform var(--adm-dur-fast),box-shadow var(--adm-dur);
}
#adminApp .scrm-add:hover{transform:translateY(-1px);filter:brightness(1.04)}
#adminApp .scrm-add:active{transform:scale(.98)}
#adminApp .scrm-msg{align-self:center;font-size:.8125rem;font-weight:600;color:var(--adm-muted);margin-left:2px}
#adminApp .scrm-info{padding:28px 16px;text-align:center;font-size:.875rem;color:var(--adm-muted);background:var(--adm-card-2);border:1px dashed var(--adm-line);border-radius:var(--adm-r-sm)}
#adminApp .scrm-err{padding:14px 16px;font-size:.875rem;font-weight:600;color:var(--adm-bad);background:var(--adm-bad-bg);border:1px solid color-mix(in srgb,var(--adm-bad) 30%,transparent);border-radius:var(--adm-r-sm)}
#adminApp .scrm-tot{margin:4px 2px 8px;font-size:.78125rem;font-weight:600;color:var(--adm-muted)}
#adminApp .scrm-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;margin-top:6px}
#adminApp .scrm-tbl th{text-align:left;padding:10px 12px;background:var(--adm-card-2);color:var(--adm-muted);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--adm-line)}
#adminApp .scrm-tbl th:first-child{border-radius:10px 0 0 10px}
#adminApp .scrm-tbl th:last-child{border-radius:0 10px 10px 0}
#adminApp .scrm-tbl td{padding:12px;border-bottom:1px solid var(--adm-line-2);vertical-align:middle}
#adminApp .scrm-tbl tbody tr:hover{background:var(--adm-tint)}
#adminApp .scrm-tbl tbody tr:last-child td{border-bottom:0}
#adminApp .scrm-tbl a{text-decoration:none;font-weight:600}
/* KPI satırı → küçük kart çipleri */
#adminApp .scrm-kpi{
  display:inline-flex;align-items:baseline;gap:8px;margin:0 10px 10px 0;padding:10px 14px;
  background:var(--adm-card-2);border:1px solid var(--adm-line-2);border-radius:var(--adm-r-sm);font-size:.8125rem;font-weight:600;color:var(--adm-muted);
}
#adminApp .scrm-kpi b{font-family:var(--adm-num);font-size:1.25rem;font-weight:800;color:var(--adm-ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
/* pipeline kanban (CRM) */
#adminApp .scrm-cols{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}
#adminApp .scrm-col{flex:1 0 210px;min-width:210px;padding:10px;background:var(--adm-card-2);border:1px solid var(--adm-line);border-radius:var(--adm-r);scroll-snap-align:start}
#adminApp .scrm-col h4{margin:0 0 10px;padding:4px 6px 8px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--adm-ink-2);border-bottom:2px solid var(--adm-accent-2)}
#adminApp .scrm-deal{margin-bottom:8px;padding:12px 14px;font-size:.84375rem;background:var(--adm-card);border:1px solid var(--adm-line);border-radius:12px;box-shadow:var(--adm-e1);transition:transform var(--adm-dur-fast) var(--adm-ease),box-shadow var(--adm-dur-fast)}
#adminApp .scrm-deal:hover{transform:translateY(-1px);box-shadow:var(--adm-e2)}
#adminApp .scrm-deal b{display:block;font-weight:700;color:var(--adm-ink);margin-bottom:2px}
#adminApp .scrm-deal select{width:100%;min-height:32px;margin-top:8px;padding:5px 28px 5px 8px;font-size:.75rem;border:1px solid var(--adm-line);border-radius:8px;background-color:var(--adm-card-2)}
/* durum rozetleri */
#adminApp .scrm-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:.6875rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}
#adminApp .scrm-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
#adminApp .scrm-ok{background:var(--adm-ok-bg);color:var(--adm-ok)}
#adminApp .scrm-wait{background:var(--adm-warn-bg);color:var(--adm-warn)}
#adminApp .scrm-bad{background:var(--adm-bad-bg);color:var(--adm-bad)}
/* onay / dışa aktar butonları — secondary stil */
#adminApp .scrm-aprv,#adminApp .scrm-expbtn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:36px;padding:6px 14px;border:1.5px solid var(--adm-line);border-radius:9px;
  background:var(--adm-card);color:var(--adm-accent);font-family:var(--adm-body);font-size:.8125rem;font-weight:700;cursor:pointer;
  transition:all var(--adm-dur-fast) var(--adm-ease);
}
#adminApp .scrm-expbtn{margin:4px 8px 4px 0;min-height:40px;padding:8px 16px;border-radius:10px}
#adminApp .scrm-aprv:hover,#adminApp .scrm-expbtn:hover{border-color:var(--adm-accent);background:var(--adm-tint);box-shadow:var(--adm-e1)}
#adminApp .scrm-aprv{border-color:color-mix(in srgb,var(--adm-ok) 40%,var(--adm-line));color:var(--adm-ok)}
#adminApp .scrm-aprv:hover{border-color:var(--adm-ok);background:var(--adm-ok-bg)}
#adminApp .scrm-sec{margin-top:22px;padding-top:18px;border-top:1px solid var(--adm-line-2)}
#adminApp .scrm-out{margin-top:12px;padding:14px 16px;font-size:.875rem;line-height:1.6;white-space:pre-wrap;background:var(--adm-card-2);border:1px solid var(--adm-line-2);border-radius:var(--adm-r-sm);color:var(--adm-ink)}
#adminApp .scrm-note{margin:8px 0 12px;padding:9px 12px;font-size:.76rem;line-height:1.5;color:var(--adm-warn);background:var(--adm-warn-bg);border:1px solid color-mix(in srgb,var(--adm-warn) 25%,transparent);border-radius:9px}
#adminApp .scrm-exp-msg{font-size:.8125rem;color:var(--adm-muted);margin-top:6px}
#adminApp #scrm-exp-btns{display:flex;flex-wrap:wrap;gap:0 2px}

/* ---------------------------------------------------------------------------
   15. BOŞ DURUMLAR (JS boş konteyner bıraktığında — markup değişmeden)
   ------------------------------------------------------------------------ */
#adminApp .atable tbody:empty::after{
  content:"Henüz kayıt yok. Sağ üstteki butonla ilk kaydı ekleyin.";
  display:table-caption;caption-side:bottom;padding:28px 16px;text-align:center;
  font-size:.875rem;color:var(--adm-muted);background:var(--adm-card-2);border:1px dashed var(--adm-line);border-radius:var(--adm-r-sm);margin-top:8px;
}
#adminApp #recentLeads:empty::before,#adminApp #matchResult:empty::before,#adminApp #contractList:empty::before,
#adminApp #taskList:empty::before,#adminApp #kanban:empty::before,#adminApp #sentLog:empty::before,#adminApp #repLogRows:empty::before{
  display:block;padding:28px 16px;text-align:center;font-size:.875rem;color:var(--adm-muted);
  background:var(--adm-card-2);border:1px dashed var(--adm-line);border-radius:var(--adm-r-sm);
}
#adminApp #recentLeads:empty::before{content:"Henüz gelen talep yok — formlar, değerleme ve fiyat alarmı buraya düşer."}
#adminApp #matchResult:empty::before{content:"Bir kişi seçin; en uygun ilanlar skorlanarak listelenir."}
#adminApp #contractList:empty::before{content:"Henüz sözleşme oluşturulmadı. Yukarıdaki şablonlardan birini seçin."}
#adminApp #taskList:empty::before{content:"Planlı görev/randevu yok."}
#adminApp #kanban:empty::before{content:"Satış hattı boş. “+ Yeni Fırsat” ile başlayın."}
#adminApp #sentLog:empty::before{content:"Gönderim geçmişi boş."}
#adminApp #repLogRows:empty::before{content:"Henüz rapor üretilmedi."}
#adminApp .kpis:empty{display:none}

/* ---------------------------------------------------------------------------
   16. ODAK, SEÇİM, SCROLLBAR, ANİMASYON
   ------------------------------------------------------------------------ */
#adminApp :where(button,a,[tabindex],input,select,textarea):focus-visible{outline:2px solid var(--adm-accent);outline-offset:2px;border-radius:8px}
#adminApp :where(input,select,textarea):focus-visible{outline:0}
#adminApp ::selection{background:var(--adm-tint-2);color:var(--adm-ink)}
#adminApp .adm-main{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--adm-muted) 35%,transparent) transparent}
#adminApp .adm-main::-webkit-scrollbar,#adminApp .kanban::-webkit-scrollbar,#adminApp .scrm-cols::-webkit-scrollbar{width:8px;height:8px}
#adminApp .adm-main::-webkit-scrollbar-thumb,#adminApp .kanban::-webkit-scrollbar-thumb,#adminApp .scrm-cols::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--adm-muted) 35%,transparent);border-radius:99px}
#adminApp .adm-side::-webkit-scrollbar{width:6px}
#adminApp .adm-side::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:99px}
@keyframes admIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes admPulse{0%,100%{box-shadow:0 0 0 3px var(--adm-ok-bg)}50%{box-shadow:0 0 0 6px transparent}}

/* ---------------------------------------------------------------------------
   17. DUYARLI DÜZEN
   ------------------------------------------------------------------------ */
@media (max-width:1280px){
  #adminApp{--adm-side-w:232px}
  #adminApp .kpis,#adminApp .fin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #adminApp .rep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #adminApp .kanban{grid-template-columns:repeat(5,minmax(200px,1fr))}
}
@media (max-width:1024px){
  #adminApp .adm-main{padding:0 22px 40px}
  #adminApp .adm-top{margin:0 -22px 18px;padding:10px 22px}
  #adminApp .ed3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ≤900px: kenar çubuğu üstte yatay kayan nav şeridine dönüşür */
@media (max-width:900px){
  #adminApp.authed .adm-dash{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  #adminApp .adm-side{
    flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;
    padding:10px 12px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--adm-side-line);
    -webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
  }
  #adminApp .adm-side .alogo{width:auto;padding:0 10px 0 2px;margin:0 4px 0 0;border-bottom:0;border-right:1px solid var(--adm-side-line);white-space:nowrap;flex-shrink:0}
  #adminApp .adm-side .alogo span:not(.mark){display:none}
  #adminApp .adm-group{
    flex-shrink:0;align-self:center;padding:0 6px 0 10px;margin-left:4px;
    font-size:.5625rem;writing-mode:horizontal-tb;border-left:1px solid var(--adm-side-line);
  }
  #adminApp .adm-nav{width:auto;flex-shrink:0;min-height:40px;padding:8px 12px;border-radius:99px;scroll-snap-align:start;font-size:.8125rem;white-space:nowrap}
  #adminApp .adm-nav.act{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
  #adminApp .adm-nav.act::before{display:none}
  #adminApp .adm-side .spacer{display:none}
  #adminApp .adm-side .spacer+.adm-nav{border-top:0;border-radius:99px;margin:0;padding-top:8px}
  #adminApp .adm-top{top:0}
  #adminApp .kanban{grid-template-columns:repeat(5,minmax(220px,1fr))}
}
@media (max-width:640px){
  #adminApp{--adm-top-h:56px}
  #adminApp .adm-main{padding:0 16px 32px}
  #adminApp .adm-top{margin:0 -16px 16px;padding:10px 16px;min-height:56px}
  #adminApp .adm-top h1,#adminApp .adm-top h2{font-size:1.125rem}
  #adminApp .adm-top>.btn,#adminApp .adm-top>.abtn{flex:1 1 auto;justify-content:center}
  #adminApp .adm-card,#adminApp .scrm-box{padding:16px;border-radius:var(--adm-r-sm);margin-bottom:14px}
  #adminApp .ed2,#adminApp .ed3{grid-template-columns:1fr;gap:0}
  #adminApp .kpis,#adminApp .fin-grid,#adminApp .rep-grid,#adminApp .kpi{grid-template-columns:1fr 1fr;gap:10px}
  #adminApp .kpic,#adminApp .kpi .k,#adminApp .fin-grid>div{padding:14px}
  #adminApp .kpic .n,#adminApp .kpi .k .n{font-size:1.375rem}
  /* dokunma hedefleri ≥ 44px */
  #adminApp .btn,#adminApp .scrm-add{min-height:44px}
  #adminApp .btn-sm,#adminApp .abtn,#adminApp .btn-mini,#adminApp .crm-filt .cf,#adminApp .msg-tpl button,#adminApp .scrm-aprv,#adminApp .scrm-expbtn{min-height:40px;padding-left:14px;padding-right:14px}
  #adminApp .afield input,#adminApp .afield select,#adminApp .adm-card input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),#adminApp .adm-card select,#adminApp .scrm-row input,#adminApp .scrm-row select{min-height:44px;font-size:16px}/* iOS zoom önler */
  #adminApp .scrm-row{padding:12px}
  #adminApp .scrm-row>div{flex-basis:100%}
  #adminApp .scrm-add{width:100%}
  #adminApp .chan-pick{flex-wrap:wrap}
  #adminApp .chan-pick label{flex:1 1 calc(50% - 5px)}
  /* tablolar: yatay kaydırma, dokunma dostu satır */
  #adminApp .adm-card:has(>.atable),#adminApp .scrm-box{overflow-x:auto}
  #adminApp .atable,#adminApp .scrm-tbl{min-width:560px}
  #adminApp .atable td,#adminApp .scrm-tbl td{padding:12px 10px}
  #adminApp .atable th,#adminApp .scrm-tbl th{position:static}
  #adminApp .barc{height:160px;gap:6px}
  #adminApp .adm-card:has(>.kanban){padding:0}
  #adminApp .kanban{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(78vw,1fr);scroll-snap-type:x mandatory}
  #adminApp .scrm-col{flex-basis:78vw;min-width:78vw;scroll-snap-align:center}
  #adminApp .adm-login{padding:16px}
  #adminApp .adm-login .lbox{padding:28px 22px 22px}
  #adminApp .theme-grid{grid-template-columns:repeat(2,1fr)}
  #adminApp .ct-add-row .btn-mini{flex:1 1 calc(50% - 5px);justify-content:center}
}

/* ---------------------------------------------------------------------------
   18. KOYU MOD (token'lar üzerinden; sistem tercihi + opsiyonel data-theme)
   ------------------------------------------------------------------------ */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) #adminApp{
    --adm-bg:color-mix(in srgb,var(--accent,#1a1f66) 6%,#0b0f1a);
    --adm-card:color-mix(in srgb,var(--accent,#1a1f66) 8%,#121725);
    --adm-card-2:color-mix(in srgb,var(--accent,#1a1f66) 10%,#181e2e);
    --adm-ink:#eef2f8;--adm-ink-2:#c9d2e0;--adm-muted:#8a95a8;
    --adm-line:rgba(255,255,255,.10);--adm-line-2:rgba(255,255,255,.06);
    --adm-tint:color-mix(in srgb,var(--accent-2,var(--accent,#1a1f66)) 14%,transparent);
    --adm-tint-2:color-mix(in srgb,var(--accent-2,var(--accent,#1a1f66)) 22%,transparent);
    --adm-accent:color-mix(in srgb,var(--accent-2,var(--accent,#1a1f66)) 70%,#fff);
    --adm-e1:0 1px 2px rgba(0,0,0,.4);--adm-e2:0 6px 16px -6px rgba(0,0,0,.5);--adm-e3:0 16px 40px -20px rgba(0,0,0,.6);
    --adm-ok:#4ade80;--adm-ok-bg:rgba(74,222,128,.14);--adm-warn:#fbbf24;--adm-warn-bg:rgba(251,191,36,.14);--adm-bad:#f87171;--adm-bad-bg:rgba(248,113,113,.14);
    color-scheme:dark;
  }
  :root:not([data-theme="light"]) #adminApp .adm-main{background:var(--adm-bg)}
  :root:not([data-theme="light"]) #adminApp .adm-top{background:color-mix(in srgb,var(--adm-bg) 80%,transparent)}
  :root:not([data-theme="light"]) #adminApp .adm-login .lbox{border-color:rgba(255,255,255,.08)}
  :root:not([data-theme="light"]) #adminApp .switch .sl::before{background:#e5e7eb}
  :root:not([data-theme="light"]) #adminApp .viewer3d .hint3d{background:rgba(18,23,37,.92);color:var(--adm-ink)}
  :root:not([data-theme="light"]) #adminApp select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a95a8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")}
}
:root[data-theme="dark"] #adminApp{
  --adm-bg:color-mix(in srgb,var(--accent,#1a1f66) 6%,#0b0f1a);
  --adm-card:color-mix(in srgb,var(--accent,#1a1f66) 8%,#121725);
  --adm-card-2:color-mix(in srgb,var(--accent,#1a1f66) 10%,#181e2e);
  --adm-ink:#eef2f8;--adm-ink-2:#c9d2e0;--adm-muted:#8a95a8;
  --adm-line:rgba(255,255,255,.10);--adm-line-2:rgba(255,255,255,.06);
  --adm-tint:color-mix(in srgb,var(--accent-2,var(--accent,#1a1f66)) 14%,transparent);
  --adm-tint-2:color-mix(in srgb,var(--accent-2,var(--accent,#1a1f66)) 22%,transparent);
  --adm-accent:color-mix(in srgb,var(--accent-2,var(--accent,#1a1f66)) 70%,#fff);
  --adm-e1:0 1px 2px rgba(0,0,0,.4);--adm-e2:0 6px 16px -6px rgba(0,0,0,.5);--adm-e3:0 16px 40px -20px rgba(0,0,0,.6);
  --adm-ok:#4ade80;--adm-ok-bg:rgba(74,222,128,.14);--adm-warn:#fbbf24;--adm-warn-bg:rgba(251,191,36,.14);--adm-bad:#f87171;--adm-bad-bg:rgba(248,113,113,.14);
  color-scheme:dark;
}
:root[data-theme="dark"] #adminApp .adm-main{background:var(--adm-bg)}
:root[data-theme="dark"] #adminApp .adm-top{background:color-mix(in srgb,var(--adm-bg) 80%,transparent)}
:root[data-theme="dark"] #adminApp .adm-login .lbox{border-color:rgba(255,255,255,.08)}
:root[data-theme="dark"] #adminApp .switch .sl::before{background:#e5e7eb}

/* ---------------------------------------------------------------------------
   19. AZALTILMIŞ HAREKET
   ------------------------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  #adminApp *,#adminApp *::before,#adminApp *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ---------------------------------------------------------------------------
   15. TEK KAYNAK CRM + "KAYDET = SUNUCU" — kayıt durumu çipi, pipeline aşama seçici,
       ProX bağlantı rozeti, İçerik Stüdyosu boş-durumu, demo-banner gizleme
   ------------------------------------------------------------------------ */
/* başlık sola yaslanır; aksiyon butonu + kayıt çipi sağda yan yana durur */
#adminApp .adm-top>h1,#adminApp .adm-top>h2{margin-right:auto}
#adminApp .crm-savechip{
  display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:99px;
  font-size:.78125rem;font-weight:700;white-space:nowrap;
  color:var(--adm-muted);background:var(--adm-card-2);border:1px solid var(--adm-line);
  transition:background var(--adm-dur-fast),color var(--adm-dur-fast),border-color var(--adm-dur-fast);
}
#adminApp .crm-savechip .dot{width:8px;height:8px;border-radius:50%;background:var(--adm-muted);flex-shrink:0}
#adminApp .crm-savechip.st-saved{color:var(--adm-ok);background:var(--adm-ok-bg);border-color:color-mix(in srgb,var(--adm-ok) 30%,var(--adm-line))}
#adminApp .crm-savechip.st-saved .dot{background:var(--adm-ok)}
#adminApp .crm-savechip.st-dirty,#adminApp .crm-savechip.st-saving{color:var(--adm-warn);background:var(--adm-warn-bg);border-color:color-mix(in srgb,var(--adm-warn) 30%,var(--adm-line))}
#adminApp .crm-savechip.st-dirty .dot,#adminApp .crm-savechip.st-saving .dot{background:var(--adm-warn);animation:crmPulse 1s ease-in-out infinite}
#adminApp .crm-savechip.st-error{color:var(--adm-bad);background:var(--adm-bad-bg);border-color:color-mix(in srgb,var(--adm-bad) 30%,var(--adm-line))}
#adminApp .crm-savechip.st-error .dot{background:var(--adm-bad)}
#adminApp .crm-savechip .rt{display:none;min-height:26px;padding:0 10px;border-radius:99px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-size:.71875rem;font-weight:700;cursor:pointer}
#adminApp .crm-savechip.st-error .rt{display:inline-flex;align-items:center}
#adminApp .crm-savechip .rt:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
@keyframes crmPulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){#adminApp .crm-savechip .dot{animation:none!important}}
/* kişi sayacı + telefon/WhatsApp hızlı linkleri */
#adminApp .crm-count{margin:0 0 10px;font-weight:600}
#adminApp .crm-count:empty{display:none}
#adminApp .klink{color:inherit;text-decoration:none;font-weight:600}
#adminApp .klink:hover{color:var(--adm-accent);text-decoration:underline}
#adminApp .klink.wa{margin-left:2px;text-decoration:none}
/* pipeline: kart üstü aşama seçici (dokunmatikte sürükle-bırak alternatifi) */
#adminApp .kdeal .kstage,#adminApp .kcard .kstage{
  width:100%;min-height:32px;margin-top:8px;padding:4px 28px 4px 8px;font-size:.75rem;font-weight:600;
  border:1px solid var(--adm-line);border-radius:8px;background:var(--adm-card-2);color:var(--adm-ink);cursor:pointer;
}
#adminApp .kdeal .kstage:focus-visible,#adminApp .kcard .kstage:focus-visible{outline:2px solid var(--adm-accent);outline-offset:1px}
#adminApp #pipeKpi:empty{display:none}
/* ProX bağlantı rozeti (sağlayıcı seçimi yerine) */
#adminApp .prox-conn{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:42px;padding:6px 10px;border:1px dashed var(--adm-line);border-radius:10px;background:var(--adm-card-2)}
/* İçerik Stüdyosu modülü monte edilmeden önce boş beyaz alan yerine yükleniyor/yardım metni */
#adminApp #csHost:empty{min-height:160px;display:grid;place-items:center;padding:24px;text-align:center;font-size:.875rem;color:var(--adm-muted);background:var(--adm-card-2);border:1px dashed var(--adm-line);border-radius:var(--adm-r)}
#adminApp #csHost:empty::before{content:"İçerik Stüdyosu yükleniyor… Bu alan boş kalırsa sayfayı yenileyin ya da 🔌 10Line API & Modüller sekmesinden ProX bağlantısını kontrol edin."}
/* demo-danışman uyarısı yalnız JS açıkça gösterdiğinde */
#adminApp #danDemoBanner[hidden],#adminApp #danDemoBanner:empty{display:none}
@media (max-width:640px){
  #adminApp .crm-savechip{font-size:.71875rem;padding:0 10px;min-height:32px}
}
