/* ERP Masraf'a özgü bileşenler — kmp token'ları + Bootstrap değişkenleri (açık/koyu tema) */
.tabular-nums { font-variant-numeric: tabular-nums; }
.min-w-0 { min-width: 0; }
.min-h-0 { min-height: 0; }

/* Aylık trend sütunları */
.ms-trend { display: flex; align-items: flex-end; gap: .45rem; height: 210px; }
.ms-trend__col { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; height: 100%; min-width: 0; }
.ms-trend__track { position: relative; flex: 1; width: 100%; background: var(--bs-tertiary-bg); border-radius: .45rem; overflow: hidden; }
.ms-trend__butce, .ms-trend__gercek { position: absolute; bottom: 0; border-radius: .35rem .35rem 0 0; transition: height .4s cubic-bezier(.4,0,.2,1); }
.ms-trend__butce { left: 8%; right: 8%; background: color-mix(in srgb, var(--kmp-primary, #4f46e5) 18%, transparent); border: 1px dashed color-mix(in srgb, var(--kmp-primary, #4f46e5) 60%, transparent); border-bottom: 0; }
.ms-trend__gercek { left: 30%; right: 30%; opacity: .92; }
.ms-trend__col.is-gelecek .ms-trend__gercek { opacity: .25; }
.ms-trend__label { font-size: .7rem; color: var(--bs-secondary-color); margin-top: .3rem; white-space: nowrap; }
.ms-legend { display: inline-block; width: .8rem; height: .8rem; border-radius: .2rem; margin-right: .35rem; vertical-align: -.1rem; }
.ms-legend--butce { background: color-mix(in srgb, var(--kmp-primary, #4f46e5) 18%, transparent); border: 1px dashed color-mix(in srgb, var(--kmp-primary, #4f46e5) 60%, transparent); }

/* Kullanım çubuğu */
.ms-bar { height: .5rem; background: var(--bs-tertiary-bg); border-radius: 999px; overflow: hidden; min-width: 70px; }
.ms-bar > span { display: block; height: 100%; border-radius: 999px; transition: width .4s cubic-bezier(.4,0,.2,1); }

/* Bütçe ağacı (bütçe–gerçekleşen) */
.ms-agac-kap { overflow: auto; border: 1px solid var(--bs-border-color); border-radius: var(--kmp-radius-md, .625rem); background: var(--bs-body-bg); }
.ms-agac { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .875rem; }
.ms-agac thead th { position: sticky; top: 0; z-index: 1; background: var(--bs-body-bg); font-weight: 600; font-size: .72rem; color: var(--bs-secondary-color);
    border-bottom: 1px solid var(--bs-border-color); padding: .6rem .65rem; white-space: nowrap; }
.ms-agac td { padding: .45rem .55rem; border-bottom: 1px solid var(--bs-border-color-translucent); vertical-align: middle; }
.ms-agac tbody tr { cursor: pointer; transition: background-color .15s cubic-bezier(.4,0,.2,1); }
.ms-agac tbody tr:hover { background: var(--bs-tertiary-bg); }
.ms-agac tbody tr.is-secili { background: color-mix(in srgb, var(--kmp-primary, #4f46e5) 9%, transparent); box-shadow: inset 3px 0 0 var(--kmp-primary, #4f46e5); }
.ms-agac tr.ms-seviye-1 td:first-child { font-weight: 600; }
.ms-agac tr.ms-tur td { background: var(--bs-secondary-bg); font-weight: 600; font-size: .8rem; cursor: default; }
.ms-agac .text-end { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ms-dugme { width: 1.4rem; height: 1.4rem; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent;
    color: var(--bs-secondary-color); border-radius: .35rem; margin-right: .2rem; padding: 0; }
.ms-dugme:hover { background: var(--bs-secondary-bg); color: var(--bs-body-color); }
.ms-dugme:focus-visible { outline: 0; box-shadow: var(--kmp-focus-ring, 0 0 0 .2rem rgba(79,70,229,.35)); }
.ms-bosluk { display: inline-block; width: 1.6rem; }

/* Kontrol sonucu */
.ms-sonuc { border-radius: var(--kmp-radius-lg, .875rem); padding: 1.25rem; border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); }
.ms-sonuc--success { border-color: var(--bs-success-border-subtle); background: var(--bs-success-bg-subtle); }
.ms-sonuc--warning { border-color: var(--bs-warning-border-subtle); background: var(--bs-warning-bg-subtle); }
.ms-sonuc--danger { border-color: var(--bs-danger-border-subtle); background: var(--bs-danger-bg-subtle); }
.ms-sonuc--secondary { background: var(--bs-tertiary-bg); }
.ms-sonuc__ikon { font-size: 2rem; line-height: 1; }

/* Ay girişi ızgarası (bütçe satırı modalı) */
.ms-aylar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem .75rem; }
.ms-aylar input { text-align: right; font-variant-numeric: tabular-nums; }

@media (max-width: 575.98px) {
    .ms-aylar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ms-trend { gap: .2rem; }
}
@media (prefers-reduced-motion: reduce) {
    .ms-trend__butce, .ms-trend__gercek, .ms-bar > span, .ms-agac tbody tr { transition: none; }
}

/* Sekme yığını: tek sütun ekran genişliğini aşmasın (içerik max-content'e göre genişlemesin). */
.kmp-tabstack { grid-template-columns: minmax(0, 1fr); }
.kmp-tabstack > .kmp-tabstack-pane { min-width: 0; }
.ms-agac td:first-child { min-width: 220px; }
.ms-agac td:first-child .ms-ad { white-space: normal; }

/* ── 0.2.0 Proje bütçesi ── */
.ms-kum svg { width: 100%; height: 260px; display: block; background: var(--bs-tertiary-bg); border-radius: var(--kmp-radius-md, .625rem); }
.ms-kum__sifir { stroke: var(--bs-border-color); stroke-width: 1; }
.ms-kum__plan { fill: none; stroke: var(--kmp-primary, #4f46e5); stroke-width: 2.5; stroke-dasharray: 7 5; vector-effect: non-scaling-stroke; }
.ms-kum__gercek { fill: none; stroke: var(--bs-success); stroke-width: 3; vector-effect: non-scaling-stroke; }
.ms-kum__cubuk { fill: color-mix(in srgb, var(--bs-success) 35%, transparent); }
.ms-kum__cubuk--eksi { fill: color-mix(in srgb, var(--bs-danger) 45%, transparent); }
.ms-legend--cizgi-plan { height: 0; border-top: 2px dashed var(--kmp-primary, #4f46e5); border-radius: 0; vertical-align: .2rem; }
.ms-legend--cizgi-gercek { height: 0; border-top: 3px solid var(--bs-success); border-radius: 0; vertical-align: .2rem; }
.ms-legend--cubuk { background: color-mix(in srgb, var(--bs-success) 35%, transparent); }
.ms-proje-bas { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; font-size: .875rem; color: var(--bs-secondary-color); }
.ms-proje-bas b { color: var(--bs-body-color); font-weight: 600; }
