/* PDF 안내 모달 스타일 (externalized) */
dialog#pdfGuideDialog { position: fixed; border: none; padding: 0; width: 880px; height: 80vh; top:10vh; background:#fff; box-shadow:0 8px 28px rgba(0,0,0,.28); border-radius:10px; overflow:hidden; z-index:1000; }
dialog#pdfGuideDialog::backdrop { background: rgba(0,0,0,.15); }
.pdf-guide-header { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; border-bottom:1px solid #e5e5e5; background:#f9fafb; cursor:move; user-select:none; }
.pdf-guide-header h5 { margin:0; font-size:15px; }
#pdfGuideClose, #pdfDownloadBtn { cursor:pointer; border:1px solid #d0d7de; background:#fff; padding:4px 10px; font-size:13px; border-radius:6px; }
#pdfGuideClose:hover, #pdfDownloadBtn:hover { background:#f3f4f6; }
#pdfGuideContainer { padding:12px; overflow:auto; height: calc(80vh - 54px); background:#f5f6f7; cursor:grab; }
#pdfGuideContainer.dragging { cursor:grabbing; }
#pdfGuideContainer canvas { display:block; margin:0 auto 12px; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.08); }
.zoom-controls { display:flex; align-items:center; gap:6px; }
.zoom-controls button { width:32px; height:28px; line-height:1; border:1px solid #d0d7de; background:#fff; border-radius:6px; cursor:pointer; font-size:16px; font-weight:600; padding:0; }
.zoom-controls button:hover { background:#f3f4f6; }
#zoomDisplay { min-width:46px; text-align:center; font-size:13px; font-weight:500; }

/* Mobile layout (<=768px): 5% viewport margin each side, 90% size */
@media screen and (max-width: 768px) {
  dialog#pdfGuideDialog { width:90%; height:90vh; top:5vh; left:5%; box-shadow:0 6px 18px rgba(0,0,0,.24); }
  #pdfGuideContainer { height:calc(90vh - 54px); }
}
