/* ==========================================================================
   Satış Yönetimi — Ortak Modal Tasarımı
   Sipariş/proje, satın alma, fatura, masraf, teminat, proje grubu ve bildirim
   modalleri aynı iskeleti kullanır. Daha önce her modal kendi inline stilini
   taşıdığı için başlık yüksekliği, padding, buton hizası ve alan yükseklikleri
   ekrandan ekrana değişiyordu.
   ========================================================================== */

/* --- İskelet: başlık ve footer sabit, sadece gövde kayar ------------------- */
.sales-modal .modal-dialog {
  margin: 24px auto;
  width: 100%;
  max-width: 720px;
}

.sales-modal .modal-dialog--sm { max-width: 520px; }
.sales-modal .modal-dialog--md { max-width: 640px; }
.sales-modal .modal-dialog--lg { max-width: 960px; }
.sales-modal .modal-dialog--xl { max-width: 1140px; }

.sales-modal .modal-content {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 48px);
  border: 0;
  border-radius: var(--radius-md, 8px);
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.22);
}

/* --- Başlık ---------------------------------------------------------------- */
.sales-modal .modal-header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--bg-charcoal, #2d2d2d);
  color: #fff;
  border-bottom: 0;
  padding: 14px 20px;
}

.sales-modal .modal-header .modal-title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Başlık ikonları aynı genişlikte hizalanır */
.sales-modal .modal-header .modal-title > .fa {
  width: 16px;
  text-align: center;
  opacity: 0.9;
}

.sales-modal .modal-header .close {
  float: none;
  margin: 0;
  padding: 0 2px;
  color: #fff;
  opacity: 0.75;
  text-shadow: none;
  font-size: 22px;
  line-height: 1;
  transition: opacity 0.15s ease;
}

.sales-modal .modal-header .close:hover,
.sales-modal .modal-header .close:focus {
  opacity: 1;
}

/* --- Gövde ---------------------------------------------------------------- */
.sales-modal .modal-body {
  flex: 1 1 auto;
  padding: 20px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* --- Footer: butonlar her modalde aynı hizada ve sırada ------------------- */
.sales-modal .modal-footer {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
  padding: 12px 20px;
  border-top: 1px solid var(--border-subtle, #e9ecef);
  background: var(--bg-surface-alt, #f8f9fa);
}

.sales-modal .modal-footer .btn { margin: 0; }
.sales-modal .modal-footer .btn > .fa { margin-right: 6px; }
.sales-modal .modal-footer__spacer { margin-right: auto; }

/* --- Bölüm başlığı: "TEDARİKÇİ & SİPARİŞ DETAYLARI" gibi ------------------ */
.sales-modal__section {
  margin: 0 0 18px;
}

.sales-modal__section:last-child { margin-bottom: 0; }

.sales-modal__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-subtle, #e9ecef);
}

.sales-modal__section-title {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--text-secondary, #6c757d);
  display: flex;
  align-items: center;
  gap: 6px;
}

.sales-modal__section-title > .fa {
  width: 14px;
  text-align: center;
  opacity: 0.85;
}

/* Gri panel (ekli dosyalar, özet blokları) */
.sales-modal__panel {
  background: var(--bg-surface-alt, #f8f9fa);
  border: 1px solid var(--border-subtle, #e9ecef);
  border-radius: var(--radius-md, 8px);
  padding: 16px;
}

.sales-modal__empty {
  margin: 0;
  padding: 10px 0;
  font-size: 12px;
  color: var(--text-tertiary, #98a2b3);
  font-style: italic;
}

/* --- Form yerleşimi ------------------------------------------------------- */
.sales-modal .form-group,
.sales-modal .form-group-modern {
  margin-bottom: 14px;
}

.sales-modal .form-label-modern {
  display: block;
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary, #6c757d);
}

.sales-modal .form-label-modern.req::after {
  content: " *";
  color: var(--semantic-danger, #ef4444);
}

/* Tüm giriş alanları aynı yükseklikte: native select, nya-bs-select ve
   input-group birlikte kullanıldığında satırlar kayıyordu. */
.sales-modal .form-control,
.sales-modal .form-control-modern,
.sales-modal .form-select-modern,
.sales-modal .form-input-modern,
.sales-modal .input-group .form-control,
.sales-modal .nya-bs-select .dropdown-toggle,
.sales-modal .input-group-addon,
.sales-modal .input-group-btn > .btn {
  height: 38px !important;
  min-height: 38px;
  font-size: 13px !important;
  border-radius: var(--radius-md, 8px);
}

.sales-modal textarea.form-control,
.sales-modal textarea.form-control-modern {
  height: auto !important;
  min-height: 72px;
  padding: 8px 12px;
}

.sales-modal .input-group-addon {
  background: var(--bg-surface-alt, #f8f9fa);
  border-color: #e5e7eb;
  color: var(--text-secondary, #6c757d);
  font-size: 12px !important;
  line-height: 22px;
}

.sales-modal .nya-bs-select { width: 100%; }

.sales-modal .nya-bs-select .dropdown-toggle {
  display: flex !important;
  align-items: center;
  padding: 0 12px !important;
}

/* Alan altındaki yardımcı metin (ör. "Vade tarihi: 17.11.2026") */
.sales-modal .form-hint {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: var(--text-tertiary, #98a2b3);
}

/* --- Modal içi tablolar --------------------------------------------------- */
.sales-modal .table-responsive-modern,
.sales-modal .table-responsive {
  border: 1px solid var(--border-subtle, #e9ecef);
  border-radius: var(--radius-md, 8px);
  overflow-x: auto;
}

.sales-modal table.table {
  margin-bottom: 0;
  font-size: 13px;
}

.sales-modal table.table > thead > tr > th {
  padding: 8px 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: var(--text-secondary, #6c757d);
  background: var(--bg-surface-alt, #f8f9fa);
  border-bottom: 1px solid var(--border-subtle, #e9ecef);
  white-space: nowrap;
}

.sales-modal table.table > tbody > tr > td {
  padding: 6px 10px;
  vertical-align: middle;
}

/* Tablo içindeki giriş alanları satırı büyütmesin */
.sales-modal table.table .form-control,
.sales-modal table.table .form-control-modern {
  height: 32px !important;
  min-height: 32px;
  padding: 4px 8px;
  font-size: 13px !important;
}

/* Satır silme gibi ikon butonları aynı boyutta */
.sales-modal table.table .btn-icon,
.sales-modal .btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
}

/* Toplam satırı */
.sales-modal__total {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--border-subtle, #e9ecef);
  font-size: 13px;
}

.sales-modal__total strong {
  font-size: 15px;
  color: var(--semantic-primary, #1ab394);
}

/* --- Küçük ekran --------------------------------------------------------- */
@media (max-width: 768px) {
  .sales-modal .modal-dialog {
    margin: 10px;
    max-width: none;
  }

  .sales-modal .modal-content { max-height: calc(100vh - 20px); }
  .sales-modal .modal-body { padding: 16px; }
  .sales-modal .modal-footer { padding: 10px 16px; }
}

/* --- Modal içi kart/bölüm varyasyonları ---------------------------------- */
/* Bazı modaller bölümleri .card-modern ile sarıyor; modal içinde bunlar
   gölgesiz düz bölüm gibi görünsün ki diğer modallerle aynı hissi versin. */
.sales-modal .card-modern {
  border: 1px solid var(--border-subtle, #e9ecef);
  border-radius: var(--radius-md, 8px);
  box-shadow: none;
  margin-bottom: 16px;
}

.sales-modal .card-modern:last-child { margin-bottom: 0; }

.sales-modal .card-modern > .card-body { padding: 16px; }

/* Eski sayfalarda kullanılan bölüm başlığı sınıfı hiçbir CSS'te tanımlı
   değildi (düz h5 olarak render ediliyordu); ortak görünüme bağlanır. */
.sales-modal .form-section-title {
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-subtle, #e9ecef);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--text-secondary, #6c757d);
  display: flex;
  align-items: center;
  gap: 6px;
}

.sales-modal .form-section-title > .fa {
  width: 14px;
  text-align: center;
  opacity: 0.85;
}

/* Modal başında kısa açıklama satırı */
.sales-modal__lead {
  margin: 0 0 16px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--text-secondary, #6c757d);
}

/* --- Ekli dosya satırları ------------------------------------------------- */
.sales-modal__file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  margin-bottom: 6px;
  background: var(--bg-card, #fff);
  border: 1px solid var(--border-subtle, #e9ecef);
  border-radius: 6px;
}

/* Kayıtla birlikte yüklenecek dosyalar kesikli çerçeveyle ayrışır */
.sales-modal__file--pending {
  border-style: dashed;
  border-color: var(--semantic-primary, #1ab394);
}

.sales-modal__file:last-child { margin-bottom: 0; }

.sales-modal__file-info {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 0;
}

.sales-modal__file-name {
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-modal__file-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

/* --- Otomatik hizalanan alan ızgarası ------------------------------------- */
/* Koşullu görünen alanlar (ör. sadece dövizde çıkan "Döviz Kuru") satırı
   bozuyordu: bootstrap kolonları sabit genişlikte olduğu için tek başına
   kalan alan satırın ortasında asılı kalıyordu. Izgara, görünen alan sayısına
   göre eşit dağıtır. */
.sales-modal__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0 16px;
  /* .row'un negatif kenar boşlukları ızgarada içeriği gövde padding'inin dışına
     taşıyordu; clearfix sözde-elemanları da birer ızgara hücresi kaplıyordu. */
  margin-left: 0;
  margin-right: 0;
}

.sales-modal__grid::before,
.sales-modal__grid::after {
  display: none;
}

.sales-modal__grid > [class*="col-"] {
  width: 100%;
  float: none;
  padding-left: 0;
  padding-right: 0;
}

/* --- Onay kutuları -------------------------------------------------------- */
/* Modal içindeki checkbox'lar tek tip: etiketle aynı satırda, hafif çerçeveli
   bir kutu içinde. (Önceden yalnızca bildirim ekranında sayfa-özel stille
   biçimlendirilmişti, diğer modallerde kutu hizasız görünüyordu.) */
.sales-modal .modal-body .checkbox,
.sales-modal .modal-body .checkbox-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
  padding: 10px 12px;
  border: 1px solid var(--border-subtle, #e9ecef);
  border-radius: var(--radius-md, 8px);
  background: var(--bg-card, #fff);
}

.sales-modal .modal-body .checkbox input[type="checkbox"],
.sales-modal .modal-body .checkbox-inline input[type="checkbox"] {
  position: static;
  margin: 0;
  flex: 0 0 auto;
}

.sales-modal .modal-body .checkbox label,
.sales-modal .modal-body .checkbox-inline label {
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary, #212529);
  cursor: pointer;
}

.sales-modal .modal-body .checkbox + small,
.sales-modal .modal-body .checkbox + .form-hint {
  display: block;
  margin-bottom: 12px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-tertiary, #98a2b3);
}

.sales-modal .switch-modern { margin-right: 10px; }
