/* 보고서 기본 설정 */
@page { size: A4; margin: 0; }
body { margin: 0; padding: 0; background: #eee; }

/* 공통 페이지 규격 */
.report-page {
    width: 210mm;
    height: 297mm;
    padding: 20mm;
    margin: 20px auto;
    background: white;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    box-sizing: border-box;
    page-break-after: always;
    position: relative;
    font-family: 'Malgun Gothic', sans-serif;
    overflow: hidden;
}

/* 표 스타일 (수량 산출표 및 상세표 공용) */
.report-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}
.report-table th, .report-table td {
    border: 1px solid #000;
    padding: 8px;
    font-size: 12px;
    text-align: center;
    line-height: 1.4;
}
.report-table th { background: #f4f4f4; font-weight: bold; }

/* 사진 박스 (세부 점검용) */
.photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 15px;
}
.photo-box {
    border: 1px solid #ddd;
    padding: 5px;
    text-align: center;
}
.photo-box p { font-size: 11px; margin: 5px 0; font-weight: bold; }
.photo-box img { width: 100%; height: 160px; object-fit: contain; background: #fafafa; }

/* 인쇄 시 버튼 숨기기 */
@media print {
    .no-print { display: none !important; }
    .report-page { margin: 0; box-shadow: none; }
    body { background: white; }
}

/* 유틸리티 */
.text-center { text-align: center; }
.m-t-50 { margin-top: 50px; }
.f-24 { font-size: 24px; }
/* mc_report.css */

/* 표지 테두리 박스 */
.cover-inner-border {
    border: 2px solid black;
    height: 100%; /* 부모 .report-page(297mm) 내에서 꽉 차게 */
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* 위-중간-아래 간격 자동 배분 */
    align-items: center;
    box-sizing: border-box;
}

/* 제목 영역 */
.cover-header {
    text-align: center;
    margin-top: 20mm;
}
.cover-main-title { font-size: 45px; letter-spacing: 5px; margin-bottom: 20px; font-weight: bold; }
.cover-sub-title { font-size: 28px; font-weight: normal; }

/* 이미지 영역 (여기가 핵심: 하단을 밀어내지 않게 높이 제한) */
.cover-image-container {
    width: 100%;
    flex-grow: 1; /* 남는 공간을 차지하되 */
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 400px; /* 이미지가 너무 커서 하단을 밀어내지 않도록 최대 높이 고정 */
    overflow: hidden;
}
.cover-complex-img {
    max-width: 90%;
    max-height: 100%;
    object-fit: contain; /* 가로세로 비율 유지하며 박스 안에 맞춤 */
}

/* 하단 정보 영역 */
.cover-footer {
    text-align: center;
    width: 100%;
    margin-bottom: 10mm;
    padding-bottom: 5mm;
}
.cover-date { font-size: 24px; margin-bottom: 30px; }
.cover-company-name { font-size: 40px; font-weight: bold; margin-bottom: 20px; display: flex; align-items: center; justify-content: center; }
.cover-info { font-size: 15px; margin: 4px 0; color: #333; }