/* ============================
   Base / Tokens
============================ */
:root {
    --container-max: 2200px;
    --text-strong: rgba(255,255,255,.94);
    --text-normal: rgba(255,255,255,.88);
    --text-muted: rgba(185,198,230,.92);
    --line-strong: rgba(255,255,255,.14);
    --line-soft: rgba(255,255,255,.08);
    --focus-outer: rgba(37,140,251,.55);
    --focus-inner: rgba(255,255,255,.85);
    /* rapor sayfası uyumluluk */
    --line: var(--line-soft);
    --text: var(--text-strong);
}

/* ============================
   HTML / Body
============================ */
html {
    font-size: 14px;
}

@media (min-width:768px) {
    html {
        font-size: 16px;
    }
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

/* ============================
   Focus / Accessibility
============================ */
:where(a,button,input,select,textarea):focus-visible {
    outline: none;
    box-shadow: 0 0 0 .12rem var(--focus-inner), 0 0 0 .28rem var(--focus-outer);
    border-radius: 10px;
}

.btn:focus, .btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 .12rem var(--focus-inner), 0 0 0 .28rem var(--focus-outer);
}

/* ============================
   Form Floating placeholders
============================ */
.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* ============================
   Readability helpers
============================ */
.text-muted {
    opacity: .96;
}

small, .small {
    opacity: .98;
}

table {
    color: var(--text-normal);
}

thead th {
    color: var(--text-strong);
}

/* ============================
   Wider container support (Bootstrap)
   ✅ Geniş ekranda daha fazla yayıl
============================ */
@media (min-width: 1400px) {
    .container, .container-lg, .container-xl, .container-xxl {
        max-width: var(--container-max);
    }
}

/* ============================
   Scrollbar (Chromium)
============================ */
*::-webkit-scrollbar {
    height: 10px;
    width: 10px;
}

*::-webkit-scrollbar-track {
    background: rgba(255,255,255,.04);
}

*::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.18);
    border-radius: 999px;
    border: 2px solid rgba(0,0,0,0);
    background-clip: padding-box;
}

    *::-webkit-scrollbar-thumb:hover {
        background: rgba(255,255,255,.26);
    }

/* ============================
   Navbar / Links polish
============================ */
.navbar .nav-link {
    font-weight: 600;
}

a {
    text-decoration-thickness: .08em;
    text-underline-offset: .18em;
}

/* ============================================================
   ✅ RAPOR SAYFASI DÜZELTMELERİ
   (Sadece senin kullandığın sınıflara dokunur: wrap/kpis/table-wrap)
============================================================ */

/* ✅ Wrap geniş ekranda tabloyu kırpmasın */
.wrap {
    width: min(2200px, calc(100vw - 32px));
    max-width: none;
    margin: 26px auto;
    padding: 0 16px;
}

/* ✅ Kar modülü ile KPI arası boşluk */
.profit-card {
    margin: 12px 0 18px !important;
}

/* ✅ Brüt depo kârı silik olmasın */
.profit-label {
    color: rgba(185,198,230,.92);
    font-size: 12px;
}

.profit-value {
    font-size: 22px;
    font-weight: 900;
    color: rgba(255,255,255,.98);
    text-shadow: 0 10px 26px rgba(0,0,0,.55);
    letter-spacing: .2px;
}

/* ✅ Tablo: geniş ekranda scroll kapalı, dar ekranda aç */
.table-wrap {
    overflow: visible;
}

table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 0; /* ❗ min-width zorlaması yok */
    table-layout: auto;
}
.hidden {
    display: none !important;
}

.table-title {
    padding: 12px 14px;
    font-weight: 900;
    letter-spacing: .2px;
    color: rgba(255,255,255,.92);
    border-bottom: 1px solid var(--line);
    background: rgba(255,255,255,.02);
}

/* Dar ekranda yatay scroll normal */
@media (max-width: 1200px) {
    .table-wrap {
        overflow: auto;
    }

    table {
        min-width: 1450px;
    }
}

/* Sticky header üstte kalsın, okunurluk artsın */
thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

/* Geniş ekranda kolonlar daha rahat sığsın */
@media (min-width: 1400px) {
    thead th {
        padding: 10px 8px;
        font-size: 11.5px;
    }

    tbody td {
        padding: 9px 8px;
        font-size: 12.5px;
    }
}
