/* ==========================================================================
   admin-report.css — 분기 결과보고·교육계획서 문서 화면(2026-11-09 관리자 피드백 19~21).
   관리자 틀(사이드바) 안 가운데 A4 미리보기: 회색 바탕(.rpt-stage) 위 그림자 흰 종이. 종이 모양(qr-·lg-)은 forms.css(인쇄 화면용)와 같은 규칙을
   아래에 그대로 옮겼다(관리자 틀은 forms.css를 읽지 않는다 — forms.css의 html 바탕색 규칙이 관리자 화면에 번지지 않게).
   색은 토큰 변수만, 컬러 띠 없음. 폭이 좁으면 미리보기 상자 안에서만 가로 스크롤(문서 전체는 넘치지 않음).
   ========================================================================== */
.rpt-path { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 16px; margin: 0; font-size: var(--kha-fs-14); color: var(--kha-text-secondary); }
.rpt-path ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.rpt-path li + li::before { content: "›"; margin-right: 6px; color: var(--kha-text-tertiary); }
.rpt-path a { color: var(--kha-text-secondary); }
.rpt-path [aria-current] { color: var(--kha-text-strong); font-weight: 600; }
.rpt-back { display: inline-flex; align-items: center; gap: 4px; --icon-size: 16px; }

.rpt-stage { display: flex; justify-content: center; padding: var(--kha-sp-32) var(--kha-sp-24); background: var(--kha-gray-200); border-radius: var(--kha-radius-lg); overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rpt-stage:focus-visible { outline: none; box-shadow: var(--kha-focus-ring); }
.rpt-stage > .qr-page, .rpt-stage > .lg-page { flex: none; height: auto; min-height: 297mm; box-shadow: var(--kha-shadow-lg); }
@container kha (max-width: 599px) { .rpt-stage { justify-content: flex-start; padding: var(--kha-sp-16); } }
:where(.qr-page, .lg-page) :where(p, li, td, th) { text-wrap: pretty; }

/* 화면 표 열 폭: 이름 칸은 한 줄(넘치면 말줄임), 숫자 칸은 좁게, 번호 범위는 한 줄·작은 글자 */
.qr-table .qr-nm { text-align: left; padding-left: 2.2mm; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qr-table .qr-rmk { text-align: left; padding-left: 2mm; font-size: 8.5pt; }
.qr-table .qr-range { white-space: nowrap; font-size: 8pt; letter-spacing: -0.01em; }
.lg-table .lg-l { text-align: left; padding-left: 2mm; overflow: hidden; text-overflow: ellipsis; }
.lg-table .lg-n { text-align: right; padding-right: 2.4mm; }

/* 목록 표: 분기·연도 줄 */
.rpt-year-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rpt-list tr.rpt-sel > * { background: var(--kha-surface-subtle); }
.rpt-list .rpt-sub { display: block; font-size: var(--kha-fs-13); color: var(--kha-text-secondary); }
.rpt-disabled { opacity: .55; cursor: not-allowed; }
.rpt-submit dl { margin: 0; }

/* 인쇄용 보기(t:print 새 창) */
.rpt-print-stage { display: flex; flex-direction: column; align-items: center; gap: 24px; padding: 20px 0; background: var(--kha-gray-200); }
@media print {
  .rpt-print-stage { display: block; padding: 0; background: none; }
  .rpt-print-stage .qr-page, .rpt-print-stage .lg-page { box-shadow: none; }
}

/* ===== A4 세로 쪽(공통) ===== */
.qr-page, .lg-page {
  position: relative; display: flex; flex-direction: column; flex: none;
  width: 210mm; height: 297mm; overflow: hidden;
  background: var(--kha-white); color: var(--kha-gray-900); font-family: var(--kha-font-sans);
  font-size: 10pt; line-height: 1.5; letter-spacing: 0; word-break: keep-all;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.qr-page .mock-label, .lg-page .mock-label { right: 4mm; bottom: 3.5mm; }

/* ==========================================================================
   A. 분기 교육실시 결과보고서(고시 제15조① — 별지 서식 없음)
   ========================================================================== */
.qr-page { padding: 13mm 17mm 12mm; }
.qr-top { display: flex; align-items: center; justify-content: space-between; gap: 4mm; }
.qr-formlabel { font-size: 8pt; color: var(--kha-text-secondary); }
/* '확인 필요' 표시(결과보고서·발급대장 사본 공통) — 고시·서식으로 정해지지 않아 협회·국토부 확인이 필요한 점 */
.qr-verify, .lg-verify { display: inline-flex; align-items: center; gap: 1.2mm; padding: 0.7mm 2.2mm; border: 0.3mm dashed var(--kha-orange-600); border-radius: 1mm; background: var(--kha-warning-bg); color: var(--kha-warning-text); font-size: 7.5pt; font-weight: 700; white-space: nowrap; --icon-size: 3.4mm; }
.qr-title { margin: 6.5mm 0 1.5mm; text-align: center; font-size: 19pt; font-weight: 700; letter-spacing: 0.08em; padding-left: 0.08em; line-height: 1.3; color: var(--kha-navy-900); }
.qr-sub { text-align: center; font-size: 11pt; font-weight: 500; letter-spacing: 0.02em; color: var(--kha-text); font-variant-numeric: tabular-nums; }

/* 보고 개요 */
.qr-info { width: 100%; margin-top: 6mm; border-collapse: collapse; table-layout: fixed; border-top: 0.6mm solid var(--kha-gray-900); border-bottom: 0.35mm solid var(--kha-gray-900); font-size: 9.5pt; }
.qr-info th, .qr-info td { height: 8mm; padding: 0 3mm; border-bottom: 0.2mm solid var(--kha-gray-400); text-align: left; vertical-align: middle; line-height: 1.35; }
.qr-info tr:last-child > * { border-bottom: 0; }
.qr-info th { background: var(--kha-gray-50); font-weight: 600; color: var(--kha-text); }
.qr-info td { font-weight: 600; color: var(--kha-gray-900); font-variant-numeric: tabular-nums; }
.qr-info td + th, .qr-info th + td { border-left: 0.2mm solid var(--kha-gray-400); }
.qr-info .qr-small { font-weight: 500; color: var(--kha-text-secondary); }

/* 항목 제목(고시 제15조① 각 호 문구 그대로) */
.qr-h { display: flex; align-items: baseline; gap: 2mm; margin-top: 6mm; font-size: 11.5pt; font-weight: 700; color: var(--kha-navy-900); }
.qr-h small { font-size: 8pt; font-weight: 500; color: var(--kha-text-secondary); }

/* 표 */
.qr-table { width: 100%; margin-top: 2.5mm; border-collapse: collapse; table-layout: fixed; border-top: 0.45mm solid var(--kha-gray-900); border-bottom: 0.45mm solid var(--kha-gray-900); font-size: 9pt; font-variant-numeric: tabular-nums; }
.qr-table th, .qr-table td { height: 8.8mm; padding: 0 1.6mm; border: 0.2mm solid var(--kha-gray-400); text-align: center; vertical-align: middle; line-height: 1.3; }
.qr-table tr > :first-child { border-left: 0; }
.qr-table tr > :last-child { border-right: 0; }
.qr-table thead th { height: 8mm; border-top: 0; background: var(--kha-gray-50); font-weight: 600; color: var(--kha-text); }
.qr-table tbody th { font-weight: 700; color: var(--kha-gray-900); }
.qr-table td { color: var(--kha-gray-900); }
.qr-table .d { white-space: nowrap; }
.qr-table .n { text-align: right; padding-right: 2.6mm; white-space: nowrap; }
.qr-table .l { text-align: left; padding-left: 2.2mm; }
.qr-table .dash { color: var(--kha-text-tertiary); }
.qr-table tfoot th, .qr-table tfoot td { background: var(--kha-gray-50); font-weight: 700; border-top: 0.35mm solid var(--kha-gray-700); }
.qr-table .qr-off { color: var(--kha-danger-text); font-weight: 600; }
.qr-cellnote { display: block; margin-top: 0.3mm; font-size: 7.5pt; font-weight: 500; line-height: 1.25; color: var(--kha-text-secondary); }   /* 칸 안 보조 줄(이관 표시 등) */
.qr-notes { display: flex; flex-direction: column; gap: 0.8mm; margin: 2.2mm 0 0; padding: 0; list-style: none; font-size: 8.5pt; line-height: 1.5; color: var(--kha-text); }
.qr-notes li { display: grid; grid-template-columns: 3.5mm minmax(0, 1fr); }
.qr-notes li::before { content: "※"; color: var(--kha-text-secondary); }

/* 맺음 → 붙임 → 날짜·기관(보고서 본문이라 '끝' 표시 없음) */
.qr-close { margin-top: 5.5mm; font-size: 10.5pt; color: var(--kha-gray-900); }
.qr-attach { display: grid; grid-template-columns: 12mm minmax(0, 1fr); margin-top: 2.5mm; font-size: 9.5pt; line-height: 1.55; }
.qr-attach b { font-weight: 700; }
.qr-date { margin-top: 5mm; text-align: center; font-size: 11pt; letter-spacing: 0.12em; font-variant-numeric: tabular-nums; color: var(--kha-gray-900); }
.qr-issuer { margin-top: 4mm; text-align: center; }
.qr-issuer b { display: block; padding-left: 0.3em; font-size: 16pt; font-weight: 700; letter-spacing: 0.3em; color: var(--kha-navy-900); }
.qr-issuer span { font-size: 9pt; color: var(--kha-text-secondary); }

/* 확인란: 작성(시스템) / 확인(담당자) */
.qr-sign { width: 100%; margin-top: auto; border-collapse: collapse; table-layout: fixed; border: 0.35mm solid var(--kha-gray-700); font-size: 8.5pt; }
.qr-sign th, .qr-sign td { height: 8.6mm; padding: 0 2.6mm; border: 0.2mm solid var(--kha-gray-400); text-align: left; vertical-align: middle; line-height: 1.35; }
.qr-sign th { background: var(--kha-gray-50); font-weight: 600; color: var(--kha-text); text-align: center; }
.qr-sign td { color: var(--kha-gray-900); font-variant-numeric: tabular-nums; }
.qr-sign .qr-blank { color: var(--kha-text-tertiary); letter-spacing: 0.04em; }
.qr-foot { display: flex; justify-content: space-between; gap: 4mm; margin-top: 3mm; padding-right: 40mm; font-size: 7.5pt; color: var(--kha-text-tertiary); font-variant-numeric: tabular-nums; }

/* ==========================================================================
   B. 수료증 발급대장 사본 — 별지 제3호서식 「분양대행자 교육 수료증 발급명단」 항목 8개 그대로
   ========================================================================== */
.lg-page { padding: 13mm 15mm 11mm; }
.lg-top { display: flex; align-items: center; justify-content: space-between; gap: 4mm; }
.lg-top__end { display: flex; align-items: center; gap: 3mm; flex: none; }
.lg-formlabel { font-size: 8pt; color: var(--kha-text-secondary); }
.lg-copy { display: inline-flex; align-items: center; gap: 2mm; font-size: 8pt; color: var(--kha-text-secondary); white-space: nowrap; }
.lg-copy__mark { padding: 0.4mm calc(2.4mm - 0.3em) 0.4mm 2.4mm; border: 0.35mm solid var(--kha-navy-900); border-radius: 0.8mm; font-size: 9pt; font-weight: 700; letter-spacing: 0.3em; color: var(--kha-navy-900); }
.lg-title { margin: 7mm 0 4mm; text-align: center; font-size: 18pt; font-weight: 700; letter-spacing: 0.1em; padding-left: 0.1em; line-height: 1.3; color: var(--kha-navy-900); }
.lg-meta { margin-bottom: 2mm; text-align: right; font-size: 8.5pt; color: var(--kha-text); font-variant-numeric: tabular-nums; }
.lg-table { width: 100%; border-collapse: collapse; table-layout: fixed; border-top: 0.45mm solid var(--kha-gray-900); border-bottom: 0.6mm solid var(--kha-gray-900); font-size: 9pt; font-variant-numeric: tabular-nums; }
.lg-table th, .lg-table td { height: 8mm; padding: 0 0.8mm; border: 0.2mm solid var(--kha-gray-400); text-align: center; vertical-align: middle; line-height: 1.25; white-space: nowrap; }
.lg-table tr > :first-child { border-left: 0; }
.lg-table tr > :last-child { border-right: 0; }
.lg-table thead th { height: 11.5mm; border-top: 0; border-bottom: 0.35mm solid var(--kha-gray-700); background: var(--kha-gray-50); font-weight: 600; color: var(--kha-text); white-space: normal; }
.lg-thsub { font-size: 7.5pt; font-weight: 500; letter-spacing: -0.01em; }
.lg-sp { letter-spacing: 0.6em; padding-left: 0.6em; }
.lg-table td { color: var(--kha-gray-900); }
.lg-table .no { font-weight: 700; color: var(--kha-text); }
.lg-table .nm { font-weight: 600; letter-spacing: 0.04em; }
.lg-paper { margin-top: 1.6mm; text-align: right; font-size: 7.5pt; color: var(--kha-text-tertiary); }
.lg-note { margin-top: 1.2mm; font-size: 7.5pt; line-height: 1.45; color: var(--kha-text-secondary); }   /* 표 아래 ※(이관 기록 등) */
.lg-foot { display: flex; justify-content: space-between; gap: 4mm; margin-top: auto; padding-right: 40mm; font-size: 7.5pt; color: var(--kha-text-tertiary); font-variant-numeric: tabular-nums; }

/* 열 폭(colgroup, 2026-11-09): 이름·교육장·비고가 한 글자씩 줄바꿈되지 않게 — 합 100% */
.qr-info .qr-c15 { width: 15%; } .qr-info .qr-c35 { width: 35%; }
.qr-table .qr-w-nm { width: 22%; } .qr-table .qr-w-dt { width: 12%; } .qr-table .qr-w-plc { width: 19%; }
.qr-table .qr-w-n { width: 6.5%; } .qr-table .qr-w-rmk { width: 14.5%; }
.qr-table .qr-w-lnm { width: 30%; } .qr-table .qr-w-rng { width: 40%; }
.lg-table .lg-w-nm { width: 30%; } .lg-table .lg-w-dt { width: 14%; } .lg-table .lg-w-tm { width: 16%; } .lg-table .lg-w-plc { width: 26%; } .lg-table .lg-w-n { width: 14%; }
/* 표 머리 '미수료'가 두 줄로 깨지지 않게(2026-11-09 캡처 확인) */
.qr-table thead th { white-space: nowrap; letter-spacing: -0.02em; }
a.segmented__item { text-decoration: none; }
.qr-table .qr-w-n { width: 7.5%; } .qr-table .qr-w-rmk { width: 11%; } .qr-table .qr-w-nm { width: 21%; } .qr-table .qr-w-plc { width: 18.5%; }
