﻿@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css");

:root {
    /* Color Palette */
    --primary: #2563eb;
    --primary-hover: #1d4ed8;
    --primary-light: #eff6ff;
    --primary-border: #bfdbfe;
    --primary-glow: rgba(37, 99, 235, 0.15);

    --accent-teal: #0d9488;
    --accent-emerald: #10b981;
    --accent-indigo: #6366f1;
    --accent-violet: #8b5cf6;
    --accent-amber: #f59e0b;
    --accent-rose: #f43f5e;
    --accent-danger: #ef4444;

    /* Neutrals */
    --bg-page: #f8fafc;
    --bg-surface: #ffffff;
    --bg-subtle: #f1f5f9;
    --bg-hover: #f8fafc;
    
    --text-main: #0f172a;
    --text-muted: #475569;
    --text-light: #94a3b8;
    
    --border-main: #e2e8f0;
    --border-light: #edf2f7;
    --border-focus: #3b82f6;

    /* Shadow Styles */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.03);
    --shadow-md: 0 4px 12px -2px rgba(0, 0, 0, 0.08), 0 2px 6px -2px rgba(0, 0, 0, 0.04);
    --shadow-lg: 0 10px 25px -4px rgba(0, 0, 0, 0.08), 0 6px 12px -4px rgba(0, 0, 0, 0.04);
    --shadow-xl: 0 20px 30px -6px rgba(0, 0, 0, 0.1);

    /* Radii */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-full: 9999px;

    /* Font */
    --font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}

[data-theme=dark] .unassigned-row select {
    color: #fbbf24 !important;
    border-color: #f59e0b !important;
    background-color: #1e293b !important;
}

/* Global resets & typography */
* {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-family);
    background-color: var(--bg-page);
    color: var(--text-main);
    margin: 0;
    padding: 0;
    letter-spacing: -0.015em;
    line-height: 1.5;
}

/* Common Buttons */
.m-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    line-height: 1.3;
    white-space: nowrap;
    user-select: none;
}

.m-btn:active {
    transform: translateY(1px);
}

.m-btn-primary {
    background: var(--primary);
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25);
}
.m-btn-primary:hover {
    background: var(--primary-hover);
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.35);
}

.m-btn-secondary {
    background: var(--bg-surface);
    color: var(--text-muted) !important;
    border-color: var(--border-main);
    box-shadow: var(--shadow-xs);
}
.m-btn-secondary:hover {
    background: var(--bg-subtle);
    color: var(--text-main) !important;
    border-color: #cbd5e1;
}

.m-btn-danger {
    background: #fee2e2;
    color: var(--accent-danger) !important;
    border-color: #fecaca;
}
.m-btn-danger:hover {
    background: var(--accent-danger);
    color: #ffffff !important;
    border-color: var(--accent-danger);
}

.m-btn-success {
    background: #ecfdf5;
    color: var(--accent-emerald) !important;
    border-color: #a7f3d0;
}
.m-btn-success:hover {
    background: var(--accent-emerald);
    color: #ffffff !important;
    border-color: var(--accent-emerald);
}

.m-btn-warning {
    background: #fffbeb;
    color: #d97706 !important;
    border-color: #fde68a;
}
.m-btn-warning:hover {
    background: var(--accent-amber);
    color: #ffffff !important;
    border-color: var(--accent-amber);
}

.m-btn-sm {
    padding: 5px 10px;
    font-size: 11.5px;
    border-radius: 5px;
}

.m-btn-icon {
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: var(--radius-sm);
}

/* Modern Form Controls */
.m-input, .m-select {
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--border-main);
    border-radius: var(--radius-sm);
    background-color: var(--bg-surface);
    color: var(--text-main);
    font-size: 13px;
    font-family: inherit;
    outline: none;
    transition: all 0.15s ease;
}

.m-input:focus, .m-select:focus {
    border-color: var(--border-focus);
    box-shadow: 0 0 0 3px var(--primary-glow);
}

.m-input::placeholder {
    color: var(--text-light);
}

.m-label {
    display: block;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--text-main);
    margin-bottom: 6px;
}

/* Badges / Chips */
.m-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: var(--radius-full);
    line-height: 1;
}

.m-badge-primary {
    background-color: var(--primary-light);
    color: var(--primary);
    border: 1px solid var(--primary-border);
}

.m-badge-gray {
    background-color: var(--bg-subtle);
    color: var(--text-muted);
    border: 1px solid var(--border-main);
}

.m-badge-success, .m-badge-completed {
    background-color: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
}

.m-badge-pending {
    background-color: #fffbeb;
    color: #d97706;
    border: 1px solid #fde68a;
}

.m-badge-draft {
    background-color: #f1f5f9;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

/* ========================================================
   [STANDARD UNIFIED HERO BANNER]
   사용자 요청 기준 디자인 (일정 관리 schedule_view.jsp 기준)
   모든 페이지에서 높이(padding: 30px 36px), 배경, 글로우, 
   캡슐 태그, 타이틀, 서브타이틀, 글래스 스탯 카드를 완전 일치화
   ======================================================== */
.app-hero-banner,
.schedule-hero-banner,
.report-hero-banner,
.system-hero-banner,
.support-hero-banner,
.data-hero-banner,
.m-hero {
    background: radial-gradient(circle at 20% 20%, #1e293b 0%, #0f172a 60%, #090d16 100%) !important;
    position: relative !important;
    padding: 30px 36px !important;
    color: #ffffff !important;
    overflow: hidden !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.25) !important;
    box-sizing: border-box !important;
    min-height: 142px !important;
    margin-bottom: 0 !important;
}

.app-hero-banner::before,
.schedule-hero-banner::before,
.report-hero-banner::before,
.system-hero-banner::before,
.support-hero-banner::before,
.data-hero-banner::before,
.m-hero::before {
    content: '' !important;
    position: absolute !important;
    top: -80px !important;
    left: -60px !important;
    width: 380px !important;
    height: 380px !important;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.22) 0%, transparent 70%) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    filter: blur(40px) !important;
    z-index: 1 !important;
}

.app-hero-banner::after,
.schedule-hero-banner::after,
.report-hero-banner::after,
.system-hero-banner::after,
.support-hero-banner::after,
.data-hero-banner::after,
.m-hero::after {
    content: '' !important;
    position: absolute !important;
    bottom: -60px !important;
    right: 5% !important;
    width: 320px !important;
    height: 320px !important;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 70%) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    filter: blur(40px) !important;
    z-index: 1 !important;
}

.hero-pattern,
.app-hero-pattern {
    position: absolute !important;
    inset: 0 !important;
    background-image: radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px) !important;
    background-size: 28px 28px !important;
    opacity: 0.6 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.app-hero-inner,
.schedule-hero-inner,
.report-hero-inner,
.system-hero-inner,
.support-hero-inner,
.data-hero-inner,
.m-hero-inner {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    flex-wrap: wrap !important;
}

.hero-text-area,
.report-hero-left,
.system-hero-left,
.support-hero-left,
.app-hero-text {
    max-width: 800px !important;
}

.hero-tag,
.report-hero-tag,
.system-hero-tag,
.support-hero-tag,
.app-hero-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    padding: 4px 12px !important;
    border-radius: 9999px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: #93c5fd !important;
    margin-bottom: 12px !important;
    backdrop-filter: blur(8px) !important;
    line-height: 1.4 !important;
}

.hero-title,
.report-hero-title,
.system-hero-title,
.support-hero-title,
.app-hero-title {
    font-size: 24px !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    margin: 0 0 8px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
}

.hero-subtitle,
.report-hero-sub,
.system-hero-desc,
.support-hero-desc,
.app-hero-subtitle,
.m-hero-desc {
    font-size: 13px !important;
    color: #94a3b8 !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

/* Glassmorphism Stat Cards */
.hero-stat-cards,
.report-hero-metrics,
.support-hero-stats,
.system-hero-stats,
.app-hero-stats {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}

.stat-glass-card,
.hero-metric-item,
.hero-stat-card,
.app-stat-glass {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(10px) !important;
    border-radius: 12px !important;
    padding: 12px 18px !important;
    min-width: 110px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    box-sizing: border-box !important;
}

.stat-label,
.hero-metric-label,
.app-stat-glass-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #94a3b8 !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
}

.stat-val,
.hero-metric-val,
.app-stat-glass-val {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: -0.02em !important;
}

.stat-val.highlight,
.hero-metric-val.highlight,
.app-stat-glass-val.highlight {
    color: #60a5fa !important;
}

.stat-unit,
.app-stat-glass-unit {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #94a3b8 !important;
    margin-left: 2px !important;
}

/* Modern Containers & Cards */
.m-container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 16px 0 40px 0 !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}
.m-card {
    background: #ffffff;
    border: 1px solid var(--border-main);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

/* Modern Tables */
.m-table-wrap {
    background: #ffffff;
    border: 1px solid var(--border-main);
    border-radius: var(--radius-md);
    overflow: hidden;
}
.m-table {
    width: 100%;
    border-collapse: collapse;
}
.m-table th {
    background: var(--bg-subtle);
    padding: 11px 14px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--text-muted);
    border-bottom: 1px solid var(--border-main);
    text-align: left;
}
.m-table td {
    padding: 11px 14px;
    font-size: 13px;
    border-bottom: 1px solid var(--border-light);
    color: var(--text-main);
    vertical-align: middle;
}
.m-table tr:hover td {
    background: var(--bg-hover);
}

/* Modern Modal Component */
.m-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(4px);
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    animation: mFadeIn 0.2s ease forwards;
}

.m-modal-box {
    background: var(--bg-surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    width: 100%;
    max-width: 440px;
    overflow: hidden;
    border: 1px solid var(--border-main);
    animation: mSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.m-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    border-bottom: 1px solid var(--border-light);
}

.m-modal-header[style*='#0f172a'] .m-modal-title, .m-modal-header.dark .m-modal-title { color: #ffffff !important; }
.m-modal-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-main);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.m-modal-close {
    background: transparent;
    border: none;
    color: var(--text-light);
    font-size: 20px;
    cursor: pointer;
    padding: 4px;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: all 0.15s;
}
.m-modal-close:hover {
    color: var(--text-main);
    background: var(--bg-subtle);
}

.m-modal-body {
    padding: 22px;
}

.m-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 22px;
    background: var(--bg-subtle);
    border-top: 1px solid var(--border-light);
}

@keyframes mFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes mSlideUp {
    from { transform: translateY(12px) scale(0.98); opacity: 0; }
    to { transform: translateY(0) scale(1); opacity: 1; }
}


/* ==========================================================================
   글로벌 모바일 반응형 최적화 (모든 메뉴 모바일 대응)
   ========================================================================== */
@media (max-width: 992px) {
    .m-container {
        padding: 0 16px !important;
    }
}

@media (max-width: 768px) {
    html, body {
        overflow-x: hidden;
        width: 100%;
        -webkit-overflow-scrolling: touch;
    }

    .m-container {
        padding: 0 12px !important;
        margin: 12px 0 28px 0 !important;
    }

    .m-card {
        border-radius: var(--radius-md) !important;
    }

    /* 테이블 가로 스크롤 보호 */
    .m-table-wrap,
    .table-responsive,
    .m-table-responsive {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .m-table th, .m-table td {
        padding: 9px 10px !important;
        font-size: 12px !important;
        white-space: nowrap;
    }

    /* 공통 히어로 배너 모바일 패딩 조정 */
    .schedule-hero-banner,
    .admin-hero-banner,
    .data-hero-banner {
        padding: 18px 14px !important;
    }

    .hero-title,
    .schedule-hero-banner h1,
    .admin-hero-banner h1,
    .data-hero-banner h1 {
        font-size: 19px !important;
        line-height: 1.3 !important;
    }

    .hero-subtitle,
    .schedule-hero-banner p,
    .admin-hero-banner p,
    .data-hero-banner p {
        font-size: 12px !important;
        margin-top: 4px !important;
    }

    /* 모바일 툴바 및 필터 바 줄바꿈 허용 */
    .table-top-bar,
    .filter-bar,
    .search-filter-box,
    .toolbar-container {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .table-top-bar > *,
    .filter-bar > * {
        max-width: 100% !important;
    }

    /* 모달 모바일 반응형 */
    .m-modal-box {
        max-width: calc(100vw - 24px) !important;
        margin: 0 12px !important;
    }
}

/* ==========================================================================
   Dark Mode Theme System
   ========================================================================== */
[data-theme=dark] {
    --bg-page: #0b0f17;
    --bg-surface: #151d2c;
    --bg-subtle: #1e293b;
    --bg-hover: #1e293b;

    --text-main: #f1f5f9;
    --text-muted: #94a3b8;
    --text-light: #64748b;

    --border-main: #243044;
    --border-light: #1e293b;
    --border-focus: #60a5fa;

    --primary-light: rgba(37, 99, 235, 0.2);
    --primary-border: rgba(96, 165, 250, 0.4);

    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.6);
    --shadow-xl: 0 20px 30px rgba(0, 0, 0, 0.7);
}

[data-theme=dark] body {
    background-color: var(--bg-page) !important;
    color: var(--text-main) !important;
}

[data-theme=dark] .m-card,
[data-theme=dark] .m-modal-box,
[data-theme=dark] .stat-card,
[data-theme=dark] .admin-card,
[data-theme=dark] .container,
[data-theme=dark] .white-box,
[data-theme=dark] .box-surface {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    color: var(--text-main) !important;
}

[data-theme=dark] .m-input,
[data-theme=dark] .m-select,
[data-theme=dark] textarea,
[data-theme=dark] select,
[data-theme=dark] input[type=text],
[data-theme=dark] input[type=password],
[data-theme=dark] input[type=search],
[data-theme=dark] input[type=date],
[data-theme=dark] input[type=number] {
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .m-input:focus,
[data-theme=dark] .m-select:focus,
[data-theme=dark] textarea:focus,
[data-theme=dark] select:focus,
[data-theme=dark] input:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25) !important;
}

[data-theme=dark] .m-table {
    border-color: var(--border-main) !important;
}

[data-theme=dark] .m-table th,
[data-theme=dark] table.table th {
    background-color: #101826 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .m-table td,
[data-theme=dark] table.table td {
    background-color: var(--bg-surface) !important;
    color: #e2e8f0 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .m-table tr:hover td,
[data-theme=dark] table.table tr:hover td {
    background-color: #1c2638 !important;
}

[data-theme=dark] .m-btn-secondary {
    background-color: #1e293b !important;
    color: #e2e8f0 !important;
    border-color: #334155 !important;
}

[data-theme=dark] .m-btn-secondary:hover {
    background-color: #334155 !important;
    color: #ffffff !important;
}

[data-theme=dark] .m-tab-btn {
    color: #94a3b8 !important;
}

[data-theme=dark] .m-tab-btn:hover {
    color: #f1f5f9 !important;
}

[data-theme=dark] .m-tab-btn.active {
    color: #60a5fa !important;
    border-bottom-color: #60a5fa !important;
}

[data-theme=dark] .admin-tab-nav {
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .search-bar,
[data-theme=dark] .filter-bar,
[data-theme=dark] .table-top-bar {
    background: transparent !important;
}

/* ==========================================================================
   System View Dark Mode Overrides
   ========================================================================== */
[data-theme=dark] html,
[data-theme=dark] body {
    background-color: var(--bg-page) !important;
    color: var(--text-main) !important;
    min-height: 100vh !important;
}

[data-theme=dark] .layout-container {
    background: transparent !important;
}

[data-theme=dark] .company-sidebar,
[data-theme=dark] .detail-top-card,
[data-theme=dark] .info-card,
[data-theme=dark] .card-header {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    color: var(--text-main) !important;
}

[data-theme=dark] .sidebar-header,
[data-theme=dark] .detail-title {
    color: var(--text-main) !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .sidebar-search {
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .sidebar-search:focus {
    background-color: #151d2c !important;
    border-color: var(--primary) !important;
}

[data-theme=dark] .type-group {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .type-header {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #cbd5e1 !important;
}

[data-theme=dark] .type-header:hover {
    background: #1c2638 !important;
    background-color: #1c2638 !important;
    color: #ffffff !important;
}

[data-theme=dark] .type-count-badge {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #94a3b8 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .type-item-list {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-top-color: var(--border-main) !important;
}

[data-theme=dark] .company-item {
    color: #cbd5e1 !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .company-item:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #60a5fa !important;
}

[data-theme=dark] .company-item.active {
    background: rgba(37, 99, 235, 0.22) !important;
    background-color: rgba(37, 99, 235, 0.22) !important;
    color: #93c5fd !important;
    border-left-color: #3b82f6 !important;
}

[data-theme=dark] .btn-card-edit {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #cbd5e1 !important;
    border-color: #334155 !important;
}

[data-theme=dark] .btn-card-edit:hover {
    background: #334155 !important;
    background-color: #334155 !important;
    color: #ffffff !important;
}

[data-theme=dark] .btn-delete-company {
    background: #1c1917 !important;
    background-color: #1c1917 !important;
    color: #f87171 !important;
    border-color: rgba(239, 68, 68, 0.4) !important;
}

[data-theme=dark] .btn-delete-company:hover {
    background: rgba(239, 68, 68, 0.2) !important;
    background-color: rgba(239, 68, 68, 0.2) !important;
    color: #ffffff !important;
}

[data-theme=dark] .spec-detail-table th {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #94a3b8 !important;
    border-bottom-color: var(--border-main) !important;
    border-right-color: var(--border-main) !important;
}

[data-theme=dark] .spec-detail-table td {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    color: #f1f5f9 !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .mgr-view-table {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .mgr-view-table th {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #94a3b8 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .mgr-view-table td {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    color: #e2e8f0 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .remarks-scroll-box {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #e2e8f0 !important;
    border-top-color: var(--border-main) !important;
}

[data-theme=dark] .remarks-view-body {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .badge-yn-y {
    background-color: rgba(16, 185, 129, 0.18) !important;
    color: #34d399 !important;
    border-color: rgba(52, 211, 153, 0.35) !important;
}

[data-theme=dark] .badge-yn-n {
    background-color: rgba(239, 68, 68, 0.18) !important;
    color: #f87171 !important;
    border-color: rgba(248, 113, 113, 0.35) !important;
}

[data-theme=dark] .highlight-val {
    color: #60a5fa !important;
}

[data-theme=dark] .link-val {
    color: #60a5fa !important;
}

[data-theme=dark] .link-val:hover {
    color: #93c5fd !important;
}

[data-theme=dark] .modal-form-group input,
[data-theme=dark] .modal-form-group select,
[data-theme=dark] .modal-form-group textarea,
[data-theme=dark] .contact-dyn-table input {
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .modal-form-group label {
    color: #cbd5e1 !important;
}

[data-theme=dark] .radio-inline-group label {
    color: #cbd5e1 !important;
}

[data-theme=dark] .contact-dyn-table {
    border-color: var(--border-main) !important;
}

[data-theme=dark] .contact-dyn-table th {
    background-color: #101826 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .contact-dyn-table td {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .m-modal-footer {
    background-color: #101826 !important;
    border-top-color: var(--border-main) !important;
}

/* ==========================================================================
   Support View Dark Mode Overrides
   ========================================================================== */
[data-theme=dark] .recent-sidebar,
[data-theme=dark] .wrapper,
[data-theme=dark] .support-container,
[data-theme=dark] .support-sheet {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    color: var(--text-main) !important;
}

[data-theme=dark] .clickable-row:hover {
    background-color: #1e293b !important;
}

/* ==========================================================================
   Support View Comprehensive Dark Mode Styles
   ========================================================================== */
[data-theme=dark] .recent-sidebar,
[data-theme=dark] .wrapper {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    color: var(--text-main) !important;
}

[data-theme=dark] .recent-header,
[data-theme=dark] .sheet-title {
    color: var(--text-main) !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .recent-badge-count {
    background: rgba(37, 99, 235, 0.22) !important;
    color: #93c5fd !important;
    border-color: rgba(96, 165, 250, 0.4) !important;
}

[data-theme=dark] .recent-item {
    background: #111a2e !important;
    background-color: #111a2e !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .recent-item:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
    border-color: var(--primary) !important;
}

[data-theme=dark] .recent-title {
    color: #f1f5f9 !important;
}

[data-theme=dark] .recent-inquiry {
    color: #94a3b8 !important;
}

[data-theme=dark] .recent-date {
    color: #64748b !important;
}

[data-theme=dark] .sheet-title-badge {
    background: rgba(37, 99, 235, 0.22) !important;
    color: #93c5fd !important;
    border-color: rgba(96, 165, 250, 0.4) !important;
}

[data-theme=dark] .date-filter-wrap {
    background: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .date-input,
[data-theme=dark] .search-box {
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .btn-reset {
    background: #1e293b !important;
    color: #94a3b8 !important;
}

[data-theme=dark] .btn-reset:hover {
    background: #334155 !important;
    color: #ffffff !important;
}

[data-theme=dark] .tab-bar {
    background: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .tab-btn {
    background: #101826 !important;
    color: #94a3b8 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .tab-btn:hover {
    background: #1e293b !important;
    color: #f1f5f9 !important;
    border-color: #475569 !important;
}

[data-theme=dark] .tab-btn.active {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
    border-color: #2563eb !important;
}

[data-theme=dark] .btn-add-tab {
    background: #101826 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .btn-add-tab:hover {
    background: #1e293b !important;
    color: #ffffff !important;
}

[data-theme=dark] .customer-dropdown-toggle {
    background: #101826 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .customer-dropdown-toggle:hover {
    background: #1e293b !important;
    border-color: #475569 !important;
}

[data-theme=dark] .customer-search-dropdown.active .customer-dropdown-toggle {
    background: rgba(37, 99, 235, 0.22) !important;
    border-color: var(--primary) !important;
    color: #93c5fd !important;
}

[data-theme=dark] .customer-dropdown-menu {
    background: #151d2c !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.6) !important;
}

[data-theme=dark] .customer-search-input {
    background: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .customer-list-container::-webkit-scrollbar-track {
    background: #0d1522 !important;
}

[data-theme=dark] .customer-list-container::-webkit-scrollbar-thumb {
    background: #334155 !important;
}

[data-theme=dark] .customer-item {
    color: #cbd5e1 !important;
}

[data-theme=dark] .customer-item:hover {
    background: rgba(37, 99, 235, 0.25) !important;
    color: #93c5fd !important;
}

[data-theme=dark] .customer-item.selected {
    background: rgba(37, 99, 235, 0.3) !important;
    color: #bfdbfe !important;
}

/* 테이블 완벽 가독성 오버라이드 */
[data-theme=dark] .table-scroll-container {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] table.sheet-table {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
}

[data-theme=dark] table.sheet-table th.th-header {
    background: #0b1120 !important;
    background-color: #0b1120 !important;
    color: #e2e8f0 !important;
    border-color: #1e293b !important;
}

[data-theme=dark] table.sheet-table td {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] table.sheet-table tr:hover td,
[data-theme=dark] .clickable-row:hover td {
    background: #1c2638 !important;
    background-color: #1c2638 !important;
}

[data-theme=dark] .action-cell:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
}

[data-theme=dark] .page-size-select {
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .page-link {
    background: #101826 !important;
    color: #94a3b8 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .page-link:hover {
    background: #1e293b !important;
    color: #ffffff !important;
}

[data-theme=dark] .page-link.active {
    background: #2563eb !important;
    color: #ffffff !important;
    border-color: #2563eb !important;
}
/* ========================================================
   [DATA-THEME=DARK] 신규 등록 및 수정 폼 화면 완벽 다크모드
   (support_form, report_form, report_edit, data_form, data_view)
   ======================================================== */

/* 1. 운영지원 등록/수정 폼 (support_form.jsp) */
[data-theme=dark] body {
    background-color: var(--bg-page) !important;
    color: var(--text-main) !important;
}

[data-theme=dark] .form-card {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 25px -4px rgba(0, 0, 0, 0.5) !important;
}

[data-theme=dark] .card-header-bar {
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .card-header-icon {
    background: rgba(37, 99, 235, 0.2) !important;
    color: #60a5fa !important;
}

[data-theme=dark] .card-header-title {
    color: #f8fafc !important;
}

[data-theme=dark] .code-pill {
    background: #1e293b !important;
    color: #93c5fd !important;
    border: 1px solid #334155 !important;
}

[data-theme=dark] .required-notice {
    color: #94a3b8 !important;
}

[data-theme=dark] .form-group label {
    color: #cbd5e1 !important;
}

[data-theme=dark] .form-card input[type= text],
[data-theme=dark] .form-card input[type=date],
[data-theme=dark] .form-card select,
[data-theme=dark] .form-card textarea {
    background-color: #0d1522 !important;
    background: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .form-card input[type=text]:focus,
[data-theme=dark] .form-card input[type=date]:focus,
[data-theme=dark] .form-card select:focus,
[data-theme=dark] .form-card textarea:focus {
    border-color: #3b82f6 !important;
    background-color: #111a2e !important;
    background: #111a2e !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25) !important;
}

[data-theme=dark] .form-card input[readonly] {
    background-color: #141c2c !important;
    background: #141c2c !important;
    color: #60a5fa !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .time-sublabel {
    color: #94a3b8 !important;
}

[data-theme=dark] .bottom-action-bar {
    border-top-color: var(--border-main) !important;
}

[data-theme=dark] .btn-cancel {
    background: #172033 !important;
    background-color: #172033 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .btn-cancel:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #ffffff !important;
    border-color: #475569 !important;
}

[data-theme=dark] .btn-delete {
    background: rgba(239, 68, 68, 0.15) !important;
    background-color: rgba(239, 68, 68, 0.15) !important;
    color: #f87171 !important;
    border-color: rgba(239, 68, 68, 0.35) !important;
}

[data-theme=dark] .btn-delete:hover {
    background: #ef4444 !important;
    background-color: #ef4444 !important;
    color: #ffffff !important;
    border-color: #ef4444 !important;
}

/* 2. 주간보고 등록/수정 폼 (report_form.jsp, report_edit.jsp) */
[data-theme=dark] .meta-card {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25) !important;
}

[data-theme=dark] .meta-label {
    color: #cbd5e1 !important;
}

[data-theme=dark] .meta-badge {
    background: rgba(37, 99, 235, 0.2) !important;
    color: #93c5fd !important;
    border-color: rgba(59, 130, 246, 0.4) !important;
}

[data-theme=dark] .display-week-input {
    background: #111a2e !important;
    background-color: #111a2e !important;
    color: #93c5fd !important;
    border-color: #2563eb !important;
}

[data-theme=dark] .display-week-input:hover {
    background: #17243e !important;
    background-color: #17243e !important;
    border-color: #3b82f6 !important;
}

[data-theme=dark] .input-text-modern {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .input-text-modern:focus {
    border-color: #3b82f6 !important;
    background: #111a2e !important;
    background-color: #111a2e !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25) !important;
}

[data-theme=dark] .section-title {
    color: #f8fafc !important;
}

[data-theme=dark] .section-subtitle {
    color: #94a3b8 !important;
}

[data-theme=dark] .project-card {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.3) !important;
}

[data-theme=dark] .project-card:hover {
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.45) !important;
    border-color: #334155 !important;
}

[data-theme=dark] .project-card-header {
    background: #101826 !important;
    background-color: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .p-name-input {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .p-name-input:focus {
    border-color: #3b82f6 !important;
    background: #111a2e !important;
    background-color: #111a2e !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25) !important;
}

[data-theme=dark] .daily-row {
    background: #101826 !important;
    background-color: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .daily-row:focus-within {
    background: #141e30 !important;
    background-color: #141e30 !important;
    border-color: #3b82f6 !important;
}

[data-theme=dark] .daily-badge {
    background: rgba(37, 99, 235, 0.22) !important;
    color: #93c5fd !important;
}

[data-theme=dark] .display-date-input {
    background: #111a2e !important;
    background-color: #111a2e !important;
    color: #93c5fd !important;
    border-color: rgba(59, 130, 246, 0.4) !important;
}

[data-theme=dark] .daily-desc {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .daily-desc:focus {
    border-color: #3b82f6 !important;
    background: #111a2e !important;
    background-color: #111a2e !important;
}

[data-theme=dark] .plan-box,
[data-theme=dark] .remark-box {
    background: #101826 !important;
    background-color: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .box-label {
    color: #cbd5e1 !important;
}

[data-theme=dark] .p-plan-input,
[data-theme=dark] .p-remark-input {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .p-plan-input:focus,
[data-theme=dark] .p-remark-input:focus {
    border-color: #3b82f6 !important;
    background: #111a2e !important;
    background-color: #111a2e !important;
}

[data-theme=dark] .btn-add-date {
    background: #131c2c !important;
    background-color: #131c2c !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .btn-add-date:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #ffffff !important;
    border-color: #475569 !important;
}

[data-theme=dark] .btn-add-project {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #60a5fa !important;
    border-color: #2563eb !important;
}

[data-theme=dark] .btn-add-project:hover {
    background: #162238 !important;
    background-color: #162238 !important;
    color: #93c5fd !important;
    border-color: #3b82f6 !important;
}

[data-theme=dark] .btn-del-sm {
    background: rgba(225, 29, 72, 0.15) !important;
    background-color: rgba(225, 29, 72, 0.15) !important;
    color: #fb7185 !important;
    border-color: rgba(225, 29, 72, 0.3) !important;
}

[data-theme=dark] .btn-del-sm:hover {
    background: #e11d48 !important;
    background-color: #e11d48 !important;
    color: #ffffff !important;
    border-color: #e11d48 !important;
}

[data-theme=dark] .shared-card {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .shared-card-title {
    color: #f8fafc !important;
}

[data-theme=dark] .shared-textarea {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .shared-textarea:focus {
    border-color: #3b82f6 !important;
    background: #111a2e !important;
    background-color: #111a2e !important;
}

[data-theme=dark] .sync-card {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .sync-item-row {
    background: #101826 !important;
    background-color: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .sync-item-row:hover {
    background: #151f30 !important;
    background-color: #151f30 !important;
    border-color: #334155 !important;
}

[data-theme=dark] .sync-item-row select,
[data-theme=dark] .sync-item-row input {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .sync-item-row select:focus,
[data-theme=dark] .sync-item-row input:focus {
    border-color: #3b82f6 !important;
}

[data-theme=dark] .bottom-submit-bar {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-top-color: var(--border-main) !important;
}

/* 3. 자료실 등록/수정/상세 화면 (data_form.jsp, data_view.jsp) */
[data-theme=dark] .editor-pane,
[data-theme=dark] .preview-pane {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25) !important;
}

[data-theme=dark] .pane-header {
    background: #101826 !important;
    background-color: #101826 !important;
    border-bottom-color: var(--border-main) !important;
    color: #94a3b8 !important;
}

[data-theme=dark] .markdown-textarea {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #e2e8f0 !important;
}

[data-theme=dark] .markdown-textarea:focus {
    background: #101826 !important;
    background-color: #101826 !important;
}

[data-theme=dark] .preview-box {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #e2e8f0 !important;
}

[data-theme=dark] .modal-box {
    background: #151d2c !important;
    background-color: #151d2c !important;
    border-color: var(--border-main) !important;
    color: #f1f5f9 !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6) !important;
}

[data-theme=dark] .modal-header {
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .modal-header h3 {
    color: #f8fafc !important;
}

[data-theme=dark] .modal-close-btn {
    color: #94a3b8 !important;
}

[data-theme=dark] .modal-close-btn:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #ffffff !important;
}

[data-theme=dark] .cat-table th,
[data-theme=dark] .help-table th {
    background: #0b1120 !important;
    background-color: #0b1120 !important;
    color: #94a3b8 !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .cat-table td,
[data-theme=dark] .help-table td {
    color: #cbd5e1 !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .cat-table tr:hover td {
    background: #1c2638 !important;
    background-color: #1c2638 !important;
}

[data-theme=dark] .code-syntax {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #60a5fa !important;
    border: 1px solid var(--border-main) !important;
}

/* 자료실 상세 뷰 (data_view.jsp) */
[data-theme=dark] .view-card {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.5) !important;
}

[data-theme=dark] .article-title {
    color: #f8fafc !important;
}

[data-theme=dark] .article-meta {
    color: #94a3b8 !important;
}

[data-theme=dark] .article-meta b {
    color: #cbd5e1 !important;
}

[data-theme=dark] .btn-bar {
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .category-badge {
    background: rgba(37, 99, 235, 0.2) !important;
    color: #93c5fd !important;
    border-color: rgba(59, 130, 246, 0.4) !important;
}

[data-theme=dark] .markdown-body {
    color: #cbd5e1 !important;
}

[data-theme=dark] .markdown-body pre {
    background-color: #0d1522 !important;
    border-color: var(--border-main) !important;
    color: #f1f5f9 !important;
}

[data-theme=dark] .markdown-body code {
    background-color: #172033 !important;
    color: #93c5fd !important;
}

[data-theme=dark] .markdown-body h1,
[data-theme=dark] .markdown-body h2,
[data-theme=dark] .markdown-body h3,
[data-theme=dark] .markdown-body h4 {
    color: #f8fafc !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .markdown-body blockquote {
    border-left-color: #3b82f6 !important;
    color: #94a3b8 !important;
}

[data-theme=dark] .markdown-body table th {
    background-color: #0b1120 !important;
    color: #e2e8f0 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .markdown-body table td {
    background-color: #0d1522 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

/* ========================================================
   [DATA-THEME=DARK] 주간업무보고 조회 화면 완벽 다크모드
   (report_view.jsp)
   ======================================================== */

/* 메인 카드 및 레이아웃 */
[data-theme=dark] .report-card {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 25px -4px rgba(0, 0, 0, 0.45) !important;
}

/* 팀 탭 세그먼트 */
[data-theme=dark] .team-tab-bar {
    background: #101826 !important;
    background-color: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .team-tab-btn {
    color: #94a3b8 !important;
}

[data-theme=dark] .team-tab-btn:hover {
    color: #ffffff !important;
    background: #1e293b !important;
    background-color: #1e293b !important;
}

[data-theme=dark] .team-tab-btn.active {
    color: #ffffff !important;
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
}

[data-theme=dark] .team-tab-btn.is-child {
    color: #64748b !important;
}

/* 필터 및 상단 툴바 */
[data-theme=dark] .filter-bar {
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .week-nav-group {
    background: transparent !important;
    background-color: transparent !important;
}

[data-theme=dark] .btn-nav-week {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

[data-theme=dark] .btn-nav-week:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #ffffff !important;
    border-color: #475569 !important;
}

[data-theme=dark] .display-input {
    background: #111a2e !important;
    background-color: #111a2e !important;
    color: #93c5fd !important;
    border-color: #2563eb !important;
}

[data-theme=dark] .display-input:hover {
    background: #17243e !important;
    background-color: #17243e !important;
    border-color: #3b82f6 !important;
}

[data-theme=dark] .week-std-info {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #94a3b8 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .week-std-info b {
    color: #60a5fa !important;
}

[data-theme=dark] .btn-action-outline {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .btn-action-outline:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #ffffff !important;
    border-color: #475569 !important;
}

[data-theme=dark] .btn-action-manage {
    background: rgba(16, 185, 129, 0.15) !important;
    background-color: rgba(16, 185, 129, 0.15) !important;
    color: #34d399 !important;
    border-color: rgba(16, 185, 129, 0.4) !important;
}

[data-theme=dark] .btn-action-manage:hover {
    background: rgba(16, 185, 129, 0.25) !important;
    background-color: rgba(16, 185, 129, 0.25) !important;
    color: #6ee7b7 !important;
    border-color: #10b981 !important;
}

/* 주간보고 테이블 */
[data-theme=dark] .table-responsive {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] table.report-table {
    border-color: var(--border-main) !important;
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
}

[data-theme=dark] table.report-table th,
[data-theme=dark] table.report-table td {
    border-color: var(--border-main) !important;
}

[data-theme=dark] table.report-table td {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    color: #f1f5f9 !important;
}

[data-theme=dark] .th-header {
    background: #0b1120 !important;
    background-color: #0b1120 !important;
    color: #e2e8f0 !important;
    border-color: #1e293b !important;
}

[data-theme=dark] .th-sub {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #93c5fd !important;
    border-color: #1e293b !important;
}

[data-theme=dark] .author-cell {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #f8fafc !important;
    border-right-color: var(--border-main) !important;
}

[data-theme=dark] .author-cell:hover {
    background: #17243e !important;
    background-color: #17243e !important;
    color: #60a5fa !important;
}

[data-theme=dark] .clickable-row:hover td:not(.author-cell) {
    background: #1a2334 !important;
    background-color: #1a2334 !important;
}

[data-theme=dark] .content-cell {
    color: #e2e8f0 !important;
}

[data-theme=dark] .project-title {
    color: #60a5fa !important;
}

[data-theme=dark] .item-desc {
    color: #cbd5e1 !important;
}

[data-theme=dark] .tag-author {
    color: #60a5fa !important;
}

[data-theme=dark] .project-block + .project-block {
    border-top-color: var(--border-main) !important;
}

[data-theme=dark] .bottom-header {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #f8fafc !important;
    border-right-color: var(--border-main) !important;
}

[data-theme=dark] .sch-badge.MEETING {
    background: rgba(16, 185, 129, 0.2) !important;
    color: #34d399 !important;
    border-color: rgba(16, 185, 129, 0.4) !important;
}

[data-theme=dark] .sch-badge.WORK {
    background: rgba(37, 99, 235, 0.2) !important;
    color: #93c5fd !important;
    border-color: rgba(59, 130, 246, 0.4) !important;
}

[data-theme=dark] .sch-badge.MAINTENANCE {
    background: rgba(245, 158, 11, 0.2) !important;
    color: #fcd34d !important;
    border-color: rgba(245, 158, 11, 0.4) !important;
}

/* 좌측 주차 사이드바 */
[data-theme=dark] .week-list-sidebar {
    background: var(--bg-surface) !important;
    background-color: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 20px -4px rgba(0, 0, 0, 0.45) !important;
}

[data-theme=dark] .sidebar-header {
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .sidebar-title {
    color: #f8fafc !important;
}

[data-theme=dark] .sidebar-badge {
    background: rgba(37, 99, 235, 0.2) !important;
    color: #93c5fd !important;
    border-color: rgba(59, 130, 246, 0.4) !important;
}

[data-theme=dark] .sidebar-search input {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .sidebar-search input:focus {
    border-color: #3b82f6 !important;
    background: #111a2e !important;
    background-color: #111a2e !important;
}

[data-theme=dark] .sidebar-search .search-icon {
    color: #94a3b8 !important;
}

[data-theme=dark] .sidebar-week-scroll::-webkit-scrollbar-thumb {
    background: #334155 !important;
}

[data-theme=dark] .week-nav-item {
    color: #cbd5e1 !important;
}

[data-theme=dark] .week-nav-item:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #ffffff !important;
    border-color: #334155 !important;
}

[data-theme=dark] .week-nav-item.active {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
}

[data-theme=dark] .w-item-count.has-data {
    background: rgba(16, 185, 129, 0.2) !important;
    color: #34d399 !important;
}

[data-theme=dark] .w-item-count.zero {
    background: #101826 !important;
    color: #64748b !important;
}

[data-theme=dark] .sidebar-footer {
    border-top-color: var(--border-main) !important;
}

[data-theme=dark] .btn-goto-current-week {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .btn-goto-current-week:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #60a5fa !important;
    border-color: #3b82f6 !important;
}

/* 플로팅 버튼 및 액션 메뉴 */
[data-theme=dark] .floating-nav .float-btn {
    background: #151d2c !important;
    background-color: #151d2c !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5) !important;
}

[data-theme=dark] .floating-nav .float-btn:hover {
    background: #2563eb !important;
    background-color: #2563eb !important;
    color: #ffffff !important;
    border-color: #2563eb !important;
}

[data-theme=dark] .action-toggle-menu {
    background: #151d2c !important;
    background-color: #151d2c !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 10px 25px -4px rgba(0, 0, 0, 0.7) !important;
}

[data-theme=dark] .action-toggle-menu a,
[data-theme=dark] .action-toggle-menu button {
    color: #cbd5e1 !important;
}

[data-theme=dark] .action-toggle-menu a:hover {
    background: rgba(37, 99, 235, 0.25) !important;
    color: #93c5fd !important;
}

[data-theme=dark] .action-toggle-menu button:hover {
    background: rgba(239, 68, 68, 0.25) !important;
    color: #f87171 !important;
}

/* 모달 및 테이블 헤더 */
[data-theme=dark] .m-modal-box {
    background: #151d2c !important;
    background-color: #151d2c !important;
    border-color: var(--border-main) !important;
    color: #f1f5f9 !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6) !important;
}

[data-theme=dark] .m-modal-header {
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .m-modal-title {
    color: #f8fafc !important;
}

[data-theme=dark] .m-modal-close {
    color: #94a3b8 !important;
}

[data-theme=dark] .m-modal-close:hover {
    background: #1e293b !important;
    color: #ffffff !important;
}

[data-theme=dark] .m-modal-footer {
    border-top-color: var(--border-main) !important;
}

/* 작성화면(report_form.jsp, report_edit.jsp) 보강 스타일 */
[data-theme=dark] .sync-item-row span {
    color: #cbd5e1 !important;
}

[data-theme=dark] .btn-bottom-cancel {
    background: #172033 !important;
    background-color: #172033 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .btn-bottom-cancel:hover {
    background: #1e293b !important;
    background-color: #1e293b !important;
    color: #ffffff !important;
    border-color: #475569 !important;
}


/* ==========================================================================
   일정관리 (schedule_view.jsp) 다크 모드 스타일
   ========================================================================== */

/* 1. 메인 컨테이너 및 캘린더 카드 */
[data-theme=dark] .calendar-card {
    background: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 25px -4px rgba(0, 0, 0, 0.45) !important;
}

/* 2. 팀 선택 탭 바 */
[data-theme=dark] .team-tab-bar {
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .team-tab {
    background: #101826 !important;
    color: #94a3b8 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .team-tab:hover {
    background: #1e293b !important;
    color: #ffffff !important;
    border-color: #475569 !important;
}

[data-theme=dark] .team-tab.active {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4) !important;
}

/* 3. 달력 헤더 및 네비게이션 버튼 */
[data-theme=dark] .cal-title {
    color: #f8fafc !important;
}

[data-theme=dark] .btn-nav {
    background: #101826 !important;
    color: #cbd5e1 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .btn-nav:hover {
    background: #1e293b !important;
    border-color: #475569 !important;
    color: #ffffff !important;
}

[data-theme=dark] .btn-today {
    background: #17243e !important;
    color: #93c5fd !important;
    border-color: #2563eb !important;
}

[data-theme=dark] .btn-today:hover {
    background: #1d335a !important;
    color: #bfdbfe !important;
    border-color: #3b82f6 !important;
}

/* 4. 6가지 구분 범례 바 */
[data-theme=dark] .legend-bar {
    background: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .legend-title {
    color: #94a3b8 !important;
}

[data-theme=dark] .legend-pill.legend-WORK {
    background: rgba(37, 99, 235, 0.18) !important;
    color: #93c5fd !important;
    border: 1px solid rgba(59, 130, 246, 0.35) !important;
}

[data-theme=dark] .legend-pill.legend-MAINTENANCE {
    background: rgba(245, 158, 11, 0.18) !important;
    color: #fcd34d !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
}

[data-theme=dark] .legend-pill.legend-VACATION {
    background: rgba(239, 68, 68, 0.18) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(239, 68, 68, 0.35) !important;
}

[data-theme=dark] .legend-pill.legend-MEETING {
    background: rgba(16, 185, 129, 0.18) !important;
    color: #6ee7b7 !important;
    border: 1px solid rgba(16, 185, 129, 0.35) !important;
}

[data-theme=dark] .legend-pill.legend-DEMO {
    background: rgba(139, 92, 246, 0.18) !important;
    color: #c4b5fd !important;
    border: 1px solid rgba(139, 92, 246, 0.35) !important;
}

[data-theme=dark] .legend-pill.legend-ETC {
    background: rgba(100, 116, 139, 0.18) !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(100, 116, 139, 0.35) !important;
}

/* 5. 달력 그리드 */
[data-theme=dark] .cal-grid-wrapper {
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.4) !important;
}

[data-theme=dark] .cal-grid {
    background: var(--bg-surface) !important;
}

[data-theme=dark] .cal-grid th {
    background: #0b1120 !important;
    border-bottom-color: var(--border-main) !important;
    border-right-color: var(--border-main) !important;
    color: #94a3b8 !important;
}

[data-theme=dark] .cal-grid th.sun {
    color: #f87171 !important;
}

[data-theme=dark] .cal-grid th.sat {
    color: #60a5fa !important;
}

[data-theme=dark] .cal-cell {
    background: var(--bg-surface) !important;
    border-bottom-color: var(--border-main) !important;
    border-right-color: var(--border-main) !important;
    color: #f1f5f9 !important;
}

[data-theme=dark] .cal-cell:hover {
    background-color: #172235 !important;
}

[data-theme=dark] .cal-cell.empty {
    background-color: #0b1120 !important;
    opacity: 0.6 !important;
}

[data-theme=dark] .cal-cell.is-today {
    background-color: #14213d !important;
}

[data-theme=dark] .date-num {
    color: #cbd5e1 !important;
}

[data-theme=dark] .cal-cell.sun .date-num {
    color: #f87171 !important;
}

[data-theme=dark] .cal-cell.sat .date-num {
    color: #60a5fa !important;
}

[data-theme=dark] .cal-cell.is-today .date-num {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.5) !important;
}

[data-theme=dark] .today-badge-text {
    background: rgba(37, 99, 235, 0.28) !important;
    color: #93c5fd !important;
    border: 1px solid rgba(59, 130, 246, 0.35) !important;
}

/* 6. 일정 칩 (Chips) */
[data-theme=dark] .schedule-list::-webkit-scrollbar-thumb {
    background: #334155 !important;
}

[data-theme=dark] .sch-WORK {
    background: rgba(37, 99, 235, 0.22) !important;
    color: #93c5fd !important;
    border: 1px solid rgba(59, 130, 246, 0.35) !important;
    border-left: 3.5px solid #3b82f6 !important;
}
[data-theme=dark] .sch-WORK:hover {
    background: #2563eb !important;
    color: #ffffff !important;
    border-color: #60a5fa !important;
}

[data-theme=dark] .sch-MAINTENANCE {
    background: rgba(245, 158, 11, 0.22) !important;
    color: #fcd34d !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
    border-left: 3.5px solid #f59e0b !important;
}
[data-theme=dark] .sch-MAINTENANCE:hover {
    background: #d97706 !important;
    color: #ffffff !important;
    border-color: #fbbf24 !important;
}

[data-theme=dark] .sch-VACATION {
    background: rgba(239, 68, 68, 0.22) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(239, 68, 68, 0.35) !important;
    border-left: 3.5px solid #ef4444 !important;
}
[data-theme=dark] .sch-VACATION:hover {
    background: #dc2626 !important;
    color: #ffffff !important;
    border-color: #f87171 !important;
}

[data-theme=dark] .sch-MEETING {
    background: rgba(16, 185, 129, 0.22) !important;
    color: #6ee7b7 !important;
    border: 1px solid rgba(16, 185, 129, 0.35) !important;
    border-left: 3.5px solid #10b981 !important;
}
[data-theme=dark] .sch-MEETING:hover {
    background: #059669 !important;
    color: #ffffff !important;
    border-color: #34d399 !important;
}

[data-theme=dark] .sch-DEMO {
    background: rgba(139, 92, 246, 0.22) !important;
    color: #c4b5fd !important;
    border: 1px solid rgba(139, 92, 246, 0.35) !important;
    border-left: 3.5px solid #8b5cf6 !important;
}
[data-theme=dark] .sch-DEMO:hover {
    background: #7c3aed !important;
    color: #ffffff !important;
    border-color: #a78bfa !important;
}

[data-theme=dark] .sch-ETC {
    background: rgba(100, 116, 139, 0.22) !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(100, 116, 139, 0.35) !important;
    border-left: 3.5px solid #94a3b8 !important;
}
[data-theme=dark] .sch-ETC:hover {
    background: #475569 !important;
    color: #ffffff !important;
    border-color: #94a3b8 !important;
}

/* 7. 일정 등록/수정 모달 */
[data-theme=dark] #scheduleModal .m-modal-box {
    background: #151d2c !important;
    border: 1px solid var(--border-main) !important;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.7) !important;
    color: #f1f5f9 !important;
}

[data-theme=dark] #scheduleModal .form-group label {
    color: #cbd5e1 !important;
}

[data-theme=dark] #scheduleModal input.m-input,
[data-theme=dark] #scheduleModal select.m-select,
[data-theme=dark] #scheduleModal textarea.m-input {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] #scheduleModal input.m-input:focus,
[data-theme=dark] #scheduleModal select.m-select:focus,
[data-theme=dark] #scheduleModal textarea.m-input:focus {
    background: #111a2e !important;
    background-color: #111a2e !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
}

[data-theme=dark] #scheduleModal .m-modal-footer {
    background: #101826 !important;
    background-color: #101826 !important;
    border-top-color: var(--border-main) !important;
}

[data-theme=dark] #scheduleModal #btnDelete {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #f87171 !important;
    border-color: rgba(239, 68, 68, 0.35) !important;
}

[data-theme=dark] #scheduleModal #btnDelete:hover {
    background: #dc2626 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   견적관리 (estimate_view.jsp) 다크 모드 스타일
   - 요청사항: 어느 화면에서도 견적서 용지(.sheet-paper)는 항상 깨끗한 하얀색 A4 서식 유지
   - 그 외 주변 UI(사이드바, 네비게이션, 상단 툴바, 캔버스 배경, 모달 팝업 등)는 다크모드 적용
   ========================================================================== */

/* 1. 메인 레이아웃 및 좌측 사이드바 */
[data-theme=dark] .main-layout {
    background: transparent !important;
}

[data-theme=dark] .tree-sidebar {
    background: var(--bg-surface) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 25px -4px rgba(0, 0, 0, 0.45) !important;
}

[data-theme=dark] .tree-header {
    background: #101826 !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .tree-header span {
    color: #f1f5f9 !important;
}

[data-theme=dark] .tree-search-box input {
    background: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .tree-search-box input:focus {
    background: #111a2e !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
}

[data-theme=dark] .tree-actions-bar label {
    color: #cbd5e1 !important;
}

[data-theme=dark] .tree-header > div:last-child {
    background: #0d1522 !important;
    border-color: var(--border-main) !important;
    color: #94a3b8 !important;
}

[data-theme=dark] .tree-body {
    background: var(--bg-surface) !important;
}

[data-theme=dark] .tree-node {
    color: #cbd5e1 !important;
}

[data-theme=dark] .tree-node:hover {
    background-color: #1e293b !important;
    color: #ffffff !important;
}

[data-theme=dark] .tree-node.active {
    background-color: #172554 !important;
    color: #93c5fd !important;
    font-weight: 700;
}

[data-theme=dark] .tree-node.active-folder {
    background-color: #1e293b !important;
    border-left: 3.5px solid #3b82f6 !important;
    color: #93c5fd !important;
    font-weight: 700;
}

[data-theme=dark] .tree-node.locked {
    color: #64748b !important;
}

[data-theme=dark] .tree-node.locked:hover {
    background: #261719 !important;
    color: #f87171 !important;
}

[data-theme=dark] .sidebar-edge-toggle {
    background: #101826 !important;
    border-color: var(--border-main) !important;
    color: #60a5fa !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45) !important;
}

[data-theme=dark] .sidebar-edge-toggle:hover {
    background: #2563eb !important;
    color: #ffffff !important;
    border-color: #2563eb !important;
}

[data-theme=dark] .sidebar-edge-toggle.collapsed {
    background: #2563eb !important;
    color: #ffffff !important;
}

[data-theme=dark] .btn-tree-share {
    background: rgba(2, 132, 199, 0.2) !important;
    color: #38bdf8 !important;
    border-color: rgba(56, 189, 248, 0.35) !important;
}

[data-theme=dark] .btn-tree-share:hover {
    background: #0284c7 !important;
    color: #ffffff !important;
}

/* 2. 우측 캔버스 영역 및 상단 툴바 */
[data-theme=dark] .content-area {
    background: #080e1a !important;
    background-color: #080e1a !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 25px -4px rgba(0, 0, 0, 0.45) !important;
}

[data-theme=dark] .top-toolbar span {
    color: #f1f5f9 !important;
}

[data-theme=dark] .current-folder-badge {
    background-color: #101826 !important;
    color: #94a3b8 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .current-folder-badge span {
    color: #93c5fd !important;
}

/* 3. [요청 핵심] 견적서 페이퍼 시트: 어느 화면에서나 항상 하얀색 A4 용지 서식 유지 */
[data-theme=dark] .sheet-paper {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #0f172a !important;
    box-shadow: 0 12px 36px -4px rgba(0, 0, 0, 0.55) !important;
}

[data-theme=dark] .sheet-paper .sheet-main-title,
[data-theme=dark] .sheet-paper .sheet-main-title input {
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper .config-bar {
    background: #f8fafc !important;
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
}

[data-theme=dark] .sheet-paper .config-bar b {
    color: #334155 !important;
}

[data-theme=dark] .sheet-paper .config-bar select {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #334155 !important;
    border: 1px solid #cbd5e1 !important;
}

[data-theme=dark] .sheet-paper .config-row {
    border-top: 1px dashed #c2d7f2 !important;
}

[data-theme=dark] .sheet-paper .company-seal-area {
    background: #fafbfc !important;
    background-color: #fafbfc !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
}

[data-theme=dark] .sheet-paper .company-seal-area b {
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper table.sheet-table {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1.2px solid #334155 !important;
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper table.sheet-table th {
    background: #f8fafc !important;
    background-color: #f8fafc !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
}

[data-theme=dark] .sheet-paper table.sheet-table td {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
}

[data-theme=dark] .sheet-paper table.sheet-table tfoot tr {
    background: #fcfcfc !important;
    background-color: #fcfcfc !important;
}

[data-theme=dark] .sheet-paper table.sheet-table tfoot td {
    background: #fcfcfc !important;
    background-color: #fcfcfc !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
}

[data-theme=dark] .sheet-paper table.sheet-table tfoot tr#discountRow {
    background: #fffcfc !important;
    background-color: #fffcfc !important;
}

[data-theme=dark] .sheet-paper table.sheet-table tfoot tr#discountRow td {
    color: #d93025 !important;
}

[data-theme=dark] .sheet-paper input.cell-input,
[data-theme=dark] .sheet-paper select.cell-select,
[data-theme=dark] .sheet-paper textarea.cell-textarea {
    color: #0f172a !important;
    background: transparent !important;
}

[data-theme=dark] .sheet-paper input.cell-input:focus,
[data-theme=dark] .sheet-paper textarea.cell-textarea:focus,
[data-theme=dark] .sheet-paper select.cell-select:focus {
    outline: 2px solid #2563eb !important;
    background: #eff6ff !important;
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper .section-label {
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper .section-label span {
    color: #444444 !important;
}

[data-theme=dark] .sheet-paper .editable-inline {
    background: #f8fafc !important;
    background-color: #f8fafc !important;
    color: #0f172a !important;
    border: 1px solid #e2e8f0 !important;
}

[data-theme=dark] .sheet-paper .editable-inline:focus {
    background: #ffffff !important;
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

[data-theme=dark] .sheet-paper .note-container {
    border-top: 1.2px solid #334155 !important;
    color: #334155 !important;
}

[data-theme=dark] .sheet-paper .note-row {
    color: #334155 !important;
}

[data-theme=dark] .sheet-paper #manager_name_display {
    color: #222222 !important;
}

[data-theme=dark] .sheet-paper #raw_price_display {
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper #final_price_input {
    color: #0b57d0 !important;
}

[data-theme=dark] .sheet-paper .btn-small-add {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
}
[data-theme=dark] .sheet-paper .btn-small-add:hover {
    background: #2563eb !important;
    color: #ffffff !important;
}

[data-theme=dark] .sheet-paper .btn-small-discount {
    background: #fef2f2 !important;
    color: #dc2626 !important;
    border: 1px solid #fecaca !important;
}
[data-theme=dark] .sheet-paper .btn-small-discount:hover {
    background: #ef4444 !important;
    color: #ffffff !important;
}

[data-theme=dark] .sheet-paper .btn-row-del {
    background: #fee2e2 !important;
    color: #dc2626 !important;
    border: 1px solid #fecaca !important;
}
[data-theme=dark] .sheet-paper .btn-row-del:hover {
    background: #dc2626 !important;
    color: #ffffff !important;
}

[data-theme=dark] .sheet-paper .btn-open-wage {
    background: #eff6ff !important;
    color: #2563eb !important;
    border: 1px solid #bfdbfe !important;
}
[data-theme=dark] .sheet-paper .btn-open-wage:hover {
    background: #2563eb !important;
    color: #ffffff !important;
}

/* 4. 모달창 다크모드 (노임단가, 템플릿, 저장 등) */
[data-theme=dark] .modal-box {
    background: #151d2c !important;
    background-color: #151d2c !important;
    border-color: var(--border-main) !important;
    color: #f1f5f9 !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7) !important;
}

[data-theme=dark] .modal-box > div:not(.modal-title):not(.modal-footer) {
    color: #f1f5f9 !important;
}

[data-theme=dark] .modal-box input,
[data-theme=dark] .modal-box select,
[data-theme=dark] .modal-box textarea {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .modal-box input:focus,
[data-theme=dark] .modal-box select:focus,
[data-theme=dark] .modal-box textarea:focus {
    background: #111a2e !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
}

[data-theme=dark] .modal-box label {
    color: #cbd5e1 !important;
}

[data-theme=dark] .modal-box .modal-footer {
    background: #101826 !important;
    border-top-color: var(--border-main) !important;
}

[data-theme=dark] .wage-card {
    background: #101826 !important;
    background-color: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .wage-card:hover {
    background: #172033 !important;
    border-color: #3b82f6 !important;
}

[data-theme=dark] .wage-card-header span {
    color: #f8fafc !important;
}

[data-theme=dark] .wage-card table.sheet-table th {
    background: #0b1120 !important;
    background-color: #0b1120 !important;
    color: #94a3b8 !important;
    border-color: #334155 !important;
}

[data-theme=dark] .wage-card table.sheet-table td {
    background: #101826 !important;
    background-color: #101826 !important;
    color: #f1f5f9 !important;
    border-color: #334155 !important;
}

[data-theme=dark] .wage-card table.sheet-table input {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #f1f5f9 !important;
    border: 1px solid var(--border-main) !important;
}

[data-theme=dark] #addWageBox {
    background: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .template-card {
    background: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .template-card:hover {
    background: #172033 !important;
    border-color: #3b82f6 !important;
}

[data-theme=dark] .template-card h4 {
    color: #93c5fd !important;
}

[data-theme=dark] .template-card p {
    color: #94a3b8 !important;
}

[data-theme=dark] .user-perm-list {
    background: #0d1522 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .user-perm-item {
    color: #cbd5e1 !important;
}

[data-theme=dark] .user-perm-item:hover {
    background: #1e293b !important;
    color: #ffffff !important;
}

[data-theme=dark] .context-menu {
    background: #151d2c !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.6) !important;
}

[data-theme=dark] .context-item {
    color: #cbd5e1 !important;
}

[data-theme=dark] .context-item:hover {
    background-color: #1e293b !important;
    color: #60a5fa !important;
}

[data-theme=dark] .context-divider {
    background: var(--border-main) !important;
}

/* 5. 주소공유(share-mode) 및 인쇄/PDF 내보내기 시 흰색 유지 */
@media print {
    html, body {
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: #0f172a !important;
    }
    [data-theme=dark] body,
    [data-theme=dark] .main-layout,
    [data-theme=dark] .content-area,
    [data-theme=dark] .sheet-paper {
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: #0f172a !important;
        border: none !important;
        box-shadow: none !important;
    }
    .tree-sidebar, .sidebar-edge-toggle, .schedule-hero-banner, .top-toolbar, .config-bar,
    .btn-tree-share, .btn-small-add, .btn-small-discount, .btn-row-del, .btn-open-wage,
    nav, .main-nav, #sidebarEdgeToggleBtn, .no-print {
        display: none !important;
    }
    .content-area {
        background: #ffffff !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .sheet-paper {
        background: #ffffff !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        color: #0f172a !important;
    }
    table.sheet-table {
        background: #ffffff !important;
        border: 1.2px solid #334155 !important;
        color: #0f172a !important;
    }
    table.sheet-table th {
        background-color: #f1f5f9 !important;
        color: #0f172a !important;
        border: 1px solid #cbd5e1 !important;
    }
    table.sheet-table td {
        background-color: #ffffff !important;
        color: #0f172a !important;
        border: 1px solid #cbd5e1 !important;
    }
    input.cell-input, select.cell-select, textarea.cell-textarea, .editable-inline {
        color: #0f172a !important;
        background: transparent !important;
        border: none !important;
    }
    .section-label, .sheet-main-title, .company-box, .company-seal-area, .note-container, .note-sec {
        color: #0f172a !important;
    }
    .company-box, .company-seal-area {
        background: #fafbfc !important;
        border: 1px solid #cbd5e1 !important;
    }
}

/* ========================================================
   [DATA-THEME=DARK] 견적서 용지 내부 마우스 오버 시 까맣게 나오는 현상 방지
   ======================================================== */
[data-theme=dark] .sheet-paper table.sheet-table tr:hover td,
[data-theme=dark] .sheet-paper table.sheet-table tbody tr:hover td,
[data-theme=dark] .sheet-paper table.sheet-table tr.sw-item-row:hover td,
[data-theme=dark] .sheet-paper table.sheet-table tr.mp-row:hover td,
[data-theme=dark] .sheet-paper .clickable-row:hover td {
    background: #f1f7ff !important;
    background-color: #f1f7ff !important;
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper table.sheet-table td:hover {
    background: #e6f0fa !important;
    background-color: #e6f0fa !important;
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper table.sheet-table tr:hover input,
[data-theme=dark] .sheet-paper table.sheet-table tr:hover select,
[data-theme=dark] .sheet-paper table.sheet-table tr:hover textarea {
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper input.cell-input:hover,
[data-theme=dark] .sheet-paper select.cell-select:hover,
[data-theme=dark] .sheet-paper textarea.cell-textarea:hover {
    background: #f8fbff !important;
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper .saas-tier-item:hover {
    background: #f1f5f9 !important;
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
}

[data-theme=dark] .sheet-paper tfoot tr:hover td {
    background: #f8fafc !important;
    background-color: #f8fafc !important;
    color: #1e293b !important;
}

[data-theme=dark] .sheet-paper .note-row:hover {
    background-color: #f8fafc !important;
}

[data-theme=dark] .btn-new:hover {
    background: #2563eb !important;
    border-color: #3b82f6 !important;
    color: #ffffff !important;
}
/* ========================================================
   [DATA-THEME=DARK] 사내 자료실 (data_list, data_view, data_form) 완벽 다크모드
   ======================================================== */
[data-theme=dark] .data-sidebar-card {
    background: var(--bg-surface, #151d2c) !important;
    background-color: var(--bg-surface, #151d2c) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.45) !important;
}

[data-theme=dark] .data-sidebar-header {
    background: #111a2e !important;
    background-color: #111a2e !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .data-sidebar-title {
    color: #f8fafc !important;
}

[data-theme=dark] .data-sidebar-badge {
    background: #1e293b !important;
    color: #93c5fd !important;
    border-color: #334155 !important;
}

[data-theme=dark] .data-nav-item {
    background: #151d2c !important;
    background-color: #151d2c !important;
    color: #cbd5e1 !important;
    border-color: transparent !important;
}

[data-theme=dark] .data-nav-item:hover {
    background: #1c2638 !important;
    background-color: #1c2638 !important;
    border-color: #334155 !important;
    color: #ffffff !important;
}

[data-theme=dark] .data-nav-item.active {
    background: rgba(37, 99, 235, 0.18) !important;
    background-color: rgba(37, 99, 235, 0.18) !important;
    color: #93c5fd !important;
    border-color: rgba(59, 130, 246, 0.45) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25) !important;
}

[data-theme=dark] .data-nav-item .nav-item-icon {
    background: #1c2638 !important;
    color: #cbd5e1 !important;
}

[data-theme=dark] .data-nav-item:hover .nav-item-icon {
    background: #2563eb !important;
    color: #ffffff !important;
}

[data-theme=dark] .data-nav-item.active .nav-item-icon {
    background: #2563eb !important;
    color: #ffffff !important;
}

[data-theme=dark] .data-nav-item .nav-item-title {
    color: #e2e8f0 !important;
}

[data-theme=dark] .data-nav-item.active .nav-item-title {
    color: #93c5fd !important;
    font-weight: 800 !important;
}

[data-theme=dark] .data-nav-item .nav-item-sub {
    color: #94a3b8 !important;
}

[data-theme=dark] .data-nav-item .nav-item-count {
    background: #1e293b !important;
    color: #94a3b8 !important;
}

[data-theme=dark] .data-nav-item.active .nav-item-count {
    background: #2563eb !important;
    color: #ffffff !important;
}

[data-theme=dark] .content-card {
    background: var(--bg-surface, #151d2c) !important;
    background-color: var(--bg-surface, #151d2c) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 25px -4px rgba(0, 0, 0, 0.5) !important;
}

[data-theme=dark] .page-section-title {
    color: #f8fafc !important;
}

[data-theme=dark] .page-section-title span:last-child {
    color: #60a5fa !important;
}

[data-theme=dark] .table-responsive {
    background: #101826 !important;
    background-color: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] table.data-table th {
    background: #0d1522 !important;
    background-color: #0d1522 !important;
    color: #94a3b8 !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .sort-link {
    color: #94a3b8 !important;
}

[data-theme=dark] .sort-link:hover {
    color: #60a5fa !important;
}

[data-theme=dark] table.data-table td {
    background: transparent !important;
    border-bottom-color: var(--border-main) !important;
    color: #cbd5e1 !important;
}

[data-theme=dark] .data-title-text {
    color: #f1f5f9 !important;
}

[data-theme=dark] .clickable-row:hover td {
    background-color: #1a2538 !important;
}

[data-theme=dark] .clickable-row:hover .data-title-text {
    color: #60a5fa !important;
}

[data-theme=dark] table.data-table td[style*='color: #475569'] {
    color: #cbd5e1 !important;
}

[data-theme=dark] table.data-table td[style*='color: #94a3b8'] {
    color: #94a3b8 !important;
}

[data-theme=dark] .editor-pane,
[data-theme=dark] .preview-pane {
    background: #111a2e !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .pane-header {
    background: #0d1522 !important;
    border-bottom-color: var(--border-main) !important;
    color: #94a3b8 !important;
}

[data-theme=dark] .markdown-textarea {
    background: #101826 !important;
    color: #f1f5f9 !important;
}

[data-theme=dark] .markdown-textarea:focus {
    background: #131d2e !important;
}

[data-theme=dark] .preview-box {
    background: #101826 !important;
    color: #cbd5e1 !important;
}

[data-theme=dark] .btn-bar .m-btn-danger {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #f87171 !important;
    border-color: rgba(239, 68, 68, 0.35) !important;
}

[data-theme=dark] .btn-bar .m-btn-danger:hover {
    background: #ef4444 !important;
    color: #ffffff !important;
    border-color: #ef4444 !important;
}
/* ========================================================
   [DATA-THEME=DARK] 시스템 관리 (admin_manage.jsp) 완벽 다크모드
   ======================================================== */
[data-theme=dark] .admin-sidebar-card {
    background: var(--bg-surface, #151d2c) !important;
    background-color: var(--bg-surface, #151d2c) !important;
    border-color: var(--border-main) !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.45) !important;
}

[data-theme=dark] .admin-sidebar-header {
    background: #111a2e !important;
    background-color: #111a2e !important;
    border-bottom-color: var(--border-main) !important;
}

[data-theme=dark] .admin-sidebar-title {
    color: #f8fafc !important;
}

[data-theme=dark] .admin-nav-item {
    background: #151d2c !important;
    background-color: #151d2c !important;
    color: #cbd5e1 !important;
    border-color: transparent !important;
}

[data-theme=dark] .admin-nav-item:hover {
    background: #1c2638 !important;
    background-color: #1c2638 !important;
    color: #ffffff !important;
}

[data-theme=dark] .admin-nav-item.active {
    background: rgba(37, 99, 235, 0.18) !important;
    background-color: rgba(37, 99, 235, 0.18) !important;
    color: #93c5fd !important;
    border-color: rgba(59, 130, 246, 0.45) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25) !important;
}

[data-theme=dark] .admin-nav-item .nav-item-icon {
    background: #1c2638 !important;
    color: #94a3b8 !important;
}

[data-theme=dark] .admin-nav-item.active .nav-item-icon {
    background: #2563eb !important;
    color: #ffffff !important;
}

[data-theme=dark] .admin-nav-item .nav-item-title {
    color: #e2e8f0 !important;
}

[data-theme=dark] .admin-nav-item.active .nav-item-title {
    color: #93c5fd !important;
    font-weight: 800 !important;
}

[data-theme=dark] .admin-nav-item .nav-item-desc {
    color: #94a3b8 !important;
}

[data-theme=dark] .admin-nav-item .nav-item-badge {
    background: #1e293b !important;
    color: #94a3b8 !important;
}

[data-theme=dark] .admin-nav-item.active .nav-item-badge {
    background: #2563eb !important;
    color: #ffffff !important;
}

[data-theme=dark] .team-add-card,
[data-theme=dark] .media-upload-card {
    background: #101826 !important;
    background-color: #101826 !important;
    border-color: var(--border-main) !important;
}

[data-theme=dark] .team-add-card span {
    color: #f8fafc !important;
}

[data-theme=dark] .media-preview-box {
    background: #ffffff !important;
    border-color: #334155 !important;
}

[data-theme=dark] .unassigned-row td {
    background-color: #241c10 !important;
    color: #fde68a !important;
}

[data-theme=dark] .unassigned-row:hover td {
    background-color: #312515 !important;
}

[data-theme=dark] .modal-pw-box {
    background: #101826 !important;
    background-color: #101826 !important;
    border-color: var(--border-main) !important;
    color: #cbd5e1 !important;
}