/* 루트 변수 정의 */
:root {
    --primary-color: #206bc4;
    --text-color: #232e3c;
    --background-color: #f5f7fb;
    --menu-bg-color: #f8f9fa;
    --border-color: #e9ecef;
}

/* 기본 스타일 */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* 페이지 구조 최적화 */
.page {
    display: flex;
    flex-direction: column;
    min-height: auto !important;
    position: relative !important;
}

.page-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
    flex: 1;
}

.page-header {
    margin-top: 0.5rem !important;
}

.page-body {
    margin-top: 0.5rem !important;
}

/* 네비게이션 바 스타일 */
.navbar-dark {
    background-color: var(--primary-color) !important;
}

.navbar {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    min-height: auto !important;
}

.navbar-brand {
    font-size: 1.25rem !important;
    margin-right: 0.5rem !important;
    padding: 0.25rem 0 !important;
}

.navbar-expand-md {
    margin-bottom: 0 !important;
}

/* 네비게이션 바 컨테이너 스타일 */
.navbar .container-xl,
.navbar-collapse .navbar .container-xl {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    max-width: 100% !important;
}

.navbar .container-xl {
    background-color: var(--primary-color) !important;
}

.navbar-collapse .navbar .container-xl {
    background-color: var(--menu-bg-color) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

/* 메뉴 항목 스타일 */
.nav-link {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    font-size: 0.95rem !important;
}

.nav-link-icon {
    margin-right: 0.25rem !important;
}

.nav-link-title {
    font-size: 0.95rem !important;
}

/* 사용자 정보 폰트 크기 */
.navbar-nav .dropdown .d-xl-block div {
    font-size: 0.95rem !important;
}

/* 로그 글씨 폰트 크기 */
.log-entry {
    font-size: 0.95rem !important;
}

/* 메뉴 구조 최적화 */
.navbar-collapse {
    height: auto !important;
}

#navbar-menu {
    height: auto !important;
    max-height: none !important;
}

.navbar-collapse .navbar {
    min-height: auto !important;
    padding: 0 !important;
}

/* 디버깅용 스타일 */
.debug-outline .container-xl {
    border: 2px solid green !important;
}

.debug-outline .navbar .container-xl {
    border: 2px solid yellow !important;
}

.debug-outline .navbar-collapse .navbar .container-xl {
    border: 2px solid orange !important;
}

/* 인쇄 스타일 */
@media print {
    .navbar, .footer, .btn-print, .no-print {
        display: none !important;
    }
    .container-xl {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .page-wrapper {
        margin: 0 !important;
        padding: 0 !important;
    }
    .card {
        margin: 0 !important;
        border: none !important;
        box-shadow: none !important;
    }
    .card-body {
        padding: 0 !important;
    }
    body {
        background: #fff !important;
        margin: 0 !important;
        padding: 0 !important;
    }
} 