/* Custom Overrides - 전역 폰트 크기 조정 */

/* 폰트 크기 변수 정의 */
:root {
    --base-font-size: 14px;
    --body-font-size: 0.9rem;
    --component-font-size: 0.8rem;
}

/* 기본 폰트 크기 설정 */
html {
    font-size: var(--base-font-size);
}

body {
    font-size: var(--body-font-size);
}

/* 주요 컴포넌트 폰트 크기 조정 */
.card-body,
.table,
.form-control,
.btn {
    font-size: var(--component-font-size);
}

/* Select Box 폰트 크기 */
select,
select.form-control,
select.form-select {
    font-size: var(--component-font-size);
}

select option {
    font-size: var(--component-font-size);
}

/* 테이블 셀 폰트 크기 */
.table td,
.table th {
    font-size: var(--component-font-size);
}

/* 모달 및 경고창 폰트 크기 */
.modal-body,
.alert {
    font-size: var(--component-font-size);
}

/* 메인 컨텐츠 여백 축소 */
.app-main .app-main__inner {
    padding: 1rem 1rem 0;
}

@media (max-width: 575.98px) {
    .app-main .app-main__inner {
        padding: 0.75rem 0.75rem 0;
    }
}

/* ========================================
   사이드바 크기 조정
   ======================================== */

/* 사이드바 전체 너비 조정: 280px -> 180px */
.app-sidebar {
    width: 180px !important;
    min-width: 180px !important;
    flex: 0 0 180px !important;
}

/* 메인 컨텐츠 영역 왼쪽 여백 조정: 280px -> 180px */
.fixed-sidebar .app-main .app-main__outer {
    padding-left: 180px !important;
}

/* 헤더 왼쪽 여백 조정 */
.fixed-sidebar:not(.fixed-header) .app-header {
    margin-left: 180px !important;
}

/* 푸터 왼쪽 여백 조정 */
.fixed-footer .app-footer .app-footer__inner {
    margin-left: 180px !important;
}

/* 사이드바 내부 여백 조정: 1.5rem -> 0.5rem */
.app-sidebar .app-sidebar__inner {
    padding: 2px 0.5rem 0.5rem !important;
}

/* 닫힌 사이드바 호버 시 너비 */
.closed-sidebar .app-sidebar:hover {
    flex: 0 0 180px !important;
    width: 180px !important;
}

/* 닫힌 사이드바 호버 시 메뉴 아이템 여백 */
.closed-sidebar .app-sidebar:hover .app-sidebar__inner ul li a {
    padding: 0 0.5rem 0 35px !important;
}

.form-control {
    font-size: 0.75rem !important;
    font-family: inherit !important;
    font-weight: 600 !important;
}

#atcl_amt2 {
    font-size: 0.75rem !important;
    font-family: inherit !important;
    font-weight: 600 !important;
}

.input-group-text {
    font-size: 0.75rem !important;
    font-family: inherit !important;
    font-weight: 600 !important;
}

/* Select Box와 Input 높이 통일 */
.form-select,
select.form-control,
select {
    padding: 0.375rem 0.75rem !important;
    height:26px !important;
    line-height: 1.5 !important;
}

/* 모바일 화면 조정 */
@media (max-width: 767.98px) {
    .app-sidebar {
        flex: 0 0 220px !important;
        width: 220px !important;
        transform: translateX(-220px) !important;
    }
    
    .sidebar-mobile-open .app-sidebar {
        transform: translateX(0) !important;
    }
    
    .sidebar-mobile-open .app-sidebar .app-sidebar__inner ul li a {
        padding: 0 0.75rem 0 40px !important;
    }
}

.form-check-input[type="checkbox"],
.form-check-input[type="radio"] {
    border-color: #888 !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

.form-check-input[type="checkbox"]:checked,
.form-check-input[type="radio"]:checked {
    background-color: #007bff !important;
    border-color: #007bff !important;
}

/* ========================================
   메뉴 트리 좌측 여백 조정
   ======================================== */

/* 첫번째 레벨 메뉴 항목 왼쪽 패딩 줄이기: 45px -> 30px */
.vertical-nav-menu li a {
    padding: 0 1rem 0 30px !important;
}

/* 메뉴 아이콘 위치 및 크기 조정 */
.vertical-nav-menu i.metismenu-icon {
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    left: 2px !important;
    font-size: 1.3rem !important;
}

/* 서브 메뉴 들여쓰기 줄이기: 2rem -> 1rem */
.vertical-nav-menu ul {
    padding: 0.5em 0 0 1rem !important;
}

/* 서브 메뉴 왼쪽 라인 위치 조정: left: 20px -> 10px */
.vertical-nav-menu ul:before {
    left: 10px !important;
}

/* 서브 메뉴 항목 패딩 조정 */
.vertical-nav-menu ul > li > a {
    padding: 0 1rem 0 0.5rem !important;
}


