/* PrideMail - Outlook-style theme for Roundcube elastic (light + dark mode) */
:root {
  --pm-brand: #1d5fa8;
  --pm-brand-dark: #154a85;
  --pm-brand-ink: #ffffff;
  --pm-sel: #cfe2f7;
  --pm-hover: #eef4fb;
  --pm-pane: #f4f6f9;
  --pm-line: #e3e7ed;
  --pm-ink: #1f2933;
  --pm-muted: #5b6776;
}
html.dark-mode {
  --pm-brand: #2f6db5;
  --pm-brand-dark: #3d7fcc;
  --pm-sel: #1f3b5e;
  --pm-hover: #24303d;
  --pm-pane: #1c232c;
  --pm-line: #2c3540;
  --pm-ink: #e6eaf0;
  --pm-muted: #9aa6b5;
}

body, .form-control, .custom-select, button, input, select, textarea, .popover, .toolbar a {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ---- App rail (left) ---------------------------------------------------- */
#layout-menu { background: var(--pm-brand) !important; }
html.dark-mode #layout-menu { background: #142a45 !important; }
#layout-menu a, #layout-menu .special-buttons a, #taskmenu a { color: #ffffff !important; }
#layout-menu a:before { color: #ffffff !important; opacity: .95; }
#taskmenu a:hover, #layout-menu .special-buttons a:hover { background: rgba(255,255,255,.12) !important; }
#taskmenu a.selected { background: rgba(255,255,255,.22) !important; box-shadow: inset 3px 0 0 #ffffff; }
#taskmenu a.compose {
  background: #ffffff !important; color: var(--pm-brand) !important; font-weight: 600;
  border-radius: 6px; margin: 8px 6px; width: auto !important;
}
#taskmenu a.compose:before { color: var(--pm-brand) !important; }
#taskmenu a.compose:hover { background: #e9f1fb !important; }
#layout-menu .special-buttons a.logout, #layout-menu .special-buttons a.logout:before { color: #ffd6d1 !important; }
#layout-menu .popover-header { background: var(--pm-brand-dark) !important; }
#layout-menu #logo { max-height: 40px; margin: 12px auto 6px; }

/* ---- Folder pane -------------------------------------------------------- */
#layout-sidebar { background: var(--pm-pane) !important; border-right: 1px solid var(--pm-line) !important; }
#layout-sidebar > .header { background: var(--pm-pane) !important; border-bottom: 1px solid var(--pm-line) !important; }
#layout-sidebar .header .header-title { color: var(--pm-ink); font-weight: 600; }
#folderlist-content, #mailboxlist, #mailboxlist li { background: transparent !important; }
#mailboxlist li { border: 0 !important; }
#mailboxlist li a { color: var(--pm-ink) !important; font-size: 14px; }
#mailboxlist li:hover > a, #mailboxlist li > a:hover { background: var(--pm-hover) !important; }
#mailboxlist li.selected > a {
  background: var(--pm-sel) !important; font-weight: 600;
  box-shadow: inset 3px 0 0 var(--pm-brand);
}
#mailboxlist li.unread > a { font-weight: 600; }
#mailboxlist li .unreadcount {
  background: transparent !important; color: var(--pm-brand) !important; font-weight: 700;
}
html.dark-mode #mailboxlist li .unreadcount { color: #8cbcf0 !important; }
#layout-sidebar .footer, #layout-list .footer, #layout-content .footer {
  background: var(--pm-pane) !important; border-top: 1px solid var(--pm-line) !important;
}

/* ---- Message list ------------------------------------------------------- */
#layout-list > .header, #layout-content > .header {
  background: var(--pm-pane) !important; border-bottom: 1px solid var(--pm-line) !important;
}
html:not(.dark-mode) #layout-list, html:not(.dark-mode) #layout-content { background: #ffffff; }
#layout-list .searchbar { background: transparent; }
#messagelist tr td { border-bottom: 1px solid var(--pm-line) !important; }
#messagelist tr:hover td { background: var(--pm-hover) !important; }
#messagelist tr.selected td, #messagelist tr.selected.focused td, #messagelist tr.focused.selected td {
  background: var(--pm-sel) !important; color: var(--pm-ink) !important;
}
#messagelist tr td.subject span.fromto { font-size: 14px; color: var(--pm-ink); font-weight: 400; }
#messagelist tr td.subject span.subject a { color: var(--pm-muted); }
#messagelist tr.unread td.subject span.fromto { font-weight: 700; }
#messagelist tr.unread td.subject span.subject a { color: var(--pm-brand-dark) !important; font-weight: 600; }
html.dark-mode #messagelist tr.unread td.subject span.subject a { color: #8cbcf0 !important; }
#messagelist tr.unread td.selection, #messagelist tr.unread td:first-child { box-shadow: inset 3px 0 0 var(--pm-brand); }
#messagelist tr td.subject span.date { color: var(--pm-muted); }
#messagelist tr.unread td.subject span.date { color: var(--pm-brand-dark); font-weight: 600; }

/* ---- Toolbars ----------------------------------------------------------- */
.toolbar a, .toolbar a.button { color: var(--pm-ink) !important; }
.toolbar a:before, .header .toolbar a:before { color: var(--pm-brand) !important; }
html.dark-mode .toolbar a:before { color: #8cbcf0 !important; }
.toolbar a.disabled, .toolbar a.disabled:before { opacity: .45; }
.toolbar a:not(.disabled):hover { background: var(--pm-hover) !important; border-radius: 6px; }

/* ---- Reading pane ------------------------------------------------------- */
#message-header h2.subject { font-weight: 600; color: var(--pm-ink); }
#message-header a, #messagebody a, .messagelist a.rcmContactAddress { color: var(--pm-brand); }
html.dark-mode #message-header a, html.dark-mode #messagebody a { color: #8cbcf0; }

/* ---- Buttons / links ---------------------------------------------------- */
.btn-primary, .button.mainaction, button.mainaction {
  background-color: var(--pm-brand) !important; border-color: var(--pm-brand) !important; color: #ffffff !important;
}
.btn-primary:hover, .button.mainaction:hover { background-color: var(--pm-brand-dark) !important; border-color: var(--pm-brand-dark) !important; }
.form-control:focus, .custom-select:focus { border-color: var(--pm-brand) !important; box-shadow: 0 0 0 .2rem rgba(29,95,168,.2) !important; }
.listing li.selected, .listing tr.selected td { background-color: var(--pm-sel); }

/* ---- Sign-in page ------------------------------------------------------- */
body.task-login {
  background: linear-gradient(135deg, #1d5fa8 0%, #0e3a6b 100%) !important;
}
body.task-login #layout, body.task-login #layout-content { background: transparent !important; }
body.task-login #logo { max-height: 72px; margin-bottom: 18px; }
body.task-login #login-form {
  background: #ffffff; padding: 30px 28px 24px; border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25); max-width: 380px; margin: 0 auto;
}
html.dark-mode body.task-login #login-form { background: #1c232c; }
body.task-login #login-form .form-control { height: 42px; }
body.task-login #rcmloginsubmit { text-transform: none !important; font-weight: 600; letter-spacing: 0; border-radius: 6px; }
body.task-login #login-footer, body.task-login #login-footer a { color: rgba(255,255,255,.85) !important; }

/* rail: bottom buttons share the rail colour */
#layout-menu .special-buttons, #layout-menu .special-buttons a, #layout-menu .menu, #layout-menu .popover-header + * { background: transparent !important; }
body.task-login #login-form { padding-bottom: 14px; }
