/* ============================================================
   MARKET POS - RAPOR SAYFALARI KOYU TEMA OVERRIDE
   SB Admin 2 (Bootstrap 4) üzerine koyu katman.
   POS paletiyle uyumlu. Sadece görsel katman.
   SB Admin 2 CSS'inden SONRA yüklenmelidir.
   ============================================================ */

:root {
  --r-bg: #12151c;          /* zemin */
  --r-surface: #1b1f2a;     /* kart yüzeyi */
  --r-surface-2: #222735;   /* ikincil yüzey */
  --r-text: #e8ecf3;        /* metin */
  --r-text-muted: #9aa4b2;  /* ikincil metin */
  --r-border: #2b3242;      /* kenarlık */
  --r-amber: #ffb020;       /* vurgu */
  --r-amber-ink: #12151c;
}

/* ---------- TEMEL ZEMİN ---------- */
body,
body#page-top {
  background-color: var(--r-bg) !important;
  color: var(--r-text);
}

#wrapper,
#content-wrapper,
#content {
  background-color: var(--r-bg) !important;
  color: var(--r-text);
}

#content-wrapper {
  background-color: transparent !important;
}

/* Genel metin renkleri */
.container-fluid,
p,
span,
label,
h1, h2, h3, h4, h5, h6,
.small {
  color: var(--r-text);
}

/* SB Admin yardımcı metin renkleri okunur kalsın */
.text-gray-800,
.text-gray-900,
.text-dark,
.text-black {
  color: var(--r-text) !important;
}

.text-gray-300,
.text-gray-400,
.text-gray-500,
.text-gray-600,
.text-muted,
.text-secondary {
  color: var(--r-text-muted) !important;
}

.text-primary {
  color: #5aa2ec !important;
}
.text-success {
  color: #4cc46a !important;
}
.text-info {
  color: #3fb7dd !important;
}
.text-warning {
  color: var(--r-amber) !important;
}
.text-danger {
  color: #f0716e !important;
}

/* ---------- KARTLAR ---------- */
.card {
  background-color: var(--r-surface) !important;
  border: 1px solid var(--r-border) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45) !important;
}

.card-header {
  background-color: var(--r-surface-2) !important;
  border-bottom: 1px solid var(--r-border) !important;
  color: var(--r-text);
}

.card-body {
  background-color: transparent !important;
  color: var(--r-text);
}

.card-header .m-0.font-weight-bold.text-primary {
  color: var(--r-amber) !important;
}

/* Renkli sol kenarlıklı istatistik kartları */
.card.border-left-primary { border-left: 4px solid #5aa2ec !important; }
.card.border-left-success { border-left: 4px solid #4cc46a !important; }
.card.border-left-info    { border-left: 4px solid #3fb7dd !important; }
.card.border-left-warning { border-left: 4px solid var(--r-amber) !important; }
.card.border-left-danger  { border-left: 4px solid #f0716e !important; }

/* ---------- TABLOLAR ---------- */
.table {
  color: var(--r-text) !important;
}

.table th,
.table td {
  border-color: var(--r-border) !important;
  color: var(--r-text) !important;
}

.table thead th {
  background-color: var(--r-surface-2) !important;
  color: var(--r-text-muted) !important;
  border-color: var(--r-border) !important;
}

.table tfoot th {
  background-color: var(--r-surface-2) !important;
  color: var(--r-text-muted) !important;
  border-color: var(--r-border) !important;
}

.table-bordered,
.table-bordered th,
.table-bordered td {
  border-color: var(--r-border) !important;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.035) !important;
}

.table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.07) !important;
  color: var(--r-text) !important;
}

.table tbody tr {
  background-color: transparent;
}

/* ---------- DATATABLES ÇEVRESİ ---------- */
.dataTables_wrapper,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
  color: var(--r-text-muted) !important;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
  background-color: var(--r-bg) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border) !important;
  border-radius: 8px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--r-text) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--r-amber) !important;
  border: 1px solid var(--r-amber) !important;
  color: var(--r-amber-ink) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: var(--r-surface-2) !important;
  border: 1px solid var(--r-border) !important;
  color: var(--r-text) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
  color: var(--r-text-muted) !important;
}

table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting:before,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_desc:before {
  color: var(--r-text-muted) !important;
}

/* ---------- SIDEBAR / TOPBAR ---------- */
.sidebar,
.sidebar.bg-gradient-primary,
#accordionSidebar {
  background: var(--r-surface) !important;
  background-image: none !important;
  border-right: 1px solid var(--r-border);
}

.sidebar .nav-item .nav-link,
.sidebar .nav-item .nav-link span,
.sidebar .nav-item .nav-link i {
  color: var(--r-text-muted) !important;
}

.sidebar .nav-item .nav-link:hover,
.sidebar .nav-item.active .nav-link,
.sidebar .nav-item .nav-link:hover i,
.sidebar .nav-item.active .nav-link i {
  color: var(--r-text) !important;
}

.sidebar-brand,
.sidebar-brand-text {
  color: var(--r-text) !important;
}

.sidebar hr.sidebar-divider,
.sidebar .sidebar-heading {
  border-color: var(--r-border) !important;
  color: var(--r-text-muted) !important;
}

.sidebar-dark .nav-item .collapse,
.sidebar .nav-item .collapse .collapse-inner,
.sidebar .nav-item .collapsing .collapse-inner {
  background: var(--r-surface-2) !important;
}

.collapse-inner .collapse-item {
  color: var(--r-text-muted) !important;
}

.collapse-inner .collapse-item:hover,
.collapse-inner .collapse-item.active {
  background: var(--r-surface) !important;
  color: var(--r-text) !important;
}

.topbar,
.topbar.navbar,
.navbar {
  background: var(--r-surface) !important;
  border-bottom: 1px solid var(--r-border) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
}

.topbar .nav-item .nav-link,
.topbar .nav-item .nav-link i {
  color: var(--r-text-muted) !important;
}

.topbar .topbar-divider {
  border-color: var(--r-border) !important;
}

.topbar .nav-item .nav-link:hover,
.topbar .nav-item .nav-link:hover i {
  color: var(--r-text) !important;
}

.topbar #sidebarToggleTop {
  color: var(--r-text-muted) !important;
}

/* Dropdown menüler */
.dropdown-menu {
  background-color: var(--r-surface) !important;
  border: 1px solid var(--r-border) !important;
}

.dropdown-item {
  color: var(--r-text) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--r-surface-2) !important;
  color: var(--r-text) !important;
}

.dropdown-header,
.dropdown-divider {
  color: var(--r-text-muted) !important;
  border-color: var(--r-border) !important;
}

/* ---------- FORM / GİRİŞ ALANLARI ---------- */
.form-control,
input.form-control,
select.form-control,
textarea.form-control {
  background-color: var(--r-bg) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border) !important;
}

.form-control:focus {
  background-color: var(--r-bg) !important;
  color: var(--r-text) !important;
  border-color: var(--r-amber) !important;
  box-shadow: 0 0 0 3px rgba(255, 176, 32, 0.22) !important;
}

.form-control::placeholder {
  color: var(--r-text-muted) !important;
}

/* ---------- SELECT2 ---------- */
.select2-container--bootstrap4 .select2-selection,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  background-color: var(--r-bg) !important;
  border: 1px solid var(--r-border) !important;
  color: var(--r-text) !important;
}

.select2-container--bootstrap4 .select2-selection__rendered,
.select2-container--default .select2-selection__rendered {
  color: var(--r-text) !important;
}

.select2-container--bootstrap4 .select2-selection__arrow b,
.select2-container--default .select2-selection__arrow b {
  border-color: var(--r-text-muted) transparent transparent transparent !important;
}

.select2-dropdown {
  background-color: var(--r-surface) !important;
  border: 1px solid var(--r-border) !important;
  color: var(--r-text) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  background-color: var(--r-bg) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border) !important;
}

.select2-results__option {
  color: var(--r-text) !important;
  background-color: var(--r-surface) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: var(--r-surface-2) !important;
  color: var(--r-text) !important;
}

/* ---------- BUTONLAR ---------- */
.btn-primary {
  background-color: #2f7fd6 !important;
  border-color: #2f7fd6 !important;
  color: #fff !important;
}
.btn-primary:hover { filter: brightness(1.08); }

.btn-info {
  background-color: #2f9fd0 !important;
  border-color: #2f9fd0 !important;
  color: #fff !important;
}

.btn-secondary {
  background-color: var(--r-surface-2) !important;
  border-color: var(--r-border) !important;
  color: var(--r-text) !important;
}

.btn-success {
  background-color: #3fae5a !important;
  border-color: #3fae5a !important;
  color: #fff !important;
}

/* ---------- MODAL ---------- */
.modal-content {
  background-color: var(--r-surface) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border) !important;
}

.modal-header,
.modal-footer {
  border-color: var(--r-border) !important;
}

.modal-header .close {
  color: var(--r-text) !important;
  text-shadow: none;
}

/* ---------- FOOTER ---------- */
.sticky-footer,
footer.sticky-footer.bg-white {
  background-color: var(--r-surface) !important;
  border-top: 1px solid var(--r-border);
}

.sticky-footer .copyright,
.sticky-footer span {
  color: var(--r-text-muted) !important;
}

/* ---------- SCROLL TO TOP ---------- */
.scroll-to-top {
  background: var(--r-surface-2) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border);
}

/* ---------- GRAFİK ÇEVRESİ ---------- */
.chart-area,
.chart-pie,
.chart-bar {
  background-color: transparent !important;
}

/* ============================================================
   3. DÖNGÜ — TÜM DASHBOARD KAPSAMI GENİŞLETMESİ
   Eksik bileşenler + dokunmatik uyum + Swal
   ============================================================ */

/* ---------- EK BUTON VARYANTLARI ---------- */
.btn-warning {
  background-color: var(--r-amber) !important;
  border-color: var(--r-amber) !important;
  color: var(--r-amber-ink) !important;
}
.btn-danger {
  background-color: #d9524f !important;
  border-color: #d9524f !important;
  color: #fff !important;
}
.btn-light {
  background-color: var(--r-surface-2) !important;
  border-color: var(--r-border) !important;
  color: var(--r-text) !important;
}
.btn-dark {
  background-color: #0e1017 !important;
  border-color: var(--r-border) !important;
  color: var(--r-text) !important;
}
.btn-warning:hover,
.btn-danger:hover,
.btn-light:hover,
.btn-dark:hover {
  filter: brightness(1.08);
}

/* Outline butonlar — koyu üstünde okunur */
.btn-outline-primary {
  color: #5aa2ec !important;
  border-color: #5aa2ec !important;
  background-color: transparent !important;
}
.btn-outline-secondary {
  color: var(--r-text-muted) !important;
  border-color: var(--r-border) !important;
  background-color: transparent !important;
}
.btn-outline-success {
  color: #4cc46a !important;
  border-color: #4cc46a !important;
  background-color: transparent !important;
}
.btn-outline-info {
  color: #3fb7dd !important;
  border-color: #3fb7dd !important;
  background-color: transparent !important;
}
.btn-outline-warning {
  color: var(--r-amber) !important;
  border-color: var(--r-amber) !important;
  background-color: transparent !important;
}
.btn-outline-danger {
  color: #f0716e !important;
  border-color: #f0716e !important;
  background-color: transparent !important;
}
.btn-outline-light {
  color: var(--r-text) !important;
  border-color: var(--r-border) !important;
  background-color: transparent !important;
}
.btn-outline-primary:hover { background-color: #5aa2ec !important; color: #fff !important; }
.btn-outline-secondary:hover { background-color: var(--r-surface-2) !important; color: var(--r-text) !important; }
.btn-outline-success:hover { background-color: #3fae5a !important; color: #fff !important; }
.btn-outline-info:hover { background-color: #2f9fd0 !important; color: #fff !important; }
.btn-outline-warning:hover { background-color: var(--r-amber) !important; color: var(--r-amber-ink) !important; }
.btn-outline-danger:hover { background-color: #d9524f !important; color: #fff !important; }
.btn-outline-light:hover { background-color: var(--r-surface-2) !important; color: var(--r-text) !important; }

/* Devre dışı butonlar okunur kalsın */
.btn.disabled,
.btn:disabled {
  opacity: 0.55;
}

/* ---------- ROZETLER (BADGE) ---------- */
.badge-primary { background-color: #2f7fd6 !important; color: #fff !important; }
.badge-secondary { background-color: var(--r-surface-2) !important; color: var(--r-text) !important; }
.badge-success { background-color: #3fae5a !important; color: #fff !important; }
.badge-info { background-color: #2f9fd0 !important; color: #fff !important; }
.badge-warning { background-color: var(--r-amber) !important; color: var(--r-amber-ink) !important; }
.badge-danger { background-color: #d9524f !important; color: #fff !important; }
.badge-light { background-color: var(--r-surface-2) !important; color: var(--r-text) !important; }
.badge-dark { background-color: #0e1017 !important; color: var(--r-text) !important; }

/* ---------- UYARILAR (ALERT) ---------- */
.alert {
  border: 1px solid var(--r-border) !important;
  color: var(--r-text) !important;
}
.alert-success {
  background-color: rgba(63, 174, 90, 0.16) !important;
  border-color: rgba(63, 174, 90, 0.45) !important;
  color: #7ee29a !important;
}
.alert-danger {
  background-color: rgba(217, 82, 79, 0.16) !important;
  border-color: rgba(217, 82, 79, 0.45) !important;
  color: #f2938f !important;
}
.alert-warning {
  background-color: rgba(255, 176, 32, 0.16) !important;
  border-color: rgba(255, 176, 32, 0.45) !important;
  color: #ffce78 !important;
}
.alert-info {
  background-color: rgba(47, 159, 208, 0.16) !important;
  border-color: rgba(47, 159, 208, 0.45) !important;
  color: #7fd2ec !important;
}
.alert .close,
.alert a {
  color: inherit !important;
}

/* ---------- NAV TABS / PILLS ---------- */
.nav-tabs {
  border-bottom: 1px solid var(--r-border) !important;
}
.nav-tabs .nav-link {
  color: var(--r-text-muted) !important;
  border-color: transparent !important;
}
.nav-tabs .nav-link:hover {
  color: var(--r-text) !important;
  border-color: var(--r-border) var(--r-border) transparent var(--r-border) !important;
}
.nav-tabs .nav-link.active {
  background-color: var(--r-surface) !important;
  color: var(--r-amber) !important;
  border-color: var(--r-border) var(--r-border) var(--r-surface) var(--r-border) !important;
}
.nav-pills .nav-link {
  color: var(--r-text-muted) !important;
}
.nav-pills .nav-link:hover {
  color: var(--r-text) !important;
}
.nav-pills .nav-link.active {
  background-color: #2f7fd6 !important;
  color: #fff !important;
}

/* ---------- PAGINATION (DataTables dışı) ---------- */
.pagination .page-link {
  background-color: var(--r-surface) !important;
  border: 1px solid var(--r-border) !important;
  color: var(--r-text) !important;
}
.pagination .page-link:hover {
  background-color: var(--r-surface-2) !important;
  color: var(--r-text) !important;
}
.pagination .page-item.active .page-link {
  background-color: var(--r-amber) !important;
  border-color: var(--r-amber) !important;
  color: var(--r-amber-ink) !important;
}
.pagination .page-item.disabled .page-link {
  background-color: var(--r-surface) !important;
  color: var(--r-text-muted) !important;
}

/* ---------- LIST GROUP ---------- */
.list-group-item {
  background-color: var(--r-surface) !important;
  border-color: var(--r-border) !important;
  color: var(--r-text) !important;
}
.list-group-item-action:hover,
.list-group-item-action:focus {
  background-color: var(--r-surface-2) !important;
  color: var(--r-text) !important;
}
.list-group-item.active {
  background-color: #2f7fd6 !important;
  border-color: #2f7fd6 !important;
  color: #fff !important;
}

/* ---------- PROGRESS ---------- */
.progress {
  background-color: var(--r-surface-2) !important;
  border: 1px solid var(--r-border) !important;
}
.progress-bar {
  background-color: #2f7fd6 !important;
  color: #fff !important;
}

/* ---------- CUSTOM CONTROL / SWITCH / CHECK ---------- */
.custom-control-label {
  color: var(--r-text) !important;
}
.custom-control-label::before {
  background-color: var(--r-bg) !important;
  border: 1px solid var(--r-border) !important;
}
.custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--r-amber) !important;
  border-color: var(--r-amber) !important;
}
.custom-switch .custom-control-label::after {
  background-color: var(--r-text-muted) !important;
}
.custom-control-input:checked ~ .custom-control-label::after {
  background-color: var(--r-amber-ink) !important;
}
.form-check-label {
  color: var(--r-text) !important;
}
.form-check-input {
  background-color: var(--r-bg) !important;
  border: 1px solid var(--r-border) !important;
}
.form-check-input:checked {
  background-color: var(--r-amber) !important;
  border-color: var(--r-amber) !important;
}

/* ---------- INPUT GROUP ---------- */
.input-group-text {
  background-color: var(--r-surface-2) !important;
  border: 1px solid var(--r-border) !important;
  color: var(--r-text) !important;
}
.input-group .form-control {
  border-color: var(--r-border) !important;
}

/* ---------- BREADCRUMB ---------- */
.breadcrumb {
  background-color: var(--r-surface-2) !important;
  border: 1px solid var(--r-border) !important;
}
.breadcrumb-item,
.breadcrumb-item a {
  color: var(--r-text-muted) !important;
}
.breadcrumb-item.active {
  color: var(--r-text) !important;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: var(--r-text-muted) !important;
}

/* ---------- MODAL BAŞLIK / KAPAT ---------- */
.modal-title {
  color: var(--r-text) !important;
}
.close,
.close:hover {
  color: var(--r-text) !important;
  text-shadow: none !important;
  opacity: 0.85;
}

/* ---------- KART BAŞLIK RENK VARYANTLARI ---------- */
.card-header.bg-primary,
.card.bg-primary { background-color: #2f7fd6 !important; background-image: none !important; color: #fff !important; }
.card-header.bg-success,
.card.bg-success { background-color: #3fae5a !important; color: #fff !important; }
.card-header.bg-info,
.card.bg-info { background-color: #2f9fd0 !important; color: #fff !important; }
.card-header.bg-warning,
.card.bg-warning { background-color: var(--r-amber) !important; color: var(--r-amber-ink) !important; }
.card-header.bg-danger,
.card.bg-danger { background-color: #d9524f !important; color: #fff !important; }
.bg-light { background-color: var(--r-surface-2) !important; color: var(--r-text) !important; }
.bg-white { background-color: var(--r-surface) !important; color: var(--r-text) !important; }
.bg-dark { background-color: #0e1017 !important; color: var(--r-text) !important; }

/* ---------- TABLO İÇİ LİNKLER ---------- */
.table a:not(.btn) {
  color: #5aa2ec !important;
}
.table a:not(.btn):hover {
  color: #7cb6f0 !important;
}
a {
  color: #5aa2ec;
}
a:hover {
  color: #7cb6f0;
}

/* ---------- TEXTAREA ---------- */
textarea,
textarea.form-control {
  background-color: var(--r-bg) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border) !important;
}

/* ---------- FATURA / TABLO İÇİ GİRİŞLER (DOKUNMATİK) ---------- */
/* stock_addStock fatura tablosu inputları: koyu, okunur, yeterli yükseklik */
.form-control,
input.form-control,
select.form-control,
textarea.form-control,
.table input,
.table select,
.table textarea {
  min-height: 46px;
}
.table input,
.table select,
.table textarea {
  background-color: var(--r-bg) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border) !important;
  border-radius: 6px;
  padding: 6px 10px;
}
.table input::placeholder {
  color: var(--r-text-muted) !important;
}
.table input:focus,
.table select:focus,
.table textarea:focus {
  border-color: var(--r-amber) !important;
  box-shadow: 0 0 0 3px rgba(255, 176, 32, 0.22) !important;
  outline: none;
}

/* ---------- SWEETALERT2 — BÜYÜK DOKUNMATİK KUTULAR ---------- */
/* Dashboard sayfalarında (reports-dark yüklü) hata/başarı kutuları
   parmakla rahat dokunulacak kadar büyük; koyu tema uyumlu. */
.swal2-popup {
  font-size: 1.6rem !important;
  min-width: 32rem;
  max-width: 42rem;
  width: auto;
  padding: 2.2rem 2.4rem !important;
  border-radius: 18px !important;
  background: var(--r-surface) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6) !important;
}
.swal2-title {
  font-size: 2.1rem !important;
  font-weight: 800 !important;
  color: var(--r-text) !important;
  line-height: 1.2;
}
.swal2-html-container {
  font-size: 1.45rem !important;
  color: var(--r-text) !important;
  line-height: 1.4;
}
.swal2-actions {
  gap: 14px;
  margin-top: 1.8rem !important;
}
.swal2-actions .swal2-styled,
.swal2-actions .swal2-confirm,
.swal2-actions .swal2-cancel,
.swal2-actions .swal2-deny {
  min-height: 64px;
  padding: 18px 42px !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  border-radius: 12px !important;
}
.swal2-actions .swal2-confirm {
  background: #2f7fd6 !important;
  color: #fff !important;
}
.swal2-actions .swal2-cancel {
  background: #d9524f !important;
  color: #fff !important;
}
.swal2-actions .swal2-styled:focus {
  box-shadow: 0 0 0 4px rgba(47, 127, 214, 0.45) !important;
}
.swal2-icon {
  width: 6rem !important;
  height: 6rem !important;
  margin: 1.4rem auto 0.6rem !important;
}
.swal2-icon .swal2-icon-content {
  font-size: 3.4rem !important;
}
.swal2-input,
.swal2-textarea {
  background: var(--r-bg) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border) !important;
  font-size: 1.3rem !important;
  min-height: 56px;
}
.swal2-timer-progress-bar {
  height: 0.4rem !important;
}

/* ============================================================
   KÂR / ZARAR DÖNGÜSÜ — GÖRSEL SINIFLAR (additive)
   Yalnız görsel katman. Mevcut kurallar bozulmaz.
   ============================================================ */

/* ---------- 1) KÂR RENK SINIFLARI ---------- */
/* Pozitif kâr — sakin yeşil */
.kar-pos {
  color: #34d399 !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* Negatif kâr (zarar) — kırmızı */
.kar-neg {
  color: #ff5a5f !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* Genel kâr değeri hücresi/kart metni — büyük, okunur, hizalı rakam */
.kar-deger {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--r-text);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.2px;
}
/* Tabloda kâr değeri hücresi biraz daha ölçülü */
td .kar-deger,
th .kar-deger {
  font-size: 1.15rem;
}
/* .kar-deger üzerine kâr yönü rengi de verilebilir */
.kar-deger.kar-pos { color: #34d399 !important; }
.kar-deger.kar-neg { color: #ff5a5f !important; }

/* ---------- 2) KÂR ÖZET KARTI ---------- */
/* Amber vurgulu sol kenar — SB Admin border-left-* ailesiyle uyumlu */
.card.border-left-kar {
  border-left: 0.25rem solid var(--r-amber) !important;
  background-color: var(--r-surface) !important;
}
/* Kart içindeki büyük kâr rakamı net dursun */
.card.border-left-kar .kar-deger {
  font-size: 1.7rem;
}
/* Kâr kartı başlık etiketi (SB Admin text-xs uppercase düzeni) okunur */
.card.border-left-kar .text-xs {
  color: var(--r-amber) !important;
}

/* ---------- 3) FATURA SATIR DÜZENLEME (DOKUNMATİK) ---------- */
/* Yeni düzenlenebilir alanlar: .fatura-ad / .fatura-fiyat / .fatura-iskonto
   (mevcut .fatura-barkod / .fatura-miktar / select.fatura-islem ile uyumlu).
   Ortak dokunmatik taban: yükseklik + font + koyu zemin + amber focus. */
input.fatura-ad,
input.fatura-fiyat,
input.fatura-iskonto,
input.fatura-barkod,
input.fatura-miktar,
select.fatura-islem {
  min-height: 48px;
  font-size: 1rem !important;
  background-color: var(--r-surface-2) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border) !important;
  border-radius: 8px;
  padding: 8px 12px;
}
input.fatura-ad::placeholder,
input.fatura-fiyat::placeholder,
input.fatura-iskonto::placeholder,
input.fatura-barkod::placeholder,
input.fatura-miktar::placeholder {
  color: var(--r-text-muted) !important;
}
input.fatura-ad:focus,
input.fatura-fiyat:focus,
input.fatura-iskonto:focus,
input.fatura-barkod:focus,
input.fatura-miktar:focus,
select.fatura-islem:focus {
  border-color: var(--r-amber) !important;
  box-shadow: 0 0 0 3px rgba(255, 176, 32, 0.22) !important;
  outline: none;
}

/* Ad alanı geniş, sola hizalı */
input.fatura-ad {
  text-align: left;
  min-width: 140px;
}
/* Fiyat sayısal, sağa hizalı */
input.fatura-fiyat {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
/* İskonto (%) dar, sağa hizalı */
input.fatura-iskonto {
  text-align: right;
  max-width: 90px;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* ---------- SATIR SİLME BUTONU (DOKUNMATİK) ---------- */
button.fatura-sil {
  min-width: 48px;
  min-height: 48px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  line-height: 1;
  background-color: #d9524f !important;
  border: 1px solid #d9524f !important;
  color: #fff !important;
  border-radius: 8px;
  cursor: pointer;
  transition: filter 0.12s ease, transform 0.05s ease;
}
button.fatura-sil:hover {
  filter: brightness(1.1);
}
button.fatura-sil:active {
  transform: scale(0.96);
  filter: brightness(0.92);
}
button.fatura-sil:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(217, 82, 79, 0.4) !important;
}
button.fatura-sil i {
  pointer-events: none;
}

/* ---------- FATURA TABLOSU (#faturaTablo) DOKUNMATİK ARALIK ---------- */
#faturaTablo th,
#faturaTablo td {
  vertical-align: middle;
  padding-top: 8px;
  padding-bottom: 8px;
}
/* Silme butonu hücresi ortalı ve dar */
#faturaTablo td.fatura-sil-hucre {
  text-align: center;
  white-space: nowrap;
}

/* ============================================================
   FATURA — YENİ ÜRÜN SATIRI (SİSTEMDE OLMAYAN ÜRÜN) (additive)
   Eşleşmeyen ürünler "yeni ürün kaydı" moduna alınır:
   amber vurgulu satır + uyarı rozeti + satış fiyatı & KDV girişi.
   Mevcut .fatura-* ve .table input/select kuralları BOZULMAZ.
   ============================================================ */

/* ---------- 1) YENİ ÜRÜN SATIRI VURGUSU ---------- */
/* Satır (<tr>) veya hücrelerine amber sol kenar + hafif amber zemin. */
#faturaTablo tr.fatura-satir-yeni > td,
tr.fatura-satir-yeni > td {
  background-color: rgba(255, 176, 32, 0.09) !important;
}
#faturaTablo tr.fatura-satir-yeni > td:first-child,
tr.fatura-satir-yeni > td:first-child {
  box-shadow: inset 4px 0 0 0 var(--r-amber);
}
/* Satır hover'da da okunur kalsın (table-hover ile çakışmasın) */
.table-hover tbody tr.fatura-satir-yeni:hover > td {
  background-color: rgba(255, 176, 32, 0.14) !important;
}

/* ---------- 2) SATIR İÇİ UYARI ROZETİ ---------- */
/* "⚠ Yeni ürün" bilgi rozeti — amber zemin, koyu metin, küçük ve kalın. */
.fatura-yeni-uyari {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: var(--r-amber) !important;
  color: var(--r-amber-ink) !important;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.2px;
  padding: 5px 10px;
  border-radius: 999px;
  white-space: nowrap;
  vertical-align: middle;
}
.fatura-yeni-uyari i {
  font-size: 0.85em;
  pointer-events: none;
}

/* ---------- 3) YALNIZ YENİ ÜRÜN SATIRINDA GÖRÜNEN ALAN SARMALAYICI ---------- */
/* Yazılımcı kullanırsa: normal satırda gizli, yeni ürün satırında görünür. */
.fatura-yeni-alanlar {
  display: none;
}
tr.fatura-satir-yeni .fatura-yeni-alanlar {
  display: block;
}

/* ---------- 4) YENİ ÜRÜN SATIŞ FİYATI GİRİŞİ (DOKUNMATİK) ---------- */
/* .fatura-ad/.fatura-fiyat ailesiyle görsel uyumlu; sağa hizalı sayı. */
input.fatura-satis-fiyat {
  min-height: 48px;
  font-size: 1rem !important;
  background-color: var(--r-surface-2) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border) !important;
  border-radius: 8px;
  padding: 8px 12px;
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
input.fatura-satis-fiyat::placeholder {
  color: var(--r-text-muted) !important;
}
input.fatura-satis-fiyat:focus {
  border-color: var(--r-amber) !important;
  box-shadow: 0 0 0 3px rgba(255, 176, 32, 0.22) !important;
  outline: none;
}
/* Boş/geçersiz satış fiyatı — kırmızı kenarlıkla dikkat çek */
input.fatura-satis-fiyat.is-invalid {
  border-color: #d9524f !important;
}
input.fatura-satis-fiyat.is-invalid:focus {
  box-shadow: 0 0 0 3px rgba(217, 82, 79, 0.4) !important;
}

/* ---------- 5) YENİ ÜRÜN KDV SEÇİMİ (DOKUNMATİK) ---------- */
/* select.fatura-islem stiliyle uyumlu koyu, okunur açılır liste. */
select.fatura-kdv {
  min-height: 48px;
  font-size: 1rem !important;
  background-color: var(--r-surface-2) !important;
  color: var(--r-text) !important;
  border: 1px solid var(--r-border) !important;
  border-radius: 8px;
  padding: 8px 12px;
}
select.fatura-kdv:focus {
  border-color: var(--r-amber) !important;
  box-shadow: 0 0 0 3px rgba(255, 176, 32, 0.22) !important;
  outline: none;
}
/* Açılır liste seçenekleri koyu zeminde okunur kalsın */
select.fatura-kdv option {
  background-color: var(--r-surface) !important;
  color: var(--r-text) !important;
}
