/* EGV Host theme override for Roundcube Elastic (dark mode) */

html.dark-mode,
html.dark-mode body {
    background-color: #0b0f19;
    color: #e7eaf3;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

html.dark-mode * {
    font-family: inherit;
}

/* Surfaces / chrome */
html.dark-mode #layout-menu,
html.dark-mode.layout-phone #layout-menu {
    background: #0e1320;
}
html.dark-mode #layout-content,
html.dark-mode #layout-list,
html.dark-mode #layout-sidebar,
html.dark-mode #layout > div > .footer,
html.dark-mode #layout > div > .header,
html.dark-mode .menu.pagenav.pagenav-list,
html.dark-mode .menu.pagenav.pagenav-list + .navlist,
html.dark-mode .popup .listbox .footer {
    background-color: #141a29;
    border-color: #2a3348;
}
html.dark-mode .searchbar {
    border-color: #2a3348;
}
html.dark-mode #popover-header,
html.dark-mode .popover-header {
    background: #0e1320;
    border-bottom-color: #2a3348;
}

/* Borders everywhere */
html.dark-mode .listing li,
html.dark-mode .listing li ul,
html.dark-mode .listing tbody td,
html.dark-mode #taskmenu a {
    border-color: #2a3348 !important;
}

/* Text */
html.dark-mode .listing li a,
html.dark-mode .listing tbody td,
html.dark-mode .listing tbody td a,
html.dark-mode .messagelist,
html.dark-mode #taskmenu a,
html.dark-mode .menu.toolbar a,
html.dark-mode .attachmentslist a,
html.dark-mode .attachmentslist li .attachment-name {
    color: #e7eaf3;
}
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,
html.dark-mode .messagelist span.attachment span,
html.dark-mode .attachmentslist li .attachment-size {
    color: #9aa4bd;
}
html.dark-mode .listing li.disabled,
html.dark-mode .listing tr.disabled td {
    color: #6b7590;
}

/* Accent (was Roundcube blue #37beff -> EGV cyan/purple) */
html.dark-mode #taskmenu .action-buttons a,
html.dark-mode .listing li.selected,
html.dark-mode .listing li.selected > a,
html.dark-mode .listing li.selected > div > a,
html.dark-mode .listing tr.selected td,
html.dark-mode .messagelist tr:not(.flagged):not(.deleted).selected td.subject a,
html.dark-mode .messagelist tr:not(.flagged):not(.deleted).selected td.subject span.msgicon.status,
html.dark-mode .searchbar a.selected,
html.dark-mode .menu.toolbar a.selected {
    color: #22d3ee !important;
}
html.dark-mode #taskmenu a.selected,
html.dark-mode .menu.toolbar a.selected,
html.dark-mode .listing li.selected ul,
html.dark-mode #taskmenu a:hover,
html.dark-mode .header a.button.icon:not(.disabled):focus,
html.dark-mode .header a.button.icon:not(.disabled):hover,
html.dark-mode .menu a:not(.disabled):focus,
html.dark-mode .menu a:not(.disabled):hover,
html.dark-mode .popupmenu .listing li > a:not(.disabled):hover {
    background-color: #1c2436 !important;
}

/* Buttons */
html.dark-mode .btn {
    color: #e7eaf3;
    border-radius: 10px;
}
html.dark-mode .btn-primary {
    background: linear-gradient(135deg, #6f6bf0 0%, #22d3ee 100%);
    color: #0a0d16;
    border: none;
    font-weight: 600;
}
html.dark-mode .btn-primary:hover:not(:disabled) {
    box-shadow: 0 8px 24px -6px rgba(111, 107, 240, .55);
    background: linear-gradient(135deg, #6f6bf0 0%, #22d3ee 100%);
}
html.dark-mode .btn-secondary {
    background-color: #1c2436;
    color: #e7eaf3;
}
html.dark-mode .btn-secondary:hover:not(:disabled) {
    background-color: #2a3348;
}
html.dark-mode .floating-action-buttons a.button {
    background: #6f6bf0;
}

/* Scrollbar */
html.dark-mode {
    scrollbar-color: #6f6bf0 #1c2436;
}
html.dark-mode:not(.touch) ::-webkit-scrollbar-track {
    background-color: #1c2436;
}
html.dark-mode:not(.touch) ::-webkit-scrollbar-thumb {
    background-color: #6f6bf0;
}

/* Form controls */
html.dark-mode .custom-file-label,
html.dark-mode .form-control {
    background-color: #141a29;
    color: #e7eaf3;
    border-radius: 8px;
}
html.dark-mode .custom-file-label:not(.is-invalid),
html.dark-mode .form-control:not(.is-invalid) {
    border-color: #2a3348;
}
html.dark-mode .custom-file-label:focus,
html.dark-mode .form-control:focus {
    background-color: #1c2436;
}
html.dark-mode .custom-file-label:focus:not(.is-invalid),
html.dark-mode .form-control:focus:not(.is-invalid),
html.dark-mode .multi-input:not(.is-invalid) > .content.focused,
html.dark-mode .recipient-input.focus {
    border-color: #6f6bf0 !important;
}
html.dark-mode .input-group a:focus {
    border-color: #6f6bf0;
    box-shadow: 0 0 0 .2rem rgba(111, 107, 240, .25);
}
html.dark-mode .custom-switch .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #6f6bf0;
}

/* Login page */
html.dark-mode #login-form .form-control {
    background-color: #141a29;
}
html.dark-mode #logo {
    opacity: 1;
}
#logo {
    max-height: 70px;
}
