/* Konut firma × teminat şablon matrisi (Hızlı Teklif Konut Şablonu'nun web karşılığı) */
.ksm-wrap {
    position: relative;
    overflow: auto;
    max-height: 70vh;
    border: 1px solid #e3d5ea;
    border-radius: .5rem;
    background: #fff;
}

.ksm-table {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 100%;
    font-size: .8rem;
}

.ksm-table th,
.ksm-table td {
    border-right: 1px solid #ece4f0;
    border-bottom: 1px solid #ece4f0;
    padding: 0;
    white-space: nowrap;
    vertical-align: middle;
}

.ksm-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #6d2a8f;
    color: #fff;
    font-weight: 600;
    padding: .45rem .5rem;
    text-align: center;
    min-width: 120px;
}

.ksm-table th.ksm-firma,
.ksm-table td.ksm-firma {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 140px;
    padding: .25rem .5rem;
    font-weight: 600;
    background: #f6eefa;
    text-align: left;
}

.ksm-table thead th.ksm-firma {
    z-index: 4;
    background: #6d2a8f;
}

.ksm-table td.ksm-firma img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    margin-right: .4rem;
    vertical-align: middle;
}

.ksm-table tr.ksm-toplu td {
    background: #fff3cd;
}

.ksm-table tr.ksm-toplu td.ksm-firma {
    background: #ffe69c;
}

.ksm-table tr.ksm-satir:hover td {
    background: #fbf5fe;
}

.ksm-table td.ksm-kilitli {
    background: #e9e9e9;
    background-image: repeating-linear-gradient(135deg, transparent 0 6px, rgba(0, 0, 0, .04) 6px 8px);
}

.ksm-table td .ksm-giris {
    width: 100%;
    min-width: 118px;
    border: 0;
    background: transparent;
    padding: .35rem .5rem;
    font-size: .8rem;
    color: #212529;
    outline: none;
}

.ksm-table td .ksm-giris:focus {
    background: #fff;
    box-shadow: inset 0 0 0 2px #c400e3;
}

.ksm-table td .ksm-giris.is-invalid {
    box-shadow: inset 0 0 0 2px #dc3545;
}

.ksm-table td select.ksm-giris {
    appearance: auto;
    cursor: pointer;
}

.ksm-araclar {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    margin-bottom: .5rem;
}

.ksm-araclar .ksm-not {
    color: #6c757d;
    font-size: .8rem;
    flex: 1 1 260px;
}

.ksm-firma-filtre {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .75rem;
    margin-bottom: .5rem;
    font-size: .8rem;
}

.ksm-firma-filtre label {
    cursor: pointer;
    user-select: none;
}

@media (max-width: 767.98px) {
    .ksm-wrap {
        max-height: 60vh;
    }

    .ksm-table thead th,
    .ksm-table td .ksm-giris {
        min-width: 100px;
    }
}

/* Konut form bölüm başlıkları ve matris akordeonu */
.konut-bolum-baslik {
    color: #6d2a8f;
    border-bottom: 2px solid #e9d7f3;
    padding-bottom: .35rem;
    margin-bottom: .75rem;
    font-weight: 700;
}

.konut-matris-accordion .accordion-button {
    background: #f6eefa;
    color: #4b1c66;
    font-weight: 600;
}

.konut-matris-accordion .accordion-button:not(.collapsed) {
    background: #ecd9f6;
    color: #4b1c66;
    box-shadow: none;
}

.konut-matris-rozet {
    background: #c400e3;
    color: #fff;
    font-weight: 500;
    font-size: .7rem;
}
