@import url(http://fonts.googleapis.com/earlyaccess/nanumgothic.css);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap');

/** {*/
	/*font-family: 'Nanum Gothic Coding', sans-serif, monospace;*/
	/*font-family: 'D2Coding', 'Nanum Gothic Coding', monospace;*/
	/*font-family: "Noto Sans KR", sans-serif;*/
	/*font-weight: 500;*/
/*}*/

.logo-img{
	max-width: 180px; /*240px;*/
	padding-bottom: 8px;
}
/*div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:first-child {
    padding-left: 0;
    display: none;}*/

#example2Buttons .dt-button {
	margin-left: 0.5rem;  /* 버튼 간격 */
	line-height: 1.2;      /* 텍스트 수직 정렬 등 */
}

.text-bold{
	font-weight: 700;
}

.menualign{
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}
table.table-bordered.dataTable th, table.table-bordered.dataTable td {
	text-align: center;
}
.d-none{
	display: none !important;
}
:root {
  /* 사이드바(스위처) 너비 */
  --switcher-width: 300px;
}

/* 가로 스크롤 숨김 */
html, body {
  overflow-x: hidden;
}

/* 애니메이션 준비 */
.wrapper {
  box-sizing: border-box;
  transition: width 0.3s ease, margin-right 0.3s ease;
}

/* 스위처 기본 숨김 */
.switcher-wrapper {
  position: fixed;
  top: 0;
  right: calc(-1 * var(--switcher-width));
  width: var(--switcher-width);
  height: 100%;
  background: #fff;
  box-shadow: -2px 0 8px rgba(0,0,0,0.1);
  transition: right 0.3s ease;
  z-index: 2000;
}
div.dataTables_scrollHead table,
div.dataTables_scrollBody table {
  width: 100% !important;
  table-layout: fixed;
}
.font8{
	font-size: 10px !important;
}

/* 1) 스크롤 컨테이너 */
.labresult-history-custom-scroll {
	max-height: 670px; /*448px;*/ /*492px;*/ /* 필요 높이 */
	overflow: auto; /* 세로·가로 스크롤 허용 */
	position: relative; /* sticky 기준점 */
}

/* 2) thead th를 sticky 처리 */
.labresult-history-custom-scroll thead th {
	position: sticky !important;
	top: 0; /* 컨테이너 상단에 고정 */
	background: #fff; /* 헤더 뒤쪽 콘텐츠 가리지 않게 배경색 지정 */
	z-index: 10; /* 겹침 방지 */
	/* border-bottom: 1px solid #ddd;  필요 시 구분선 추가 */
}

/* (선택) 첫 번째 열도 좌측에 고정하고 싶다면 */
/*
.custom-scroll thead th:first-child,
.custom-scroll tbody td:first-child {
  position: sticky;
  left: 0;
  z-index: 11;
  background: #fff;
}
*/



/* open 클래스 붙이면 스위처 슬라이드 인 */
body.switcher-open .switcher-wrapper {
  right: 0;
}

/* 데스크톱: 우측만 줄어드는(width shrink) */
@media (min-width: 768px) {
  body.switcher-open .wrapper {
    width: calc(100% - var(--switcher-width));
    margin-right: 0;
  }
}

/* 모바일: 이전처럼 왼쪽으로 밀어내는(margin push) */
@media (max-width: 767.98px) {
  body.switcher-open .wrapper {
    width: 100%;
    margin-right: var(--switcher-width);
  }
}

.page-wrapper {
	/*margin-top: 72px !important;*/
	/*margin-top: 72px!important;*/
}

	.pl-30{
		padding-left: 30px !important;
	}

	div.dataTables_wrapper div.dataTables_info {
	display: none !important;
}
div.dataTables_wrapper div.dataTables_filter{
	display: none;
}


table.dataTable>thead .sorting:before{
	display: none;
}

table.dataTable>thead .sorting:after{
	display: none;
}

table.dataTable>thead .sorting_asc:after{
	display: none;
}

table.dataTable>thead .sorting_asc:before{
		display: none;
}

table.dataTable>thead>tr>th:not(.sorting_disabled){
	padding: .5rem .5rem; 

}
table.dataTable>thead .sorting_asc:before, table.dataTable>thead .sorting_desc:after {
	display: none;
}
table.dataTable>thead .sorting_asc:before, table.dataTable>thead .sorting_desc:before {
	display: none;
}

div#example4.dataTables_wrapper div.dataTables_paginate{
	display: none;
}

.min26{
	min-height: 26px;
}

.table-white{
	background-color: #fff !important;
	border-bottom: solid 2px #8b8b8b !important;
	/*font-weight: 700;*/
}

.table-gray{
	background-color: #F2F2F2 !important;
	/*font-weight: 700;*/
}

.btn-ss{
	font-size: 0.7rem !important;
}

.w100{
	width: 100%;
}

#example2_filter {
  display: none !important;
}

.min75{
	min-width: 75px;
}
.select2-container--bootstrap-5 .select2-dropdown .select2-search{
	display: none;
}
.tablefont12{
	font-size: 12px !important;
}
.white-space-nowrap{
	white-space: nowrap;
}

.dataTables_length{
	display: none !important;
}

   .dt-buttons {
      float: right;
      margin-bottom: 10px; /* 위쪽 표와의 간격 조정 */
    }


    /* ① 날짜 입력 사이 하이픈 스타일 */
.date-range {
  display: flex;
  align-items: center;
  gap: 4px;
}
.date-range .hyphen {
  margin: 0 4px;
  font-size: 1.2em;
  color: #666;
}

/* ② 상단 버튼 그룹 전체 감싸기 */
.controls-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}
.controls-top .left-group,
.controls-top .right-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ③ 우측 테이블 헤더 */
.right-table-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.hyphenalign{
    position: relative;
    top: 16px;
}
  .align-items-flex-end{

  align-items: center !important;
}

.form-control {
	padding: .300rem .75rem !important;
}

.inpupt-search {
	margin-top: 0px;
}

@media screen and (max-width: 991px) {
	.page-wrapper {
        margin-top: 60px !important;
    }

	.pl-30{
		padding-left: 0px !important;
	}

	.logo-img {
		max-width: 140px !important;
		/*max-width: 180px !important;*/
	}

	.menualign{
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
	}
}

@media screen and (max-width: 767px) {

  .align-items-flex-end{

  align-items: flex-end !important;
}

  .aligntablebtn{
    display: flex !important;
    justify-content: space-between !important;
    width: 100%;
  }

.mm{
	display: none;
}
.optionalign{
	display: flex;
	flex-direction: column;
}

}

/**/
.input-search {
	/*display: d-flex;*/ /*inline-flex;*/
	margin-top: -6px !important;
	font-size: 16px !important;
}

.w80 {
	width: 80%;
}

.w70 {
	width: 70%;
}

.w60 {
	width: 70%;
}

.w50 {
	width: 70%;
}

th:hover {
	background-color: #ddd;
}

.hidden-cell {
	display: none;
	/*visibility: hidden;
    width: 0px;*/
}

.clickable-cell {
	cursor: pointer; /* 마우스 오버 시 손가락 커서 표시 */
}

.clickable-cell:hover {
	background-color: #f0f0f0; /* 호버 시 배경색 변경 (선택사항) */
}

tr.selected {
	background-color: #e0f7fa; /* Light cyan */
	border-left: 3px solid #0097a7; /* Teal accent border */
	color: #006064; /* Darker text */
	/*background-color: #e6f7ff;    */
}

.tablefont10 {
	font-size: 10px !important;
}

.tablefont11 {
	font-size: 11px;
}

#labresult-lab-memo {
	height: 30px;
}

#labimage {
	width: auto; /*250px;*/
	height: 2.6rem;
}

#btnShowHistory {
	padding-top: 0px;
	padding-bottom: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
	font-size: 14px;
}
/*.tr.highlight {
	background-color: #e6f7ff;
}*/

/*.asc::after {
	content: "\2191";*/ /*content: " ▲";*/ /* Up arrow */
/*}

.desc::after {
	content: "\2193";*/ /*content: " ▼";*/ /* Down arrow */
/*}*/