/* 전체 스타일 */
body {
    background-color: #f8f9fa;
}

/* 네비게이션 바 스타일 */
.navbar {
    box-shadow: 0 2px 4px rgba(0,0,0,.1);
}

/* 카드 스타일 */
.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
    border: none;
    margin-bottom: 1rem;
}

.card-header {
    background-color: #fff;
    border-bottom: 1px solid rgba(0,0,0,.125);
}

/* 테이블 스타일 */
.table th {
    border-top: none;
    background-color: #f8f9fa;
}

.table td {
    vertical-align: middle;
}

/* 버튼 스타일 */
.btn {
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    transition: background-color 0.3s ease;
}

/* 호버 효과 제거 (menu-link 제외 - 메뉴 드롭다운 position 깨짐 방지) */
.btn:hover, a:hover:not(.menu-link), .nav-link:hover, .dropdown-item:hover {
    transform: none !important;
    box-shadow: none !important;
}
a.menu-link:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* 페이지네이션 스타일 */
.pagination {
    margin-bottom: 0;
}

.page-link {
    color: #0d6efd;
    border: 1px solid #dee2e6;
}

.page-link:hover {
    color: #0a58ca;
    background-color: #e9ecef;
    border-color: #dee2e6;
}

.page-item.active .page-link {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

/* 폼 스타일 */
.form-control:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
}

/* === FCMS 유틸리티 클래스 === */

/* 폰트 크기 */
.text-2xs { font-size: 0.7rem; }
.text-xs  { font-size: 0.75rem; }
.text-sm  { font-size: 0.8rem; }
.text-md  { font-size: 0.85rem; }

/* 이미지 */
.img-cover { object-fit: cover; }

/* 커서 */
.cursor-pointer { cursor: pointer; }

/* ===== 다크모드 오버라이드 ===== */
.dark-style body {
    background-color: transparent;
}
.dark-style .card-header {
    background-color: transparent;
    border-bottom: none;
}
.dark-style .btn-light {
    background-color: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.15);
    color: rgba(255,255,255,.8);
}
.dark-style .btn-light:hover {
    background-color: rgba(255,255,255,.2);
    color: #fff;
}
.dark-style .table th {
    background-color: rgba(255,255,255,.05);
}
.dark-style .page-link {
    color: var(--bs-primary, #3D4F7C);
    border-color: rgba(255,255,255,.15);
    background-color: transparent;
}
.dark-style .page-link:hover {
    color: var(--bs-primary, #3D4F7C);
    background-color: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.15);
}
.dark-style .form-control:focus {
    border-color: var(--bs-primary, #3D4F7C);
    box-shadow: 0 0 0 0.25rem rgba(124,110,233,.25);
}

/* 채팅 말풍선 (인라인 스타일 오버라이드) */
.dark-style .chat-bubble-user {
    background-color: #1a4a2e !important;
    color: #e0e0e0 !important;
}
.dark-style .chat-bubble-ai {
    background-color: rgba(255,255,255,.08) !important;
    color: #e0e0e0 !important;
}
.dark-style #chatForm {
    background-color: var(--bs-card-bg, #2b2c40) !important;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.3) !important;
}
.dark-style #fcms_c_req_contents {
    color: inherit !important;
}

/* 칸반 보드 카드 (인라인 스타일 오버라이드) */
.dark-style .board-card-item {
    background: var(--bs-card-bg, #2b2c40) !important;
    border-color: rgba(255,255,255,.1) !important;
}
.dark-style .board-card-item:hover {
    border-color: rgba(255,255,255,.25) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}

/* 프로젝트 아이콘 컨테이너 (인라인 스타일 오버라이드) */
.dark-style .project-icon-container {
    background-color: rgba(255,255,255,.08) !important;
}
.dark-style .project-icon-wrapper {
    border-color: rgba(255,255,255,.2) !important;
}

/* 구분선, 텍스트 색상 다크모드 보정 */
.dark-style [style*="border-bottom: 1px solid #e9ecef"],
.dark-style [style*="border: 1px solid #e9ecef"] {
    border-color: rgba(255,255,255,.1) !important;
}
.dark-style [style*="color: #495057"] {
    color: rgba(255,255,255,.75) !important;
}
.dark-style [style*="color: #6c757d"] {
    color: rgba(255,255,255,.5) !important;
}
.dark-style [style*="color: #ccc"] {
    color: rgba(255,255,255,.3) !important;
}
.dark-style [style*="color: #888"] {
    color: rgba(255,255,255,.45) !important;
}

/* 프로필 사진 컨테이너 */
.dark-style .profile-pic-container {
    background-color: rgba(255,255,255,.08) !important;
}

/* admin 테이블 헤더 (인라인 #0d6efd 배경) */
.dark-style thead[style*="background-color: #0d6efd"] {
    background-color: rgba(var(--bs-primary-rgb),.3) !important;
}
.dark-style thead[style*="background-color: #0d6efd"] th {
    color: rgba(255,255,255,.85) !important;
}
.dark-style td[style*="color: #212529"] {
    color: inherit !important;
}

/* bg-white 다크모드 보정 */
.dark-style .bg-white {
    background-color: var(--bs-card-bg, #2b2c40) !important;
}

/* 기기 대시보드 시간 텍스트 */
.dark-style [style*="color: #667eea"] {
    color: var(--bs-primary, #3D4F7C) !important;
}
