/* ===== PDF 뷰어 ===== */
.pdf-app { display: flex; flex-direction: column; height: 100%; background: #525659; }
.pdf-toolbar { flex: 0 0 auto; display: flex; justify-content: space-between; align-items: center; padding: 6px 14px; background: #323639; color: #eee; font-size: 12px; }
.pdf-count { color: #bbb; }
.pdf-stage { flex: 1 1 auto; overflow-y: auto; padding: 18px 0 30px; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.pdf-page { position: relative; flex: 0 0 auto; /* 세로 줄에서 줄어들면 긴 쪽이 다음 쪽 밑으로 가려진다 */ width: 560px; min-height: 740px; background: #fff; color: #222; padding: 70px 64px; box-shadow: 0 2px 10px rgba(0,0,0,0.5); font-family: "Malgun Gothic", "맑은 고딕", "Apple SD Gothic Neo", serif; font-size: 14px; line-height: 1.7; }
.pdf-title { font-size: 24px; text-align: center; margin: 0 0 18px; }
.pdf-h { font-size: 16px; margin: 14px 0 6px; }
.pdf-p { margin: 0 0 8px; white-space: pre-wrap; }
.pdf-li { margin: 0 0 4px 8px; }
.pdf-blank { height: 18px; }
.pdf-page-no { position: absolute; bottom: 24px; left: 0; right: 0; text-align: center; font-size: 11px; color: #888; }
.win--pdf .win-titlebar { background: #323639; color: #fff; border-bottom: none; }
.win--pdf:not(.is-active) .win-titlebar { background: #5a5f63; color: rgba(255,255,255,0.85); }
.win--pdf .win-ctrl:hover { background: rgba(255,255,255,0.15); }
.win--pdf .win-ctrl-close:hover { background: #e81123; }

/* 그림 블록 */
.pdf-fig { margin: 10px 0 14px; text-align: center; }
.pdf-img { display: block; max-width: 100%; max-height: 520px; margin: 0 auto; border: 1px solid #e3e3e3; background: #fafafa; }
.pdf-cap { margin-top: 6px; font-size: 11.5px; color: #777; }

/* 강조 상자·체크 목록 (신입 안내서 등) */
.pdf-callout { margin: 10px 0 12px; padding: 10px 14px; border-radius: 8px; border-left: 5px solid #2f7fd1; background: #eef4fb; font-size: 13.5px; }
.pdf-callout-tip { border-left-color: #e0a100; background: #fff7e0; }
.pdf-callout-warn { border-left-color: #e5484d; background: #fdecec; }
.pdf-callout-title { font-weight: 700; margin-bottom: 2px; }
.pdf-callout-by { margin-top: 4px; font-size: 12px; color: #666; text-align: right; }
.pdf-check { margin: 0 0 6px 4px; display: flex; gap: 8px; align-items: flex-start; }
.pdf-check-box { flex: none; color: #2f7fd1; font-weight: 700; }

/* 양식 표 (신청서·견적서·발주 합계 등) */
.pdf-form, .pdf-table, .pdf-sign { width: 100%; border-collapse: collapse; margin: 10px 0 14px; font-size: 13px; line-height: 1.5; }
.pdf-form th, .pdf-form td, .pdf-table th, .pdf-table td, .pdf-sign th, .pdf-sign td { border: 1px solid #555; padding: 6px 9px; vertical-align: middle; }
.pdf-form th { width: 15%; background: #f1f2f4; font-weight: 600; text-align: center; white-space: nowrap; }
.pdf-form td:last-child:not([colspan]) { white-space: nowrap; } /* 두 쌍 줄의 오른쪽 값(날짜 등)은 줄바꿈하지 않는다 */
.pdf-table thead th { background: #f1f2f4; font-weight: 600; text-align: center; }
.pdf-table tfoot td { background: #fafafa; font-weight: 700; }
.pdf-table .is-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pdf-sign { width: auto; margin-left: auto; }
.pdf-sign th { min-width: 96px; background: #f1f2f4; font-weight: 600; font-size: 12px; text-align: center; padding: 3px 9px; }
.pdf-sign td { height: 52px; text-align: center; }
.pdf-sign-name { font-weight: 600; }
.pdf-sign-at { font-size: 11px; color: #666; }
