@charset "UTF-8";
/*
    common.css
    역할 : 공통 UI 컴포넌트 스타일
           - 입력 요소 (input, select, textarea, button)
           - 테이블 (search-tb, form-tb, list-tb, grid)
           - 팝업
           - 달력 (datepicker)
           - jqGrid
           - 유틸리티 클래스
    로드 순서 : fonts.css → reset.css → common.css → layout.css
*/


/* ============================================================
   Body 기본 색상
   ============================================================ */
body {
    color: #4a4a4a;
}

/* ============================================================
   공통 폰트 스택 (변수처럼 반복 사용)
   ============================================================ */
/* 아래 font-family 값은 pgs.css/common2.css에서 통합 */


/* ============================================================
   Input
   ============================================================ */
input {
    padding: 0 5px;
    vertical-align: middle;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

input, select {
    height: 30px;
    line-height: 30px;
    border-radius: 2px;
    font-family: "ChironGoRound", "IBMPlexSansKR", "NanumGothic",
                 "Pretendard Variable", "Pretendard",
                 "맑은고딕", AppleGothic, sans-serif;
    font-size: 12px;
    color: #4a4a4a;
    border: 1px solid #e0e0e0;
    border-radius: 2px;
}

input[type=button] { cursor: pointer; }
input[type=file]   { height: auto; }
input[type=checkbox] { width: 13px; height: 13px; }

input.datepicker        { width: 80px; }
input.datepickerOnlyMonth { width: 60px; }

/* ============================================================
   Select
   ============================================================ */
select {
}

/* ============================================================
   Textarea
   ============================================================ */
textarea {
    border: 1px solid #e0e0e0;
    padding: 10px;
    border-radius: 2px;
}

/* ============================================================
   Button — 기본
   ============================================================ */
button {
    cursor: pointer;
    background: #fff;
    border: 1px solid #e0e0e0;
    color: #4a4a4a;
    font-family: "ChironGoRound", "IBMPlexSansKR", "NanumGothic",
                 "Pretendard Variable", "Pretendard",
                 "맑은고딕", AppleGothic, sans-serif;
    font-size: 12px;
    height: 30px;
    line-height: 28px;
    padding: 0 8px;
    border-radius: 5px;
    vertical-align: middle;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}
button:hover {
    background-color: #f9f9f9;
}

/* Button — 변형 */
button.defaultBtn {
    background: #fff;
    border-color: #e0e0e0;
    color: #4a4a4a;
}
button.defaultBtn:hover {
    background-color: #f9f9f9;
}

button.excelBtn {
    border-color: transparent;
    background: #43AA8B;
    color: #fff;
}
button.excelBtn:hover {
    background-color: #4D908E;
}

button.blueBtn {
    border-color: transparent;
    background: #4ea0e3;
    color: #fff;
}
button.blueBtn:hover {
    background-color: #397bbd;
}

/* 레거시 버튼 (구 common.css) */
button.small {
    height: 25px;
    line-height: 22px;
    color: #fff;
    background-color: #aaa;
    border-color: #aaa;
}
button.small:hover {
    border-color: #666;
    background-color: #666;
    color: #fff;
}
button.small_white {
    height: 25px;
    line-height: 22px;
    border-radius: 3px;
}
button.small_red {
    height: 25px;
    line-height: 22px;
    color: #fff;
    border-radius: 3px;
    background-color: #DC2828;
}

/* Button — 사이즈 클래스 (구 common2.css) */
.btnD {
    height: 35px;
    line-height: 35px;
    padding: 0 10px;
    display: inline-block;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}
.btnS {
    height: 30px;
    line-height: 30px;
    padding: 0 8px;
    display: inline-block;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}
.btnM {
    height: 25px;
    line-height: 25px;
    padding: 0 7px;
    display: inline-block;
    border-radius: 5px;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}
.btnB {
    height: 40px;
    line-height: 40px;
    padding: 0 12px;
    display: inline-block;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

/* Button — 색상 클래스 (구 common2.css) */
.btnSky {
    background-color: #3ea9dc;
    color: #fff;
}
.btnSky:hover {
    background-color: #2387b7;
}
.btnBlue {
    background-color: #0177fb;
    color: #fff;
    border-radius: 50px;
}
.btnBlue:hover {
    background-color: #1c5a9f;
}


/* ============================================================
   Image
   ============================================================ */
img             { vertical-align: middle; }
img.btn-img     { cursor: pointer; }
img.toggle-img  { cursor: pointer; vertical-align: middle; margin: 0 3px 1px 0; }
a img           { border-style: none; }


/* ============================================================
   테이블 공통 — th/td
   ============================================================ */
table th {
    font-weight: normal;
}
table th, table td {
    font-family: "ChironGoRound", "IBMPlexSansKR", "NanumGothic",
                 "Pretendard Variable", "Pretendard",
                 "맑은고딕", AppleGothic, sans-serif;
    font-size: 12px;
    padding: 6px 0;
    border-left: 0;
    border-right: 0;
    color: #444;
}
table a {
	color: #ff8d00; 
}

/* ============================================================
   테이블 — search-tb (검색 테이블)
   ============================================================ */
table.search-tb {
    width: 100%;
    margin: 10px 0;
    border-top: 1px solid #e0e0e0;
}
table.search-tb > tbody > tr > td,
table.search-tb > tr > td {
    height: 25px;
    padding: 4px 10px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
    font-size: 12px;
}
table.search-tb > tbody > tr > td.ARight {
    border: 1px solid #e0e0e0 !important;
}
table.search-tb > tbody > tr > th {
    font-size: 12px;
    border-bottom: 1px solid #eee;
    background-color: #f9f9f9;
}
table.search-tb select      { min-width: 85px; padding: 0 6px; }
table.search-tb label       { margin-right: 10px; }
table.search-tb label input[type="checkbox"] { margin-right: 4px; }

table.search-tb ul          { margin: 10px 0; padding: 0; list-style: none; }
table.search-tb ul li       { margin: 0; padding: 2px 3px; }
table.search-tb ul li span  { display: inline-block; width: 50px; }

/* search-tb — 이미지 버튼 */
table.search-tb .btn-img {
    padding: 0 1px;
    cursor: pointer;
}

/* ============================================================
   테이블 — search-small-tb (소형 검색 테이블)
   ============================================================ */
table.search-small-tb {
    min-width: 100%;
    border-top: 1px solid #e0e0e0;
}
table.search-small-tb > tbody > tr > td,
table.search-small-tb > tr > td {
    height: 25px;
    padding: 4px 10px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
    font-size: 11px;
}
table.search-small-tb > tbody > tr > td.ARight {
    border: 1px solid #eee !important;
}
table.search-small-tb > tbody > tr > th {
    font-size: 11px;
    border-bottom: 1px solid #eee;
}
table.search-small-tb select     { min-width: 85px; }
table.search-small-tb ul         { margin: 10px 0; padding: 0; list-style: none; }
table.search-small-tb ul li      { margin: 0; padding: 2px 3px; }
table.search-small-tb ul li span { display: inline-block; width: 50px; }

/* ============================================================
   테이블 — form-tb (상세/입력 테이블)
   ============================================================ */
table.form-tb {
    width: 100%;
    margin: 10px 0;
    font-size: 12px;
    border-top: 1px solid #e0e0e0;
}
table.form-tb > thead > tr > th {
    height: 25px;
    padding: 0 10px;
    background: #f5f6f8;
    border: 1px solid #e9ebea;
    font-weight: bold;
    color: #193751;
}
table.form-tb > tbody > tr > th,
table.form-tb > tr > th {
    height: 25px;
    padding: 3px 10px;
    background: #f9f9f9;
    border: 1px solid #eee;
    border-left: none;
    border-right: none;
    font-weight: bold;
    color: #193751;
}
table.form-tb > tbody > tr > td,
table.form-tb > tr > td {
    height: 25px;
    padding: 3px 10px;
    border: 1px solid #eee;
    border-left: none;
    border-right: none;
    vertical-align: middle;
}
table.form-tb > tbody > tr > th.form-tb-subtitle,
table.form-tb > tr > th.form-tb-subtitle {
    text-align: left;
}
/* form-tb — 집계행 색상 */
.grid-container .form-tb th.ok {
    font-weight: bold;
    background-color: #faffe7;
    color: #90a644;
}
.grid-container .form-tb th.cancel {
    font-weight: bold;
    background-color: #fff3e5;
    color: #ff8d00;
}
.grid-container .form-tb th.sum {
    font-weight: bold;
    background-color: #eaf8ff;
    color: #0185c6;
}
.grid-container .form-tb td {
    text-align: right;
    border: 1px solid #eee;
}
.grid-container .form-tb td:last-child {
    border-right: 0;
}

table.form-tb ul         { margin: 10px 0; padding: 0; list-style: none; }
table.form-tb ul li      { margin: 0; padding: 2px 3px; }
table.form-tb ul li span { display: inline-block; width: 50px; }

/* ============================================================
   테이블 — list-tb (목록 테이블)
   ============================================================ */
table.list-tb { width: 100%; }

table.list-tb > thead > tr > th,
table.list-tb > tbody > tr > th,
table.list-tb > tr > th {
    height: 25px;
    padding: 0 10px;
    background: #f5f6f8;
    border: 1px solid #e9ebea;
    font-weight: bold;
    color: #193751;
}
table.list-tb > tbody > tr > td,
table.list-tb > tr > td {
    height: 25px;
    padding: 0 5px;
    font-size: 12px;
    border: 1px solid #e9ebea;
    vertical-align: middle;
}
table.list-tb ul         { margin: 10px 0; padding: 0; list-style: none; }
table.list-tb ul li      { margin: 0; padding: 2px 3px; }
table.list-tb ul li span { display: inline-block; width: 50px; }

/* ============================================================
   테이블 — cntTb (집계 카운트 테이블)
   ============================================================ */
table#cntTb { width: auto; }

/* ============================================================
   jqGrid / Grid Container
   ============================================================ */
#gridContainer {
    display: flex;
    flex-direction: column;
    margin-top: 30px;
    width: 100%;
}
#gridContainer .form-tb#cntTb { order: 0; }
#list_toppager                 { order: 2; }
#gbox_list                     { order: 1; }
#gridContainer .form-tb.blank  { margin-bottom: 30px; }
#gridContainer .ui-jqgrid.ui-widget.ui-widget-content.ui-corner-all {
    padding-right: 30px;
}

.grid-container .ui-jqgrid-toppager {
    text-align: center;
}
.grid-container .ui-jqgrid-toppager li {
    display: inline-block;
}
.grid-container .ui-jqgrid-toppager li a {
    padding: 0 3px;
    font-size: 12px;
    color: #4a4a4a;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}
.grid-container .ui-jqgrid-toppager li a .fa {
    padding: 0 3px;
    font-size: 9px;
    color: #a5a5a5;
}
.grid-container .ui-jqgrid-toppager li a:hover {
    color: #0185c6;
}
.grid-container .ui-jqgrid-toppager li a.active {
    font-weight: bold;
    color: #0185c6;
}
.grid-container .ui-jqgrid-toppager li select {
    height: auto;
    padding: 1px 3px;
}

.grid-container .ui-jqgrid-htable {
    width: 100%;
    border-top: 2px solid #709ce6;
}
.grid-container .ui-jqgrid-htable tr:hover {
    background-color: #faffe7;
}
.grid-container .ui-jqgrid-htable th,
.grid-container .ui-jqgrid-htable td {
    letter-spacing: 0;
    text-align: center;
    cursor: default;
}
.grid-container .ui-jqgrid-htable th {
    background-color: #f9f9f9;
}
.grid-container .ui-jqgrid-htable td.price {
    text-align: right;
}

.ui-jqgrid .ui-jqgrid-htable { border-top: 1px solid #00579E; }
.ui-pg-selbox                 { height: 20px; line-height: 20px; }
td.ui-pg-button.ui-corner-all { padding: 6px 10px; }

/* jqGrid — 그룹 / 합계행 */
.ui-widget-content.jqgroup.ui-row-ltr.listghead_0 td      { border-color: #aaa; }
.ui-widget-content.jqgroup.ui-row-ltr.listghead_0 td b    { line-height: 30px; }
.ui-widget-content.jqgroup.ui-row-ltr.listghead_0 td span { margin-top: 7px; }
.ui-widget-content.jqfoot.ui-row-ltr td                   { padding: 0 8px; line-height: 30px; border-color: #e0e0e0; }

/* jqGrid — 개별 컬럼 */
#list_tr_dt                                               { border-right: 1px solid #e8e8e8; }
#list_detail #jqgh_list_detail table tbody tr:nth-child(1) th  { height: 22px; }
#list_detail #jqgh_list_detail table tbody tr:nth-child(2) th  { border-right: 1px solid #e8e8e8 !important; }

/* ============================================================
   Datepicker
   ============================================================ */
.ui-datepicker-trigger {
    padding: 0 2px 0 4px;
    cursor: pointer;
    width: 30px;
    height: 24px;
    opacity: 0.7;
}
.ui-datepicker .ui-datepicker-buttonpane button {
    padding: 0 10px !important;
    margin: 10px 0 0 0 !important;
    font-size: 13px;
    height: 26px;
    line-height: 24px;
}
.ui-datepicker .ui-datepicker-buttonpane button:hover {
    border: 1px solid #dbe6fb !important;
}

/* ============================================================
   팝업
   ============================================================ */
.popup-itembox               { padding: 25px; }
.popup-itembox form p strong { font-size: 14px; }
h1.title       { margin: 10px 0; float: left; font-size: 18px; font-weight: bold; color: #341112; vertical-align: inherit; }
h1.popup-title { font-size: 13px; font-weight: bold; color: #0d47b4; vertical-align: inherit; margin: 0 0 10px 0; }
h2.title {
    height: 35px;
    line-height: 35px;
    font-size: 16px;
    background: #fff;
    color: #333;
    border-bottom: 1px solid #eee;
    margin-top: 20px;
    font-weight: bold;
}
h2.title2 {
	z-index: 999;
	margin-bottom: -1px;
	color: #4a4a4a;
	padding: 10px 15px;
	background: #f9f9f9;
	font-size: 12px;
	border-top: 1px solid #709ce6;
	border-bottom: 1px solid #e4e4e4;
	width: 920px;
	margin-top: 30px;
}
h2.title2 a.more {float: right; color: #4a4a4a; margin-top: -4px;}
h2.title2 a.more:after {content: ''; display: block; clear: both;}

/* ============================================================
   특정 input 너비 (공통 사용)
   ============================================================ */
[name="serID"]   { width: 100px; }
[name="serText"] { width: 180px; }
#fnNo            { width: 200px; }
select#pg_cd:disabled { background: #eee; }

/* ============================================================
   특수 요소
   ============================================================ */
strong { color: red; font-weight: normal; }
em     { color: #2222ee; font-weight: normal; }

span.fail          { color: red; }
div.line-break     { height: 17px; }
div.memo-container { overflow-x: hidden; overflow-y: auto; height: 50px; padding: 4px; }
.no-data {
    height: 50px;
    line-height: 50px;
    text-indent: 10px;
}

/* 달력 요일 색상 */
.sunday   { color: red; }
.saturday { color: blue; }

/* 달력 연/월 폰트 */
.year  { font-weight: bold; font-size: 14px; }
.month { font-weight: bold; font-size: 14px; }

/* TID 버튼 */
.tid_btn {
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}
.tid_btn:hover { opacity: 1; }


/* ============================================================
   유틸리티 — 텍스트 정렬
   ============================================================ */
.ALeft   { text-align: left !important; }
.ACenter { text-align: center !important; }
.ARight  { text-align: right !important; }
.t_center { text-align: center; }
.t_left   { text-align: left; }
.t_right  { text-align: right; }

/* ============================================================
   유틸리티 — 표시/숨김
   ============================================================ */
.display-none { display: none; }
.block        { display: block; }
.no-padding   { padding: 0 !important; }

/* ============================================================
   유틸리티 — 폰트
   ============================================================ */
.bold { font-weight: bold; }

/* ============================================================
   유틸리티 — float / clearfix
   ============================================================ */
.clearfix { clear: both; }
.center   { margin: 0 auto; }
.left     { float: left; }
.right    { float: right; }
.left:after, .right:after { content: ''; display: block; clear: both; }

/* ============================================================
   유틸리티 — 여백 (margin)
   ============================================================ */
.blank  { margin-top: 30px; }

.ml5  { margin-left:   5px; } .ml10 { margin-left:  10px; } .ml15 { margin-left:  15px; }
.ml20 { margin-left:  20px; } .ml25 { margin-left:  25px; } .ml30 { margin-left:  30px; }
.ml35 { margin-left:  35px; } .ml40 { margin-left:  40px; } .ml45 { margin-left:  45px; }
.ml50 { margin-left:  50px; }

.mr5  { margin-right:  5px; } .mr10 { margin-right: 10px; } .mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; } .mr25 { margin-right: 25px; } .mr30 { margin-right: 30px; }
.mr35 { margin-right: 35px; } .mr40 { margin-right: 40px; }

.mt5  { margin-top:    5px; } .mt10 { margin-top:  10px; } .mt15 { margin-top:  15px; }
.mt20 { margin-top:   20px; } .mt25 { margin-top:  25px; } .mt30 { margin-top:  30px; }
.mt35 { margin-top:   35px; } .mt40 { margin-top:  40px; } .mt45 { margin-top:  45px; }
.mt50 { margin-top:   50px; }

.mb5  { margin-bottom: 5px; } .mb10 { margin-bottom: 10px; } .mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; } .mb25 { margin-bottom: 25px; } .mb30 { margin-bottom: 30px; }
.mb35 { margin-bottom: 35px; } .mb40 { margin-bottom: 40px; } .mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }

/* ============================================================
   유틸리티 — 여백 (padding)
   ============================================================ */
.pll5  { padding-left:   5px; } .pll10 { padding-left:  10px; } .pll15 { padding-left:  15px; }
.pll20 { padding-left:  20px; } .pll25 { padding-left:  25px; } .pll30 { padding-left:  30px; }
.pll35 { padding-left:  35px; } .pll40 { padding-left:  40px; } .pll45 { padding-left:  45px; }
.pll50 { padding-left:  50px; }

.plr5  { padding-right:  5px; } .plr10 { padding-right: 10px; } .plr15 { padding-right: 15px; }
.plr20 { padding-right: 20px; } .plr25 { padding-right: 25px; } .plr30 { padding-right: 30px; }
.plr35 { padding-right: 35px; } .plr40 { padding-right: 40px; }

.plt5  { padding-top:    5px; } .plt10 { padding-top:  10px; } .plt15 { padding-top:  15px; }
.plt20 { padding-top:   20px; } .plt25 { padding-top:  25px; } .plt30 { padding-top:  30px; }
.plt35 { padding-top:   35px; } .plt40 { padding-top:  40px; } .plt45 { padding-top:  45px; }
.plt50 { padding-top:   50px; }

.plb5  { padding-bottom: 5px; } .plb10 { padding-bottom: 10px; } .plb15 { padding-bottom: 15px; }
.plb20 { padding-bottom: 20px; } .plb25 { padding-bottom: 25px; } .plb30 { padding-bottom: 30px; }
.plb35 { padding-bottom: 35px; } .plb40 { padding-bottom: 40px; } .plb45 { padding-bottom: 45px; }
.plb50 { padding-bottom: 50px; }

/* ============================================================
   유틸리티 — float 그리드 (col)
   ============================================================ */
.col_1 { float: left; width: 100%; }
.col_2 { float: left; width: 50%; }
.col_3 { float: left; width: 33.3333%; }
.col_4 { float: left; width: 25%; }
.col_5 { float: left; width: 20%; }
.col_6 { float: left; width: 16.6667%; }
.col_7 { float: left; width: 14.285714%; }
.col_8 { float: left; width: 12.5%; }
.col_9 { float: left; width: 11.1111%; }

.col_1:after, .col_2:after, .col_3:after,
.col_4:after, .col_5:after, .col_6:after,
.col_7:after, .col_8:after, .col_9:after {
    content: '';
    display: block;
    clear: both;
}

/* ============================================================
   버튼 영역
   ============================================================ */
.btn-area        { margin: 17px 0; text-align: center; }

.btn-area-search {
    width: 100%;
    margin: 12px 0;
    display: flex;
    justify-content: flex-end;
    gap: 5px;
}
/* SNB 펼침 시 버튼 영역 너비 확장 */
.collapsed .btn-area-search {
    width: 100%;
}