@charset "UTF-8";

/*공통 (버튼,위치 외) */
button {
	cursor: pointer;
}

.w-100 {
	width: 100% !important;
}

.display-flex-column {
	display: flex;
	flex-direction: column;
}

.display-flex-row {
	display: flex;
	flex-direction: row;
}

.date-space {
	white-space: break-spaces !important;
	-webkit-line-clamp: none !important;
	text-align: center;
}

/*필수값*/
.required {
	color: red;
	margin-left: 3px;
	font-weight: bold;
	font-size: 14px;
}

/*버튼위치 */
.btn-left {
	display: flex;
	justify-content: end;
}

.btn-right {
	display: flex;
	justify-content: right;
}

.btn-center {
	display: flex;
	justify-content: center;
}

.g-10 {
	gap: 10px;
}

.g-15 {
	gap: 15px;
}

.btn-navy-bor {
	border: 1px solid #132058;
	background-color: #fff;
	color: #132058;
	padding: 5px 20px;
	border-radius: 5px;
}

.btn-blue-bor {
	border: 1px solid #2D50FF;
	background-color: #fff;
	color: #0d3056;
	padding: 5px 20px;
	border-radius: 5px;
}

.btn-blue-bor2 {
	border: 1px solid #2D50FF;
	background-color: #fff;
	color: #2D50FF;
	padding: 10px 20px;
	border-radius: 5px;
	    width: 50%;
}

.btn-blue2 {
    background-color: #2D50FF;
    padding: 10px 20px;
    color: #fff;
    border-radius: 5px;
        width: 50%;
}

.btn-red-bor {
	border: 1px solid #eb0000;
	background-color: #fff;
	color: #eb0000;
	padding: 5px 20px;
	border-radius: 5px;
}

.btn-yellow-bor {
	border: 1px solid #ffc107;
	background-color: #fff;
	color: #ffc107;
	padding: 5px 20px;
	border-radius: 5px;
}

.btn-gray-bor {
	border: 1px solid #6c757d;
	background-color: #fff;
	color: #6c757d;
	padding: 5px 20px;
	border-radius: 5px;
}

.btn-navy {
	background-color: #0d3056;
	padding: 5px 20px;
	color: #fff;
	border-radius: 5px;
}

.btn-red {
	background-color: #eb0000;
	padding: 5px 20px;
	color: #fff;
	border-radius: 5px;
}

.btn-yellow {
	background-color: #ffc107;
	padding: 5px 20px;
	color: #fff;
	border-radius: 5px;
}

.btn-blue {
	background-color: #2D50FF;
	padding: 5px 20px;
	color: #fff;
	border-radius: 5px;
}

.btn-blue-50{
	background-color: #2D50FF;
	padding: 10px 20px;
	color: #fff;
	border-radius: 5px;	
	    width: 50%;
}
.btn-blue-100{
	background-color: #2D50FF;
	padding: 10px 20px;
	color: #fff;
	border-radius: 5px;	
	    width: 100%;
}

.btn-gray {
	background: #6c757d;
	padding: 5px 20px;
	color: #fff;
	border-radius: 5px;
}

.btn-disabled {
	background: #e0e0e0;
	color: #9e9e9e;
	cursor: not-allowed;
	border-radius: 5px;
	padding: 5px 20px;
}

/* 작은버튼 */
.btn-red-sm {
	background-color: #eb0000;
	padding: 5px 10px;
	color: #fff;
	border-radius: 5px;
	font-size: 13px;
}
/* 작은버튼 */
.btn-navy-sm {
	background-color: #0d3056;
	padding: 5px 10px;
	color: #fff;
	border-radius: 5px;
	font-size: 13px;
}
.btn-disabled-sm{
    background-color: #ebebeb;
    padding: 5px 10px;
    border-radius: 5px;
    border: 1px solid #ddd;	
}
/*제일작은버튼*/
.btn-red-xsm {
	background-color: #eb0000;
	padding: 5px;
	color: #fff;
	border-radius: 5px;
	font-size: 13px;
}

.btn-navy-xsm {
	background-color: #0d3056;
	padding: 5px;
	color: #fff;
	border-radius: 5px;
	font-size: 13px;
}

.btn-disabled-xsm{
    background-color: #ebebeb;
    padding: 5px;
    border-radius: 5px;
    border: 1px solid #ddd;	
}

/* 작은버튼 */
.btn-navy-bor-sm {
	background-color: #fff;
	padding: 5px 10px;
	color: #0d3056;
	border-radius: 5px;
	font-size: 13px;
	border: 1px solid #132058;
}

/* Loading bar css */
#loading-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8); /* 반투명 배경 */
	display: none; /* 처음엔 숨김 */
	align-items: center;
	justify-content: center;
	z-index: 9999;
}

.loading-wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}

.loading {
	text-align: center;
}

.loading img {
	width: 80px;
	height: 80px;
	display: block;
	margin: 0 auto 10px;
}

.loading p {
	color: #fff;
}

/* 경고창 */
#custom-toast {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 2000;
}

.toast {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 200px;
	margin-top: 10px;
	padding: 10px 15px;
	border-radius: 6px;
	color: #fff;
	opacity: 0;
	transform: translateY(-20px);
	transition: all 0.3s ease;
	justify-content: space-between;
}

.toast.show {
	opacity: 1;
	transform: translateY(0);
}

.toast .toast-close {
	background: none;
	color: #fff;
	font-size: 16px;
	cursor: pointer;
}

.toast.success .toast-close {
	color: #084298;
}

.toast.error .toast-close {
	color: #664d03;
}

.toast.warning .toast-close {
	color: #842029;
}

.toast.info .toast-close {
	color: #0f5132;
}

/* 토스트 래퍼 */
.toast-wrap {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 9999;
	white-space: pre
}
/* 타입별 색상 */
.toast.success {
	color: #084298;
	background-color: #cfe2ff;
	border: 1px solid #b6d4fe;
}

.toast.error {
	color: #664d03;
	background-color: #fff3cd;
	border: 1px solid #ffecb5;
}

.toast.info {
	color: #0f5132;
	background-color: #d1e7dd;
	border-color: #badbcc;
}

.toast.warning {
	color: #842029;
	background-color: #f8d7da;
	border: 1px solid #f5c2c7;
}

/*컨펌*/
.custom-confirm-wrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 3000;
}

.confirm-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
}

.confirm-box {
	position: relative;
	background: #fff;
	border-radius: 8px;
	z-index: 1;
	width: 300px;
}

.confirm-top {
	background-color: #2d50ff;
	padding: 10px;
	border-radius: 5px 5px 0 0;
	color: #fff;
	font-weight: 400;
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 15px;
}

.confirm-top .icon:before {
	content: "";
	background: url(../images/icon/warning-line.svg) no-repeat center/contain;
	width: 24px;
	height: 24px;
	display: flex;
}

.confirm-message {
	padding: 20px 15px;
}

.confirm-buttons {
	display: flex;
	justify-content: right;
	padding: 15px 10px;
	gap: 5px;
}

.confirm-buttons button {
	padding: 5px 15px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
}

.btn-ok {
	background: #2d50ff;
	color: #fff;
}

.btn-cancel {
	background: #ffffff;
	color: #2d50ff;
	border: 1px solid #2d50ff !important;
}

/*달력*/
.date-range {
	display: flex;
}

.date-inputs {
	display: flex;
	align-items: center;
	font-size: 14px;
	border: 1px solid #ddd;
	padding: 5px;
	border-radius: 5px;
}

.date-wrapper {
	position: relative;
}

.date-wrapper input {
	padding: 10px 36px 10px 12px; /* 오른쪽에 아이콘 공간 */
	border: 1px solid #ccc;
	border-radius: 8px;
	font-size: 14px;
	width: 140px;
	cursor: pointer;
	transition: border 0.3s, box-shadow 0.3s;
}

.date-wrapper input:focus {
	border-color: #2d50ff;
	box-shadow: 0 0 4px rgba(45, 80, 255, 0.3);
	outline: none;
}

/* 아이콘 위치 */
.calendar-icon {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none; /* 클릭은 input에 전달 */
	font-size: 16px;
}

.date-separator {
	font-weight: bold;
	font-size: 16px;
}

.date-inputs-group {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px;
}

.datepicker {
	background-image: url(../images/icon/calendar_icon.svg);
	background-repeat: no-repeat;
	background-position: right;
	background-size: 15px auto;
	cursor: pointer;
	width: 100%;
}

/* 페이징 */
.pagination-wrap ul {
	display: flex;
	gap: 5px;
	align-items: center;
}

.pagination-wrap.right ul {
	justify-content: flex-end;
}

.pagination-wrap.center ul {
	justify-content: center;
}

.pagination-wrap ul li:not(.paginationjs-ellipsis) a {
	display: flex;
	width: 30px;
	height: 30px;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	border: solid 1px #cdcdcd;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
}

.pagination-wrap ul li.active a {
	background-color: #132058;
	color: #ffffff;
	border-color: #395ad4;
}


.pagination-wrap ul li.paginationjs-ellipsis a {
	padding: 0 5px;
}

.pagination-wrap ul li.paginationjs-prev a, .pagination-wrap ul li.paginationjs-next a
	{
	color: transparent;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 15px;
}

.pagination-wrap ul li.paginationjs-prev a {
	background-image: url('../images/icon/angle-small-left.svg');
}

.pagination-wrap ul li.paginationjs-next a {
	background-image: url('../images/icon/angle-small-right.svg');
}
/*.pagination-wrap ul li.paginationjs-prev a {background-image: url('../images/icon/next.svg');transform: scaleX(-1);}*/
/*.pagination-wrap ul li.paginationjs-next a {background-image: url('../images/icon/next.svg');}*/




/**/
.pagination-wrap-user ul li.a.active a{
	background-color: #395ad4;
	color: #ffffff;
	border-color: #395ad4;	
}

/* 공통 disabled 스타일 */
input:disabled,
textarea:disabled,
select:disabled,
button:disabled {
    cursor: not-allowed;      /* 마우스 커서 금지 표시 */
         /* 흐림 효과 */
    background-color: #dedede; /* 연한 회색 배경 */
    color: #999;              /* 글자색 흐리게 */
    border-color: #ccc;       /* 테두리 연하게 */
}

/* 텍스트 입력 / 텍스트 영역 */
input[type="text"]:disabled,
input[type="number"]:disabled,
input[type="email"]:disabled,
textarea:disabled {
    background-color: #dedede;
    color: #585858;
    border: 1px solid #ccc;
}

/* 체크박스 / 라디오 */
input[type="checkbox"]:disabled,
input[type="radio"]:disabled {
    cursor: not-allowed;

}

/* select 박스 */
select:disabled {
    background-color: #dedede;
    color: #999;
    border: 1px solid #ccc;
    cursor: not-allowed;
}

select {
    appearance: none;
    border: 1px solid #ccc;
    border-radius: 5px;
     -webkit-appearance: none;
     -moz-appearance: none;
}
select:focus {
    outline: 1px solid #ccc; /* 또는 원하는 색 */

}
select::-ms-expand {
        display: none;
    }




/* 버튼 */
button:disabled {
    background-color: #ddd;
    color: #999;
    border: 1px solid #ccc;
}

/* 커스텀 라디오/체크박스 (label 활용) */
.custom-radio input[type="radio"]:disabled + label::before,
.custom-checkbox input[type="checkbox"]:disabled + label::before {
    background-color: #eee;
    border-color: #ccc;
    cursor: not-allowed;

}

#dynamic_editorArea{
    background-color: #fff;	
}