/* ============================================
   Evidens Health Mail — Custom Branding CSS
   Overrides Roundcube "elastic" skin
   Navy #0f3460 | Teal #00d4ff | Dark #060d19
   ============================================ */

:root {
  --evidens-navy: #0f3460;
  --evidens-teal: #00d4ff;
  --evidens-dark: #060d19;
  --evidens-dark-alt: #0a1628;
  --evidens-dark-surface: #111d33;
  --evidens-dark-border: #1a2d4a;
  --evidens-text: #e0e6ed;
  --evidens-text-muted: #8899aa;
}

/* ---- Force dark mode always ---- */
html, html.dark-mode, html:not(.dark-mode) {
  color-scheme: dark;
}

/* ---- Global body ---- */
body {
  background-color: var(--evidens-dark) !important;
  color: var(--evidens-text) !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* ---- LOGIN PAGE ---- */
.task-login #layout {
  background: linear-gradient(135deg, var(--evidens-dark) 0%, var(--evidens-dark-alt) 50%, var(--evidens-navy) 100%) !important;
}

.task-login #layout-content {
  background: var(--evidens-dark-surface) !important;
  border: 1px solid var(--evidens-dark-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
}

.task-login #logo {
  display: none !important;
}

/* Inject brand name before login form */
.task-login #layout-content::before {
  content: "Evidens Health Mail";
  display: block;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--evidens-teal);
  letter-spacing: 0.03em;
  margin: 1.5rem 0 0.5rem 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--evidens-dark-border);
}

.task-login .propform {
  padding: 1.5rem !important;
}

.task-login #login-footer {
  color: var(--evidens-text-muted) !important;
  font-size: 0.85rem;
}

.task-login #login-footer a {
  color: var(--evidens-teal) !important;
}

.task-login h1.voice {
  color: var(--evidens-text) !important;
}

/* ---- Form inputs (login + general) ---- */
.task-login .form-control,
.task-login input[type="text"],
.task-login input[type="password"] {
  background-color: var(--evidens-dark) !important;
  border: 1px solid var(--evidens-dark-border) !important;
  color: var(--evidens-text) !important;
  border-radius: 6px !important;
}

.task-login .form-control:focus,
.task-login input:focus {
  border-color: var(--evidens-teal) !important;
  box-shadow: 0 0 0 2px rgba(0, 212, 255, 0.15) !important;
}

/* ---- Login button ---- */
.task-login .btn-primary,
.task-login button[type="submit"],
.task-login input[type="submit"],
.task-login .button.submit {
  background-color: var(--evidens-navy) !important;
  border-color: var(--evidens-teal) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  transition: all 0.2s ease !important;
}

.task-login .btn-primary:hover,
.task-login button[type="submit"]:hover {
  background-color: var(--evidens-teal) !important;
  border-color: var(--evidens-teal) !important;
  color: var(--evidens-dark) !important;
}

/* ---- MAIN INTERFACE (after login) ---- */

/* Top toolbar / header */
#layout > .header,
#layout-sidebar .header,
.header.toolbar,
#taskmenu {
  background-color: var(--evidens-dark-alt) !important;
  border-color: var(--evidens-dark-border) !important;
}

/* Sidebar / folder list */
#layout-sidebar,
#sidebar,
.sidebar {
  background-color: var(--evidens-dark-surface) !important;
  border-color: var(--evidens-dark-border) !important;
}

/* Content area */
#layout-content,
#layout-list,
.content {
  background-color: var(--evidens-dark) !important;
  color: var(--evidens-text) !important;
}

/* Message list */
.messagelist,
#messagelist,
.listing {
  background-color: var(--evidens-dark) !important;
}

.messagelist tr,
.listing tr,
.messagelist tbody tr {
  border-color: var(--evidens-dark-border) !important;
}

.messagelist tr:hover,
.listing tr:hover {
  background-color: var(--evidens-dark-surface) !important;
}

.messagelist tr.selected,
.listing tr.selected,
.messagelist tr.focused,
.listing li.selected {
  background-color: var(--evidens-navy) !important;
  color: #fff !important;
}

/* Links */
a {
  color: var(--evidens-teal) !important;
}

a:hover {
  color: #33ddff !important;
}

/* Buttons - primary */
.btn-primary,
.button.primary,
a.button.primary {
  background-color: var(--evidens-navy) !important;
  border-color: var(--evidens-teal) !important;
  color: #fff !important;
}

.btn-primary:hover {
  background-color: var(--evidens-teal) !important;
  color: var(--evidens-dark) !important;
}

/* Buttons - secondary */
.btn-secondary,
.button.secondary {
  background-color: var(--evidens-dark-surface) !important;
  border-color: var(--evidens-dark-border) !important;
  color: var(--evidens-text) !important;
}

/* Toolbar icons/buttons */
.toolbar a,
.toolbar .button,
#taskmenu a {
  color: var(--evidens-text-muted) !important;
}

.toolbar a:hover,
.toolbar .button:hover,
#taskmenu a:hover,
#taskmenu a.selected {
  color: var(--evidens-teal) !important;
  background-color: rgba(0, 212, 255, 0.08) !important;
}

/* Scrollbar styling */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--evidens-dark);
}

::-webkit-scrollbar-thumb {
  background: var(--evidens-dark-border);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--evidens-navy);
}

/* General form controls */
.form-control,
select,
textarea,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"] {
  background-color: var(--evidens-dark) !important;
  border-color: var(--evidens-dark-border) !important;
  color: var(--evidens-text) !important;
}

.form-control:focus,
select:focus,
textarea:focus,
input:focus {
  border-color: var(--evidens-teal) !important;
  box-shadow: 0 0 0 2px rgba(0, 212, 255, 0.15) !important;
}

/* Dropdown menus */
.popupmenu,
.dropdown-menu,
.menu {
  background-color: var(--evidens-dark-surface) !important;
  border-color: var(--evidens-dark-border) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}

.popupmenu li a,
.dropdown-menu a {
  color: var(--evidens-text) !important;
}

.popupmenu li a:hover,
.dropdown-menu a:hover {
  background-color: var(--evidens-navy) !important;
  color: #fff !important;
}

/* Dialog / modal */
.ui-dialog,
.modal-content {
  background-color: var(--evidens-dark-surface) !important;
  border-color: var(--evidens-dark-border) !important;
  color: var(--evidens-text) !important;
}

.ui-dialog .ui-dialog-titlebar,
.modal-header {
  background-color: var(--evidens-dark-alt) !important;
  border-color: var(--evidens-dark-border) !important;
  color: var(--evidens-text) !important;
}

/* Folder list items */
.folderlist li a,
.treelist li a,
#mailboxlist li a {
  color: var(--evidens-text) !important;
}

.folderlist li a:hover,
.treelist li a:hover,
#mailboxlist li a:hover {
  background-color: rgba(0, 212, 255, 0.06) !important;
  color: var(--evidens-teal) !important;
}

.folderlist li.selected > a,
.treelist li.selected > a,
#mailboxlist li.selected > a {
  background-color: var(--evidens-navy) !important;
  color: #fff !important;
}

/* Badge / unread count */
.unreadcount,
.badge {
  background-color: var(--evidens-teal) !important;
  color: var(--evidens-dark) !important;
  font-weight: 700 !important;
}

/* Message preview / reading pane */
#messagecontframe,
.messagecontframe {
  background-color: var(--evidens-dark) !important;
}

/* Compose editor */
.html-editor,
.mce-container,
.tox-tinymce {
  border-color: var(--evidens-dark-border) !important;
}

/* Search bar */
.searchbar,
#quicksearchbar,
.searchbox {
  background-color: var(--evidens-dark-surface) !important;
  border-color: var(--evidens-dark-border) !important;
}

.searchbar input,
#quicksearchbar input {
  background-color: var(--evidens-dark) !important;
  color: var(--evidens-text) !important;
}

/* Tables */
table.records-table th,
table.records-table td {
  border-color: var(--evidens-dark-border) !important;
}

table.records-table th {
  background-color: var(--evidens-dark-alt) !important;
  color: var(--evidens-text-muted) !important;
}

/* Loading indicator */
.loading,
.spinner {
  color: var(--evidens-teal) !important;
}

/* Selection highlight for text */
::selection {
  background-color: var(--evidens-navy);
  color: #fff;
}

/* Footer area */
#footer,
.footer {
  background-color: var(--evidens-dark-alt) !important;
  border-color: var(--evidens-dark-border) !important;
  color: var(--evidens-text-muted) !important;
}

