/* Dark Mode Modal Styles - Comprehensive Coverage */

/* Base modal styles */
[data-theme="dark"] .modal,
body.dark-mode .modal {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

/* Modal content */
[data-theme="dark"] .modal-content,
body.dark-mode .modal-content {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    color: var(--text-primary, #e4e4e4) !important;
    border: 1px solid var(--border-color, #404040) !important;
}

/* Modal header */
[data-theme="dark"] .modal-header,
body.dark-mode .modal-header {
    background-color: var(--bg-tertiary, #3a3a3a) !important;
    color: var(--text-primary, #e4e4e4) !important;
    border-bottom: 1px solid var(--border-color, #404040) !important;
}

/* Modal body */
[data-theme="dark"] .modal-body,
body.dark-mode .modal-body {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    color: var(--text-primary, #e4e4e4) !important;
}

/* Modal footer */
[data-theme="dark"] .modal-footer,
[data-theme="dark"] .modal-actions,
body.dark-mode .modal-footer,
body.dark-mode .modal-actions {
    background-color: var(--bg-tertiary, #3a3a3a) !important;
    border-top: 1px solid var(--border-color, #404040) !important;
}

/* Modal close button */
[data-theme="dark"] .modal-close,
body.dark-mode .modal-close {
    color: var(--text-primary, #e4e4e4) !important;
    opacity: 0.8;
}

[data-theme="dark"] .modal-close:hover,
body.dark-mode .modal-close:hover {
    color: var(--text-primary, #e4e4e4) !important;
    opacity: 1;
}

/* Modal titles */
[data-theme="dark"] .modal-header h2,
[data-theme="dark"] .modal-header h3,
[data-theme="dark"] .modal-header h4,
[data-theme="dark"] .modal-title,
body.dark-mode .modal-header h2,
body.dark-mode .modal-header h3,
body.dark-mode .modal-header h4,
body.dark-mode .modal-title {
    color: var(--text-primary, #e4e4e4) !important;
}

/* Form controls in modals */
[data-theme="dark"] .modal input,
[data-theme="dark"] .modal textarea,
[data-theme="dark"] .modal select,
body.dark-mode .modal input,
body.dark-mode .modal textarea,
body.dark-mode .modal select {
    background-color: var(--bg-primary, #1a1a1a) !important;
    color: var(--text-primary, #e4e4e4) !important;
    border: 1px solid var(--border-color, #404040) !important;
}

[data-theme="dark"] .modal input:focus,
[data-theme="dark"] .modal textarea:focus,
[data-theme="dark"] .modal select:focus,
body.dark-mode .modal input:focus,
body.dark-mode .modal textarea:focus,
body.dark-mode .modal select:focus {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    border-color: var(--input-focus-border, #5a9fd4) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(90, 159, 212, 0.1) !important;
}

/* Labels in modals */
[data-theme="dark"] .modal label,
body.dark-mode .modal label {
    color: var(--text-primary, #e4e4e4) !important;
}

/* Specific modal IDs */
[data-theme="dark"] #set-modal,
[data-theme="dark"] #add-term-modal,
[data-theme="dark"] #bulk-upload-modal,
[data-theme="dark"] #edit-term-modal,
body.dark-mode #set-modal,
body.dark-mode #add-term-modal,
body.dark-mode #bulk-upload-modal,
body.dark-mode #edit-term-modal {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

[data-theme="dark"] #set-modal .modal-content,
[data-theme="dark"] #add-term-modal .modal-content,
[data-theme="dark"] #bulk-upload-modal .modal-content,
[data-theme="dark"] #edit-term-modal .modal-content,
body.dark-mode #set-modal .modal-content,
body.dark-mode #add-term-modal .modal-content,
body.dark-mode #bulk-upload-modal .modal-content,
body.dark-mode #edit-term-modal .modal-content {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    color: var(--text-primary, #e4e4e4) !important;
}

/* Modal buttons */
[data-theme="dark"] .modal .btn-primary,
body.dark-mode .modal .btn-primary {
    background-color: #3182ce !important;
    color: #ffffff !important;
    border-color: #3182ce !important;
}

[data-theme="dark"] .modal .btn-primary:hover,
body.dark-mode .modal .btn-primary:hover {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
}

[data-theme="dark"] .modal .btn-secondary,
body.dark-mode .modal .btn-secondary {
    background-color: var(--bg-tertiary, #3a3a3a) !important;
    color: var(--text-primary, #e4e4e4) !important;
    border: 1px solid var(--border-color, #404040) !important;
}

[data-theme="dark"] .modal .btn-secondary:hover,
body.dark-mode .modal .btn-secondary:hover {
    background-color: var(--bg-primary, #1a1a1a) !important;
    border-color: var(--text-secondary, #b0b0b0) !important;
}

/* Help text in modals */
[data-theme="dark"] .modal .help-text,
[data-theme="dark"] .modal small,
[data-theme="dark"] .modal .form-text,
body.dark-mode .modal .help-text,
body.dark-mode .modal small,
body.dark-mode .modal .form-text {
    color: var(--text-muted, #808080) !important;
}

/* Checkboxes in modals */
[data-theme="dark"] .modal input[type="checkbox"],
[data-theme="dark"] .modal input[type="radio"],
body.dark-mode .modal input[type="checkbox"],
body.dark-mode .modal input[type="radio"] {
    background-color: var(--bg-primary, #1a1a1a) !important;
    border-color: var(--border-color, #404040) !important;
}

/* Required field indicators */
[data-theme="dark"] .modal .required,
body.dark-mode .modal .required {
    color: #ef4444 !important;
}

/* Modal overlays */
[data-theme="dark"] .modal-backdrop,
body.dark-mode .modal-backdrop {
    background-color: rgba(0, 0, 0, 0.8) !important;
}