/* Teklif Yönetimi (#/sales) ve CRM ekleri — sahibi: public/js/sales.js
   (crmExtras.js, crmImport.js ve leads.js'in sınıfları da bu dosyadadır: .cx-*, .lead-*; app.js gövdesinin .crm-* sınıfları ayrı dosyadadır)
   Ortak bileşenler (.card, .kpi-card, .data-table, .pill, .tabbar, .btn, .modal…) styles.css'tedir; burada yalnızca
   modüle özgü yerleşim ve ince ayarlar var. Değişkenler: styles.css :root.
   Bu dosya index.html'de bağlı değilse sales.js yüklenirken <head>'e bir kez eklenir. */

/* ---------------------------------------------------------------- Genel */
.sales-page { display: flex; flex-direction: column; min-width: 0; }
.sales-ic { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.sales-ic svg { width: 16px; height: 16px; }
.page-head .btn .sales-ic svg { width: 18px; height: 18px; }
.sales-tabs { margin-bottom: 18px; }
.sales-spacer { flex: 1 1 auto; }
.sales-dialog-text { margin: 0 0 12px; font-size: 13.5px; line-height: 1.5; }

/* ---------------------------------------------------------------- KPI satırı */
.sales-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sales-kpis.sales-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sales-kpis .kpi-value { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.sales-kpis .kpi-sub { overflow-wrap: anywhere; }
.sales-kpis .kpi-card.clickable { cursor: pointer; }
.sales-kpis .kpi-card.clickable:hover { border-color: var(--line-hover); }

/* ---------------------------------------------------------------- Liste kartı: durum sekmeleri + araç çubuğu + tablo */
.sales-card { overflow: hidden; }
.sales-card-top { padding: 4px 20px 0; }
.sales-card-top > .sales-toolbar:first-child { margin-top: 14px; }
.sales-status-tabs { margin-bottom: 14px; }
.sales-status-tabs .tab { padding: 10px 12px; font-size: 13.5px; }
.sales-toolbar { margin-bottom: 14px; }
.sales-toolbar select.input { min-width: 180px; max-width: 260px; }
.sales-count { font-size: 13px; color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.sales-note { margin: -4px 0 14px; }
.sales-table-host .table-wrap { border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.sales-table-host .empty-state { border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; }

/* Tablo hücreleri */
.sales-no { font-weight: 700; color: var(--heading); white-space: nowrap; font-variant-numeric: tabular-nums; }
.sales-cust-link, .sales-cust-name { font-weight: 600; color: var(--ink); }
.sales-cust-link:hover { color: var(--primary-d); text-decoration: underline; }
.sales-title { min-width: 150px; }
.sales-title-text { font-weight: 600; color: var(--ink); }
.sales-desc { max-width: 420px; }
.sales-amount { font-weight: 700; color: var(--heading); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sales-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12.5px; color: var(--muted); white-space: nowrap; }
.sales-valid { white-space: nowrap; font-variant-numeric: tabular-nums; }
.sales-valid.is-soon { color: var(--tone-orange-ink); font-weight: 600; }
.sales-valid.is-late { color: var(--danger); font-weight: 600; }
.sales-wos { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.sales-wo {
  display: inline-flex; align-items: center; padding: 2px 9px; border-radius: 999px;
  background: var(--tone-blue-soft); color: var(--blue); font-size: 12px; font-weight: 600; white-space: nowrap; text-decoration: none;
}
.sales-wo:hover { background: var(--blue); color: #fff; text-decoration: none; }
.sales-wo-count { white-space: nowrap; font-size: 13px; }
.sales-actions-col { width: 1%; }
.sales-row-actions { display: flex; gap: 6px; justify-content: flex-end; align-items: center; flex-wrap: nowrap; }
.sales-row-actions .btn { white-space: nowrap; }
.btn.sales-icon-only { padding-left: 8px; padding-right: 8px; }
.btn.sales-btn-red { color: var(--danger); border-color: #F3B4B4; }
.btn.sales-btn-red:hover { background: var(--tone-red-soft); border-color: var(--danger); color: var(--danger); }
.data-table tr.sales-row-warn td { background: #FFFBF5; }
.data-table tr.sales-row-passive td { opacity: 0.6; }
.sales-ms { text-decoration: none; white-space: nowrap; }
a.sales-ms:hover { text-decoration: none; filter: brightness(0.96); }

/* ---------------------------------------------------------------- Teklif ayrıntısı penceresi */
.sales-detail-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.sales-detail-cust { font-weight: 700; font-size: 15px; }
.sales-detail-total { margin-left: auto; font-size: 20px; font-weight: 800; color: var(--heading); font-variant-numeric: tabular-nums; }
.sales-meta {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px 16px;
  padding: 12px 14px; margin-bottom: 14px; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius);
}
.sales-meta-item { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sales-meta-label { font-size: 11.5px; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; }
.sales-meta-value { font-size: 13.5px; color: var(--ink); font-weight: 600; }
.sales-detail .table-wrap { margin-bottom: 4px; }
.sales-item-name { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.sales-totals { margin: 12px 0 4px auto; width: min(320px, 100%); display: flex; flex-direction: column; gap: 4px; }
.sales-total-row, .sq-total-row { display: flex; justify-content: space-between; gap: 16px; font-size: 13.5px; color: var(--ink); font-variant-numeric: tabular-nums; }
.sales-total-row.is-grand, .sq-total-row.is-grand {
  border-top: 1px solid var(--line); padding-top: 6px; margin-top: 2px; font-size: 16px; font-weight: 800; color: var(--primary-d);
}
.sales-text-block { margin-top: 14px; }
.sales-text-block h4 { margin: 0 0 4px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.4px; color: var(--muted); }
.sales-text-block p { margin: 0; white-space: pre-wrap; font-size: 13.5px; color: var(--ink); line-height: 1.5; }
.sales-links { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.sales-links .sales-meta-label { margin-right: 4px; }
.sales-detail-actions { align-items: center; border-top: 1px solid var(--line); padding-top: 14px; }

/* İş emri oluşturma penceresi */
.sales-wo-items { list-style: none; margin: 0 0 14px; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); }
.sales-wo-items li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; border-top: 1px solid var(--line); font-size: 13.5px; }
.sales-wo-items li:first-child { border-top: 0; }
.sales-wo-item-name { font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.sales-wo-item-qty { color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }

/* ---------------------------------------------------------------- Teklif formu */
.modal.sq-modal { max-width: 1060px; }
.sq-head { grid-template-columns: minmax(220px, 2fr) minmax(200px, 2fr) minmax(150px, 1fr) minmax(110px, 0.8fr); }
.sq-fixed { display: flex; align-items: center; background: var(--surface-2); font-weight: 600; color: var(--ink); }
.sq-items-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 18px 0 10px; }
.sq-items-head h4 { margin: 0; font-size: 14px; font-weight: 700; color: var(--heading); }
.sq-add { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.sq-add select.input { width: auto; min-width: 240px; max-width: 380px; }
.sq-item { display: grid; grid-template-columns: minmax(200px, 1fr) 88px 96px 120px 82px 130px 40px; gap: 8px; align-items: start; }
.sq-items { display: flex; flex-direction: column; gap: 8px; }
.sq-item-head { margin-bottom: 6px; font-size: 11.5px; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px; align-items: end; }
.sq-item-head .sq-c:nth-child(2), .sq-item-head .sq-c:nth-child(4), .sq-item-head .sq-c:nth-child(6) { text-align: right; }
.sq-c { min-width: 0; }
.sq-item .input { min-height: 40px; }
.sq-c-qty .input, .sq-c-price .input { text-align: right; font-variant-numeric: tabular-nums; }
.sq-badges { display: flex; gap: 6px; margin-top: 5px; flex-wrap: wrap; }
.sq-amount {
  min-height: 40px; display: flex; align-items: center; justify-content: flex-end;
  font-weight: 700; color: var(--heading); font-variant-numeric: tabular-nums; white-space: nowrap;
}
.icon-btn.sq-remove { color: var(--muted); }
.icon-btn.sq-remove svg { width: 18px; height: 18px; }
.icon-btn.sq-remove:hover { color: var(--danger); background: var(--tone-red-soft); }
.sq-bottom {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap;
  margin: 16px 0 8px; padding-top: 14px; border-top: 1px solid var(--line);
}
.sq-discount { width: 200px; }
.sq-discount .field { margin-bottom: 0; }
.sq-totals { width: min(340px, 100%); display: flex; flex-direction: column; gap: 4px; }
.sq-hint { margin: -8px 0 12px; }

/* ---------------------------------------------------------------- Müşteri kartı panelleri */
.sales-qrow { align-items: center; }
.sales-qrow-main {
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; flex: 1 1 240px;
  padding: 4px 0; background: none; border: 0; border-radius: var(--radius-sm); font: inherit; color: inherit; text-align: left; cursor: pointer;
}
.sales-qrow-main:hover .sales-qrow-title { color: var(--primary-d); }
.sales-qrow-main.is-static { cursor: default; }
.sales-qrow-main.is-static:hover .sales-qrow-title { color: var(--ink); }
.sales-qrow-title { font-size: 14px; color: var(--ink); overflow-wrap: anywhere; }
.sales-panel-empty { margin: 0; }
.sales-invoices { margin-top: 8px; }

/* ---------------------------------------------------------------- Ara kırılımlar */
@media (max-width: 1180px) {
  .sales-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sales-kpis.sales-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .sq-head { grid-template-columns: 1fr 1fr; }
  .sq-item { grid-template-columns: minmax(160px, 1fr) 80px 90px 110px 78px 116px 40px; }
}

/* ---------------------------------------------------------------- CRM ekleri (crmExtras.js · crmImport.js · leads.js) */
.cx-ic { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.cx-ic svg { width: 15px; height: 15px; }
.btn .cx-ic svg { width: 18px; height: 18px; }
.cx-add-btn { gap: 5px; }
.mini-btn.cx-icon-btn { padding-left: 8px; padding-right: 8px; }
.cx-panel { margin-bottom: 16px; }
.cx-panel-note { margin: 0 0 10px; }
.cx-panel-empty { margin: 0; }
.cx-dialog-note { margin: 0 0 10px; }
.cx-row-main { min-width: 0; flex: 1 1 240px; }
.cx-row-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-weight: 600; color: var(--ink); }
.cx-section-title { margin: 14px 0 8px; font-size: 13px; font-weight: 700; color: var(--heading); }
.cx-subsection { margin-top: 14px; }
.cx-check { display: flex; align-items: center; gap: 8px; min-height: 40px; margin-bottom: 8px; cursor: pointer; font-size: 14px; color: var(--ink); }
.cx-check input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--primary); flex: 0 0 auto; }
.cx-check-strong { font-weight: 600; margin-bottom: 2px; }
.cx-check-group { display: flex; flex-wrap: wrap; gap: 0 18px; }
.cx-check-group .cx-check { margin-bottom: 0; }
.cx-table { margin-top: 4px; }
.cx-scroll { max-height: 46vh; overflow: auto; }
.cx-nowrap { white-space: nowrap; }
.cx-audit-filter { width: auto; max-width: 190px; }
.cx-import-kpis { margin-bottom: 12px; }
.cx-import-kpis .kpi-card { padding: 14px 16px; }

/* Etiketler */
.cx-tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cx-tag {
  display: inline-flex; align-items: center; gap: 2px; padding: 2px 3px 2px 10px; border-radius: 999px;
  background: var(--tone-gray-soft); color: var(--tone-gray-ink); font-size: 12.5px; font-weight: 600;
}
.cx-tag-remove {
  display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; padding: 0;
  border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer;
}
.cx-tag-remove:hover { background: var(--tone-red-soft); color: var(--danger); }
.cx-tag-remove svg { width: 12px; height: 12px; }

/* Genel arama (Ctrl+K) */
.cx-search-results { max-height: 52vh; overflow: auto; margin-top: 10px; }
.cx-search-group {
  display: flex; align-items: center; gap: 6px; margin: 12px 0 4px;
  font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.3px;
}
.cx-search-row {
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; min-height: 44px; padding: 8px 10px;
  border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer;
}
.cx-search-row.is-active { background: var(--tone-green-soft); }
.cx-search-row.is-active .cx-search-title { color: var(--primary-d); }
.cx-search-title { font-weight: 600; }
.cx-search-hint { margin: 10px 0 0; }

/* Satış tahmini (iki seri: ağırlıklı beklenti mavi, kazanılan yeşil) */
.cx-fc-bars { display: flex; gap: 8px; align-items: stretch; margin-bottom: 6px; }
.cx-fc-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; }
.cx-fc-plot { flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 3px; width: 100%; min-height: 110px; border-bottom: 1px solid var(--line); }
.cx-fc-bar { width: 18px; max-width: 40%; border-radius: 3px 3px 0 0; }
.cx-fc-bar.is-weighted, .cx-legend-dot.is-weighted { background: var(--blue); }
.cx-fc-bar.is-won, .cx-legend-dot.is-won { background: var(--primary); }
.cx-fc-value { font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.cx-legend { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.cx-legend-dot { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }

/* Potansiyel müşteriler: Görüşmelerim · Atama Kuralları */
.lead-page { display: flex; flex-direction: column; min-width: 0; }
.lead-hint { margin: 6px 0 10px; }
.lead-contact { margin: 0 0 10px; }
.lead-outcomes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 4px; }
.btn.lead-outcome-btn { justify-content: flex-start; min-height: 44px; white-space: normal; text-align: left; }
.lead-list { display: flex; flex-direction: column; gap: 8px; }
.lead-row-main { flex: 1 1 auto; min-width: 0; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.lead-row-main:hover .clc-name { color: var(--primary-d); }
.lead-row-status { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lead-row-actions { display: flex; gap: 6px; }
.mini-btn.lead-primary-btn { background: var(--primary); border-color: var(--primary); color: var(--on-primary); }
.mini-btn.lead-primary-btn:hover { background: var(--primary-d); border-color: var(--primary-d); color: var(--on-primary); }
.lead-outcome-stats { display: flex; flex-wrap: wrap; gap: 8px; }
.notice.lead-result { margin: 12px 0 0; }
.lead-result .small { margin-top: 4px; }

/* ---------------------------------------------------------------- Telefon (≤ 640 px) */
@media (max-width: 640px) {
  .sales-kpis, .sales-kpis.sales-kpis-3 { grid-template-columns: 1fr 1fr; gap: 10px; }
  .sales-kpis.sales-kpis-3 > :last-child { grid-column: 1 / -1; }
  .sales-kpis .kpi-card { padding: 14px; }
  .sales-card-top { padding: 4px 12px 0; }
  .sales-toolbar .search-box { flex: 1 1 100%; max-width: none; }
  .sales-toolbar select.input { flex: 1 1 auto; min-width: 0; max-width: none; }
  .sales-toolbar .toolbar-spacer { display: none; }
  .sales-toolbar .btn { flex: 1 1 100%; }
  .sales-detail-total { margin-left: 0; width: 100%; font-size: 18px; }
  .sales-detail-actions .sales-spacer { display: none; }
  .sales-detail-actions .btn { flex: 1 1 auto; }
  .sales-qrow .qrow-side { width: 100%; }

  .sq-head { grid-template-columns: 1fr; }
  .sq-item-head { display: none; }
  .sq-item {
    grid-template-columns: 1fr 1fr; gap: 8px 10px; padding: 12px; position: relative;
    border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-2);
  }
  .sq-c-name { grid-column: 1 / -1; padding-right: 48px; }
  .sq-c-del { position: absolute; top: 10px; right: 8px; }
  .sq-c[data-label]::before { content: attr(data-label); display: block; margin-bottom: 4px; font-size: 11.5px; font-weight: 600; color: var(--muted); }
  .sq-c-amount { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; }
  .sq-c-amount::before { margin-bottom: 0; }
  .sq-amount { min-height: 0; }
  .sq-item .input { min-height: 44px; }
  .sq-add { width: 100%; }
  .sq-add select.input { flex: 1 1 100%; min-width: 0; max-width: none; }
  .sq-add .btn { flex: 1 1 100%; }
  .sq-discount, .sq-totals { width: 100%; }

  .lead-outcomes { grid-template-columns: 1fr; }
  .cx-search-row { min-height: 48px; }
  .cx-audit-filter { flex: 1 1 140px; max-width: none; }
  .cx-fc-bar { width: 12px; }
  .cx-check { min-height: 44px; }
}

/* Tablo: işlem sütunu başlığı düğmelerle aynı hizada; müşteri sütunu çok daralmasın */
.data-table th.sales-actions-col { text-align: right; }
.sales-cust { min-width: 120px; }

/* Teklif tablosu sekiz sütun: hücre boşlukları biraz daha dar; dar masaüstünde eylem düğmeleri taşmak yerine alt satıra iner */
.data-table.sales-quotes th, .data-table.sales-quotes td { padding-left: 10px; padding-right: 10px; }
.data-table.sales-quotes th:first-child, .data-table.sales-quotes td:first-child { padding-left: 14px; }
.data-table.sales-quotes th:last-child, .data-table.sales-quotes td:last-child { padding-right: 14px; }
.sales-quotes .sales-title { min-width: 120px; }
.sales-quotes .sales-cust { min-width: 110px; }
@media (max-width: 1380px) { .sales-row-actions { flex-wrap: wrap; row-gap: 6px; } }
@media (max-width: 1380px) {
  .data-table.sales-quotes th, .data-table.sales-quotes td { padding-left: 7px; padding-right: 7px; }
  .sales-quotes .sales-title, .sales-quotes .sales-cust { min-width: 100px; }
}

/* ---------------------------------------------------------------- Telefon: tablolar karta dönüşür (yatay kaydırma yok) */
@media (max-width: 640px) {
  .sales-table-host .table-wrap { overflow: visible; }

  /* Teklifler: no + durum / müşteri / başlık / tutar + geçerlilik / iş emri / eylemler */
  .data-table.sales-quotes, .data-table.sales-quotes tbody { display: block; }
  .data-table.sales-quotes thead { display: none; }
  .data-table.sales-quotes tr {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 12px 14px; border-top: 1px solid var(--line);
    grid-template-areas: "no durum" "mus mus" "bas bas" "tutar gec" "wo wo" "act act";
  }
  .data-table.sales-quotes tbody tr:first-child { border-top: 0; }
  .data-table.sales-quotes td:nth-child(n) { display: block; min-width: 0; padding: 0; border: 0; background: transparent; }
  .data-table.sales-quotes td:nth-child(1) { grid-area: no; align-self: center; }
  .data-table.sales-quotes td:nth-child(2) { grid-area: mus; }
  .data-table.sales-quotes td:nth-child(3) { grid-area: bas; }
  .data-table.sales-quotes td:nth-child(4) { grid-area: tutar; text-align: left; align-self: end; }
  .data-table.sales-quotes td:nth-child(5) { grid-area: gec; text-align: right; align-self: end; }
  .data-table.sales-quotes td:nth-child(6) { grid-area: durum; justify-self: end; align-self: center; }
  .data-table.sales-quotes td:nth-child(7) { grid-area: wo; display: flex; align-items: center; gap: 8px; }
  .data-table.sales-quotes td:nth-child(8) { grid-area: act; margin-top: 6px; }
  .data-table.sales-quotes td:nth-child(4)::before, .data-table.sales-quotes td:nth-child(5)::before, .data-table.sales-quotes td:nth-child(7)::before {
    content: attr(data-label); display: block; font-size: 11.5px; font-weight: 600; color: var(--muted);
  }
  .data-table.sales-quotes td:nth-child(7)::before { display: inline; }
  .data-table.sales-quotes td:nth-child(7):has(> span.muted:only-child) { display: none; }
  .data-table.sales-quotes td.empty-cell { grid-column: 1 / -1; padding: 24px 0; text-align: center; }
  .sales-quotes .sales-cust { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; }
  .sales-quotes .sales-amount { font-size: 16px; }
  .sales-quotes .sales-row-actions { justify-content: flex-start; flex-wrap: wrap; }

  /* Sözleşmeler / katalog: her satır etiketli bir kart */
  .data-table.sales-stack, .data-table.sales-stack tbody { display: block; }
  .data-table.sales-stack thead { display: none; }
  .data-table.sales-stack tr { display: block; padding: 10px 14px; border-top: 1px solid var(--line); }
  .data-table.sales-stack tbody tr:first-child { border-top: 0; }
  .data-table.sales-stack tr.sales-row-warn { background: #FFFBF5; }
  .data-table.sales-stack td:nth-child(n) {
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
    padding: 3px 0; border: 0; background: transparent; text-align: right;
  }
  .data-table.sales-stack td[data-label]::before { content: attr(data-label); flex: 0 0 auto; font-size: 12px; font-weight: 600; color: var(--muted); text-align: left; }
  .data-table.sales-stack td:first-child { display: block; padding-bottom: 6px; text-align: left; }
  .data-table.sales-stack td:first-child::before, .data-table.sales-stack td.sales-actions-col::before { display: none; }
  .data-table.sales-stack td.sales-actions-col { justify-content: flex-start; padding-top: 8px; }
  .data-table.sales-stack td.empty-cell { display: block; padding: 24px 0; text-align: center; }
  .sales-stack .sales-row-actions { justify-content: flex-start; flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .data-table.sales-quotes td.sales-actions-col, .data-table.sales-stack td.sales-actions-col { width: auto; }
}

/* Modüle ait pencereler: geniş tablo içeriği pencereyi ekrandan taşırmasın (esnek öğe min-width: auto) */
.modal.sales-modal { min-width: 0; }
.sales-modal .modal-body, .sales-detail { min-width: 0; }
@media (max-width: 640px) {
  .sales-meta { grid-template-columns: 1fr 1fr; }
  .modal.sales-modal .modal-head h3 { font-size: 16px; }
}
.sales-no-btn { padding: 0; border: 0; background: none; font: inherit; font-weight: 700; color: var(--heading); cursor: pointer; text-align: left; border-radius: var(--radius-sm); }
.sales-no-btn:hover { color: var(--primary-d); text-decoration: underline; }
.sales-no-btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }

/* Teklif formu: müşteri seçimi + "Yeni Müşteri" düğmesi; döviz tekliflerinde TL karşılığı */
.sq-cust { display: flex; gap: 8px; align-items: stretch; }
.sq-cust select { flex: 1 1 auto; min-width: 0; }
.sq-new-cust { flex: 0 0 auto; white-space: nowrap; }
.sales-total-row.is-tl, .sq-total-row.is-tl { font-weight: 700; color: var(--ink); }
.sales-kur-notu, .sq-kur-notu { font-size: 12px; color: var(--muted); text-align: right; }
.sales-tl { font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .sq-cust { flex-direction: column; } }
