/**
 * 장애인자립생활센터 인트라넷 - 다크모드 스타일시트
 *
 * <html data-theme="dark"> 속성이 설정되면 CSS Variables를 오버라이드하여
 * 전체 UI를 다크모드 색상 체계로 전환한다.
 *
 * @요구사항 1.6, 1.7
 */

[data-theme="dark"] {
    /* Sidebar */
    --sgcil-sidebar-bg: #0f172a;
    --sgcil-sidebar-text: #94a3b8;
    --sgcil-sidebar-active-bg: #1e293b;
    --sgcil-sidebar-active-text: #ffffff;
    --sgcil-sidebar-hover-bg: #1e293b;

    /* Header */
    --sgcil-header-bg: #1e293b;
    --sgcil-header-border: #334155;

    /* Body & Content */
    --sgcil-body-bg: #0f172a;
    --sgcil-content-bg: #1e293b;
    --sgcil-text-primary: #e2e8f0;
    --sgcil-text-secondary: #94a3b8;
    --sgcil-text-muted: #64748b;

    /* Borders & Shadows */
    --sgcil-border-color: #334155;
    --sgcil-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);

    /* Dropdowns */
    --sgcil-dropdown-bg: #1e293b;
    --sgcil-dropdown-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);

    /* Inputs */
    --sgcil-input-bg: #334155;
    --sgcil-input-border: #475569;
    --sgcil-input-focus-border: #3b82f6;

    /* 모듈 공통 별칭 변수 (--sgcil-bg-primary, --sgcil-border 등) */
    --sgcil-bg-primary: #1e293b;
    --sgcil-bg-secondary: #334155;
    --sgcil-bg-tertiary: #475569;
    --sgcil-border: #334155;
}

/* Dark mode: swap moon icon to sun icon */
[data-theme="dark"] .sgcil-darkmode-toggle i.fa::before {
    content: "\f185"; /* fa-sun-o */
}

/* Dark mode: adjust sidebar border opacity */
[data-theme="dark"] .sgcil-sidebar-header {
    border-bottom-color: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .sgcil-sidebar-footer {
    border-top-color: rgba(255, 255, 255, 0.05);
}

/* Dark mode: image brightness adjustment for logos */
[data-theme="dark"] .sgcil-logo img {
    filter: brightness(0.9);
}

/* ============================================
   모듈 공통 다크모드 오버라이드
   ============================================ */

/* 카드 컴포넌트 (모든 모듈에서 공통 사용) */
[data-theme="dark"] [class*="-card"] {
    background: var(--sgcil-content-bg) !important;
    border-color: var(--sgcil-border-color) !important;
}
[data-theme="dark"] [class*="-card-title"] {
    color: var(--sgcil-text-primary) !important;
}

/* 테이블 공통 */
[data-theme="dark"] [class*="-table-wrap"],
[data-theme="dark"] [class*="-table"] {
    background: var(--sgcil-content-bg) !important;
}
[data-theme="dark"] [class*="-table"] thead th {
    background: var(--sgcil-input-bg) !important;
    color: var(--sgcil-text-secondary) !important;
    border-color: var(--sgcil-border-color) !important;
}
[data-theme="dark"] [class*="-table"] tbody td {
    color: var(--sgcil-text-primary) !important;
    border-color: var(--sgcil-border-color) !important;
}
[data-theme="dark"] [class*="-table"] tbody tr:hover {
    background: rgba(59, 130, 246, 0.1) !important;
}

/* 폼 입력 요소 공통 */
[data-theme="dark"] .sgcil-approval-wrap input[type="text"],
[data-theme="dark"] .sgcil-approval-wrap input[type="number"],
[data-theme="dark"] .sgcil-approval-wrap input[type="date"],
[data-theme="dark"] .sgcil-approval-wrap select,
[data-theme="dark"] .sgcil-approval-wrap textarea,
[data-theme="dark"] .sgcil-fm-form input[type="text"],
[data-theme="dark"] .sgcil-fm-form input[type="number"],
[data-theme="dark"] .sgcil-fm-form select,
[data-theme="dark"] .sgcil-fm-form textarea {
    background: var(--sgcil-input-bg) !important;
    color: var(--sgcil-text-primary) !important;
    border-color: var(--sgcil-border-color) !important;
}

/* 빈 상태 메시지 */
[data-theme="dark"] [class*="-empty"] {
    color: var(--sgcil-text-muted) !important;
    background: var(--sgcil-content-bg) !important;
}

/* 뱃지 다크모드 */
[data-theme="dark"] .sgcil-status-badge.pending { background: #1e3a5f !important; color: #60a5fa !important; }
[data-theme="dark"] .sgcil-status-badge.approved { background: #0f2a1f !important; color: #34d399 !important; }
[data-theme="dark"] .sgcil-status-badge.rejected { background: #2a0f0f !important; color: #f87171 !important; }
[data-theme="dark"] .sgcil-status-badge.draft { background: var(--sgcil-input-bg) !important; color: var(--sgcil-text-secondary) !important; }
[data-theme="dark"] .sgcil-type-badge { background: var(--sgcil-input-bg) !important; color: var(--sgcil-text-secondary) !important; }
[data-theme="dark"] .badge-active { background: #0f2a1f !important; color: #34d399 !important; }
[data-theme="dark"] .badge-inactive { background: #2a0f0f !important; color: #f87171 !important; }

/* 버튼 공통 */
[data-theme="dark"] [class*="btn-cancel"],
[data-theme="dark"] [class*="btn-reset"],
[data-theme="dark"] [class*="btn-list"] {
    background: var(--sgcil-input-bg) !important;
    color: var(--sgcil-text-primary) !important;
    border-color: var(--sgcil-border-color) !important;
}

/* 필드 빌더 (양식 관리) */
[data-theme="dark"] .sgcil-field-builder {
    background: var(--sgcil-input-bg) !important;
    border-color: var(--sgcil-border-color) !important;
}
[data-theme="dark"] .sgcil-field-row {
    background: var(--sgcil-content-bg) !important;
    border-color: var(--sgcil-border-color) !important;
}
[data-theme="dark"] .sgcil-field-row input,
[data-theme="dark"] .sgcil-field-row select {
    background: var(--sgcil-input-bg) !important;
    color: var(--sgcil-text-primary) !important;
    border-color: var(--sgcil-border-color) !important;
}

/* details/summary */
[data-theme="dark"] details {
    border-color: var(--sgcil-border-color) !important;
}
[data-theme="dark"] details summary {
    background: var(--sgcil-input-bg) !important;
    color: var(--sgcil-text-primary) !important;
}

/* 탭 */
[data-theme="dark"] [class*="-tabs"] {
    border-bottom-color: var(--sgcil-border-color) !important;
}

/* 알림/결재선 템플릿 등 모듈 공통 */
[data-theme="dark"] [class*="-toolbar"] select,
[data-theme="dark"] [class*="-filter"] input,
[data-theme="dark"] [class*="-filter"] select {
    background: var(--sgcil-input-bg) !important;
    color: var(--sgcil-text-primary) !important;
    border-color: var(--sgcil-border-color) !important;
}


/* 양식 관리 - 변수 삽입 영역 인라인 스타일 오버라이드 */
[data-theme="dark"] .sgcil-fm-wrap [style*="background:#f0f9ff"] { background: var(--sgcil-input-bg) !important; border-color: var(--sgcil-border-color) !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="background:#fffbeb"] { background: var(--sgcil-input-bg) !important; border-color: var(--sgcil-border-color) !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="background:#f8fafc"] { background: var(--sgcil-content-bg) !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="background:#f9fafb"] { background: var(--sgcil-input-bg) !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="color:#0369a1"] { color: var(--sgcil-text-secondary) !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="color:#7c3aed"] { color: #a78bfa !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="color:#475569"] { color: var(--sgcil-text-secondary) !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="background:#e0f2fe"] { background: var(--sgcil-input-bg) !important; color: #93c5fd !important; border-color: var(--sgcil-border-color) !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="background:#f3e8ff"] { background: rgba(139,92,246,0.15) !important; color: #c4b5fd !important; border-color: #6d28d9 !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="background:#dcfce7"] { background: rgba(16,185,129,0.15) !important; color: #6ee7b7 !important; border-color: #059669 !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="background:#eff6ff"] { background: rgba(59,130,246,0.15) !important; color: #93c5fd !important; border-color: #3b82f6 !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="background:#ecfdf5"] { background: rgba(16,185,129,0.15) !important; color: #6ee7b7 !important; border-color: #059669 !important; }
[data-theme="dark"] .sgcil-fm-wrap [style*="background:#f5f3ff"] { background: rgba(139,92,246,0.15) !important; color: #c4b5fd !important; border-color: #7c3aed !important; }
[data-theme="dark"] .sgcil-fm-wrap #custom-var-name { background: var(--sgcil-input-bg) !important; color: var(--sgcil-text-primary) !important; border-color: var(--sgcil-border-color) !important; }


/* ============================================
   알림 페이지 다크모드 오버라이드
   ============================================ */
[data-theme="dark"] .sgcil-noti-card { background: var(--sgcil-content-bg) !important; border-color: var(--sgcil-border-color) !important; }
[data-theme="dark"] .sgcil-noti-row { border-bottom-color: var(--sgcil-border-color) !important; }
[data-theme="dark"] .sgcil-noti-row:hover { background: rgba(59, 130, 246, 0.1) !important; }
[data-theme="dark"] .sgcil-noti-row.unread { background: rgba(59, 130, 246, 0.15) !important; }
[data-theme="dark"] .sgcil-noti-row .noti-msg { color: var(--sgcil-text-primary) !important; }
[data-theme="dark"] .sgcil-noti-row .noti-icon { background: rgba(59, 130, 246, 0.2) !important; }
[data-theme="dark"] .sgcil-noti-row.unread .noti-icon { background: #3b82f6 !important; color: #fff !important; }
[data-theme="dark"] .sgcil-noti-empty { color: var(--sgcil-text-muted) !important; }


/* ============================================
   모듈 폼 입력 요소 전역 다크모드
   ============================================ */
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="time"],
[data-theme="dark"] input[type="month"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] select,
[data-theme="dark"] textarea {
    background: var(--sgcil-input-bg) !important;
    color: var(--sgcil-text-primary) !important;
    border-color: var(--sgcil-border-color) !important;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: var(--sgcil-text-muted) !important;
}

/* ============================================
   모듈 카드/래퍼 전역 다크모드
   ============================================ */
[data-theme="dark"] [class*="-wrap"],
[data-theme="dark"] [class*="-card"]:not([class*="badge"]):not([class*="noti"]) {
    background: transparent;
}

/* 카드 배경 명시적 오버라이드 */
[data-theme="dark"] [class$="-card"],
[data-theme="dark"] [class*="-card-"]:not([class*="card-title"]):not([class*="card-icon"]):not([class*="card-value"]):not([class*="card-label"]) {
    background: var(--sgcil-bg-primary) !important;
    border-color: var(--sgcil-border) !important;
}

/* 성공/정보 메시지 박스 다크모드 */
[data-theme="dark"] [class*="-msg-success"],
[data-theme="dark"] [class*="-client-info"],
[data-theme="dark"] [class*="-access-note"],
[data-theme="dark"] [class*="-schedule-info"] {
    background: rgba(16, 185, 129, 0.1) !important;
    border-color: rgba(16, 185, 129, 0.3) !important;
    color: #6ee7b7 !important;
}

[data-theme="dark"] [class*="-access-note"] {
    background: rgba(139, 92, 246, 0.15) !important;
    border-color: rgba(139, 92, 246, 0.3) !important;
    color: #c4b5fd !important;
}

/* 섹션 타이틀 */
[data-theme="dark"] [class*="-section-title"],
[data-theme="dark"] [class*="-card-title"] {
    color: var(--sgcil-text-primary) !important;
}

/* 설명 텍스트 */
[data-theme="dark"] [class*="-desc"],
[data-theme="dark"] [class*="-count"] {
    color: var(--sgcil-text-secondary) !important;
}

/* 테이블 짝수행 */
[data-theme="dark"] [class*="-table"] tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.03) !important;
}

/* tfoot */
[data-theme="dark"] [class*="-table"] tfoot td {
    background: var(--sgcil-input-bg) !important;
    color: var(--sgcil-text-primary) !important;
    border-color: var(--sgcil-border-color) !important;
}

/* 필터 폼 버튼 */
[data-theme="dark"] [class*="btn-reset"],
[data-theme="dark"] [class*="btn-cancel"],
[data-theme="dark"] [class*="btn-list"] {
    background: var(--sgcil-input-bg) !important;
    color: var(--sgcil-text-primary) !important;
    border-color: var(--sgcil-border-color) !important;
}

/* FullCalendar 다크모드 */
[data-theme="dark"] .fc {
    color: var(--sgcil-text-primary) !important;
}
[data-theme="dark"] .fc-theme-standard td,
[data-theme="dark"] .fc-theme-standard th,
[data-theme="dark"] .fc-theme-standard .fc-scrollgrid {
    border-color: var(--sgcil-border-color) !important;
}
[data-theme="dark"] .fc .fc-daygrid-day {
    background: var(--sgcil-bg-primary) !important;
}
[data-theme="dark"] .fc .fc-daygrid-day:hover {
    background: var(--sgcil-bg-secondary) !important;
}
[data-theme="dark"] .fc .fc-col-header-cell {
    background: var(--sgcil-bg-secondary) !important;
}
[data-theme="dark"] .fc .fc-toolbar-title {
    color: var(--sgcil-text-primary) !important;
}
[data-theme="dark"] .fc .fc-daygrid-day-number {
    color: var(--sgcil-text-secondary) !important;
}

/* Chart.js 캔버스 배경 */
[data-theme="dark"] canvas {
    filter: none;
}

/* 캘린더 네비 링크 */
[data-theme="dark"] [class*="-calendar-nav"] a {
    color: #818cf8 !important;
    border-color: #818cf8 !important;
}
[data-theme="dark"] [class*="-calendar-nav"] a:hover {
    background: #818cf8 !important;
    color: #fff !important;
}
[data-theme="dark"] [class*="-calendar-nav"] .month-title {
    color: var(--sgcil-text-primary) !important;
}
