/* ===== FULL DARK MODE AUDIT OVERRIDES ===== */
/* Roundcube Elastic skin - improved dark mode contrast */

/* --- BODY & MAIN LAYOUT --- */
html.dark-mode body {
    color: #dce3e5 !important;
    background-color: #161b1d !important;
}

html.dark-mode #layout-content {
    background-color: #1a2024 !important;
}

html.dark-mode #layout-sidebar {
    background-color: #161b1d !important;
}

html.dark-mode #layout-list {
    background-color: #1a2024 !important;
}

/* --- TOOLBAR / HEADER --- */
html.dark-mode #layout > div > .header {
    background-color: #1a2024 !important;
    border-bottom-color: #2c373a !important;
}

html.dark-mode #taskmenu a,
html.dark-mode .menu.toolbar a {
    color: #c8d3d6 !important;
}

html.dark-mode #taskmenu a.selected,
html.dark-mode .menu.toolbar a.selected {
    color: #37beff !important;
}

/* --- SEARCH BAR --- */
html.dark-mode .searchbar {
    background-color: #1e2528 !important;
    border-color: #3a4a50 !important;
}

html.dark-mode .searchbar input {
    color: #dce3e5 !important;
}

/* --- MESSAGE LIST --- */
html.dark-mode .messagelist {
    color: #dce3e5 !important;
}

html.dark-mode .messagelist td.subject a {
    color: #dce3e5 !important;
}

html.dark-mode .messagelist tr.unread td.subject a {
    color: #f0f4f5 !important;
    font-weight: 500;
}

html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.date,
html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.fromto,
html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.size {
    color: #8ba3a7 !important;
}

html.dark-mode .messagelist li,
html.dark-mode .messagelist tr td {
    border-color: #2c373a !important;
}

html.dark-mode .messagelist tr.selected td,
html.dark-mode .messagelist li.selected {
    background-color: #253035 !important;
}

/* --- EMAIL VIEW: MESSAGE HEADER --- */
html.dark-mode #message-header {
    color: #dce3e5 !important;
}

html.dark-mode #message-header > .subject {
    color: #eef2f3 !important;
}

html.dark-mode #message-header > .subject a {
    color: #eef2f3 !important;
}

html.dark-mode #message-header .header-headers .header-title {
    color: #8ba3a7 !important;
}

html.dark-mode #message-header .header-headers .header a,
html.dark-mode #message-header .header-headers .header span {
    color: #c8d3d6 !important;
}

/* --- EMAIL CONTENT (inline + iframe) --- */
/* Force white text on ALL elements to override inline styles from HTML emails */
html.dark-mode .message-htmlpart,
html.dark-mode .message-htmlpart *:not(a):not(a *) {
    color: #fff !important;
}

html.dark-mode .message-htmlpart {
    background-color: #1e2528 !important;
    border-radius: 4px;
}

html.dark-mode .message-htmlpart a,
html.dark-mode .message-htmlpart a * {
    color: #5bb8ff !important;
}

html.dark-mode .message-htmlpart a:hover {
    color: #7cd0ff !important;
}

html.dark-mode .message-htmlpart blockquote,
html.dark-mode .message-htmlpart blockquote * {
    color: #8ec7e8 !important;
    border-color: #5bb8ff !important;
}

html.dark-mode .message-htmlpart img {
    opacity: 0.92;
}

html.dark-mode .message-htmlpart table,
html.dark-mode .message-htmlpart td,
html.dark-mode .message-htmlpart th {
    border-color: #3a4a50 !important;
    background-color: transparent !important;
}

html.dark-mode .message-htmlpart hr {
    border-color: #3a4a50 !important;
}

html.dark-mode #messagepartframe {
    background: #1e2528 !important;
}

/* Plain text emails */
html.dark-mode .message-part,
html.dark-mode .message-part * {
    color: #fff !important;
}

html.dark-mode .message-part {
    background-color: #1e2528 !important;
    border-radius: 4px;
}

html.dark-mode .message-part blockquote {
    background-color: #1a2024 !important;
    color: #7cc4e8 !important;
    border-color: #5bb8ff !important;
}

html.dark-mode .message-part a {
    color: #5bb8ff !important;
}

html.dark-mode .message-part span.sig {
    color: #8ba3a7 !important;
}

/* --- SIDEBAR / FOLDER LIST --- */
html.dark-mode .folderlist li a,
html.dark-mode .listing li a {
    color: #c8d3d6 !important;
}

html.dark-mode .folderlist li.selected > a,
html.dark-mode .listing li.selected > a {
    color: #37beff !important;
    background-color: #253035 !important;
}

html.dark-mode .listing li,
html.dark-mode .listing tr td {
    border-color: #2c373a !important;
}

/* --- COMPOSE VIEW --- */
html.dark-mode .compose-header-table input,
html.dark-mode .compose-header-table textarea {
    background-color: #1e2528 !important;
    color: #dce3e5 !important;
    border-color: #3a4a50 !important;
}

html.dark-mode .compose-header-table label {
    color: #8ba3a7 !important;
}

html.dark-mode #composebody {
    background-color: #1e2528 !important;
    color: #e8edef !important;
}

/* TinyMCE editor */
html.dark-mode .tox .tox-edit-area__iframe {
    background-color: #1e2528 !important;
}

html.dark-mode .tox .tox-toolbar,
html.dark-mode .tox .tox-toolbar__primary,
html.dark-mode .tox .tox-toolbar__overflow {
    background-color: #1a2024 !important;
    border-color: #2c373a !important;
}

html.dark-mode .tox .tox-tbtn {
    color: #c8d3d6 !important;
}

/* --- CONTACTS VIEW --- */
html.dark-mode .contactlist li a,
html.dark-mode .contactlist td {
    color: #c8d3d6 !important;
}

html.dark-mode .contactphoto {
    background-color: #253035 !important;
}

html.dark-mode .contacthead .names span {
    color: #eef2f3 !important;
}

/* --- SETTINGS VIEW --- */
html.dark-mode .propform td,
html.dark-mode .propform th {
    color: #c8d3d6 !important;
    border-color: #2c373a !important;
}

html.dark-mode .form-control,
html.dark-mode .custom-select {
    background-color: #1e2528 !important;
    color: #dce3e5 !important;
    border-color: #3a4a50 !important;
}

html.dark-mode .form-control:focus,
html.dark-mode .custom-select:focus {
    border-color: #37beff !important;
    box-shadow: 0 0 0 0.2rem rgba(55, 190, 255, 0.15) !important;
}

/* --- BUTTONS --- */
html.dark-mode .btn-primary {
    background-color: #0091d5 !important;
    border-color: #0091d5 !important;
    color: #fff !important;
}

html.dark-mode .btn-secondary {
    background-color: #2c373b !important;
    border-color: #3a4a50 !important;
    color: #dce3e5 !important;
}

/* --- DIALOGS & POPUPS --- */
html.dark-mode .popover {
    background-color: #1e2528 !important;
    border-color: #3a4a50 !important;
}

html.dark-mode .popover .popover-header {
    background-color: #1a2024 !important;
    color: #dce3e5 !important;
    border-color: #2c373a !important;
}

html.dark-mode .popover .listing li a {
    color: #c8d3d6 !important;
}

/* --- ATTACHMENTS --- */
html.dark-mode .attachmentslist li {
    color: #c8d3d6 !important;
}

html.dark-mode .attachmentslist li a {
    color: #5bb8ff !important;
}

/* --- ALERTS / NOTIFICATIONS --- */
html.dark-mode #messagestack div {
    color: #eef2f3 !important;
}

/* --- WATERMARK (empty state) --- */
html.dark-mode .watermark,
html.dark-mode #messagecontframe {
    background-color: #1a2024 !important;
}

/* --- SCROLLBAR --- */
html.dark-mode:not(.touch) ::-webkit-scrollbar-track {
    background-color: #1a2024 !important;
}

html.dark-mode:not(.touch) ::-webkit-scrollbar-thumb {
    background-color: #4d6066 !important;
}


