/* ==========================================================================
   Telefon ve dokunmatik ekran iyileştirmeleri
   - 3. adımdaki plan tablosu telefonda kart düzenine geçer.
   - Dokunmatik ekranlarda düğme, bağlantı ve onay kutuları parmakla rahat seçilir boyuttadır.
   ========================================================================== */

/* Plan tablosu (masaüstü) */
.plan-field-stack { display: grid; gap: .25rem; }
.plan-field-stack .form-control { font-size: .8125rem; }
.plan-dates .form-control { font-size: .75rem; padding: .25rem; }
.plan-cell-no { font-weight: 700; text-align: center; }
.plan-cell-actions { text-align: center; }
.plan-cell-bop { min-width: 260px; }
.plan-bop-step { display: flex; align-items: center; justify-content: space-between; gap: .5rem; background: var(--bg-main); padding: .375rem .5rem; border-radius: 6px; margin-bottom: .375rem; }
.plan-bop-move, .plan-bop-actions { display: flex; align-items: center; gap: .25rem; }
.plan-bop-text { font-size: .8rem; }
.plan-step-btn { width: 24px; height: 24px; min-height: 0; padding: 0; display: inline-grid; place-items: center; line-height: 1; }
.plan-bop-status { padding: .2rem .35rem; font-size: .72rem; width: auto; }
.plan-bop-add { display: flex; gap: .25rem; }
.plan-bop-add .form-control { font-size: .75rem; padding: .25rem .5rem; min-width: 0; flex: 1; }
.plan-remove-btn { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; }
.plan-remove-label { display: none; }

@media (max-width: 760px) {
  .meb-table-wrapper:has(.plan-table) { overflow: visible; }
  .plan-table, .plan-table tbody, .plan-table tr, .plan-table td { display: block; width: 100% !important; box-sizing: border-box; }
  .plan-table thead { display: none; }
  .plan-table tr.plan-row { width: auto !important; margin: .75rem; padding: .6rem .8rem; border: 1px solid var(--border-color); border-left: 4px solid var(--primary); border-radius: var(--radius-md); background: var(--card-bg); }
  .plan-table td { border: 0 !important; padding: .45rem 0 !important; min-width: 0 !important; text-align: left; }
  .plan-table tr.plan-row td + td { border-top: 1px dashed var(--border-color) !important; }
  .plan-table tr.plan-row td::before { content: attr(data-label); display: block; margin-bottom: .3rem; font-size: .72rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--text-muted); }
  .plan-table td.plan-cell-no { color: var(--primary); font-size: .9rem; }
  .plan-table td.plan-cell-no::before { display: inline !important; margin-right: .35rem; }
  .plan-dates { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .plan-field-stack .form-control, .plan-dates .form-control, .plan-bop-add .form-control { font-size: 16px; padding: .5rem .6rem; }
  .plan-bop-step { flex-wrap: wrap; }
  .plan-bop-actions { margin-left: auto; }
  .plan-table td.plan-cell-actions { text-align: right; }
  .plan-table td.plan-cell-actions::before { display: none !important; }
  .plan-remove-label { display: inline; }
}

/* Dokunmatik ekranlar: en az ~38 px dokunma alanı, 20 px onay kutuları */
@media (pointer: coarse), (max-width: 760px) {
  .btn-sm, .btn-xs { min-height: 38px; }
  .plan-step-btn { width: 36px; height: 36px; min-height: 36px; }
  .off-link { display: inline-flex; align-items: center; min-height: 34px; padding: 0 .2rem; }
  input[type="checkbox"], input[type="radio"] { width: 20px; height: 20px; }
  .qb-chip-sm { min-height: 36px; }
  .qb-seg-btn small { font-size: .72rem; }
  .qb-multi-option { min-height: 40px; }
  .dock-item span { font-size: .6875rem; }
  .plan-bop-status { min-height: 38px; font-size: .8rem; }
}

/* Hızlı BEP: dar ekranlarda düğmeler kartın dışına taşmaz */
.qb-card .btn, .qb-subject-card .btn { max-width: 100%; white-space: normal; text-align: center; }
.qb-card small, .qb-step-label small { font-size: .75rem; }
@media (pointer: coarse), (max-width: 760px) {
  .qb-add-uda > summary, .qb-defaults > summary { min-height: 40px; display: flex; align-items: center; }
}

/* 7. adım önizlemesi: dar ekranda A4 sayfa ekrana sığdırılır (çıktılar etkilenmez) */
.preview-fit-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .5rem; font-size: .8rem; color: var(--text-muted); }
.preview-fit-bar[hidden] { display: none; }
#print-preview-container.is-fit { overflow-x: hidden; }
#print-preview-container.is-fit > * { zoom: var(--preview-fit, 1); }
@media print {
  .preview-fit-bar { display: none !important; }
  #print-preview-container.is-fit > * { zoom: 1 !important; }
}

/* Resmî dosya: yerleştirme kararı, tarih ve sayı telefonda alt alta */
@media (max-width: 640px) {
  .off-placement-row { flex-wrap: wrap; }
  .off-placement-row > .form-control { flex: 1 1 100% !important; min-width: 0; }
  .off-placement-row > .form-control + .form-control { flex: 1 1 calc(50% - .25rem) !important; }
}

/* Tüm BEP dosyası: her belge yeni sayfada ve kendi yönünde basılır */
.bep-folder-part + .bep-folder-part { margin-top: 1.5rem; }
@page bep-belge-dikey { size: A4 portrait; margin: 8mm; }
@page bep-belge-yatay { size: A4 landscape; margin: 8mm; }
@page bep-belge-kapak { size: A4 portrait; margin: 0; }
@media print {
  .bep-folder-part { break-after: page; margin: 0 !important; }
  .bep-folder-part:last-child { break-after: auto; }
  .bep-folder-part.part-portrait { page: bep-belge-dikey; }
  .bep-folder-part.part-landscape { page: bep-belge-yatay; }
  .bep-folder-part[data-part="cover"] { page: bep-belge-kapak; }
  .bep-cover-sheet { box-shadow: none !important; margin: 0 !important; }
  .bep-cover-sheet .mb-page.mb-cover { height: 296mm; }
}

/* Plan ekranı: eksik alan uyarıları */
.plan-badges { display: inline-flex; flex-wrap: wrap; gap: .35rem; justify-content: flex-end; }
.plan-badge-issues { background: #fef3c7; color: #92400e; }
.plan-row-warning { margin: .4rem 0 0; font-size: .75rem; font-weight: 600; color: #b45309; }
.plan-row.has-issues > td:first-child { box-shadow: inset 3px 0 0 #f59e0b; }
.plan-table .form-control.is-invalid { border-color: #f59e0b; box-shadow: 0 0 0 1px rgba(245, 158, 11, .35); }
@media (max-width: 760px) {
  .plan-table tr.plan-row.has-issues { border-left-color: #f59e0b; }
  .plan-row.has-issues > td:first-child { box-shadow: none; }
}

/* Tüm dosyadaki resmî BEP sayfaları (Kapak, I–V) yazdırmada örnek formatın kendi sayfa düzeniyle basılır */
@media print {
  .bep-folder-part[data-part="official"] { page: auto; }
  #print-preview-container .meb-resmi-bep .mb-page { box-shadow: none; margin: 0; break-after: page; }
  #print-preview-container .meb-resmi-bep .mb-portrait { page: bep-dikey; width: auto; min-height: 0; }
  #print-preview-container .meb-resmi-bep .mb-landscape { page: bep-yatay; width: auto; min-height: 0; }
  #print-preview-container .meb-resmi-bep .mb-page.mb-cover { height: 296mm; }
  #print-preview-container .meb-resmi-bep .mb-table th, #print-preview-container .meb-resmi-bep .mb-label,
  #print-preview-container .meb-resmi-bep .mb-subject, #print-preview-container .meb-resmi-bep .mb-cover-box { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
