:root {
    --primary: #4f46e5;
    --primary-dark: #4338ca;
    --primary-soft: #eef2ff;
    --sidebar-bg: #1e1b4b;
    --sidebar-text: #c7d2fe;
    --body-bg: #f5f6fb;
    --card-border: #e8eaf3;
    --text: #1f2937;
    --muted: #6b7280;
    --bs-primary: #4f46e5;
    --bs-primary-rgb: 79, 70, 229;
    --bs-body-font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --bs-link-color: #4f46e5;
    --bs-link-color-rgb: 79, 70, 229;
}

* { font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif; }
.bi::before { font-family: bootstrap-icons !important; }

body {
    background: var(--body-bg);
    color: var(--text);
    font-size: 14px;
}

.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary-dark);
    --bs-btn-hover-border-color: var(--primary-dark);
    --bs-btn-active-bg: var(--primary-dark);
    --bs-btn-disabled-bg: var(--primary);
}
.btn-outline-primary {
    --bs-btn-color: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-active-bg: var(--primary);
}
.text-bg-primary { background-color: var(--primary) !important; }
.text-primary { color: var(--primary) !important; }
.bg-primary-soft { background: var(--primary-soft); }
.form-control:focus, .form-select:focus {
    border-color: #a5b4fc;
    box-shadow: 0 0 0 .2rem rgba(79, 70, 229, .15);
}
.form-label { font-weight: 500; font-size: 13px; color: #374151; margin-bottom: .3rem; }
.form-control, .form-select { font-size: 14px; border-color: #dfe3ee; }
.pagination { --bs-pagination-active-bg: var(--primary); --bs-pagination-active-border-color: var(--primary); --bs-pagination-color: var(--primary); }
.gun-secici { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 6px; }
.gun-secici .btn { --bs-btn-padding-y: 1px; --bs-btn-padding-x: 8px; --bs-btn-font-size: 12px; --bs-btn-border-radius: 6px; }
.gun-secici .gun-elle { width: 96px; flex-wrap: nowrap; }
.gun-secici .gun-elle .form-control, .gun-secici .gun-elle .input-group-text { padding: 1px 6px; font-size: 12px; }
.bakiye-satir { display: flex; justify-content: space-between; align-items: center; padding: 7px 0; border-bottom: 1px dashed var(--card-border); }
.bakiye-satir:last-child { border-bottom: none; }
.bakiye-sonra { margin-top: 12px; background: var(--body-bg); border: 1px solid var(--card-border); border-radius: 10px; padding: 12px 14px; }
.tip-aciklama { display: flex; align-items: flex-start; gap: 6px; margin: -4px 0 14px; font-size: 12px; color: var(--muted); }
.belge-alan {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    flex: 1 1 auto; min-height: 130px; margin: 0; padding: 16px; text-align: center;
    border: 1.5px dashed #d6d9e6; border-radius: 12px; background: #fafbfe; cursor: pointer;
    transition: border-color .15s, background .15s;
}
.belge-alan > i { font-size: 28px; line-height: 1; color: var(--primary); }
.belge-alan:hover, .belge-alan.surukle, .belge-kart.surukle { border-color: var(--primary); background: var(--primary-soft); }
.belge-kart { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--card-border); border-radius: 12px; background: #fafbfe; transition: border-color .15s, background .15s; }
.belge-onizleme { flex: 0 0 52px; height: 52px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--card-border); border-radius: 8px; background: #fff; }
.belge-onizleme img { width: 100%; height: 100%; object-fit: cover; }
.belge-onizleme i { font-size: 24px; color: #dc2626; }
.belge-bilgi { flex: 1 1 auto; min-width: 0; }
.belge-ad { font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.belge-islemler { display: flex; gap: 4px; }
.gun-secici-blok { flex-wrap: nowrap; margin-top: 0; gap: 6px; }
.gun-secici-blok .btn { flex: 1 1 0; min-width: 0; --bs-btn-padding-y: .375rem; --bs-btn-padding-x: 4px; --bs-btn-font-size: 14px; --bs-btn-border-radius: 9px; }
.gun-secici-blok .gun-elle { flex: 1.6 1 0; width: auto; min-width: 0; }
.gun-secici-blok .gun-elle .form-control { padding: .375rem .5rem; font-size: 14px; min-width: 0; text-align: center; border-radius: 9px !important; }

/* Layout */
.app { display: flex; flex-direction: column; min-height: 100vh; }
.topnav {
    position: sticky; top: 0; z-index: 1030;
    background: linear-gradient(90deg, #1e1b4b 0%, #312e81 100%);
    color: var(--sidebar-text);
    box-shadow: 0 2px 10px rgba(30,27,75,.15);
}
.topnav-bar {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 28px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.brand {
    display: flex; align-items: center; gap: 10px;
    color: #fff; text-decoration: none;
    font-weight: 600; font-size: 16px;
    margin-right: auto; min-width: 0;
}
.brand-icon {
    width: 36px; height: 36px; border-radius: 10px;
    background: rgba(255,255,255,.12);
    display: grid; place-items: center; font-size: 18px;
}
.brand-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topnav-rates { display: flex; align-items: center; gap: 8px; background: none; border: none; padding: 0; cursor: pointer; }
.topnav-rates .rate-chip { transition: background .15s, border-color .15s; }
.topnav-rates:hover .rate-chip { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.25); }
.rate-chip-icon { color: #fff; }
/* Üst çubuktaki kur etiketleri, yönetim bağlantıları ve Yeni Teklif aynı yükseklikte hap biçimindedir. */
.rate-chip, .topnav-link, .topnav-cta { display: inline-flex; align-items: center; height: 32px; border-radius: 20px; font-size: 12.5px; white-space: nowrap; }
.rate-chip { gap: 4px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.12); padding: 0 12px; color: var(--sidebar-text); }
.rate-chip b { color: #fff; font-weight: 600; }
.topnav-admin { display: flex; align-items: center; gap: 8px; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.15); }
.topnav-link {
    gap: 6px; padding: 0 12px;
    background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.12);
    color: #fff; text-decoration: none;
    transition: background .15s, border-color .15s;
}
.topnav-link i { font-size: 14px; color: var(--sidebar-text); }
.topnav-link:hover, .topnav-link:focus-visible { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.25); color: #fff; }
.topnav .topnav-cta { padding: 0 14px; font-weight: 500; border-radius: 20px; }
.topnav .user-btn { height: 32px; padding: 0 12px 0 3px; font-size: 12.5px; }
.topnav .user-btn .avatar { width: 26px; height: 26px; font-size: 12px; }
.top-menu {
    display: flex; flex-wrap: wrap; align-items: center; gap: 4px;
    padding: 8px 28px;
}
.top-menu a {
    display: flex; align-items: center; gap: 8px;
    padding: 7px 14px;
    color: var(--sidebar-text); text-decoration: none;
    border-radius: 9px; font-weight: 400; white-space: nowrap;
    transition: background .15s, color .15s;
}
.top-menu a i { font-size: 16px; }
.top-menu a:hover, .top-menu a.show { background: rgba(255,255,255,.08); color: #fff; }
.top-menu a.active { background: #fff; color: var(--sidebar-bg); font-weight: 500; }
.top-menu .dropdown-item.active, .top-menu .dropdown-item:active { background: var(--primary-soft); color: var(--primary); }
.top-menu .dropdown-item { color: var(--text); border-radius: 0; padding: 8px 16px; }

.main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.page-head { padding: 22px 28px 0; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.page-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.page-actions .btn-grup { display: flex; gap: 8px; }
.page-actions .ayrac { width: 1px; align-self: stretch; background: var(--card-border); margin: 0 4px; }
.page-actions .btn { min-width: 128px; }

.filtre-kart { padding: 14px 16px; margin-bottom: 18px; }
.filtre-grid { display: grid; gap: 10px; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.7fr) auto; align-items: center; }
.filtre-grid .tarih-aralik .form-control { min-width: 0; }
.filtre-grid .filtre-btnlar { display: flex; gap: 8px; }
@media (max-width: 1199.98px) {
    .filtre-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .filtre-grid .filtre-ara, .filtre-grid .tarih-aralik { grid-column: 1 / -1; }
    .filtre-grid .filtre-btnlar { grid-column: 1 / -1; }
    .filtre-grid .filtre-btnlar .btn-primary { flex: 1; }
}
@media (min-width: 1200px) {
    .filtre-grid.filtre-grid-cek { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) minmax(0, 2.2fr) auto; }
}
.tablo-cek { min-width: 1200px; }
.tablo-cek tbody tr { height: 66px; }
.tablo-cek .hucre-yigin { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.tablo-cek .hucre-yigin .badge:not(.badge-durum) { min-width: 84px; }
.tablo-cek td > .badge { min-width: 64px; }
.tablo-cek .badge-durum { min-width: 140px; }
.tablo-cek .tek-satir { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kart-alt { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; align-items: center; padding: 12px 20px; border-top: 1px solid var(--card-border); background: #fafbfe; }
.kart-alt-toplamlar { display: flex; flex-wrap: wrap; gap: 8px; }
.toplam-chip { font-size: 12.5px; color: var(--muted); background: #fff; border: 1px solid var(--card-border); border-radius: 20px; padding: 4px 12px; }
.toplam-chip b { font-weight: 600; margin-left: 4px; }
.toplam-alinan b { color: #059669; }
.toplam-verilen b { color: #dc2626; }
.kart-baslik { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 54px; }
.kart-baslik .bi { color: var(--primary); }
.dagilim-grup + .dagilim-grup { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--card-border); }
.dagilim-satir + .dagilim-satir { margin-top: 10px; }
.tur-hucre { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
@media (min-width: 1200px) { .yapiskan { position: sticky; top: 130px; } }
.page-title { font-size: 20px; font-weight: 600; margin: 0; }
.user-btn { display: flex; align-items: center; gap: 8px; border: 1px solid var(--card-border); background: #fff; border-radius: 30px; padding: 4px 12px 4px 4px; font-size: 13px; }
.avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--primary); color: #fff; display: grid; place-items: center; font-weight: 600; font-size: 13px; }
.btn-icon { border: none; background: transparent; font-size: 22px; padding: 0 6px; }
.topnav .btn-icon { color: #fff; }
.content { padding: 18px 28px 24px; flex: 1; }
.app-footer { padding: 16px 28px; color: var(--muted); font-size: 12px; }

@media (max-width: 991.98px) {
    .top-menu { display: none; flex-direction: column; align-items: stretch; padding: 8px 16px 12px; }
    .top-menu.open { display: flex; }
    .top-menu .dropdown-menu { position: static !important; transform: none !important; margin-top: 4px; }
    .topnav-bar, .page-head, .content, .app-footer { padding-left: 16px; padding-right: 16px; }
}

/* Cards */
.card { border: 1px solid var(--card-border); border-radius: 14px; box-shadow: 0 1px 2px rgba(16,24,40,.03); }
.card-header { background: #fff; border-bottom: 1px solid var(--card-border); padding: 14px 20px; font-weight: 600; border-radius: 14px 14px 0 0 !important; }
.card-body { padding: 20px; }
.stat-card { padding: 20px; display: flex; flex-direction: row; gap: 16px; align-items: center; height: 100%; }
.stat-icon { width: 50px; height: 50px; border-radius: 12px; display: grid; place-items: center; font-size: 22px; flex-shrink: 0; }
.stat-label { color: var(--muted); font-size: 13px; }
.stat-value { font-size: 21px; font-weight: 600; line-height: 1.3; }
.stat-sub { font-size: 12px; color: var(--muted); }
.hareket-ozet { padding: 18px 20px; height: 100%; }
.hareket-ozet .stat-value { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.hareket-ozet-sembol { font-size: 20px; font-weight: 600; }
.hareket-ozet-alt { display: grid; grid-template-columns: 1fr 1fr; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--card-border); }
.hareket-ozet-alt > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hareket-ozet-alt > div + div { padding-left: 16px; border-left: 1px solid var(--card-border); }
.hareket-ozet-alt span { font-size: 12px; color: var(--muted); }
.hareket-ozet-alt strong { font-size: 14.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.ic-indigo { background: #eef2ff; color: #4f46e5; }
.ic-green { background: #ecfdf5; color: #059669; }
.ic-orange { background: #fff7ed; color: #ea580c; }
.ic-red { background: #fef2f2; color: #dc2626; }
.ic-blue { background: #eff6ff; color: #2563eb; }

/* Tables */
.table { margin-bottom: 0; --bs-table-hover-bg: #f8f9fd; }
.table > :not(caption) > * > * { padding: 11px 14px; vertical-align: middle; border-color: #eef0f6; }
.table thead th { font-size: 12px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; background: #fafbfe; white-space: nowrap; }
.vade-farki { padding: 10px 12px; border: 1px dashed #d6d9e6; border-radius: 10px; background: #fafbfe; }
.vade-farki-alan { margin-top: 4px; }

.tablo-duzenli { table-layout: fixed; min-width: 860px; }
.tablo-duzenli td { overflow-wrap: anywhere; }
/* Sütunlar arası ızgara çizgileri ve hücre taşma koruması (tüm tablolar) */
.table > :not(caption) > tr > * + * { border-left: 1px solid #eef0f6; }
.table > thead > tr > * + * { border-left-color: #e6e9f2; }
.table td { overflow-wrap: break-word; }
.table td .badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
/* Sabit düzenli listelerde işlem sütunu: geniş ekranda etiketli, daha darda yalnızca ikon */
.table-teklifler { table-layout: fixed; min-width: 1100px; }
.table-teklifler tbody tr { height: 56px; }
/* İşlem butonları her ekranda etiketli kalır (ikon + isim); dar ekranda yalnızca sıkılaşır. */
.kol-islem { width: 110px; }
.table-products .kol-islem,
.table-siparisler .kol-islem { width: 184px; }
.table-customers .kol-islem,
.table-teklifler .kol-islem { width: 258px; }
/* Ekran daraldıkça daha az kritik sütunlar gizlenir; ana sütunlar ezilmez, veri taşmaz. */
@media (max-width: 1399.98px) {
    .table-customers col:nth-child(6),
    .table-teklifler col:nth-child(6) { visibility: collapse; width: 0 !important; }
}
@media (max-width: 1199.98px) {
    .table.table-customers { min-width: 912px; }
    .table.table-products { min-width: 880px; }
    .table.table-teklifler { min-width: 962px; }
    .table-customers col:is(:nth-child(3), :nth-child(4)),
    .table-products col:is(:nth-child(3), :nth-child(5), :nth-child(6)),
    .table-teklifler col:is(:nth-child(3), :nth-child(4), :nth-child(5)) { visibility: collapse; width: 0 !important; }
}

/* Alacak yaşlandırma */
.yas-vadesi_gelmemis { --yas-renk: #16a34a; }
.yas-0_30 { --yas-renk: #eab308; }
.yas-31_60 { --yas-renk: #ea580c; }
.yas-61_90 { --yas-renk: #dc2626; }
.yas-90_ustu { --yas-renk: #1f2937; }
.yas-bar { display: flex; gap: 2px; height: 10px; border-radius: 999px; overflow: hidden; background: #eef0f5; }
.yas-bar > span { background: var(--yas-renk); }
.yas-kutu { height: 100%; padding: 12px; text-align: center; border: 1px solid var(--card-border); border-top: 3px solid var(--yas-renk); border-radius: 10px; }
.yas-etiket, .yas-oran { font-size: 12px; color: var(--muted); }
.yas-tutar { font-size: 17px; font-weight: 600; line-height: 1.5; color: var(--yas-renk); }

.table-card { overflow: hidden; }
.table-card .table-responsive { border-radius: 0 0 14px 14px; }
.badge-durum { font-weight: 500; font-size: 12px; padding: 5px 10px; }
.empty-state { text-align: center; padding: 50px 20px; color: var(--muted); }
.empty-state > i { font-size: 44px; opacity: .4; display: block; margin-bottom: 10px; }

.toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 18px; }
.toolbar .search { max-width: 320px; }
.btn { font-size: 14px; font-weight: 500; border-radius: 9px; }
.btn-sm { font-size: 12.5px; border-radius: 7px; }
.table-products { table-layout: fixed; min-width: 1040px; }
.table-products tbody tr.urun-satir { height: 70px; }
.table-customers tbody tr { height: 62px; }
.table-products .urun-satir:hover > * { --bs-table-bg-state: #f8f9fd; }
.varyant-ac { --bs-btn-padding-y: 3px; --bs-btn-padding-x: 10px; --bs-btn-font-size: 12.5px; --bs-btn-border-radius: 20px; min-width: 104px; background: var(--primary-soft); color: var(--primary); border: 1px solid #e0e7ff; }
.varyant-ac:hover, .varyant-ac.acik { background: var(--primary); color: #fff; border-color: var(--primary); }
.varyant-ac .bi { font-size: 10px; margin-left: 2px; }
.varyant-modal-tablo th { font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); background: #fafbfe; white-space: nowrap; }
.varyant-modal-tablo td { font-variant-numeric: tabular-nums; white-space: nowrap; }
.table-customers { table-layout: fixed; min-width: 1060px; }
.cari-avatar { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; font-weight: 600; font-size: 15px; flex-shrink: 0; }
.min-w-0 { min-width: 0; }
.urun-thumb { width: 46px; height: 46px; border-radius: 8px; object-fit: cover; flex-shrink: 0; border: 1px solid var(--card-border); background: #fff; }
.urun-thumb-bos { display: grid; place-items: center; color: #c3c7d4; background: #f7f8fb; font-size: 18px; }
.urun-resim-onizleme { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; border: 1px solid var(--card-border); }
.varyant-tablo { table-layout: fixed; }
.varyant-tablo th { font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); background: #fafbfe !important; padding: 8px 6px !important; }
.varyant-tablo td { padding: 5px 6px !important; vertical-align: middle; }
.varyant-tablo .form-control { font-size: 13px; }
.varyant-tablo [data-kod] { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; color: #4b5563; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.varyant-tablo [data-karsilik] { font-variant-numeric: tabular-nums; }
.varyant-chipler { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.varyant-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; line-height: 1.4; color: #4b5563; background: #f3f4f8; border: 1px solid #e5e7ef; border-radius: 6px; padding: 1px 7px; white-space: nowrap; }
.varyant-chip b { font-weight: 600; color: var(--primary); font-variant-numeric: tabular-nums; }
.varyant-bos { display: flex; align-items: center; justify-content: center; padding: 18px; border: 1px dashed #d6d9e6; border-radius: 10px; background: #fafbfe; color: var(--muted); font-size: 13px; }
.toplu-panel { padding: 14px 16px; border: 1px solid var(--card-border); border-radius: 10px; background: #fafbfe; }

.bolum-arac { text-transform: none; letter-spacing: normal; font-weight: 400; font-size: 13px; color: var(--text); }
.form-section-title .form-switch { min-height: 0; }

.foto-alan { position: relative; flex: 1 1 auto; display: flex; align-items: center; justify-content: center; min-height: 220px; margin: 0; border: 1.5px dashed #d6d9e6; border-radius: 12px; background: #fafbfe; cursor: pointer; overflow: hidden; transition: border-color .15s, background .15s; }
.foto-alan:hover, .foto-alan.surukle { border-color: var(--primary); background: var(--primary-soft); }
.foto-alan img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #fff; padding: 8px; }
.foto-bos { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; color: var(--muted); padding: 16px; }
.foto-bos i { font-size: 34px; color: #b4b9cc; line-height: 1; margin-bottom: 4px; }
.foto-bos strong { font-size: 13.5px; font-weight: 600; color: var(--text); }
.foto-bos small { font-size: 12px; line-height: 1.5; }
.belge-pdf { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; padding: 16px; max-width: 100%; }
.belge-pdf i { font-size: 46px; color: #dc2626; line-height: 1; margin-bottom: 4px; }
.belge-pdf strong { font-size: 13.5px; font-weight: 600; color: var(--text); word-break: break-all; }
.belge-pdf small { font-size: 12px; color: var(--muted); }
.foto-alan.belge-kompakt { flex: 0 0 auto; min-height: 0; aspect-ratio: 16 / 9; max-height: 200px; }
.belge-kompakt .foto-bos, .belge-kompakt .belge-pdf { padding: 10px; gap: 2px; }
.belge-kompakt .foto-bos i { font-size: 26px; margin-bottom: 2px; }
.belge-kompakt .belge-pdf i { font-size: 32px; margin-bottom: 2px; }
.belge-kompakt strong { font-size: 13px; }
.belge-kompakt small { font-size: 11.5px; }

.secenek-kutu { display: block; padding: 10px 14px 10px 3.1em; border: 1px solid var(--card-border); border-radius: 10px; background: #fafbfe; cursor: pointer; }
.secenek-kutu .form-check-input { margin-top: .2em; cursor: pointer; }
.modal-panel.cek-ozet { padding: 0; overflow: hidden; }
.cek-ozet-ust { display: flex; align-items: center; gap: 14px; padding: 16px 20px; }
.cek-ozet-ikon { width: 42px; height: 42px; font-size: 19px; border-radius: 10px; }
.cek-ozet-tutar { font-size: 18px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cek-ozet-alt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 10px 20px; border-top: 1px solid var(--card-border); background: #fafbfe; font-size: 13px; }
.durum-secim { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.durum-kart {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    min-height: 76px; padding: 10px 8px; text-align: center; line-height: 1.25;
    font-size: 13px; font-weight: 500; color: var(--text);
    background: #fff; border: 1px solid var(--card-border); border-radius: 10px;
    cursor: pointer; user-select: none; transition: border-color .15s, background .15s, box-shadow .15s;
}
.durum-kart i { font-size: 20px; line-height: 1; color: rgb(var(--durum-rgb)); }
.durum-kart:hover { border-color: rgba(var(--durum-rgb), .5); background: #fafbfe; }
.btn-check:checked + .durum-kart { border-color: rgb(var(--durum-rgb)); background: rgba(var(--durum-rgb), .07); box-shadow: inset 0 0 0 1px rgb(var(--durum-rgb)); font-weight: 600; }
.btn-check:focus-visible + .durum-kart { box-shadow: 0 0 0 .2rem rgba(var(--durum-rgb), .25); }
.cek-gecmis li { padding: 8px 0; border-bottom: 1px dashed var(--card-border); }
.cek-gecmis li:first-child { padding-top: 0; }
.cek-gecmis li:last-child { border-bottom: none; padding-bottom: 0; }

.fiyat-sembol { min-width: 42px; justify-content: center; font-weight: 500; }
.fiyat-karsilik { background: #fafbfe; font-weight: 600; text-align: right; color: var(--primary); font-variant-numeric: tabular-nums; }
.code-chip { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; font-size: 12px; font-weight: 500; color: #4b5563; background: #f3f4f8; border: 1px solid #e5e7ef; border-radius: 6px; padding: 2px 8px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.actions { white-space: nowrap; }
.actions .btn {
    display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    width: 70px; height: 46px; padding: 4px 2px; margin: 0 1px;
    font-size: 11px; font-weight: 500; line-height: 1.1; vertical-align: middle;
    overflow: hidden; text-overflow: ellipsis;
}
.actions .btn i { font-size: 16px; line-height: 1; }
.actions form { display: inline; }

.alt-sekmeler { display: flex; flex-wrap: wrap; gap: 4px; padding: 6px; margin-bottom: 1rem; background: #fff; border: 1px solid var(--card-border); border-radius: 12px; }
.alt-sekmeler a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 9px; font-size: 14px; font-weight: 500; color: var(--muted); text-decoration: none; transition: background .15s, color .15s; }
.alt-sekmeler a:hover { background: var(--body-bg); color: var(--text); }
.alt-sekmeler a.active { background: var(--primary-soft); color: var(--primary); }
.alt-sekmeler .count { font-size: 11px; font-weight: 600; background: rgba(0,0,0,.06); border-radius: 10px; padding: 1px 7px; }
.alt-sekmeler a.active .count { background: var(--primary); color: #fff; }
.nav-pills-status .nav-link { color: var(--muted); border-radius: 20px; padding: 6px 14px; font-size: 13px; }
.nav-pills-status .nav-link.active { background: var(--primary); color: #fff; }
.nav-pills-status .count { font-size: 11px; background: rgba(0,0,0,.07); border-radius: 10px; padding: 1px 7px; margin-left: 4px; }
.nav-pills-status .nav-link.active .count { background: rgba(255,255,255,.25); }

/* Quote form */
.items-table input, .items-table select { min-width: 70px; font-size: 13px; }
.items-table textarea { font-size: 12.5px; resize: vertical; }
.items-table .col-desc { min-width: 340px; }
.items-table td { padding: 8px 6px !important; }
.items-table th:first-child, .items-table td:first-child { padding-left: 14px !important; }
.items-table th:last-child, .items-table td:last-child { padding-right: 14px !important; }
.items-table .satir-tutar { font-variant-numeric: tabular-nums; white-space: nowrap; }
.teklif-duzen { display: flex; flex-direction: column; gap: 1rem; }
.teklif-duzen > .card { margin: 0; }
.teklif-duzen .kart-baslik { min-height: 50px; padding-top: 10px; padding-bottom: 10px; }
.kalem-alt { display: flex; justify-content: space-between; align-items: center; background: #fafbfe; border-top: 1px solid var(--card-border); padding: 10px 14px; border-radius: 0 0 14px 14px !important; }
.totals-box .row-t { display: flex; justify-content: space-between; padding: 6px 0; font-variant-numeric: tabular-nums; }
.totals-box .row-t + .row-t { border-top: 1px solid #f1f2f7; }
.totals-box .grand { border-top: 1px dashed #d1d5db !important; margin-top: 8px; padding-top: 12px; font-size: 18px; font-weight: 600; color: var(--primary); }
.modal-toplam { display: flex; flex-direction: column; line-height: 1.25; }
.modal-toplam > span { font-size: 12px; color: var(--muted); }
.modal-toplam > strong { font-size: 18px; font-weight: 600; color: var(--primary); font-variant-numeric: tabular-nums; }
.modal-toplam > small { font-size: 12.5px; font-weight: 500; color: #059669; font-variant-numeric: tabular-nums; }
.items-table .satir-tl { font-size: 12px; color: #059669; white-space: nowrap; font-variant-numeric: tabular-nums; margin-top: 2px; }
.totals-box .tl-karsilik { margin-top: 6px; padding: 8px 12px; border: 1px solid #d1fae5 !important; border-radius: 8px; background: #ecfdf5; color: #047857; font-weight: 600; }
.totals-box .tl-karsilik small { font-weight: 400; }
.product-search-results { position: absolute; z-index: 1050; max-height: 280px; overflow-y: auto; width: 100%; }
.kalem-urun { display: flex; gap: 10px; align-items: flex-start; }
.kalem-urun .min-w-0 { min-width: 0; }
.kalem-thumb { width: 58px; height: 58px; font-size: 20px; }
.kalem-urun .urun-ac { padding: 0 8px; }

.urun-secici { position: fixed; z-index: 1090; display: none; background: #fff; border: 1px solid var(--card-border); border-radius: 12px; box-shadow: 0 12px 32px rgba(30, 27, 75, .14); overflow: hidden; }
.urun-secici.acik { display: flex; flex-direction: column; }
.urun-secici-bas { display: flex; justify-content: space-between; align-items: center; padding: 8px 14px; font-size: 11.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); background: #fafbfe; border-bottom: 1px solid var(--card-border); }
.urun-secici-liste { overflow-y: auto; max-height: 360px; min-height: 0; flex: 1 1 auto; padding: 6px; }
.urun-secenek { display: grid; grid-template-columns: 48px minmax(0, 1fr) 120px; gap: 12px; align-items: center; height: 62px; padding: 6px 10px; border-radius: 9px; cursor: pointer; }
.urun-secenek + .urun-secenek { margin-top: 2px; }
.urun-secenek.aktif { background: var(--primary-soft); }
.urun-secenek .urun-thumb { width: 48px; height: 48px; }
.urun-secenek-ad { font-weight: 500; font-size: 13.5px; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.urun-secenek-alt { display: flex; gap: 6px; align-items: center; margin-top: 3px; font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; }
.urun-secenek-alt .code-chip { font-size: 11px; padding: 1px 6px; }
.urun-secenek-varyant { color: var(--primary); font-weight: 500; }
.urun-secenek-fiyat { text-align: right; font-weight: 600; font-size: 13.5px; color: var(--text); white-space: nowrap; }
.urun-secenek-fiyat small { display: block; font-weight: 400; font-size: 11.5px; color: var(--muted); }
.urun-secici-bos { padding: 22px; text-align: center; color: var(--muted); font-size: 13px; }

/* Teklif satırı varyant seçici */
.varyant-buton {
    display: flex; align-items: center; gap: 8px; width: 100%; height: 31px; padding: 0 10px;
    font-size: 13px; color: var(--text); text-align: left; white-space: nowrap; overflow: hidden;
    background: var(--primary-soft); border: 1px dashed #a5b4fc; border-radius: 7px;
    transition: border-color .15s, background .15s, box-shadow .15s;
}
.varyant-sec { display: none !important; }
.varyant-buton[hidden] { display: none; }
.varyant-buton:hover { border-color: var(--primary); }
.varyant-buton:focus-visible, .varyant-buton[aria-expanded="true"] { outline: none; border-color: #a5b4fc; box-shadow: 0 0 0 .2rem rgba(79, 70, 229, .15); }
.varyant-buton > .bi-rulers { color: var(--primary); font-size: 14px; }
.varyant-buton-ad { font-weight: 500; overflow: hidden; text-overflow: ellipsis; }
.varyant-buton:not(.secili) .varyant-buton-ad { color: var(--primary); }
.varyant-buton .code-chip { font-size: 11px; padding: 1px 6px; flex-shrink: 0; }
.varyant-buton-fiyat { margin-left: auto; font-weight: 600; font-variant-numeric: tabular-nums; }
.varyant-buton-sayi { margin-left: auto; font-size: 12px; color: var(--muted); }
.varyant-buton-ok { font-size: 11px; color: var(--muted); transition: transform .15s; }
.varyant-buton[aria-expanded="true"] .varyant-buton-ok { transform: rotate(180deg); }
.varyant-buton.secili { background: #fff; border: 1px solid #dfe3ee; }
.varyant-buton.secili:hover { border-color: #a5b4fc; }
.varyant-sec.is-invalid + .varyant-buton { background: #fff5f5; border: 1px solid #dc3545; }
.varyant-sec.is-invalid + .varyant-buton .varyant-buton-ad, .varyant-sec.is-invalid + .varyant-buton > .bi-rulers { color: #dc3545; }

.varyant-secici:focus { outline: none; }
.varyant-secici-ara { position: relative; padding: 8px 8px 0; }
.varyant-secici-ara .bi { position: absolute; left: 19px; top: calc(50% + 4px); transform: translateY(-50%); font-size: 12px; color: var(--muted); }
.varyant-secici-ara .form-control { padding-left: 30px; }
.varyant-secici-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 6px; padding: 8px; overflow-y: auto; min-height: 0; flex: 1 1 auto; }
.varyant-secenek {
    display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 8px 10px;
    text-align: left; background: #fff; border: 1px solid var(--card-border); border-radius: 9px; cursor: pointer;
    transition: border-color .12s, background .12s;
}
.varyant-secenek.aktif { background: var(--primary-soft); border-color: #c7d2fe; }
.varyant-secenek.secili { border-color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); }
.varyant-secenek-ad { font-size: 13.5px; font-weight: 600; color: var(--text); }
.varyant-secenek-kod { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; color: var(--muted); }
.varyant-secenek-fiyat { margin-top: 3px; font-size: 13px; font-weight: 600; color: var(--primary); font-variant-numeric: tabular-nums; }

/* Cari seçici (TomSelect + cariSeciciAyar) */
.ts-dropdown .ts-dropdown-content { max-height: 340px; padding: 4px; }
.ts-dropdown .option:has(.cari-secenek) { padding: 7px 10px; border-radius: 9px; }
.ts-dropdown .option.active:has(.cari-secenek) { background: var(--primary-soft); color: inherit; }
.cari-secenek { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.cari-rozet { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: #fff; font-weight: 600; font-size: 13px; letter-spacing: .02em; flex-shrink: 0; }
.cari-rozet.kucuk { width: 22px; height: 22px; border-radius: 6px; font-size: 10px; }
.cari-secenek-ad { font-weight: 500; font-size: 13.5px; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cari-secenek-alt { display: flex; gap: 8px; align-items: center; margin-top: 2px; font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; }
.cari-secenek-alt .code-chip, .cari-secili .code-chip { font-size: 11px; padding: 1px 6px; }
.cari-secenek-bakiye { text-align: right; font-weight: 600; font-size: 13px; white-space: nowrap; color: var(--text); }
.cari-secenek-bakiye small { display: block; font-weight: 400; font-size: 11px; color: var(--muted); }
.cari-secenek-bakiye.borclu { color: #dc2626; }
.cari-secenek-bakiye.alacakli { color: #059669; }
.cari-secili { display: flex; align-items: center; gap: 8px; min-width: 0; }

/* Sayaç: data-sayac işaretli sayı alanlarında −/+ butonları (app.js) */
.sayac { display: flex; align-items: stretch; min-width: 0; background: #fff; border: 1px solid #dfe3ee; border-radius: 9px; overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.sayac:focus-within { border-color: #a5b4fc; box-shadow: 0 0 0 .2rem rgba(79, 70, 229, .15); }
.sayac > input.form-control { flex: 1 1 auto; min-width: 0; width: 100%; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; background: transparent; text-align: center; padding-left: 2px; padding-right: 2px; -moz-appearance: textfield; appearance: textfield; }
.sayac > input::-webkit-outer-spin-button, .sayac > input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sayac-btn { flex: 0 0 30px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: #9ca3af; font-size: 13px; line-height: 1; cursor: pointer; user-select: none; touch-action: manipulation; transition: background .15s, color .15s; }
.sayac-btn:hover:not(:disabled) { background: var(--primary-soft); color: var(--primary); }
.sayac-btn:active:not(:disabled) { background: #e0e7ff; }
.sayac-btn:disabled { opacity: .35; cursor: default; }
.sayac-sm { border-radius: 7px; }
.sayac-sm .sayac-btn { flex-basis: 26px; font-size: 12px; }
.input-group > .sayac { flex: 1 1 auto; width: 1%; }
.input-group > .sayac:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.gun-secici .gun-elle:has(.sayac) { width: 124px; }
.gun-secici-blok .gun-elle:has(.sayac) { width: auto; flex: 2.4 1 0; }
.gun-secici-blok .sayac { border-radius: 9px; }
.gun-secici-blok .sayac .sayac-btn { flex-basis: 24px; }
.gun-secici .gun-elle .sayac > input.form-control { padding-left: 0 !important; padding-right: 0 !important; }

/* Timeline */
.siparis-ozet { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; padding: 14px 16px; border: 1px solid var(--card-border); border-radius: 10px; background: #fafbfe; }
.siparis-ozet > div { display: flex; flex-direction: column; min-width: 0; }
.siparis-ozet > .tam { grid-column: 1 / -1; }
.siparis-ozet span { font-size: 12px; color: var(--muted); }
.siparis-ozet b { font-weight: 600; font-size: 14px; }
.siparis-ozet .toplam { flex-direction: row; justify-content: space-between; align-items: center; padding-top: 10px; border-top: 1px dashed var(--card-border); }
.siparis-ozet .toplam b { font-size: 17px; color: var(--primary); font-variant-numeric: tabular-nums; }
.durum-menu > .btn { display: flex; align-items: center; font-size: 14px; color: var(--text); background: #fff; }
.durum-menu > .btn::after { margin-left: auto; }
.durum-menu .dropdown-menu { padding: 6px; border-color: var(--card-border); border-radius: 10px; }
.durum-menu .dropdown-item { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 8px; font-size: 14px; font-weight: 500; }
.durum-menu .dropdown-item:hover, .durum-menu .dropdown-item:focus { background: var(--body-bg); color: var(--text); }
.durum-menu .dropdown-item.mevcut { color: var(--muted); cursor: default; }
.durum-menu .dropdown-item.mevcut:hover { background: transparent; }
.durum-ikon { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; font-size: 14px; flex-shrink: 0; }
.d-contents { display: contents; }
.btn-whatsapp { --bs-btn-color: #fff; --bs-btn-bg: #25d366; --bs-btn-border-color: #25d366; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #1ebe5a; --bs-btn-hover-border-color: #1ebe5a; --bs-btn-active-bg: #19a94f; --bs-btn-active-border-color: #19a94f; --bs-btn-active-color: #fff; }
.wa-baglanti { display: flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid var(--card-border); border-radius: 8px; background: #fafbfe; font-size: 12.5px; color: var(--muted); }
.wa-baglanti span { flex: 1; min-width: 0; }
.wa-secenek { display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid var(--card-border); border-radius: 10px; background: #fafbfe; }
.wa-secenek-bas { display: flex; align-items: center; gap: 10px; }
.wa-secenek-bas b { font-size: 14px; font-weight: 600; }
.wa-secenek-bas small { font-size: 12px; color: var(--muted); }
.wa-numara { font-size: 14px; font-weight: 500; }
.cari-islem-secim { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.cari-islem-secim label { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 6px; border: 1.5px solid var(--card-border); border-radius: 10px; background: #fff; cursor: pointer; text-align: center; transition: border-color .15s, background .15s; }
.cari-islem-secim label i { font-size: 18px; color: var(--muted); }
.cari-islem-secim label b { font-size: 13px; font-weight: 600; }
.cari-islem-secim label small { font-size: 11px; color: var(--muted); }
.cari-islem-secim label:hover { border-color: #c7d2fe; }
.cari-islem-secim .btn-check:checked + label { border-color: var(--primary); background: var(--primary-soft); }
.cari-islem-secim .btn-check:checked + label i, .cari-islem-secim .btn-check:checked + label b { color: var(--primary); }
.cari-islem-secim .btn-check:focus-visible + label { box-shadow: 0 0 0 .2rem rgba(79, 70, 229, .2); }
.secenek-kutu-duz { padding: 12px 14px; border: 1px solid var(--card-border); border-radius: 10px; background: #fafbfe; }
.siparis-adimlar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 4px; }
.siparis-adimlar span { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 2px; border-radius: 8px; background: var(--body-bg); color: var(--muted); font-size: 11px; text-align: center; line-height: 1.2; }
.siparis-adimlar span i { font-size: 15px; }
.siparis-adimlar span.tamam { background: var(--primary-soft); color: var(--primary); font-weight: 500; }
.timeline { list-style: none; padding: 0; margin: 0; }
.timeline li { position: relative; padding: 0 0 16px 24px; border-left: 2px solid #e5e7eb; margin-left: 6px; }
.timeline li:last-child { border-left-color: transparent; }
.timeline li::before { content: ''; position: absolute; left: -7px; top: 3px; width: 12px; height: 12px; border-radius: 50%; background: var(--primary); border: 2px solid #fff; box-shadow: 0 0 0 2px #c7d2fe; }
.timeline .t-date { font-size: 12px; color: var(--muted); }

/* Login */
.auth-page { min-height: 100vh; display: grid; place-items: center; background: linear-gradient(135deg, #1e1b4b 0%, #4f46e5 100%); padding: 20px; }
.auth-card { width: 100%; max-width: 420px; background: #fff; border-radius: 18px; padding: 36px; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.auth-card .brand-icon { background: var(--primary-soft); color: var(--primary); width: 54px; height: 54px; font-size: 26px; margin: 0 auto 14px; border-radius: 14px; }

@media print {
    .topnav, .page-head, .app-footer, .no-print, .btn, .alert, .pagination { display: none !important; }
    .content { padding: 0 !important; }
    body { background: #fff; }
    .card { border: none; box-shadow: none; }
    .tab-pane { display: block !important; opacity: 1 !important; }
    #tab-teklif { display: none !important; }
}

/* Bildirimler (sağ üst, süreli) */
.bildirim-alani { position: fixed; top: 0; right: 0; z-index: 1090; padding: 16px; max-width: 100%; }
.bildirim {
    --bildirim-renk: #2563eb;
    width: 360px; max-width: calc(100vw - 32px);
    background: #fff; border: 1px solid var(--card-border); border-left: 4px solid var(--bildirim-renk);
    border-radius: 12px; box-shadow: 0 10px 30px rgba(16,24,40,.12);
    padding: 12px 12px 12px 14px; font-size: 13.5px; color: var(--text);
}
.bildirim-ikon { color: var(--bildirim-renk); font-size: 18px; line-height: 1.2; }
.bildirim-mesaj { flex: 1; min-width: 0; padding-top: 1px; }
.bildirim .btn-close { font-size: 11px; margin-top: 3px; }
.bildirim-success { --bildirim-renk: #059669; }
.bildirim-warning { --bildirim-renk: #d97706; }
.bildirim-danger { --bildirim-renk: #dc2626; }
@media print { .bildirim-alani { display: none !important; } }

.form-section-title { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--card-border); }
.modal { --bs-modal-padding: 1.25rem; --bs-modal-header-padding: 1rem 1.5rem; --bs-modal-footer-gap: .5rem; }
.modal-content { border: none; border-radius: 14px; }
.modal-header, .modal-footer { border-color: var(--card-border); background: #fff; }
.modal-footer { padding: .75rem 1.25rem; }
.modal-footer .btn { min-width: 104px; }
.modal-body { background: var(--body-bg); }
.modal-title { display: flex; align-items: center; font-size: 17px; font-weight: 600; }
.modal-panel { background: #fff; border: 1px solid var(--card-border); border-radius: 12px; padding: 18px 20px; height: 100%; }
.modal-panel .form-section-title:not(:first-child) { margin-top: 22px; }

/* Teklif modalı (büyük, kaydırılabilir) ve üstünde açılan cari modalı */
.modal-teklif { --bs-modal-width: min(1400px, 96vw); }
.modal-teklif .modal-content { background: var(--body-bg); }
.modal-teklif .modal-header, .modal-teklif .modal-footer { background: #fff; }
.modal-dialog-scrollable .modal-content > form { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow: hidden; }
.modal-dialog-scrollable .modal-content > form > .modal-body { overflow-y: auto; }
#ajaxModal { z-index: 1070; }
#ajaxModal .modal-content { transition: opacity .15s; }
#ajaxModal .modal-content.modal-yukleniyor { opacity: .55; pointer-events: none; }
.modal-xl.modal-dialog-scrollable .cari-detay-modal { min-height: 60vh; }
.cari-detay-modal .nav-tabs { border-bottom-color: var(--card-border); }
.cari-detay-modal .nav-tabs .nav-link.active { background: #fff; border-color: var(--card-border) var(--card-border) #fff; }

/* Cari detay */
.cari-ozet .stat-card { padding: 16px; gap: 12px; }
.cari-ozet .stat-icon { width: 42px; height: 42px; font-size: 19px; border-radius: 10px; }
.cari-ozet .stat-value { font-size: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.cari-ozet .stat-value small { font-size: 12px; }
.tablo-sabit { table-layout: fixed; min-width: 520px; }
.tablo-sabit td { overflow-wrap: anywhere; }
.tablo-sabit > :not(caption) > tr > :first-child { padding-left: 16px; }
.tablo-sabit > :not(caption) > tr > :last-child { padding-right: 16px; }
.cari-bilgi { list-style: none; padding: 0; margin: 0; }
.cari-bilgi li { display: grid; grid-template-columns: 18px 96px minmax(0, 1fr); gap: 8px; align-items: start; padding: 8px 0; border-bottom: 1px dashed var(--card-border); font-size: 13.5px; }
.cari-bilgi li:first-child { padding-top: 0; }
.cari-bilgi li:last-child { border-bottom: none; padding-bottom: 0; }
.cari-bilgi i { color: var(--primary); font-size: 14px; line-height: 1.5; }
.cari-bilgi span { color: var(--muted); font-size: 12.5px; line-height: 1.6; }
.cari-bilgi b { font-weight: 500; overflow-wrap: anywhere; }
.kart-alt-baslik { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; padding: 10px 16px; border-top: 1px solid var(--card-border); border-bottom: 1px solid var(--card-border); background: #fafbfe; font-size: 13.5px; font-weight: 600; }
.cari-sekmeler .nav-link { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-weight: 500; }
.cari-sekmeler .nav-link.active { color: var(--primary); }
.cari-sekmeler .count { font-size: 11px; font-weight: 600; background: rgba(0,0,0,.06); border-radius: 10px; padding: 1px 7px; }
.cari-sekmeler .nav-link.active .count { background: var(--primary); color: #fff; }

/* Site içi onay / uyarı penceresi (tarayıcı confirm/alert yerine), tüm modalların üstünde */
.ui-diyalog { z-index: 1095; background: rgba(17, 24, 39, .5); }
.ui-diyalog .modal-dialog { max-width: 420px; }
.ui-diyalog .modal-content { box-shadow: 0 20px 50px rgba(0, 0, 0, .25); }
.ui-diyalog .modal-body { background: #fff; padding: 28px 28px 8px; border-radius: 14px 14px 0 0; }
.ui-diyalog .modal-footer { border-top: none; padding: 12px 28px 24px; gap: 8px; }
.ui-diyalog .modal-footer > * { margin: 0; }
.ui-diyalog-ikon { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font-size: 26px; margin: 0 auto 14px; }
.ui-diyalog-primary { background: var(--primary-soft); color: var(--primary); }
.ui-diyalog-danger { background: #fef2f2; color: #dc2626; }
.ui-diyalog-warning { background: #fff7ed; color: #ea580c; }
.ui-diyalog-baslik { font-size: 17px; font-weight: 600; margin-bottom: 6px; }
.ui-diyalog-mesaj { color: var(--muted); font-size: 14px; white-space: pre-line; }
.modal-backdrop ~ .modal-backdrop { z-index: 1065; }

.info-list dt { font-weight: 500; color: var(--muted); font-size: 13px; }
.info-list dd { margin-bottom: 10px; }
.select-search { position: relative; }
