textarea {
overflow: hidden;
resize: none; /* 사용자 크기 조절을 방지 */
}  
/* 기본 스타일 설정 */
input[type="checkbox"],
input[type="radio"] {
	transform: scale(1.2); /* 크기 확대 */
	margin: 3px; /* 여백 추가 */
}

/* "readonly" 상태일 때 스타일 설정 */
.readonly-checkbox,
.readonly-radio {
	pointer-events: none; /* 사용자 상호작용 비활성화 */
	opacity: 1; /* 불투명도 설정 */
	color: red;
}

/* 레이블 텍스트 크게 설정 */
label {
	font-size: 1.1em; /* 글꼴 크기 확대 */
	display: inline-block;
	margin: 3px 0;
}
.w-40{
	 width: 40%!important;
}
.w-60{
	 width: 60%!important;
}

.hover-pointer{
	cursor : pointer;
}

/* #estimate_screenDiv와 #estimate_slatDiv 안의 table에만 적용 */
#estimate_screenDiv .table td,
#estimate_slatDiv .table td {
    white-space: normal;   /* 텍스트가 셀 내부에서 줄바꿈이 가능하게 설정 */
    overflow: visible;     /* 넘치는 텍스트를 숨기지 않음 */
    text-overflow: clip;   /* 텍스트를 자르지 않음 */
    max-width: none;       /* 셀의 최대 너비를 제한하지 않음 */
    word-wrap: break-word; /* 긴 단어를 줄바꿈 가능하게 설정 */
}

#estimate_screenDiv .table,
#estimate_slatDiv .table {
    table-layout: auto;    /* 셀의 너비를 내용에 맞게 자동으로 조정 */
    width: auto;           /* 테이블의 너비를 자동으로 설정 (부모 요소를 채우지 않음) */
    min-width: 100%;       /* 최소 너비는 부모 요소를 채우도록 설정 */
}


 table, th, td {
		border: 0.5px solid black !important; /* Bold border */
		font-size: 12px !important;
		white-space: nowrap;
	}
	.calculate-row {
		background-color: #f0f0f0!important; /* Light gray background */		
	} 		
		
/* 전체 테이블에 대한 설정 */
table {
    border-collapse: collapse;
}

/* 모든 td 요소에 적용되는 기본 패딩 및 행간 조정 */
td {
    padding: 4px !important; /* 셀의 내부 여백을 줄임 */
    line-height: 1.4 !important; /* 행간을 줄여서 상하단 여백을 줄임 */
}

/* 테이블의 상단과 하단 마진을 제거하여 전체 공백 줄이기 */
table, .d-flex {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 밝은 회색 배경을 가지는 th, td 요소에 적용할 클래스 */
.lightgray {
    background-color: #d3d3d3 !important; /* 기존 lightgray보다 밝은 회색 */
    color: black !important;
    font-weight: bold !important;	
}

/* 연한 노란색 배경에 검정색 굵은 글씨 */
.yellowBold {
    background-color: #ffffe0 !important; /* 연한 노란색 (light yellow) */
    color: black !important;
    font-weight: bold !important;
}
/* 연한 노란색 배경에 붉은색 굵은 글씨 */
.yellowredBold {
    background-color: #ffffe0 !important; /* 연한 노란색 (light yellow) */
    color: red !important;
    font-weight: bold !important;
}
/* 연한 파란색 배경에 적색 글씨 */
.blueBold {
    background-color: hsl(160, 5%, 85%) !important; /* 연한 파란색 */
    color: red !important;
    font-weight: bold !important;
}

/* 연한 파란색 배경에 검정색 글씨 */
.blueBlackBold {
    background-color: hsl(220, 60%, 90%) !important; /* 연한 파란색 */
    color: black !important;
    font-weight: bold !important;
}

/* 연한 주황색 배경에 붉은색 글씨 */
.orangeBold {
    background-color: hsl(30, 100%, 85%) !important; /* 연한 주황색 */
    color: red !important;
    font-weight: bold !important;
}

/* 연한 주황색 배경에 검정 글씨 */
.orangeBlackBold {
    background-color: hsl(30, 100%, 85%) !important; /* 연한 주황색 */
    color: black !important;
    font-weight: bold !important;
}

/* 연한 노란색 배경에 검정 굵은 글씨 */
.yellowblackBold {
    background-color: #ffffe0 !important; /* 연한 노란색 (light yellow) */
    color: black !important;
    font-weight: bold !important;
}

/* 연한 녹색 배경에 붉은색 글씨 */
.greenredBold {
    background-color: #90ee90 !important; /* 연한 녹색 (light green) */
    color: red !important;
    font-weight: bold !important;
}
/* 더 연한 녹색 배경에 검정 글씨 */
.greenblackBold {
    background-color: hsl(120, 73%, 92%) !important; /* 기존보다 50% 더 연한 녹색 */
    color: black !important;
    font-weight: bold !important;
}

/* 더 연한 보라색 배경에 검정 글씨 */
.purpleblackBold {
    background-color: hsl(270, 100%, 95%) !important; /* 연한 보라색 */
    color: black !important;
    font-weight: bold !important;
}
	
@media print {
	body {
		width: 210mm; /* A4 width */
		height: 297mm; /* A4 height */
		margin: 0; /* Remove default margin */
		font-size: 10pt; /* Font size for printing */
	}
	table {
		page-break-inside: auto !important;
	  }
	
	  tr {
		page-break-inside: avoid !important;
		page-break-after: auto !important;
	  }
	
	  thead {
		display: table-header-group !important; /* 페이지 넘어가도 thead 유지 */
	  }
	
	  tfoot {
		display: table-footer-group !important;
	  }
}

.avoid-break {
	break-inside: avoid !important;
	page-break-inside: avoid !important;
  }
  