:root {
    --kantar-primary: #00467F;
    --kantar-primary-2: #0b6bb5;
    --sidebar-w: 250px;
    --sidebar-bg: #0f2742;
    --sidebar-fg: #c8d6e5;
    --sidebar-active: #1d4e89;
    --bs-primary: #0b5cad;
    --bs-primary-rgb: 11, 92, 173;
}

[data-bs-theme="dark"] {
    --sidebar-bg: #0b1320;
    --sidebar-active: #1e3a5f;
}

html, body { height: 100%; }
body { background: var(--bs-tertiary-bg); -webkit-tap-highlight-color: transparent; }

/* ── Uygulama iskeleti ─────────────────────────────── */
.app { display: flex; min-height: 100vh; }
.app-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.app-content { flex: 1; }

/* offcanvas-lg geniş ekranda arka planı "transparent !important" yapar; açık temada menü okunmaz hale geliyordu */
.app-sidebar, .app-sidebar.offcanvas-lg { background-color: var(--sidebar-bg) !important; color: var(--sidebar-fg); }
@media (min-width: 992px) {
    .app-sidebar { width: var(--sidebar-w); position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; flex-shrink: 0; }
    .app-sidebar .offcanvas-body { display: flex; overflow-y: auto; }
}
@media (max-width: 991.98px) {
    .app-sidebar.offcanvas-lg { --bs-offcanvas-width: 280px; --bs-offcanvas-bg: var(--sidebar-bg); }
    .app-sidebar .offcanvas-body { display: flex; }
}
.app-brand { padding: 1rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-sub { max-width: 170px; }
.brand-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px;
    background: linear-gradient(135deg, #1b8ef2, var(--kantar-primary)); color: #fff; font-size: 1.2rem; }
.brand-icon-lg { width: 56px; height: 56px; font-size: 1.7rem; border-radius: 14px; }

.app-nav { padding: .75rem .5rem; gap: 2px; }
.app-nav .nav-link { color: var(--sidebar-fg); border-radius: 8px; padding: .65rem .85rem; display: flex; align-items: center; gap: .7rem; font-weight: 500; }
.app-nav .nav-link i { font-size: 1.1rem; width: 1.25rem; text-align: center; }
.app-nav .nav-link:hover { background: rgba(255,255,255,.07); color: #fff; }
.app-nav .nav-link.active { background: var(--sidebar-active); color: #fff; box-shadow: inset 3px 0 0 #4fb3ff; }
.sidebar-footer { border-top: 1px solid rgba(255,255,255,.08); color: var(--sidebar-fg); }

.app-topbar { background: var(--bs-body-bg); position: sticky; top: 0; z-index: 1020; min-height: 56px; flex-wrap: nowrap; }
.min-w-0 { min-width: 0; }

/* ── Kartlar ───────────────────────────────────────── */
.card { border-color: var(--bs-border-color-translucent); }
.stat-card { border: 0; border-left: 4px solid var(--renk, var(--bs-primary)); }
.stat-card .stat-deger { font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.stat-card .stat-etiket { font-size: .8rem; color: var(--bs-secondary-color); text-transform: uppercase; letter-spacing: .03em; }
.stat-card .stat-ikon { font-size: 1.8rem; opacity: .25; }

/* ── Tartım ekranı ─────────────────────────────────── */
.gosterge { background: #0a0f14; color: #00ff66; border-radius: 12px; padding: 1rem 1.25rem; font-family: "Consolas", "Courier New", monospace;
    box-shadow: inset 0 0 30px rgba(0,0,0,.6); }
.gosterge .deger { font-size: clamp(2.6rem, 9vw, 4.5rem); font-weight: 700; letter-spacing: .04em; line-height: 1; text-align: right; }
.gosterge .birim { font-size: 1.1rem; opacity: .7; }
.gosterge.hareketli { color: #ffc400; }
.gosterge.bagli-degil { color: #6b7280; }
.gosterge .durum { font-size: .85rem; letter-spacing: .08em; }
.agirlik-kutu { border-radius: 10px; padding: .6rem .8rem; background: var(--bs-secondary-bg); }
.agirlik-kutu .kg { font-size: 1.35rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.net-kutu { border: 2px solid var(--bs-primary); background: rgba(var(--bs-primary-rgb), .06); }
.net-kutu .kg { font-size: 1.9rem; color: var(--bs-primary); }
.btn-tartim { padding: .9rem 1rem; font-size: 1.1rem; font-weight: 600; }

/* ── Tablolar ──────────────────────────────────────── */
.table-kayit { font-size: .9rem; }
.table-kayit td, .table-kayit th { white-space: nowrap; vertical-align: middle; }
.durum-2 { --bs-table-bg: rgba(255, 193, 7, .12); }
.durum-3 { --bs-table-bg: rgba(25, 135, 84, .08); }
.durum-4 { --bs-table-bg: rgba(220, 53, 69, .10); --bs-table-color: var(--bs-danger-text-emphasis); }
tr.secili { outline: 2px solid var(--bs-primary); outline-offset: -2px; }
.tabular { font-variant-numeric: tabular-nums; }

/* Mobil kart listesi (tablolar küçük ekranda kart görünümüne geçer) */
@media (max-width: 767.98px) {
    .table-mobil thead { display: none; }
    .table-mobil, .table-mobil tbody, .table-mobil tr, .table-mobil td { display: block; width: 100%; }
    .table-mobil tr { margin-bottom: .6rem; border: 1px solid var(--bs-border-color); border-radius: .5rem; overflow: hidden; background: var(--bs-body-bg); }
    .table-mobil td { border: 0; border-bottom: 1px solid var(--bs-border-color-translucent); display: flex; justify-content: space-between; gap: 1rem; text-align: right; white-space: normal; padding: .4rem .75rem; }
    .table-mobil td::before { content: attr(data-etiket); font-weight: 600; color: var(--bs-secondary-color); text-align: left; }
    .table-mobil td:last-child { border-bottom: 0; }
    .table-mobil td.text-truncate { max-width: none !important; }
    .table-mobil td.islemler { justify-content: flex-end; }
    .table-mobil td.islemler::before { content: none; }
}

/* ── Yönetim ───────────────────────────────────────── */
.yonetim-kutu { transition: transform .15s, box-shadow .15s; }
.yonetim-kutu:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.08); }
.yonetim-kutu .ikon { width: 48px; height: 48px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.5rem; }
.sablon-editor { font-family: Consolas, "Courier New", monospace; font-size: .85rem; min-height: 420px; tab-size: 2; }
.onizleme-cerceve { width: 100%; min-height: 520px; border: 1px solid var(--bs-border-color); border-radius: .5rem; background: #fff; }
.alan-listesi { max-height: 520px; overflow-y: auto; }
.yetki-matris th, .yetki-matris td { text-align: center; vertical-align: middle; }
.yetki-matris td:first-child, .yetki-matris th:first-child { text-align: left; }

/* ── Giriş ekranı ──────────────────────────────────── */
.auth-body { background: radial-gradient(circle at 20% 10%, #1b6fb8 0, #00315a 45%, #001a31 100%); min-height: 100vh; }
.auth-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.auth-card { width: 100%; max-width: 420px; border-radius: 1rem; }

.form-control:focus, .form-select:focus { box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .2); }
.form-label { font-weight: 500; font-size: .9rem; margin-bottom: .3rem; }
.sayfa-baslik-araclar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; }

@media (max-width: 575.98px) {
    .btn-mobil-tam { width: 100%; }
    .app-content { padding-bottom: 5rem !important; }
}

@media print {
    .app-sidebar, .app-topbar, .no-print, .toast-container { display: none !important; }
    .app-content { padding: 0 !important; }
    body { background: #fff; }
}

/* Tema uyumlu tablo başlığı (Bootstrap table-light koyu temada açık kalıyordu) */
.tablo-baslik th, .tablo-baslik td { --bs-table-bg: var(--bs-tertiary-bg); --bs-table-color: var(--bs-emphasis-color); background-color: var(--bs-tertiary-bg); }

/* offcanvas-lg geniş ekranda başlığı gizliyor; marka alanı masaüstünde de görünsün */
@media (min-width: 992px) {
    .app-sidebar .offcanvas-header { display: flex !important; }
}

/* Belge önizleme popup'ı */
#yazdirModal .modal-dialog { margin-top: .75rem; margin-bottom: .75rem; }
#yazdirModal .yazdir-icerik { height: calc(100vh - 1.5rem); height: calc(100dvh - 1.5rem); min-height: 320px; }
@media (max-width: 991.98px) { #yazdirModal .modal-dialog { margin: 0; } #yazdirModal .yazdir-icerik { height: 100vh; height: 100dvh; min-height: 0; } }
#yazdirModal .modal-body { flex: 1 1 auto; min-height: 0; overflow: hidden; position: relative; }
.yazdir-cerceve { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; background: #fff; }

/* Aranabilir seçim kutusu (site.js) */
.input-group > .aranabilir { flex: 1 1 auto; width: 1%; min-width: 0; }
.input-group > .aranabilir:not(:last-child) > .form-select { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > .aranabilir:not(:first-child) > .form-select { border-top-left-radius: 0; border-bottom-left-radius: 0; }
