:root{
	    --color-base: #ffffff;
    --color-base-50: #f9fafb;
    --color-base-100: #f3f4f6;
    --color-base-200: #e5e7eb;
    --color-base-300: #d1d5db;
    --color-base-400: #9ca3af;
    --color-base-500: #6b7280;
    --color-base-600: #4b5563;
    --color-base-700: #374151;
    --color-base-800: #1f2937;
    --color-base-900: #111827;
    --color-base-content: #1f2937;
    --color-primary: #3b82f6;
    --color-primary-50: #eff6ff;
    --color-primary-100: #dbeafe;
    --color-primary-200: #bfdbfe;
    --color-primary-300: #93c5fd;
    --color-primary-400: #60a5fa;
    --color-primary-500: #3b82f6;
    --color-primary-600: #2563eb;
    --color-primary-700: #1d4ed8;
    --color-primary-800: #1e40af;
    --color-primary-900: #1e3a8a;
    --color-primary-focus: #2563eb;
    --color-primary-content: #ffffff;
    --color-secondary: #8b5cf6;
    --color-secondary-50: #f5f3ff;
    --color-secondary-100: #ede9fe;
    --color-secondary-200: #ddd6fe;
    --color-secondary-300: #c4b5fd;
    --color-secondary-400: #a78bfa;
    --color-secondary-500: #8b5cf6;
    --color-secondary-600: #7c3aed;
    --color-secondary-700: #6d28d9;
    --color-secondary-800: #5b21b6;
    --color-secondary-900: #4c1d95;
    --color-secondary-focus: #7c3aed;
    --color-secondary-content: #ffffff;
    --color-accent: #f472b6;
    --color-accent-50: #fdf2f8;
    --color-accent-100: #fce7f3;
    --color-accent-200: #fbcfe8;
    --color-accent-300: #f9a8d4;
    --color-accent-400: #f472b6;
    --color-accent-500: #ec4899;
    --color-accent-600: #db2777;
    --color-accent-700: #be185d;
    --color-accent-800: #9d174d;
    --color-accent-900: #831843;
    --color-accent-focus: #db2777;
    --color-accent-content: #ffffff;
    --color-neutral: #6b7280;
    --color-neutral-50: #f9fafb;
    --color-neutral-100: #f3f4f6;
    --color-neutral-200: #e5e7eb;
    --color-neutral-300: #d1d5db;
    --color-neutral-400: #9ca3af;
    --color-neutral-500: #6b7280;
    --color-neutral-600: #4b5563;
    --color-neutral-700: #374151;
    --color-neutral-800: #1f2937;
    --color-neutral-900: #111827;
    --color-neutral-focus: #4b5563;
    --color-neutral-content: #ffffff;
    --color-info: #3b82f6;
    --color-info-50: #eff6ff;
    --color-info-100: #dbeafe;
    --color-info-200: #bfdbfe;
    --color-info-300: #93c5fd;
    --color-info-400: #60a5fa;
    --color-info-500: #3b82f6;
    --color-info-600: #2563eb;
    --color-info-700: #1d4ed8;
    --color-info-800: #1e40af;
    --color-info-900: #1e3a8a;
    --color-info-focus: #2563eb;
    --color-info-content: #ffffff;
    --color-success: #10b981;
    --color-success-50: #ecfdf5;
    --color-success-100: #d1fae5;
    --color-success-200: #a7f3d0;
    --color-success-300: #6ee7b7;
    --color-success-400: #34d399;
    --color-success-500: #10b981;
    --color-success-600: #059669;
    --color-success-700: #047857;
    --color-success-800: #065f46;
    --color-success-900: #064e3b;
    --color-success-focus: #059669;
    --color-success-content: #ffffff;
    --color-warning: #f59e0b;
    --color-warning-50: #fffbeb;
    --color-warning-100: #fef3c7;
    --color-warning-200: #fde68a;
    --color-warning-300: #fcd34d;
    --color-warning-400: #fbbf24;
    --color-warning-500: #f59e0b;
    --color-warning-600: #d97706;
    --color-warning-700: #b45309;
    --color-warning-800: #92400e;
    --color-warning-900: #78350f;
    --color-warning-focus: #d97706;
    --color-warning-content: #ffffff;
    --color-error: #ef4444;
    --color-error-50: #fef2f2;
    --color-error-100: #fee2e2;
    --color-error-200: #fecaca;
    --color-error-300: #fca5a5;
    --color-error-400: #f87171;
    --color-error-500: #ef4444;
    --color-error-600: #dc2626;
    --color-error-700: #b91c1c;
    --color-error-800: #991b1b;
    --color-error-900: #7f1d1d;
    --color-error-focus: #dc2626;
    --color-error-content: #ffffff;
}

nav{
	padding: 5px 20px !important;
	border-bottom: 1px solid var(--border-color);
	background: var(--bg-color);
}
nav .nav-item.active{
	font-weight: bold;
}

input[type="checkbox"]{
    width: 16px;
    height: 16px;
    cursor: pointer;
}

input[type="radio"]{
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.main-wrapper{
	display: flex;
	width: 100%;
	height: 100%;
	padding: 20px;
	flex-direction: column;
	flex-grow: 1;
	overflow-y: hidden;
}
/*.main-wrapper .page-title{
	font-weight: bold;
	font-size: 18px;
}*/

/*.content-wrapper{
	display: flex;
	flex-direction: column;
	width: 100%;
	height: calc(100% - 48px);
	justify-content: flex-start;
	overflow-y: hidden;
	padding: 24px;
	position: relative;
}*/


/* Bootstrap changes */
.row{
    margin-right: 0px;
    margin-left: 0px;
}
.row>*{
	padding-right: 0px;
	padding-left: 0px;
}
.row>*:not(:first-child){
	padding-left: calc(var(--bs-gutter-x)* .5);
}
.row>*:not(:last-child){
	padding-right: calc(var(--bs-gutter-x)* .5);
}
.xdsoft_scrollbar{
	display: none !important;
}
.form-switch .form-check-input{
	width: 40px; 
}
.form-switch .form-check-input:focus{
	box-shadow: none;
}
.form-switch .form-check-label{
	font-size: 14px;
}
.form-control, .form-select{
	padding: 4px 8px;
	min-width: 120px;
}
.form-control:focus{
	box-shadow: none;
}


.modal{
    overflow: hidden;
}
.modal-right .modal-dialog{
    margin-right: 0px;
    height: 100%;
}
.modal-dialog{
    display: flex;
    max-height: calc(100% - 40px);
}
.modal-header{
    padding: 12px 24px;
    justify-content: space-between;
}
.modal-body{
    padding: 24px;
    overflow-y: auto;
}
@media (min-width: 1400px) {
    .modal-2xl {
        --bs-modal-width: 1540px;
    }
}

.modal-2xl .modal-dialog{
    height: 100%;
}





.form-select{
	cursor: pointer;
}
button:disabled{
	cursor: not-allowed !important;
    opacity: 0.1 !important;

}
.btn-secondary{
	--bs-btn-color: rgb(31,31,31);
    --bs-btn-bg: rgba(31,31,31,0.1);
    --bs-btn-border-color: none;
	--bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgba(31,31,31,0.3);
    --bs-btn-hover-border-color: none;
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgba(31,31,31,0.3);
    --bs-btn-active-border-color: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: rgba(31,31,31,0.1);
    --bs-btn-disabled-border-color: rgba(31,31,31,0.1);
}
.btn-outline-secondary{
	--bs-btn-color: rgb(31,31,31);
    --bs-btn-bg: none;
    --bs-btn-border-color: rgba(31,31,31,0.1);
	--bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgba(31,31,31,0.3);
    --bs-btn-hover-border-color: none;
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgba(31,31,31,0.3);
    --bs-btn-active-border-color: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: rgba(31,31,31,0.1);
    --bs-btn-disabled-border-color: rgba(31,31,31,0.1);
}
.bg-primary, 
.bg-success,
.bg-info{
	--bs-bg-opacity: 0.1;
}
.btn-primary{
	--bs-btn-color: rgba(34,139,230);
    --bs-btn-bg: rgba(34,139,230,0.1);
    --bs-btn-border-color: none;
	--bs-btn-hover-color: rgba(34,139,230);
    --bs-btn-hover-bg: rgba(34,139,230,0.3);
    --bs-btn-hover-border-color: none;
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-color: rgba(34,139,230);
    --bs-btn-active-bg: rgba(34,139,230,0.3);
    --bs-btn-active-border-color: none;
}
.btn-sm{
	font-size: 12px;
	padding: 0px 8px;
	height: 22px;
}

.btn-no-border{
    border: 0px;
}
.btn-rt{
    position: absolute; right: 12px; top: 12px; z-index: 1;
}
.btn-width{
    min-width: 120px;
}
.btn-circle{
    border-radius: 50%;
}
.btn-circle{
    border-radius: 50%;
}
.btn-icon{
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1 / 1;
/*    font-size: 16px;*/
/*    width: 2rem;*/
/*    height: 24px;*/
/*    padding: 0px;*/
}
.btn-icon.btn-lg{
    width: 40px;
    height: 40px;
}
.btn-lg svg{
    width: 16px;
    height: 16px;
}











/* Customize */
.hide, .hidden{
	display: none !important;
}
.w-100{
	width: 100% !important;
}
.w-auto{
	width: auto !important;
}
.h-100{
	height: 100% !important;
}
.m-tooltip{
	cursor: pointer;
}
.flex{
	display: flex;
}
.flex-column{
	flex-direction: column;
}
.flex-row{
	flex-direction: row;
}
.flex1{
    flex: 1;
}
.flex2{
    flex: 2;
}
.space-between{
	justify-content: space-between;
}
.center-v{
	align-items: center;
	vertical-align: middle;
}
.flex-wrap{
	flex-wrap: wrap;
}
.flex-nowrap{
	flex-wrap: nowrap;
}
.form-group label{
	font-weight: bold;
}
.bold{
	font-weight: bold;
}
.no-border{
	border: none;
}
.border{
    border: 1px solid #B0B0B0;
}

.link{
	user-select: none;
    color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
    text-decoration: none;
    cursor: pointer;
} 
.link:hover{
    --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

.btn-transparent:hover{
    background-color: lightgray;
}

.btn-expand-text:hover span {
  max-width: 400px; /* 넉넉한 너비 지정 */
  opacity: 1;
  margin-left: 8px;
}

.btn-as-link {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: blue;
  text-decoration: underline;
  cursor: pointer;
}






.wrapper-table-fix-head{
    overflow: auto;
    position: relative;
}
.table-fix-head          { overflow: auto; min-height: 0px; }
.table-fix-head th, .table-fix-head td{
    border-width: 2px;
}
.table-fix-head thead th { 
    position: sticky; top: 0; z-index: 2; 
    background: gray;
}
.table-fix-head thead th:first-child { 
    position: stickey; top: 0; left: 0; z-index: 3; 
}
.table-fix-head tbody th { 
    position: sticky; left: 0; z-index: 1; 
    background: gray;
}
