/* DP Üretim — mobil uyum (08.10.2026)
 * Tüm sayfalara bootstrap'ten sonra yüklenir. 768px altında devreye girer.
 * Tablolar mobil.js ile kart görünümüne çevrilir (table.mobil-kart);
 * class="mobil-tablo" verilen tablolar yatay kaydırmalı kalır.
 */

html { -webkit-text-size-adjust: 100%; }
.d-contents { display: contents; }
body { overflow-x: hidden; }

/* Tablolar her zaman en azından yatay kaydırılabilsin (mobil.js sarmalar). */
.table-responsive { -webkit-overflow-scrolling: touch; }

@media (max-width: 767.98px) {
    body { font-size: 15px; }
    h1, .h1 { font-size: 1.5rem; }
    h2, .h2 { font-size: 1.35rem; }
    h3, .h3 { font-size: 1.2rem; }
    h4, .h4 { font-size: 1.1rem; }

    .row { --bs-gutter-x: 1rem; }
    .card-body { padding: .85rem; }

    /* Dokunma hedefleri */
    .btn:not(.btn-sm):not(.btn-close):not(.navbar-toggler) { min-height: 44px; padding-top: .55rem; padding-bottom: .55rem; }
    .form-control, .form-select { min-height: 44px; font-size: 16px; } /* 16px: iOS zoom'u engeller */
    .form-control-sm, .form-select-sm { min-height: 38px; font-size: 15px; }
    .form-check-input { width: 1.35em; height: 1.35em; }
    .badge { white-space: normal; text-align: left; line-height: 1.3; }

    /* Çalışma paneli: 4 düğme 2 sütun, rozet ayrı satır */
    .calisma-butonlar.d-contents { display: grid; }
    .calisma-butonlar { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; width: 100%; }
    .calisma-butonlar .btn { width: 100%; white-space: normal; }
    .calisma-durum { display: block; width: 100%; margin: .25rem 0 0 0 !important; }

    /* Kart görünümlü tablo (mobil.js data-label yazar). Her satır bir kart,
       hücreler 3 sütunlu ızgarada "etiket üstte / değer altta" dizilir. */
    table.mobil-kart { border: 0; width: 100%; display: block; }
    table.mobil-kart thead { display: none; }
    table.mobil-kart tbody, table.mobil-kart tfoot { display: block; }
    table.mobil-kart tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .15rem .6rem; border: 1px solid #dee2e6; border-radius: .5rem; margin-bottom: .55rem; padding: .5rem .65rem; background: #fff; }
    table.mobil-kart.table-striped tbody tr:nth-of-type(odd) { background: #fff; }
    table.mobil-kart tbody tr.table-active, table.mobil-kart tbody tr.selected, table.mobil-kart tbody tr:has(input[type=checkbox]:checked) { background: #e7f1ff; border-color: #0d6efd; }
    table.mobil-kart td, table.mobil-kart th { display: flex; flex-direction: column; align-items: flex-start; gap: 0; border: 0; padding: .1rem 0; text-align: left !important; white-space: normal; width: auto !important; min-width: 0 !important; font-size: .95em; line-height: 1.25; overflow-wrap: anywhere; }
    table.mobil-kart td::before, table.mobil-kart th::before { content: attr(data-label); font-weight: 500; color: #6c757d; font-size: .72em; text-transform: uppercase; letter-spacing: .02em; }
    table.mobil-kart td:not([data-label])::before, table.mobil-kart th:not([data-label])::before, table.mobil-kart [data-label=""]::before { display: none; }
    table.mobil-kart .mobil-deger { display: block; min-width: 0; }
    /* Etiketsiz hücreler (onay kutusu, işlem düğmesi, "kayıt yok") tam satır */
    table.mobil-kart td:not([data-label]), table.mobil-kart [data-label=""], table.mobil-kart td[colspan] { grid-column: 1 / -1; flex-direction: row; align-items: center; }
    table.mobil-kart td:has(.btn):not(:has(input)) { grid-column: 1 / -1; justify-content: flex-end; }
    table.mobil-kart td:has(> .mobil-deger > input[type=checkbox]:only-child), table.mobil-kart td:has(> .mobil-deger > .form-check:only-child) { grid-column: 1 / -1; }
    table.mobil-kart td, table.mobil-kart th { background: transparent !important; box-shadow: none !important; }
    table.mobil-kart td.mobil-bos { display: none; }
    table.mobil-kart td .btn, table.mobil-kart th .btn { white-space: nowrap; }
    table.mobil-kart .btn-sm { min-height: 38px; padding: .4rem .8rem; }
    table.mobil-kart tbody tr > :first-child[data-label] { font-weight: 600; }
    /* Uzun metinli hücreler (not, açıklama, ürün adı) tam satır */
    table.mobil-kart td.note-cell, table.mobil-kart td.mobil-genis { grid-column: 1 / -1; }
    table.mobil-kart tr.mobil-gizli { display: none; }
    table.mobil-kart tr.mobil-sayfa-satir { border: 0; background: transparent; padding: 0; }
    table.mobil-kart tr.mobil-sayfa-satir td { grid-column: 1 / -1; }

    /* Matris raporlar (verim) kaydırmalı kalır: küçük yazı, yapışkan ilk sütun */
    table.mobil-tablo { font-size: .8rem; }
    table.mobil-tablo thead th { min-width: 110px; }
    table.mobil-tablo thead th:first-child, table.mobil-tablo tbody th { min-width: 120px; max-width: 140px; white-space: normal; }

    /* Rapor tabloları: sticky ilk sütun kart modunda anlamsız */
    table.mobil-kart tbody th { position: static !important; }

    /* Makine başlık kartı: ad solda, "Bugünkü Üretim" bloğu alta, yan yana sayılar */
    .card-body > .d-flex.justify-content-between, .card-header.d-flex.justify-content-between { flex-wrap: wrap; gap: .6rem; }
    .card-body > .d-flex.justify-content-between > .text-end { text-align: left !important; width: 100%; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; align-items: flex-end; }
    .card-body > .d-flex.justify-content-between > .text-end > .small.text-muted:first-child { width: 100%; margin-bottom: 0 !important; }
    .card-body > .d-flex.justify-content-between > .text-end .fs-5 { font-size: 1.1rem !important; }
    .card-body > .d-flex.justify-content-between > .text-end .fs-4 { font-size: 1.2rem !important; }
    .card-body > .d-flex.justify-content-between > .text-end .fs-3 { font-size: 1.3rem !important; }

    /* Modallar */
    .modal-dialog { margin: .5rem; }

    /* Navbar menü maddeleri daha rahat dokunulsun */
    .navbar .dropdown-item, .navbar .nav-link { padding-top: .6rem; padding-bottom: .6rem; }

    /* Fırın yerleşim ızgarası yatay kaydırılır */
    .firin-grid-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

@media (max-width: 575.98px) {
    /* Çok dar ekranda düğme grupları alt alta */
    .btn-group:not(.mobil-yatay) { display: flex; flex-direction: column; }
    .btn-group:not(.mobil-yatay) > .btn { border-radius: .375rem !important; margin-bottom: .25rem; }
}
