/* ========================================================================
   DR Inventory - Dark Theme
   ======================================================================== */

:root[data-theme="dark"] {
    color-scheme: dark;

    --topnav-bg: #171A22;
    --topnav-border: #2A2E3A;
    --submenu-bg: #171A22;
    --submenu-border: #2A2E3A;
    --submenu-active-bg: rgba(109, 141, 255, 0.16);
    --content-bg: #0F1117;

    --color-primary: #6D8DFF;
    --color-primary-hover: #8EA5FF;
    --color-primary-light: rgba(109, 141, 255, 0.16);
    --color-success: #35D39B;
    --color-success-hover: #5CE0B0;
    --color-success-light: rgba(53, 211, 155, 0.14);
    --color-danger: #FF6B75;
    --color-danger-hover: #FF8790;
    --color-danger-light: rgba(255, 107, 117, 0.14);
    --color-warning: #FFB454;
    --color-warning-hover: #FFC878;
    --color-warning-light: rgba(255, 180, 84, 0.15);
    --color-info: #38BDF8;
    --color-info-light: rgba(56, 189, 248, 0.14);

    --color-border: #353A49;
    --color-border-light: #272B36;
    --color-bg-card: #1A1D26;
    --color-text: #F1F3F7;
    --color-text-primary: #F1F3F7;
    --color-text-secondary: #B3BBCB;
    --color-text-muted: #798295;
    --color-text-white: #FFFFFF;
    --color-gray-50: #151821;
    --color-gray-100: #1F2330;
    --color-gray-200: #282D3A;
    --color-gray-300: #353A49;
    --color-gray-400: #4B5264;
    --color-gray-500: #798295;
    --color-gray-600: #A5ADBD;
    --color-gray-700: #D7DCE6;

    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.36);
    --shadow-md: 0 10px 28px rgba(0, 0, 0, 0.32);
}

:root[data-theme="dark"] img,
:root[data-theme="dark"] iframe {
    color-scheme: normal;
}

:root[data-theme="dark"] .top-nav,
:root[data-theme="dark"] .sub-menu,
:root[data-theme="dark"] .workspace-tabs {
    box-shadow: none;
}

:root[data-theme="dark"] .workspace-split-placeholder-inner {
    background:
        linear-gradient(180deg, rgba(26, 29, 38, 0.94), rgba(15, 17, 23, 0.98)),
        radial-gradient(circle at top, rgba(109, 141, 255, 0.12), transparent 55%);
}

:root[data-theme="dark"] .workspace-tab-secondary {
    color: #8CCFFF;
    border-color: rgba(56, 189, 248, 0.32);
    background-color: rgba(56, 189, 248, 0.12);
}

:root[data-theme="dark"] .form-input,
:root[data-theme="dark"] .form-select,
:root[data-theme="dark"] .form-textarea,
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea {
    color-scheme: dark;
}

:root[data-theme="dark"] .form-input::placeholder,
:root[data-theme="dark"] textarea::placeholder,
:root[data-theme="dark"] input::placeholder {
    color: var(--color-text-muted);
}

:root[data-theme="dark"] .btn-outline-secondary {
    color: var(--color-text-secondary);
    border-color: var(--color-gray-400);
}

:root[data-theme="dark"] .btn-outline-secondary:hover {
    color: var(--color-text-white);
    background-color: var(--color-gray-300);
    border-color: var(--color-gray-300);
}

:root[data-theme="dark"] .badge-warning {
    color: #FFD89A;
}

:root[data-theme="dark"] .ops-toolbar-card {
    border-color: rgba(109, 141, 255, 0.22);
    background:
        radial-gradient(circle at top right, rgba(109, 141, 255, 0.18), transparent 34%),
        linear-gradient(135deg, #1B1F2B 0%, #171B25 58%, #141923 100%);
    box-shadow: var(--shadow-md);
}

:root[data-theme="dark"] .ops-toolbar-card::after {
    background: radial-gradient(circle, rgba(53, 211, 155, 0.12), rgba(53, 211, 155, 0));
}

:root[data-theme="dark"] .ops-toolbar-kicker {
    background: rgba(109, 141, 255, 0.16);
    color: #B9C7FF;
}

:root[data-theme="dark"] .ops-toolbar-title,
:root[data-theme="dark"] .ops-toolbar-field .form-label,
:root[data-theme="dark"] .ops-toolbar-field .filter-label,
:root[data-theme="dark"] .ops-toolbar-field label {
    color: var(--color-text);
}

:root[data-theme="dark"] .ops-toolbar-description,
:root[data-theme="dark"] .ops-toolbar-hint,
:root[data-theme="dark"] .ops-toolbar-separator {
    color: var(--color-text-secondary);
}

:root[data-theme="dark"] .ops-toolbar-badge,
:root[data-theme="dark"] .ops-toolbar-field .form-input,
:root[data-theme="dark"] .ops-toolbar-field .form-select,
:root[data-theme="dark"] .ops-toolbar-field .filter-input,
:root[data-theme="dark"] .ops-toolbar-field .filter-select {
    border-color: rgba(109, 141, 255, 0.28);
    background: rgba(26, 29, 38, 0.92);
    color: var(--color-text);
    box-shadow: none;
}

:root[data-theme="dark"] .ez-tab-item.active {
    border-color: var(--color-border) var(--color-border) var(--color-bg-card);
}

:root[data-theme="dark"] .ez-form-table th,
:root[data-theme="dark"] .modal-info-table th,
:root[data-theme="dark"] .audit-diff-table .audit-diff-key {
    background-color: var(--color-gray-100);
}

:root[data-theme="dark"] .ez-form-section-title {
    background-color: var(--color-gray-200);
}

:root[data-theme="dark"] .modal-iframe {
    background-color: var(--content-bg);
}

:root[data-theme="dark"] .audit-diff-table tr.audit-field-changed td {
    background-color: rgba(255, 180, 84, 0.12);
}

:root[data-theme="dark"] .audit-diff-table tr.audit-field-changed td.audit-diff-key {
    background-color: rgba(255, 180, 84, 0.18);
}

:root[data-theme="dark"] .login-body {
    background-color: var(--content-bg);
}

:root[data-theme="dark"] .login-card {
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.42);
}

:root[data-theme="dark"] .external-oauth-divider {
    color: var(--color-text-muted);
}

:root[data-theme="dark"] .external-oauth-divider::before,
:root[data-theme="dark"] .external-oauth-divider::after {
    background: var(--color-border);
}

:root[data-theme="dark"] .external-oauth-label,
:root[data-theme="dark"] .external-oauth-hint {
    color: var(--color-text-secondary);
}

:root[data-theme="dark"] .external-oauth-row .btn,
:root[data-theme="dark"] .external-oauth-generic {
    background: var(--color-gray-100);
    color: var(--color-text);
    border-color: var(--color-border);
}

:root[data-theme="dark"] .external-oauth-google {
    background: var(--color-bg-card);
    color: var(--color-text);
    border-color: var(--color-border);
}

:root[data-theme="dark"] .swal2-popup,
:root[data-theme="dark"] .session-login-modal {
    background: var(--color-bg-card);
    color: var(--color-text);
}

:root[data-theme="dark"] .swal2-title,
:root[data-theme="dark"] .session-login-header h3 {
    color: var(--color-text);
}

:root[data-theme="dark"] .swal2-html-container,
:root[data-theme="dark"] .session-login-header p,
:root[data-theme="dark"] .session-login-field label {
    color: var(--color-text-secondary);
}

:root[data-theme="dark"] .session-login-field input {
    background: var(--color-gray-100);
    border-color: var(--color-border);
    color: var(--color-text);
}

:root[data-theme="dark"] .session-login-error {
    background: var(--color-danger-light);
    border-color: rgba(255, 107, 117, 0.28);
    color: var(--color-danger);
}

:root[data-theme="dark"] .dataTables_processing {
    background-color: rgba(26, 29, 38, 0.94);
}

:root[data-theme="dark"] .dataTables_wrapper.dt-scroll-enabled .dt-toolbar,
:root[data-theme="dark"] .dataTables_wrapper.dt-scroll-enabled .dt-footer {
    background-color: var(--color-bg-card);
}

/* 고정 헤더 위 가림막 캡 다크 배경 (style-components.css 의 th::before 캡 대응) */
:root[data-theme="dark"] .dataTables_wrapper.dt-scroll-enabled table.dataTable.dt-fixed-header thead th::before {
    background-color: var(--color-bg-card);
}

:root[data-theme="dark"] table.dataTable tbody tr.selected {
    background-color: rgba(56, 189, 248, 0.18) !important;
}

:root[data-theme="dark"] .select2-dropdown {
    background: var(--color-bg-card);
    border-color: var(--color-border);
    color: var(--color-text);
}

:root[data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--color-gray-100);
    color: var(--color-text);
    border-color: var(--color-border);
}

:root[data-theme="dark"] .flatpickr-calendar {
    background: var(--color-bg-card);
    border-color: var(--color-border);
    color: var(--color-text);
}

:root[data-theme="dark"] .flatpickr-months,
:root[data-theme="dark"] .flatpickr-weekdays,
:root[data-theme="dark"] .flatpickr-days {
    background: var(--color-bg-card);
}

:root[data-theme="dark"] .flatpickr-day {
    color: var(--color-text);
}

:root[data-theme="dark"] .flatpickr-day.prevMonthDay,
:root[data-theme="dark"] .flatpickr-day.nextMonthDay {
    color: var(--color-text-muted);
}

:root[data-theme="dark"] .flatpickr-day:hover {
    background-color: var(--color-gray-100);
    border-color: var(--color-gray-100);
}

:root[data-theme="dark"] .er-widget,
:root[data-theme="dark"] .er-popover,
:root[data-theme="dark"] .messenger-float-panel {
    background: var(--color-bg-card);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-md);
}

:root[data-theme="dark"] .er-widget-header,
:root[data-theme="dark"] .messenger-float-header {
    background: #11141B;
    color: var(--color-text-white);
}

:root[data-theme="dark"] .er-rate-row:hover,
:root[data-theme="dark"] .er-widget-footer,
:root[data-theme="dark"] .er-popover label:hover {
    background: var(--color-gray-100);
}

:root[data-theme="dark"] .er-rate-pair,
:root[data-theme="dark"] .er-rate-value,
:root[data-theme="dark"] .er-popover label {
    color: var(--color-text);
}

:root[data-theme="dark"] .er-rate-tts,
:root[data-theme="dark"] .er-widget-date,
:root[data-theme="dark"] .er-popover-title,
:root[data-theme="dark"] .messenger-float-loading {
    color: var(--color-text-secondary);
}

:root[data-theme="dark"] .er-widget-footer,
:root[data-theme="dark"] .er-popover-title {
    border-color: var(--color-border);
}

:root[data-theme="dark"] .dr-help-modal,
:root[data-theme="dark"] .dr-help-content,
:root[data-theme="dark"] .dr-help-panel,
:root[data-theme="dark"] .dr-help-sidebar-card,
:root[data-theme="dark"] .dr-help-shortcut-key {
    background: var(--color-bg-card);
    color: var(--color-text);
    border-color: var(--color-border);
}

:root[data-theme="dark"] .dr-help-modal-header {
    border-color: var(--color-border);
    background:
        radial-gradient(circle at top left, rgba(109, 141, 255, 0.16), transparent 42%),
        linear-gradient(180deg, #1E2330 0%, var(--color-bg-card) 100%);
}

:root[data-theme="dark"] .dr-help-sidebar,
:root[data-theme="dark"] .dr-help-shortcut,
:root[data-theme="dark"] .dr-help-empty,
:root[data-theme="dark"] .dr-help-inline-note,
:root[data-theme="dark"] .dr-help-screenshot-wrap {
    background: var(--color-gray-100);
    border-color: var(--color-border);
}

:root[data-theme="dark"] .dr-help-modal-heading h2,
:root[data-theme="dark"] .dr-help-sidebar-title,
:root[data-theme="dark"] .dr-help-panel-header h3,
:root[data-theme="dark"] .dr-help-section h4 {
    color: var(--color-text);
}

:root[data-theme="dark"] .dr-help-modal-kicker,
:root[data-theme="dark"] .dr-help-modal-heading p,
:root[data-theme="dark"] .dr-help-sidebar-text,
:root[data-theme="dark"] .dr-help-sidebar-list,
:root[data-theme="dark"] .dr-help-panel-header p,
:root[data-theme="dark"] .dr-help-list,
:root[data-theme="dark"] .dr-help-shortcut-text,
:root[data-theme="dark"] .dr-help-screenshot-meta,
:root[data-theme="dark"] .dr-help-screenshot-empty,
:root[data-theme="dark"] .dr-help-empty,
:root[data-theme="dark"] .dr-help-inline-note {
    color: var(--color-text-secondary);
}

:root[data-theme="dark"] .dr-help-tab,
:root[data-theme="dark"] .dr-help-close {
    background: var(--color-bg-card);
    border-color: var(--color-border);
    color: var(--color-text-secondary);
}

:root[data-theme="dark"] .dr-help-tab:hover,
:root[data-theme="dark"] .dr-help-close:hover,
:root[data-theme="dark"] .dr-help-shortcut-key {
    color: var(--color-primary);
    border-color: var(--color-primary);
}

:root[data-theme="dark"] .dr-help-badge {
    background: var(--color-primary-light);
    color: var(--color-primary);
}
