/* ============================================================
   YM GRUP MATBAA — özel stiller (Bootstrap 5.3 üstüne)
   2026 tema: anlamsal renk token'ları + açık/koyu mod
   ------------------------------------------------------------
   Renkler artık doğrudan hex değil, --ym-* değişkenleri üzerinden
   gelir. [data-bs-theme="dark"] altında aynı değişkenler koyu
   karşılıklarına döner → tek CSS, iki tema.
   ============================================================ */

/* ---------- Marka + AÇIK tema token'ları ---------- */
:root{
  /* Sabit marka renkleri (her iki temada aynı) */
  --ym-koyu:#1f2a44;
  --ym-koyu2:#27324f;
  --ym-turuncu:#e8732c;
  --ym-turuncu2:#d9641f;
  --ym-yesil:#2e9e5b;

  /* MacBook (macOS) sistem yazı tipi — San Francisco / SF Pro. */
  --ym-font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display",
            "Helvetica Neue", "Segoe UI", Roboto, Arial, sans-serif;

  /* Anlamsal yüzeyler (AÇIK) */
  --ym-bg:#eef1f7;          /* sayfa zemini */
  --ym-yuzey:#ffffff;       /* kart / panel */
  --ym-yuzey-2:#f7f8fc;     /* hafif yükseltilmiş alan */
  --ym-yuzey-3:#f3f5fb;     /* tablo başlığı / çip */
  --ym-cizgi:#e6e9f3;       /* kenarlık */
  --ym-cizgi-2:#eef0f6;     /* ince ayraç */
  --ym-metin:#2b3550;       /* ana metin */
  --ym-metin-2:#5b6580;     /* ikincil metin */
  --ym-metin-3:#8a93a8;     /* soluk / etiket */

  /* Üst bar degrade + gölgeler */
  --ym-ust-grad:linear-gradient(90deg,#1f2a44,#27324f);
  --ym-golge-sm:0 1px 2px rgba(20,30,60,.05);
  --ym-golge:0 1px 2px rgba(20,30,60,.04), 0 12px 30px -22px rgba(17,26,52,.4);
  --ym-golge-acilir:0 20px 44px -14px rgba(17,26,52,.34), 0 6px 14px -8px rgba(17,26,52,.12);

  /* Bootstrap gövde yazı tipini geçersiz kıl → tüm bileşenler kalıtır */
  --bs-body-font-family:var(--ym-font);
}

/* ---------- KOYU tema token'ları ---------- */
[data-bs-theme="dark"]{
  --ym-bg:#0e1522;
  --ym-yuzey:#172132;
  --ym-yuzey-2:#1c2740;
  --ym-yuzey-3:#202c46;
  --ym-cizgi:#2a3753;
  --ym-cizgi-2:#243149;
  --ym-metin:#e7ebf5;
  --ym-metin-2:#aab4cc;
  --ym-metin-3:#7e8aa6;

  --ym-ust-grad:linear-gradient(90deg,#10182a,#19223a);
  --ym-golge-sm:0 1px 2px rgba(0,0,0,.4);
  --ym-golge:0 1px 2px rgba(0,0,0,.3), 0 14px 32px -20px rgba(0,0,0,.7);
  --ym-golge-acilir:0 20px 44px -14px rgba(0,0,0,.6), 0 6px 14px -8px rgba(0,0,0,.5);

  /* Bootstrap tabanını zeminle uyumla */
  --bs-body-bg:var(--ym-bg);
  --bs-body-color:var(--ym-metin);
  --bs-border-color:var(--ym-cizgi);
}

body{
  background:var(--ym-bg);
  color:var(--ym-metin);
  font-size:.92rem;
  font-family:var(--ym-font);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-bottom:30px;
}

/* ============ Üst bar ============ */
.ym-navbar{
  background:var(--ym-ust-grad);
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.ym-navbar .nav-link{ color:#cdd6e6; }
.ym-navbar .nav-link.active,
.ym-navbar .nav-link:hover{ color:#fff; }
.ym-logo{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:8px;
  background:var(--ym-turuncu);color:#fff;font-weight:800;letter-spacing:.5px;
}
.ym-brand-logo{
  height:38px; width:auto; display:block;
  background:#fff; padding:5px 11px; border-radius:9px;
  box-shadow:0 2px 6px rgba(0,0,0,.18);
}

/* Tema değiştir düğmesi */
.ym-tema-btn{
  --bs-btn-padding-y:.3rem; --bs-btn-padding-x:.55rem;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.22); color:#dbe3f1; border-radius:9px;
  background:rgba(255,255,255,.05); line-height:1;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.ym-tema-btn:hover{ background:rgba(255,255,255,.14); color:#fff; border-color:rgba(255,255,255,.35); }
.ym-tema-btn i{ font-size:1.02rem; }

/* Üst menü bağlantıları: ince hover vurgusu */
.ym-navbar .navbar-nav > .nav-item > .nav-link{
  border-radius:8px; transition:background .15s ease, color .15s ease;
}
.ym-navbar .navbar-nav > .nav-item > .nav-link:hover,
.ym-navbar .navbar-nav > .nav-item.dropdown:hover > .nav-link{
  background:rgba(255,255,255,.08); color:#fff;
}

/* Açılır ok */
.ym-navbar .dropdown-toggle::after{
  display:inline-block; width:.45em; height:.45em; margin-left:.5em;
  vertical-align:.18em; content:""; border:0;
  border-right:1.7px solid currentColor; border-bottom:1.7px solid currentColor;
  transform:rotate(45deg); opacity:.55;
  transition:transform .2s ease, opacity .2s ease;
}
.ym-navbar .nav-item.dropdown:hover .dropdown-toggle::after,
.ym-navbar .dropdown-toggle.show::after{ transform:rotate(225deg); opacity:.9; }

/* Açılır panel */
.ym-navbar .dropdown-menu{
  --bs-dropdown-min-width:14rem;
  --bs-dropdown-bg:var(--ym-yuzey);
  border:1px solid var(--ym-cizgi); border-radius:14px; padding:7px;
  background:var(--ym-yuzey);
  box-shadow:var(--ym-golge-acilir);
}
.ym-navbar .dropdown-menu.show{ animation:ymDrop .19s cubic-bezier(.16,1,.3,1); }

.ym-navbar .dropdown-item{
  display:flex; align-items:center; gap:11px;
  border-radius:10px; padding:9px 11px; margin:1px 0;
  font-size:.875rem; font-weight:500; color:var(--ym-metin-2);
  transition:background .16s ease, color .16s ease, padding-left .16s ease;
}
.ym-navbar .dropdown-item i{
  display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 30px; width:30px; height:30px; border-radius:9px;
  background:var(--ym-yuzey-3); color:var(--ym-metin-2); font-size:.95rem;
  transition:background .16s ease, color .16s ease, transform .16s ease;
}
.ym-navbar .dropdown-item:hover,
.ym-navbar .dropdown-item:focus{
  background:var(--ym-yuzey-2);
  color:var(--ym-metin); padding-left:14px;
}
.ym-navbar .dropdown-item:hover i,
.ym-navbar .dropdown-item:focus i{
  background:var(--ym-turuncu); color:#fff; transform:scale(1.06);
}
.ym-navbar .nav-item.dropdown .nav-link.active{ color:#fff; }

@keyframes ymDrop{
  from{ opacity:0; transform:translateY(-7px) scale(.975); }
  to{   opacity:1; transform:translateY(0)    scale(1); }
}

/* Geniş ekran: üzerine gelince aç + işaretçi üçgeni + boşluk köprüsü */
@media (min-width:992px){
  .ym-navbar .navbar-nav .dropdown-menu{ margin-top:13px; }
  .ym-navbar .navbar-nav .nav-item.dropdown:hover > .dropdown-menu{
    display:block; animation:ymDrop .19s cubic-bezier(.16,1,.3,1);
  }
  .ym-navbar .navbar-nav .dropdown-menu::before{
    content:""; position:absolute; top:-7px; left:24px; width:13px; height:13px;
    background:var(--ym-yuzey); transform:rotate(45deg);
    border-left:1px solid var(--ym-cizgi); border-top:1px solid var(--ym-cizgi);
    border-radius:3px 0 0 0;
  }
  .ym-navbar .navbar-nav .dropdown-menu::after{
    content:""; position:absolute; top:-13px; left:0; right:0; height:13px;
  }
}

/* ============ Kartlar ============ */
.card{
  border:1px solid var(--ym-cizgi);
  background:var(--ym-yuzey);
  border-radius:14px;
  box-shadow:var(--ym-golge-sm);
}
.card-header{
  background:var(--ym-yuzey); color:var(--ym-metin);
  font-weight:700; border-bottom:1px solid var(--ym-cizgi-2);
}

/* ============ KPI kartları (dashboard) — 2026 görünüm ============ */
.kpi{
  background:var(--ym-yuzey); border:1px solid var(--ym-cizgi);
  border-radius:14px; padding:14px 15px; height:100%;
  box-shadow:var(--ym-golge-sm);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.kpi:hover{ transform:translateY(-2px); box-shadow:var(--ym-golge); border-color:var(--ym-cizgi); }
.kpi-ust{ display:flex; align-items:center; justify-content:space-between; }
.kpi-ikon{
  width:42px; height:42px; border-radius:12px; flex:0 0 42px;
  display:inline-flex; align-items:center; justify-content:center; font-size:1.25rem;
}
.kpi-ikon.navy{    background:rgba(58,77,134,.14);  color:#5d76c2; }
.kpi-ikon.mavi{    background:rgba(24,95,165,.13);  color:#3a8ad8; }
.kpi-ikon.yesil{   background:rgba(30,126,69,.14);  color:#2fae62; }
.kpi-ikon.turuncu{ background:rgba(232,115,44,.14); color:var(--ym-turuncu); }
.kpi-etiket{
  font-size:.7rem; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  color:var(--ym-metin-3); margin-top:12px;
}
.kpi-deger{ font-size:1.55rem; font-weight:800; color:var(--ym-metin); line-height:1.15; }
.kpi-alt{ font-size:.72rem; color:var(--ym-metin-3); margin-top:2px; }

/* Eski .stat blokları (varsa) — geriye dönük uyumluluk */
.stat{ border-radius:14px; color:#fff; }
.stat .stat-ust{ opacity:.85; font-size:.78rem; text-transform:uppercase; letter-spacing:.4px; }
.stat .stat-buyuk{ font-size:1.55rem; font-weight:800; line-height:1.1; }
.stat.koyu{ background:linear-gradient(135deg,#33415c,#1f2a44); }
.stat.turuncu{ background:linear-gradient(135deg,#f08a3c,#d9641f); }
.stat.yesil{ background:linear-gradient(135deg,#37b06a,#258a4c); }
.stat.mavi{ background:linear-gradient(135deg,#3b82c4,#2563a8); }

/* ============ Tablolar ============ */
.table{
  --bs-table-bg:transparent;
  --bs-table-color:var(--ym-metin);
  --bs-table-border-color:var(--ym-cizgi-2);
}
.table thead th{
  background:var(--ym-yuzey-3); color:var(--ym-metin-2); font-size:.78rem;
  text-transform:uppercase; letter-spacing:.3px; border-bottom:2px solid var(--ym-cizgi);
}
.table-hover tbody tr:hover{ background:var(--ym-yuzey-2); }

/* ============ KURUMSAL LİSTE TABLOSU ============ */
.liste-card{
  border:1px solid var(--ym-cizgi);
  border-radius:14px;
  overflow:hidden;
  background:var(--ym-yuzey);
  box-shadow:var(--ym-golge);
}
.liste-baslik{
  display:flex; align-items:center; flex-wrap:wrap; gap:.5rem .75rem;
  padding:.72rem 1rem;
  background:var(--ym-yuzey-2);
  border-bottom:1px solid var(--ym-cizgi-2);
}
.liste-baslik-ad{
  display:inline-flex; align-items:center; gap:10px;
  margin:0; font-size:.95rem; font-weight:700; color:var(--ym-metin);
}
.liste-baslik-ad > i{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:9px;
  background:rgba(232,115,44,.14); color:var(--ym-turuncu); font-size:.95rem;
}
.liste-baslik-arama{
  position:relative; width:min(100%, 280px); margin-left:auto;
}
.liste-baslik-arama-kutu{
  position:relative; display:flex; align-items:center; width:100%;
}
.liste-baslik-arama-kutu .search-icon{
  position:absolute; left:.65rem; top:50%; transform:translateY(-50%);
  color:var(--ym-metin-3); font-size:.8rem; pointer-events:none; z-index:2; line-height:1;
}
.liste-baslik-arama-input{
  width:100%; height:32px; padding:0 1.8rem 0 2rem;
  border:1px solid var(--ym-cizgi); border-radius:8px;
  background:var(--ym-yuzey); color:var(--ym-metin); font:inherit; font-size:.76rem;
  box-sizing:border-box; appearance:none;
  outline:none; transition:border-color .15s ease, box-shadow .15s ease;
}
.liste-baslik-arama-input::placeholder{ color:var(--ym-metin-3); }
.liste-baslik-arama-input:focus{
  border-color:#86aef5; box-shadow:0 0 0 3px rgba(45,108,223,.12);
}
.liste-baslik-arama-temizle{
  position:absolute; right:.4rem; top:50%; transform:translateY(-50%);
  z-index:2; display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; padding:0; border:none; background:transparent;
  color:var(--ym-metin-3); font-size:.75rem; cursor:pointer; border-radius:50%;
  transition:color .15s ease, background-color .15s ease;
}
.liste-baslik-arama-temizle:hover{
  color:var(--ym-metin); background-color:var(--ym-yuzey-3);
}
.liste-sayac{
  margin-left:0;
  display:inline-flex; align-items:center; gap:5px;
  padding:.22rem .62rem; border-radius:999px;
  background:var(--ym-yuzey-3); border:1px solid var(--ym-cizgi); color:var(--ym-metin-2);
  font-size:.72rem; font-weight:700; letter-spacing:.2px; white-space:nowrap;
}
@media (max-width: 640px){
  .liste-baslik-arama{ order:3; flex:1 0 100%; width:100%; }
  .liste-sayac{ margin-left:auto; }
}
.liste-araclar{ display:inline-flex; align-items:center; gap:.4rem; }

.liste-tablo{ margin-bottom:0; --bs-table-bg:transparent; color:var(--ym-metin); }
.liste-tablo > thead > tr > th{
  background:var(--ym-yuzey-3); color:var(--ym-metin-2);
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.4px;
  padding:.6rem 1rem; border-bottom:1px solid var(--ym-cizgi); white-space:nowrap;
  vertical-align:middle;
}
.liste-tablo > tbody > tr > td{
  padding:.62rem 1rem; vertical-align:middle;
  border-top:1px solid var(--ym-cizgi-2);
}
.liste-tablo > tbody > tr:first-child > td{ border-top:0; }
.liste-tablo > tbody > tr{ transition:background .12s ease, box-shadow .12s ease; }
.liste-tablo.table-hover > tbody > tr:hover{
  background:var(--ym-yuzey-2);
  box-shadow:inset 3px 0 0 var(--ym-turuncu);
}

.liste-islem{
  display:inline-flex; align-items:center; justify-content:flex-end;
  gap:.3rem; flex-wrap:nowrap;
}
.liste-islem form{ margin:0; display:inline-flex; }
.liste-islem .btn{
  --bs-btn-padding-y:.28rem; --bs-btn-padding-x:.5rem;
  --bs-btn-border-radius:8px; line-height:1;
}

.liste-bos{ padding:2.6rem 1rem; text-align:center; color:var(--ym-metin-3); }
.liste-bos .bi{ font-size:1.6rem; display:block; margin-bottom:.4rem; opacity:.55; }

/* ---- Kağıt kartları: satır içi yerleşim çizimi + popup ---- */
.kagit-cizim-btn{
  appearance:none; border:1px solid var(--ym-cizgi); background:var(--ym-yuzey-2);
  border-radius:8px; padding:4px 7px; min-width:126px;
  display:inline-flex; align-items:center; gap:8px; color:var(--ym-metin);
  text-align:left; cursor:pointer;
}
.kagit-cizim-btn:hover{ border-color:#9fb6e6; background:#f3f7ff; }
.kagit-cizim-mini{
  width:46px; height:32px; flex:0 0 46px;
  display:grid; place-items:center;
}
.kagit-cizim-ozet{ display:flex; flex-direction:column; line-height:1.1; }
.kagit-cizim-ozet b{ font-size:.82rem; color:var(--ym-metin); }
.kagit-cizim-ozet small{ font-size:.66rem; color:var(--ym-metin-3); white-space:nowrap; }
.kagit-cizim-modal-grid{
  display:grid; grid-template-columns:minmax(280px, 1fr) 240px;
  gap:16px; align-items:start;
}
.kagit-cizim-stage{
  min-height:340px; border:1px solid var(--ym-cizgi); border-radius:10px;
  background:var(--ym-yuzey-2); padding:12px; display:grid; place-items:center;
}
.kagit-cizim-svg{
  width:100%; max-width:520px; height:auto;
  background:#fff; border:1px solid var(--ym-cizgi); border-radius:6px;
}
.kagit-cizim-panel{
  border:1px solid var(--ym-cizgi); border-radius:10px; padding:12px;
  background:var(--ym-yuzey);
}
.kagit-cizim-sonuc{
  display:grid; gap:6px; padding-top:4px;
}
.kagit-cizim-sonuc div{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  border-bottom:1px solid var(--ym-cizgi-2); padding-bottom:5px;
}
.kagit-cizim-sonuc span{ font-size:.72rem; color:var(--ym-metin-3); }
.kagit-cizim-sonuc b{
  color:var(--ym-metin); font-variant-numeric:tabular-nums;
  text-align:right; min-width:0; overflow-wrap:anywhere;
}
.kagit-cizim-bos{ color:var(--ym-metin-3); font-size:.85rem; text-align:center; }
@media (max-width:767.98px){
  .kagit-cizim-modal-grid{ grid-template-columns:1fr; }
  .kagit-cizim-stage{ min-height:240px; }
}

/* ---- Mobil: liste tablosunu "kart" görünümüne çevir ---- */
@media (max-width:575.98px){
  .liste-tablo.tablo-kart{ display:block; }
  .liste-tablo.tablo-kart thead{ display:none; }
  .liste-tablo.tablo-kart tbody,
  .liste-tablo.tablo-kart tbody tr{ display:block; }
  .liste-tablo.tablo-kart tbody tr{
    border:1px solid var(--ym-cizgi); border-radius:12px;
    margin:.55rem .65rem; padding:.35rem .15rem; background:var(--ym-yuzey);
  }
  .liste-tablo.tablo-kart > tbody > tr > td{
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    border:0; border-bottom:1px solid var(--ym-cizgi-2); padding:.5rem .85rem;
    text-align:right;
  }
  .liste-tablo.tablo-kart > tbody > tr > td:last-child{ border-bottom:0; }
  .liste-tablo.tablo-kart > tbody > tr > td::before{
    content:attr(data-etiket); flex:0 0 auto; text-align:left;
    font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.3px;
    color:var(--ym-metin-3);
  }
  .liste-tablo.tablo-kart .liste-islem{ justify-content:flex-end; }
}

/* Bakiye renkleri */
.bakiye-borc{ color:#d6584a; font-weight:700; }
.bakiye-alacak{ color:#2aa35c; font-weight:700; }
.bakiye-sifir{ color:var(--ym-metin-3); }

/* Para hücreleri */
.para{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }

/* ---- Tüm Kasa Hareketleri: özet kartları + filtre çubuğu ---- */
.kh-ozet{ border:1px solid var(--ym-cizgi); background:var(--ym-yuzey); }
.kh-ozet-ikon{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:14px; flex:0 0 52px;
  background:var(--ym-yuzey-3); font-size:1.5rem;
}
.kh-filtre .form-label{ font-weight:600; color:var(--ym-metin-2); }
#kh-tablo thead th{ white-space:nowrap; font-size:.8rem; }
#kh-tablo_wrapper .dataTables_info{ font-size:.82rem; color:var(--ym-metin-3); }

/* ---- Cari ekstresi özet kartları ---- */
.ekstre-ozet{ border:1px solid var(--ym-cizgi); background:var(--ym-yuzey); }
.ekstre-ozet .ekstre-ikon{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:12px; flex:0 0 42px;
  background:var(--ym-yuzey-3); color:var(--ym-metin-2); font-size:1.25rem;
}
#cari-ekstre tfoot td{ border-top:2px solid var(--ym-cizgi); background:var(--ym-yuzey-2); }

/* ---- Firma autocomplete (sipariş formu) ---- */
.firma-wrap{ position:relative; }
.firma-ac{
  position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:1060;
  background:var(--ym-yuzey); border:1px solid var(--ym-cizgi); border-radius:.6rem;
  box-shadow:var(--ym-golge-acilir); max-height:340px; overflow-y:auto;
  padding:.25rem;
}
.firma-item{
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  padding:.5rem .65rem; border-radius:.45rem; cursor:pointer; line-height:1.25;
}
.firma-item:hover, .firma-item.on{ background:var(--ym-yuzey-2); }
.firma-sol{ min-width:0; }
.firma-ad{ font-weight:600; color:var(--ym-metin); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.firma-ad mark{ background:#fff3bf; color:inherit; padding:0; border-radius:2px; }
.firma-meta{ font-size:11px; color:var(--ym-metin-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.firma-kod{
  display:inline-block; font-weight:600; color:var(--ym-metin-2);
  background:var(--ym-yuzey-3); border-radius:4px; padding:0 .35rem;
}
.firma-bos{ padding:.6rem .65rem; font-size:12px; color:var(--ym-metin-3); }
.bk{
  flex:none; font-size:11px; font-weight:700; white-space:nowrap;
  padding:.18rem .5rem; border-radius:999px; border:1px solid transparent;
}
.bk-borc{   color:#c0392b; background:#fdecea; border-color:#f5c6c0; }
.bk-alacak{ color:#1e7e45; background:#e7f6ec; border-color:#bfe6cd; }
.bk-temiz{  color:#6c757d; background:#f1f3f5; border-color:#e3e6ea; }

/* Giriş ekranı */
.login-wrap{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#1f2a44,#34405e);
}
.login-card{ width:100%; max-width:380px; }
.login-logo{
  width:64px;height:64px;border-radius:14px;background:var(--ym-turuncu);
  color:#fff;font-weight:800;font-size:1.5rem;
  display:flex;align-items:center;justify-content:center;margin:0 auto 12px;
}
.login-logo-img{
  display:block; width:100%; max-width:240px; height:auto;
  margin:0 auto 18px;
}

/* Sabit alt şerit */
.ym-footer{
  position:fixed; left:0; right:0; bottom:0; z-index:1020;
  height:30px; display:flex; align-items:center; justify-content:space-between;
  padding:0 16px;
  background:var(--ym-yuzey); border-top:1px solid var(--ym-cizgi);
  box-shadow:0 -2px 10px rgba(17,26,52,.06);
  color:var(--ym-metin-3); font-size:.72rem; letter-spacing:.2px; white-space:nowrap;
}
.ym-footer-sol{ display:inline-flex; align-items:center; gap:7px; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.ym-footer-orta{
  position:absolute; left:50%; transform:translateX(-50%);
  display:inline-flex; align-items:center; gap:5px; color:var(--ym-metin-2); font-weight:500;
}
.ym-footer-orta i{ font-size:.82rem; color:var(--ym-turuncu); }
.ym-footer-sag{ display:inline-flex; align-items:center; gap:5px; color:var(--ym-metin-3); }
.ym-footer-sag i{ font-size:.82rem; }
.ym-footer-dot{
  flex:0 0 auto;
  width:6px; height:6px; border-radius:50%;
  background:var(--ym-turuncu); box-shadow:0 0 0 3px rgba(232,115,44,.16);
}

/* Mobil/tablet: ortadaki tarih şeridini gizle (taşmasın) */
@media (max-width:767.98px){
  .ym-footer-orta{ display:none; }
}

/* Yazdırma */
@media print{
  .ym-navbar, footer, .no-print{ display:none !important; }
  body{ background:#fff; padding-bottom:0; }
  .card{ box-shadow:none; }
}

/* ============ Sipariş / Teklif fiyatlandırma formu ============ */
.prod-tabs{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.prod-tab{ display:inline-flex; align-items:center; gap:4px; padding:6px 12px; border:1px solid var(--ym-cizgi);
  border-radius:8px; background:var(--ym-yuzey-2); cursor:pointer; font-size:.85rem; font-weight:600; user-select:none;
  color:var(--ym-metin); }
.prod-tab.active{ background:#2d6cdf; color:#fff; border-color:#2d6cdf; }
.prod-tab.active .badge{ background:#fff !important; color:#2d6cdf !important; border-color:#fff !important; }
.prod-close{ cursor:pointer; opacity:.75; padding:0 3px; font-weight:700; }
.prod-close:hover{ opacity:1; }

.urun-head-grid{ display:flex; flex-wrap:wrap; gap:12px; align-items:end; }
.urun-head-grid label{ display:block; color:var(--ym-metin-2); font-weight:500; font-size:.72rem; }

/* ============ Section Tabs (Baskı Öncesi / Baskı / Malzeme / İşlem / Organize) ============ */
.section-tabs {
  border-bottom: 2px solid #e2e8f0;
  gap: 4px;
}
.section-tabs .nav-link {
  cursor: pointer;
  color: #475569;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-bottom: 2px solid transparent;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  transition: all 0.2s ease-in-out;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  margin-bottom: -2px;
}
.section-tabs .nav-link i {
  font-size: 1.05rem;
  color: #64748b;
  transition: all 0.2s ease-in-out;
}
.section-tabs .nav-link:hover {
  color: #1e293b;
  background-color: #f1f5f9;
  border-color: #e2e8f0 #e2e8f0 transparent;
}
.section-tabs .nav-link:hover i {
  color: #2563eb;
  transform: scale(1.08);
}
.section-tabs .nav-link.active {
  color: #1e40af !important;
  font-weight: 700 !important;
  background-color: #ffffff !important;
  border-color: #cbd5e1 #cbd5e1 #ffffff !important;
  border-top: 3px solid #2563eb !important;
  border-bottom: 2px solid #ffffff !important;
  box-shadow: 0 -3px 10px rgba(37, 99, 235, 0.1) !important;
}
.section-tabs .nav-link.active i {
  color: #2563eb !important;
  font-size: 1.15rem !important;
  transform: scale(1.15);
  filter: drop-shadow(0 2px 4px rgba(37, 99, 235, 0.25));
}
[data-bs-theme="dark"] .section-tabs {
  border-bottom-color: #334155;
}
[data-bs-theme="dark"] .section-tabs .nav-link {
  color: #94a3b8;
}
[data-bs-theme="dark"] .section-tabs .nav-link i {
  color: #64748b;
}
[data-bs-theme="dark"] .section-tabs .nav-link:hover {
  color: #f8fafc;
  background-color: #1e293b;
  border-color: #334155 #334155 transparent;
}
[data-bs-theme="dark"] .section-tabs .nav-link.active {
  color: #60a5fa !important;
  background-color: #0f172a !important;
  border-color: #334155 #334155 #0f172a !important;
  border-top: 3px solid #3b82f6 !important;
  border-bottom: 2px solid #0f172a !important;
}
[data-bs-theme="dark"] .section-tabs .nav-link.active i {
  color: #60a5fa !important;
}

table.grid{ font-size:.82rem; }
table.grid th{ white-space:nowrap; font-weight:600; padding:5px 6px; vertical-align:middle; }
table.grid td{ padding:3px 5px; vertical-align:middle; }
table.grid .form-control-sm,table.grid .form-select-sm{ font-size:.8rem; padding:3px 6px; }
table.grid .tot{ font-variant-numeric:tabular-nums; white-space:nowrap; }
#tbl-baski tbody tr[data-i]:hover > td{ background:rgba(45,108,223,.045); }
.kalip-h{ background:#fff7e6 !important; color:#9a6b00 !important; }
.ikon-btn{ cursor:pointer; color:var(--ym-metin-2); font-size:.85rem; }
.ikon-btn.sil{ color:#dc3545; }
.ikon-btn:hover{ filter:brightness(.8); }
.yerlesim-sonuc{
  display:inline-block; min-width:76px; margin-left:5px;
  font-size:.7rem; font-weight:700; white-space:nowrap;
  color:var(--ym-metin-2); font-variant-numeric:tabular-nums;
  cursor:pointer;
}
.yerlesim-sonuc:hover{ color:#2d6cdf; text-decoration:underline; }
.yerlesim-formul{
  margin-top:10px; padding:7px 8px; border-radius:7px;
  background:var(--ym-yuzey-2); color:var(--ym-metin-2);
  font-size:.76rem; font-weight:700; font-variant-numeric:tabular-nums;
}
.yerlesim-uyari{
  margin-top:7px; padding:6px 8px; border-radius:7px;
  border:1px solid #f3d28a; background:#fff8e1; color:#9a6b00;
  font-size:.74rem; font-weight:700;
}

.kur-cell{ border:1px solid var(--ym-cizgi); border-radius:8px; padding:4px 2px; background:var(--ym-yuzey-2); }
.kur-cell b{ display:block; font-size:.95rem; line-height:1.1; }
.kur-cell small{ color:var(--ym-metin-3); font-size:.66rem; }
.totbox{ border:1px solid var(--ym-cizgi-2); border-radius:8px; overflow:hidden; }
.trow{ display:grid; grid-template-columns:auto 1fr auto 1fr; align-items:center; gap:2px 10px;
  padding:6px 10px; border-bottom:1px solid var(--ym-cizgi-2); }
.trow:last-child{ border-bottom:0; }
.trow.sale-row{ grid-template-columns:auto 1fr; background:#eafaf0; }
.trow .lbl{ font-size:.68rem; color:var(--ym-metin-2); text-transform:uppercase; letter-spacing:.02em; }
.trow .val{ text-align:right; font-weight:700; font-variant-numeric:tabular-nums; }
.val.cost{ background:#fff7e6; padding:1px 6px; border-radius:4px; }
.val.big{ font-size:1.05rem; }
.val.sale.big{ color:#157347; font-size:1.45rem; }
.hes-inp{ border:0; border-bottom:1px solid var(--ym-cizgi); width:100%; text-align:right; font-weight:700;
  padding:1px 3px; background:transparent; color:var(--ym-metin); }
.hes-inp:focus{ outline:0; border-bottom-color:#2d6cdf; }
.not-box{ background:#fffdf5; }

/* Üst bölümü kompaktla (Teklif Bilgileri + Hesaplama) */
.teklif-ust .card-body{ padding:.5rem .75rem; }
.teklif-ust .form-label{ font-size:.66rem; margin-bottom:1px !important; color:var(--ym-metin-2); }
.teklif-ust .form-control,.teklif-ust .form-select{ padding:.18rem .5rem; min-height:auto; line-height:1.3; }
.teklif-ust .not-box{ height:34px; min-height:34px; }
.teklif-ust .totbox .trow{ padding:4px 10px; }
.teklif-ust .kur-cell{ padding:2px; }
.teklif-ust .kur-cell b{ font-size:.88rem; }
.teklif-ust .val.sale.big{ font-size:1.25rem; }

/* ============ Kurumsal Dialog / Modal Stilleri ============ */
.ym-dialog-modal .modal-backdrop.show {
  backdrop-filter: blur(5px);
  background-color: rgba(15, 23, 42, 0.5);
}
.ym-dialog-content {
  border-radius: 18px !important;
  background: var(--ym-yuzey) !important;
  color: var(--ym-metin) !important;
  box-shadow: var(--ym-golge-acilir) !important;
  border: 1px solid var(--ym-cizgi) !important;
  overflow: hidden;
  animation: ymDialogPop 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes ymDialogPop {
  0% { opacity: 0; transform: scale(0.95) translateY(-8px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
.ym-dialog-icon-box {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.45rem;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.ym-dialog-icon-box.type-prompt,
.ym-dialog-icon-box.type-info {
  background: rgba(31, 42, 68, 0.08);
  color: var(--ym-koyu);
}
[data-bs-theme="dark"] .ym-dialog-icon-box.type-prompt,
[data-bs-theme="dark"] .ym-dialog-icon-box.type-info {
  background: rgba(255, 255, 255, 0.1);
  color: #79a6ff;
}
.ym-dialog-icon-box.type-warning,
.ym-dialog-icon-box.type-danger {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}
.ym-dialog-icon-box.type-success {
  background: rgba(46, 158, 91, 0.12);
  color: var(--ym-yesil);
}
.ym-dialog-text {
  font-size: 0.94rem;
  line-height: 1.55;
  color: var(--ym-metin-2);
}
.ym-dialog-input {
  border-radius: 10px !important;
  font-size: 0.95rem !important;
  padding: 0.65rem 0.95rem !important;
  border: 1.5px solid var(--ym-cizgi) !important;
  background-color: var(--ym-yuzey-2) !important;
  color: var(--ym-metin) !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ym-dialog-input:focus {
  border-color: var(--ym-koyu) !important;
  box-shadow: 0 0 0 3px rgba(31, 42, 68, 0.15) !important;
  background-color: var(--ym-yuzey) !important;
}
[data-bs-theme="dark"] .ym-dialog-input:focus {
  border-color: #5c8df6 !important;
  box-shadow: 0 0 0 3px rgba(92, 141, 246, 0.25) !important;
}
#ym-dialog-btn-cancel {
  border-radius: 10px;
  font-weight: 500;
  padding: 8px 20px;
  border-color: var(--ym-cizgi);
  color: var(--ym-metin-2);
}
#ym-dialog-btn-cancel:hover {
  background-color: var(--ym-yuzey-2);
  color: var(--ym-metin);
}
#ym-dialog-btn-confirm {
  border-radius: 10px;
  font-weight: 600;
  padding: 8px 22px;
  background: var(--ym-koyu);
  border-color: var(--ym-koyu);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(31, 42, 68, 0.25);
}
#ym-dialog-btn-confirm:hover {
  background: var(--ym-koyu2);
  border-color: var(--ym-koyu2);
}
#ym-dialog-btn-confirm.btn-danger-custom {
  background: #dc3545;
  border-color: #dc3545;
  box-shadow: 0 4px 12px rgba(220, 53, 69, 0.25);
}
#ym-dialog-btn-confirm.btn-danger-custom:hover {
  background: #bb2d3b;
  border-color: #b02a37;
}

