/* === (Grid 방식) Sticky Footer 최종 수정 === */
html {
    height: 100%;
}
body {
    /* body에서는 grid 속성을 제거합니다 */
    min-height: 100vh;
    margin: 0;
    
}
/* 새로 만든 wrapper에 grid 속성을 적용합니다 */
.body-wrapper {
    display: grid;
    grid-template-rows: auto auto 1fr auto; /* TopBar, Header, Main, Footer */
    min-height: 100vh;
}
/* ======================================= */


/* Pretendard 폰트 전체 적용 */
body { 
    font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
}

/* 내비게이션 바 디자인 */
.main-nav .nav-item {
    margin-left: 0.8rem;
}
.main-nav .nav-link {
    font-weight: 600;
    font-size: 1.05rem;
    color: #495057;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
    transition: color 0.2s ease-in-out;
}
.main-nav .nav-link:hover,
.main-nav .nav-link:focus {
    color: #0d6efd;
}

.logo { 
    font-size: 2rem; 
    font-weight: 900; 
    color: #0d6efd; 
}

/* 사이드바 스타일 */
.sticky-sidebar {
    position: fixed;
    top: 150px;
    right: 30px;
    width: 110px;
    z-index: 1020;
    border-radius: 0.5rem !important;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.sticky-sidebar a { 
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-weight: 500;
    transition: background-color 0.2s, color 0.2s;
}
.sticky-sidebar a i {
    font-size: 1.5rem;
    margin-bottom: 0.4rem;
    transition: color 0.2s;
}
.sticky-sidebar a:not(.bg-primary):hover {
    background-color: #f8f9fa;
    color: #0d6efd;
}
.sticky-sidebar a:not(.bg-primary):hover i {
    color: #0d6efd;
}


/* 캐러셀 커스텀 스타일 */
.custom-carousel .carousel-item {
    height: 300px;
    background-size: cover;
    background-position: center center;
}
.carousel-indicators [data-bs-target] {
    background-color: #ffff;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    padding: 1.2rem;
    background-size: 50%;
}

/* 서비스 아이템 디자인 */
.service-item a {
    display: block;
    padding: 1.5rem 0.5rem;
    border: 1px solid #f0f0f0;
    border-radius: 0.75rem;
    text-decoration: none;
    color: #343a40;
    background-color: #fff;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.service-item a:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    color: #0d6efd;
}
.service-item i {
    width: 60px; height: 60px;
    border-radius: 50%;
    background-color: #e7f1ff;
    color: #0d6efd;
    font-size: 1.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
.service-item a:hover i {
    background-color: #0d6efd;
    color: #fff;
}

/* 메인 페이지 전체 너비 메뉴 */
.main-page-menu .list-group-item i {
    width: 30px;
    margin-right: 0.5rem;
    text-align: center;
    color: #0d6efd;
}
.main-page-menu .bg-primary i {
    color: #fff;
}

/* === 회원가입 페이지 스타일 === */
body.register-page,
body.auth-page-bg {
    background-color: #f8f9fa;
}
.register-container {
    max-width: 680px;
    background-color: #fff;
    padding: 3rem;
    border-radius: 0.75rem;
    box-shadow: 0 8px 30px rgba(0,0,0,0.05);
}


/* Step Indicator */
.step-indicator {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    position: relative;
    margin: 30px 0;
}
.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex-grow: 1;
    position: relative;
}
.step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 16px;
    left: 50%;
    width: 100%;
    height: 2px;
    background-color: #dee2e6;
    z-index: 1;
}
.step.completed::after {
    background-color: #0d6efd;
}
.step .step-number {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #dee2e6;
    background-color: #fff;
    color: #adb5bd;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
    font-weight: bold;
    transition: all 0.4s ease;
    position: relative;
    z-index: 2;
}
.step .step-label {
    font-size: 0.9rem;
    color: #adb5bd;
    transition: all 0.4s ease;
}
.step.active .step-number {
    border-color: #0d6efd;
    background-color: #0d6efd;
    color: #fff;
}
.step.active .step-label {
    color: #0d6efd;
    font-weight: bold;
}
.step.completed .step-number {
    border-color: #0d6efd;
    background-color: #fff;
    color: #0d6efd;
}
.step.completed .step-label {
    color: #495057;
}

/* 약관 동의 각 항목 스타일 */
.terms-section .form-check {
    padding: 1.25rem;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    margin-top: 1rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.terms-section .form-check:has(.form-check-input:checked) {
    border-color: #0d6efd;
    box-shadow: 0 0 0 1px #0d6efd;
}
.terms-section .form-check-label {
    font-weight: 500;
}
.terms-box {
    margin-top: 0.75rem;
    padding: 1rem;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    height: 120px;
    overflow-y: scroll;
    font-size: 0.85rem;
    color: #6c757d;
    background-color: #fff;
}
.all-agree-section {
    background-color: #f8f9fa;
    border-color: #f8f9fa;
}

/* 고객센터 플로팅 버튼 */
.floating-button {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #28a745;
    color: white;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    z-index: 1030;
    text-decoration: none;
}
.floating-button:hover {
    background-color: #218838;
    color: white;
}

/* 아이디/비밀번호 찾기 페이지 스타일 */
.find-container {
    max-width: 570px;
    background-color: #fff;
    padding: 3rem;
    border-radius: 0.75rem;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
}

.find-container .nav-link.active {
    border-color: #0d6efd !important;
    color: #0d6efd !important;
    border-bottom: 2px solid #0d6efd !important;
    background-color: transparent;
}

.find-container .nav-link {
    border: 0;
    border-bottom: 2px solid #dee2e6;
    color: #6c757d;
}

.auth-method-box .form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

/* 입력 필드의 기본 글자색을 검은색으로 설정 */
.form-control {
    color: #212529; /* 부트스트랩 기본 검은색 */
}

/* placeholder 텍스트의 색상을 회색으로 설정 */
.form-control::placeholder {
    color: #6c757d; /* 부트스트랩 기본 회색 */
    opacity: 1; /* 일부 브라우저에서 placeholder가 흐려지는 것을 방지 */
}


#source_location { position:fixed; z-index:5; bottom:0; right:0; padding-bottom:1px; width:100%; left :0; font-size:12px; }
#source_location #Msg_Label { background-color:#000000; float: left; color:#fff; padding:3px; }
#source_location #Msg_Label a { color:#fff; }
#source_location li { color:#A3C1EF; padding:0 5px; }
#source_location li dd { float: left; height:16px; line-height:16px; color:#A3C1EF; margin:1px 2px; padding:0 10px; background-color:#1B4D98;  }
#source_location a { color:#A3C1EF; }


#sub_content .input_box { border:1px solid #bbbbbb; background-color:#f4f4f4; }
#sub_content .bottom { position:absolute; bottom:0; left:5px; right:5px; height:30px;  }

/*로딩창*/
#J_Loading { position:absolute; z-index:9999999; filter:alpha(opacity=30); opacity:0.3; -moz-opacity:0.3; text-align:center; vertical-align:middle; background: url(/images/waiting.gif) center center no-repeat #F4C891; }


/*메시지창*/
.Msg_Open { 
	min-width:200px; position:fixed; top:0; right:10px; color: #204EAC; background-color: #C7D6F5;
	border: 1px solid #497ADE; z-index:9999999; border-radius: 4px; padding:15px; font-size:15px; font-weight: bold;
}
.Msg_Open.blue { color: #204EAC; background-color: #C7D6F5; border: 1px solid #497ADE; }
.Msg_Open.red { color: #ffffff; background-color: #D9534F; border: 1px solid #9B2522; }



iframe#hiddenFrame { width:0; height:0; top:0; left:0; background-color:#fff; border: 0; display:none; position:fixed; z-index:9999; }
iframe#hiddenFrame.off { width:0; height:0; border: 0; display:none; }
iframe#hiddenFrame.on { width:100%; height:300px; background-color:#fff; border: 3px solid #FF0000; display:block; resize: vertical; overflow: auto; }


#div_search { font-size:12px; padding:10px 5px; border:1px solid #ddd; background-color:#f4f4f4; line-height:30px; }
#div_search div { color:#333; }
#div_search input[type=text] { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:30px; padding:0 2px; margin-top:0; }
#div_search input[type=file] { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:30px; padding:0 2px; margin-top:0; }
#div_search select { background-color:#ffffff; border: 1px solid #999; font-size:12px; height:30px; margin-top:1px; }
#div_search input[type=checkbox] { background-color:#ffffff; border: 1px solid #999; width:22px; height:22px; }
#div_search input[type=radio] { background-color:#ffffff; border: 1px solid #999; width:22px; height:22px; }
#div_search label { padding-right:5px; cursor:pointer; line-height:30px; }
#div_search button { 
	height:30px; cursor:pointer; padding:0 10px; border:0; background-color: #000000; color:#fff;
	border-radius: 2px; font-size:14px; 
}
/* #div_search button:hover { background-color:#007AFD; } */
/* @media (hover: none) {
    #div_search button:hover {background-color: #000000;
    }
} */
#div_search button:active {background-color: #000000; color:#DC3545; }
#div_search button[data-toggle=jCalendar] { border:0; border-radius: 0; }
#div_search .box { line-height:28px; border: 1px solid #fff; background-color:#fff; font-size:13px; height:30px; }
#div_search .box2 { min-width:30px; line-height:28px; border: 1px solid #cccccc; background-color:#fff; font-size:12px; height:30px; }
#div_search input:read-only{ background-color:#f4f4f4; }
#div_search input:disabled{ background-color:#eeeeee; cursor: not-allowed; }
#div_search textarea:read-only{ background-color:#f4f4f4; }
#div_search select:disabled{ background-color:#eeeeee; cursor: not-allowed; }

.div_search { font-size:12px; padding:10px 5px; border:1px solid #ddd; background-color:#f4f4f4; line-height:30px; }
.div_search div { color:#333; }
.div_search input[type=text] { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:30px; padding:0 2px;}
.div_search input[type=file] { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:30px; padding:0 2px;}
.div_search select { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:30px; margin-top:1px;vertical-align: middle; }
.div_search input[type=checkbox] { background-color:#ffffff; border: 1px solid #999; width:22px; height:22px; }
.div_search input[type=radio] { background-color:#ffffff; border: 1px solid #999; width:22px; height:22px; }
.div_search label { padding-right:5px; cursor:pointer; line-height:30px; }
.div_search button { 
	height:30px; cursor:pointer; padding:0 10px; border:0; background-color: #000000; color:#fff;
	 font-size:14px; border-radius: 2px;
}
/* .div_search button:hover { background-color:#007AFD; } */
/* @media (hover: none) {
    .div_search button:hover {
		background-color: #000000;
    }
} */
.div_search button:active {  background-color: #000000; color:#DC3545; }
.div_search button[data-toggle=jCalendar] { border:0; border-radius: 0; }
.div_search .box { line-height:28px; border: 1px solid #fff; background-color:#fff; font-size:13px; height:30px; }
.div_search input:read-only{ background-color:#f4f4f4; }
.div_search input:disabled{ background-color:#eeeeee; cursor: not-allowed; }
.div_search textarea:read-only{ background-color:#f4f4f4; }
.div_search select:disabled{ background-color:#eeeeee; cursor: not-allowed; }


#search_date { }
#search_date input[type=text] { width:80px; }
#search_date button[data-toggle=jCalendar] { border:0; border-radius: 0; }
#search_date_btn { padding:0; line-height:20px;  }
#search_date_btn div { padding:0; }
#search_date_btn button.search_date_btn { font-size:11px; border:0; background-color:#000000; color:#fff; padding: 2px 2px; cursor:pointer; border-radius: 2px; height:20px; line-height:11px; margin:0 0 1px 0; }



/*그리드*/
.grid_table { width:100%; border:0; padding: 0; margin: 0; border: #aaa 1px solid; table-layout:fixed; cursor:default; background-color:#fff;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; }
.grid_table table { width:100%; table-layout:fixed; border:0; padding: 0; border-collapse:collapse; white-space: nowrap; }
.grid_table tr { height:28px; }
.grid_table th { background:linear-gradient(180deg, #ffffff 0, #dddddd 100%); color:#333; font-size:12px; border-right:#ccc 1px solid; border-bottom:#aaa 1px solid; padding: 0; margin: 0; line-height:13px; text-align:center; }
.grid_table th:last-child { border-right:#aaa 1px solid; min-width: 60px;  }
.grid_table td { height:28px; padding: 2px 2px; font-size:12px; border-right:#ddd 1px solid; border-bottom: #ddd 1px solid; margin: 0; line-height: 13px; text-overflow:ellipsis; table-layout:fixed;  overflow-x:hidden; overflow-y:hidden; white-space:nowrap;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; color:#555; }
.grid_table td:first-child { border-left:#aaa 1px solid; }
.grid_table td:last-child { border-right:#aaa 1px solid; }
.grid_table tr:nth-child(even) {background: #fff; }
.grid_table tr:nth-child(odd) {background: #F1FBF6; }
.grid_table tr:last-child td { border-bottom:#aaa 1px solid; }

/*그리드*/
.input_table { width:100%; border:0; padding: 0; margin: 0; border: 0; table-layout:fixed; cursor:default; background-color:#fff;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; }
.input_table table { width:100%; table-layout:fixed; border:0; padding: 0; border-collapse:collapse; white-space: nowrap; }
.input_table tr { height:40px; }
.input_table th { background-color:#ffffff; color:#333; font-size:14px; font-weight: 600; padding: 0; margin: 0; line-height:13px; text-align:left; padding-left:20px; border-bottom: #eeeeee 1px solid; }
.input_table th:last-child { min-width: 60px;  }
.input_table td { background-color:#ffffff; height:28px; padding: 3px; font-size:13px; border-bottom: #eeeeee 1px solid; margin: 0; line-height: 13px; text-overflow:ellipsis; table-layout:fixed;  overflow-x:hidden; overflow-y:hidden; white-space:nowrap;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; color:#555; }
.input_table input[type=text] { background-color:#ffffff; border: 1px solid #aaaaaa; font-size:13px; height:30px; padding:0 2px;}
.input_table input[type=password] { background-color:#ffffff; border: 1px solid #aaaaaa; font-size:13px; height:30px; padding:0 2px;}
.input_table input[type=file] { background-color:#ffffff; border: 1px solid #aaaaaa; font-size:13px; height:30px; padding:0 2px;}
.input_table textarea { background-color:#ffffff; border: 1px solid #aaaaaa; font-size:13px; padding:0 2px;}
.input_table select { background-color:#ffffff; border: 1px solid #aaaaaa; font-size:13px; height:30px; padding:0 2px;}
.input_table input:read-only{ background-color:#f4f4f4; }
.input_table input:disabled{ background-color:#eeeeee; cursor: not-allowed; }
.input_table textarea:read-only{ background-color:#f4f4f4; }
.input_table textarea:disabled { background-color:#eeeeee; cursor: not-allowed; }
.input_table select:disabled{ background-color:#eeeeee; cursor: not-allowed; }
.input_table th.required { background-color:#ffffff; background-image : url(/images/required.gif); background-repeat: no-repeat; background-position: 13px 10px; } 

.input_table .sub_table { border:0; padding: 0; }
.input_table .sub_table table { width:100%; table-layout:fixed; border:0; padding: 0; border-collapse:collapse; white-space: nowrap; }
.input_table .sub_table tr { height:30px; }
.input_table .sub_table td { height:30px; padding: 3px; font-size:12px; border-bottom: #eeeeee 1px solid; margin: 0; line-height: 13px; text-overflow:ellipsis; table-layout:fixed;  overflow-x:hidden; overflow-y:hidden; white-space:nowrap;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; color:#555; }
.input_table .sub_table td:first-child { border-left:0; }
.input_table .sub_table td:last-child { border-right:0; }
.input_table .sub_table th:first-child { border-left:0; }
.input_table .sub_table th:last-child { border-right:0; }

/*포스 스타일*/
.pos_style .input_table { width:100%; border:0; padding: 0; margin: 0; border: 0; cursor:default; background-color:#fff;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; }
.pos_style .input_table table { width:100%; border:0; padding: 0; border-collapse:collapse; white-space: nowrap; }
.pos_style .input_table tr { height:40px; }
.pos_style .input_table th { background:#ffffff; color:#333; font-size:18px; border:0; border-bottom:#000000 1px solid; padding: 0; margin: 0; line-height:30px; text-align:left; font-weight: 600; padding-left:20px; padding-top:23px;  }
.pos_style .input_table td { height:40px; padding: 3px; font-size:16px; border:0; border-bottom: #eeeeee 1px solid; margin: 0; line-height: 16px; overflow-x:hidden; overflow-y:hidden; white-space:nowrap;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; color:#555; }
.pos_style .input_table td:first-child { text-align:left; padding-left:20px; }
.pos_style .input_table td:last-child { text-align:right; padding-right:20px; }
.pos_style .input_table input[type=text] { background-color:#ffffff; border: 1px solid #999; font-size:16px; min-width:150px; height:35px; padding:0 4px;}
.pos_style .input_table input[type=password] { background-color:#ffffff; border: 1px solid #999; font-size:16px; min-width:150px; height:35px; padding:0 2px;}
.pos_style .input_table input[type=file] { background-color:#ffffff; border: 1px solid #999; font-size:16px; min-width:150px; height:35px; padding:0 2px;}
.pos_style .input_table input[type=checkbox] { width:20px; height:20px; margin-right:5px; }
.pos_style .input_table input[type=radio] { width:20px; height:20px; margin-right:5px; }
.pos_style .input_table textarea { background-color:#ffffff; border: 1px solid #999; min-width:150px; font-size:16px; padding:0 2px;}
.pos_style .input_table select { background-color:#ffffff; border: 1px solid #999; font-size:16px; min-width:150px; height:35px; padding:0 2px;}
.pos_style .input_table input:read-only{ background-color:#f4f4f4; }
.pos_style .input_table input:disabled{ background-color:#eeeeee; cursor: not-allowed; }
.pos_style .input_table textarea:read-only{ background-color:#f4f4f4; }
.pos_style .input_table textarea:disabled { background-color:#eeeeee; cursor: not-allowed; }
.pos_style .input_table select:disabled{ background-color:#eeeeee; cursor: not-allowed; }
.pos_style .input_table th.required { background-color:#dddddd; background-image : url(/images/required.gif); background-repeat: no-repeat; background-position: calc(100% - 3px) 5px; } 



/*그리드*/
.input_table2 { width:100%; border:0; padding: 0; margin: 0; border: #7D7D7D 1px solid; table-layout:fixed; cursor:default; background-color:#fff;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; }
.input_table2 table { width:100%; table-layout:fixed; border:0; padding: 0; border-collapse:collapse; white-space: nowrap; }
.input_table2 tr { height:30px; }
.input_table2 th { background-color:#7D7D7D; color:#fff; font-size:12px; border-right:#7D7D7D 1px solid; border-bottom:#fff 1px solid; padding: 0; margin: 0; line-height:13px; text-align:center; }
.input_table2 th:last-child { border-right:#7D7D7D 1px solid; min-width: 60px;  }
.input_table2 td { height:28px; padding: 3px; font-size:12px; border-right:#7D7D7D 1px solid; border-bottom: #7D7D7D 1px solid; margin: 0; line-height: 13px; text-overflow:ellipsis; table-layout:fixed;  overflow-x:hidden; overflow-y:hidden; white-space:nowrap;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim;color:#555; }
.input_table2 td:first-child { border-left:#7D7D7D 1px solid; }
.input_table2 td:last-child { border-right:#7D7D7D 1px solid; }
.input_table2 tr:last-child td { border-bottom:#7D7D7D 1px solid; }
.input_table2 tr:last-child th { border-bottom:#7D7D7D 1px solid; }
.input_table2 input[type=text] { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:24px; padding:0 2px;}
.input_table2 input[type=file] { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:24px; padding:0 2px;}
.input_table2 textarea { background-color:#ffffff; border: 1px solid #999; font-size:13px; padding:0 2px;}
.input_table2 select { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:24px; padding:0 2px;}
.input_table2 button { height:24px; }
.input_table2 input:disabled { background-color:#ddd; cursor: not-allowed; }
.input_table2 input:read-only { background-color:#ddd; }
.input_table2 textarea:disabled { background-color:#ddd; cursor: not-allowed; }
.input_table2 textarea:read-only{ background-color:#f4f4f4; }
.input_table2 select:disabled{ background-color:#eeeeee; cursor: not-allowed; }

/*그리드*/
.input_table3 { width:100%; border:0; padding: 0; margin: 0; border: #aaa 1px solid; table-layout:fixed; cursor:default; background-color:#fff;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; }
.input_table3 table { width:100%; table-layout:fixed; border:0; padding: 0; border-collapse:collapse; white-space: nowrap; }
.input_table3 tr { height:30px; }
.input_table3 th { background:linear-gradient(180deg, #ffffff 0, #dddddd 100%); color:#333; font-size:12px; border-right:#ccc 1px solid; border-bottom:#aaa 1px solid; padding: 0; margin: 0; line-height:13px; text-align:center; }
.input_table3 th:last-child { border-right:#aaa 1px solid; min-width: 60px;  }
.input_table3 td { height:28px; padding: 3px; font-size:12px; border-right:#aaa 1px solid; border-bottom: #aaa 1px solid; margin: 0; line-height: 13px; text-overflow:ellipsis; table-layout:fixed;  overflow-x:hidden; overflow-y:hidden; white-space:nowrap;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; color:#555; }
.input_table3 td:first-child { border-left:#aaa 1px solid; }
.input_table3 td:last-child { border-right:#aaa 1px solid; }
.input_table3 tr:last-child td { border-bottom:#aaa 1px solid; }
.input_table3 input.input_box { border:#aaa 1px solid; height:22px; }
.input_table3 button { background-color:#25BEF0; font-size:12px; margin:1px; height:22px; color:#fff; border:0; }

.input_table3 .sub_table { border:0; padding: 0; }
.input_table3 .sub_table table { width:100%; table-layout:fixed; border:0; padding: 0; border-collapse:collapse; white-space: nowrap; }
.input_table3 .sub_table tr { height:30px; }
.input_table3 .sub_table td { height:30px; padding: 3px; font-size:12px; border-right:#aaa 1px solid; border-bottom: #aaa 1px solid; margin: 0; line-height: 13px; text-overflow:ellipsis; table-layout:fixed;  overflow-x:hidden; overflow-y:hidden; white-space:nowrap;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; color:#555; }
.input_table3 .sub_table td:first-child { border-left:0; }
.input_table3 .sub_table td:last-child { border-right:0; }
.input_table3 .sub_table th:first-child { border-left:0; }
.input_table3 .sub_table th:last-child { border-right:0; }


/*그리드*/
.input_table4 { width:100%; border:0; padding: 0; margin: 0; border: #7D7D7D 1px solid; table-layout:fixed; cursor:default; background-color:#fff;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; }
.input_table4 table { width:100%; table-layout:fixed; border:0; padding: 0; border-collapse:collapse; white-space: nowrap; }
.input_table4 tr { height:30px; }
.input_table4 th { background-color:#f4f4f4; color:#555; font-size:12px; border-right:#7D7D7D 1px solid; border-bottom:#7D7D7D 1px solid; padding: 0; margin: 0; line-height:13px; text-align:center; }
.input_table4 th:last-child { border-right:#7D7D7D 1px solid; min-width: 60px;  }
.input_table4 td { height:28px; padding: 3px; font-size:12px; border-right:#7D7D7D 1px solid; border-bottom: #7D7D7D 1px solid; margin: 0; line-height: 13px; text-overflow:ellipsis; table-layout:fixed;  overflow-x:hidden; overflow-y:hidden; white-space:nowrap;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; color:#555; }
.input_table4 td:first-child { border-left:#7D7D7D 1px solid; }
.input_table4 td:last-child { border-right:#7D7D7D 1px solid; }
.input_table4 tr:last-child td { border-bottom:#7D7D7D 1px solid; }
.input_table4 tr:last-child th { border-bottom:#7D7D7D 1px solid; }
.input_table4 input[type=text] { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:24px; padding:0 2px;}
.input_table4 input[type=file] { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:24px; padding:0 2px;}
.input_table4 select { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:24px; padding:0 2px;}
.input_table4 button { height:24px; }
.input_table4 input:disabled { background-color:#ddd; cursor: not-allowed; }
.input_table4 input:read-only { background-color:#ddd; cursor: not-allowed; }
.input_table4 textarea:read-only{ background-color:#f4f4f4; }
.input_table4 select:disabled{ background-color:#eeeeee; cursor: not-allowed; }

.input_table4 .sub_table { border:0; padding: 0; }
.input_table4 .sub_table table { width:100%; table-layout:fixed; border:0; padding: 0; border-collapse:collapse; white-space: nowrap; }
.input_table4 .sub_table tr { height:30px; }
.input_table4 .sub_table td { height:30px; padding: 3px; font-size:12px; border-right:#aaa 1px solid; border-bottom: #aaa 1px solid; margin: 0; line-height: 13px; text-overflow:ellipsis; table-layout:fixed;  overflow-x:hidden; overflow-y:hidden; white-space:nowrap;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; color:#555; }
.input_table4 .sub_table td:first-child { border-left:0; }
.input_table4 .sub_table td:last-child { border-right:0; }
.input_table4 .sub_table th:first-child { border-left:0; }
.input_table4 .sub_table th:last-child { border-right:0; }


/*그리드*/
.input_table5 { width:100%; border:0; padding: 0; margin: 0; border: #aaa 1px solid; table-layout:fixed; cursor:default; background-color:#fff;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim;}
.input_table5 table { width:100%; table-layout:fixed; border:0; padding: 0; }
.input_table5 tr { height:30px; }
.input_table5 th { background:linear-gradient(180deg, #ffffff 0, #dddddd 100%); color:#333; font-size:12px; border-right:#ccc 1px solid; border:#aaa 1px solid; padding: 3px; margin: 0; line-height:13px; text-align:center; }
.input_table5 td { height:28px; padding: 3px; font-size:12px; border:#aaa 1px solid; margin: 0; line-height: 13px; table-layout:fixed;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; color:#555; }
.input_table5 input[type=text] { background-color:#ffffff; border: 1px solid #999; font-size:12px; height:24px; padding:0 2px; margin:0; }
.input_table5 select { background-color:#ffffff; border: 1px solid #999; font-size:12px; height:24px; padding:0 2px; margin:0; }
.input_table5 button { background-color:#25BEF0; font-size:12px; margin:1px; height:22px; color:#fff; border:0; padding:0; }




.btn_over { color:#bbb; background-color: #1D52A3; }
.btn_down { color:#ffffff; background-color: #1D5	2A3; font-size:18px;  }

/*로그아웃 안내창*/
#DIV_LOGOUT_WAIT { position:fixed; z-index:99999999; width:100%; height:100%; }
#DIV_LOGOUT_WAIT .frame { position:fixed; width:100%; height:100%; background-color:#000000; filter:alpha(opacity=40); opacity:0.4; -moz-opacity:0.4; }
#DIV_LOGOUT_WAIT #DIV_LOGOUT_WAIT2 { position:fixed; top:200px; width:100%; }

.input_form { border:1px solid #ddd; padding:10px 5px; background-color: #f4f4f4; line-height:28px; font-size:12px; }
.input_form input[type=text] { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:30px; padding:0 2px;}
.input_form input[type=file] { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:30px; padding:0 2px;}
.input_form select { background-color:#ffffff; border: 1px solid #999; font-size:13px; height:30px; }
.input_form input[type=checkbox] { background-color:#ffffff; border: 1px solid #999; width:22px; height:22px; }
.input_form input[type=radio] { background-color:#ffffff; border: 1px solid #999; width:22px; height:22px; }
.input_form label { padding-right:5px; cursor:pointer; line-height:28px; }
.input_form button { 
	height:30px; cursor:pointer; padding:0 10px; border:0; background-color: #000000; color:#fff;
	border-radius: 2px; font-size:13px; 
}
.input_form button.btn { color:#fff; }
.input_form button[search-button=Y] { border-top: 1px solid #999; border-right: 1px solid #999; border-bottom: 1px solid #999; border-left: 0; background-color:#fff; color:#333; border-radius: 0; }


/*그리드(모바일용)*/
.m_input_table { width:100%; border:0; padding: 0; margin: 0; border: #aaa 1px solid; table-layout:fixed; cursor:default; background-color:#fff;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; }
.m_input_table table { width:100%; table-layout:fixed; border:0; padding: 0; border-collapse:collapse; white-space: nowrap; }
.m_input_table tr { height:40px; }
.m_input_table th { background:linear-gradient(180deg, #ffffff 0, #dddddd 100%); color:#333; font-size:16px; border-right:#ccc 1px solid; border-bottom:#aaa 1px solid; padding: 0; margin: 0; line-height:16px; text-align:center; }
.m_input_table th:last-child { border-right:#aaa 1px solid; min-width: 60px;  }
.m_input_table td { height:40px; padding: 5px; font-size:16px; border-right:#aaa 1px solid; border-bottom: #aaa 1px solid; margin: 0; line-height: 13px; text-overflow:ellipsis; table-layout:fixed;  overflow-x:hidden; overflow-y:hidden; white-space:nowrap;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; color:#555; }


#open_div { height:100%; padding:10px; box-sizing: border-box; }
#open_div .title { font-size:16px; font-weight: bold; padding-bottom:10px; }
#open_div button { 
	height:30px; cursor:pointer; padding:0 10px; border:0; background-color: #000000; color:#fff;
	border-radius: 2px; font-size:14px; 
}

/* #open_div button:hover { background-color:#007AFD; } */
/* @media (hover: none) {
    #open_div button:hover {
        background-color: #000000;
    }
} */
#open_div button:active {background-color: #000000; color:#DC3545; }


.li_delFile { float:left; background:#5BC0DE; color:#fff; border:1px solid #3399ff; padding:2px 3px; font-size:11px;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; border-radius:2px; -moz-border-radius: 2px; -webkit-border-radius: 2px; -o-border-radius: 2px; }
.li_delFile a{ color:#fff; }
.li_delFile_div { position:absolute;width:200px;border:1px solid #4B5967;padding:3px;background-color:#ffffff;box-shadow:1px 1px 1px #cccccc;display:none; }
.li_delFile_div .close { position:absolute;top:0;right:0;width:20px;height:20px;background-color:#4B5967;background-image: url(/lib/jMessage/image/btn_close.png); background-position: center; background-repeat: no-repeat;cursor:pointer; }

/*탭*/
.tab_frame{ height:41px; background:#ffffff; border-bottom:1px solid #4694C2; padding:10px 5px 0 5px;  }
.tab_frame li{ float:left; min-width: 80px; text-align:center; line-height:25px; height:25px; background:#C8C8C8; margin-top:5px; 
	border-radius:3px 3px 0 0; -moz-border-radius: 3px 3px 0 0; -webkit-border-radius: 3px 3px 0 0; -o-border-radius: 3px 3px 0 0;
	border:0; margin-right:1px; color:#fff; cursor:pointer; color:#333; font-weight:bold; font-size:12px; padding:0 5px; 
	-webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none
}
.tab_frame li.on{ background:#4694C2; line-height:30px; height:30px; margin-top:0; font-weight: bold; cursor:default; color:#ffffff; }
.tab_content { border:1px solid #4694C2; min-height: 100px; text-align:center;  }
.tab_content img { max-height: 100%;  }
.tab_content_page { position:relative; top:-30px; text-align:center; width:100%; }
.tab_content_page button { width: 24px; height:24px; opacity:0.8; border-radius:12px; background-color:#3366cc; color:#fff; font-size:12px; text-align:center; line-height:12px; margin:2px; }
.tab_content_page button.on { background-color:#cc0099; }

#file_info { position:fixed; z-index:2; bottom:0; width:100%; background-color:#000; color:#ffffff; font-size:12px; opacity:0.4; }
#file_info li{ float:left; color:#ffffff; padding:3px 10px; }


.chart { width:100%; border:1px solid #aaaaaa; padding:8px; }
.chart div div svg g text { cursor:pointer; }
.chart div svg g { height:100px; overflow-y:auto; }
.chart div svg g text { font-size:80%; }
/*로딩창*/
.chart #DivLoading { position:absolute; z-index:9999; filter:alpha(opacity=30); opacity:0.3; -moz-opacity:0.3; text-align:center; vertical-align:middle; background: url(/images/waiting.gif) center center no-repeat #F4C891; }

/*도움창 하단*/
.help_bottom { width:100%; font-size:12px; padding-bottom:10px; position:fixed; bottom:0; }
.help_bottom td { text-align:center; width:6%; height:30px; background-color:#153D77; border:1px solid #FFFFFF; cursor:pointer; color:#ffffff; }
.help_bottom td.on { background-color:#0078D7; }

button[search-button=Y] { width:30px; height:30px; border:1px solid #cccccc; border-left:0; background-color: #ffffff; font-size:16px; color:#444444; }
button[search-button=Y].over { border:1px solid #45BCC2; border-left:0; background-color: #45BCC2; color:#ffffff; }
button[search-button=Y].down { font-size:20px; }
input[search-button=Y] { background-color:#fff; text-align:left; padding:2px; font-size:13px; border:1px solid #cccccc; width:100%; }

/* 셀렉트 체크박스 */
.select_checkbox { position:relative; }
.select_checkbox input[type=text]{ background-color:#ffffff; border:1px solid #999999; }
.select_checkbox div.input{ margin-top:1px; background-color:#ffffff; border:1px solid #999999; min-width:100px;height:30px; }
.select_checkbox div.input .input_left { float:left; width: calc(100% - 20px); line-height:28px; font-size:12px;white-space:nowrap;text-overflow: ellipsis; overflow:hidden; padding-left:3px; }
.select_checkbox div.input .input_right { float:right; width:17px; height:28px; font-size:18px; text-align:center; font-weight:bold; background-color:#ffffff;line-height:30px; }
.select_checkbox div.checkbox_list{ position:absolute;z-index:1;left:0;top:29px;border:1px solid #999999;width:100%;background-color:#ffffff;line-height:24px;padding:2px; max-height:300px;overflow-y:auto;overflow-x:hidden; box-sizing: border-box; }
.select_checkbox i.close_btn{ position:absolute;z-index:2;right:10px;top:32px;font-size:12px;padding:3px 5px;background-color:#153D77;color:#ffffff;cursor:pointer;  }
.select_checkbox button { font-size:11px !important; padding:0 !important; height:24px !important; width:50px; }



/*툴팁*/
.tooltipsy {
	position: relative;
	background: #ffffff;
	border: 1px solid #888888; color:#000000; 
	min-height: 30px;
	max-width: 300px;
	padding: 5px; 
	filter:alpha(opacity=90); opacity:0.9; -moz-opacity:0.9;
	-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .5); -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .5); box-shadow: 0 0 10px rgba(0, 0, 0, .5); text-shadow: none;
	border-radius:5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px;
	font-size:12px;
}
.tooltipsy:after, .tooltipsy:before {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.tooltipsy:after {
	border-color: rgba(136, 183, 213, 0);
	border-bottom-color: #ffffff;
	border-width: 5px;
	margin-left: -5px;
}
.tooltipsy:before {
	border-color: rgba(0, 0, 0, 0);
	border-bottom-color: #888888;
	border-width: 6px;
	margin-left: -6px;
}
.tooltipsy table { border-left:1px solid #aaaaaa; border-top:1px solid #aaaaaa; padding: 0; border-collapse:collapse; white-space: nowrap; }
.tooltipsy tr { height:20px; }
.tooltipsy th { border-right:1px solid #aaaaaa; border-bottom:1px solid #aaaaaa; background-color: #dddddd; color:#333333; line-height:110%; text-decoration:none; font-weight: bold; text-align:center; padding: 2px 3px; }
.tooltipsy td { border-right:1px solid #aaaaaa; border-bottom:1px solid #aaaaaa; background-color: #ffffff; color:#333333; line-height:110%; text-decoration:none; text-align:center; padding: 2px 3px; }


/*툴팁*/
[J-tooltip], i[J-tooltip], button[J-tooltip],div[J-tooltip],ul[J-tooltip] { position: relative; }
#J_tooltip {
	position: absolute;
	background-color: #000000;
	border: 1px solid #000000; 
	min-height: 30px;
	max-width: 300px;
	padding:5px 10px;
	filter:alpha(opacity=70); opacity:0.7; -moz-opacity:0.7;
	-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .5); -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .5); box-shadow: 0 0 10px rgba(0, 0, 0, .5); text-shadow: none;
	border-radius:5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px;
	font-size:12px;
	text-align:left;
	color:#ffffff !important;
	line-height:140%;
	z-index:9999;
	white-space:nowrap;
}

/*#J_tooltip::after, 
#J_tooltip::before { bottom: 100%; left: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; }
#J_tooltip::after { border-color: rgba(136, 183, 213, 0); border-bottom-color: #9b9e18; border-width: 5px; margin-left: -5px; }
#J_tooltip::before { border-color: rgba(0, 0, 0, 0); border-bottom-color: #888888; border-width: 6px; margin-left: -6px; }
*/

.open_bottom {
	position:fixed; bottom:0; width:100%; text-align:center; padding:5px; background-color: #ffffff; font-size:12px;
}

.open_bottom2 {
	position:fixed; bottom:0; right:0; text-align:center; padding:5px 10px; background-color: #ffffff; font-size:12px;
}

.open_bottom3 {
	position:absolute; bottom:0; right:0; text-align:center; padding:5px 0px; background-color: #ffffff; font-size:12px;
}

#div_jKeypad { z-index:9999; position:fixed; bottom:10px; left:0; width:calc(100% - 20px); max-width:676px; height:200px; margin:0 auto; border:3px solid #0A72CF; background-color:#ffffff; padding:5px; }
#div_jKeypad button { min-width:20px; height:40px; font-size:14px; margin:3px; margin-left:2px; margin-right:2px;  }
#div_jKeypad[data-shift='1'] button[data='↕'] { color:#ff0000; }
#div_jKeypad[data-KorEng='1'] button[data='★'] { color:#ff0000; }




/*QR 스캔*/
#div_QrcodeScanner {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 50px;
	left: 0;
	padding: 10px;
	background-color: #ffffff;
	display: none;
}
#div_QrcodeScanner i.axi-close {
	position: absolute;
	z-index: 9999;
	top: 12px;
	right: 12px;
	background-color: #000000;
	color: #ffffff;
	font-size: 30px;
	cursor: pointer;
	padding: 5px;
	border-radius: 3px;
}

/* 세로형 스타일 wms */
@media screen and (orientation: portrait) {
	body[UrlType=U] { zoom:150%; }
}





#div_frame { width:100%; height:100%; position:relative;  }
#div_frame #left { position:absolute; height:100%; top:0; left:0; width:0px; padding:0; }
#div_frame #left_top { position:absolute; top:0; bottom:65%; left:0; width:340px; padding:0; }
#div_frame #left_bottom { position:absolute; top:35%; bottom:0; left:0; width:340px; padding:0; }
#div_frame #left_bottom2 { position:absolute; top:60%; bottom:0; left:0; width:340px; padding:0; }
#div_frame #left_right {  position: absolute; top: 0; height: 100%; width: 30px; left: 340px; right: 0; padding: 0; display: flex; justify-content: center; align-items: center;}
#div_frame #right { position:absolute; top:0; bottom:0; left:370px; right:0; padding:0; }
#div_frame #right .content { position:absolute; top:32px; bottom:0; left:0; right:0; border:1px solid #aaaaaa; }
#div_frame #right .bottom { position:absolute; bottom:0; left:0; right:0; }
#div_frame .content { height:90%; margin:0; }
#div_frame select { border:1px solid #aaaaaa; padding:1px 5px; font-size:12px; height:30px; }
#div_frame input { border:1px solid #aaaaaa; padding:1px 5px; font-size:12px; height:30px; }
#tab_content #content { overflow-y:hidden; }
#div_frame #right_content { position:absolute; top:32px; bottom:0; left:0; right:0; border:1px solid #aaaaaa; }

#sub_tab_menu { clear:both; border-bottom:1px solid #8E8E8E; height:35px; white-space:nowrap; font-size:14px; }
#sub_tab_menu li{ 
	float: left; padding:5px; text-align: center; min-width:100px; 
	background-color:#AFB0B3; cursor:pointer; margin-top:5px; height:30px; 
	background-repeat: repeat-x; background-position: bottom; 
	margin-right:1px; color:#ffffff;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; border-bottom:1px solid #8E8E8E;
}
#sub_tab_menu li.on{ 
	background-color:#ffffff; color:#000000; cursor:default; padding-top:8px;  margin-top:0; height:35px; 
	font-weight:600; border-left:1px solid #8E8E8E; border-right:1px solid #8E8E8E; border-top:1px solid #8E8E8E; border-bottom:0; 
}
#sub_tab_content { height: calc(100% - 80px); border-left:1px solid #8E8E8E; border-right:1px solid #8E8E8E; border-bottom:1px solid #8E8E8E; }
#sub_tab_content iframe { width:100%; height:100%; }
.button-container {width: 26px;	height: 100px; background-color: #000000; cursor: pointer; border-left: 1px solid #000000; border-top: 1px solid #000000; border-bottom: 1px solid #000000; position: absolute; right: 0; top: 45%; transform: translateY(-50%); display: flex; justify-content: center; align-items: center;}

/* 기초관리 > POS 설정용  */
.menu_setup_content { background-color: #ffffff; border: 1px solid #838383; padding: 5px; float: left; }
.menu_setup_left_menu { float: left; width: 29%; background: none; }
.menu_setup_menu_1st { background-color: #CCE2F6; padding: 5px; color: #333; font-size: 14px;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; font-weight: 600; border-top: #000 2px solid; }
.menu_setup_kind_menu_list { padding: 3px 10px; cursor: pointer; font-size: 14px; color: #000; }
.menu_setup_left_menu .menu_setup_kind_list, .menu_setup_pr_list, .menu_setup_pr_list_default { padding: 3px 10px; cursor: pointer; font-size: 14px; color: #000; }
.menu_setup_right_menu { float: left; margin-left: 5px; width: 68.9%; height: 640px; }
.menu_setup_right_menu .title_div { margin-left: 5px; border-bottom: 1px solid #333; height: 40px; }
.menu_setup_right_menu .title_div > ul > li:first-child, .menu_setup_right_menu .title_div span { font-size: 18px; font-weight: bold; color: #333; }
.menu_setup_kind_config { float: left; width: 150px; height: 60px; border: 1px solid #cccccc; margin-right: 10px; padding: 5px; font-size: 12px; cursor: pointer; }
.menu_setup_pr_config { float: left; width: 23%; height: 60px; border: 1px solid #cccccc; padding: 5px; font-size: 12px; cursor: pointer; }
.menu_setup_kind_name { position: relative; width: 100%; display: flex; height: 100%; align-items: center; }
.menu_setup_right_span { position: relative; width: 100%; display: flex; height: 50px; justify-content: center; align-items: center; }
.red { color: red; }
.click_select, .click_left_select { background-color: #4D9CE9 !important; text-shadow: 1px 1px 1px; color: #F2F2F2 !important; }
.kind_menu_list_div { overflow-y: scroll; height: 190px; border: 1px solid #ccc; border-bottom: #000 2px solid; }
.pr_list_div { overflow-y: scroll; height: 290px; border: 1px solid #CCC; border-bottom: #000 2px solid; }
.delete { font-weight: bold; text-align: center; font-size: 15px; padding: 0px; height: 78px; border: 1px solid #cccccc; width: 100%; display: flex; justify-content: center; align-items: center; }
.title_list { float: left; font-weight: bold; margin-top: 7px; font-size: 20px; }
.kind_ul { margin-left: 10px; margin-right: 10px; height: 90px; overflow-x: auto; overflow-y: hidden; display: flex; white-space: nowrap; }
.menu_setup_kind_config { flex-shrink: 0; width: 150px; height: 70px; margin: 5px 8px 5px 6px; }
.pr_ul {     padding-left: 3rem; height: 400px; overflow-y: auto; }

/* 기초관리 > PAI KIOSK/AP 설정 > KIOSK 설정, APP 설정 - 매핑 팝업 스타일 */
.mapping-popup { position: absolute; z-index: 1000; background-color: #ffffff; border: 2px solid #CCCCCC; border-radius: 5px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); padding: 10px; min-width: 330px; max-width: 350px; height: auto; min-height: 200px;}
.mapping-popup table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.mapping-popup th { background: #CCE2F6; padding: 3px 5px; text-align: center; font-weight: bold; border: 1px solid #ccc; }
.mapping-popup td { padding: 3px 5px; border: 1px solid #ccc; }
.mapping-popup td.center { text-align: center; border: 1px solid #ccc;}
.mapping-popup td.left { text-align: left; border: 1px solid #ccc;} 
.mapping-popup th:last-child { border-right:#ccc 1px solid; min-width: 40px; }
.mapping-popup tr:last-child td { border-bottom:#ccc 1px solid; }
.mapping-popup td.price-cell { text-align: right; white-space: nowrap; overflow: visible !important;     font-family: Pretendard, Malgun Gothic, NanumGothic, Gulim; padding-right: 8px !important; }
.mapping-popup td.price-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 120px; }
.mapping-popup .table-container { max-width: 330px; overflow-x: auto; }
/* 기초관리 > 품목관리 > 분류관리 > 등록수정 팝업 스타일 */
.item-top-contonts {display: flex; justify-content: flex-start; flex-direction: column;}



/* _css/style.css */

.main-breadcrumb .breadcrumb {
    background-color: transparent;
    padding: 0.5rem 0;
    margin-bottom: 0;
    font-size: 0.875rem;
}

.main-breadcrumb .breadcrumb-item a {
    text-decoration: none;
    color: #6c757d;
}

.main-breadcrumb .breadcrumb-item a:hover {
    color: #0d6efd;
}

.main-breadcrumb .breadcrumb-item.active {
    color: #212529;
    font-weight: 500;
}

.main-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: #ced4da;
}

/* jGrid 스타일 오버라이드 */
.jgrid .jgrid-head {
    background-color: #f8f9fa; /* 헤더 배경색 (Bootstrap의 bg-light 색상) */
    border-top: 1px solid #dee2e6;
    border-bottom: 2px solid #dee2e6; /* 하단선을 더 두껍게 */
    color: #212529; /* 글자색 */
    font-weight: 600; /* 글자 굵게 */
}

.jgrid .jgrid-head th {
    border-color: #dee2e6 !important; /* 헤더 셀 구분선 색상 */
}

.jgrid .jgrid-body tr:hover {
    background-color: #f1f3f5; /* 행에 마우스 올렸을 때 배경색 */
}


.login-box-container .btn {
    height: 38px;
    /* 세로 중앙 정렬을 위해 추가하면 더 좋습니다. */
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


/* ======== 본인인증 팝업 스타일 개선 ======== */

/* 팝업 컨테이너를 Flexbox 레이아웃으로 설정 */
.auth-wrapper .modal-container {
    display: flex;
    flex-direction: column; /* 아이템을 세로로 정렬 */
    height: 90vh;          /* 화면 높이의 90%를 차지 */
    max-height: 900px;     /* 하지만 최대 높이는 720px를 넘지 않도록 제한 */
}

/* 내용(body) 영역이 남은 공간을 모두 차지하도록 설정 */
.auth-wrapper .modal-body {
    flex: 1; /* 헤더를 제외한 모든 공간을 차지 (flex-grow: 1) */
    overflow-y: auto; /* 내용이 길어지면 이 영역만 스크롤바 생성 */
    padding: 0; /* iframe이 꽉 차도록 내부 여백 제거 */
        overflow: hidden;
}

/* iframe 스타일 */
.auth-wrapper .modal-body iframe {
    width: 100%;
    height: 100%;
    border: none; /* 보기 싫은 iframe 테두리 제거 */
}


/* SweetAlert2 커스텀 아이콘 스타일 */
.custom-swal-popup {
    border-radius: 15px !important;
}

/* 아이콘 스타일 (원형 배경 추가) */
.custom-swal-icon {
    width: 80px !important;
    height: 80px !important;
    font-size: 2.5rem !important;
    border-radius: 50% !important;
    background-color: rgba(13, 110, 253, 0.1) !important; /* 옅은 파란색 배경 */
    color: #0d6efd !important; /* 아이콘 색상 */
    
    /* 아이콘을 원 중앙에 배치 */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    border: none !important;
}

/* 제목 스타일 */
.custom-swal-title {
    font-size: 22px !important;
    font-weight: 600 !important;
    margin-top: 4rem !important;
    color: #333 !important;
}

/* 내용(html) 스타일 */
.custom-swal-html-container {
    font-size: 16px !important;
    color: #666 !important;
    line-height: 1.6 !important;
    margin: 10px 0 20px !important; /* 위아래 간격 조절 */
}

/* 확인 버튼 스타일 */
.custom-swal-confirm-button {
    background-color: #0d6efd !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    padding: 12px 30px !important;
    box-shadow: 0 2px 10px rgba(13, 110, 253, 0.3) !important; /* 버튼에 그림자 효과 */
}

/* 하단 링크 스타일 */
.custom-swal-footer {
    border-top: 1px solid #eee !important;
    padding-top: 20px !important;
    font-size: 14px !important;
}
.custom-swal-footer a {
    color: #6c757d;
    text-decoration: none;
    transition: opacity 0.2s;
}
.custom-swal-footer a:hover {
    opacity: 0.7;
}

.swal2-popup.custom-swal-popup .swal2-title.custom-swal-title {
    margin-top: 1rem; /* 1rem = 16px 정도의 간격입니다. 원하시는 만큼 조절하세요. */
}

/* (선택) 알림창의 전체적인 패딩 조절 */
.swal2-popup.custom-swal-popup {
    padding-top: 2rem;
    padding-bottom: 2rem;
}