/* Şablon P&L Girişi ve Şablon Bütçe Girişi ortak stilleri (sayfa + SablonGirisSatiri satırları).
   Tüm kurallar .sablon-giris altında: başka sayfalardaki aynı adlı sınıfları etkilemez. Renkler MudBlazor tema değişkenleri (koyu temada da uyumlu). */

/* Sayfa ekran yüksekliğine sabit; üst alan ve uyarılar kendi boylarında, tablo kalan alanı alır */
.sablon-giris {
    box-sizing: border-box;
    height: calc(100vh - var(--mud-appbar-height, 64px) - 1.1rem);
    display: flex;
    flex-direction: column;
    font-size: 13px;
}

    .sablon-giris > * {
        flex: 0 0 auto;
    }

    .sablon-giris > .grid-wrapper {
        flex: 1 1 auto;
        min-height: 200px;
    }

/* Araç çubuğu */
.sablon-giris .sg-arac-cubugu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-bottom: 8px;
}

    .sablon-giris .sg-arac-cubugu .sg-isyeri {
        flex: 0 1 300px;
        min-width: 200px;
    }

    .sablon-giris .sg-arac-cubugu .sg-sablon {
        flex: 0 1 240px;
        min-width: 180px;
    }

.sablon-giris .sg-yil {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
}

.sablon-giris .sg-yil-deger {
    min-width: 44px;
    text-align: center;
    font-weight: 600;
}

.sablon-giris .sg-ozet {
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

    .sablon-giris .sg-ozet b {
        color: var(--mud-palette-text-primary);
    }

.sablon-giris .sg-kilit-ozet {
    color: var(--mud-palette-warning-darken);
}

.sablon-giris .sg-degisti {
    font-size: 0.8rem;
    color: var(--mud-palette-warning-darken);
}

.sablon-giris .sg-ikon {
    font-size: 14px;
    vertical-align: -2px;
}

/* Giriş tablosu */
.sablon-giris .grid-wrapper {
    overflow: auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    contain: layout;
}

.sablon-giris .butce-grid {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    table-layout: fixed;
    background: var(--mud-palette-surface);
}

    .sablon-giris .butce-grid thead {
        position: sticky;
        top: 0;
        z-index: 10;
    }

    .sablon-giris .butce-grid th,
    .sablon-giris .butce-grid td {
        padding: 0.35rem 0.4rem;
        border: 1px solid var(--mud-palette-lines-default);
        overflow: hidden;
    }

.sablon-giris .header-row th {
    font-weight: 600;
    background: var(--mud-palette-background-gray);
}

    .sablon-giris .header-row th.bu-ay {
        color: var(--mud-palette-primary);
        box-shadow: inset 0 -2px 0 var(--mud-palette-primary);
    }

    /* Onaylı ay: sütunun hücreleri salt okunur */
    .sablon-giris .header-row th.onayli {
        color: var(--mud-palette-warning-darken);
    }

.sablon-giris .col-sira {
    width: 45px;
    text-align: center;
    white-space: nowrap;
}

.sablon-giris .col-kod {
    width: 90px;
    text-align: left;
    white-space: nowrap;
}

.sablon-giris .col-adi {
    width: 330px;
    text-align: left;
    white-space: nowrap;
    z-index: 1;
    overflow: visible !important;
}

    .sablon-giris .col-adi:hover {
        z-index: 9999;
    }

.sablon-giris .col-ay {
    width: 100px;
    text-align: right;
    white-space: nowrap;
    overflow: visible !important;
}

.sablon-giris .col-toplam {
    width: 130px;
    text-align: right;
    font-weight: 600;
    white-space: nowrap;
}

/* Sabit sütunlar (arka plan şart: kaydırırken alttaki hücreler görünmesin) */
.sablon-giris .sticky-col {
    position: sticky;
    left: 0;
    z-index: 6;
    text-align: center;
    background: var(--mud-palette-surface);
    border-right: 2px solid var(--mud-palette-lines-default);
}

.sablon-giris .sticky-col-2 {
    position: sticky;
    left: 45px;
    z-index: 6;
    text-align: left;
    background: var(--mud-palette-surface);
}

.sablon-giris .sticky-col-3 {
    position: sticky;
    left: 135px;
    z-index: 5;
    width: 330px;
    text-align: left;
    overflow: visible !important;
    background: var(--mud-palette-surface);
    border-right: 2px solid var(--mud-palette-lines-default);
}

.sablon-giris .sticky-right {
    position: sticky;
    right: 0;
    z-index: 7;
    background: var(--mud-palette-background-gray);
    border-left: 2px solid var(--mud-palette-lines-default);
}

.sablon-giris .butce-grid thead .sticky-col,
.sablon-giris .butce-grid thead .sticky-col-2,
.sablon-giris .butce-grid thead .sticky-col-3 {
    z-index: 11;
    background: var(--mud-palette-background-gray);
}

.sablon-giris .butce-grid thead .sticky-right {
    z-index: 12;
}

/* Tutar girişi */
.sablon-giris .tutar-input {
    width: 100%;
    padding: 0.25rem 0.3rem;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: 2px;
    text-align: right;
    font-family: Consolas, 'Courier New', monospace;
    font-size: 12px;
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-surface);
    transition: border-color 0.15s, box-shadow 0.15s;
}

    .sablon-giris .tutar-input:focus {
        outline: none;
        border-color: var(--mud-palette-primary);
        box-shadow: 0 0 0 2px var(--mud-palette-primary-hover);
    }

    .sablon-giris .tutar-input.changed {
        background: var(--mud-palette-warning-hover);
        border-color: var(--mud-palette-warning);
        font-weight: 500;
    }

/* Formül / hesaplanan satırlar */
.sablon-giris .formula-cell {
    text-align: right;
    background: var(--mud-palette-background-gray);
}

.sablon-giris .formula-value {
    color: var(--mud-palette-text-secondary);
    font-style: italic;
}

/* Kayıtlı değer güncel hesaptan farklı (koda bağlı formül satırı) */
.sablon-giris .formula-fark {
    border-bottom: 2px dotted var(--mud-palette-info);
    cursor: help;
}

/* Girdisi değiştiği için yeniden hesaplanan, kaydedilecek formül hücresi */
.sablon-giris .formula-degisti {
    color: var(--mud-palette-warning-darken);
    font-weight: 600;
}

/* Hesaplanamayan formül: değer boş, hata mesajı üzerine gelince görünür */
.sablon-giris .formula-hata {
    display: inline-block;
    min-width: 20px;
    min-height: 14px;
    border-bottom: 2px dotted var(--mud-palette-error);
    cursor: help;
}

.sablon-giris .row-formula > td,
.sablon-giris .row-formula .sticky-col,
.sablon-giris .row-formula .sticky-col-2,
.sablon-giris .row-formula .sticky-col-3 {
    background: var(--mud-palette-background-gray);
}

/* Değişen satır */
.sablon-giris .row-changed > td,
.sablon-giris .row-changed .sticky-col,
.sablon-giris .row-changed .sticky-col-2,
.sablon-giris .row-changed .sticky-col-3 {
    background: var(--mud-palette-warning-hover);
}

.sablon-giris tbody tr:hover > td {
    background-color: var(--mud-palette-action-default-hover);
}

.sablon-giris tbody tr:hover > td.sticky-col,
.sablon-giris tbody tr:hover > td.sticky-col-2,
.sablon-giris tbody tr:hover > td.sticky-col-3 {
    background-color: var(--mud-palette-background-gray);
}

.sablon-giris .empty-message {
    text-align: center;
    color: var(--mud-palette-text-secondary);
    padding: 2rem !important;
}

/* Hücre açıklaması: köşedeki işaret, üzerine gelince açıklama */
.sablon-giris .budget-cell {
    position: relative;
    width: 100%;
    z-index: 1;
}

    .sablon-giris .budget-cell:hover {
        z-index: 9999;
    }

.sablon-giris .comment-indicator {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-top: 8px solid var(--mud-palette-error);
    border-left: 8px solid transparent;
    z-index: 1;
}

.sablon-giris .comment-tooltip {
    display: none;
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    width: 260px;
    max-height: 180px;
    overflow-y: auto;
    padding: 10px;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    box-shadow: var(--mud-elevation-4);
    z-index: 9999;
}

.sablon-giris .budget-cell:hover .comment-tooltip,
.sablon-giris .col-adi:hover .comment-tooltip {
    display: block;
}

/* Açıklama penceresi (MudDialog) */
.sg-aciklama-bilgi {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 12px;
    padding: 8px 12px;
    margin-bottom: 12px;
    font-size: 0.85rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-background-gray);
}

    .sg-aciklama-bilgi b {
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }
