/* Dark Mode */
body.dark-mode {
    --background-color: #1a1a2e;
    --card-background: #16213e;
    --primary-blue: #233a59;
    --primary-orange: var(--custom-primary-orange);
    --secondary-orange: #ff9d47;
    --light-gray: #343a40;
    --medium-gray: #4a4e69;
    --dark-gray: #b0b0bb;
    --text-color: #e0e0e0;
    --white: #1a1a2e;
    --success-color: #28a745;
    --warning-color: #ffc107;
    --danger-color: #dc3545;
    --due-soon-color: #fd7e14;
    --calendar-event-color: #0d6efd;
    --calendar-task-color: var(--primary-orange);
    --text-color-primary: #e0e0e0;
    --text-color-secondary: #b0b0bb;

    --focus-mode-bg: #1a1a2e;
    --focus-mode-fg: #e0e0e0;
    --focus-mode-timer-bg: #233a59;
    --focus-mode-timer-color: #e0e0e0;

    background-color: var(--background-color);
    color: var(--text-color);
}

body.dark-mode .sidebar {
    background-color: var(--primary-blue);
    color: var(--text-color);
}

body.dark-mode .sidebar-header .profile-picture {
    border-color: var(--text-color);
}

body.dark-mode .nav-btn:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

body.dark-mode .nav-btn.active {
    background-color: var(--primary-orange);
}

body.dark-mode .info-widget {
    background-color: rgba(255, 255, 255, 0.05);
}

body.dark-mode .sidebar-footer {
    border-top-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .logout-btn {
    border-color: var(--text-color);
    color: var(--text-color);
}

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4 {
    color: var(--text-color-primary);
}

body.dark-mode .content-section {
    background-color: var(--background-color);
}

body.dark-mode .form-container,
body.dark-mode .task-item,
body.dark-mode .settings-card,
body.dark-mode .achievement-card,
body.dark-mode .sv5t-card,
body.dark-mode .modal-content,
body.dark-mode .sv5t-side-panel,
body.dark-mode .login-box,
body.dark-mode .proof-table-container,
body.dark-mode .project-card,
body.dark-mode .quick-add-container,
body.dark-mode .doc-card,
body.dark-mode .outline-list-column,
body.dark-mode .outline-editor-column {
    background-color: var(--card-background);
    box-shadow: 0 4px 15px rgba(0, 0, 0, .2);
}

body.dark-mode .task-item {
    border-left-color: var(--primary-blue);
}

body.dark-mode .task-item.due-soon {
    border-left-color: var(--due-soon-color);
}

body.dark-mode .task-item.overdue {
    border-left-color: var(--danger-color);
}

body.dark-mode .task-item.completed {
    background-color: #232a3f;
    border-left-color: var(--success-color);
}

body.dark-mode .task-ticker-container {
    background-color: rgba(220, 53, 69, 0.1);
}

body.dark-mode .form-group label {
    color: var(--text-color-primary);
}

body.dark-mode input,
body.dark-mode select,
body.dark-mode textarea {
    background-color: var(--primary-blue);
    border-color: var(--medium-gray);
    color: var(--text-color-primary);
}

body.dark-mode input:focus,
body.dark-mode select:focus,
body.dark-mode textarea:focus {
    border-color: var(--primary-orange);
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .2);
}

body.dark-mode #quick-add-task-input,
body.dark-mode #task-search {
    background-color: var(--primary-blue);
    border-color: var(--medium-gray);
    color: var(--text-color-primary);
}

body.dark-mode #quick-add-task-input::placeholder,
body.dark-mode #task-search::placeholder {
    color: var(--text-color-secondary);
}

body.dark-mode .filter-btn {
    color: var(--text-color-secondary);
    background-color: var(--primary-blue);
}

body.dark-mode .filter-btn:hover {
    color: var(--text-color-primary);
    background-color: var(--medium-gray);
}

body.dark-mode .filter-btn.active {
    background-color: var(--primary-orange);
    color: var(--white);
}

body.dark-mode .calendar-table th,
body.dark-mode .calendar-table td {
    border-color: var(--medium-gray);
}

body.dark-mode .calendar-table thead th,
body.dark-mode .calendar-table .time-col,
body.dark-mode .calendar-header {
    background-color: var(--card-background);
    color: var(--text-color-primary);
}

body.dark-mode .calendar-table tbody td:not(.time-col):hover {
    background-color: #2a3d5e;
}

body.dark-mode .sv5t-column {
    background-color: var(--primary-blue);
}

body.dark-mode .condition-item {
    background: var(--primary-blue);
    border-left-color: var(--medium-gray);
}

body.dark-mode .condition-item.completed {
    background-color: #233a59;
    border-left-color: var(--success-color);
}

body.dark-mode .condition-type-badge.required {
    background: var(--danger-color);
    color: var(--white);
}

body.dark-mode .condition-type-badge.optional {
    background: var(--warning-color);
    color: var(--text-color);
}

body.dark-mode .proof-item {
    background: var(--card-background);
}

body.dark-mode .proof-item a {
    color: var(--text-color-primary);
}

body.dark-mode .proof-item a:hover {
    color: var(--primary-orange);
}

body.dark-mode .settings-input-group input {
    background-color: var(--primary-blue);
    color: var(--text-color);
}

body.dark-mode .settings-list li {
    border-bottom-color: var(--medium-gray);
}

body.dark-mode .dashboard-card,
body.dark-mode .chart-container {
    background-color: var(--card-background);
    box-shadow: 0 4px 15px rgba(0, 0, 0, .08);
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

body.dark-mode .toggle-notes-btn {
    background: none;
    border-color: var(--medium-gray);
    color: var(--text-color-secondary);
}

body.dark-mode .toggle-notes-btn:hover {
    background-color: var(--light-gray);
}

body.dark-mode .task-notes {
    background-color: var(--primary-blue);
}

body.dark-mode .priority-badge.high {
    background-color: var(--priority-high-color);
}

body.dark-mode .priority-badge.medium {
    background-color: var(--priority-medium-color);
}

body.dark-mode .priority-badge.low {
    background-color: var(--priority-low-color);
}

body.dark-mode .tag-badge {
    background-color: var(--primary-blue);
}

body.dark-mode .month-day-cell.inactive-month {
    background-color: #2a3d5e;
}

body.dark-mode #focus-mode-section {
    background-color: var(--focus-mode-bg);
    color: var(--focus-mode-fg);
}

body.dark-mode #pomodoro-timer {
    background-color: var(--focus-mode-timer-bg);
    color: var(--focus-mode-timer-color);
}

body.dark-mode .focus-control-buttons button {
    background-color: var(--primary-blue);
}

body.dark-mode .focus-control-buttons button:hover {
    background-color: #004a79;
}

body.dark-mode .project-card {
    border-left-color: var(--primary-blue);
}

body.dark-mode .project-progress-bar-fill {
    background-color: var(--success-color);
}

body.dark-mode .nav-submenu {
    background-color: rgba(0, 0, 0, 0.2);
}

body.dark-mode .nav-group.has-active-child>.nav-group-toggle {
    background-color: #2a3d5e;
}

body.dark-mode .library-toolbar input,
body.dark-mode .library-toolbar select {
    background-color: var(--primary-blue);
    border-color: var(--medium-gray);
    color: var(--text-color-primary);
}

body.dark-mode .doc-viewer-meta {
    background-color: var(--primary-blue);
}

body.dark-mode .composer-toolbar input {
    background-color: var(--primary-blue);
    border-color: var(--medium-gray);
    color: var(--text-color-primary);
}

body.dark-mode .outline-list-item {
    background: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

body.dark-mode .outline-list-item:hover {
    background: linear-gradient(135deg, #334155, #475569);
    border-color: #475569;
}

body.dark-mode .outline-list-item.active {
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: white;
    border-color: transparent;
}

body.dark-mode .outline-list-item.active .delete-outline-btn,
body.dark-mode .outline-list-item.active .btn-delete-draft {
    color: rgba(255, 255, 255, 0.9);
}

body.dark-mode .outline-editor-header h2 {
    color: var(--text-color-primary);
}

body.dark-mode .outline-node-content {
    background-color: var(--primary-blue);
}

body.dark-mode .outline-node-content:hover {
    background-color: #2a3d5e;
}

body.dark-mode .node-title .node-prefix {
    color: var(--primary-orange);
}

body.dark-mode .node-actions button {
    border-color: var(--medium-gray);
    color: var(--text-color-secondary);
}

body.dark-mode .node-actions button:hover {
    background-color: var(--medium-gray);
    color: var(--text-color-primary);
}

body.dark-mode .outline-node-children {
    border-left-color: var(--medium-gray);
}

body.dark-mode .attached-doc-item {
    background-color: var(--primary-blue);
}

/* === DARK MODE CHO TÍNH NĂNG MỚI === */
body.dark-mode .todo-item {
    background-color: var(--card-background);
    border-color: var(--medium-gray);
}

body.dark-mode .todo-item .todo-label {
    color: var(--text-color-primary);
}

body.dark-mode .todo-item.completed .todo-label {
    color: var(--text-color-secondary);
}

body.dark-mode .delete-todo-btn {
    color: var(--text-color-secondary);
}

body.dark-mode .delete-todo-btn:hover {
    color: var(--danger-color);
}

body.dark-mode #drafts-list-column,
body.dark-mode #drafts-editor-column {
    background-color: var(--card-background);
    border-color: var(--medium-gray);
}

body.dark-mode #draft-title-input {
    color: var(--text-color-primary);
}

body.dark-mode .draft-header {
    border-bottom-color: var(--medium-gray);
}

/* Quill.js Dark Mode Overrides */
body.dark-mode .ql-toolbar {
    background: var(--primary-blue);
    border-color: var(--medium-gray) !important;
}

body.dark-mode .ql-container {
    background: var(--card-background);
    border-color: var(--medium-gray) !important;
}

body.dark-mode .ql-editor {
    color: var(--text-color-primary);
}

body.dark-mode .ql-editor.ql-blank::before {
    color: var(--text-color-secondary);
    opacity: 0.6;
}

body.dark-mode .ql-stroke {
    stroke: var(--text-color-secondary) !important;
}

body.dark-mode .ql-fill {
    fill: var(--text-color-secondary) !important;
}

body.dark-mode .ql-picker-label {
    color: var(--text-color-secondary) !important;
}

body.dark-mode .ql-picker-options {
    background-color: var(--primary-blue) !important;
    border-color: var(--medium-gray) !important;
}

body.dark-mode .ql-picker-item {
    color: var(--text-color-primary) !important;
}

body.dark-mode .ql-picker-item:hover,
body.dark-mode .ql-picker-item.ql-selected {
    background-color: var(--medium-gray) !important;
}

body.dark-mode .ql-toolbar .ql-picker-label:hover,
body.dark-mode .ql-toolbar .ql-picker-item.ql-hover,
body.dark-mode .ql-toolbar button:hover .ql-stroke {
    stroke: var(--primary-orange) !important;
}

body.dark-mode .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
body.dark-mode .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
body.dark-mode .ql-toolbar button.ql-active .ql-stroke {
    stroke: var(--primary-orange) !important;
}

/* DARK MODE CHO TÍNH NĂNG NHẬP VÀ XÓA TRÙNG LẶP */
body.dark-mode #import-options-modal div[style*="--light-gray"] {
    background-color: var(--primary-blue) !important;
}

body.dark-mode #import-options-modal div[style*="#fff0f0"] {
    background-color: rgba(220, 53, 69, 0.1) !important;
}

body.dark-mode .duplicate-group {
    background: var(--primary-blue);
    border-color: var(--medium-gray);
}

body.dark-mode .duplicate-item strong {
    color: var(--text-color-primary);
}