.cursor-pointer {
    cursor: pointer;
}

/* fixed-top GNB를 위한 바디 패딩 추가 */
body {
    padding-top: 70px;
}

/* 다크 테마일 때 Font Awesome 아이콘 색상을 밝게 만듭니다. */
[data-bs-theme="dark"] .fas,
[data-bs-theme="dark"] .fa-solid { /* 최신 FontAwesome(v6) 클래스명 대응 */
    color: var(--bs-secondary-color); /* 너무 밝지 않은 회색톤으로 설정 */
}

/* 링크나 버튼 안의 아이콘에 마우스를 올렸을 때 색상 변경 */
[data-bs-theme="dark"] a:hover .fas,
[data-bs-theme="dark"] a:hover .fa-solid {
    color: var(--bs-light);
}

/* number filed 스핀 콘트롤 숨김 */
/* Chrome, Safari, Edge, Opera 등 WebKit 기반 브라우저 */
input::-webkit-outer-spin-button,
        input::-webkit-inner-spin-button {
          -webkit-appearance: none;
          margin: 0;
        }

/* Firefox 브라우저 */
input[type=number] {
  -moz-appearance: textfield;
}

/* 그리드 시스템 확장을 위한 커스텀 클래스 */
.col-md-0-5 {
    flex: 0 0 auto;
    width: 4.16666667%;
}
.col-md-3-5 {
    flex: 0 0 auto;
    width: 29.16666667%;
}

/* select 자체 스타일 */
.form-select {
  border-radius: .25rem !important;
  background-color: var(--bs-body-bg) !important;
}

/* dropdown 내 option */
.form-select option {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color);
}

/* focus 시 highlight 유지 */
.form-select:focus {
  box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
}

/* Select2 Bootstrap 5 Theme Dark Support */
.select2-container--bootstrap-5.select2-container--focus .select2-selection,
.select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.select2-container--bootstrap-5 .select2-selection {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color);
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: var(--bs-body-color);
    line-height: 1.5;
}

.select2-container--bootstrap-5 .select2-dropdown {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5);
}

.select2-container--bootstrap-5 .select2-dropdown .select2-results__option {
    color: var(--bs-body-color);
    padding: 8px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* 계정 레벨별 들여쓰기 스타일 - Select2 템플릿 내에서 직접 padding-left를 부여하므로 주석 처리 */
/* .select2-results__option[data-level="1"] { font-weight: bold; } */
/* .select2-results__option[data-level="2"] { padding-left: 20px !important; } */
/* .select2-results__option[data-level="3"] { padding-left: 40px !important; } */

.select2-container--bootstrap-5 .select2-dropdown .select2-results__option--highlighted {
    background-color: var(--bs-primary);
    color: #fff !important;
}

.select2-container--bootstrap-5 .select2-search__field {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

/* 선택된 상태의 텍스트 가독성 개선 */
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: var(--bs-emphasis-color) !important;
}

.transaction-amount-input {
    text-align: right !important;
}

/* Chrome, Safari, Edge, Opera 등 WebKit 기반 브라우저 */
input.transaction-amount-input::-webkit-outer-spin-button,
input.transaction-amount-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox 브라우저 */
input.transaction-amount-input[type=number] {
  -moz-appearance: textfield;
}

.select2-container--bootstrap-5 .select2-dropdown .select2-results > .select2-results__options {
    max-height: 400px;
    overflow-y: auto;
}

.select2-container--bootstrap-5 .select2-selection--single {
    height: auto !important;
    min-height: 38px !important;
    display: flex !important;
    flex-direction: row !important; /* x와 텍스트를 한 줄에 배치 */
    align-items: center !important;
    flex-wrap: nowrap !important; /* 줄바꿈 방지 */
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.5 !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    flex: 1 !important; /* 남은 공간 차지 */
    display: inline-block !important;
}

/* Clear 버튼 스타일 조정 */
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__clear {
    margin-right: 5px !important;
    padding: 0 5px !important;
    flex-shrink: 0 !important; /* x 버튼 크기 고정 */
    display: inline-flex !important;
    align-items: center !important;
}

/* 플레이스홀더 색상 */
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder {
    color: var(--bs-secondary-color);
}

/* 네비게이션 드롭다운 아이템 스타일 수정 */
.dropdown-menu {
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.dropdown-item.active, .dropdown-item:active {
    background-color: var(--bs-primary);
    color: #fff;
}

.dropdown-item {
    transition: background-color 0.2s;
}

/* Bootstrap Datepicker Dark Mode Fixes */
.datepicker {
    background-color: #212529 !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.datepicker table tr td.day:hover,
.datepicker table tr td.day.focused {
    background: #343a40 !important;
    cursor: pointer;
}

.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover,
.datepicker tfoot tr th:hover {
    background: #343a40 !important;
}

/* Month and Year view hover */
.datepicker table tr td span:hover {
    background: #343a40 !important;
}

/* Active/Selected state */
.datepicker table tr td.active.active,
.datepicker table tr td.active.highlighted.active,
.datepicker table tr td.active.active:hover,
.datepicker table tr td span.active.active {
    background-color: var(--bs-primary) !important;
    background-image: none !important;
    color: #fff !important;
}

/* Text color visibility on hover for months/years */
.datepicker table tr td span.month:hover,
.datepicker table tr td span.year:hover {
    color: #fff !important;
}

/* Old/New dates text color */
.datepicker table tr td.old,
.datepicker table tr td.new {
    color: #6c757d !important;
}