/* app/static/css/dark-theme.css */
/* ===== DARK THEME OVERRIDES ===== */
.dark-theme {
    background-color: #1e1e1e;
    color: #e0e0e0;
}
.dark-theme header {
    background-color: #1a2632;
}
.dark-theme .sessions-sidebar {
    background-color: #2d2d2d;
    border-right-color: #444;
}
.dark-theme .sessions-header {
    background-color: #2d2d2d;
    border-bottom-color: #444;
}
.dark-theme .sessions-header h2 {
    color: #ecf0f1;
}
.dark-theme .session-item {
    background-color: #3a3a3a;
    border-color: #555;
    color: #e0e0e0;
}
.dark-theme .session-item:hover {
    background-color: #4a4a4a;
    border-color: #3498db;
}
.dark-theme .session-item.active {
    background-color: #2c3e50;
    border-color: #3498db;
}
.dark-theme .session-title {
    color: #ecf0f1;
}
.dark-theme .session-date {
    color: #b0b0b0;
}
.dark-theme .delete-session-button {
    color: #b0b0b0;
}
.dark-theme .delete-session-button:hover {
    color: #e74c3c;
}
.dark-theme .chat-main {
    background-color: #1e1e1e;
}
.dark-theme .chat-header {
    border-bottom-color: #444;
}
.dark-theme .chat-header h2 {
    color: #ecf0f1;
}
.dark-theme .context-info {
    background-color: #2d2d2d;
    color: #b0b0b0;
}
.dark-theme .chat-messages {
    background-color: #2d2d2d;
    border-color: #444;
}
/* ===== MESSAGES – improved contrast ===== */
.dark-theme .user-message {
    background-color: #2c3e50;
    border-color: #1e2b38;
    color: #ffffff;
}
.dark-theme .assistant-message,
.dark-theme .bot-message {
    background-color: #3a3a3a;
    border-color: #555;
    color: #ffffff;
}
.dark-theme .message-header {
    color: #b0b0b0;
}
.dark-theme .streaming-indicator {
    color: #f1c40f;
}
.dark-theme .cancelled-label {
    color: #e74c3c;
}
.dark-theme .text-muted {
    color: #b0b0b0 !important;
}
.dark-theme .file-info {
    background-color: #3a3a3a !important;
    border-color: #555 !important;
    color: #ecf0f1 !important;
}
.dark-theme #file-preview-container div {
    background-color: #3a3a3a;
    color: #ecf0f1;
}
.dark-theme #file-preview-name {
    color: #ecf0f1;
}
.dark-theme .message-input input[type="text"] {
    background-color: #3a3a3a;
    color: #ecf0f1;
    border-color: #555;
}
.dark-theme .message-input input[type="text"]:focus {
    border-color: #3498db;
    box-shadow: 0 0 0 2px rgba(52,152,219,0.3);
}
.dark-theme .message-input button {
    background-color: #3a3a3a;
    color: #ecf0f1;
    border-color: #555;
}
.dark-theme #send-button {
    background-color: #3498db;
    color: white;
}
.dark-theme #send-button:hover {
    background-color: #2980b9;
}
.dark-theme #attach-file-button {
    background-color: #3a3a3a;
    color: #ecf0f1;
}
.dark-theme #attach-file-button:hover {
    background-color: #4a4a4a;
}
.dark-theme .voice-record-button {
    background-color: #3a3a3a;
    color: #ecf0f1;
}
.dark-theme .voice-record-button:hover {
    background-color: #4a4a4a;
}
.dark-theme .attached-file {
    background-color: #3a3a3a;
    border-color: #555;
}
.dark-theme .attached-file a {
    color: #3498db;
}
/* ===== AUDIO PLAYER DARK MODE ===== */
.dark-theme audio {
    color-scheme: dark; /* Forces dark mode for native audio controls */
}
/* ===== DARK THEME – MARKDOWN CONTENT OVERRIDES ===== */
.dark-theme .message-content p,
.dark-theme .message-content li,
.dark-theme .message-content ul,
.dark-theme .message-content ol {
    color: #ffffff;
}
.dark-theme .message-content strong {
    color: #ffffff;
    font-weight: 700;
}
.dark-theme .message-content em {
    color: #ffffff;
    font-style: italic;
}
.dark-theme .message-content a {
    color: #5dade2; /* lighter blue for better contrast */
}
.dark-theme .message-content a:hover {
    text-decoration: underline;
}
.dark-theme .message-content h1,
.dark-theme .message-content h2,
.dark-theme .message-content h3,
.dark-theme .message-content h4,
.dark-theme .message-content h5,
.dark-theme .message-content h6 {
    color: #ffffff;
    border-bottom-color: #444;
}
.dark-theme .message-content blockquote {
    color: #b0b0b0;
    border-left-color: #555;
    background-color: #2a2a2a;
}
.dark-theme .message-content code {
    background-color: #2d2d2d;
    color: #d4d4d4;
    border-color: #555;
}
.dark-theme .message-content pre {
    background-color: #1e1e1e;
    border-color: #555;
    color: #d4d4d4;
}
.dark-theme .message-content pre code {
    background-color: transparent;
    color: inherit;
}
.dark-theme .message-content table {
    border-color: #555;
}
.dark-theme .message-content th {
    background-color: #2c3e50;
    color: #ffffff;
    border-color: #555;
}
.dark-theme .message-content td {
    border-color: #555;
    color: #ffffff;
}
/* ===== COPY BUTTONS ===== */
.dark-theme .copy-code-button,
.dark-theme .copy-transcript-button {
    background-color: rgba(200,200,200,0.8);
    color: #333;
}
.dark-theme .copy-code-button:hover,
.dark-theme .copy-transcript-button:hover {
    background-color: #3498db;
    color: white;
}
.dark-theme .copy-code-button.copied,
.dark-theme .copy-transcript-button.copied {
    background-color: #27ae60;
    color: white;
}
.dark-theme .open-html-button {
    background-color: rgba(200,200,200,0.8);
    color: #333;
}
.dark-theme .open-html-button:hover {
    background-color: #2ecc71;
    color: white;
}
.dark-theme .copy-message-button:hover {
    background-color: rgba(255,255,255,0.1);
}
.dark-theme footer {
    background-color: #1a2632;
}
.dark-theme .footer-line1,
.dark-theme .footer-line2 {
    color: #ecf0f1;
}
.dark-theme .login-container {
    background-color: #2d2d2d;
    border-color: #444;
}
.dark-theme .login-container h2 {
    color: #ecf0f1;
}
.dark-theme .form-group label {
    color: #ecf0f1;
}
.dark-theme .form-group input {
    background-color: #3a3a3a;
    color: #ecf0f1;
    border-color: #555;
}
.dark-theme .error {
    background-color: #442222;
    color: #ffaaaa;
}
.dark-theme .modal-content {
    background-color: #2d2d2d;
    color: #e0e0e0;
    border-color: #444;
}
.dark-theme .close {
    color: #aaa;
}
.dark-theme .close:hover {
    color: #fff;
}
.dark-theme .language-switcher select {
    background-color: #3a3a3a;
    color: #ecf0f1;
    border-color: #555;
}
.dark-theme .logout-container span {
    color: #ecf0f1;
}
.dark-theme .logout-button {
    background-color: #c0392b;
}
.dark-theme .logout-button:hover {
    background-color: #a93226;
}
.dark-theme .new-session-button {
    background-color: #2980b9;
}
.dark-theme .new-session-button:hover {
    background-color: #1f6a9a;
}
.dark-theme .save-chat-button,
.dark-theme .clear-context-button {
    background-color: #3a3a3a;
    color: #ecf0f1;
    border-color: #555;
}
.dark-theme .save-chat-button:hover,
.dark-theme .clear-context-button:hover {
    background-color: #4a4a4a;
}
.dark-theme .cancel-stream-header {
    border-color: #e74c3c;
    color: #e74c3c;
}
.dark-theme .cancel-stream-header:hover {
    background-color: #e74c3c;
    color: #fff;
}
.dark-theme .tts-button:hover {
    background-color: rgba(255,255,255,0.1);
}

.dark-theme .tts-button.pending {
    background-color: #f39c12 !important;
    color: white !important;
}

.dark-theme .tts-button.playing {
    background-color: #e74c3c !important;
    color: white !important;
}
.dark-theme .session-status-icon.tts.playing {
    background-color: #e74c3c;
    color: white;
}
.dark-theme .voice-gender-button.male {
    background-color: #2980b9;
}
.dark-theme .voice-gender-button.female {
    background-color: #c44569;
}
/* Admin panel dark theme styles */
.dark-theme #users-table {
    background-color: #2d2d2d;
    color: #e0e0e0;
    border-color: #444;
}
.dark-theme #users-table th {
    background-color: #1e2b38;
    color: #ecf0f1;
    border-bottom-color: #3498db;
}
.dark-theme #users-table td {
    border-bottom-color: #444;
}
.dark-theme #users-table tr.user-inactive {
    background-color: #3a3a3a;
    opacity: 0.7;
}
.dark-theme .camera-checkboxes label {
    color: #e0e0e0;
}
.dark-theme .camera-checkboxes input[type="checkbox"] {
    accent-color: #3498db;
}
/* Light grey text for database info in dark theme */
.dark-theme .db-info {
    color: #cccccc;
}
.dark-theme .db-info span {
    color: #cccccc;
}
/* Scrollbar dark */
.dark-theme ::-webkit-scrollbar-track {
    background: #2d2d2d;
}
.dark-theme ::-webkit-scrollbar-thumb {
    background: #666;
}
.dark-theme ::-webkit-scrollbar-thumb:hover {
    background: #888;
}
/* ===== DOCUMENTS LIST DARK THEME ===== */
.dark-theme .document-item {
    background-color: #3a3a3a;
    border-color: #555;
    color: #e0e0e0;
}
.dark-theme .document-item:hover {
    background-color: #4a4a4a;
    border-color: #3498db;
}
.dark-theme .document-item.active {
    background-color: #2c3e50;
    border-color: #3498db;
}
.dark-theme .document-title {
    color: #ecf0f1;
}
.dark-theme .document-date {
    color: #b0b0b0;
}
.dark-theme .delete-document-button {
    color: #b0b0b0;
}
.dark-theme .delete-document-button:hover {
    color: #e74c3c;
}
.dark-theme .documents-list {
    background-color: #2d2d2d;
}
.dark-theme .header-tab {
    background-color: #3a3a3a;
}
.dark-theme .header-tab span {
    color: #ecf0f1;
}
.dark-theme .header-tab.active {
    background-color: #2c3e50;
    border-bottom-color: #3498db;
}
.dark-theme .header-tab:hover {
    background-color: #4a4a4a;
}
.dark-theme .header-tab.active:hover {
    background-color: #1e2b38;
}
.dark-theme .new-tab-button {
    background-color: #3498db;
    color: white;
}
.dark-theme .new-tab-button:hover {
    background-color: #2980b9;
}
/* ===== COLLAPSE TOGGLE DARK THEME ===== */
.dark-theme .collapse-toggle-mobile {
    background-color: #3a3a3a;
    border-right-color: #555;
}
.dark-theme .collapse-toggle-mobile:hover {
    background-color: #4a4a4a;
}
.dark-theme .collapse-icon {
    color: #ecf0f1;
}

/* ===== ADMIN MODELS DARK THEME ===== */
.dark-theme .model-card {
    background-color: #2d2d2d;
    border-color: #444;
    color: #e0e0e0;
}

.dark-theme .model-card h3 {
    color: #ecf0f1;
}

.dark-theme .model-card select,
.dark-theme .model-card input {
    background-color: #3a3a3a;
    color: #ecf0f1;
    border-color: #555;
}

.dark-theme .model-card .model-details {
    background-color: #3a3a3a;
    color: #e0e0e0;
}

.dark-theme .model-card .param label {
    color: #b0b0b0;
}
.dark-theme .model-card .param-hint {
    color: #888;
}
/* ===== DARK THEME ADMIN TABS ===== */
.dark-theme .admin-tab {
    background-color: #3a3a3a;
    color: #ecf0f1;
}
.dark-theme .admin-tab.active {
    background-color: #2c3e50;
    border-bottom-color: #3498db;
}
.dark-theme .admin-tab:hover {
    background-color: #4a4a4a;
}
.dark-theme .admin-tab.active:hover {
    background-color: #1e2b38;
}

/* ===== FIX FOR REFRESH MODELS BUTTON IN DARK THEME ===== */
.dark-theme .refresh-models-btn {
    background: none;
    border-color: #555;
    color: #ecf0f1;
}
.dark-theme .refresh-models-btn:hover {
    background-color: #4a4a4a;
}

/* ===== CHUNKS SECTION DARK THEME ===== */
.dark-theme #chunks-card {
    background-color: #2a2a2a;
    border-color: #444;
}

.dark-theme #chunks-card h3 {
    color: #ecf0f1;
}

.dark-theme .chunks-config .param label {
    color: #ccc;
}

.dark-theme .chunks-config .param input,
.dark-theme .chunks-config .param select {
    background-color: #333;
    border-color: #555;
    color: #ecf0f1;
}