/* ============ FinPort — Qlik Sense tarzı tasarım sistemi ============ */
:root {
  /* Yüzeyler (açık tema) */
  --bg: #f4f6f8;
  --surface-1: #ffffff;      /* kart/grafik yüzeyi */
  --surface-2: #f7f8fa;      /* panel */
  --surface-3: #eef1f4;      /* hover/zebra */
  --border: #dfe3e8;
  --border-strong: #c7ced6;

  /* Metin */
  --text-primary: #1c2733;
  --text-secondary: #5a6672;
  --text-muted: #8a97a4;

  /* Qlik seçim durumları */
  --sel-selected: #4c9c2e;   /* seçili (yeşil) */
  --sel-selected-ink: #ffffff;
  --sel-possible: #ffffff;   /* olası (beyaz) */
  --sel-excluded: #e7eaed;   /* hariç (gri) */
  --sel-excluded-ink: #aab4bd;
  --sel-alt-ink: #7b8894;    /* alternatif */
  --sel-bar: #4c9c2e;

  /* Vurgu */
  --accent: #2a78d6;
  --accent-ink: #ffffff;

  /* Kategorik seri paleti (doğrulanmış) */
  --series-1:#2a78d6; --series-2:#eb6834; --series-3:#1baf7a; --series-4:#eda100;
  --series-5:#e87ba4; --series-6:#008300; --series-7:#4a3aa7; --series-8:#e34948;

  /* Durum */
  --good:#1baf7a; --warn:#eda100; --bad:#e34948; --up:#1baf7a; --down:#e34948;

  --grid: #eaedf0;
  --shadow: 0 1px 3px rgba(16,24,32,.06), 0 1px 2px rgba(16,24,32,.04);
  --shadow-lg: 0 6px 24px rgba(16,24,32,.12);
  --radius: 8px; --radius-sm: 5px;
  --nav-w: 232px; --topbar-h: 52px; --selbar-h: 44px;
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --mono: 'SF Mono', ui-monospace, Menlo, Consolas, monospace;
}
:root[data-theme="dark"] {
  --bg:#14181c; --surface-1:#1c2127; --surface-2:#20262d; --surface-3:#28303a;
  --border:#2c343d; --border-strong:#3a444f;
  --text-primary:#eaf0f6; --text-secondary:#a9b6c2; --text-muted:#7c8a97;
  --sel-selected:#4c9c2e; --sel-selected-ink:#ffffff;
  --sel-possible:#1c2127; --sel-excluded:#232a31; --sel-excluded-ink:#5c6874; --sel-alt-ink:#8493a0;
  --accent:#3987e5;
  --series-1:#3987e5; --series-2:#d95926; --series-3:#199e70; --series-4:#c98500;
  --series-5:#d55181; --series-6:#008300; --series-7:#9085e9; --series-8:#e66767;
  --grid:#262e37;
  --shadow:0 1px 3px rgba(0,0,0,.4); --shadow-lg:0 8px 28px rgba(0,0,0,.5);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg:#14181c; --surface-1:#1c2127; --surface-2:#20262d; --surface-3:#28303a;
    --border:#2c343d; --border-strong:#3a444f;
    --text-primary:#eaf0f6; --text-secondary:#a9b6c2; --text-muted:#7c8a97;
    --sel-possible:#1c2127; --sel-excluded:#232a31; --sel-excluded-ink:#5c6874; --sel-alt-ink:#8493a0;
    --accent:#3987e5;
    --series-1:#3987e5; --series-2:#d95926; --series-3:#199e70; --series-4:#c98500;
    --series-5:#d55181; --series-6:#008300; --series-7:#9085e9; --series-8:#e66767;
    --grid:#262e37; --shadow:0 1px 3px rgba(0,0,0,.4); --shadow-lg:0 8px 28px rgba(0,0,0,.5);
  }
}

* { box-sizing: border-box; }
.ic { width:18px; height:18px; flex:none; }
html, body { height: 100%; }
body { margin:0; font-family: var(--font); background: var(--bg); color: var(--text-primary);
  font-size: 14px; line-height: 1.45; -webkit-font-smoothing: antialiased; }
button, input, select { font-family: inherit; font-size: inherit; color: inherit; }
button { cursor: pointer; }
a { color: var(--accent); text-decoration: none; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 6px; }
::-webkit-scrollbar-track { background: transparent; }

/* ---------- Uygulama iskeleti ---------- */
.app { display: grid; grid-template-columns: var(--nav-w) 1fr; grid-template-rows: var(--topbar-h) auto auto auto 1fr;
  grid-template-areas: "nav topbar" "nav cirostrip" "nav filterbar" "nav selbar" "nav main"; height: 100vh; }
.topbar { grid-area: topbar; display:flex; align-items:center; gap:14px; padding:0 18px;
  background: var(--surface-1); border-bottom:1px solid var(--border); box-shadow: var(--shadow); z-index: 20; }
.brand { font-weight:700; font-size:15px; letter-spacing:.2px; display:flex; align-items:center; gap:9px; }
.brand .logo { width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,#f7941d,#f26522);
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:14px; }
.topbar .page-title { font-weight:600; color:var(--text-secondary); }
.topbar .spacer { flex:1; }
.topbar .tb-btn { background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);
  padding:7px 10px;color:var(--text-secondary); display:flex;align-items:center;gap:7px; }
.topbar .tb-btn:hover { background:var(--surface-3); color:var(--text-primary); }
.user-chip { display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:20px;background:var(--surface-2);
  border:1px solid var(--border); }
.user-chip .avatar { width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:12px; }

/* ---------- Sol navigasyon ---------- */
.nav { grid-area: nav; background: var(--surface-1); border-right:1px solid var(--border);
  display:flex; flex-direction:column; overflow:hidden; }
.nav-head { padding:16px 16px 10px; font-size:11px; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); }
.nav-list { list-style:none; margin:0; padding:4px 8px; overflow-y:auto; flex:1; }
.nav-item { display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:var(--radius-sm);
  color:var(--text-secondary); cursor:pointer; margin-bottom:2px; font-weight:500; user-select:none; }
.nav-item:hover { background: var(--surface-3); color: var(--text-primary); }
.nav-item.active { background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); font-weight:600; }
.nav-item.active .ic { color: var(--accent); }
.nav-item.nav-alt { font-size:.94em; }   /* 05.10 alt sayfa (ör. Stok › Yenigün) · 12.10 girinti kaldırıldı: simge/yazı ana öğelerle aynı hizada */
.nav-item .ic { width:18px; height:18px; flex:none; color:var(--text-muted); }
.nav-foot { padding:12px 14px; border-top:1px solid var(--border); font-size:11px; color:var(--text-muted); }

/* ---------- Seçim çubuğu (Qlik imzası) ---------- */
.selbar { grid-area: selbar; min-height: var(--selbar-h); display:flex; align-items:center; gap:8px;
  padding:6px 16px; background: var(--surface-2); border-bottom:1px solid var(--border); overflow-x:auto; }
.selbar .lbl { font-size:12px; color:var(--text-muted); flex:none; }
.sel-chip { display:inline-flex; align-items:center; gap:7px; background:var(--sel-selected); color:var(--sel-selected-ink);
  border-radius:16px; padding:5px 10px 5px 12px; font-size:12.5px; font-weight:600; flex:none; box-shadow: var(--shadow); }
.sel-chip .field { opacity:.85; font-weight:500; }
.sel-chip .x { cursor:pointer; width:16px;height:16px;border-radius:50%; display:grid;place-items:center;
  background:rgba(255,255,255,.25); font-size:11px; }
.sel-chip .x:hover { background:rgba(255,255,255,.45); }
.sel-clear { margin-left:auto; flex:none; background:transparent; border:1px solid var(--border-strong);
  border-radius:16px; padding:5px 12px; color:var(--text-secondary); font-size:12px; }
.sel-clear:hover { background:var(--surface-3); color:var(--text-primary); }
.selbar .empty { color:var(--text-muted); font-size:12.5px; font-style:italic; }

/* ---------- Ana içerik ---------- */
.main { grid-area: main; overflow-y:auto; padding:18px; }
.grid { display:grid; gap:14px; grid-template-columns: repeat(12, 1fr); }
.card { grid-column: span 12; min-width:0; background:var(--surface-1); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.card.col-6 { grid-column: span 6; } .card.col-4 { grid-column: span 4; }
.card.col-3 { grid-column: span 3; } .card.col-8 { grid-column: span 8; }
.card-head { display:flex; align-items:center; gap:10px; padding:12px 14px 8px; }
.card-head h3 { margin:0; font-size:13.5px; font-weight:600; color:var(--text-primary); }
.card-head .sub { font-size:11.5px; color:var(--text-muted); }
.card-head .actions { margin-left:auto; display:flex; gap:4px; }
.card-body { padding:6px 12px 14px; flex:1; min-height:0; min-width:0; }

/* KPI */
.kpi { padding:16px; }
.kpi .kpi-label { font-size:12px; color:var(--text-secondary); font-weight:500; }
.kpi .kpi-value { font-size:26px; font-weight:700; letter-spacing:-.5px; margin-top:4px; }
.kpi .kpi-value.kpi-value-text { font-size:16px; line-height:1.25; letter-spacing:0; margin-top:6px; }
.kpi .kpi-delta { font-size:12.5px; font-weight:600; margin-top:5px; display:inline-flex; align-items:center; gap:5px; }
.kpi .kpi-delta.up { color:var(--up); } .kpi .kpi-delta.down { color:var(--down); }

/* Tablo */
/* 23.10.2026: tüm tablolarda başlık sabit — kutu yatay kaydırma için overflow taşıdığından thead sticky
   sayfaya değil kutuya yapışıyordu; kutuya yükseklik sınırı verince uzun tablo içinde kayar, başlık yerinde kalır. */
.tbl-wrap { overflow:auto; max-height:75vh; min-width:0; }
table.data { width:100%; border-collapse:collapse; font-size:12.5px; }
table.data th, table.data td { padding:7px 10px; text-align:right; border-bottom:1px solid var(--grid); white-space:nowrap; }
table.data th:first-child, table.data td:first-child { text-align:left; position:sticky; left:0; background:var(--surface-1); }
table.data thead th { position:sticky; top:0; background:var(--surface-2); color:var(--text-secondary);
  font-weight:600; z-index:1; cursor:pointer; user-select:none; }
table.data thead th:first-child { z-index:2; } /* köşe hücresi yatay kaydırmada üstte kalsın */
table.data tbody tr:hover td { background:var(--surface-3); }
/* .sig = etiket sütunu olmayan, dar aylık şerit tablo (12 ay tek satıra sığsın) */
table.data.sig th, table.data.sig td { padding:6px 6px; font-size:12px; text-align:right; }
table.data.sig th:first-child, table.data.sig td:first-child { text-align:right; position:static; }
table.data tbody tr.selected td { background: color-mix(in srgb, var(--sel-selected) 16%, transparent); }
table.data td.num { font-variant-numeric: tabular-nums; }
table.data tfoot td { font-weight:700; border-top:2px solid var(--border-strong); background:var(--surface-2); }

/* Listbox (Qlik filtre) */
.listbox { display:flex; flex-direction:column; }
.listbox .lb-search { margin:0 0 8px; }
.listbox .lb-items { max-height:230px; overflow-y:auto; border:1px solid var(--border); border-radius:var(--radius-sm); }
.lb-item { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 11px;
  cursor:pointer; border-bottom:1px solid var(--grid); font-size:12.5px; user-select:none;
  background:var(--sel-possible); color:var(--text-primary); }
.lb-item:last-child { border-bottom:none; }
.lb-item .bar { position:absolute; }
.lb-item.selected { background:var(--sel-selected); color:var(--sel-selected-ink); font-weight:600; }
.lb-item.excluded { background:var(--sel-excluded); color:var(--sel-excluded-ink); }
.lb-item.alt { color:var(--sel-alt-ink); }
.lb-item .freq { font-size:11px; opacity:.8; font-variant-numeric:tabular-nums; }
.lb-item:hover:not(.selected) { background:var(--surface-3); }

/* Kontroller */
.input, select.input { width:100%; padding:8px 11px; background:var(--surface-1); border:1px solid var(--border-strong);
  border-radius:var(--radius-sm); color:var(--text-primary); outline:none; }
.input:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%, transparent); }
.btn { padding:9px 16px; border-radius:var(--radius-sm); border:1px solid var(--border-strong); background:var(--surface-1);
  color:var(--text-primary); font-weight:600; }
.btn:hover { background:var(--surface-3); }
.btn.primary { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
.btn.primary:hover { filter:brightness(1.06); }
.btn.block { width:100%; }
.seg { display:inline-flex; border:1px solid var(--border-strong); border-radius:var(--radius-sm); overflow:hidden; }
.seg button { padding:6px 12px; background:var(--surface-1); border:none; border-right:1px solid var(--border); color:var(--text-secondary); font-size:12px; }
.seg button:last-child { border-right:none; }
.seg button.on { background:var(--accent); color:var(--accent-ink); }

/* Grafik */
.chart { width:100%; }
.chart svg { display:block; width:100%; height:auto; overflow:visible; }
.chart .axis text { fill:var(--text-muted); font-size:10.5px; }
.chart .axis line, .chart .axis path { stroke:var(--grid); }
.chart .gridline { stroke:var(--grid); stroke-dasharray:0; }
.legend { display:flex; flex-wrap:wrap; gap:12px; padding:6px 4px 0; }
.legend .li { display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--text-secondary); cursor:pointer; }
.legend .li .sw { width:11px;height:11px;border-radius:3px; }
.legend .li.off { opacity:.4; }
.tooltip { position:fixed; pointer-events:none; z-index:100; background:var(--surface-1); border:1px solid var(--border-strong);
  border-radius:var(--radius-sm); box-shadow:var(--shadow-lg); padding:8px 11px; font-size:12px; max-width:280px; opacity:0;
  transition:opacity .08s; }
.tooltip .tt-title { font-weight:700; margin-bottom:5px; }
.tooltip .tt-row { display:flex; align-items:center; gap:8px; justify-content:space-between; }
.tooltip .tt-row .k { display:flex; align-items:center; gap:6px; color:var(--text-secondary); }
.tooltip .tt-row .sw { width:9px;height:9px;border-radius:2px; }
.tooltip .tt-row .v { font-weight:700; font-variant-numeric:tabular-nums; }

/* Durum/yükleniyor */
.state { display:grid; place-items:center; padding:40px 20px; color:var(--text-muted); text-align:center; gap:10px; }
.spinner { width:26px;height:26px;border:3px solid var(--border); border-top-color:var(--accent); border-radius:50%;
  animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.skeleton { background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);
  background-size:200% 100%; animation:sk 1.4s infinite; border-radius:6px; }
@keyframes sk { to { background-position:-200% 0; } }

.badge { font-size:10.5px; font-weight:700; padding:2px 7px; border-radius:10px; text-transform:uppercase; letter-spacing:.4px; }
.badge.up { background:color-mix(in srgb,var(--up) 18%,transparent); color:var(--up); }
.badge.down { background:color-mix(in srgb,var(--down) 18%,transparent); color:var(--down); }
.hidden { display:none !important; }

/* ---------- Giriş ekranı ---------- */
.login-wrap { min-height:100vh; display:grid; place-items:center; padding:20px;
  background: radial-gradient(1200px 600px at 70% -10%, color-mix(in srgb,var(--accent) 12%, var(--bg)), var(--bg)); }
.login-card { width:100%; max-width:380px; background:var(--surface-1); border:1px solid var(--border);
  border-radius:14px; box-shadow:var(--shadow-lg); padding:30px 28px; }
.login-card .logo-lg { width:52px;height:52px;border-radius:13px;background:linear-gradient(135deg,#f7941d,#f26522);
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:24px; margin:0 auto 14px; }
.login-card h1 { text-align:center; font-size:20px; margin:0 0 4px; }
.login-card .tag { text-align:center; color:var(--text-muted); font-size:12.5px; margin-bottom:22px; }
.field { margin-bottom:14px; }
.field label { display:block; font-size:12px; color:var(--text-secondary); margin-bottom:6px; font-weight:600; }
.login-err { background:color-mix(in srgb,var(--bad) 12%,transparent); color:var(--bad); border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);
  border-radius:var(--radius-sm); padding:10px 12px; font-size:12.5px; margin-bottom:14px; }
.login-foot { text-align:center; margin-top:16px; font-size:11px; color:var(--text-muted); }

/* ---------- Mobil menü butonu ---------- */
.hamburger { display:none; background:transparent; border:none; padding:6px; color:var(--text-secondary); }
.nav-backdrop { display:none; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:29; }
.filter-fab { display:none; }

/* ---------- Duyarlı (responsive) ---------- */
@media (max-width: 1100px) {
  .card.col-3 { grid-column: span 6; }
}
@media (max-width: 860px) {
  :root { --nav-w: 0px; }
  .app { grid-template-columns: 1fr; grid-template-areas: "topbar" "cirostrip" "filterbar" "selbar" "main"; }
  .nav { position:fixed; top:0; left:0; bottom:0; width:264px; z-index:30; transform:translateX(-100%);
    transition:transform .22s ease; box-shadow:var(--shadow-lg); }
  .app.nav-open .nav { transform:translateX(0); }
  .app.nav-open .nav-backdrop { display:block; }
  .hamburger { display:inline-flex; }
  .card.col-6, .card.col-4, .card.col-3, .card.col-8 { grid-column: span 12; }
  .main { padding:12px; }
  .grid { gap:12px; }
  /* Mobilde filtreler alttan çekmece */
  .filter-fab { display:flex; position:fixed; right:16px; bottom:16px; z-index:25; align-items:center; gap:8px;
    background:var(--accent); color:#fff; border:none; border-radius:26px; padding:13px 18px; font-weight:700;
    box-shadow:var(--shadow-lg); }
  .selbar { padding:6px 12px; }
  .topbar .page-title { display:none; }
  .kpi .kpi-value { font-size:23px; }
}
@media (max-width: 560px) {
  .brand span.txt { display:none; }
  /* 01.10: zil eklenince üst çubuk 375–412 px'e sığmıyordu (445 px) → ad gizli, yalnız baş harfler */
  .topbar { gap:2px; padding:0 8px; }
  .topbar .tb-btn { padding:7px 8px; }
  .user-chip { padding:3px; margin-left:4px; }
  .user-chip > span:not(.avatar) { display:none; }
  table.data th, table.data td { padding:6px 8px; font-size:12px; }
}
/* Dokunma hedefleri (mobil erişilebilirlik) */
@media (pointer: coarse) {
  .nav-item { padding:13px 12px; }
  .lb-item { padding:11px 12px; }
  .sel-chip { padding:8px 12px 8px 14px; }
  .btn { padding:12px 18px; }
}
/* Alttan açılan filtre paneli (mobil) */
.filter-sheet { position:fixed; left:0; right:0; bottom:0; z-index:40; background:var(--surface-1);
  border-top-left-radius:16px; border-top-right-radius:16px; box-shadow:var(--shadow-lg); max-height:80vh;
  transform:translateY(100%); transition:transform .25s ease; display:flex; flex-direction:column; }
.filter-sheet.open { transform:translateY(0); }
.filter-sheet .sheet-head { display:flex; align-items:center; padding:12px 16px; border-bottom:1px solid var(--border); }
.filter-sheet .sheet-body { padding:12px 16px; overflow-y:auto; }
.filter-sheet .grabber { width:38px;height:4px;border-radius:3px;background:var(--border-strong);margin:8px auto; }
@media print { .nav,.topbar,.selbar,.filter-fab { display:none; } .app{display:block;} .main{overflow:visible;} .tbl-wrap{max-height:none;overflow:visible;} }

/* ---------- Genel Bakış (tıklanabilir bölümler) ---------- */
.ov-card { cursor: pointer; transition: transform .12s, box-shadow .12s, border-color .12s; }
.ov-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); border-color: var(--accent); }
.ov-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ov-card .card-head .ov-go { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--accent); opacity: 0; transition: opacity .12s; }
.ov-card:hover .card-head .ov-go { opacity: 1; }
.ov-body { padding: 4px 14px 14px; }
.ov-kpis { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 6px; }
.ov-kpi { min-width: 110px; }
.ov-kpi-label { font-size: 11.5px; color: var(--text-secondary); }
.ov-kpi-value { font-size: 20px; font-weight: 700; letter-spacing: -.3px; margin-top: 2px; }
.ov-chart { margin-top: 8px; }
@media (max-width: 860px) { .ov-kpis { gap: 12px; } .ov-kpi { min-width: 90px; } .ov-kpi-value { font-size: 18px; } }

/* ================= Giriş (ortalı, Portakalbahçem foto hero) ================= */
.auth-center { min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center;
  padding:28px 18px; overflow-y:auto;
  background:radial-gradient(1100px 620px at 50% -8%, color-mix(in srgb, var(--accent) 10%, var(--bg)), var(--bg)); }
.auth-box { width:100%; max-width:400px; display:flex; flex-direction:column; align-items:center; }
.auth-photo { position:relative; width:100%; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-lg);
  aspect-ratio:16/8; background:#f7772e; }
.auth-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.auth-photo .ph-overlay { position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(120,50,10,.15) 45%, rgba(90,38,8,.72) 100%); }
.auth-photo .ph-brand { position:absolute; left:18px; right:18px; bottom:14px; color:#fff; z-index:2; }
.auth-photo .ph-brand .b-logo { display:flex; align-items:center; gap:9px; margin-bottom:4px; font-weight:700; font-size:14px; text-shadow:0 1px 6px rgba(0,0,0,.35); }
.auth-photo .ph-brand h1 { margin:0; font-size:26px; font-weight:800; letter-spacing:-.5px; text-shadow:0 2px 10px rgba(0,0,0,.4); }
.auth-card { width:100%; margin-top:22px; background:var(--surface-1); border:1px solid var(--border);
  border-radius:14px; box-shadow:var(--shadow); padding:26px 24px; }
.auth-card .af-head { margin-bottom:18px; text-align:center; }
.auth-card .af-head h2 { margin:0 0 4px; font-size:20px; }
.auth-card .af-head .sub { color:var(--text-muted); font-size:12.5px; }
.auth-foot-line { text-align:center; margin-top:16px; font-size:11px; color:var(--text-muted); }

/* 2FA kurulum/kod */
.twofa-qr { display:flex; flex-direction:column; align-items:center; gap:10px; margin:6px 0 14px;
  padding:14px; background:var(--surface-2); border:1px solid var(--border); border-radius:var(--radius); }
.twofa-qr img { width:190px; height:190px; border-radius:8px; background:#fff; padding:6px; max-width:100%; }
.twofa-secret { font-family:var(--mono); font-size:12px; letter-spacing:1px; background:var(--surface-3);
  padding:8px 12px; border-radius:6px; word-break:break-all; text-align:center; color:var(--text-secondary); width:100%; box-sizing:border-box; }
.code-input { text-align:center; letter-spacing:8px; font-size:22px; font-family:var(--mono); font-weight:700; }
.auth-steps { display:flex; gap:6px; margin-bottom:16px; }
.auth-steps .step { flex:1; height:4px; border-radius:3px; background:var(--border); }
.auth-steps .step.on { background:var(--accent); }

@media (max-width: 480px) {
  .auth-center { padding:18px 14px; align-items:flex-start; }
  .auth-photo { aspect-ratio:16/9; }
  .auth-photo .ph-brand h1 { font-size:22px; }
  .auth-card { margin-top:16px; padding:22px 18px; }
  .twofa-qr img { width:160px; height:160px; }
}
@media (max-height: 720px) { .auth-photo { aspect-ratio:16/6; } }
@media (pointer:coarse) { .auth-card .input { padding:13px 12px; } }

/* ---------- Genel Bakış (tıklanabilir bölümler) ---------- */
.ov-card { cursor: pointer; transition: transform .12s, box-shadow .12s, border-color .12s; }
.ov-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); border-color: var(--accent); }
.ov-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ov-card .card-head .ov-go { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--accent); opacity: 0; transition: opacity .12s; }
.ov-card:hover .card-head .ov-go { opacity: 1; }
.ov-body { padding: 4px 14px 14px; }
.ov-kpis { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 6px; }
.ov-kpi { min-width: 110px; }
.ov-kpi-label { font-size: 11.5px; color: var(--text-secondary); }
.ov-kpi-value { font-size: 20px; font-weight: 700; letter-spacing: -.3px; margin-top: 2px; }
.ov-chart { margin-top: 8px; }
@media (max-width: 860px) { .ov-kpis { gap: 12px; } .ov-kpi { min-width: 90px; } .ov-kpi-value { font-size: 18px; } }

/* ================= Giriş (iki panel + Portakalbahçem hero) ================= */
.auth-split { min-height:100vh; min-height:100dvh; display:grid; grid-template-columns: 1.1fr 1fr; }
.auth-hero { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end;
  padding:44px; color:#fff; background:linear-gradient(160deg,#ff9a3c 0%,#f7772e 42%,#e85d1f 100%); }
.auth-hero .hero-art { position:absolute; inset:0; opacity:.9; }
.auth-hero .hero-art svg { width:100%; height:100%; }
.auth-hero .hero-content { position:relative; z-index:2; }
.auth-hero .hero-logo { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.auth-hero .hero-logo .dot { width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.18);
  backdrop-filter:blur(4px); display:grid;place-items:center;font-weight:800;font-size:22px; border:1px solid rgba(255,255,255,.25); }
.auth-hero h1 { font-size:30px; margin:0 0 8px; font-weight:800; letter-spacing:-.5px; text-shadow:0 2px 12px rgba(0,0,0,.15); }
.auth-hero p.tag { font-size:15px; opacity:.95; margin:0; max-width:420px; line-height:1.5; }
.auth-hero .hero-foot { position:relative; z-index:2; margin-top:26px; font-size:12px; opacity:.85; display:flex; gap:16px; flex-wrap:wrap; }
.auth-hero .hero-foot span { display:inline-flex; align-items:center; gap:6px; }

.auth-form-panel { display:flex; align-items:center; justify-content:center; padding:40px 28px; background:var(--bg); }
.auth-form { width:100%; max-width:360px; }
.auth-form .af-head { margin-bottom:22px; }
.auth-form .af-head h2 { margin:0 0 5px; font-size:22px; }
.auth-form .af-head .sub { color:var(--text-muted); font-size:13px; }
.auth-form .mini-logo { display:none; }

/* 2FA kurulum */
.twofa-qr { display:flex; flex-direction:column; align-items:center; gap:12px; margin:8px 0 16px;
  padding:16px; background:var(--surface-1); border:1px solid var(--border); border-radius:var(--radius); }
.twofa-qr img { width:200px; height:200px; border-radius:8px; background:#fff; padding:6px; }
.twofa-secret { font-family:var(--mono); font-size:12.5px; letter-spacing:1px; background:var(--surface-3);
  padding:8px 12px; border-radius:6px; word-break:break-all; text-align:center; color:var(--text-secondary); }
.code-input { text-align:center; letter-spacing:8px; font-size:22px; font-family:var(--mono); font-weight:700; }
.auth-steps { display:flex; gap:6px; margin-bottom:18px; }
.auth-steps .step { flex:1; height:4px; border-radius:3px; background:var(--border); }
.auth-steps .step.on { background:var(--accent); }

/* Responsive: mobilde hero üstte kompakt, form altta */
@media (max-width: 820px) {
  .auth-split { grid-template-columns:1fr; grid-template-rows:auto 1fr; }
  .auth-hero { padding:26px 22px 22px; min-height:210px; justify-content:center; text-align:center; align-items:center; }
  .auth-hero .hero-logo { justify-content:center; }
  .auth-hero h1 { font-size:24px; }
  .auth-hero p.tag { font-size:13.5px; }
  .auth-hero .hero-foot { display:none; }
  .auth-form-panel { padding:26px 20px 40px; }
}
@media (max-width: 400px) { .auth-hero { min-height:170px; } .auth-hero h1 { font-size:21px; } .twofa-qr img { width:170px; height:170px; } }
@media (pointer:coarse) { .auth-form .input { padding:13px 12px; } }

/* Türkiye harita renk skalası */
.map-legend { display:flex; align-items:center; gap:8px; justify-content:center; margin-top:8px; font-size:11px; color:var(--text-muted); }
.map-legend .grad { width:120px; height:9px; border-radius:5px; background:linear-gradient(90deg,#ffe3c2,#f59e42,#c2410c); }

/* ================= Nakit Akış — finansal matris tablosu ================= */
.fin-wrap { overflow-x: auto; }
table.fin { width: 100%; border-collapse: collapse; font-size: 12.5px; min-width: 720px; }
table.fin th, table.fin td { padding: 7px 12px; text-align: right; white-space: nowrap; border-bottom: 1px solid var(--grid); }
table.fin th:first-child, table.fin td.kalem-ad { text-align: left; position: sticky; left: 0; background: var(--surface-1); z-index: 1; }
table.fin thead th { position: sticky; top: 0; background: var(--surface-2); color: var(--text-secondary); font-weight: 600; z-index: 2; }
table.fin thead th:first-child { z-index: 3; }
table.fin td.num { font-variant-numeric: tabular-nums; }
table.fin tr.fin-baslik td { font-weight: 700; background: var(--surface-3); color: var(--text-primary); border-top: 1px solid var(--border-strong); }
table.fin tr.fin-kalem td.kalem-ad { padding-left: 26px; color: var(--text-secondary); }
table.fin tr.fin-toplam td { font-weight: 700; border-top: 1px solid var(--border-strong); }
table.fin tr.fin-net td { font-weight: 800; background: color-mix(in srgb, var(--accent) 8%, transparent); border-top: 2px solid var(--border-strong); border-bottom: 2px solid var(--border-strong); }
table.fin td.pos { color: var(--good); } table.fin td.neg { color: var(--bad); }
table.fin td.tot-col { font-weight: 700; border-left: 2px solid var(--border-strong); background: var(--surface-2); }

/* Ay detayı — GELEN | GİDEN yan yana */
.ay-detay { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ay-detay .yon { background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; }
.ay-detay .yon h4 { margin: 0 0 8px; font-size: 13px; display: flex; justify-content: space-between; }
.ay-detay .yon.gelen h4 { color: var(--good); } .ay-detay .yon.giden h4 { color: var(--bad); }
.ay-detay .kat { margin-bottom: 8px; }
.ay-detay .kat-head { display: flex; justify-content: space-between; font-weight: 600; font-size: 12px; padding: 4px 0; border-bottom: 1px solid var(--grid); }
.ay-detay .hesap { display: flex; justify-content: space-between; font-size: 11.5px; color: var(--text-muted); padding: 2px 0 2px 12px; }
.ay-detay .hesap .kod { font-family: var(--mono); }
.ay-sec { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.ay-sec button { padding: 5px 12px; border: 1px solid var(--border-strong); background: var(--surface-1); border-radius: 16px; font-size: 12px; color: var(--text-secondary); }
.ay-sec button.on { background: var(--accent); border-color: var(--accent); color: #fff; }
@media (max-width: 820px) { .ay-detay { grid-template-columns: 1fr; } }

/* 2:1 kolon düzeni (sol grafik yığını + sağ uzun tablo) */
.split-2-1 { grid-column: span 12; display: grid; grid-template-columns: 2fr 1fr; gap: 14px; align-items: start; }
.split-2-1 > .col-left { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.split-2-1 > .col-right { min-width: 0; }
@media (max-width: 900px) { .split-2-1 { grid-template-columns: 1fr; } }

.kpi .kpi-sub { font-size: 11px; color: var(--text-muted); margin-top: 3px; }

/* Sabit ciro şeridi (her sayfada) */
/* Doğal Dil Sorgu (NLQ) */
.nlq-bar { display:flex; gap:8px; align-items:stretch; }
.nlq-input { flex:1; resize:vertical; min-height:44px; padding:10px 12px; border:1px solid var(--border);
  border-radius:8px; background:var(--surface-2); color:var(--text-primary); font:inherit; font-size:14px; }
.nlq-input:focus { outline:none; border-color:var(--accent); }
.nlq-mic { flex:none; width:44px; border:1px solid var(--border); border-radius:8px; background:var(--surface-2);
  cursor:pointer; font-size:18px; }
.nlq-mic:hover { border-color:var(--accent); }
.nlq-mic.rec { background:#e5484d; border-color:#e5484d; color:#fff; animation:nlqpulse 1s infinite; }
@keyframes nlqpulse { 0%,100%{ opacity:1; } 50%{ opacity:.55; } }
.nlq-ask { flex:none; padding:0 20px; }
.nlq-ornekler { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.nlq-chip { font-size:12px; padding:5px 11px; border-radius:999px; border:1px solid var(--border);
  background:var(--surface-1); color:var(--text-secondary); cursor:pointer; }
.nlq-chip:hover { border-color:var(--accent); color:var(--text-primary); }
.nlq-gruplar { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px 22px; margin:14px 0 10px; }
.nlq-grup h5 { margin:0 0 8px; font-size:11px; text-transform:uppercase; letter-spacing:.7px; color:var(--text-muted); font-weight:700; }
.nlq-grup .nlq-chip { display:block; width:100%; text-align:left; margin:0 0 6px; white-space:normal; }
.nlq-results { margin-top:6px; display:flex; flex-direction:column; gap:12px; }
.nlq-results .card { grid-column:span 12; }
.nlq-exp { font-size:13.5px; color:var(--text-secondary); padding:2px 2px; }
.nlq-banner { font-size:12.5px; padding:8px 12px; border-radius:8px; border:1px solid var(--border); }
.nlq-banner.warn { border-color:var(--warn); color:var(--warn); }
.nlq-banner.bad { border-color:var(--bad,#d33); color:var(--bad,#d33); }
.nlq-sql-det { border:1px solid var(--border); border-radius:8px; background:var(--surface-1); }
.nlq-sql-det summary { cursor:pointer; padding:8px 12px; font-size:12.5px; font-weight:600; color:var(--text-secondary); }
.nlq-sql { margin:0; padding:10px 12px; border-top:1px solid var(--border); overflow-x:auto;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; color:var(--text-primary); white-space:pre-wrap; }

/* Sesli Asistan (Jarvis) */
.jv-transcript { min-height:220px; max-height:50vh; overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding:6px 2px 12px; }
.jv-msg { max-width:80%; padding:9px 13px; border-radius:14px; font-size:14px; line-height:1.45; white-space:pre-wrap; }
.jv-user { align-self:flex-end; background:var(--accent); color:#fff; border-bottom-right-radius:4px; }
.jv-geri { align-self:flex-start; display:flex; gap:6px; align-items:center; margin:-4px 0 2px 4px; font-size:12px; color:var(--text-secondary); }
.jv-geri button { background:none; border:1px solid var(--border); border-radius:8px; min-width:36px; min-height:32px; padding:2px 8px; font-size:14px; cursor:pointer; color:var(--text-primary); }
.jv-geri-hata { color:var(--danger, #dc2626); }
.jv-geri input { min-width:200px; padding:6px 8px; border:1px solid var(--border); border-radius:8px; background:var(--surface-1); color:var(--text-primary); font-size:13px; }
.jv-assistant { align-self:flex-start; background:var(--surface-1); border:1px solid var(--border); border-bottom-left-radius:4px; }
.jv-live { display:flex; align-items:center; gap:18px; padding:6px 2px 14px; border-bottom:1px solid var(--border); margin-bottom:10px; }
.jv-orb { flex:none; width:76px; height:76px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:30px; background:var(--surface-2); border:2px solid var(--border); transition:all .2s; }
.jv-orb.jv-listening { border-color:#3b82f6; box-shadow:0 0 0 6px rgba(59,130,246,.15); }
.jv-orb.jv-recording { border-color:#22c55e; box-shadow:0 0 0 8px rgba(34,197,94,.22); animation:nlqpulse .9s infinite; }
.jv-orb.jv-processing { border-color:var(--warn); box-shadow:0 0 0 6px rgba(245,158,11,.15); }
.jv-orb.jv-speaking { border-color:var(--accent); box-shadow:0 0 0 8px rgba(255,140,0,.2); animation:nlqpulse 1.1s infinite; }
.jv-status { font-size:13.5px; color:var(--text-secondary); font-weight:500; }
.jv-actions { display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
.jv-actions .btn.kayit { background:#c62828; border-color:#c62828; color:#fff; }
.jv-secenek { display:flex; align-items:center; gap:6px; margin-top:8px; font-size:12.5px; color:var(--text-secondary); cursor:pointer; }

/* Destek Asistanı konsolu */
.destek-musteri { font-size:13.5px; padding:8px 12px; background:var(--surface-1); border:1px solid var(--border); border-radius:8px; }
.destek-taslak-wrap { display:flex; flex-direction:column; gap:6px; }
.destek-lbl { font-size:12px; color:var(--text-secondary); font-weight:600; }
.destek-taslak { font-size:14px; line-height:1.5; }
.destek-actions { display:flex; align-items:center; gap:12px; }
.destek-arac { font-size:11.5px; color:var(--text-muted); }

/* Global yıl/çeyrek/ay filtre çubuğu */
.filter-bar { grid-area: filterbar; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px;
  padding: 7px 16px; background: var(--surface-1); border-bottom: 1px solid var(--border); }
.filter-bar .fb-row { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.filter-bar .fb-lbl { font-size: 10px; font-weight: 800; letter-spacing: 1px; color: var(--text-muted); margin-right: 4px; }
.filter-bar .fb-chip { font-size: 12px; font-weight: 600; padding: 4px 11px; border-radius: 999px;
  border: 1px solid var(--border); background: var(--surface-2); color: var(--text-secondary); cursor: pointer; transition: all .12s; }
.filter-bar .fb-chip:hover { border-color: var(--accent); color: var(--text-primary); }
.filter-bar .fb-chip.on { background: var(--accent); border-color: var(--accent); color: #fff; }
.filter-bar .fb-chip.primary { box-shadow: 0 0 0 2px var(--accent-soft, rgba(255,140,0,.35)); }
.filter-bar .fb-hint { font-size: 10.5px; font-style: italic; color: var(--text-muted); margin-left: 2px; }
.filter-bar .fb-months { gap: 3px; }
.filter-bar .fb-mo { width: 22px; height: 22px; padding: 0; font-size: 11px; font-weight: 700; border-radius: 5px;
  border: 1px solid var(--border); background: var(--surface-2); color: var(--text-muted); cursor: pointer; }
.filter-bar .fb-mo:hover { border-color: var(--accent); color: var(--text-primary); }
.filter-bar .fb-mo.on { background: var(--accent); border-color: var(--accent); color: #fff; }
@media (max-width: 720px) { .filter-bar { gap: 5px 10px; padding: 6px 10px; } .filter-bar .fb-lbl { display: none; } }
.ciro-strip { grid-area: cirostrip; display: flex; align-items: center; gap: 0; padding: 0 16px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 10%, var(--surface-1)), var(--surface-1));
  border-bottom: 1px solid var(--border); overflow-x: auto; min-height: 42px; }
.ciro-strip .cs-lbl { font-size: 10.5px; font-weight: 800; letter-spacing: 1px; color: var(--accent); margin-right: 14px; flex: none; }
.ciro-strip .cs-item { display: flex; align-items: baseline; gap: 7px; padding: 6px 18px; border-left: 1px solid var(--border); flex: none; }
.ciro-strip .cs-item:first-of-type { border-left: none; }
.ciro-strip .cs-k { font-size: 11px; color: var(--text-muted); }
.ciro-strip .cs-v { font-size: 15px; font-weight: 700; letter-spacing: -.3px; font-variant-numeric: tabular-nums; }
@media (max-width: 560px) { .ciro-strip .cs-item { padding: 5px 12px; } .ciro-strip .cs-v { font-size: 13.5px; } .ciro-strip .cs-lbl { display:none; } }

/* Genel Bakış kartı içindeki Doğal Dil Sorgu bileşeni + mobil taşma koruması */
.ov-card-widget { cursor:default; }
.ov-card-widget:hover { transform:none; box-shadow:var(--shadow); border-color:var(--border); }
.ov-card .card-head .ov-go.ov-go-btn { opacity:1; background:none; border:none; padding:0; cursor:pointer;
  font:inherit; font-size:12px; font-weight:600; color:var(--accent); }
.ov-card .nlq-widget { margin-top:10px; }
.nlq-widget, .nlq-results, .nlq-results .card, .nlq-results .tbl-wrap { min-width:0; max-width:100%; }
.nlq-widget .nlq-results .card { margin:0; }
@media (max-width: 720px) {
  .nlq-bar { flex-wrap:wrap; }
  .nlq-input { flex:1 1 100%; }
  .nlq-mic { flex:0 0 44px; }
  .nlq-ask { flex:1 1 auto; }
  .nlq-chip { max-width:100%; white-space:normal; text-align:left; }
  .nlq-results .chart { height:220px !important; }
}

/* AI Yorum bileşeni (Gelir Tablosu vb.) */
.yorum-list { margin:10px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:6px; }
.yorum-list li { font-size:13.5px; line-height:1.5; color:var(--text-secondary); }
@media (max-width: 720px) {
  .yorum-list { padding-left:16px; }
  .yorum-list li { font-size:13px; }
}

/* Senaryo Planlama — kaydırıcılar + hazır senaryo butonları */
.senaryo-ozet { display:flex; gap:18px; flex-wrap:wrap; padding:8px 10px; margin-bottom:14px;
  background:var(--surface-2,transparent); border:1px solid var(--border); border-radius:var(--radius-sm); font-size:13px; }
.senaryo-ozet-item { display:flex; align-items:baseline; gap:4px; white-space:nowrap; }
.senaryo-ozet-label { color:var(--text-secondary); }
.senaryo-presets { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.senaryo-vars { display:flex; flex-direction:column; gap:14px; }
.senaryo-var { min-width:0; max-width:520px; }
.senaryo-var-label { font-size:12.5px; color:var(--text-secondary); margin-bottom:6px; }
.senaryo-var-cur { color:var(--text-primary); font-weight:600; }
.senaryo-var-ctrl { display:flex; align-items:center; gap:10px; min-width:0; }
.senaryo-range { flex:1 1 auto; min-width:0; width:auto; }
.senaryo-num { width:64px; flex:0 0 64px; background:var(--surface-2,transparent); color:inherit;
  border:1px solid var(--border); border-radius:6px; padding:3px 6px; font:inherit; font-size:12.5px; }
.senaryo-var-birim { flex:0 0 auto; font-size:12px; color:var(--text-muted); width:34px; }
.senaryo-var-hint { font-size:11.5px; color:var(--warn); margin-top:4px; }
.senaryo-var-etki { font-size:12px; margin-top:4px; }
.senaryo-ozet .kpi-delta.up, .senaryo-var-etki.kpi-delta.up { color:var(--up); }
.senaryo-ozet .kpi-delta.down, .senaryo-var-etki.kpi-delta.down { color:var(--down); }
@media (max-width: 375px) {
  .senaryo-ozet { flex-direction:column; gap:6px; }
  .senaryo-var-ctrl { flex-wrap:wrap; }
  .senaryo-range { flex:1 1 100%; }
}

/* Tıklanabilir tablo satırı seçimi (Abone: paket × sıklık) */
table.data tbody tr.secili td { background: color-mix(in srgb, var(--accent) 12%, transparent); font-weight: 600; }

/* ---- Koli Seçim Simülasyonu ---- */
.koli-rozetler { display:flex; flex-wrap:wrap; gap:10px; }
.koli-rozet { flex:1 1 150px; min-width:140px; padding:10px 12px; border-radius:var(--radius-sm);
  border:1px solid var(--border); background:var(--surface-2,transparent); border-left-width:4px; }
.koli-rozet.good { border-left-color:var(--good); }
.koli-rozet.warn { border-left-color:var(--warn); }
.koli-rozet.bad  { border-left-color:var(--bad); }
.koli-rozet-e { font-size:11.5px; color:var(--text-muted); text-transform:uppercase; letter-spacing:.03em; }
.koli-rozet-d { font-size:21px; font-weight:700; line-height:1.25; margin-top:2px; }
.koli-rozet.good .koli-rozet-d { color:var(--good); }
.koli-rozet.warn .koli-rozet-d { color:var(--warn); }
.koli-rozet.bad  .koli-rozet-d { color:var(--bad); }
.koli-rozet-a { font-size:11.5px; color:var(--text-muted); margin-top:2px; }

.koli-uyari { font-size:12.5px; padding:7px 10px; margin-bottom:6px; border-radius:6px;
  border:1px solid var(--border); border-left-width:3px; }
.koli-uyari.kirmizi { border-left-color:var(--bad); color:var(--bad);
  background:color-mix(in srgb,var(--bad) 8%,transparent); }
.koli-uyari.sari { border-left-color:var(--warn); color:var(--warn);
  background:color-mix(in srgb,var(--warn) 8%,transparent); }
.koli-uyari.bilgi { border-left-color:var(--border-strong); color:var(--text-secondary); }

/* Koli Emniyet Stoğu — senaryo parametre alanları (24.09.2026) */
.koli-alan { flex:1 1 150px; min-width:140px; display:flex; flex-direction:column; gap:4px;
  font-size:12px; color:var(--text-secondary); }
.th-alt { font-weight:400; font-size:11px; color:var(--text-muted); margin-top:2px;
  white-space:normal; max-width:190px; }
.koli-alan .sub { font-size:11px; color:var(--text-muted); line-height:1.3; }
.koli-alan input, .koli-alan select { font:inherit; font-size:15px; font-weight:600; padding:6px 8px;
  border:1px solid var(--border-strong); border-radius:var(--radius-sm);
  background:var(--surface-1); color:var(--text-primary); }

.koli-fiyat { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.koli-fiyat-inp { width:130px; font:inherit; font-size:19px; font-weight:700; padding:6px 10px;
  border:1px solid var(--border-strong); border-radius:var(--radius-sm);
  background:var(--surface-1); color:inherit; }
.koli-fiyat .btn { padding:6px 12px; font-size:12.5px; }
.koli-fiyat .btn.aktif { border-color:var(--accent); color:var(--accent); font-weight:600; }

.koli-oneri { font-size:12.5px; padding:7px 10px; margin-bottom:6px; border-radius:6px;
  border:1px solid var(--border); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.koli-oneri .btn { padding:4px 10px; font-size:12px; margin-left:auto; }

.koli-ara { width:100%; max-width:420px; font:inherit; font-size:13px; padding:7px 10px; margin-bottom:10px;
  border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface-1); color:inherit; }
.koli-havuz { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:6px;
  max-height:340px; overflow-y:auto; }
.koli-urun { display:flex; align-items:stretch; gap:0; border:1px solid var(--border);
  border-radius:var(--radius-sm); overflow:hidden; }
.koli-urun-ad { flex:1 1 auto; display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  padding:7px 10px; background:transparent; border:0; color:inherit; font:inherit; font-size:12.5px;
  text-align:left; cursor:pointer; }
.koli-urun-ad:hover { background:color-mix(in srgb,var(--accent) 10%,transparent); }
.koli-urun-alt { font-size:11.5px; color:var(--text-muted); }
.koli-urun-hediye { flex:0 0 36px; border:0; border-left:1px solid var(--border); background:transparent;
  cursor:pointer; font-size:14px; }
.koli-urun-hediye:hover { background:color-mix(in srgb,var(--warn) 18%,transparent); }
@media (max-width: 860px) {
  .koli-rozet { flex:1 1 100%; }
  .koli-havuz { grid-template-columns:1fr; max-height:none; }
}

/* Teklif Hazırlama modülü (15.09.2026) */
.tk-form{display:flex;flex-direction:column;gap:12px}
.tk-l{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted,#6b7280);font-weight:600}
.tk-satir{display:flex;gap:12px}
.tk-l3{flex:1}
.tk-inp{padding:9px 11px;border:1px solid var(--line,#e2e6ea);border-radius:8px;font-size:14px;background:var(--card,#fff);color:var(--ink,#1f2328);width:100%}
.tk-sel{cursor:pointer}
.tk-num{max-width:100%}
.tk-inp:focus{outline:none;border-color:#f26522;box-shadow:0 0 0 3px rgba(242,101,34,.12)}
.tk-tablo{width:100%;border-collapse:collapse;font-size:13px}
.tk-tablo th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted,#9ca3af);padding:8px 10px;border-bottom:1px solid var(--line,#eceff2)}
.tk-tablo th.sag,.tk-tablo td.sag{text-align:right}
.tk-tablo td{padding:9px 10px;border-bottom:1px solid var(--line,#f0f2f4)}
.tk-kaynak{display:block;color:var(--muted,#9ca3af);font-size:11px;margin-top:2px;font-weight:400}
.tk-top td{font-weight:700;background:var(--soft,#fafbfc);border-top:2px solid #f26522}
.tk-sil{width:34px}
.tk-x{border:none;background:none;color:#c0392b;font-size:18px;cursor:pointer;line-height:1;padding:0 4px}
.tk-x:hover{color:#e74c3c}
.tk-iyi{color:#1a7f4b;font-weight:700}
.tk-dusuk{color:#c0392b;font-weight:700}
.tk-rozetler{display:flex;flex-direction:column;gap:10px}
.tk-rozet{border:1px solid var(--line,#eceff2);border-left:3px solid #cbd2d9;border-radius:8px;padding:10px 14px}
.tk-rozet.iyi{border-left-color:#1a7f4b;background:rgba(26,127,75,.05)}
.tk-rozet.orta{border-left-color:#e0a100;background:rgba(224,161,0,.05)}
.tk-rozet.dusuk{border-left-color:#c0392b;background:rgba(192,57,43,.05)}
.tk-rozet-e{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted,#9ca3af)}
.tk-rozet-d{font-size:22px;font-weight:800;color:var(--ink,#1f2328);margin:2px 0}
.tk-rozet-a{font-size:11.5px;color:var(--muted,#6b7280)}
.tk-ozet{width:100%;border:1px solid var(--line,#e2e6ea);border-radius:8px;padding:11px;font-family:inherit;font-size:13px;color:var(--ink,#1f2328);background:var(--soft,#fafbfc);resize:vertical}
.tk-btnbar{display:flex;gap:10px;margin-top:10px}
.tk-btn{padding:8px 16px;border:none;border-radius:8px;background:#f26522;color:#fff;font-weight:600;font-size:13px;cursor:pointer}
.tk-btn:hover{background:#d9541a}
.tk-btn2{background:var(--soft,#eef1f3);color:var(--ink,#4b5563)}
.tk-btn2:hover{background:#e2e6ea}
.tk-not{font-size:12px;color:var(--muted,#6b7280);padding:4px 0;line-height:1.5}
/* Teklif — nakliye bloğu */
.tk-nakliye{border:1px dashed var(--line,#d6dbe0);border-radius:8px;padding:12px;background:var(--soft,#fafbfc);margin-top:4px}
.tk-nak-bas{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#b4531b;font-weight:700;margin-bottom:8px}
.tk-chk-l{flex-direction:row;align-items:center;gap:8px;justify-content:flex-start}
.tk-chk{width:16px;height:16px;accent-color:#f26522;cursor:pointer}
.tk-chk-l span{font-weight:600;color:var(--ink,#4b5563)}
.tk-nak-ozet{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
/* Koli — stok eritme rozeti (15.09.2026) */
.koli-eritme-roz{display:inline-block;margin-left:8px;font-size:10.5px;font-weight:700;color:#b4531b;background:#fff1e8;border:1px solid #f6c9ab;border-radius:10px;padding:1px 8px;vertical-align:middle}
.koli-urun-eritme{background:linear-gradient(90deg,rgba(242,101,34,.06),transparent)}
.koli-urun-eritme .koli-urun-ad>span:first-child{font-weight:700}

/* Kurumsal İndirim (17.09.2026) */
.ki-kart{min-width:0}
.ki-kaydir{overflow-x:auto}
.ki-tablo td{vertical-align:top}
.ki-tablo th .tk-kaynak{text-transform:none;letter-spacing:0}
.ki-kat td{background:var(--soft,#fafbfc);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:#b4531b;padding-top:14px}
.ki-fiyat{font-weight:700;white-space:nowrap}
.ki-fark{background:rgba(224,161,0,.08)}
.ki-rozet{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap}
.ki-yuksek{background:rgba(192,57,43,.12);color:#c0392b}
.ki-orta{background:rgba(224,161,0,.16);color:#9a6b00}
.ki-dusuk{background:rgba(107,114,128,.12);color:#6b7280}
@media (max-width:860px){.ki-kontrol .tk-satir{flex-wrap:wrap}.ki-kontrol .tk-l3{flex:1 1 45%}.ki-tablo{min-width:720px}}

/* Koli ürün seçimi — aşağı açılır liste + gram/adet girişi (18.09.2026) */
.koli-sec-satir { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.koli-sec { flex:1 1 320px; min-width:220px; max-width:520px; font:inherit; font-size:13px;
  padding:7px 10px; border:1px solid var(--border); border-radius:8px; background:var(--card); color:var(--text); }
.koli-miktar-inp { width:110px; font:inherit; font-size:13px; padding:7px 10px;
  border:1px solid var(--border); border-radius:8px; background:var(--card); color:var(--text); text-align:right; }
.koli-birim { font-size:12.5px; color:var(--text-muted); min-width:32px; }
.koli-birim-cev { cursor:pointer; text-decoration:underline dotted; }
.koli-sec-bilgi { display:flex; flex-wrap:wrap; gap:14px; margin-top:10px; font-size:11.5px; color:var(--text-muted); }
@media (max-width:640px){ .koli-sec-satir{gap:6px} .koli-sec{flex:1 1 100%} }
/* Teklif — ürün seçimi yanındaki reçete/stok bilgisi (18.09.2026) */
.tk-bilgi { font-size:11.5px; color:var(--text-muted); align-self:end; padding-bottom:9px; }

/* Kurumsal fiyat listesi — ürün aktif/pasif anahtarı (18.09.2026) */
.ki-tablo td.orta, .ki-tablo th.orta { text-align:center; }
.ki-anahtar { width:38px; height:21px; padding:0; border:1px solid var(--border); border-radius:999px;
  background:color-mix(in srgb,var(--bad) 55%,transparent); cursor:pointer; position:relative;
  transition:background .15s ease; vertical-align:middle; }
.ki-anahtar.on { background:color-mix(in srgb,var(--good) 65%,transparent); }
.ki-anahtar-top { position:absolute; top:2px; left:2px; width:15px; height:15px; border-radius:50%;
  background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.25); transition:left .15s ease; }
.ki-anahtar.on .ki-anahtar-top { left:19px; }
.ki-pasif td { opacity:.45; }
.ki-pasif td:first-child { text-decoration:line-through; }

/* Sabit başlık + sütun süzgeci (23.09.2026) — uzun stok tablosunda başlık kaybolunca
   hangi sütuna bakıldığı anlaşılmıyordu. Yalnız opts.sabitBaslik verilen tablolarda. */
.tbl-sabit { max-height: 70vh; overflow: auto; }
.tbl-sabit thead th { position: sticky; z-index: 3; background: var(--surface, #fff); }
.tbl-sabit thead tr:first-child th { top: 0; box-shadow: inset 0 -1px 0 var(--border, #e6e4ec); }
/* Süzgeç satırı başlığın hemen altına yapışır; başlık yüksekliği ~34px ölçüldü. */
.tbl-sabit thead tr.tbl-suzgec th { top: 34px; padding: 4px 6px; }
.tbl-sabit tfoot td { position: sticky; bottom: 0; background: var(--surface, #fff); z-index: 2;
  box-shadow: inset 0 1px 0 var(--border, #e6e4ec); }
input.tbl-suz { width: 100%; min-width: 60px; box-sizing: border-box; font: inherit; font-size: 12px;
  font-weight: 400; padding: 3px 6px; border: 1px solid var(--border, #e6e4ec); border-radius: 6px;
  background: var(--bg, #f7f7fa); color: inherit; }
input.tbl-suz:focus { outline: none; border-color: var(--accent, #2a78d6); }

/* Ürün detay penceresi (23.09.2026) — stok kartına tıklayınca üstte açılır.
   Izgaranın içinde değil body'de durur; aksi halde kart sınırına kırpılıyordu. */
.fp-modal-kat { display: none; }
.fp-modal-perde { position: fixed; inset: 0; z-index: 1000; background: rgba(15,18,26,.55);
  display: flex; align-items: flex-start; justify-content: center; padding: 4vh 16px;
  overflow: auto; backdrop-filter: blur(2px); }
.fp-modal { width: min(1100px, 100%); display: grid; grid-template-columns: repeat(12, 1fr);
  gap: 12px; align-content: start; }
.fp-modal .card { grid-column: span 12; }
.fp-modal .card.col-6 { grid-column: span 6; }
@media (max-width: 900px) { .fp-modal .card.col-6 { grid-column: span 12; } }

/* Tıklanabilir KPI kartı (23.09.2026) — stok sayfasında sayının arkasını açar. */
.kpi-tikla { transition: box-shadow .12s, transform .12s; }
.kpi-tikla:hover { box-shadow: 0 2px 10px rgba(20,24,35,.10); transform: translateY(-1px); }
.kpi-tikla::after { content: '↗'; position: absolute; top: 8px; right: 10px;
  font-size: 12px; color: var(--text-muted, #8b8f9c); opacity: .5; }
.kpi-tikla { position: relative; }

/* Hava Riski / Operasyon Stoğu — 7 günlük tahmin şeridi + kapsam çubuğu (26.09.2026) */
.hv-durum { display:flex; gap:14px; align-items:center; padding:12px 14px; margin-bottom:14px;
  border:1px solid var(--border); border-radius:var(--radius); background:var(--surface-2); }
.hv-durum.bad  { border-color:var(--bad);  background:color-mix(in srgb, var(--bad) 9%, transparent); }
.hv-durum.warn { border-color:var(--warn); background:color-mix(in srgb, var(--warn) 9%, transparent); }
.hv-durum.good { border-color:var(--good); background:color-mix(in srgb, var(--good) 9%, transparent); }
.hv-durum-ik { font-size:32px; line-height:1; }
.hv-durum-b { font-size:16px; font-weight:700; color:var(--text-primary); }
.hv-durum-a { font-size:12.5px; color:var(--text-secondary); margin-top:3px; line-height:1.45; }

/* Üst blok: solda "şu an" ölçümü, sağda risk durumu + 7 günlük şerit */
.hv-ust { display:flex; gap:14px; align-items:stretch; }
.hv-ust-sag { flex:1; min-width:0; }
.hv-suan { flex:0 0 232px; display:flex; flex-direction:column; gap:10px; padding:12px 14px;
  border:1px solid var(--border); border-radius:var(--radius); background:var(--surface-2); }
.hv-suan-ust { display:flex; align-items:center; gap:10px; }
.hv-suan-ik { font-size:36px; line-height:1; }
.hv-suan-sic { font-size:26px; font-weight:800; color:var(--text-primary); line-height:1.1; }
.hv-suan-ad { font-size:12px; color:var(--text-secondary); }
.hv-olculer { display:flex; flex-direction:column; gap:4px; }
.hv-olcu { display:flex; justify-content:space-between; gap:8px; font-size:12px;
  padding:3px 0; border-bottom:1px dashed var(--border); }
.hv-olcu:last-child { border-bottom:0; }
.hv-olcu-e { color:var(--text-muted); }
.hv-olcu-d { font-weight:700; color:var(--text-primary); font-variant-numeric:tabular-nums; }
.hv-suan-saat { font-size:10.5px; color:var(--text-muted); }

.hv-strip { display:grid; grid-template-columns:repeat(7, 1fr); gap:8px; }
.hv-gun { position:relative; text-align:center; padding:10px 4px 8px; background:var(--surface-2);
  border:1px solid var(--border); border-radius:var(--radius); }
.hv-gun.riskli { border-color:var(--bad); background:color-mix(in srgb, var(--bad) 10%, transparent); }
.hv-gun.hv-bugun { outline:2px solid var(--accent); outline-offset:1px; }
.hv-gun-ad { font-size:10.5px; letter-spacing:.4px; text-transform:uppercase; color:var(--text-muted); font-weight:600; }
.hv-gun-ik { font-size:22px; line-height:1.5; }
.hv-gun-ol { font-size:17px; font-weight:800; color:var(--text-primary); }
.hv-gun.riskli .hv-gun-ol { color:var(--bad); }
.hv-gun-mm { font-size:10.5px; color:var(--text-secondary); }
.hv-gun-sic { margin-top:5px; padding-top:5px; border-top:1px solid var(--border);
  font-size:12px; font-weight:700; color:var(--text-primary); font-variant-numeric:tabular-nums; }
.hv-gun-sic span { font-weight:500; color:var(--text-muted); }
.hv-gun-rz { font-size:10.5px; color:var(--text-secondary); }
/* Pencere = hasatı durdurabilecek üst üste günler: dolu kırmızı (tek riskli günden ayrılsın).
   🔴 Bu blok .hv-gun.riskli kurallarından SONRA gelmeli — aynı özgüllükte, sonra gelen kazanır. */
.hv-gun.pencere { background:var(--bad); border-color:var(--bad); }
.hv-gun.pencere .hv-gun-ol { color:#fff; }
.hv-gun.pencere .hv-gun-ad, .hv-gun.pencere .hv-gun-mm { color:rgba(255,255,255,.88); }
.hv-gun.pencere .hv-gun-sic { border-top-color:rgba(255,255,255,.35); color:#fff; }
.hv-gun.pencere .hv-gun-sic span, .hv-gun.pencere .hv-gun-rz { color:rgba(255,255,255,.88); }

.hv-detay summary { cursor:pointer; font-size:13px; font-weight:600; color:var(--text-primary); padding:4px 0; }
.hv-liste { margin:8px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:7px;
  font-size:12.5px; line-height:1.55; color:var(--text-secondary); }
.hv-liste b { color:var(--text-primary); }

.hv-aciklama { display:flex; flex-wrap:wrap; gap:14px; margin-top:10px; font-size:11.5px; color:var(--text-muted); }
.hv-aciklama i { display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:5px; vertical-align:-1px; }
.hv-nokta.riskli { background:color-mix(in srgb, var(--bad) 35%, transparent); border:1px solid var(--bad); }
.hv-nokta.pencere { background:var(--bad); }

/* Kapsam çubuğu: eldeki stok kaç günlük, hedef çizgisi nerede */
.hv-bar-wrap { display:flex; align-items:center; gap:8px; min-width:120px; }
.hv-bar { position:relative; flex:1; height:14px; border-radius:7px; background:var(--surface-3); overflow:hidden; }
.hv-bar > i { position:absolute; left:0; top:0; bottom:0; border-radius:7px; }
.hv-bar-hedef { position:absolute; top:0; bottom:0; width:2px; background:var(--text-primary); opacity:.5; }
.hv-bar-txt { font-size:11px; font-weight:700; min-width:46px; text-align:right; font-variant-numeric:tabular-nums; }
.hv-eksik { color:var(--bad); font-weight:700; }
.hv-tamam { color:var(--good); font-weight:600; }

@media (max-width: 980px) { .hv-ust { flex-direction:column; } .hv-suan { flex:1 1 auto; } }
@media (max-width: 820px) { .hv-strip { grid-template-columns:repeat(4, 1fr); } }
.hv-soluk { color:var(--text-muted); font-style:italic; }

/* ---- Fatura Görüntüleyici (26.09.2026) ---- */
.kf-arac { display:flex; flex-direction:column; gap:10px; }
.kf-sira { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.kf-etiket { font-size:11px; font-weight:700; color:var(--text-muted); text-transform:uppercase; letter-spacing:.04em; min-width:52px; }
.kf-chip { padding:6px 12px; border-radius:999px; border:1px solid var(--border-strong); background:var(--surface-1);
  color:var(--text-secondary); font-size:12.5px; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.kf-chip.on { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
.kf-tarih, .kf-ara { padding:6px 8px; border:1px solid var(--border-strong); border-radius:var(--radius-sm);
  background:var(--surface-1); color:var(--text-primary); font-size:12.5px; }
.kf-ara { flex:1 1 220px; min-width:0; }
.kf-dugmeler .btn { padding:6px 12px; font-size:12.5px; }
.kf-not { font-size:11.5px; color:var(--text-muted); margin-top:4px; }
.kf-rozet { font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; white-space:nowrap; }
.kf-ok { color:var(--good); background:color-mix(in srgb,var(--good) 12%,transparent); }
.kf-sari { color:var(--warn); background:color-mix(in srgb,var(--warn) 12%,transparent); }
.kf-kirmizi { color:var(--bad); background:color-mix(in srgb,var(--bad) 12%,transparent); }
.kf-fatura { display:flex; flex-direction:column; gap:14px; }
.kf-f-ust { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.kf-f-ust > div { border:1px solid var(--border); border-radius:var(--radius-sm); padding:10px 12px; }
.kf-f-bas { font-size:10.5px; font-weight:700; color:var(--text-muted); letter-spacing:.06em; }
.kf-f-ad { font-weight:700; font-size:14px; margin-top:2px; }
.kf-f-alt { font-size:11.5px; color:var(--text-muted); }
.kf-f-bilgi { display:flex; flex-wrap:wrap; gap:8px 22px; }
.kf-kv { display:flex; flex-direction:column; gap:2px; font-size:13px; }
.kf-kv > span { font-size:11px; color:var(--text-muted); }
.kf-f-toplam { margin-left:auto; width:min(340px,100%); display:flex; flex-direction:column; gap:4px; }
.kf-f-toplam .kf-kv { flex-direction:row; justify-content:space-between; }
.kf-f-toplam .kf-genel { border-top:2px solid var(--text-primary); padding-top:6px; font-size:15px; }
.fa-cari { position:relative; flex:1 1 320px; display:flex; min-width:0; }
.fa-cari .kf-ara { flex:1 1 auto; }
.fa-x { border:none; background:transparent; color:inherit; font-weight:700; padding:0 0 0 4px; cursor:pointer; }
.fa-acilir { display:none; position:absolute; top:100%; left:0; right:0; z-index:50; margin-top:4px; max-height:320px; overflow:auto;
  background:var(--surface-1); border:1px solid var(--border-strong); border-radius:var(--radius-sm); box-shadow:0 8px 24px rgba(0,0,0,.18); }
.fa-acilir-sat { display:flex; flex-direction:column; align-items:flex-start; gap:1px; width:100%; text-align:left; padding:7px 10px;
  border:none; border-bottom:1px solid var(--border); background:transparent; color:var(--text-primary); font-size:12.5px; cursor:pointer; }
.fa-acilir-sat:hover { background:var(--surface-3); }
.fa-acilir-sat span { font-size:11px; color:var(--text-muted); }
.fa-acilir-bos { padding:8px 10px; font-size:12px; color:var(--text-muted); }
.fa-dugmeler { margin-left:auto; display:flex; gap:6px; flex-wrap:wrap; }
.fa-dugmeler .btn { padding:6px 12px; font-size:12.5px; }
.fa-asli { width:100%; min-height:600px; border:1px solid var(--border); border-radius:var(--radius-sm); background:#fff; }
@media (max-width:640px) { .kf-f-ust { grid-template-columns:1fr; } .fa-dugmeler { margin-left:0; } }

/* Kaydırmasız tablo (koli sayfası): kart genişliğine sığar, hücreler sola yaslı, başlık sarılır. */
table.data.sigdir { table-layout:auto; }
table.data.sigdir th, table.data.sigdir td { text-align:left; white-space:normal; padding:7px 8px; }
table.data.sigdir th:first-child, table.data.sigdir td:first-child { position:static; }
table.data.sigdir td.num { white-space:nowrap; }
.tbl-wrap:has(> table.sigdir) { overflow-x:hidden; }

/* PB Pano: ciro/yıl/seçim çubukları Pano'yu etkilemiyor — gizlenir, çerçeve boşalan yeri doldurur. */
.app[data-sayfa="pano"] :is(.ciro-strip, .filter-bar, .selbar, .filter-fab) { display:none; }
.app[data-sayfa="gorev"] :is(.filter-bar, .selbar, .filter-fab) { display:none; }   /* görevde yıl/ay süzgeci anlamsız */

/* ---------- Görevler (01.10.2026, public/js/gorev.js) ---------- */
.card.gv { padding:14px; gap:12px; }
/* Yerleşim: geniş ekranda görevler 8/12 + yan panel 4/12; altında alt alta */
.card.gv-ana { align-self:start; }
.gv-yan { grid-column:span 12; display:flex; flex-direction:column; gap:14px; min-width:0; align-self:start; }
@media (min-width: 1200px) { .card.gv-ana { grid-column:span 8; } .gv-yan { grid-column:span 4; } }
.gv-panel-bas { overflow:hidden; display:flex; align-items:center; gap:8px; width:100%; background:none; border:none; padding:0; text-align:left;
  font-size:14px; font-weight:600; color:var(--text-primary); cursor:pointer; }
.gv-panel-bas .gv-ok { margin-left:auto; color:var(--text-muted); transition:transform .15s; }
.gv-panel.kapali .gv-ok { transform:rotate(-90deg); }
.gv-panel.kapali .gv-panel-govde { display:none; }
.gv-panel-govde { display:flex; flex-direction:column; gap:10px; min-width:0; }
.gv-panel-liste { max-height:min(60vh, 560px); overflow-y:auto; }
.gv-dep summary { cursor:pointer; font-size:13px; padding:2px 0; }
/* Görev yapılandırma (02.10.2026): süzgeç, pano, takvim, ilerleme, kontrol listesi, rapor */
.gv [hidden] { display:none !important; }
/* Bildirim kutusu (bildirimkutu.js, 03.10.2026) */
.tb-zil { position:relative; }
.tb-rozet { position:absolute; top:1px; right:1px; min-width:17px; height:17px; padding:0 4px; border-radius:9px; background:var(--bad);
  color:#fff; font-size:10.5px; font-weight:700; line-height:17px; text-align:center; }
.tb-rozet[hidden] { display:none; }
.bk-panel { position:fixed; top:56px; right:8px; z-index:60; width:min(380px, calc(100vw - 16px)); max-height:min(70vh, 560px);
  display:flex; flex-direction:column; background:var(--surface-1); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-lg); overflow:hidden; }
.bk-bas { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 12px; border-bottom:1px solid var(--border); }
.bk-link { background:none; border:none; color:var(--accent); font-size:12.5px; cursor:pointer; padding:4px; }
.bk-cihaz { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px; font-size:12.5px;
  color:var(--text-secondary); border-bottom:1px solid var(--border); }
.bk-cihaz.kapali { background:color-mix(in srgb, var(--warn) 14%, transparent); color:var(--text-primary); }
.bk-liste { overflow-y:auto; }
.bk-liste { padding:8px; display:flex; flex-direction:column; gap:8px; }
/* 20.10: her bildirim çerçeveli kart; sol şerit düzeyi gösterir (kırmızı acil · sarı takip · mavi diğer) */
.bk-oge { display:block; width:100%; text-align:left; background:var(--surface-2, var(--surface-1)); border:1px solid var(--border);
  border-left:4px solid var(--accent); border-radius:10px; padding:10px 12px; cursor:pointer; color:var(--text-primary); }
.bk-oge.kirmizi { border-left-color:var(--danger, #d64545); }
.bk-oge.sari { border-left-color:var(--warn, #e0a100); }
.bk-ol { margin:4px 0 2px; padding-left:20px; white-space:normal; }
.bk-ol li { margin:2px 0; padding-left:2px; }
.bk-ol li::marker { color:var(--text-muted); font-weight:600; font-variant-numeric:tabular-nums; }
.bk-satir + .bk-satir { margin-top:2px; }
.bk-govde b { color:var(--text-primary); font-weight:600; }
.bk-oge:hover { background:var(--surface-3); box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.08)); }
.bk-oge.yeni { background:color-mix(in srgb, var(--accent) 7%, var(--surface-2, var(--surface-1))); }
.bk-baslik { font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.bk-oge:not(.yeni) .bk-baslik { font-weight:500; color:var(--text-secondary); }
.bk-govde { font-size:12.5px; color:var(--text-secondary); margin-top:2px; overflow-wrap:anywhere; white-space:pre-line; }
/* 17.10 bildirim içi küçük tablo (bildirimkutu.js) — ilk sütun sola, diğerleri sağa; dar ekranda kaymaz */
.bk-tablo { display:grid; gap:1px 10px; margin-top:6px; font-size:12px; font-variant-numeric:tabular-nums; color:var(--text-primary); }
.bk-tablo > span { overflow-wrap:anywhere; text-align:right; padding:1px 0; border-bottom:1px solid var(--grid); }
.bk-tablo > span.bk-th { color:var(--text-muted); font-size:11px; font-weight:600; }
.bk-tablo > span.bk-ilk { text-align:left; }
.bk-zaman { font-size:11px; color:var(--text-muted); margin-top:3px; }
.bk-bos { padding:24px 12px; text-align:center; color:var(--text-muted); font-size:13px; }   /* .gv-form label{display:flex} hidden özniteliğini eziyordu */
.gv-suzgec { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.gv-suzgec .input { width:auto; flex:1 1 150px; min-width:0; max-width:240px; }
.gv-suzgec input[type=search] { flex:2 1 220px; max-width:none; }
.gv-toast { position:fixed; left:16px; right:16px; bottom:24px; z-index:9999; max-width:480px; margin:0 auto; padding:12px 16px;
  border-radius:10px; background:#222; color:#fff; font-size:14px; box-shadow:0 4px 16px rgba(0,0,0,.3); }
.gv-toast.kotu { background:var(--bad); }
.gv-ilerleme { display:flex; align-items:center; gap:8px; }
.gv-cubuk { flex:1; height:6px; border-radius:3px; background:var(--surface-3); overflow:hidden; max-width:220px; }
.gv-cubuk span { display:block; height:100%; background:var(--good); }
.gv-pano { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; align-items:start; }
.gv-sutun { background:var(--surface-2); border:1px solid var(--border); border-radius:var(--radius); padding:8px; display:flex;
  flex-direction:column; gap:8px; min-height:140px; min-width:0; }
.gv-sutun.uzerinde { outline:2px dashed var(--accent); outline-offset:-2px; }
.gv-sutun-bas { font-weight:600; font-size:13px; color:var(--text-secondary); padding:2px 4px; }
.gv-bos { text-align:center; padding:12px 0; }
.gv-pkart { background:var(--surface-1); border:1px solid var(--border); border-radius:var(--radius-sm); padding:8px 10px; cursor:grab;
  display:flex; flex-direction:column; gap:6px; min-width:0; }
.gv-pkart.acil { border-left:3px solid var(--bad); }
.gv-pkart.surukle { opacity:.4; }
.gv-pkart .gv-baslik { font-size:13px; overflow-wrap:anywhere; }
.gv-pkart .btn.ince { align-self:flex-start; padding:4px 10px; }
.gv-ay { min-width:120px; text-align:center; }
.gv-takvim { display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:4px; }
.gv-gun-ad { font-size:11.5px; font-weight:600; color:var(--text-muted); text-align:center; padding:2px 0; }
.gv-gun { min-height:92px; border:1px solid var(--border); border-radius:var(--radius-sm); padding:4px; display:flex; flex-direction:column; gap:3px; min-width:0; }
.gv-gun.bos { border:none; }
.gv-gun.bugun { border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); }
.gv-gun-no { font-size:11.5px; color:var(--text-muted); }
.gv-cip { font-size:11px; text-align:left; border:none; border-radius:4px; padding:2px 5px; cursor:pointer; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; background:var(--surface-3); color:var(--text-primary); width:100%; }
.gv-cip.d-yeni { background:color-mix(in srgb, var(--accent) 22%, transparent); }
.gv-cip.d-calisiliyor { background:color-mix(in srgb, var(--accent) 12%, transparent); }
.gv-cip.d-cevap_bekleniyor { background:color-mix(in srgb, var(--warn) 30%, transparent); }
.gv-cip.d-tamamlandi, .gv-cip.d-onaylandi { background:color-mix(in srgb, var(--good) 22%, transparent); text-decoration:line-through; }
.gv-cip.gecikti { background:var(--bad); color:#fff; }
.gv-ajanda { display:flex; flex-direction:column; gap:10px; }
.gv-ajanda-gun { display:flex; flex-direction:column; gap:4px; }
.gv-ajanda-gun.bugun b { color:var(--accent); }
.gv-ajanda .gv-cip { font-size:13px; padding:8px 10px; white-space:normal; }
.gv-madde { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; }
.gv-madde.tamam > label { text-decoration:line-through; color:var(--text-muted); }
.gv-sil { border:none; background:none; color:var(--text-muted); font-size:18px; line-height:1; cursor:pointer; padding:0 6px; margin-left:auto; }
.gv-sil:hover { color:var(--bad); }
.gv-satir.ince { padding:6px 10px; }
.gv-ustlink { background:none; border:none; padding:0; text-align:left; color:var(--accent); font-size:13px; cursor:pointer; }
.gv-olay.sistem { color:var(--text-secondary); }
.gv-alt-satir { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.gv-alt-satir .input { flex:1 1 140px; min-width:0; width:auto; }
.gv-alt-satir .input:first-child { flex:2 1 200px; }
.gv-tablo th, .gv-tablo td { padding:6px 8px; font-size:12px; }
.gv-fark.iyi { color:var(--up); } .gv-fark.kotu { color:var(--down); }
.gv-kirmizi, .gv-kirmizi b { color:var(--bad); font-weight:700; }
.gv-ozet { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:6px; }
.gv-ozet > div { display:flex; flex-direction:column; align-items:center; padding:8px 4px; border:1px solid var(--border); border-radius:var(--radius-sm); }
.gv-ozet b { font-size:20px; } .gv-ozet span { font-size:11px; color:var(--text-muted); }
@media (max-width: 860px) {
  /* Pano telefonda yana kayan sütunlar (sürükleme yok — kart açılıp düğmeyle) */
  .gv-pano { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; }
  .gv-sutun { flex:0 0 82%; scroll-snap-align:start; }
  .gv-pkart { cursor:pointer; }
  .gv-suzgec .input { max-width:none; flex:1 1 100%; }
}
/* Kullanıcı yönetimi (kullanici.js) */
.gv-satir.soluk { opacity:.55; }
.gv-form .gv-satir-ici, .gv-satir-ici { display:flex; flex-direction:row; align-items:center; gap:8px; font-weight:400; color:var(--text-primary); font-size:13px; }
.gv-satir-ici .input { flex:1; min-width:0; }
.gv-kutu { display:flex; flex-direction:column; gap:8px; padding:10px 12px; border:1px solid var(--border); border-radius:var(--radius); }
.gv-kisi-liste.uzun { max-height:none; grid-template-columns:repeat(auto-fill, minmax(125px, 1fr)); }
.app[data-sayfa="admin"] :is(.filter-bar, .selbar, .filter-fab) { display:none; }
/* Boşluksuz uzun metin (bağlantı, dosya adı) kartın dışına taşmasın */
.gv-h, .gv-baslik, .gv-aciklama, .gv-mesaj, .gv-olay, .gv-dosya, .gv-meta, .gv-alt span { overflow-wrap:anywhere; }
.gv-ust { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.gv-ust .btn.primary { margin-left:auto; }
.gv-kucuk { font-size:12px; color:var(--text-muted); }
.gv-uyari { padding:9px 12px; border-radius:var(--radius-sm); font-size:12.5px;
  background:color-mix(in srgb, var(--warn) 14%, transparent); color:var(--text-primary); }
.gv-hata { padding:9px 12px; border-radius:var(--radius-sm); font-size:12.5px;
  background:color-mix(in srgb, var(--bad) 14%, transparent); color:var(--text-primary); }
.gv-liste { display:flex; flex-direction:column; gap:8px; }
.gv-satir { text-align:left; padding:11px 12px; border:1px solid var(--border); border-radius:var(--radius);
  background:var(--surface-1); color:var(--text-primary); cursor:pointer; display:flex; flex-direction:column; gap:6px; }
.gv-satir:hover { background:var(--surface-3); }
.gv-baslik { font-weight:600; font-size:14px; }
.gv-alt { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; font-size:12px; color:var(--text-secondary); }
.gv-rozet { padding:2px 8px; border-radius:10px; font-size:11px; font-weight:600; background:var(--surface-3); color:var(--text-secondary); }
.gv-rozet.acil, .gv-rozet.gecikti { background:var(--bad); color:#fff; }
.gv-rozet.d-yeni { background:var(--accent); color:#fff; }
.gv-rozet.d-calisiliyor { background:color-mix(in srgb, var(--accent) 18%, transparent); color:var(--text-primary); }
.gv-rozet.d-cevap_bekleniyor { background:var(--warn); color:#1c2733; }
.gv-rozet.d-tamamlandi { background:color-mix(in srgb, var(--good) 22%, transparent); color:var(--text-primary); }
.gv-rozet.d-onaylandi { background:var(--good); color:#fff; }
.gv-h { margin:0; font-size:18px; line-height:1.3; color:var(--text-primary); }
.gv-meta { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:4px 16px; font-size:12.5px; color:var(--text-secondary); }
.gv-aciklama { white-space:pre-wrap; font-size:13.5px; padding:10px 12px; background:var(--surface-2); border-radius:var(--radius-sm); color:var(--text-primary); }
.gv-eylem { display:flex; flex-wrap:wrap; gap:8px; }
.gv-duzen summary { cursor:pointer; font-size:12.5px; color:var(--accent); }
.gv-form { display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.gv-form label { display:flex; flex-direction:column; gap:4px; font-size:12px; color:var(--text-secondary); font-weight:600; }
.gv-akis { display:flex; flex-direction:column; gap:8px; border-top:1px solid var(--border); padding-top:12px; }
.gv-olay { font-size:11.5px; color:var(--text-muted); text-align:center; }
.gv-mesaj { max-width:85%; align-self:flex-start; padding:8px 11px; border-radius:10px; background:var(--surface-3);
  white-space:pre-wrap; font-size:13.5px; color:var(--text-primary); }
.gv-mesaj.ben { align-self:flex-end; background:color-mix(in srgb, var(--accent) 16%, transparent); }
.gv-yaz { display:flex; flex-direction:column; gap:8px; }
.gv .btn.ince { padding:6px 12px; font-size:12.5px; }
.gv select.gv-kapsam { width:auto; flex:1 1 180px; max-width:320px; min-width:0; }   /* .input'un %100 genişliğini ezer */
.gv-rozet.kat { background:transparent; border:1px solid var(--border-strong); }
.gv-kisiler summary { cursor:pointer; font-size:12.5px; color:var(--text-secondary); font-weight:600; }
.gv-kisi-liste { display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:6px 12px; margin-top:8px;
  max-height:220px; overflow:auto; padding:8px; border:1px solid var(--border); border-radius:var(--radius-sm); }
.gv-form .gv-kisi-liste label { font-size:13px; font-weight:400; color:var(--text-primary); display:flex; flex-direction:row;
  align-items:center; gap:8px; min-height:32px; }   /* .gv-form label'ın alt alta düzenini ezer */
.gv select.input { min-height:40px; }
.gv-iki { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gv-dosyalar { display:flex; flex-direction:column; gap:8px; }
.gv-resimler { display:flex; flex-wrap:wrap; gap:8px; }
.gv-resimler img { width:96px; height:96px; object-fit:cover; border-radius:var(--radius-sm); border:1px solid var(--border); display:block; cursor:zoom-in; }
.gv-buyuk { position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.88); display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:10px; padding:16px; color:#fff; font-size:13px; cursor:zoom-out; }
.gv-buyuk img { max-width:100%; max-height:calc(100% - 40px); object-fit:contain; }
.gv-dosya { font-size:13px; color:var(--accent); text-decoration:none; word-break:break-all; }
.gv-olay.faaliyet { color:var(--text-secondary); font-style:italic; }
.gv-dep { padding:10px 12px; border:1px solid var(--border); border-radius:var(--radius); }
.gv-yaz .btn { align-self:flex-end; }
.gv-yaz-alt { display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; }
.gv-yaz .btn.kayit { background:#c62828; border-color:#c62828; color:#fff; }
.gv-ses { display:block; width:280px; max-width:100%; height:40px; margin-top:6px; }
.gv-ses-alan, .gv-ses-onizleme { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.gv-ses-onizleme .gv-ses { margin-top:0; }
.gv-ses-alan .btn.kayit { background:#c62828; border-color:#c62828; color:#fff; }
@media (max-width: 640px) {
  .card.gv { padding:12px; }
  .gv-ust .btn.primary { margin-left:0; width:100%; }
  .gv-iki { grid-template-columns:1fr; }
  .gv input.input, .gv select.input, .gv textarea.input { font-size:16px; }   /* iOS odaklanınca yakınlaştırmasın */
}

/* Görevler — sıkı yerleşim (02.10.2026): arama üst satırda, liste satırı geniş ekranda tek satır, yan panel sıkı */
.gv-ust .gv-kapsam { flex-basis:150px; }
.gv-ust .gv-ara { flex:1 1 120px; width:auto; min-width:0; }
.gv-ust .gv-ara + .btn.primary { margin-left:0; }
.gv-uyari-ince { display:flex; align-items:center; gap:8px; padding:6px 6px 6px 12px; }
.gv-uyari-ince > span { flex:1; min-width:0; }
.gv-liste { gap:6px; }
.gv-satir-ana { display:flex; flex-direction:column; gap:6px; min-width:0; }
.gv-satir-bas { min-width:0; }
.gv-satir-bas > .gv-kucuk { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }   /* ↳ ana görev adı tek satır */
@media (min-width: 861px) {
  .gv-lsatir { padding:8px 12px; gap:4px; }
  .gv-satir-ana { flex-direction:row; align-items:center; gap:6px 14px; }
  .gv-satir-bas { flex:1 1 0; min-width:45%; }
  .gv-satir-ana > .gv-alt { flex:0 1 auto; justify-content:flex-end; }
}
.gv-yan { gap:10px; }
.gv-panel.kapali { padding-top:11px; padding-bottom:11px; }
.gv-ozet > div { padding:6px 4px; }
.gv-ozet b { font-size:18px; }
.gv-yan .gv-tablo th, .gv-yan .gv-tablo td { padding:5px 5px; font-size:11.5px; }
.gv-yan .gv-tablo th:first-child, .gv-yan .gv-tablo td:first-child { position:static; white-space:normal; min-width:70px; }
/* AI Yorum etiketleri (02.10.2026) — ayrıntılı yorumda [Tespit]/[Neden]/[Risk]/[Öneri] */
.yorum-list li .yorum-etiket { display:inline-block; min-width:52px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; }
.yorum-list li.yorum-tespit .yorum-etiket { color:var(--accent); }
.yorum-list li.yorum-neden .yorum-etiket { color:var(--text-primary); }
.yorum-list li.yorum-risk .yorum-etiket { color:var(--bad); }
.yorum-list li.yorum-oneri .yorum-etiket { color:var(--good); }

/* Haftalık sayfası (03.10.2026): günlük ↔ haftalık tablo çiftleri eşit boy; tablo kendi içinde kayar, başlık + toplam sabit */
.card.hf-tablo .tbl-sabit { height: 440px; max-height: none; }
.card.hf-tablo table.data { font-size: 12.5px; }
.card.hf-tablo table.data td { white-space: nowrap; }
.card.hf-tablo table.data th { white-space: normal; line-height: 1.25; vertical-align: bottom; }   /* "2025 Sipariş" iki satıra iner, sütun daralır */
@media (max-width: 1200px) { .card.hf-tablo table.data td, .card.hf-tablo table.data th { font-size: 11.5px; padding-left: 5px; padding-right: 5px; } }
.card.hf-tablo .hf-art { color: var(--good, #15803d); } .card.hf-tablo .hf-azal { color: var(--bad, #c62828); }
.card.hf-tablo .hf-devam { font-size: 10px; color: var(--text-secondary); line-height: 1.1; }
.card.hf-genis table.data td, .card.hf-genis table.data th { padding-left: 6px; padding-right: 6px; }
/* 7 sütunlu (yüzdeli) çift: 1200 px altında yan yana sığmaz → alt alta tam genişlik */
.card.hf-tablo .hf-mobil-deg { display: none; }
@media (max-width: 860px) {
  .card.hf-genis .hf-mobil-deg { display: block; font-size: 10.5px; font-weight: 600; line-height: 1.2; }
  .card.hf-genis .hf-yuzde { display: none; }   /* yüzde sütunları: değişim rakamın altında (23.10: nth-child yerine sınıf) */
  .card.hf-dort .hf-onceki { display: none; }   /* yıl başına 4 sütun: telefonda yalnız bu yıl, değişim % altında */
  .card.hf-dort .hf-devam { white-space: normal; }
  .card.hf-tablo.hf-dort table.data td, .card.hf-tablo.hf-dort table.data th { font-size: 10px; padding-left: 2px; padding-right: 2px; }   /* 400 px kuralından sonra gelse de baskın */
  .card.hf-dort .hf-mobil-deg { font-size: 9.5px; }
}
@media (max-width: 1200px) { .card.col-6.hf-genis { grid-column: span 12; } }
@media (max-width: 860px) { .card.hf-tablo .tbl-sabit { height: auto; max-height: 52vh; } }
@media (max-width: 400px) { .card.hf-tablo table.data td, .card.hf-tablo table.data th { font-size: 10.5px; padding-left: 3px; padding-right: 3px; } .card.hf-tablo .card-body { padding-left: 8px; padding-right: 8px; } }
.card.hf-tablo .tbl-sabit tfoot td { box-shadow: 0 8px 0 var(--surface, #fff); }   /* sabit toplamın altından kayan satır görünmesin */

/* 06.10.2026 (kullanıcı: "bu alanı komple çıkar, alan genişlesin") — seçim çubuğu yalnız seçim varken görünür;
   boşken satır kapanır (.app grid satırı auto). Seçim varken "Tümünü Temizle" için gerekli, tamamen kaldırılmadı. */
.selbar:has(> .empty) { display:none; }


/* ── Stok ve Fiyat Radarı — ayrıntı & çipler (15.10.2026) ── */
.radar-neden { margin:2px 0 10px; display:flex; flex-direction:column; gap:6px; }
.radar-aksiyon { background:color-mix(in srgb,var(--accent) 7%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border)); border-radius:var(--radius-sm);
  padding:9px 12px; margin:10px 0; }
.radar-aksiyon h4 { margin:0 0 5px; font-size:11.5px; color:var(--accent); text-transform:uppercase; letter-spacing:.03em; font-weight:700; }
.radar-aksiyon ul { margin:0; padding-left:18px; }
.radar-aksiyon li { margin:3px 0; }
.radar-meta { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 2px; }
.radar-chip { display:inline-flex; align-items:baseline; gap:5px; font-size:12px; padding:4px 10px;
  border:1px solid var(--border); border-radius:999px; background:var(--surface-2); color:var(--text-secondary); }
.radar-chip b { color:var(--text-primary); font-weight:600; }
.radar-sec { margin-top:12px; }
.radar-sec-h { font-size:11.5px; text-transform:uppercase; letter-spacing:.03em; color:var(--text-muted); margin-bottom:6px; font-weight:600; }
.radar-mchips { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.radar-mchip { display:inline-flex; align-items:baseline; gap:5px; font-size:12.5px; padding:4px 10px;
  border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface-2); }
.radar-mchip a { color:var(--accent); }
.radar-mchip .kg { font-weight:700; color:var(--text-primary); }
.radar-mchip.ucuz { border-color:color-mix(in srgb,var(--good) 45%,var(--border)); background:color-mix(in srgb,var(--good) 9%,transparent); }
.radar-mchip.pahali { border-color:color-mix(in srgb,var(--bad) 40%,var(--border)); background:color-mix(in srgb,var(--bad) 7%,transparent); }
.radar-mchip.turetilmis { border-style:dashed; color:var(--text-muted); }
.radar-lead { font-size:12.5px; color:var(--text-secondary); margin-bottom:7px; }
.radar-lead b { color:var(--text-primary); }
/* native sayı girişi açık temada da açık görünsün (koyu OS'ta siyah kutu oluyordu) */
.radar-mik { width:74px; font:inherit; font-size:13px; padding:4px 7px; text-align:right;
  border:1px solid var(--border-strong); border-radius:var(--radius-sm);
  background:var(--surface-1); color:var(--text-primary); }
.radar-mik:focus { outline:none; border-color:var(--accent); }


/* ── Fiyat Radarı — Qlik tarzı konum göstergeleri (15.10.2026) ── */
.fr-bar { display:flex; align-items:center; gap:8px; min-width:160px; }
.fr-bar-track { position:relative; flex:1; height:8px; border-radius:4px; background:var(--surface-3); }
.fr-bar-band { position:absolute; top:0; bottom:0; border-radius:4px; background:color-mix(in srgb,var(--accent) 22%,transparent); }
.fr-bar-med { position:absolute; top:-2px; bottom:-2px; width:2px; background:var(--text-secondary); }
.fr-bar-biz { position:absolute; top:-3px; width:9px; height:14px; border-radius:3px; margin-left:-4px; border:2px solid var(--surface-1); box-shadow:0 0 0 1px var(--border); }
.fr-bar-biz.yuk { background:var(--bad); } .fr-bar-biz.dus { background:var(--good); }
.fr-bar-pct { font-size:12px; font-weight:700; min-width:44px; text-align:right; }
.fr-bar-pct.yuk { color:var(--bad); } .fr-bar-pct.dus { color:var(--good); }
.fr-gauge { margin:4px 0 14px; }
.fr-gauge-track { position:relative; height:12px; border-radius:6px; background:var(--surface-3); margin:24px 0 10px; }
.fr-gauge-lab { position:absolute; top:-19px; font-size:11px; color:var(--text-muted); transform:translateX(-50%); white-space:nowrap; }
.fr-gauge-biz { position:absolute; top:-4px; width:14px; height:20px; border-radius:4px; margin-left:-7px; border:2px solid var(--surface-1); box-shadow:var(--shadow); }
.fr-sec-split { display:flex; align-items:baseline; gap:10px; margin:16px 0 8px; padding-bottom:5px; border-bottom:2px solid var(--border); }
.fr-sec-split h4 { margin:0; font-size:13.5px; font-weight:700; }
.fr-sec-split .fr-tag { font-size:11.5px; color:var(--text-muted); }
.fr-badge { display:inline-block; font-size:11px; font-weight:600; padding:1px 7px; border-radius:999px; background:var(--surface-3); color:var(--text-secondary); }

/* 23.10.2026 — telefondaki bildirime dokununca o bildirim tek başına (bildirimkutu.js odak) */
.bk-odak-arka { position:fixed; inset:0; z-index:80; background:rgba(15,23,42,.45); display:flex; align-items:flex-start; justify-content:center;
  padding:72px 12px 12px; overflow-y:auto; }
.bk-odak { width:min(520px, 100%); background:var(--surface-1); border:1px solid var(--border); border-radius:14px;
  box-shadow:0 18px 50px rgba(0,0,0,.25); overflow:hidden; }
.bk-odak > .bk-oge { margin:12px; width:auto; cursor:default; }
.bk-odak-alt { display:flex; justify-content:flex-end; gap:8px; padding:0 12px 12px; }
.bk-bas-sag { display:flex; align-items:center; gap:4px; }
.bk-onay { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; padding:8px 12px; font-size:13px;
  background:color-mix(in srgb, var(--bad, #d64545) 10%, transparent); border-bottom:1px solid var(--border); }
.bk-onay[hidden] { display:none; }
.bk-link.bk-sil { color:var(--bad, #d64545); font-weight:600; }
.bk-ilet { margin:0 12px 12px; padding:10px; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); display:flex; flex-direction:column; gap:8px; }
.bk-ilet[hidden] { display:none; }
.bk-cipler { display:flex; flex-wrap:wrap; gap:6px; max-height:180px; overflow-y:auto; }
.bk-cip { border:1px solid var(--border); background:var(--surface-1); color:var(--text-primary); border-radius:16px; padding:6px 11px; font-size:13.5px; cursor:pointer; }
.bk-cip.secili { background:var(--accent); border-color:var(--accent); color:var(--accent-ink, #fff); }
.bk-cip-herkes { font-weight:600; }
.bk-ilet-not { width:100%; box-sizing:border-box; resize:vertical; font:inherit; font-size:16px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface-1); color:var(--text-primary); }
.bk-ilet-alt { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.bk-odak-alt { flex-wrap:wrap; }
.bk-temizlenen { position:relative; }
.bk-temizlenen .bk-oge { opacity:.85; }
.bk-geri { position:absolute; top:6px; right:6px; background:var(--surface-1) !important; border:1px solid var(--border) !important; border-radius:12px; padding:3px 9px !important; }

/* 24.10 koli renk */
.koli-k { border-top:3px solid var(--koli-r, var(--accent)); }
.koli-k > .card-head { background:color-mix(in srgb, var(--koli-r, var(--accent)) 9%, transparent); }
.koli-k > .card-head h3 { color:color-mix(in srgb, var(--koli-r, var(--accent)) 75%, var(--text-primary, currentColor)); }
.koli-k-hazir  { --koli-r:#f28c28; }
.koli-k-esik   { --koli-r:#7c5cd6; }
.koli-k-urun   { --koli-r:#2e9e5b; }
.koli-k-fiyat  { --koli-r:#2f7fd8; }
.koli-k-icerik { --koli-r:#e0a100; }
.koli-k-oner   { --koli-r:#1aa3a3; }
.koli-k-hedef  { --koli-r:#d64545; }
.koli-kare { background:linear-gradient(160deg, color-mix(in srgb,#f28c28 14%,transparent), color-mix(in srgb,#f2c94c 8%,transparent));
  border-color:color-mix(in srgb,#f28c28 35%,var(--border)); transition:transform .12s, box-shadow .12s; }
.koli-kare:hover { transform:translateY(-2px); box-shadow:0 4px 12px color-mix(in srgb,#f28c28 25%,transparent); }
.koli-kare.mevsim { background:linear-gradient(160deg, color-mix(in srgb,#2f7fd8 12%,transparent), transparent); border-color:color-mix(in srgb,#2f7fd8 30%,var(--border)); }
.koli-kare.aktif { background:#f28c28; color:#fff; border-color:#f28c28; }
.koli-hap { display:inline-block; min-width:52px; text-align:center; padding:1px 8px; border-radius:10px; font-weight:600; font-size:12px; }
.koli-hap.good { background:color-mix(in srgb,var(--good) 16%,transparent); color:var(--good); }
.koli-hap.warn { background:color-mix(in srgb,var(--warn) 18%,transparent); color:var(--warn); }
.koli-hap.bad  { background:color-mix(in srgb,var(--bad) 16%,transparent); color:var(--bad); }
.koli-k-icerik tbody tr:nth-child(even) { background:color-mix(in srgb,#e0a100 5%,transparent); }
.koli-k-icerik tbody tr:hover { background:color-mix(in srgb,var(--bad) 8%,transparent); }
.koli-k-urun .koli-sec, .koli-k-urun .koli-miktar-inp { border-color:color-mix(in srgb,#2e9e5b 40%,var(--border)); }
.koli-rozet { background:color-mix(in srgb, var(--surface-1, transparent) 100%, transparent); }
.koli-rozet.good { background:color-mix(in srgb,var(--good) 8%,transparent); }
.koli-rozet.warn { background:color-mix(in srgb,var(--warn) 9%,transparent); }
.koli-rozet.bad  { background:color-mix(in srgb,var(--bad) 8%,transparent); }

/* ===== 24.10 Koli Seçim yeniden tasarım (kx-) ===== */
.grid > .kx-icerik { grid-column: span 8; }
.grid > .kx-sonuc  { grid-column: span 4; position: sticky; top: 0; align-self: start; z-index: 2;
  max-height: calc(100vh - 120px); overflow: auto; border-top: 3px solid var(--kx-tur); }
:root { --kx-tur: #f26522; }
.kx-etiket { font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); }

/* 1 · seçici */
.kx-sec { border-top: 3px solid var(--kx-tur); }
.kx-sec > .card-head { background: color-mix(in srgb, var(--kx-tur) 7%, transparent); }
.kx-sec-grup + .kx-sec-grup { margin-top: 10px; }
.kx-sec-baslik { font-size: 11.5px; font-weight: 600; color: var(--text-secondary); margin: 2px 0 6px; }
.kx-sec-baslik span { color: var(--text-muted); font-weight: 400; }
.kx-cipler { display: flex; flex-wrap: wrap; gap: 6px; }
.kx-cip { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 6px 6px 6px 12px; border-radius: 999px; cursor: pointer;
  font: inherit; font-size: 12.5px; color: var(--text-primary); background: var(--surface-1);
  border: 1px solid color-mix(in srgb, var(--kx-tur) 30%, var(--border)); transition: background .12s, border-color .12s, transform .12s; }
.kx-cip:hover { background: color-mix(in srgb, var(--kx-tur) 9%, var(--surface-1)); transform: translateY(-1px); }
.kx-cip-ad { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kx-cip-f { flex: none; font-weight: 700; font-size: 12px; padding: 2px 8px; border-radius: 999px;
  background: color-mix(in srgb, var(--kx-tur) 13%, transparent); color: color-mix(in srgb, var(--kx-tur) 80%, var(--text-primary)); }
.kx-cip.mevsim { border-style: dashed; border-color: var(--border-strong); color: var(--text-secondary); }
.kx-cip.mevsim .kx-cip-f { background: var(--surface-3); color: var(--text-secondary); }
.kx-cip.aktif { background: var(--kx-tur); border-color: var(--kx-tur); color: #fff; }
.kx-cip.aktif .kx-cip-f { background: rgba(255,255,255,.22); color: #fff; }
.kx-sec-ozet { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 14px; }
.kx-sec-ad { font-size: 15px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60%; }
.kx-fiyat-rozet { font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--kx-tur); color: #fff; font-size: 13px; }
.kx-rozet-mevsim { font-size: 11.5px; padding: 2px 8px; border-radius: 999px; border: 1px dashed var(--border-strong); color: var(--text-secondary); }
.kx-bosluk { flex: 1; }

/* 2 · içerik */
.kx-icerik { border-top: 3px solid #2e9e5b; }
.kx-icerik > .card-head { background: color-mix(in srgb, #2e9e5b 7%, transparent); }
.kx-detay-btn.aktif { border-color: var(--accent); color: var(--accent); font-weight: 600; }
.kx-ekle { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px; margin: 2px 0 6px; border-radius: var(--radius);
  background: color-mix(in srgb, #2e9e5b 6%, var(--surface-2)); border: 1px solid color-mix(in srgb, #2e9e5b 22%, var(--border)); }
.kx-ara { flex: 1 1 260px; min-width: 200px; font: inherit; font-size: 14px; padding: 9px 12px; border-radius: var(--radius-sm);
  border: 1px solid var(--border-strong); background: var(--surface-1); color: var(--text-primary); }
.kx-ara:focus, .kx-miktar-inp:focus, .kx-fiyat-inp:focus, .kx-m-inp:focus { outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent); outline-offset: 1px; }
.kx-ekle-m { display: inline-flex; align-items: stretch; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); overflow: hidden; background: var(--surface-1); }
.kx-miktar-inp { width: 90px; font: inherit; font-size: 14px; padding: 8px 10px; border: 0; background: transparent; color: var(--text-primary); }
.kx-birim { font: inherit; font-size: 12.5px; border: 0; border-left: 1px solid var(--border); background: var(--surface-2); color: var(--text-secondary); padding: 0 10px; cursor: default; }
.kx-birim.cevrilir { cursor: pointer; color: var(--accent); font-weight: 600; }
.kx-ekle .btn { padding: 8px 14px; }
.kx-hediye-btn { border-color: color-mix(in srgb, var(--warn) 45%, var(--border)); }
.kx-ekle-bilgi { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--text-secondary); margin: 0 2px 10px; min-height: 18px; }

.kx-liste { --kx-kol: minmax(150px, 1fr) 156px 74px 74px 66px 48px 92px 62px; font-size: 13px; }
.kx-liste.detay { --kx-kol: minmax(150px, 1fr) 156px 74px 74px 66px 48px 92px 70px 70px 54px 54px 62px; }
.kx-satir { display: grid; grid-template-columns: var(--kx-kol); gap: 8px; align-items: center; padding: 7px 6px; border-bottom: 1px solid var(--border); }
.kx-liste:not(.detay) .c-d { display: none; }
.kx-satir:not(.kx-bas):not(.kx-top):hover { background: var(--surface-2); }
.kx-bas { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: .03em; border-bottom: 1px solid var(--border-strong); padding-top: 4px; }
.c-n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.c-x { display: flex; gap: 4px; justify-content: flex-end; }
.kx-ad { font-weight: 600; line-height: 1.25; }
.kx-alt { font-size: 11.5px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.kx-satir.maliyetsiz .kx-alt { color: var(--bad); }
.kx-satir.hediye { background: color-mix(in srgb, var(--warn) 6%, transparent); }
.kx-soluk { color: var(--text-muted); }
.kx-adim { display: inline-flex; align-items: stretch; border: 1px solid var(--border-strong); border-radius: 999px; overflow: hidden; background: var(--surface-1); }
.kx-a { width: 28px; border: 0; background: var(--surface-2); color: var(--text-primary); font-size: 15px; font-weight: 700; cursor: pointer; line-height: 1; }
.kx-a:hover:not([disabled]) { background: color-mix(in srgb, #2e9e5b 18%, var(--surface-2)); }
.kx-a[disabled] { opacity: .35; cursor: default; }
.kx-m-inp { width: 62px; border: 0; text-align: right; font: inherit; font-size: 13px; font-weight: 600; padding: 4px 2px; background: transparent; color: var(--text-primary);
  -moz-appearance: textfield; }
.kx-m-inp::-webkit-outer-spin-button, .kx-m-inp::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.kx-b { font-size: 11.5px; color: var(--text-muted); align-self: center; padding: 0 6px 0 3px; }
.c-pay { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--text-secondary); }
.kx-pay { flex: 1; height: 7px; border-radius: 4px; background: var(--surface-3); overflow: hidden; }
.kx-pay i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #f2a65a, var(--kx-tur)); }
.kx-ik { width: 28px; height: 28px; border-radius: 6px; border: 1px solid var(--border); background: var(--surface-1); cursor: pointer; font-size: 13px; line-height: 1;
  filter: grayscale(1); opacity: .55; }
.kx-ik:hover, .kx-ik.aktif { filter: none; opacity: 1; }
.kx-ik.aktif { border-color: color-mix(in srgb, var(--warn) 55%, var(--border)); background: color-mix(in srgb, var(--warn) 12%, var(--surface-1)); }
.kx-sil { filter: none; opacity: .7; color: var(--text-muted); }
.kx-sil:hover { color: #fff; background: var(--bad); border-color: var(--bad); }
.kx-ara-baslik { font-size: 11.5px; font-weight: 600; color: color-mix(in srgb, var(--warn) 75%, var(--text-primary)); padding: 10px 6px 4px; }
.kx-rot { color: var(--text-secondary); font-style: italic; }
.kx-rot .kx-ad { font-weight: 500; }
.kx-top { font-weight: 700; border-bottom: 0; border-top: 2px solid var(--border-strong); background: var(--surface-2); }
.kx-bos { display: flex; gap: 14px; align-items: center; padding: 28px 18px; border: 2px dashed var(--border); border-radius: var(--radius); color: var(--text-secondary); font-size: 13.5px; line-height: 1.5; }
.kx-bos-ikon { font-size: 34px; }

/* 3 · sonuç */
.kx-sonuc > .card-head { background: color-mix(in srgb, var(--kx-tur) 7%, transparent); }
.kx-fiyat { display: flex; flex-direction: column; gap: 5px; }
.kx-fiyat-kutu { display: flex; align-items: center; gap: 6px; }
.kx-fiyat-inp { flex: 1; min-width: 0; font: inherit; font-size: 24px; font-weight: 700; padding: 6px 12px; border-radius: var(--radius-sm);
  border: 2px solid color-mix(in srgb, var(--kx-tur) 45%, var(--border)); background: var(--surface-1); color: var(--text-primary); }
.kx-fiyat-kutu > span { font-size: 20px; font-weight: 700; color: var(--text-secondary); }
.kx-kademe { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0 12px; }
.kx-kd { font: inherit; font-size: 12px; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface-1); color: var(--text-secondary); cursor: pointer; }
.kx-kd:hover { border-color: var(--kx-tur); color: var(--text-primary); }
.kx-kd.aktif { background: var(--kx-tur); border-color: var(--kx-tur); color: #fff; font-weight: 600; }
.kx-hukum { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: var(--radius); font-size: 13px; font-weight: 600; line-height: 1.4; margin-bottom: 12px; }
.kx-h-ikon { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-size: 13px; font-weight: 800; }
.kx-hukum.good { background: color-mix(in srgb, var(--good) 13%, transparent); color: color-mix(in srgb, var(--good) 75%, var(--text-primary)); }
.kx-hukum.good .kx-h-ikon { background: var(--good); }
.kx-hukum.warn { background: color-mix(in srgb, var(--warn) 15%, transparent); color: color-mix(in srgb, var(--warn) 70%, var(--text-primary)); }
.kx-hukum.warn .kx-h-ikon { background: var(--warn); }
.kx-hukum.bad { background: color-mix(in srgb, var(--bad) 12%, transparent); color: color-mix(in srgb, var(--bad) 80%, var(--text-primary)); }
.kx-hukum.bad .kx-h-ikon { background: var(--bad); }
.kx-hukum.bilgi { background: var(--surface-2); color: var(--text-secondary); font-weight: 500; }
.kx-hukum.bilgi .kx-h-ikon { background: var(--text-muted); }
.kx-gostergeler { display: flex; flex-direction: column; gap: 12px; margin-bottom: 14px; }
.kx-g-ust { display: flex; justify-content: space-between; align-items: baseline; font-size: 12.5px; color: var(--text-secondary); }
.kx-g-ust b { font-size: 17px; color: var(--text-primary); }
.kx-gosterge.good .kx-g-ust b { color: var(--good); }
.kx-gosterge.warn .kx-g-ust b { color: var(--warn); }
.kx-gosterge.bad  .kx-g-ust b { color: var(--bad); }
.kx-g-ray { position: relative; height: 8px; margin: 5px 0 4px; border-radius: 4px; background: var(--surface-3); }
.kx-g-bolge { position: absolute; top: 0; bottom: 0; border-radius: 4px; background: color-mix(in srgb, var(--good) 38%, transparent); }
.kx-g-isaret { position: absolute; top: -4px; width: 4px; height: 16px; margin-left: -2px; border-radius: 2px; background: var(--text-primary);
  box-shadow: 0 0 0 2px var(--surface-1); }
.kx-gosterge.bad .kx-g-isaret { background: var(--bad); }
.kx-gosterge.warn .kx-g-isaret { background: var(--warn); }
.kx-gosterge.good .kx-g-isaret { background: var(--good); }
.kx-g-alt { font-size: 11.5px; color: var(--text-muted); }
.kx-sayilar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.kx-sayi { display: flex; flex-direction: column; gap: 1px; padding: 8px 10px; border-radius: var(--radius-sm); background: var(--surface-2); border-left: 3px solid var(--border-strong); min-width: 0; }
.kx-sayi span { font-size: 11px; color: var(--text-muted); }
.kx-sayi b { font-size: 16px; font-variant-numeric: tabular-nums; }
.kx-sayi small { font-size: 10.5px; color: var(--text-muted); line-height: 1.3; }
.kx-sayi.good { border-left-color: var(--good); } .kx-sayi.good b { color: var(--good); }
.kx-sayi.warn { border-left-color: var(--warn); } .kx-sayi.warn b { color: var(--warn); }
.kx-sayi.bad  { border-left-color: var(--bad); }  .kx-sayi.bad b  { color: var(--bad); }
.kx-tuttur { padding: 10px; border-radius: var(--radius-sm); border: 1px solid color-mix(in srgb, var(--bad) 30%, var(--border)); background: color-mix(in srgb, var(--bad) 5%, transparent); margin-bottom: 10px; }
.kx-t-satir { display: flex; align-items: center; gap: 8px; font-size: 12.5px; margin-top: 6px; }
.kx-t-satir > span { flex: 1; min-width: 0; }
.kx-t-satir .btn { padding: 3px 10px; font-size: 12px; }
.kx-notlar summary { cursor: pointer; font-size: 12.5px; font-weight: 600; color: var(--text-secondary); padding: 4px 0; }
.kx-notlar .koli-uyari { margin-top: 6px; }

/* 5 · geçmiş */
.kx-gecmis > summary { cursor: pointer; padding: 12px 14px; font-size: 13.5px; list-style-position: inside; }
.kx-gecmis > summary .sub { font-size: 11.5px; color: var(--text-muted); font-weight: 400; }
.kx-gecmis > .card { border: 0; box-shadow: none; border-top: 1px solid var(--border); border-radius: 0; }
.kx-gecmis > .card > .card-head:empty, .kx-gecmis > .card > .card-head h3:empty { display: none; }

/* mini sonuç çubuğu — yalnız dar ekranda */
.kx-mini { display: none; }
@media (max-width: 1100px) {
  .grid > .kx-icerik, .grid > .kx-sonuc { grid-column: span 12; }
  .grid > .kx-sonuc { position: static; max-height: none; }
  .kx-mini { display: flex; grid-column: span 12; position: sticky; bottom: 0; z-index: 5; gap: 4px; align-items: center; justify-content: space-between;
    padding: 8px 12px; border-radius: var(--radius); background: var(--surface-1); border: 1px solid var(--border-strong); box-shadow: var(--shadow-lg);
    border-left: 5px solid var(--border-strong); cursor: pointer; }
  .kx-mini.good { border-left-color: var(--good); } .kx-mini.bad { border-left-color: var(--bad); }
  .kx-mini > span { display: flex; flex-direction: column; align-items: center; min-width: 0; }
  .kx-mini small { font-size: 10px; color: var(--text-muted); }
  .kx-mini b { font-size: 14px; font-variant-numeric: tabular-nums; }
  .kx-mini.bad b:first-of-type { color: var(--bad); }
  .kx-mini-ok { font-size: 12px; color: var(--accent); font-weight: 600; }
}
@media (max-width: 700px) {
  .kx-bas { display: none; }
  .kx-satir, .kx-liste.detay .kx-satir { display: flex; flex-wrap: wrap; gap: 6px 12px; padding: 10px 4px; }
  .kx-satir .c-ad { flex: 1 1 calc(100% - 76px); min-width: 0; order: 1; }
  .kx-satir .c-x { order: 2; }
  .kx-satir .c-m { order: 3; flex: 1 1 100%; }
  .kx-satir .c-n { order: 4; text-align: left; font-size: 12.5px; }
  .kx-satir .c-n[data-e]::before { content: attr(data-e) ' '; color: var(--text-muted); font-size: 11px; }
  .kx-satir .c-n:empty, .kx-satir .c-pay { display: none; }
  .kx-top .c-ad { flex: 1 1 100%; }
  .kx-sec-ad { max-width: 100%; }
  .kx-cip-ad { max-width: 210px; }
  .kx-ekle .kx-ara { flex-basis: 100%; }
  .kx-sayilar { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) { .kx-satir.kx-bas { display: none; } }
/* Koli öner / AI Yorum kartları satır içi span 6 taşıyor → dar ekranda tam genişlik */
@media (max-width: 860px) { .grid > .koli-k-oner, .grid > .kx-ai { grid-column: span 12 !important; } }
