@charset "UTF-8";

/* 1. 기본 배경 및 공통 설정 */
body { font-family: 'Malgun Gothic', sans-serif; margin: 0; background-color: #f4f7f6; display: flex; flex-direction: column; min-height: 100vh; }
.container-wide { width: 98%; max-width: 1500px; margin: 20px auto; background-color: #ffffff; padding: 20px; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }

/* 2. 상단 헤더 (문서 제목) */
.hero-section { background-color: #004b9b; color: white; width: 100%; padding: 10px 0 20px 0; text-align: center; position: relative; }
.hero-section h1 { margin: 10px 0 0 0; font-size: 32px; letter-spacing: 2px; font-weight: 900; }
.hero-section p { margin-top: 10px; font-size: 18px; color: #d0e1f9; }

/* 3. 표(Table) 공통 디자인 (다시 날씬하고 쾌적하게 복구) */
table { width: 100%; border-collapse: collapse; margin-bottom: 20px; background-color: white; }
th, td { border: 1px solid #333; padding: 4px !important; text-align: center; vertical-align: middle; } 
th { background-color: #f0f8ff; font-weight: bold; white-space: nowrap; font-size: 0.95em; }
.section-title { font-weight: bold; font-size: 1.1em; margin: 15px 0 10px 0; }

/* 4. 입력칸 및 텍스트 박스 디자인 */
input[type="text"], input[type="number"], input[type="date"], select { 
    width: 100%; box-sizing: border-box; 
    border: none !important; outline: none !important; background-color: transparent; 
    font-family: inherit; font-size: 14px; padding: 2px !important; 
}

/* 💡 화면 뚱뚱해짐 원인 제거: min-height 삭제, 스크롤바 완전 숨김 */
textarea { 
    width: 100%; box-sizing: border-box; 
    border: none !important; outline: none !important; background-color: transparent; 
    font-family: inherit; font-size: 14px; 
    resize: none; white-space: pre-wrap; word-break: break-word; 
    overflow-y: hidden !important; padding: 4px !important; line-height: 1.5;
}

input[readonly] { background-color: #e9ecef; font-weight: bold; }
.top-section { display: flex; justify-content: space-between; align-items: stretch; margin-bottom: 20px; gap: 20px; }
.roster-area { width: 70%; }
.approval-area { width: 30%; min-width: 230px; }

/* 5. 버튼 */
.btn { padding: 8px 15px; border: none; border-radius: 4px; font-weight: bold; cursor: pointer; transition: 0.3s; }
.btn-top-right { position: absolute; top: 15px; right: 20px; background-color: #ffffff !important; color: #000000 !important; border: 1px solid #ccc; padding: 6px 18px; border-radius: 4px; font-size: 14px; font-weight: bold; cursor: pointer; z-index: 100; text-decoration: none; }
.btn-submit, .btn-save-original { width: auto; padding: 10px 25px; background-color: #0056b3 !important; color: white !important; font-size: 16px; border: none; border-radius: 4px; cursor: pointer; }

/* 6. 인쇄(PDF) 전용 스타일 (🚨 문서 제목 숨김 해제 완료!) */
@media print {
    @page { size: A4 portrait; margin: 10mm; }
    body { background-color: white !important; font-size: 11px !important; line-height: 1.2 !important; margin: 0; padding: 0; }
    
    /* 화면용 버튼 숨김 */
    .btn-top-right, .button-area, .energy-footer { display: none !important; }
    
    /* 💡 제목 구역을 투명망토에서 꺼내어 검은 글씨로 인쇄되게 강제 적용 */
    .hero-section { background-color: white !important; padding: 0 !important; margin-bottom: 15px !important; display: block !important; }
    .hero-section h1 { color: #000000 !important; font-size: 24px !important; padding: 0 !important; margin: 0 !important; }
    .hero-section p { display: none !important; } /* 소제목(현장의 안전...)은 깔끔하게 숨김 */
    
    table { margin-bottom: 8px !important; }
    th, td { padding: 2px !important; height: auto !important; font-size: 10px !important; }
    textarea, input, select { border: none !important; }
    .container-wide { box-shadow: none !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
}