/* Domain Radar — dashboard (dark) */
:root {
  --bg: #0f172a; --panel: #1e293b; --panel2: #334155; --text: #e2e8f0;
  --muted: #94a3b8; --accent: #4ade80; --accent2: #38bdf8; --warn: #f87171;
  --border: #334155;
  /* etkileşim */
  --row-hover: #2f415e; --row-selected: #14532d; --row-selected-text: #d1fae5;
  --row-open: #16a34a; --row-open-text: #f0fdf4;
  --row-fav: rgba(251,191,36,.12); --row-watch: rgba(56,189,248,.12);
  /* mekanik / AI kolon grupları (light mod gelince :root override) */
  --mek-text: #94a3b8; --mek-bg: transparent;
  --ai-text: #c4b5fd; --ai-bg: #2e1065; --ai-cell-bg: #2e106533;
  --group-mek-bg: #334155; --group-mek-text: #cbd5e1;
  --group-ai-bg: #4c1d95; --group-ai-text: #ede9fe;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, "Segoe UI", Arial, sans-serif; background: var(--bg); color: var(--text); font-size: 14px; }
.muted { color: var(--muted); }
a { color: var(--accent2); }
button { cursor: pointer; }
.btn { background: var(--accent); color: #06281a; border: 0; padding: 7px 14px; border-radius: 7px; font-weight: 600; }
.btn-sm { background: var(--panel2); color: var(--text); border: 1px solid var(--border); padding: 4px 10px; border-radius: 6px; }
.btn-sm:hover { background: #475569; }
/* Sütun grubu aç/kapa çubuğu */
.col-groups { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 8px 0; }
/* TAZELİK ALARMI (Layer 3) — drop listesi/scan bayat uyarısı; sessiz arıza 12h'de görünür. */
.freshness-banner { display: flex; align-items: center; gap: 10px; margin: 8px 0; padding: 9px 12px; border-radius: 8px; font-size: 13px; line-height: 1.4; }
.freshness-banner .fresh-icon { font-size: 16px; }
.freshness-banner.fresh-critical { background: #fde8e8; border: 1px solid #f5b5b5; color: #8a1f1f; }
.freshness-banner.fresh-warn { background: #fef3e0; border: 1px solid #f5cf95; color: #8a5a10; }
.freshness-banner .fresh-scan-btn { margin-left: auto; padding: 4px 10px; border: 1px solid currentColor; background: transparent; color: inherit; border-radius: 6px; cursor: pointer; font-size: 12px; white-space: nowrap; }
.freshness-banner .fresh-scan-btn:hover:not(:disabled) { background: rgba(0,0,0,.06); }
.freshness-banner .fresh-scan-btn:disabled { opacity: .6; cursor: default; }
/* Dynadot register sonuç toast'ı (ortak — Kapma + Domain Avı). Koyu tema uyumlu. */
.dyn-toast { position: fixed; right: 16px; bottom: 16px; z-index: 9999; padding: 10px 14px; border-radius: 8px; font-size: 13px; background: var(--panel2); color: var(--text); border: 1px solid var(--border); box-shadow: 0 6px 20px rgba(0,0,0,.4); opacity: 0; transform: translateY(10px); transition: opacity .25s, transform .25s; max-width: 380px; }
.dyn-toast.show { opacity: 1; transform: translateY(0); }
.dyn-toast-yes { border-color: rgba(74,222,128,.6); }
.dyn-toast-no { border-color: rgba(248,113,113,.5); }
.dyn-toast-401 { background: #b3261e; color: #fff; border-color: #b3261e; }
.col-groups .cg-label { color: var(--muted); font-size: 12px; }
.cg-btn { background: var(--panel); color: var(--muted); border: 1px solid var(--border); padding: 4px 11px; border-radius: 14px; font-size: 12px; cursor: pointer; }
.cg-btn:hover { background: var(--panel2); }
.cg-btn.on { background: var(--accent); color: #06281a; border-color: var(--accent); font-weight: 600; }
.cg-btn::before { content: '○ '; }
.cg-btn.on::before { content: '● '; }
/* Sapma (tahmin doğruluğu) renklendirme */
.dev-ok { color: var(--accent); font-weight: 600; }
.dev-mid { color: #facc15; }
.dev-out { color: var(--warn); font-weight: 600; }

/* Topbar */
.topbar { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; background: var(--panel); border-bottom: 1px solid var(--border); }
.brand { font-weight: 700; font-size: 16px; }
.topnav { display: flex; gap: 6px; margin-left: 18px; }
.nav-link { padding: 5px 12px; border-radius: 7px; color: var(--text); text-decoration: none; background: var(--panel2); border: 1px solid var(--border); }
.nav-link.active { background: var(--accent); color: #06281a; font-weight: 700; }
.topbar-right { display: flex; gap: 12px; align-items: center; margin-left: auto; }

/* Arama kutusu + temizle */
.search-box { position: relative; display: inline-flex; align-items: center; }
.search-box input { padding-right: 24px !important; }
.search-box button { position: absolute; right: 4px; background: transparent; border: 0; color: var(--muted); font-size: 13px; cursor: pointer; padding: 0 3px; }
.search-box button:hover { color: var(--text); }

/* İşlemler sayfası */
.ops-section { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; margin: 12px; }
.ops-section h2 { margin: 0 0 10px; font-size: 15px; color: var(--accent); }
.ops-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ops-table th, .ops-table td { border-bottom: 1px solid var(--border); padding: 6px 8px; text-align: left; }
.ops-table th { color: var(--muted); font-weight: 600; }
/* Satır hover — Domain Avı ile tutarlı (sadece arka plan, metin rengi sabit); td'li satırlar → başlık satırı etkilenmez */
.ops-table tr:hover td { background: var(--row-hover); }
.ops-table td.dt-r { text-align: right; font-variant-numeric: tabular-nums; }
/* Görev Takvimi paneli */
.tk-mandatory td { background: rgba(220,38,38,.06); }
.tk-mandatory:hover td { background: rgba(220,38,38,.12); }
.tk-past td { opacity: .6; }
.tk-tier { font-weight: 600; font-size: 12px; white-space: nowrap; }
.tk-mand { color: #dc2626; } .tk-ahead { color: #b45309; } .tk-past { color: var(--muted); }
.tk-bar { position: relative; height: 18px; background: var(--border); border-radius: 4px; overflow: hidden; min-width: 90px; }
.tk-bar > span { position: absolute; left: 0; top: 0; bottom: 0; background: #16a34a; }
.tk-bar.tk-bar-past > span { background: #6b7280; }
.tk-bar > b { position: relative; z-index: 1; font-size: 11px; font-weight: 700; color: #111; display: block; text-align: center; line-height: 18px; }
.tk-badge { font-weight: 700; font-size: 12px; white-space: nowrap; padding: 2px 6px; border-radius: 4px; }
.tk-ok { color: #16a34a; } .tk-risk { color: #dc2626; } .tk-skip { color: var(--muted); }
.ops-table td.dt-c { text-align: center; }
/* Günlük Rapor */
.rpt-wrap { padding: 14px 16px; max-width: 1200px; }
.rpt-h { margin: 0 0 4px; font-size: 18px; }
.rpt-cohort { font-size: 12px; margin-bottom: 12px; }
.rpt-verify { color: var(--muted); font-style: italic; }
.rpt-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-bottom: 16px; }
.rpt-card { background: var(--panel); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; }
.rpt-card-t { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 6px; }
.rpt-big { font-size: 24px; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.rpt-unit { font-size: 12px; font-weight: 400; color: var(--muted); }
.rpt-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 14px; align-items: start; }
.rpt-panel { background: var(--panel); border: 1px solid var(--border); border-radius: 8px; padding: 12px; }
.rpt-panel h3 { margin: 0 0 8px; font-size: 14px; }
.rpt-sub { margin: 12px 0 4px; font-size: 12px; color: var(--muted); }
.rpt-barcell { width: 120px; }
.rpt-bar { display: block; height: 8px; background: var(--accent); border-radius: 4px; }
.reg-clickable { cursor: pointer; }
.reg-clickable:hover td { background: var(--row-hover); }
.reg-arrow { display: inline-block; width: 12px; color: var(--muted); font-size: 10px; }
.reg-sub td { color: var(--muted); font-size: 12px; padding-left: 18px; background: var(--bg); }
.reg-sub td:first-child { padding-left: 26px; }
/* Whois başarısızlık uyarısı */
.wa-alert { background: rgba(192,57,43,.12); border: 1px solid #c0392b; color: #e74c3c; border-radius: 8px; padding: 10px 12px; margin-bottom: 12px; font-size: 13px; line-height: 1.5; }
.wa-ok { color: var(--muted); font-size: 12px; margin-bottom: 8px; }
.wa-card-alert { border-color: #c0392b !important; box-shadow: 0 0 0 1px #c0392b inset; }
@media (max-width: 900px) { .rpt-grid { grid-template-columns: 1fr; } }
/* COM whois sağlığı */
.ch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px; margin-bottom: 10px; }
.ch-card { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; }
.ch-title { font-weight: 600; font-size: 13px; margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
.ch-nums { font-size: 13px; color: var(--text); margin-bottom: 8px; font-variant-numeric: tabular-nums; }
.ch-bar { height: 8px; background: var(--border); border-radius: 4px; overflow: hidden; }
.ch-bar span { display: block; height: 100%; background: #2e9e5b; }
.ch-badge { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 10px; white-space: nowrap; }
.ch-ok { background: rgba(46,158,91,.15); color: #2e9e5b; }
.ch-warn { background: rgba(192,57,43,.15); color: #c0392b; }
.ops-secondary { margin-top: 16px; }
.ops-secondary > summary { color: var(--muted); }
/* Canlı Aktivite */
.live-controls { display: flex; align-items: center; gap: 12px; }
.live-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-bottom: 12px; }
.live-card { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; }
.live-card-t { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 6px; }
.live-big { font-size: 24px; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.live-unit { font-size: 12px; font-weight: 400; color: var(--muted); }
.live-badge { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 10px; margin: 2px 4px 2px 0; border: 1px solid var(--border); }
.live-badge.on { background: #14532d; color: #d1fae5; border-color: #16a34a; }
.live-badge.off { background: var(--panel); color: var(--muted); }
.live-badge.warn { background: #78350f; color: #fde68a; border-color: #d97706; }
.live-log { background: #0b1220; border: 1px solid var(--border); border-radius: 8px; height: 340px; overflow-y: auto; padding: 8px 10px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; line-height: 1.5; }
.live-log .ll { white-space: pre-wrap; word-break: break-word; color: #cbd5e1; }
.live-log .ll-t { color: #64748b; margin-right: 6px; }
.live-log .ll-warn { color: #fbbf24; }
.live-log .ll-error { color: #f87171; }
/* İşlemler tab'lı: her tab kendi pane'i; lazy-load spinner overlay */
.tab-pane { margin: 12px; }
.ops-pane-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.ops-pane-head h2 { margin: 0; font-size: 15px; color: var(--accent); }
.ops-sub { margin: 14px 0 6px; font-size: 13px; color: var(--muted); font-weight: 600; }
.ops-body { position: relative; min-height: 48px; background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; }
.ops-body.is-loading > :not(.ops-loading) { opacity: .35; pointer-events: none; }
.ops-loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--accent); background: color-mix(in srgb, var(--panel) 60%, transparent); border-radius: 10px; z-index: 2; }
.ops-refresh { flex: none; }
/* track = gri (pending); fill/seg = orantılı */
.bar { position: relative; height: 18px; background: var(--panel2); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; min-width: 200px; }
.bar .fill { position: absolute; left: 0; top: 0; height: 100%; background: var(--accent); }
.bar .seg { position: absolute; top: 0; height: 100%; }
.bar .seg.done { background: var(--accent); }
.bar .seg.err { background: var(--warn); }
.bar-label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; color: var(--text); z-index: 1; text-shadow: 0 1px 2px rgba(0,0,0,.7); }
.muted-pill { color: var(--muted); font-size: 12px; }
.log-status { padding: 1px 8px; border-radius: 10px; font-size: 11px; font-weight: 600; }
.log-status.success { background: #14532d; color: var(--accent); }
.log-status.partial { background: #422006; color: #facc15; }
.log-status.error { background: #3f1d1d; color: var(--warn); }

/* Date tabs */
.date-tabs { display: flex; gap: 6px; overflow-x: auto; padding: 8px 12px; background: var(--panel); border-bottom: 1px solid var(--border); }
.date-tab { white-space: nowrap; padding: 5px 11px; border-radius: 7px; background: var(--panel2); border: 1px solid var(--border); color: var(--text); }
.date-tab.active { background: var(--accent); color: #06281a; font-weight: 700; }
/* BUGÜN — mavi alt şerit (active olsa da KALIR: bugüne bakınca yeşil zemin + mavi şerit). */
.date-tab.today { box-shadow: inset 0 -3px 0 var(--accent2); }
.date-tab.today:not(.active) { border-color: var(--accent2); color: var(--accent2); }
/* 🛒 Sepettekileri Göster filtresi — aktifken belirgin (sepet modunda olduğun bilinsin). */
.basket-filter { border-radius: 6px; padding: 2px 6px; transition: background .15s; }
.basket-filter.on { background: var(--accent2); color: #04222e; font-weight: 700; }
.basket-filter.on #f-basket-count { color: #04222e; }
.date-tab .cnt { opacity: .7; font-size: 12px; margin-left: 5px; }

/* Filters */
.filters { background: var(--panel); border-bottom: 1px solid var(--border); padding: 8px 12px; }
.filters-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.filters-body { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.filters label { display: flex; flex-direction: column; font-size: 12px; color: var(--muted); gap: 3px; }
.filters input, .filters select { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 5px 7px; min-width: 90px; }
.filters .search-wrap input { min-width: 220px; }
.filters .chk { flex-direction: row; align-items: center; gap: 5px; }
.filters-actions { display: flex; gap: 8px; align-items: center; margin-left: auto; }
/* Uzantı dolu çoklu seçim — label+checkbox bitişik */
.ext-filled-group { font-size: 12px; color: var(--muted); }
.ext-chks { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 3px; }
.ext-chks label { flex-direction: row; align-items: center; gap: 4px; color: var(--text); font-size: 12px; white-space: nowrap; }
.ext-chks input[type="checkbox"] { min-width: 0; width: auto; margin: 0; }  /* 90px min-width'i ez */
.ext-toggle { display: inline-flex; gap: 4px; margin-left: 6px; }
.ext-toggle button { background: var(--panel2); color: var(--text); border: 1px solid var(--border); border-radius: 5px; font-size: 11px; padding: 2px 7px; cursor: pointer; }
.ext-toggle button:hover { background: var(--row-hover); }

/* Toplu süz & seç + şablon kontrolleri */
.paste-filter { display: flex; gap: 8px; align-items: flex-end; margin-top: 8px; flex-wrap: wrap; }
.paste-filter label { display: flex; flex-direction: column; font-size: 12px; color: var(--muted); gap: 3px; flex: 1; min-width: 280px; }
.paste-filter textarea { width: 100%; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 6px 8px; font-family: inherit; font-size: 12px; resize: vertical; }
.tpl-controls { display: flex; gap: 6px; align-items: center; }
.tpl-controls select { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 5px 7px; }
/* Tarih barı < butonu */
.date-nav { background: var(--panel2); border: 1px solid var(--border); color: var(--text); border-radius: 7px; padding: 5px 10px; font-weight: 700; }
.date-nav:hover { background: var(--row-hover); }

/* Split view */
.split { display: flex; gap: 0; height: calc(100vh - 0px); }
.left { flex: 1 1 auto; min-width: 0; padding: 10px 12px; overflow: auto; }
.right { width: 420px; flex: 0 0 420px; background: var(--panel); border-left: 1px solid var(--border); padding: 14px; overflow: auto; }
.bulk-bar { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; flex-wrap: wrap; }
.bulk-sep { color: var(--border); }
.batch-model { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 5px 7px; max-width: 200px; }

/* ── DataTables — tamamı tema değişkenlerine bağlı (light mod hazır) ── */
.dataTables_wrapper, .dt-container { color: var(--text); }
/* SABİT düzen: sütun başlıkları sıralama/sayfa değişiminde kaymaz */
table.dataTable { border-color: var(--border); table-layout: fixed; width: 100% !important; }
table.dataTable th, table.dataTable td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Domain sütunu: tek satır, taşan kısım kesilir, tam ad title'da */
table.dataTable td.col-domain { max-width: 0; }
table.dataTable td.col-domain a { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
table.dataTable thead th, table.dataTable thead td {
  background: var(--panel2); color: var(--text); border-color: var(--border);
}
table.dataTable tbody tr { background: var(--panel); cursor: pointer; }
table.dataTable tbody td { border-color: var(--border); color: var(--text); }
table.dataTable.stripe tbody tr.odd, table.dataTable tbody tr:nth-child(odd) { background: var(--panel); }
/* hover — belirgin */
table.dataTable tbody tr:hover, table.dataTable tbody tr:hover > td { background: var(--row-hover) !important; }
/* seçili satır (checkbox) — net vurgu */
table.dataTable tbody tr.row-selected, table.dataTable tbody tr.row-selected > td {
  background: var(--row-selected) !important; color: var(--row-selected-text) !important;
}
/* favori / takip satır tonları (transparan; hover/seçili/açık-detay baskın) */
table.dataTable tbody tr.row-fav > td { background: var(--row-fav); }
table.dataTable tbody tr.row-watch > td { background: var(--row-watch); }
table.dataTable tbody tr.row-fav.row-watch > td { background: linear-gradient(var(--row-fav), var(--row-fav)), var(--row-watch); }
/* sağ panelde AÇIK olan satır — fosforlu yeşil, hover'dan baskın */
table.dataTable tbody tr.row-open, table.dataTable tbody tr.row-open > td,
table.dataTable tbody tr.row-open:hover, table.dataTable tbody tr.row-open:hover > td {
  background: var(--row-open) !important; color: var(--row-open-text) !important;
}
table.dataTable tbody tr.row-open a { color: var(--row-open-text) !important; }

/* Uzantı kolonları (ana tablo) */
table.dataTable thead th.ext-th { font-size: 10px; padding: 4px 2px; color: var(--muted); }
td.ext-col { padding: 0 2px; }
.ext { display: inline-block; width: 100%; text-align: center; cursor: pointer; border-radius: 4px; }
.ext:focus-visible { outline: 2px solid var(--accent2); outline-offset: -1px; }
.ext.on { color: var(--accent); font-weight: 700; }
.ext.on:hover { filter: brightness(1.4); }
.ext.off { color: var(--muted); opacity: .45; }
.ext.off:hover { opacity: .9; filter: brightness(1.3); }
.ext.amb { color: var(--muted); opacity: .7; }
.ext .ext-amb { font-weight: 700; }
/* Kayıt yılı — yaşa göre (eski=koyu/yerleşik=değerli); renk TEK sinyal değil (yıl yazısı anlamlı = erişilebilir) */
.exy { font-size: 11px; font-weight: 700; }
.exy.exy-old { color: #16a34a; text-shadow: 0 0 6px rgba(22,163,74,.45); } /* ≤2005 köklü */
.exy.exy-mid { color: #4ade80; }                                          /* ≤2015 */
.exy.exy-new { color: #a7f3d0; font-weight: 600; }                        /* yeni */
/* Hover/focus whois tooltip (AJAX) */
.ext-tip { position: absolute; z-index: 60; background: var(--panel); border: 1px solid var(--border); border-radius: 8px;
  padding: 8px 10px; font-size: 12px; min-width: 190px; box-shadow: 0 8px 24px rgba(0,0,0,.45); color: var(--text); pointer-events: none; }
.ext-tip-h { font-weight: 700; margin-bottom: 5px; border-bottom: 1px solid var(--border); padding-bottom: 4px; }
.ext-tip-y { color: var(--accent); }
.ext-tip-row { display: flex; justify-content: space-between; gap: 14px; padding: 1px 0; }
.ext-tip-row span { color: var(--muted); }
.ext-tip-load { color: var(--muted); display: flex; align-items: center; gap: 6px; }
.ext-spin { width: 11px; height: 11px; border: 2px solid var(--border); border-top-color: var(--accent2); border-radius: 50%; display: inline-block; animation: ext-spin .7s linear infinite; }
@keyframes ext-spin { to { transform: rotate(360deg); } }
/* Satır ikonu yükleniyor (komşu/own whois) */
.ico.ico-spin { animation: ico-pulse .8s ease-in-out infinite; color: var(--accent2); }
@keyframes ico-pulse { 0%, 100% { opacity: .4; } 50% { opacity: 1; } }
/* Mobil/tıkla: whois detayı menü başında */
.ext-menu .ext-menu-detail { font-size: 12px; padding: 6px 10px; border-bottom: 1px solid var(--border); margin-bottom: 4px; color: var(--text); }
.ext-menu .ext-menu-detail .ext-tip-h { font-weight: 700; margin-bottom: 4px; border: 0; padding: 0; }
.ext-menu .ext-menu-detail .ext-tip-row { display: flex; justify-content: space-between; gap: 12px; }
.ext-menu .ext-menu-detail .ext-tip-row span { color: var(--muted); }
.nb-ext { width: auto; padding: 0 2px; cursor: pointer; }
.nb-ext.on { color: var(--accent); font-weight: 700; }
.nb-whois { padding: 1px 7px; font-size: 11px; margin-left: 4px; }
/* Uzantı dropdown menüsü */
.ext-menu { position: absolute; z-index: 1000; background: var(--panel); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 8px 28px rgba(0,0,0,.5); min-width: 120px; overflow: hidden; }
.ext-menu a { display: block; padding: 7px 14px; color: var(--text); text-decoration: none; font-size: 13px; }
.ext-menu a:hover { background: var(--row-hover); }

/* Aksiyon ikonları */
td.col-action { overflow: visible; }
/* 12 aksiyon ikonu grid (6 sütun) → düzenli 2 sıra; hiçbir ikon (🎯 dahil) kesilmez/sıkışmaz. */
.act-icons { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px 1px; align-items: center; justify-items: center; }
.act-icons .ico { padding: 0; width: 22px; height: 18px; display: inline-flex; align-items: center; justify-content: center; }
.ico { cursor: pointer; font-size: 14px; padding: 0 2px; text-decoration: none; line-height: 1; user-select: none; }
.ico:hover { filter: brightness(1.3); }
.ico.act-fav.on { color: #fbbf24; } /* dolu favori */
.ico.act-fav { color: var(--muted); }
.ico.act-watch.on { color: var(--accent2); }
.ico.act-watch { color: var(--muted); }

/* Gruplu başlık (MEKANİK / AI) */
th.grp { text-align: center; font-size: 11px; letter-spacing: .5px; }
th.grp-mek, td.cell-mek { }
.grp.grp-mek { background: var(--group-mek-bg); color: var(--group-mek-text); }
.grp.grp-ai { background: var(--group-ai-bg); color: var(--group-ai-text); }
table.dataTable thead th.grp-mek { color: var(--group-mek-text); }
table.dataTable thead th.grp-ai { color: var(--group-ai-text); }
/* Mekanik hücreler: soluk + italik + ~ (render'da) */
td.cell-mek .mek { color: var(--mek-text); font-style: italic; }
/* AI hücreler: parlak + mor zemin */
table.dataTable tbody td.cell-ai { background: var(--ai-cell-bg); }
td.cell-ai .aiv { color: var(--ai-text); font-weight: 700; }
td.cell-ai .aiv-empty { color: var(--muted); }

/* Length select / arama / info / paginate */
.dataTables_wrapper select, .dt-container select,
.dataTables_length select, div.dt-length select, .dt-length select {
  background: var(--bg) !important; color: var(--text) !important; border: 1px solid var(--border) !important; border-radius: 6px; padding: 3px 6px;
}
/* Açılır liste öğeleri (combo) — koyu tema (CDN açık varsayılanı override) */
.dataTables_wrapper select option, .dt-container select option, .dt-length select option,
.dataTables_length select option { background: var(--panel) !important; color: var(--text) !important; }
.dataTables_wrapper .dataTables_info, .dt-info { color: var(--muted); }
/* Üst pagination çubuğu: sayfa bilgisi solda, sayfa kontrolü sağda */
.dt-top-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 6px 0 4px; }
.dt-top-pager .dataTables_info { padding: 0; }
.dt-top-pager .dataTables_paginate { margin: 0; }
/* Sayfalama — DT2 (.dt-paging) ve DT1 (.paginate_button) kontrast */
.dt-paging .dt-paging-button,
.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--text) !important; background: var(--panel2) !important;
  border: 1px solid var(--border) !important; border-radius: 6px !important;
  margin: 0 2px !important; padding: 4px 10px !important; opacity: 1 !important;
}
.dt-paging .dt-paging-button.current, .dt-paging .dt-paging-button.current:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: var(--accent) !important; color: #06281a !important; border-color: var(--accent) !important; font-weight: 700;
}
.dt-paging .dt-paging-button:hover:not(.disabled):not(.current),
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: var(--row-hover) !important; color: var(--text) !important; border-color: var(--accent2) !important;
}
.dt-paging .dt-paging-button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
  color: var(--muted) !important; background: var(--panel) !important; opacity: .45 !important; cursor: default;
}
.dataTables_processing, div.dt-processing { background: var(--panel) !important; color: var(--text) !important; border: 1px solid var(--border); border-radius: 8px; }

/* Buttons */
.dt-button, button.dt-button, div.dt-button {
  background: var(--panel2) !important; color: var(--text) !important; border: 1px solid var(--border) !important; border-radius: 6px !important;
}
.dt-button:hover, button.dt-button:hover { background: #475569 !important; }

/* ColVis / buton koleksiyon menüsü — KONTRAST düzeltildi */
.dt-button-collection, div.dt-button-collection {
  background: var(--panel) !important; border: 1px solid var(--border) !important; box-shadow: 0 8px 28px rgba(0,0,0,.5) !important; border-radius: 8px !important;
}
.dt-button-collection .dt-button, .dt-button-collection button.dt-button {
  background: var(--panel) !important; color: var(--text) !important; border: 0 !important; text-align: left; display: block; width: 100%;
}
.dt-button-collection .dt-button:hover { background: var(--row-hover) !important; }
.dt-button-collection .dt-button.dt-button-active { background: var(--panel2) !important; color: var(--accent) !important; }
.dt-button-background { background: rgba(0,0,0,.5) !important; }

/* Kopyala bilgi modalı — beyaz zemin sorunu giderildi */
div.dt-button-info {
  background: var(--panel) !important; color: var(--text) !important; border: 1px solid var(--border) !important; box-shadow: 0 10px 40px rgba(0,0,0,.5) !important; border-radius: 10px !important;
}
div.dt-button-info h2 { background: var(--panel2) !important; color: var(--text) !important; border-bottom: 1px solid var(--border) !important; }

/* Linkler */
table.dataTable tbody a, table.neighbors a { color: var(--accent2); text-decoration: none; }
table.dataTable tbody a:hover, table.neighbors a:hover { text-decoration: underline; }
table.neighbors tbody tr:hover { background: var(--row-hover); }

.badge { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px; font-weight: 600; }
.badge.sig { background: var(--row-selected); color: var(--accent); }
.badge.nosig { background: #3f2937; color: var(--muted); }
.score-pill { font-weight: 700; }
.detail-actions .btn-sm.active { background: var(--accent); color: #06281a; }

/* Detail */
.detail-head { display: flex; justify-content: space-between; align-items: center; }
.detail-head h2 { margin: 0; font-size: 18px; color: var(--accent); word-break: break-all; }
.score-boxes { display: flex; gap: 8px; margin: 12px 0; }
.score-box { flex: 1; background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 8px; text-align: center; }
.score-box span { display: block; font-size: 11px; color: var(--muted); }
.score-box b { font-size: 22px; }
.score-box.final b { color: var(--accent); }
.detail-grid { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; font-size: 13px; margin: 8px 0; }
.detail-grid .k { color: var(--muted); }
table.neighbors { width: 100%; border-collapse: collapse; font-size: 12px; margin-top: 6px; }
table.neighbors th, table.neighbors td { border: 1px solid var(--border); padding: 4px 6px; text-align: left; }
.detail-actions { display: flex; gap: 8px; margin-top: 12px; }

/* AI detay kartları */
#d-ai-models { display: flex; flex-direction: column; gap: 8px; }
.ai-card { background: var(--ai-cell-bg); border: 1px solid var(--border); border-radius: 8px; padding: 8px 10px; }
.ai-model { font-weight: 700; }
.ai-vals { font-size: 12px; color: var(--text); margin-top: 3px; }
.ai-desc { font-size: 12px; color: var(--muted); margin-top: 3px; }
.ai-comment { font-size: 12px; color: var(--ai-text); margin-top: 3px; font-style: italic; }
.ai-meta { font-size: 11px; color: var(--muted); margin-top: 2px; }
.ai-rev { font-size: 10px; background: var(--panel2); color: var(--text); border-radius: 4px; padding: 0 5px; margin-left: 6px; }
.ai-ms { font-size: 10px; color: var(--muted); margin-left: 6px; }
.rev-history { margin-top: 5px; }
.rev-history summary { cursor: pointer; font-size: 11px; color: var(--accent2); }

/* ── Splitter (sağ panel yeniden boyutlandırma) ── */
.splitter { flex: 0 0 6px; cursor: col-resize; background: var(--border); }
.splitter:hover { background: var(--accent); }
.splitter[hidden] { display: none; }

/* ── AI Değerlendirme tablosu (sağ panel) ── */
.ai-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 4px; }
.ai-head h3 { margin: 0; }
.ai-consensus-row { font-size: 13px; margin: 4px 0 8px; }
.ai-table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 8px; max-height: 380px; overflow-y: auto; }
table.ai-eval-table { width: 100%; border-collapse: collapse; font-size: 12px; white-space: nowrap; }
.ai-eval-table th, .ai-eval-table td { border-bottom: 1px solid var(--border); padding: 5px 8px; text-align: left; vertical-align: top; }
.ai-eval-table thead th { position: sticky; top: 0; background: var(--panel2); font-size: 11px; z-index: 1; }
.ai-eval-table .dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 5px; }
.ai-eval-table .ms { font-size: 10px; color: var(--muted); font-family: ui-monospace, monospace; }
.ai-eval-table .btn-sm { padding: 1px 6px; font-size: 11px; }
.ai-desc-cell { display: inline-block; max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; cursor: help; }
.ai-eval-table tr.ai-err { background: rgba(239,68,68,.10); }
.ai-eval-table tr.ai-err .ai-errmsg { color: var(--warn); white-space: normal; }
.ai-eval-table tr.ai-old { background: var(--bg); opacity: .7; }
.ai-eval-table tr.rev-hidden { display: none; }
.rev-toggle { cursor: pointer; color: var(--accent2); }
.rev-toggle small { color: var(--muted); margin-left: 2px; }
.rev-toggle.open { color: var(--accent); }
.vb { padding: 1px 7px; border-radius: 5px; font-weight: 700; font-size: 11px; }
.vb.al { background: var(--accent); color: #06281a; }
.vb.izle { background: #facc15; color: #1a1a1a; }
.vb.gec { background: var(--warn); color: #fff; }
.vb.none { color: var(--muted); }
#d-clear-errors { white-space: nowrap; }
.rev-row { font-size: 11px; color: var(--muted); padding: 2px 0 2px 10px; border-left: 2px solid var(--border); margin-top: 3px; }
#ai-evaluate { margin-left: 8px; }

/* AI model seçimi + ilerleme */
.model-picks { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; margin: 6px 0; }
.model-chk { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; white-space: nowrap; }
.model-chk input { width: auto; min-width: 0; margin: 0; }
.prog { margin: 6px 0; }
.prog-bar { height: 14px; background: var(--panel2); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.prog-bar > span { display: block; height: 100%; background: var(--accent); transition: width .3s; }
.prog-txt { font-size: 12px; color: var(--muted); margin-top: 3px; }
.prog-warn { font-size: 12px; color: #facc15; margin-top: 6px; }
.prog-skip { font-size: 12px; color: var(--muted); margin-top: 4px; }
.prog-err { font-size: 12px; color: var(--warn); margin-top: 6px; font-weight: 600; }
.prog-grid { display: flex; flex-wrap: wrap; gap: 2px; margin-top: 5px; }
.prog-grid .ps { width: 9px; height: 9px; border-radius: 2px; background: var(--panel2); border: 1px solid var(--border); }
.prog-grid .ps.done { background: var(--accent); border-color: var(--accent); }
.prog-grid .ps.error { background: var(--warn); border-color: var(--warn); }
.prog-grid .ps.error.preserved { background: #facc15; border-color: #facc15; }
.prog-grid .ps.skipped { background: #64748b; border-color: #64748b; }
.prog-grid .ps.pending { background: var(--panel2); }
.re-model { padding: 0 6px !important; }

/* AI ilerleme MODAL'ı (ortada, SweetAlert tarzı) */
.ai-prog-modal { position: fixed; inset: 0; background: rgba(0,0,0,.6); display: flex; align-items: center; justify-content: center; z-index: 3000; }
.ai-prog-modal[hidden] { display: none !important; }
.ai-prog-box { background: var(--panel); border: 1px solid var(--border); border-radius: 14px; padding: 20px 22px; width: 460px; max-width: 92vw; max-height: 86vh; overflow: auto; box-shadow: 0 18px 50px rgba(0,0,0,.6); }
.ai-prog-box h3 { margin: 0 0 12px; font-size: 16px; }
.ai-prog-box .prog-bar { height: 18px; }
.ai-prog-box .prog-txt { font-size: 13px; margin-top: 6px; line-height: 1.5; }
.ai-prog-box .prog-grid { margin-top: 10px; max-height: 200px; overflow: auto; }
.ai-prog-actions { display: flex; gap: 8px; margin-top: 14px; }
.ai-prog-actions .btn-sm { flex: 1; margin-top: 0; width: auto; }
.ai-prog-stop { background: var(--warn); color: #fff; border-color: var(--warn); }
.ai-prog-stop:disabled { opacity: .6; cursor: default; }
.paid-badge { font-size: 10px; background: var(--warn); color: #fff; border-radius: 4px; padding: 0 5px; font-weight: 700; }
/* Klasör değerlendirme: model seçim bloğu + canlı maliyet özeti (para güvenliği) */
.ef-models-block { border: 1px solid var(--border); border-radius: 8px; padding: 8px 10px; margin: 8px 0; background: var(--panel2); }
.ef-models-head { font-size: 12px; font-weight: 600; margin-bottom: 2px; }
.ef-eval-summary { font-size: 12px; margin-top: 6px; padding-top: 6px; border-top: 1px dashed var(--border); }
.ef-eval-summary .es-paid { color: var(--warn); font-weight: 700; }
.ef-eval-summary .es-free { color: var(--ok, #22c55e); }
.ef-eval-summary .es-warn { color: var(--warn); font-weight: 700; }
/* Klasöre özel prompt paneli */
.prompt-box { border: 1px solid var(--border); border-radius: 8px; padding: 10px; margin: 8px 0; background: var(--panel2); }
.prompt-info { font-size: 12px; margin-bottom: 6px; line-height: 1.5; }
.prompt-text { width: 100%; box-sizing: border-box; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 8px; font-family: ui-monospace, Consolas, monospace; font-size: 12px; resize: vertical; }

/* AI ilerleme — KOMPAKT PILL (modal gizlenince köşede; bloke etmez) */
.ai-compact { position: fixed; right: 16px; bottom: 16px; z-index: 3000; display: flex; align-items: center; gap: 8px; background: var(--panel); border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 10px; padding: 8px 12px; box-shadow: 0 8px 28px rgba(0,0,0,.5); cursor: pointer; font-size: 13px; min-width: 180px; transition: opacity .4s; }
.ai-compact[hidden] { display: none; }
.ai-compact:hover { filter: brightness(1.1); }
.ai-compact.err { border-left-color: var(--warn); }
.ai-compact.done { border-left-color: var(--accent); opacity: .9; }
.ai-compact .aic-txt { flex: 1; white-space: nowrap; }
.ai-compact .aic-bar { width: 60px; height: 6px; background: var(--panel2); border-radius: 4px; overflow: hidden; }
.ai-compact .aic-bar > span { display: block; height: 100%; background: var(--accent); transition: width .3s; }
.ai-compact .aic-spin { width: 12px; height: 12px; border: 2px solid var(--border); border-top-color: var(--accent); border-radius: 50%; animation: aicSpin .8s linear infinite; }
@keyframes aicSpin { to { transform: rotate(360deg); } }

/* Kolon başlığı (?) açıklama balonu */
.hdr-info { display: inline-block; margin-left: 3px; font-size: 10px; color: var(--accent2); cursor: help; vertical-align: super; opacity: .8; }
.hdr-info:hover { opacity: 1; }
.hdr-tip { position: absolute; z-index: 3500; background: var(--panel); color: var(--text); border: 1px solid var(--border); border-radius: 8px; padding: 9px 12px; font-size: 12px; line-height: 1.5; max-width: 300px; box-shadow: 0 8px 28px rgba(0,0,0,.5); font-weight: 400; }
.hdr-tip[hidden] { display: none !important; }

/* Ayarlar — sağlayıcı formu (eski) */
.prov-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.prov-form label { display: flex; flex-direction: column; font-size: 12px; color: var(--muted); gap: 3px; }
.prov-form input, .prov-form select { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 5px 7px; }
.prov-form .chk { flex-direction: row; align-items: center; gap: 5px; color: var(--text); }
code { background: var(--bg); padding: 1px 5px; border-radius: 4px; color: var(--accent2); }

/* ── Ayarlar — AI Katalog + Aktif Modeller ── */
.active-warn { background: var(--panel2); border: 1px solid var(--border); border-radius: 8px; padding: 8px 12px; margin-bottom: 10px; font-size: 13px; }
#active-table .dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; }
#active-table .ms { font-size: 11px; color: var(--muted); font-family: ui-monospace, monospace; }
#active-table .tag { font-size: 10px; background: var(--panel2); border: 1px solid var(--border); border-radius: 4px; padding: 1px 5px; color: var(--muted); }
.color-pick { width: 30px; height: 24px; padding: 0; border: 1px solid var(--border); border-radius: 5px; background: none; cursor: pointer; }
/* toggle switch */
.switch { position: relative; display: inline-block; width: 38px; height: 20px; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch .slider { position: absolute; inset: 0; background: var(--panel2); border: 1px solid var(--border); border-radius: 20px; cursor: pointer; transition: .2s; }
.switch .slider:before { content: ''; position: absolute; width: 14px; height: 14px; left: 2px; top: 2px; background: var(--muted); border-radius: 50%; transition: .2s; }
.switch input:checked + .slider { background: var(--accent); border-color: var(--accent); }
.switch input:checked + .slider:before { transform: translateX(18px); background: #06281a; }

/* katalog */
.cat-badge { background: #facc15; color: #1a1a1a; border-radius: 10px; padding: 2px 8px; font-size: 12px; font-weight: 700; margin-left: 8px; }
.catalog-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.cat-tab { background: var(--panel2); color: var(--text); border: 1px solid var(--border); border-radius: 7px; padding: 6px 12px; cursor: pointer; font-size: 13px; }
.cat-tab.active { background: var(--accent); color: #06281a; border-color: var(--accent); font-weight: 700; }
.cat-tab .tab-cnt { font-size: 11px; opacity: .7; margin-left: 4px; }
.cat-tab .tab-new { background: #facc15; color: #1a1a1a; border-radius: 8px; padding: 0 6px; font-size: 10px; font-weight: 700; margin-left: 4px; }
.catalog-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 8px; }
.catalog-toolbar input[type=search] { flex: 1; min-width: 200px; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 6px 9px; }
.catalog-toolbar .chk { display: flex; align-items: center; gap: 5px; font-size: 13px; color: var(--muted); }
.catalog-list { max-height: 440px; overflow-y: auto; border: 1px solid var(--border); border-radius: 8px; }
.cat-row { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--border); }
.cat-row:last-child { border-bottom: 0; }
.cat-row:hover { background: var(--row-hover); }
.cat-row.is-active { opacity: .75; }
.cat-chk-cell { width: 20px; text-align: center; }
.cat-info { flex: 1; min-width: 0; }
.cat-info .ms { font-size: 11px; color: var(--muted); font-family: ui-monospace, monospace; word-break: break-all; }
.free-tag { font-size: 10px; background: var(--accent); color: #06281a; border-radius: 4px; padding: 0 5px; font-weight: 700; }
.badge-active { font-size: 11px; color: var(--accent); border: 1px solid var(--accent); border-radius: 5px; padding: 2px 8px; }
.catalog-pager { display: flex; align-items: center; gap: 12px; margin-top: 8px; }

/* ── Model Kıyas / Kalibrasyon ── */
.eval-main { display: flex; height: calc(100vh - 52px); }
.eval-folders { width: 220px; flex: 0 0 220px; border-right: 1px solid var(--border); padding: 12px; overflow: auto; background: var(--panel); }
.eval-center { flex: 1 1 auto; min-width: 0; padding: 12px 14px; overflow: auto; }
.eval-detail { width: 480px; flex: 0 0 480px; border-left: 1px solid var(--border); background: var(--panel); padding: 14px; overflow: auto; }
.eval-detail[hidden] { display: none; }
.ef-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.folder-list { list-style: none; margin: 0; padding: 0; }
.folder-item { display: flex; justify-content: space-between; gap: 6px; padding: 7px 9px; border-radius: 7px; cursor: pointer; font-size: 13px; }
.folder-item:hover { background: var(--row-hover); }
.folder-item.active { background: var(--accent); color: #06281a; }
.fi-cnt { font-size: 11px; opacity: .7; white-space: nowrap; }
.ef-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 8px; }
.ef-toolbar h2 { margin: 0; font-size: 18px; color: var(--accent); flex: 1; min-width: 120px; }
.add-domains-box { margin: 8px 0; }
.add-domains-box textarea { width: 100%; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 8px; padding: 8px; font-family: inherit; font-size: 13px; }
.acc-note { background: var(--panel2); border: 1px solid var(--border); border-radius: 8px; padding: 8px 12px; font-size: 12px; color: var(--muted); margin: 8px 0; }
.best-models { margin: 8px 0; font-size: 13px; }
.best-item { display: inline-block; padding: 2px 8px; border-radius: 6px; margin: 2px; }
.matrix-wrap { overflow: auto; border: 1px solid var(--border); border-radius: 8px; max-height: calc(100vh - 290px); }
.matrix-table { border-collapse: collapse; font-size: 12px; white-space: nowrap; }
.matrix-table th, .matrix-table td { border: 1px solid var(--border); padding: 5px 8px; text-align: center; }
.matrix-table thead th { position: sticky; top: 0; background: var(--panel2); z-index: 1; }
.matrix-table .mx-chk { width: 30px; position: sticky; left: 0; background: var(--panel); z-index: 1; }
.matrix-table thead .mx-chk { z-index: 3; background: var(--panel2); }
.matrix-table .mx-dom { text-align: left; position: sticky; left: 30px; background: var(--panel); z-index: 1; }
.matrix-table thead .mx-dom { z-index: 2; }
.matrix-table .mx-added { color: var(--muted); font-size: 11px; }
/* sıralanabilir başlık */
.matrix-table th.mx-sort { cursor: pointer; user-select: none; }
.matrix-table th.mx-sort:hover { background: var(--row-hover); }
/* BELİRGİN hover + seçili satır (sticky hücreler dahil) */
.matrix-table tbody tr.mx-row:hover > td { background: var(--row-hover) !important; }
.matrix-table tbody tr.mx-row.row-selected > td { background: var(--row-selected) !important; color: var(--row-selected-text); }
.matrix-table .mx-rowchk, .matrix-table #mx-head-chk { cursor: pointer; width: 15px; height: 15px; }
/* Araç çubuğu / toplu işlem / sayfalama */
.mx-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 6px; }
.mx-toolbar .mx-spacer { flex: 1; }
.mx-search { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 5px 9px; min-width: 200px; }
.mx-sel, .mx-pp { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 5px 7px; }
.mx-range { color: var(--muted); font-size: 12px; display: inline-flex; align-items: center; gap: 4px; }
.mx-num { width: 70px; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 4px 6px; }
.mx-date { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 4px 6px; }
.mx-pplabel { color: var(--muted); font-size: 12px; }
.mx-bulkbar { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.mx-selinfo { font-size: 12px; color: var(--muted); margin-right: 4px; }
.btn-sm.danger { background: var(--warn); color: #fff; border-color: var(--warn); }
.btn-sm.danger:disabled { opacity: .45; cursor: not-allowed; }
.mx-pager { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.mx-pginfo { font-size: 12px; color: var(--muted); margin: 0 6px; }
.mx-domlink { color: var(--accent2); cursor: pointer; text-decoration: none; }
.mx-domlink:hover { text-decoration: underline; }
.mx-rm { background: none; border: 0; color: var(--muted); cursor: pointer; margin-left: 6px; font-size: 12px; }
.mx-rm:hover { color: var(--warn); }
.mx-cell .mx-acc { font-size: 11px; font-weight: 700; margin-top: 2px; }
.mx-sub { font-size: 10px; color: var(--muted); font-weight: 400; }
.mx-errc { color: var(--warn); }
.mx-total td { background: var(--panel2); font-weight: 700; }
.mx-real input.rv-input { width: 78px; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 5px; padding: 3px 5px; text-align: right; }
.eval-main .dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 4px; }
.acc-pill { padding: 1px 7px; border-radius: 5px; font-weight: 700; }
/* model notu (Ayarlar) */
.note-input { width: 150px; min-height: 26px; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 4px 6px; font-family: inherit; font-size: 12px; resize: vertical; }
.note-input.has-note { border-color: #facc15; background: rgba(250,204,21,.08); }
.note-input::placeholder { color: var(--muted); opacity: .6; }
@keyframes rowFlash { 0% { background: rgba(250,204,21,.35); } 100% { background: transparent; } }
tr.row-flash > td { animation: rowFlash 2.5s ease-out; }
.mx-note-link { text-decoration: none; margin-left: 5px; opacity: .55; font-size: 11px; }
.mx-note-link:hover { opacity: 1; }

/* isabet ısı haritası (sabit eşik) */
.h-green { background: rgba(34,197,94,.28); }
.h-yel { background: rgba(234,179,8,.28); }
.h-org { background: rgba(249,115,22,.30); }
.h-red { background: rgba(239,68,68,.28); }

/* toast */
.toast-wrap { position: fixed; right: 16px; bottom: 16px; z-index: 4000; display: flex; flex-direction: column; gap: 8px; }
.toast { background: var(--panel); border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 8px; padding: 10px 14px; font-size: 13px; box-shadow: 0 8px 28px rgba(0,0,0,.5); opacity: 0; transform: translateX(20px); transition: .3s; max-width: 360px; }
.toast.show { opacity: 1; transform: translateX(0); }
.toast.err { border-left-color: var(--warn); }

/* Manuel Değerlendirme */
.manual-input textarea { width: 100%; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 8px; padding: 10px; font-family: inherit; font-size: 13px; resize: vertical; }
.manual-list-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.manual-list-head input { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 5px 9px; }
.m-row { cursor: pointer; }
.m-row:hover td { background: var(--row-hover); }
.m-modal { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; z-index: 2000; }
.m-modal[hidden] { display: none !important; }  /* hidden attribute'u class display:flex'i ezmesin */
.m-modal-box { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 16px 18px; width: 560px; max-width: 92vw; max-height: 86vh; overflow: auto; }
.m-modal-box .ai-card { margin-top: 8px; }
.alive { color: var(--accent); } .dead { color: var(--muted); }
/* Tür rozeti (auction_type) — renk JS'teki TYPE_COLORS'tan inline gelir */
.type-tag { border-radius: 5px; padding: 1px 7px; font-size: 11px; font-weight: 700; white-space: nowrap; }

/* Login */
.login-page { display: flex; min-height: 100vh; align-items: center; justify-content: center; }
.login-card { background: var(--panel); padding: 28px 32px; border-radius: 14px; width: 320px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 10px 40px rgba(0,0,0,.4); }
.login-card h1 { margin: 0; color: var(--accent); }
.login-card label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.login-card input { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 7px; padding: 9px; }
.login-card button { background: var(--accent); color: #06281a; border: 0; padding: 10px; border-radius: 8px; font-weight: 700; }
.error { color: var(--warn); font-size: 13px; min-height: 18px; }

/* ── Optimizasyon (A/B laboratuvarı) ── */
.opt-wrap { padding: 16px 20px; }
.opt-intro { color: var(--muted); font-size: 13px; max-width: 1100px; line-height: 1.5; }
.opt-intro code { background: var(--panel); padding: 1px 5px; border-radius: 4px; color: var(--accent2); }
.opt-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 16px; }
@media (max-width: 1100px) { .opt-grid { grid-template-columns: 1fr; } }
.opt-card { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 14px; }
.opt-card h3 { margin: 0 0 10px; font-size: 14px; color: var(--accent); }
.opt-row { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; flex-wrap: wrap; }
.opt-sel, .opt-inp { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 7px; padding: 7px; flex: 1; min-width: 0; }
.opt-lbl { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.opt-lbl textarea { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 7px; padding: 8px; font-family: inherit; font-size: 13px; resize: vertical; }
.opt-card textarea { width: 100%; box-sizing: border-box; }
.opt-chk { display: flex; gap: 7px; align-items: flex-start; font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.opt-run-box { margin-top: 6px; }
.opt-run-btn { width: 100%; padding: 11px; font-size: 15px; }
.opt-run-note { font-size: 11px; margin: 6px 0; }
.opt-domlist { margin-top: 10px; max-height: 280px; overflow: auto; }
table.opt-dom { width: 100%; border-collapse: collapse; font-size: 12px; }
table.opt-dom th { text-align: left; color: var(--muted); border-bottom: 1px solid var(--border); padding: 4px 6px; position: sticky; top: 0; background: var(--panel); }
table.opt-dom td { padding: 3px 6px; border-bottom: 1px solid var(--border); }
table.opt-dom input { width: 90px; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 5px; padding: 3px 6px; }

.opt-summary { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 14px; margin-bottom: 16px; }
.opt-summary h3 { margin: 0 0 10px; font-size: 14px; color: var(--accent); }
.opt-sum-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
@media (max-width: 900px) { .opt-sum-grid { grid-template-columns: repeat(2, 1fr); } }
.opt-sum-box { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 10px; display: flex; flex-direction: column; gap: 4px; }
.opt-sum-box span { font-size: 11px; color: var(--muted); }
.opt-sum-box b { font-size: 18px; }
.opt-sum-box.b { border-left: 3px solid var(--accent2); }
.opt-sum-box.s { border-left: 3px solid #c084fc; }
.opt-sum-box.good b { color: var(--accent); }
.opt-verdict { margin-top: 12px; padding: 10px; background: var(--bg); border-radius: 8px; font-size: 13px; font-weight: 600; }

.opt-results h3 { font-size: 14px; }
.opt-table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 10px; }
table.opt-cmp { width: 100%; border-collapse: collapse; font-size: 12px; white-space: nowrap; }
table.opt-cmp th, table.opt-cmp td { padding: 5px 8px; border-bottom: 1px solid var(--border); text-align: right; }
table.opt-cmp th { color: var(--muted); position: sticky; top: 0; background: var(--panel); }
table.opt-cmp td.dcell, table.opt-cmp th:first-child { text-align: left; font-weight: 600; }
table.opt-cmp th.grp-b { background: rgba(56,189,248,.18); color: var(--accent2); text-align: center; }
table.opt-cmp th.grp-s { background: rgba(192,132,252,.18); color: #c084fc; text-align: center; }
table.opt-cmp td.acc { font-weight: 700; text-align: center; }

/* ── Benzer Satış (Comparable) ── */
.cmp-import textarea { width: 100%; box-sizing: border-box; font-family: ui-monospace, Consolas, monospace; font-size: 12px; }
.cmp-report { margin-top: 12px; background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; font-size: 13px; }
.cmp-rep-head { color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.cmp-rep-line { margin: 4px 0; }
.cmp-rep-line.ok { color: var(--accent); }
.cmp-rep-samp { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.cmp-pill { background: var(--panel2); border: 1px solid var(--border); border-radius: 12px; padding: 2px 9px; font-size: 11px; }
.cmp-rep-err { margin-top: 8px; }
.cmp-rep-err summary { cursor: pointer; color: var(--warn); font-size: 12px; }
.cmp-rep-err pre { background: var(--panel); border: 1px solid var(--border); border-radius: 6px; padding: 8px; max-height: 200px; overflow: auto; font-size: 11px; white-space: pre-wrap; }
table.cmp-list td, table.cmp-list th { text-align: left; }
table.cmp-list td:nth-child(2) { text-align: right; font-weight: 600; }

/* Benzer Satış — silme kolonu/butonu */
table.cmp-list th.cmp-chk-col, table.cmp-list td.cmp-chk-col { width: 34px; text-align: center; }
table.cmp-list td:last-child, table.cmp-list th:last-child { text-align: center; width: 44px; }
.cmp-danger { color: var(--warn); border-color: var(--warn); }
.cmp-danger:disabled { opacity: .45; color: var(--muted); border-color: var(--border); }
.cmp-row-del { line-height: 1; }

/* ── Pırlanta Avı ── */
.diamond-controls .opt-row { align-items: flex-end; flex-wrap: wrap; }
table.diamond-list td, table.diamond-list th { text-align: left; vertical-align: top; }
table.diamond-list td:nth-child(3), table.diamond-list th:nth-child(3) { text-align: center; }
.d-score { display: inline-block; min-width: 34px; padding: 2px 8px; border-radius: 12px; font-weight: 700; text-align: center; }
.d-reason { font-size: 12px; color: var(--muted); white-space: normal; max-width: 460px; line-height: 1.5; }
.d-ai { font-weight: 700; color: var(--accent2); }

/* ── Pırlanta puanı (ana tablo) + hassas rozet ── */
.diamond-pill { display: inline-block; min-width: 30px; padding: 1px 6px; border-radius: 10px; font-size: 11px; font-weight: 700; }
.diamond-pill.d-hi  { background: rgba(34,197,94,.30); color: #d1fae5; }
.diamond-pill.d-mid { background: rgba(234,179,8,.28); color: #fef9c3; }
.diamond-pill.d-lo  { background: rgba(249,115,22,.30); color: #ffedd5; }
.diamond-pill.d-min { background: rgba(148,163,184,.22); color: var(--muted); }
/* Sayfa slider — 2800 sayfa görsel süpürme (ileri/geri BOZMADAN ek kontrol) */
.page-slider-wrap { display: flex; align-items: center; gap: 14px; margin: 8px 0; padding: 7px 12px; background: var(--row-hover); border: 1px solid var(--border); border-radius: 6px; font-size: 13px; flex-wrap: wrap; }
#page-slider { flex: 1; min-width: 200px; max-width: 620px; cursor: pointer; accent-color: #60a5fa; }
.page-slider-label { white-space: nowrap; color: var(--muted); }
.page-slider-label b { color: var(--text, #e5e7eb); font-variant-numeric: tabular-nums; font-size: 14px; }
.page-goto { white-space: nowrap; color: var(--muted); display: inline-flex; align-items: center; gap: 4px; }
.page-goto input { width: 64px; padding: 2px 6px; }
.page-goto button { padding: 2px 9px; cursor: pointer; }
/* Talep skoru pill — Pırlanta'dan ayırt için hafif mavi kenarlık (renk tonları d-hi/mid/lo/min paylaşılır) */
.demand-pill { box-shadow: inset 0 0 0 1px rgba(96,165,250,.55); }
.diamond-words-cell { font-size: 12px; color: var(--muted); }
.sens-badge { color: var(--warn); font-weight: 700; cursor: help; }

/* ── Ayarlar: Sistem Ayarları akordeon ── */
.cfg-accordion { display: flex; flex-direction: column; gap: 10px; }
.cfg-card { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.cfg-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; cursor: pointer; user-select: none; }
.cfg-head:hover { background: var(--panel2); }
.cfg-title { font-weight: 600; font-size: 14px; }
.cfg-badges { display: flex; gap: 6px; }
.cfg-badge { font-size: 10px; background: var(--panel2); border: 1px solid var(--border); border-radius: 10px; padding: 1px 7px; color: var(--muted); }
.cfg-badge.warn { color: var(--warn); border-color: var(--warn); }
.cfg-dirty { margin-left: auto; color: var(--warn); font-size: 12px; font-weight: 600; }
.cfg-caret { margin-left: auto; color: var(--muted); }
.cfg-dirty + .cfg-caret { margin-left: 8px; }
.cfg-body { padding: 0 14px 14px; border-top: 1px solid var(--border); }
.cfg-desc { font-size: 12px; color: var(--muted); margin: 10px 0; }
.cfg-fields { display: flex; flex-direction: column; gap: 10px; }
.cfg-l { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--muted); }
.cfg-l.sm { flex: 0 0 auto; }
.cfg-row { display: flex; flex-wrap: wrap; gap: 12px; }
.cfg-l textarea, .cfg-l input { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 7px; padding: 8px; font-size: 13px; }
.cfg-l textarea { font-family: ui-monospace, Consolas, monospace; resize: vertical; }
.cfg-l.sm input { width: 130px; }
.cfg-json { font-size: 12px; }
.cfg-sub { font-size: 12px; font-weight: 600; color: var(--accent); margin-top: 6px; }
.cfg-cat { border: 1px solid var(--border); border-radius: 8px; padding: 10px; background: var(--bg); display: flex; flex-direction: column; gap: 8px; }
.cfg-cat-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 13px; }
.cfg-actions { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.cfg-note { font-size: 12px; }
.cfg-matrix-wrap { overflow-x: auto; }
.cfg-matrix { border-collapse: collapse; font-size: 12px; width: 100%; }
.cfg-matrix th, .cfg-matrix td { border: 1px solid var(--border); padding: 5px 10px; text-align: center; }
.cfg-matrix th { color: var(--muted); background: var(--panel2); }
.cfg-matrix td:first-child { text-align: left; }

/* ── Ayarlar: alt sekme menüsü (tab) ── */
.subtabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 10px 20px 0; border-bottom: 1px solid var(--border); }
.subtab { background: transparent; color: var(--muted); border: 1px solid transparent; border-bottom: none; border-radius: 8px 8px 0 0; padding: 8px 14px; font-size: 13px; cursor: pointer; position: relative; }
.subtab:hover { color: var(--text); background: var(--panel); }
.subtab.active { color: var(--accent); background: var(--panel); border-color: var(--border); font-weight: 600; }
.subtab.dirty::after { content: '●'; color: var(--warn); margin-left: 6px; font-size: 11px; }
.tab-pane { display: none; padding: 14px 20px; }
.tab-pane.active { display: block; }
.cfg-host { max-width: 1000px; }

/* ── Optimizasyon: koşu geçmişi & karşılaştırma ── */
.opt-history { margin-top: 18px; }
.rh-filters { flex-wrap: wrap; align-items: center; }
.rh-filters .opt-inp { max-width: 200px; }
table.rh-list td:first-child, table.rh-list th:first-child { text-align: center; width: 32px; }
table.rh-list .rh-open { font-weight: 700; }
.rh-detail, .rh-compare-out { margin-top: 14px; background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 12px; }
.rh-detail-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; margin-bottom: 8px; }
.rh-detail-head .btn-sm { margin-left: auto; }
.rh-prompt { margin: 8px 0; }
.rh-prompt summary { cursor: pointer; color: var(--accent2); font-size: 13px; }
.rh-prompt pre { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 10px; max-height: 280px; overflow: auto; font-size: 12px; white-space: pre-wrap; }
table.rh-matrix th.rh-runcol { background: rgba(56,189,248,.14); color: var(--accent2); min-width: 110px; }
table.rh-matrix .acc { text-align: center; font-weight: 700; }
table.rh-matrix tfoot .rh-foot td { border-top: 2px solid var(--border); background: var(--panel2); }
.rh-best { color: #fbbf24; }

/* ── Optimizasyon: yöntem seçimine göre kolon gizleme ── */
table.opt-cmp.only-batch .grp-s, table.opt-cmp.only-batch td.cell-s { display: none; }
table.opt-cmp.only-single .grp-b, table.opt-cmp.only-single td.cell-b { display: none; }

/* ── Açık artırma detay sayfası ── */
.auc-wrap { padding: 16px 24px; max-width: 1100px; }
.auc-back { display: inline-block; margin-bottom: 12px; text-decoration: none; }
.auc-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.auc-domain { margin: 0; font-size: 26px; }
.auc-type { background: rgba(56,189,248,.18); color: var(--accent2); border-radius: 12px; padding: 3px 12px; font-size: 13px; font-weight: 600; }
.auc-time { background: var(--panel2); border-radius: 12px; padding: 3px 12px; font-size: 13px; font-weight: 700; }
.auc-time.over { color: var(--warn); }
.auc-status { font-size: 12px; }
.auc-grid { display: grid; grid-template-columns: 300px 1fr; gap: 18px; align-items: start; }
@media (max-width: 760px) { .auc-grid { grid-template-columns: 1fr; } }
.auc-bidbox { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 16px; }
.auc-bidlabel { color: var(--muted); font-size: 12px; }
.auc-bidnow { font-size: 38px; font-weight: 800; color: var(--accent); line-height: 1.1; margin: 2px 0 6px; }
.auc-comp { display: flex; gap: 14px; align-items: baseline; margin: 14px 0; flex-wrap: wrap; }
.auc-stat { font-size: 13px; } .auc-stat b { font-size: 20px; color: var(--text); }
.auc-chips { display: flex; flex-direction: column; gap: 6px; margin: 10px 0; }
.auc-chip { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 4px 8px; font-size: 12px; }
.auc-chip.warn { color: var(--warn); border-color: var(--warn); }
.auc-note { font-size: 11px; margin-top: 8px; }
.auc-history h3 { margin: 0 0 8px; }
.auc-empty { padding: 24px; text-align: center; border: 1px dashed var(--border); border-radius: 10px; }
table.auc-table td { text-align: left; padding: 6px 12px; }
table.auc-table .auc-amt { font-weight: 700; }
table.auc-table tr.auc-hi { background: rgba(34,197,94,.12); }
.auc-badge { font-size: 10px; border-radius: 6px; padding: 0 5px; font-weight: 700; }
.auc-badge.hi { background: var(--accent); color: #06281a; }
.auc-badge.px { background: var(--panel2); color: var(--muted); border: 1px solid var(--border); }
.bid-link { color: var(--accent2); text-decoration: none; } .bid-link:hover { text-decoration: underline; }

/* ── Açık artırma: meta + top bidders + bid history ── */
.auc-meta { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-size: 13px; margin-bottom: 12px; color: var(--muted); }
.auc-meta b { color: var(--text); }
.auc-bidbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 14px 18px; margin-bottom: 18px; flex-wrap: wrap; }
.auc-h { margin: 18px 0 8px; }
.auc-rank { font-size: 16px; text-align: center; }
.auc-pct { color: var(--accent); font-weight: 600; }
table.auc-table th { color: var(--muted); }
/* ── Bidder profili ── */
.bd-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 14px 0 18px; }
@media (max-width: 900px) { .bd-cards { grid-template-columns: repeat(2, 1fr); } }
.bd-card { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 3px; }
.bd-card span { font-size: 11px; color: var(--muted); }
.bd-card b { font-size: 20px; }
.bd-card.good b { color: var(--accent); }
.bd-card.b b { color: var(--accent2); }
.bd-tabs { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 10px; border-bottom: 1px solid var(--border); }
.res-badge { font-size: 11px; font-weight: 700; border-radius: 8px; padding: 2px 8px; }
.res-won { background: rgba(34,197,94,.22); color: #86efac; }
.res-active { background: rgba(56,189,248,.20); color: var(--accent2); }
.res-lost { background: var(--panel2); color: var(--muted); }

/* ── API Dokümantasyonu ── */
.apidoc-wrap { display: grid; grid-template-columns: 240px 1fr; gap: 0; align-items: start; }
@media (max-width: 800px) { .apidoc-wrap { grid-template-columns: 1fr; } }
.apidoc-side { position: sticky; top: 0; align-self: start; padding: 14px; border-right: 1px solid var(--border); max-height: 100vh; overflow: auto; }
.apidoc-side input { width: 100%; box-sizing: border-box; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 8px; padding: 8px; margin-bottom: 10px; }
.apidoc-nav { display: flex; flex-direction: column; gap: 2px; }
.apidoc-navgrp { padding: 6px 8px; border-radius: 6px; text-decoration: none; color: var(--text); font-size: 13px; }
.apidoc-navgrp:hover { background: var(--panel); }
.apidoc-main { padding: 16px 24px; min-width: 0; }
.apidoc-overview h1 { margin: 0 0 10px; }
.apidoc-meta { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; font-size: 13px; display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.apidoc-meta code { background: var(--bg); padding: 1px 6px; border-radius: 4px; color: var(--accent2); }
.apidoc-group { margin-bottom: 26px; }
.apidoc-group h2 { border-bottom: 2px solid var(--border); padding-bottom: 6px; }
.apidoc-gdesc { font-size: 13px; margin: 6px 0 12px; }
.apidoc-ep { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.apidoc-ep-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.apidoc-m { font-weight: 800; font-size: 11px; border-radius: 6px; padding: 2px 8px; color: #06281a; }
.m-get { background: #4ade80; } .m-post { background: #38bdf8; } .m-put { background: #fbbf24; } .m-delete { background: #f87171; color: #2b0a0a; }
.apidoc-path { font-size: 14px; font-weight: 600; }
.apidoc-pub { font-size: 10px; background: var(--panel2); border: 1px solid var(--border); border-radius: 8px; padding: 1px 6px; color: var(--muted); }
.apidoc-desc { font-size: 13px; color: var(--text); margin: 8px 0; line-height: 1.5; }
table.apidoc-params { width: 100%; border-collapse: collapse; font-size: 12px; margin: 8px 0; }
table.apidoc-params th, table.apidoc-params td { border: 1px solid var(--border); padding: 4px 8px; text-align: left; vertical-align: top; }
table.apidoc-params th { color: var(--muted); background: var(--bg); }
.apidoc-noparam { font-size: 12px; margin: 6px 0; }
.apidoc-ret { font-size: 12px; margin: 8px 0 4px; }
.apidoc-ret code { background: var(--bg); padding: 2px 6px; border-radius: 4px; color: var(--accent); white-space: pre-wrap; word-break: break-word; }
.apidoc-exlabel { font-size: 11px; color: var(--muted); margin-top: 8px; }
.apidoc-ex { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 8px 10px; font-size: 12px; white-space: pre-wrap; overflow: auto; }

/* ── WHOIS kapılma/düşme durumu noktası ── */
.reg-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 5px; vertical-align: middle; }
.reg-dot.reg-captured { background: #f87171; box-shadow: 0 0 4px rgba(248,113,113,.7); }   /* kapıldı — kırmızı */
.reg-dot.reg-dropped { background: #4ade80; box-shadow: 0 0 4px rgba(74,222,128,.7); }     /* boşa düştü — yeşil */
.reg-dot.reg-stale { background: #c084fc; }                                                /* eski kayıt — mor */
.act-whois { cursor: pointer; }

/* ── SEPET / BACKORDER (Faz 9) ── */
.basket-layout { display: flex; gap: 12px; padding: 12px; align-items: flex-start; }
.basket-dates { flex: 0 0 210px; background: var(--panel); border: 1px solid var(--border); border-radius: 8px; padding: 10px; }
.basket-dates h3 { margin: 0 0 8px; font-size: 14px; }
.date-list { list-style: none; margin: 0; padding: 0; }
.date-item { display: flex; justify-content: space-between; align-items: center; padding: 7px 9px; border-radius: 6px; cursor: pointer; }
.date-item:hover { background: var(--row-hover); }
/* İKİ KAVRAM İKİ RENK — SEÇİLİ=YEŞİL(accent), BUGÜN=MAVİ(accent2, hep belli). */
.date-item.active { background: var(--accent); color: #06281a; font-weight: 700; }
.date-item.active .badge { background: #06281a; color: var(--accent); }
/* BUGÜN — mavi sol şerit (box-shadow: active olsa da KALIR → bugüne bakınca yeşil zemin + mavi şerit). */
.date-item.today { box-shadow: inset 3px 0 0 var(--accent2); }
.date-item.today:not(.active) { background: rgba(56, 189, 248, .16); color: var(--text); }
.date-item .badge { background: var(--accent); color: #fff; border-radius: 10px; padding: 1px 8px; font-size: 12px; }
.basket-main { flex: 1 1 auto; min-width: 0; background: var(--panel); border: 1px solid var(--border); border-radius: 8px; padding: 10px; }
.basket-toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
.basket-toolbar .spacer { flex: 1 1 auto; }
.tier-tabs { display: flex; gap: 6px; }
.tier-tab { background: transparent; border: 1px solid var(--border); color: var(--muted); border-radius: 6px; padding: 5px 12px; cursor: pointer; }
.tier-tab.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.pill { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 12px; border: 1px solid var(--border); }
.pill.ok { background: #1c7c3a; color: #fff; border-color: #1c7c3a; }
.pill.err { background: #a12d2d; color: #fff; border-color: #a12d2d; }
.pill.muted { color: var(--muted); }
.ddc-toggle { white-space: nowrap; cursor: pointer; }
.ddc-price { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 4px; padding: 2px 4px; }
#btn-send.btn-primary { background: var(--accent); color: #fff; border: none; border-radius: 6px; padding: 7px 14px; cursor: pointer; font-weight: 600; }
#btn-send:disabled { opacity: .45; cursor: not-allowed; }
.pad { padding: 16px; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.basket-card { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 10px; }
.bc-top { display: flex; justify-content: space-between; align-items: center; }
.bc-metrics { color: var(--muted); font-size: 12px; margin: 6px 0; }
.act-rm { cursor: pointer; }
.modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: flex; align-items: flex-start; justify-content: center; padding-top: 6vh; z-index: 60; }
.modal-box { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; width: min(900px, 94vw); max-height: 84vh; overflow: auto; }
.modal-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--border); }
.modal-head .right { margin-left: auto; }
.modal-body { padding: 12px 14px; }
.row-mini { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; }
.modal-backdrop[hidden] { display: none; }  /* hidden, .modal-backdrop display:flex%27i ezsin (BUG1) */
.tier-tab.empty { opacity: .5; }
.tier-tab .badge { background: var(--accent); color: #fff; border-radius: 10px; padding: 0 7px; font-size: 11px; margin-left: 4px; }

/* ── Global sepet ikonu ── */
.cart-widget { position: relative; font-size: 20px; text-decoration: none; margin-right: 6px; cursor: pointer; }
.cart-badge { position: absolute; top: -6px; right: -10px; background: #d33; color: #fff; border-radius: 10px; font-size: 11px; padding: 0 6px; min-width: 16px; text-align: center; }
/* ── Domain hızlı sepet menüsü ── */
.dom-menu-btn { cursor: pointer; color: var(--muted); margin-left: 4px; user-select: none; }
.dom-menu-btn:hover { color: var(--accent); }
.dom-menu { position: absolute; z-index: 70; background: var(--panel); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,.4); padding: 6px; min-width: 150px; }
.dom-menu .dm-title { font-size: 12px; color: var(--muted); padding: 2px 6px 6px; }
.dom-menu button { display: block; width: 100%; text-align: left; background: transparent; border: none; color: var(--text); padding: 6px 8px; border-radius: 6px; cursor: pointer; }
.dom-menu button:hover { background: var(--row-hover); }
/* ── Alt log paneli (komut/response — kaybolmaz) ── */
.cmd-log { position: fixed; left: 0; right: 0; bottom: 0; height: 150px; background: #0c0f14; border-top: 2px solid var(--border); z-index: 55; display: flex; flex-direction: column; font-family: ui-monospace, Menlo, monospace; }
.cmd-log.collapsed { height: 28px; }
.cmd-log-head { display: flex; align-items: center; gap: 8px; padding: 3px 10px; background: #11151c; color: #9fb3c8; font-size: 12px; cursor: pointer; }
.cmd-log-head .right { margin-left: auto; display: flex; gap: 6px; }
.cmd-log-body { flex: 1 1 auto; overflow-y: auto; padding: 6px 10px; font-size: 12px; line-height: 1.5; }
.cmd-log.collapsed .cmd-log-body { display: none; }
.cl-line { white-space: pre-wrap; word-break: break-word; }
.cl-ts { color: #5b7085; }
.cl-ok { color: #6ee7a0; }
.cl-err { color: #ff8a8a; }
.cl-cmd { color: #cfe3ff; }
body.has-cmdlog { padding-bottom: 154px; }

/* ── Görünüm modu anahtarı (PD ↔ Auction) ── */
.mode-switch { display: flex; align-items: center; gap: 8px; padding: 8px 12px 0; }
.mode-btn { background: transparent; border: 1px solid var(--border); color: var(--muted); border-radius: 6px; padding: 6px 14px; cursor: pointer; font-weight: 600; }
.mode-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }
#auction-status-wrap select { background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 5px 8px; }
.tbadge { font-size: 13px; }
.tbadge.bo { }
.tbadge.bid { }
