/* Cetak / PDF — hanya isi detail submission yang dicetak */
@page { size: A4; margin: 14mm 12mm; }

body { background: #fff !important; color: #000; font-size: 11.5px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

/* sembunyikan kerangka aplikasi */
.sidebar, .topbar, .drawer-overlay, #toast, #modal-root, #auth-screen,
.no-print, .upload-box, .g-del, .form-bottom, .pagination, .filter-bar { display: none !important; }

.app-shell { display: block !important; }
.main { display: block; }
.content { padding: 0 !important; }
.form-page { max-width: none; gap: 10px; }

/* kepala cetak: logo kecil + judul form */
.print-head { display: flex !important; align-items: center; gap: 12px; border-bottom: 2px solid #b07d3c; padding-bottom: 8px; margin-bottom: 10px; }
.print-head img { height: 34px; width: auto; }
.print-head strong { display: block; font-size: 15px; }
.print-head span { font-size: 10.5px; color: #555; }

/* kartu menjadi kotak sederhana */
.panel, .group-head, .score-card, .sig-box, .g-item {
  box-shadow: none !important; border: 1px solid #bbb !important; border-radius: 4px !important;
  background: #fff !important; color: #000 !important; break-inside: avoid;
}
.form-section { break-inside: auto; }
.group-head { background: #f0e3cd !important; color: #000 !important; margin-top: 8px; padding: 8px 12px; }
.group-head .score-pill { background: #fff !important; color: #000 !important; border: 1px solid #bbb; }
.section-head, .section-foot, .form-table th, .form-table tr.row-heading td, .score-card.total { background: #f3ede2 !important; }
.section-head, .section-foot { padding: 7px 12px; }
.section-head h4 { font-size: 12.5px; }
.detail-head { padding: 10px 12px; }
.detail-head h3 { font-size: 15px; }
.meta-grid, .score-cards { padding: 8px 12px; gap: 6px 14px; }
.meta-grid dt { font-size: 9.5px; }
.meta-grid dd { font-size: 11.5px; }
.meta-note { padding: 0 12px 8px; font-size: 10.5px; color: #333; }
.score-card { min-width: 0; padding: 6px 10px; }
.score-card .val { font-size: 13px; color: #000 !important; }
.score-pill { background: #eee !important; color: #000 !important; border: 1px solid #bbb; padding: 2px 8px; font-size: 11px; }

/* tabel rapi */
.form-table { font-size: 10.5px; border-collapse: collapse; }
.form-table th, .form-table td { border: 1px solid #ccc !important; padding: 4px 6px !important; }
.form-table tr { break-inside: avoid; }
.form-table th.c-ctl, .form-table td.c-ctl { width: 150px; }
.ro-val { width: 22px; height: 20px; font-size: 10.5px; border: 1px solid #ddd !important; border-radius: 3px; }
.ro-val:not(.v1):not(.v2):not(.v3):not(.v4):not(.v5) { color: #bbb; border-color: #eee !important; }
.ro-val.v1, .ro-val.v2 { background: #f6dcd8 !important; }
.ro-val.v3 { background: #efe0c4 !important; }
.ro-val.v4, .ro-val.v5 { background: #d9eedf !important; }
.ro-yn { border: 1px solid #bbb; padding: 1px 6px; font-size: 10px; }
.progress { border: 1px solid #bbb; height: 6px; }
.progress > i { background: #b07d3c !important; }
.note-item { padding: 8px 12px; gap: 4px 8px; }
.note-item .no { width: 20px; height: 20px; font-size: 10px; background: #f0e3cd !important; }
.note-item .q { font-size: 11.5px; }
.ro-text { font-size: 11.5px; }
.foot-block { padding: 10px 12px; }
.sig-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
.sig-img { height: 100px; border: 1px solid #ccc; }
.gallery { grid-template-columns: repeat(4, 1fr); padding: 8px 12px; }
.g-item .thumb { aspect-ratio: 4 / 3; }
a { color: #000; text-decoration: none; }
