/* ═══════════════════════════════════════════════════════
   AJANS İŞ TAKİP — Koyu Tema (Özkeser referans paleti)
   ═══════════════════════════════════════════════════════ */

:root,
[data-bs-theme="dark"] {
    --bg: #0d0d0d;
    --bg-sunken: #050505;
    --bg-elevated: #111111;
    --bg-input: #1a1a1a;
    --border-color: #222222;
    --border-color-soft: #1a1a1a;
    --text: #e0e0e0;
    --text-muted: #9ca3af;
    --text-dim: #6b7280;
    --gold: #C5A059;
    --gold-light: #D4AF37;
    --gold-dark: #9e7f3d;

    --bs-body-bg: var(--bg);
    --bs-body-color: var(--text);
    --bs-border-color: var(--border-color);
    --bs-secondary-color: var(--text-muted);
    --bs-tertiary-bg: var(--bg-elevated);
    --bs-emphasis-color: var(--text);
    --bs-primary: var(--gold);
    --bs-primary-rgb: 197, 160, 89;
    --bs-link-color: var(--gold);
    --bs-link-hover-color: var(--gold-light);
    --bs-link-color-rgb: 197, 160, 89;
    --bs-link-hover-color-rgb: 212, 175, 55;
}

body {
    background: var(--bg);
    color: var(--text);
}

a { color: var(--gold); }
a:hover { color: var(--gold-light); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg-sunken); }
::-webkit-scrollbar-thumb { background: #333; border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold-dark); }

/* ─── NAVBAR ─── */
.navbar {
    background: var(--bg-sunken) !important;
    border-bottom: 1px solid var(--border-color-soft);
    box-shadow: none;
}
.navbar-brand { color: var(--gold) !important; }
.navbar .nav-link { color: var(--text-muted) !important; }
.navbar .nav-link:hover,
.navbar .nav-link.active,
.navbar .nav-link.show { color: var(--gold) !important; }
.navbar-toggler { border-color: var(--border-color) !important; filter: invert(1) grayscale(1); }
.dropdown-menu {
    background: var(--bg-elevated);
    border: 1px solid var(--border-color-soft);
    box-shadow: 0 8px 24px rgba(0,0,0,.5);
}
.dropdown-item { color: var(--text); }
.dropdown-item:hover, .dropdown-item:focus { background-color: rgba(197,160,89,.12); color: var(--gold); }
.dropdown-item.active, .dropdown-item:active { background-color: var(--gold); color: #050505; }
.dropdown-divider { border-color: var(--border-color-soft); }

/* ─── CARDS / SURFACES ─── */
.card, .bg-white, .list-group-item {
    background-color: var(--bg-elevated) !important;
    color: var(--text);
    border-color: var(--border-color-soft) !important;
}
.card-header, .bg-light, .table-light, .table-light > * {
    background-color: var(--bg-sunken) !important;
    color: var(--text) !important;
    border-color: var(--border-color-soft) !important;
}
.card-footer { background-color: var(--bg-sunken) !important; border-color: var(--border-color-soft) !important; }
.text-dark { color: var(--text) !important; }
.text-muted {color: #4d4d4d !important;}
.text-secondary { color: var(--text-muted) !important; }
.border { border-color: var(--border-color-soft) !important; }
.shadow-sm { box-shadow: 0 2px 8px rgba(0,0,0,.35) !important; }
.gorev-baslik-text {
    color: var(--gold);
    font-weight: 500;
}

/* ─── TAMAMLANMIŞ / ÜZERİ ÇİZİLİ ELEMENTLER — site geneli karartma ───────── */
/* Tamamlanan görevler, onaylanan teklifler, biten projeler görsel hiyerarşide geri çekilir */
.completed-task,
del,
[style*="line-through"] {
    color: #6c757d !important;
    opacity: 0.6 !important;
    text-decoration: line-through !important;
}

/* Kanban'daki tamamlanmış kart başlıkları — periyot rengini ezer */
.gorev-durum-tamam .gorev-baslik-text {
    color: #6c757d !important;
    text-decoration: line-through !important;
    opacity: 0.7;
}
/* ─── TABLES ─── */
.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--text);
    --bs-table-striped-bg: rgba(255,255,255,.03);
    --bs-table-hover-bg: rgba(197,160,89,.06);
    --bs-table-border-color: var(--border-color-soft);
    color: var(--text);
}
.table-bordered { border-color: var(--border-color-soft); }
.table > :not(caption) > * > * { background-color: transparent; }

/* ─── FORMS ─── */
.form-control, .form-select, .input-group-text {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text) !important;
}
.form-control:focus, .form-select:focus {
    background-color: var(--bg-input) !important;
    border-color: var(--gold) !important;
    box-shadow: 0 0 0 .25rem rgba(197,160,89,.2) !important;
    color: var(--text) !important;
}
.form-control::placeholder { color: var(--text-dim); }
.form-control:disabled, .form-select:disabled { background-color: var(--bg-sunken) !important; color: var(--text-dim) !important; }
.form-check-input { background-color: var(--bg-input); border-color: var(--border-color); }
.form-check-input:checked { background-color: var(--gold); border-color: var(--gold); }
.form-label { color: var(--text-muted); }
.form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239ca3af'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

/* ─── BUTTONS ─── */
.btn-primary {
    background-color: var(--gold) !important; border-color: var(--gold) !important; color: #050505 !important;
}
.btn-primary:hover, .btn-primary:focus { background-color: var(--gold-light) !important; border-color: var(--gold-light) !important; color: #050505 !important; }
.btn-outline-primary { color: var(--gold) !important; border-color: var(--gold) !important; }
.btn-outline-primary:hover { background-color: var(--gold) !important; border-color: var(--gold) !important; color: #050505 !important; }
.btn-outline-secondary { color: var(--text-muted) !important; border-color: var(--border-color) !important; }
.btn-outline-secondary:hover { background-color: var(--border-color) !important; color: var(--text) !important; }
.btn-outline-danger, .btn-outline-success, .btn-outline-warning, .btn-outline-info, .btn-outline-dark {
    background-color: transparent;
}
.btn-outline-dark { color: var(--text) !important; border-color: var(--border-color) !important; }
.btn-outline-dark:hover { background-color: var(--border-color) !important; color: var(--text) !important; }
.btn-close { filter: invert(1) grayscale(1) brightness(1.6); }
.btn-light { background-color: var(--bg-input) !important; border-color: var(--border-color) !important; color: var(--text) !important; }
.btn-secondary { background-color: #374151 !important; border-color: #374151 !important; }

/* ─── BADGES ─── */
.badge.bg-primary { background-color: var(--gold) !important; color: #050505 !important; }
.badge.bg-secondary { background-color: #374151 !important; color: #d1d5db !important; }
.badge.bg-light { background-color: var(--bg-input) !important; color: var(--text) !important; }
.badge.bg-dark { background-color: #000 !important; color: var(--text) !important; }

/* ─── ALERTS ─── */
.alert-success { background-color: rgba(34,197,94,.1); border-color: rgba(34,197,94,.3); color: #4ade80; }
.alert-danger  { background-color: rgba(239,68,68,.1); border-color: rgba(239,68,68,.3); color: #f87171; }
.alert-warning { background-color: rgba(234,179,8,.1); border-color: rgba(234,179,8,.3); color: #eab308; }
.alert-info    { background-color: rgba(59,130,246,.1); border-color: rgba(59,130,246,.3); color: #60a5fa; }
.alert-light   { background-color: var(--bg-elevated); border-color: var(--border-color-soft); color: var(--text); }
.alert .btn-close { filter: invert(1) grayscale(1) brightness(1.6); }

/* ─── MODALS ─── */
.modal-content { background-color: var(--bg-elevated); border: 1px solid var(--border-color-soft); color: var(--text); }
.modal-header, .modal-footer { border-color: var(--border-color-soft); }

/* ─── NAV TABS / PILLS / BREADCRUMB / ACCORDION ─── */
.nav-tabs { border-color: var(--border-color-soft); }
.nav-tabs .nav-link { color: var(--text-muted); border-color: transparent; }
.nav-tabs .nav-link:hover { border-color: var(--border-color-soft); color: var(--gold); }
.nav-tabs .nav-link.active {
    background-color: var(--bg-elevated); color: var(--gold);
    border-color: var(--border-color-soft) var(--border-color-soft) var(--bg-elevated);
}
.nav-pills .nav-link { color: var(--text-muted); }
.nav-pills .nav-link.active { background-color: var(--gold); color: #050505; }
.breadcrumb { background-color: transparent; }
.breadcrumb-item, .breadcrumb-item a { color: var(--text-muted); }
.breadcrumb-item.active { color: var(--text); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--text-dim); }
.accordion-item { background-color: var(--bg-elevated); border-color: var(--border-color-soft); }
.accordion-button {
    background-color: var(--bg-elevated); color: var(--text);
}
.accordion-button:not(.collapsed) { background-color: rgba(197,160,89,.08); color: var(--gold); box-shadow: none; }
.accordion-button:focus { box-shadow: 0 0 0 .25rem rgba(197,160,89,.2); }
.accordion-button::after { filter: invert(1) grayscale(1) brightness(1.6); }

/* ─── PAGINATION / SPINNERS ─── */
.page-link { background-color: var(--bg-elevated); border-color: var(--border-color-soft); color: var(--text); }
.page-link:hover { background-color: var(--bg-input); color: var(--gold); }
.page-item.active .page-link { background-color: var(--gold); border-color: var(--gold); color: #050505; }
.page-item.disabled .page-link { background-color: var(--bg-sunken); color: var(--text-dim); }
.spinner-border.text-primary { color: var(--gold) !important; }

/* ─── DATATABLES ─── */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing {
    color: var(--text-muted);
}
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    background-color: var(--bg-input);
    border: 1px solid var(--border-color);
    color: var(--text);
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
    background: var(--bg-elevated) !important;
    border-color: var(--border-color-soft) !important;
    color: var(--text) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--gold) !important; border-color: var(--gold) !important; color: #050505 !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled { color: var(--text-dim) !important; }
table.dataTable thead th, table.dataTable thead td { border-bottom-color: var(--border-color) !important; }
table.dataTable.table-striped > tbody > tr:nth-of-type(odd) > * { background-color: rgba(255,255,255,.03); }

/* ─── SWEETALERT2 ─── */
.swal2-popup { background: var(--bg-elevated) !important; color: var(--text) !important; }
.swal2-title, .swal2-html-container { color: var(--text) !important; }
.swal2-icon.swal2-question { color: var(--gold) !important; border-color: var(--gold) !important; }

/* ─── TOOLTIP / POPOVER ─── */
.popover { background-color: var(--bg-elevated); border-color: var(--border-color-soft); }
.popover-header { background-color: var(--bg-sunken); color: var(--text); border-color: var(--border-color-soft); }
.popover-body { color: var(--text); }

/* ═══════════════════════════════════════════════════════
   FİNANS ÖZET TASARIM DİLİ — Global Polish Katmanı
   (finans_ozet.php altın standardını tüm siteye taşır)
   ═══════════════════════════════════════════════════════ */

:root,
[data-bs-theme="dark"] {
    /* Köşe yuvarlaklıkları (radius) */
    --radius-sm: 8px;
    --radius: 12px;
    --radius-lg: 16px;
    --radius-xl: 18px;

    /* Gölgeler */
    --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.30);
    --shadow-card-hover: 0 12px 32px rgba(0, 0, 0, 0.45);
    --shadow-gold: 0 8px 20px rgba(197, 160, 89, 0.25);

    /* Metrik renkleri (kâr / gelir / gider / zarar) */
    --metric-pos: #22c55e;   /* gelir / kâr — neon yeşil */
    --metric-pos-strong: #16a34a;
    --metric-neg: #ef4444;   /* zarar — kırmızı */
    --metric-warn: #ea580c;  /* gider — turuncu */

    --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

    /* Bootstrap yuvarlaklık token'larını da hizala */
    --bs-border-radius: var(--radius);
    --bs-border-radius-sm: var(--radius-sm);
    --bs-border-radius-lg: var(--radius-lg);
}

body {
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ─── KARTLAR — yuvarlatılmış köşe, ince border, yumuşak gölge, hover elevation ─── */
.card {
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color-soft);
    box-shadow: var(--shadow-card);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.card:hover {
    box-shadow: var(--shadow-card-hover);
}
.card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--border-color-soft) !important;
}
.card-header:first-child {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.card-footer:last-child {
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

/* ─── BUTONLAR — gold standardı (radius, ağırlık, hover-lift, altın parıltı) ─── */
.btn {
    border-radius: var(--radius);
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: transform 0.15s ease, box-shadow 0.2s ease,
                background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.btn-sm { border-radius: var(--radius-sm); }
.btn-lg { border-radius: var(--radius-lg); }
.btn-primary {
    box-shadow: 0 6px 16px rgba(197, 160, 89, 0.22);
}
.btn-primary:hover,
.btn-primary:focus {
    transform: translateY(-1px);
    box-shadow: var(--shadow-gold);
}
.btn:active { transform: translateY(0); }

/* ─── FORM / INPUT / SELECT — koyu zemin, yuvarlatılmış, şık kenarlık ─── */
.form-control,
.form-select,
.input-group-text {
    border-radius: var(--radius);
}
.form-control-sm, .form-select-sm { border-radius: var(--radius-sm); }
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.input-group > :not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* ─── TABLOLAR — koyu, transparan border, hover'da satır aydınlanır ─── */
.table {
    --bs-table-hover-bg: rgba(197, 160, 89, 0.07);
    border-color: var(--border-color-soft);
}
.table > thead th {
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--border-color) !important;
    background-color: transparent !important;
}
.table > tbody > tr {
    transition: background-color 0.15s ease;
}
.table-hover > tbody > tr:hover > * {
    background-color: rgba(197, 160, 89, 0.07);
}
/* Kart içindeki tabloların üst köşeleri karta yaslanmasın diye çift border kaçır */
.card > .table:first-child,
.card > .table-responsive:first-child { border-top-left-radius: var(--radius-lg); border-top-right-radius: var(--radius-lg); }

/* ─── METRİK RENKLERİ — tutar / bakiye / kâr-zarar vurguları ─── */
/* Semantik Bootstrap sınıflarını finans paletine bağla (mevcut sayfalar otomatik uyum sağlar) */
.text-success,
.text-success-emphasis,
.metric-pos { color: var(--metric-pos) !important; }
.text-danger,
.text-danger-emphasis,
.metric-neg { color: var(--metric-neg) !important; }
.metric-warn { color: var(--metric-warn) !important; }

/* Rakamları belirginleştir: kalın + hizalı basamaklar */
.fw-metric,
.metric-value {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}

/* Badge'ler koyu temaya uygun yuvarlaklık */
.badge { border-radius: var(--radius-sm); }
.badge.bg-success { background-color: rgba(34, 197, 94, 0.18) !important; color: var(--metric-pos) !important; }
.badge.bg-danger  { background-color: rgba(239, 68, 68, 0.18) !important; color: var(--metric-neg) !important; }
.badge.bg-warning { background-color: rgba(234, 88, 12, 0.18) !important; color: var(--metric-warn) !important; }

/* Küçük yardımcı: “yükseliş / düşüş” rozeti (finans_ozet KPI değişim etiketi ruhu) */
.trend-up { color: var(--metric-pos) !important; }
.trend-down { color: var(--metric-neg) !important; }

/* Sayfalarda tekrar eden tutar sınıflarını global + tokenize et
   (cari_hesaplar, kasa_banka, cari_hareketler, borclu_musteriler …) */
.finans-tutar { text-align: right; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.finans-borc { color: var(--metric-neg); font-weight: 700; }
.finans-alacak { color: var(--metric-pos); font-weight: 700; }
.tutar-cell { font-variant-numeric: tabular-nums; font-weight: 700; letter-spacing: -0.01em; }

/* ─── OTOMATİK METRİK HİZALAMASI (tüm modüllere DRY olarak yansır) ───
   Özet kartlarındaki büyük rakamlar ve tablolardaki sağa hizalı (parasal)
   hücreler — finans_ozet.php'deki gibi hizalı basamak + sıkı harf aralığı. */
.card h1.fw-bold, .card h2.fw-bold, .card h3.fw-bold,
.card .display-6, .card .display-5 {
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}
.table td.text-end, .table th.text-end {
    font-variant-numeric: tabular-nums;
}

/* ─── LİSTE SAYFALARINDA BİRİNCİL KAYIT ADI (müşteriler.php referans stili) ───
   Firma/proje/ürün adı gibi ana sütun: altın, kalın, hover'da alt çizgi + parıltı.
   Linkli olanlarda .liste-adi-link, düz metinlerde .liste-adi kullanılır. */
.liste-adi {
    color: var(--gold);
    font-weight: 700;
}
a.liste-adi-link, .liste-adi-link {
    color: var(--gold) !important;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease, text-shadow 0.2s ease;
}
.liste-adi-link:hover, .liste-adi-link:focus {
    color: var(--gold-light) !important;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-shadow: 0 0 8px rgba(197, 160, 89, 0.35);
}
