/* === FCMS 커스텀 테마 === */
/* 모든 커스텀 테마는 Dark 기반. Materio dark가 body/card 배경 처리. */

/* =============================================================================
   Ocean 테마 (Dark 기반 + 블루 팔레트)
   ============================================================================= */
[data-fcms-theme="ocean"] {
    /* 부트스트랩 전체 색상 */
    --bs-primary: #3498db;
    --bs-primary-rgb: 52, 152, 219;
    --bs-secondary: #5d6d7e;
    --bs-secondary-rgb: 93, 109, 126;
    --bs-success: #1abc9c;
    --bs-success-rgb: 26, 188, 156;
    --bs-danger: #e74c3c;
    --bs-danger-rgb: 231, 76, 60;
    --bs-warning: #f39c12;
    --bs-warning-rgb: 243, 156, 18;
    --bs-info: #85c1e9;
    --bs-info-rgb: 133, 193, 233;
    --bs-link-color: #5dade2;
    --bs-link-hover-color: #3498db;
    --bs-heading-color: #5dade2;
}
/* 메뉴바 */
[data-fcms-theme="ocean"] .bg-menu-theme {
    background-color: #0b2942 !important;
    color: #d5e8f0 !important;
}
[data-fcms-theme="ocean"] .bg-menu-theme .menu-link,
[data-fcms-theme="ocean"] .bg-menu-theme .menu-horizontal-prev,
[data-fcms-theme="ocean"] .bg-menu-theme .menu-horizontal-next {
    color: #85c1e9 !important;
}
[data-fcms-theme="ocean"] .bg-menu-theme .menu-link:hover,
[data-fcms-theme="ocean"] .bg-menu-theme .menu-link:focus,
[data-fcms-theme="ocean"] .bg-menu-theme .menu-link.active {
    color: #ffffff !important;
}
[data-fcms-theme="ocean"] .bg-menu-theme .menu-toggle::after {
    color: #85c1e9 !important;
}
[data-fcms-theme="ocean"] .bg-menu-theme .menu-sub {
    background-color: #0b2942 !important;
}
[data-fcms-theme="ocean"] .menu-horizontal .menu-inner > .menu-item.open .menu-sub {
    box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.4);
}
/* 네비게이션 바 */
[data-fcms-theme="ocean"] .bg-navbar-theme {
    background-color: #0e1f33 !important;
    border-bottom: 1px solid #1a3a5c;
}
[data-fcms-theme="ocean"] .bg-navbar-theme .navbar-nav .nav-link,
[data-fcms-theme="ocean"] .bg-navbar-theme .dropdown-toggle {
    color: #85c1e9 !important;
}
/* 푸터 */
[data-fcms-theme="ocean"] .bg-footer-theme {
    background-color: #0e1f33 !important;
    border-top: 1px solid #1a3a5c;
    color: #85c1e9;
}
/* --- 버튼 --- */
[data-fcms-theme="ocean"] .btn-primary {
    background-color: #2980b9 !important;
    border-color: #2980b9 !important;
    color: #fff !important;
}
[data-fcms-theme="ocean"] .btn-primary:hover,
[data-fcms-theme="ocean"] .btn-primary:focus {
    background-color: #1a6fa0 !important;
    border-color: #1a6fa0 !important;
}
[data-fcms-theme="ocean"] .btn-secondary {
    background-color: #5d6d7e !important;
    border-color: #5d6d7e !important;
    color: #fff !important;
}
[data-fcms-theme="ocean"] .btn-secondary:hover,
[data-fcms-theme="ocean"] .btn-secondary:focus {
    background-color: #4a5768 !important;
    border-color: #4a5768 !important;
}
[data-fcms-theme="ocean"] .btn-success {
    background-color: #1abc9c !important;
    border-color: #1abc9c !important;
    color: #fff !important;
}
[data-fcms-theme="ocean"] .btn-success:hover,
[data-fcms-theme="ocean"] .btn-success:focus {
    background-color: #16a085 !important;
    border-color: #16a085 !important;
}
[data-fcms-theme="ocean"] .btn-danger {
    background-color: #e74c3c !important;
    border-color: #e74c3c !important;
    color: #fff !important;
}
[data-fcms-theme="ocean"] .btn-danger:hover,
[data-fcms-theme="ocean"] .btn-danger:focus {
    background-color: #c0392b !important;
    border-color: #c0392b !important;
}
[data-fcms-theme="ocean"] .btn-warning {
    background-color: #f39c12 !important;
    border-color: #f39c12 !important;
    color: #fff !important;
}
[data-fcms-theme="ocean"] .btn-warning:hover,
[data-fcms-theme="ocean"] .btn-warning:focus {
    background-color: #d68910 !important;
    border-color: #d68910 !important;
}
[data-fcms-theme="ocean"] .btn-info {
    background-color: #5dade2 !important;
    border-color: #5dade2 !important;
    color: #fff !important;
}
[data-fcms-theme="ocean"] .btn-info:hover,
[data-fcms-theme="ocean"] .btn-info:focus {
    background-color: #3498db !important;
    border-color: #3498db !important;
}
/* outline 버튼 */
[data-fcms-theme="ocean"] .btn-outline-primary {
    color: #3498db !important;
    border-color: #3498db !important;
}
[data-fcms-theme="ocean"] .btn-outline-primary:hover {
    background-color: #3498db !important;
    color: #fff !important;
}
/* label 버튼 */
[data-fcms-theme="ocean"] .btn-label-primary {
    background-color: rgba(52, 152, 219, 0.16) !important;
    color: #3498db !important;
    border-color: transparent !important;
}
/* --- 텍스트 색상 --- */
[data-fcms-theme="ocean"] .text-primary { color: #5dade2 !important; }
[data-fcms-theme="ocean"] .text-secondary { color: #85929e !important; }
[data-fcms-theme="ocean"] .text-success { color: #1abc9c !important; }
[data-fcms-theme="ocean"] .text-danger { color: #e74c3c !important; }
[data-fcms-theme="ocean"] .text-warning { color: #f39c12 !important; }
[data-fcms-theme="ocean"] .text-info { color: #85c1e9 !important; }
/* --- 배경 색상 --- */
[data-fcms-theme="ocean"] .bg-primary { background-color: #3498db !important; }
[data-fcms-theme="ocean"] .bg-secondary { background-color: #5d6d7e !important; }
[data-fcms-theme="ocean"] .bg-success { background-color: #1abc9c !important; }
[data-fcms-theme="ocean"] .bg-danger { background-color: #e74c3c !important; }
[data-fcms-theme="ocean"] .bg-warning { background-color: #f39c12 !important; }
[data-fcms-theme="ocean"] .bg-info { background-color: #5dade2 !important; }
[data-fcms-theme="ocean"] .bg-label-primary { background-color: rgba(52, 152, 219, 0.16) !important; color: #3498db !important; }
[data-fcms-theme="ocean"] .bg-label-secondary { background-color: rgba(93, 109, 126, 0.16) !important; color: #85929e !important; }
[data-fcms-theme="ocean"] .bg-label-success { background-color: rgba(26, 188, 156, 0.16) !important; color: #1abc9c !important; }
[data-fcms-theme="ocean"] .bg-label-danger { background-color: rgba(231, 76, 60, 0.16) !important; color: #e74c3c !important; }
[data-fcms-theme="ocean"] .bg-label-warning { background-color: rgba(243, 156, 18, 0.16) !important; color: #f39c12 !important; }
[data-fcms-theme="ocean"] .bg-label-info { background-color: rgba(133, 193, 233, 0.16) !important; color: #85c1e9 !important; }
/* --- Badge --- */
[data-fcms-theme="ocean"] .badge.bg-primary { background-color: #3498db !important; }
[data-fcms-theme="ocean"] .badge.bg-secondary { background-color: #5d6d7e !important; }
[data-fcms-theme="ocean"] .badge.bg-success { background-color: #1abc9c !important; }
[data-fcms-theme="ocean"] .badge.bg-danger { background-color: #e74c3c !important; }
[data-fcms-theme="ocean"] .badge.bg-warning { background-color: #f39c12 !important; }
[data-fcms-theme="ocean"] .badge.bg-info { background-color: #5dade2 !important; }
/* --- Pagination --- */
[data-fcms-theme="ocean"] .page-item.active .page-link {
    background-color: #3498db !important;
    border-color: #3498db !important;
}
/* --- Form --- */
[data-fcms-theme="ocean"] .form-control:focus,
[data-fcms-theme="ocean"] .form-select:focus {
    border-color: #3498db !important;
    box-shadow: 0 0 0 0.25rem rgba(52, 152, 219, 0.25) !important;
}
[data-fcms-theme="ocean"] .form-check-input:checked {
    background-color: #3498db !important;
    border-color: #3498db !important;
}
/* --- Nav pills / tabs --- */
[data-fcms-theme="ocean"] .nav-pills .nav-link.active {
    background-color: #3498db !important;
}
[data-fcms-theme="ocean"] .nav-tabs .nav-link.active {
    color: #3498db !important;
}
/* --- Progress --- */
[data-fcms-theme="ocean"] .progress-bar {
    background-color: #3498db !important;
}
/* --- Alert --- */
[data-fcms-theme="ocean"] .alert-primary {
    background-color: rgba(52, 152, 219, 0.15) !important;
    color: #5dade2 !important;
    border-color: rgba(52, 152, 219, 0.3) !important;
}

/* =============================================================================
   Forest 테마 (Dark 기반 + 그린 팔레트)
   ============================================================================= */
[data-fcms-theme="forest"] {
    --bs-primary: #27ae60;
    --bs-primary-rgb: 39, 174, 96;
    --bs-secondary: #7f8c8d;
    --bs-secondary-rgb: 127, 140, 141;
    --bs-success: #2ecc71;
    --bs-success-rgb: 46, 204, 113;
    --bs-danger: #c0392b;
    --bs-danger-rgb: 192, 57, 43;
    --bs-warning: #f1c40f;
    --bs-warning-rgb: 241, 196, 15;
    --bs-info: #16a085;
    --bs-info-rgb: 22, 160, 133;
    --bs-link-color: #2ecc71;
    --bs-link-hover-color: #27ae60;
    --bs-heading-color: #2ecc71;
}
/* 메뉴바 */
[data-fcms-theme="forest"] .bg-menu-theme {
    background-color: #14392a !important;
    color: #c8e6c9 !important;
}
[data-fcms-theme="forest"] .bg-menu-theme .menu-link,
[data-fcms-theme="forest"] .bg-menu-theme .menu-horizontal-prev,
[data-fcms-theme="forest"] .bg-menu-theme .menu-horizontal-next {
    color: #a5d6a7 !important;
}
[data-fcms-theme="forest"] .bg-menu-theme .menu-link:hover,
[data-fcms-theme="forest"] .bg-menu-theme .menu-link:focus,
[data-fcms-theme="forest"] .bg-menu-theme .menu-link.active {
    color: #ffffff !important;
}
[data-fcms-theme="forest"] .bg-menu-theme .menu-toggle::after {
    color: #a5d6a7 !important;
}
[data-fcms-theme="forest"] .bg-menu-theme .menu-sub {
    background-color: #14392a !important;
}
[data-fcms-theme="forest"] .menu-horizontal .menu-inner > .menu-item.open .menu-sub {
    box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.4);
}
/* 네비게이션 바 */
[data-fcms-theme="forest"] .bg-navbar-theme {
    background-color: #1a2e1a !important;
    border-bottom: 1px solid #2d4a2d;
}
[data-fcms-theme="forest"] .bg-navbar-theme .navbar-nav .nav-link,
[data-fcms-theme="forest"] .bg-navbar-theme .dropdown-toggle {
    color: #a5d6a7 !important;
}
/* 푸터 */
[data-fcms-theme="forest"] .bg-footer-theme {
    background-color: #1a2e1a !important;
    border-top: 1px solid #2d4a2d;
    color: #a5d6a7;
}
/* --- 버튼 --- */
[data-fcms-theme="forest"] .btn-primary {
    background-color: #27ae60 !important;
    border-color: #27ae60 !important;
    color: #fff !important;
}
[data-fcms-theme="forest"] .btn-primary:hover,
[data-fcms-theme="forest"] .btn-primary:focus {
    background-color: #1e8449 !important;
    border-color: #1e8449 !important;
}
[data-fcms-theme="forest"] .btn-secondary {
    background-color: #7f8c8d !important;
    border-color: #7f8c8d !important;
    color: #fff !important;
}
[data-fcms-theme="forest"] .btn-secondary:hover,
[data-fcms-theme="forest"] .btn-secondary:focus {
    background-color: #6c7a7b !important;
    border-color: #6c7a7b !important;
}
[data-fcms-theme="forest"] .btn-success {
    background-color: #2ecc71 !important;
    border-color: #2ecc71 !important;
    color: #fff !important;
}
[data-fcms-theme="forest"] .btn-success:hover,
[data-fcms-theme="forest"] .btn-success:focus {
    background-color: #27ae60 !important;
    border-color: #27ae60 !important;
}
[data-fcms-theme="forest"] .btn-danger {
    background-color: #c0392b !important;
    border-color: #c0392b !important;
    color: #fff !important;
}
[data-fcms-theme="forest"] .btn-danger:hover,
[data-fcms-theme="forest"] .btn-danger:focus {
    background-color: #a93226 !important;
    border-color: #a93226 !important;
}
[data-fcms-theme="forest"] .btn-warning {
    background-color: #f1c40f !important;
    border-color: #f1c40f !important;
    color: #fff !important;
}
[data-fcms-theme="forest"] .btn-warning:hover,
[data-fcms-theme="forest"] .btn-warning:focus {
    background-color: #d4ac0d !important;
    border-color: #d4ac0d !important;
}
[data-fcms-theme="forest"] .btn-info {
    background-color: #16a085 !important;
    border-color: #16a085 !important;
    color: #fff !important;
}
[data-fcms-theme="forest"] .btn-info:hover,
[data-fcms-theme="forest"] .btn-info:focus {
    background-color: #138d75 !important;
    border-color: #138d75 !important;
}
/* outline 버튼 */
[data-fcms-theme="forest"] .btn-outline-primary {
    color: #27ae60 !important;
    border-color: #27ae60 !important;
}
[data-fcms-theme="forest"] .btn-outline-primary:hover {
    background-color: #27ae60 !important;
    color: #fff !important;
}
/* label 버튼 */
[data-fcms-theme="forest"] .btn-label-primary {
    background-color: rgba(39, 174, 96, 0.16) !important;
    color: #27ae60 !important;
    border-color: transparent !important;
}
/* --- 텍스트 색상 --- */
[data-fcms-theme="forest"] .text-primary { color: #2ecc71 !important; }
[data-fcms-theme="forest"] .text-secondary { color: #95a5a6 !important; }
[data-fcms-theme="forest"] .text-success { color: #2ecc71 !important; }
[data-fcms-theme="forest"] .text-danger { color: #e74c3c !important; }
[data-fcms-theme="forest"] .text-warning { color: #f1c40f !important; }
[data-fcms-theme="forest"] .text-info { color: #1abc9c !important; }
/* --- 배경 색상 --- */
[data-fcms-theme="forest"] .bg-primary { background-color: #27ae60 !important; }
[data-fcms-theme="forest"] .bg-secondary { background-color: #7f8c8d !important; }
[data-fcms-theme="forest"] .bg-success { background-color: #2ecc71 !important; }
[data-fcms-theme="forest"] .bg-danger { background-color: #c0392b !important; }
[data-fcms-theme="forest"] .bg-warning { background-color: #f1c40f !important; }
[data-fcms-theme="forest"] .bg-info { background-color: #16a085 !important; }
[data-fcms-theme="forest"] .bg-label-primary { background-color: rgba(39, 174, 96, 0.16) !important; color: #2ecc71 !important; }
[data-fcms-theme="forest"] .bg-label-secondary { background-color: rgba(127, 140, 141, 0.16) !important; color: #95a5a6 !important; }
[data-fcms-theme="forest"] .bg-label-success { background-color: rgba(46, 204, 113, 0.16) !important; color: #2ecc71 !important; }
[data-fcms-theme="forest"] .bg-label-danger { background-color: rgba(192, 57, 43, 0.16) !important; color: #e74c3c !important; }
[data-fcms-theme="forest"] .bg-label-warning { background-color: rgba(241, 196, 15, 0.16) !important; color: #f1c40f !important; }
[data-fcms-theme="forest"] .bg-label-info { background-color: rgba(22, 160, 133, 0.16) !important; color: #1abc9c !important; }
/* --- Badge --- */
[data-fcms-theme="forest"] .badge.bg-primary { background-color: #27ae60 !important; }
[data-fcms-theme="forest"] .badge.bg-secondary { background-color: #7f8c8d !important; }
[data-fcms-theme="forest"] .badge.bg-success { background-color: #2ecc71 !important; }
[data-fcms-theme="forest"] .badge.bg-danger { background-color: #c0392b !important; }
[data-fcms-theme="forest"] .badge.bg-warning { background-color: #f1c40f !important; }
[data-fcms-theme="forest"] .badge.bg-info { background-color: #16a085 !important; }
/* --- Pagination --- */
[data-fcms-theme="forest"] .page-item.active .page-link {
    background-color: #27ae60 !important;
    border-color: #27ae60 !important;
}
/* --- Form --- */
[data-fcms-theme="forest"] .form-control:focus,
[data-fcms-theme="forest"] .form-select:focus {
    border-color: #27ae60 !important;
    box-shadow: 0 0 0 0.25rem rgba(39, 174, 96, 0.25) !important;
}
[data-fcms-theme="forest"] .form-check-input:checked {
    background-color: #27ae60 !important;
    border-color: #27ae60 !important;
}
/* --- Nav pills / tabs --- */
[data-fcms-theme="forest"] .nav-pills .nav-link.active {
    background-color: #27ae60 !important;
}
[data-fcms-theme="forest"] .nav-tabs .nav-link.active {
    color: #27ae60 !important;
}
/* --- Progress --- */
[data-fcms-theme="forest"] .progress-bar {
    background-color: #27ae60 !important;
}
/* --- Alert --- */
[data-fcms-theme="forest"] .alert-primary {
    background-color: rgba(39, 174, 96, 0.15) !important;
    color: #2ecc71 !important;
    border-color: rgba(39, 174, 96, 0.3) !important;
}

/* =============================================================================
   Sunset 테마 (Dark 기반 + 웜 오렌지 팔레트)
   ============================================================================= */
[data-fcms-theme="sunset"] {
    --bs-primary: #e67e22;
    --bs-primary-rgb: 230, 126, 34;
    --bs-secondary: #8e6e53;
    --bs-secondary-rgb: 142, 110, 83;
    --bs-success: #27ae60;
    --bs-success-rgb: 39, 174, 96;
    --bs-danger: #c0392b;
    --bs-danger-rgb: 192, 57, 43;
    --bs-warning: #f39c12;
    --bs-warning-rgb: 243, 156, 18;
    --bs-info: #d4a76a;
    --bs-info-rgb: 212, 167, 106;
    --bs-link-color: #f39c12;
    --bs-link-hover-color: #e67e22;
    --bs-heading-color: #f39c12;
}
/* 메뉴바 */
[data-fcms-theme="sunset"] .bg-menu-theme {
    background-color: #3d1e08 !important;
    color: #f5d5c8 !important;
}
[data-fcms-theme="sunset"] .bg-menu-theme .menu-link,
[data-fcms-theme="sunset"] .bg-menu-theme .menu-horizontal-prev,
[data-fcms-theme="sunset"] .bg-menu-theme .menu-horizontal-next {
    color: #f0c0a0 !important;
}
[data-fcms-theme="sunset"] .bg-menu-theme .menu-link:hover,
[data-fcms-theme="sunset"] .bg-menu-theme .menu-link:focus,
[data-fcms-theme="sunset"] .bg-menu-theme .menu-link.active {
    color: #ffffff !important;
}
[data-fcms-theme="sunset"] .bg-menu-theme .menu-toggle::after {
    color: #f0c0a0 !important;
}
[data-fcms-theme="sunset"] .bg-menu-theme .menu-sub {
    background-color: #3d1e08 !important;
}
[data-fcms-theme="sunset"] .menu-horizontal .menu-inner > .menu-item.open .menu-sub {
    box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.4);
}
/* 네비게이션 바 */
[data-fcms-theme="sunset"] .bg-navbar-theme {
    background-color: #2d1a0e !important;
    border-bottom: 1px solid #4a2e18;
}
[data-fcms-theme="sunset"] .bg-navbar-theme .navbar-nav .nav-link,
[data-fcms-theme="sunset"] .bg-navbar-theme .dropdown-toggle {
    color: #f0c0a0 !important;
}
/* 푸터 */
[data-fcms-theme="sunset"] .bg-footer-theme {
    background-color: #2d1a0e !important;
    border-top: 1px solid #4a2e18;
    color: #f0c0a0;
}
/* --- 버튼 --- */
[data-fcms-theme="sunset"] .btn-primary {
    background-color: #e67e22 !important;
    border-color: #e67e22 !important;
    color: #fff !important;
}
[data-fcms-theme="sunset"] .btn-primary:hover,
[data-fcms-theme="sunset"] .btn-primary:focus {
    background-color: #d35400 !important;
    border-color: #d35400 !important;
}
[data-fcms-theme="sunset"] .btn-secondary {
    background-color: #8e6e53 !important;
    border-color: #8e6e53 !important;
    color: #fff !important;
}
[data-fcms-theme="sunset"] .btn-secondary:hover,
[data-fcms-theme="sunset"] .btn-secondary:focus {
    background-color: #795d45 !important;
    border-color: #795d45 !important;
}
[data-fcms-theme="sunset"] .btn-success {
    background-color: #27ae60 !important;
    border-color: #27ae60 !important;
    color: #fff !important;
}
[data-fcms-theme="sunset"] .btn-success:hover,
[data-fcms-theme="sunset"] .btn-success:focus {
    background-color: #1e8449 !important;
    border-color: #1e8449 !important;
}
[data-fcms-theme="sunset"] .btn-danger {
    background-color: #c0392b !important;
    border-color: #c0392b !important;
    color: #fff !important;
}
[data-fcms-theme="sunset"] .btn-danger:hover,
[data-fcms-theme="sunset"] .btn-danger:focus {
    background-color: #a93226 !important;
    border-color: #a93226 !important;
}
[data-fcms-theme="sunset"] .btn-warning {
    background-color: #f39c12 !important;
    border-color: #f39c12 !important;
    color: #fff !important;
}
[data-fcms-theme="sunset"] .btn-warning:hover,
[data-fcms-theme="sunset"] .btn-warning:focus {
    background-color: #d68910 !important;
    border-color: #d68910 !important;
}
[data-fcms-theme="sunset"] .btn-info {
    background-color: #d4a76a !important;
    border-color: #d4a76a !important;
    color: #fff !important;
}
[data-fcms-theme="sunset"] .btn-info:hover,
[data-fcms-theme="sunset"] .btn-info:focus {
    background-color: #c49a5a !important;
    border-color: #c49a5a !important;
}
/* outline 버튼 */
[data-fcms-theme="sunset"] .btn-outline-primary {
    color: #e67e22 !important;
    border-color: #e67e22 !important;
}
[data-fcms-theme="sunset"] .btn-outline-primary:hover {
    background-color: #e67e22 !important;
    color: #fff !important;
}
/* label 버튼 */
[data-fcms-theme="sunset"] .btn-label-primary {
    background-color: rgba(230, 126, 34, 0.16) !important;
    color: #e67e22 !important;
    border-color: transparent !important;
}
/* --- 텍스트 색상 --- */
[data-fcms-theme="sunset"] .text-primary { color: #f39c12 !important; }
[data-fcms-theme="sunset"] .text-secondary { color: #b8a08a !important; }
[data-fcms-theme="sunset"] .text-success { color: #2ecc71 !important; }
[data-fcms-theme="sunset"] .text-danger { color: #e74c3c !important; }
[data-fcms-theme="sunset"] .text-warning { color: #f39c12 !important; }
[data-fcms-theme="sunset"] .text-info { color: #d4a76a !important; }
/* --- 배경 색상 --- */
[data-fcms-theme="sunset"] .bg-primary { background-color: #e67e22 !important; }
[data-fcms-theme="sunset"] .bg-secondary { background-color: #8e6e53 !important; }
[data-fcms-theme="sunset"] .bg-success { background-color: #27ae60 !important; }
[data-fcms-theme="sunset"] .bg-danger { background-color: #c0392b !important; }
[data-fcms-theme="sunset"] .bg-warning { background-color: #f39c12 !important; }
[data-fcms-theme="sunset"] .bg-info { background-color: #d4a76a !important; }
[data-fcms-theme="sunset"] .bg-label-primary { background-color: rgba(230, 126, 34, 0.16) !important; color: #e67e22 !important; }
[data-fcms-theme="sunset"] .bg-label-secondary { background-color: rgba(142, 110, 83, 0.16) !important; color: #b8a08a !important; }
[data-fcms-theme="sunset"] .bg-label-success { background-color: rgba(39, 174, 96, 0.16) !important; color: #2ecc71 !important; }
[data-fcms-theme="sunset"] .bg-label-danger { background-color: rgba(192, 57, 43, 0.16) !important; color: #e74c3c !important; }
[data-fcms-theme="sunset"] .bg-label-warning { background-color: rgba(243, 156, 18, 0.16) !important; color: #f39c12 !important; }
[data-fcms-theme="sunset"] .bg-label-info { background-color: rgba(212, 167, 106, 0.16) !important; color: #d4a76a !important; }
/* --- Badge --- */
[data-fcms-theme="sunset"] .badge.bg-primary { background-color: #e67e22 !important; }
[data-fcms-theme="sunset"] .badge.bg-secondary { background-color: #8e6e53 !important; }
[data-fcms-theme="sunset"] .badge.bg-success { background-color: #27ae60 !important; }
[data-fcms-theme="sunset"] .badge.bg-danger { background-color: #c0392b !important; }
[data-fcms-theme="sunset"] .badge.bg-warning { background-color: #f39c12 !important; }
[data-fcms-theme="sunset"] .badge.bg-info { background-color: #d4a76a !important; }
/* --- Pagination --- */
[data-fcms-theme="sunset"] .page-item.active .page-link {
    background-color: #e67e22 !important;
    border-color: #e67e22 !important;
}
/* --- Form --- */
[data-fcms-theme="sunset"] .form-control:focus,
[data-fcms-theme="sunset"] .form-select:focus {
    border-color: #e67e22 !important;
    box-shadow: 0 0 0 0.25rem rgba(230, 126, 34, 0.25) !important;
}
[data-fcms-theme="sunset"] .form-check-input:checked {
    background-color: #e67e22 !important;
    border-color: #e67e22 !important;
}
/* --- Nav pills / tabs --- */
[data-fcms-theme="sunset"] .nav-pills .nav-link.active {
    background-color: #e67e22 !important;
}
[data-fcms-theme="sunset"] .nav-tabs .nav-link.active {
    color: #e67e22 !important;
}
/* --- Progress --- */
[data-fcms-theme="sunset"] .progress-bar {
    background-color: #e67e22 !important;
}
/* --- Alert --- */
[data-fcms-theme="sunset"] .alert-primary {
    background-color: rgba(230, 126, 34, 0.15) !important;
    color: #f39c12 !important;
    border-color: rgba(230, 126, 34, 0.3) !important;
}

/* =============================================================================
   Sakura 테마 (Light 기반 + 핑크/벚꽃 팔레트)
   ============================================================================= */
[data-fcms-theme="sakura"] {
    --bs-primary: #d63384;
    --bs-primary-rgb: 214, 51, 132;
    --bs-secondary: #8e6f8e;
    --bs-secondary-rgb: 142, 111, 142;
    --bs-success: #2e7d32;
    --bs-success-rgb: 46, 125, 50;
    --bs-danger: #c62828;
    --bs-danger-rgb: 198, 40, 40;
    --bs-warning: #e65100;
    --bs-warning-rgb: 230, 81, 0;
    --bs-info: #ad1457;
    --bs-info-rgb: 173, 20, 87;
    --bs-link-color: #d63384;
    --bs-link-hover-color: #b02a6f;
    --bs-heading-color: #5e2750;
}
/* 메뉴바 */
[data-fcms-theme="sakura"] .bg-menu-theme {
    background-color: #f8e8f0 !important;
    color: #5e2750 !important;
}
[data-fcms-theme="sakura"] .bg-menu-theme .menu-link,
[data-fcms-theme="sakura"] .bg-menu-theme .menu-horizontal-prev,
[data-fcms-theme="sakura"] .bg-menu-theme .menu-horizontal-next {
    color: #8e4585 !important;
}
[data-fcms-theme="sakura"] .bg-menu-theme .menu-link:hover,
[data-fcms-theme="sakura"] .bg-menu-theme .menu-link:focus,
[data-fcms-theme="sakura"] .bg-menu-theme .menu-link.active {
    color: #d63384 !important;
}
[data-fcms-theme="sakura"] .bg-menu-theme .menu-toggle::after {
    color: #8e4585 !important;
}
[data-fcms-theme="sakura"] .bg-menu-theme .menu-sub {
    background-color: #f8e8f0 !important;
}
[data-fcms-theme="sakura"] .menu-horizontal .menu-inner > .menu-item.open .menu-sub {
    box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.12);
}
/* 네비게이션 바 */
[data-fcms-theme="sakura"] .bg-navbar-theme {
    background-color: #fdf2f8 !important;
    border-bottom: 1px solid #f0c4d8;
}
[data-fcms-theme="sakura"] .bg-navbar-theme .navbar-nav .nav-link,
[data-fcms-theme="sakura"] .bg-navbar-theme .dropdown-toggle {
    color: #8e4585 !important;
}
/* 푸터 */
[data-fcms-theme="sakura"] .bg-footer-theme {
    background-color: #fdf2f8 !important;
    border-top: 1px solid #f0c4d8;
    color: #8e4585;
}
/* --- 버튼 --- */
[data-fcms-theme="sakura"] .btn-primary {
    background-color: #d63384 !important;
    border-color: #d63384 !important;
    color: #fff !important;
}
[data-fcms-theme="sakura"] .btn-primary:hover,
[data-fcms-theme="sakura"] .btn-primary:focus {
    background-color: #b02a6f !important;
    border-color: #b02a6f !important;
}
[data-fcms-theme="sakura"] .btn-secondary {
    background-color: #8e6f8e !important;
    border-color: #8e6f8e !important;
    color: #fff !important;
}
[data-fcms-theme="sakura"] .btn-secondary:hover,
[data-fcms-theme="sakura"] .btn-secondary:focus {
    background-color: #755a75 !important;
    border-color: #755a75 !important;
}
[data-fcms-theme="sakura"] .btn-success {
    background-color: #2e7d32 !important;
    border-color: #2e7d32 !important;
    color: #fff !important;
}
[data-fcms-theme="sakura"] .btn-success:hover,
[data-fcms-theme="sakura"] .btn-success:focus {
    background-color: #256628 !important;
    border-color: #256628 !important;
}
[data-fcms-theme="sakura"] .btn-danger {
    background-color: #c62828 !important;
    border-color: #c62828 !important;
    color: #fff !important;
}
[data-fcms-theme="sakura"] .btn-danger:hover,
[data-fcms-theme="sakura"] .btn-danger:focus {
    background-color: #a12020 !important;
    border-color: #a12020 !important;
}
[data-fcms-theme="sakura"] .btn-warning {
    background-color: #e65100 !important;
    border-color: #e65100 !important;
    color: #fff !important;
}
[data-fcms-theme="sakura"] .btn-warning:hover,
[data-fcms-theme="sakura"] .btn-warning:focus {
    background-color: #bf4400 !important;
    border-color: #bf4400 !important;
}
[data-fcms-theme="sakura"] .btn-info {
    background-color: #ad1457 !important;
    border-color: #ad1457 !important;
    color: #fff !important;
}
[data-fcms-theme="sakura"] .btn-info:hover,
[data-fcms-theme="sakura"] .btn-info:focus {
    background-color: #8c1048 !important;
    border-color: #8c1048 !important;
}
/* outline 버튼 */
[data-fcms-theme="sakura"] .btn-outline-primary {
    color: #d63384 !important;
    border-color: #d63384 !important;
}
[data-fcms-theme="sakura"] .btn-outline-primary:hover {
    background-color: #d63384 !important;
    color: #fff !important;
}
/* label 버튼 */
[data-fcms-theme="sakura"] .btn-label-primary {
    background-color: rgba(214, 51, 132, 0.12) !important;
    color: #d63384 !important;
    border-color: transparent !important;
}
/* --- 텍스트 색상 --- */
[data-fcms-theme="sakura"] .text-primary { color: #d63384 !important; }
[data-fcms-theme="sakura"] .text-secondary { color: #8e6f8e !important; }
[data-fcms-theme="sakura"] .text-success { color: #2e7d32 !important; }
[data-fcms-theme="sakura"] .text-danger { color: #c62828 !important; }
[data-fcms-theme="sakura"] .text-warning { color: #e65100 !important; }
[data-fcms-theme="sakura"] .text-info { color: #ad1457 !important; }
/* --- 배경 색상 --- */
[data-fcms-theme="sakura"] .bg-primary { background-color: #d63384 !important; }
[data-fcms-theme="sakura"] .bg-secondary { background-color: #8e6f8e !important; }
[data-fcms-theme="sakura"] .bg-success { background-color: #2e7d32 !important; }
[data-fcms-theme="sakura"] .bg-danger { background-color: #c62828 !important; }
[data-fcms-theme="sakura"] .bg-warning { background-color: #e65100 !important; }
[data-fcms-theme="sakura"] .bg-info { background-color: #ad1457 !important; }
[data-fcms-theme="sakura"] .bg-label-primary { background-color: rgba(214, 51, 132, 0.12) !important; color: #d63384 !important; }
[data-fcms-theme="sakura"] .bg-label-secondary { background-color: rgba(142, 111, 142, 0.12) !important; color: #8e6f8e !important; }
[data-fcms-theme="sakura"] .bg-label-success { background-color: rgba(46, 125, 50, 0.12) !important; color: #2e7d32 !important; }
[data-fcms-theme="sakura"] .bg-label-danger { background-color: rgba(198, 40, 40, 0.12) !important; color: #c62828 !important; }
[data-fcms-theme="sakura"] .bg-label-warning { background-color: rgba(230, 81, 0, 0.12) !important; color: #e65100 !important; }
[data-fcms-theme="sakura"] .bg-label-info { background-color: rgba(173, 20, 87, 0.12) !important; color: #ad1457 !important; }
/* --- Badge --- */
[data-fcms-theme="sakura"] .badge.bg-primary { background-color: #d63384 !important; }
[data-fcms-theme="sakura"] .badge.bg-secondary { background-color: #8e6f8e !important; }
[data-fcms-theme="sakura"] .badge.bg-success { background-color: #2e7d32 !important; }
[data-fcms-theme="sakura"] .badge.bg-danger { background-color: #c62828 !important; }
[data-fcms-theme="sakura"] .badge.bg-warning { background-color: #e65100 !important; }
[data-fcms-theme="sakura"] .badge.bg-info { background-color: #ad1457 !important; }
/* --- Pagination --- */
[data-fcms-theme="sakura"] .page-item.active .page-link {
    background-color: #d63384 !important;
    border-color: #d63384 !important;
}
/* --- Form --- */
[data-fcms-theme="sakura"] .form-control:focus,
[data-fcms-theme="sakura"] .form-select:focus {
    border-color: #d63384 !important;
    box-shadow: 0 0 0 0.25rem rgba(214, 51, 132, 0.25) !important;
}
[data-fcms-theme="sakura"] .form-check-input:checked {
    background-color: #d63384 !important;
    border-color: #d63384 !important;
}
/* --- Nav pills / tabs --- */
[data-fcms-theme="sakura"] .nav-pills .nav-link.active {
    background-color: #d63384 !important;
}
[data-fcms-theme="sakura"] .nav-tabs .nav-link.active {
    color: #d63384 !important;
}
/* --- Progress --- */
[data-fcms-theme="sakura"] .progress-bar {
    background-color: #d63384 !important;
}
/* --- Alert --- */
[data-fcms-theme="sakura"] .alert-primary {
    background-color: rgba(214, 51, 132, 0.12) !important;
    color: #b02a6f !important;
    border-color: rgba(214, 51, 132, 0.25) !important;
}

/* =============================================================================
   Winter 테마 (Dark 기반 + 서리빛 인디고/라벤더 팔레트)
   Ocean=깊은 바다(파랑), Winter=차가운 겨울밤(보라/인디고)
   ============================================================================= */
[data-fcms-theme="winter"] {
    --bs-primary: #9fa8da;
    --bs-primary-rgb: 159, 168, 218;
    --bs-secondary: #78909c;
    --bs-secondary-rgb: 120, 144, 156;
    --bs-success: #80cbc4;
    --bs-success-rgb: 128, 203, 196;
    --bs-danger: #ef9a9a;
    --bs-danger-rgb: 239, 154, 154;
    --bs-warning: #ffe082;
    --bs-warning-rgb: 255, 224, 130;
    --bs-info: #b39ddb;
    --bs-info-rgb: 179, 157, 219;
    --bs-link-color: #b39ddb;
    --bs-link-hover-color: #9fa8da;
    --bs-heading-color: #c5cae9;
}
/* 메뉴바 */
[data-fcms-theme="winter"] .bg-menu-theme {
    background-color: #1a1a2e !important;
    color: #d1c4e9 !important;
}
[data-fcms-theme="winter"] .bg-menu-theme .menu-link,
[data-fcms-theme="winter"] .bg-menu-theme .menu-horizontal-prev,
[data-fcms-theme="winter"] .bg-menu-theme .menu-horizontal-next {
    color: #b39ddb !important;
}
[data-fcms-theme="winter"] .bg-menu-theme .menu-link:hover,
[data-fcms-theme="winter"] .bg-menu-theme .menu-link:focus,
[data-fcms-theme="winter"] .bg-menu-theme .menu-link.active {
    color: #ffffff !important;
}
[data-fcms-theme="winter"] .bg-menu-theme .menu-toggle::after {
    color: #b39ddb !important;
}
[data-fcms-theme="winter"] .bg-menu-theme .menu-sub {
    background-color: #1a1a2e !important;
}
[data-fcms-theme="winter"] .menu-horizontal .menu-inner > .menu-item.open .menu-sub {
    box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.4);
}
/* 네비게이션 바 */
[data-fcms-theme="winter"] .bg-navbar-theme {
    background-color: #16162a !important;
    border-bottom: 1px solid #2a2a45;
}
[data-fcms-theme="winter"] .bg-navbar-theme .navbar-nav .nav-link,
[data-fcms-theme="winter"] .bg-navbar-theme .dropdown-toggle {
    color: #b39ddb !important;
}
/* 푸터 */
[data-fcms-theme="winter"] .bg-footer-theme {
    background-color: #16162a !important;
    border-top: 1px solid #2a2a45;
    color: #b39ddb;
}
/* --- 버튼 --- */
[data-fcms-theme="winter"] .btn-primary {
    background-color: #7986cb !important;
    border-color: #7986cb !important;
    color: #fff !important;
}
[data-fcms-theme="winter"] .btn-primary:hover,
[data-fcms-theme="winter"] .btn-primary:focus {
    background-color: #5c6bc0 !important;
    border-color: #5c6bc0 !important;
}
[data-fcms-theme="winter"] .btn-secondary {
    background-color: #78909c !important;
    border-color: #78909c !important;
    color: #fff !important;
}
[data-fcms-theme="winter"] .btn-secondary:hover,
[data-fcms-theme="winter"] .btn-secondary:focus {
    background-color: #607d8b !important;
    border-color: #607d8b !important;
}
[data-fcms-theme="winter"] .btn-success {
    background-color: #80cbc4 !important;
    border-color: #80cbc4 !important;
    color: #1a1a2e !important;
}
[data-fcms-theme="winter"] .btn-success:hover,
[data-fcms-theme="winter"] .btn-success:focus {
    background-color: #4db6ac !important;
    border-color: #4db6ac !important;
}
[data-fcms-theme="winter"] .btn-danger {
    background-color: #ef9a9a !important;
    border-color: #ef9a9a !important;
    color: #1a1a2e !important;
}
[data-fcms-theme="winter"] .btn-danger:hover,
[data-fcms-theme="winter"] .btn-danger:focus {
    background-color: #e57373 !important;
    border-color: #e57373 !important;
    color: #fff !important;
}
[data-fcms-theme="winter"] .btn-warning {
    background-color: #ffe082 !important;
    border-color: #ffe082 !important;
    color: #1a1a2e !important;
}
[data-fcms-theme="winter"] .btn-warning:hover,
[data-fcms-theme="winter"] .btn-warning:focus {
    background-color: #ffd54f !important;
    border-color: #ffd54f !important;
}
[data-fcms-theme="winter"] .btn-info {
    background-color: #b39ddb !important;
    border-color: #b39ddb !important;
    color: #1a1a2e !important;
}
[data-fcms-theme="winter"] .btn-info:hover,
[data-fcms-theme="winter"] .btn-info:focus {
    background-color: #9575cd !important;
    border-color: #9575cd !important;
    color: #fff !important;
}
/* outline 버튼 */
[data-fcms-theme="winter"] .btn-outline-primary {
    color: #9fa8da !important;
    border-color: #9fa8da !important;
}
[data-fcms-theme="winter"] .btn-outline-primary:hover {
    background-color: #9fa8da !important;
    color: #1a1a2e !important;
}
/* label 버튼 */
[data-fcms-theme="winter"] .btn-label-primary {
    background-color: rgba(159, 168, 218, 0.16) !important;
    color: #9fa8da !important;
    border-color: transparent !important;
}
/* --- 텍스트 색상 --- */
[data-fcms-theme="winter"] .text-primary { color: #c5cae9 !important; }
[data-fcms-theme="winter"] .text-secondary { color: #b0bec5 !important; }
[data-fcms-theme="winter"] .text-success { color: #80cbc4 !important; }
[data-fcms-theme="winter"] .text-danger { color: #ef9a9a !important; }
[data-fcms-theme="winter"] .text-warning { color: #ffe082 !important; }
[data-fcms-theme="winter"] .text-info { color: #b39ddb !important; }
/* --- 배경 색상 --- */
[data-fcms-theme="winter"] .bg-primary { background-color: #9fa8da !important; }
[data-fcms-theme="winter"] .bg-secondary { background-color: #78909c !important; }
[data-fcms-theme="winter"] .bg-success { background-color: #80cbc4 !important; }
[data-fcms-theme="winter"] .bg-danger { background-color: #ef9a9a !important; }
[data-fcms-theme="winter"] .bg-warning { background-color: #ffe082 !important; }
[data-fcms-theme="winter"] .bg-info { background-color: #b39ddb !important; }
[data-fcms-theme="winter"] .bg-label-primary { background-color: rgba(159, 168, 218, 0.16) !important; color: #c5cae9 !important; }
[data-fcms-theme="winter"] .bg-label-secondary { background-color: rgba(120, 144, 156, 0.16) !important; color: #b0bec5 !important; }
[data-fcms-theme="winter"] .bg-label-success { background-color: rgba(128, 203, 196, 0.16) !important; color: #80cbc4 !important; }
[data-fcms-theme="winter"] .bg-label-danger { background-color: rgba(239, 154, 154, 0.16) !important; color: #ef9a9a !important; }
[data-fcms-theme="winter"] .bg-label-warning { background-color: rgba(255, 224, 130, 0.16) !important; color: #ffe082 !important; }
[data-fcms-theme="winter"] .bg-label-info { background-color: rgba(179, 157, 219, 0.16) !important; color: #b39ddb !important; }
/* --- Badge --- */
[data-fcms-theme="winter"] .badge.bg-primary { background-color: #9fa8da !important; }
[data-fcms-theme="winter"] .badge.bg-secondary { background-color: #78909c !important; }
[data-fcms-theme="winter"] .badge.bg-success { background-color: #80cbc4 !important; }
[data-fcms-theme="winter"] .badge.bg-danger { background-color: #ef9a9a !important; }
[data-fcms-theme="winter"] .badge.bg-warning { background-color: #ffe082 !important; }
[data-fcms-theme="winter"] .badge.bg-info { background-color: #b39ddb !important; }
/* --- Pagination --- */
[data-fcms-theme="winter"] .page-item.active .page-link {
    background-color: #9fa8da !important;
    border-color: #9fa8da !important;
    color: #1a1a2e !important;
}
/* --- Form --- */
[data-fcms-theme="winter"] .form-control:focus,
[data-fcms-theme="winter"] .form-select:focus {
    border-color: #9fa8da !important;
    box-shadow: 0 0 0 0.25rem rgba(159, 168, 218, 0.25) !important;
}
[data-fcms-theme="winter"] .form-check-input:checked {
    background-color: #9fa8da !important;
    border-color: #9fa8da !important;
}
/* --- Nav pills / tabs --- */
[data-fcms-theme="winter"] .nav-pills .nav-link.active {
    background-color: #9fa8da !important;
    color: #1a1a2e !important;
}
[data-fcms-theme="winter"] .nav-tabs .nav-link.active {
    color: #9fa8da !important;
}
/* --- Progress --- */
[data-fcms-theme="winter"] .progress-bar {
    background-color: #9fa8da !important;
}
/* --- Alert --- */
[data-fcms-theme="winter"] .alert-primary {
    background-color: rgba(159, 168, 218, 0.15) !important;
    color: #c5cae9 !important;
    border-color: rgba(159, 168, 218, 0.3) !important;
}
