/* Roundcube-compatible visual skins. Palette values are aligned to Roundcube Classic and Elastic upstream CSS. Classic never shipped an official dark skin; the dark block is a contrast-preserving adaptation. */ /* ---------- Roundcube Classic ---------- */ html[data-interface-skin="roundcube-classic"] { --font-sans: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; --font-mono: Monaco, "Courier New", monospace; --radius-control: 0px; --radius-panel: 0px; } html[data-interface-skin="roundcube-classic"][data-theme="light"] { color-scheme: light; --bg: #f6f6f6; --panel: #ffffff; --panel-2: #f2f2f2; --panel-3: #ebebeb; --sidebar: #ffffff; --line: #ebebeb; --line-strong: #999999; --text: #000000; --muted: #666666; --subtle: #888888; --accent: #cc3333; --accent-strong: #b32323; --accent-ink: #ffffff; --danger: #cc0000; --warning: #8a6700; --success: #4b7f3e; --field: #ffffff; --selected: #cc3333; --hover: #f2f2f2; --shadow: rgba(0, 0, 0, .22); --folder-bg: #ffffff; --message-bg: #ffffff; --reader-bg: #ffffff; } html[data-interface-skin="roundcube-classic"][data-theme="dark"] { color-scheme: dark; --bg: #191919; --panel: #242424; --panel-2: #2e2e2e; --panel-3: #363636; --sidebar: #202020; --line: #383838; --line-strong: #707070; --text: #f2f2f2; --muted: #b7b7b7; --subtle: #929292; --accent: #d34b4b; --accent-strong: #e06060; --accent-ink: #ffffff; --danger: #ff6666; --warning: #d2aa4b; --success: #83ad76; --field: #1d1d1d; --selected: #9e3333; --hover: #303030; --shadow: rgba(0, 0, 0, .45); --folder-bg: #202020; --message-bg: #242424; --reader-bg: #242424; } html[data-interface-skin="roundcube-classic"] body { font-family: var(--font-sans); letter-spacing: 0; } html[data-interface-skin="roundcube-classic"] .appbar, html[data-interface-skin="roundcube-classic"] .pane-toolbar, html[data-interface-skin="roundcube-classic"] .reader-toolbar, html[data-interface-skin="roundcube-classic"] .dialog-header { box-shadow: none; } html[data-interface-skin="roundcube-classic"][data-theme="light"] .appbar, html[data-interface-skin="roundcube-classic"][data-theme="light"] .pane-toolbar, html[data-interface-skin="roundcube-classic"][data-theme="light"] .reader-toolbar, html[data-interface-skin="roundcube-classic"][data-theme="light"] .dialog-header, html[data-interface-skin="roundcube-classic"][data-theme="light"] .section-heading { background: linear-gradient(#f4f4f4, #cccccc); border-color: #999999; color: #333333; } html[data-interface-skin="roundcube-classic"][data-theme="dark"] .appbar, html[data-interface-skin="roundcube-classic"][data-theme="dark"] .pane-toolbar, html[data-interface-skin="roundcube-classic"][data-theme="dark"] .reader-toolbar, html[data-interface-skin="roundcube-classic"][data-theme="dark"] .dialog-header, html[data-interface-skin="roundcube-classic"][data-theme="dark"] .section-heading { background: linear-gradient(#3a3a3a, #292929); border-color: #666666; color: #f2f2f2; } html[data-interface-skin="roundcube-classic"] .section-heading { min-height: 22px; margin: 7px -10px 3px; padding: 3px 8px; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); font-size: 10px; letter-spacing: 0; text-transform: none; } html[data-interface-skin="roundcube-classic"] input, html[data-interface-skin="roundcube-classic"] select, html[data-interface-skin="roundcube-classic"] textarea, html[data-interface-skin="roundcube-classic"] .search-field { border-color: var(--line-strong); border-radius: 0; box-shadow: none; } html[data-interface-skin="roundcube-classic"] input:focus, html[data-interface-skin="roundcube-classic"] select:focus, html[data-interface-skin="roundcube-classic"] textarea:focus, html[data-interface-skin="roundcube-classic"] [contenteditable="true"]:focus, html[data-interface-skin="roundcube-classic"] .search-field:focus-within { border-color: #cc3333; box-shadow: 0 0 0 1px #cc3333; } html[data-interface-skin="roundcube-classic"] .button, html[data-interface-skin="roundcube-classic"] .appearance-preset { border-radius: 0; box-shadow: none; } html[data-interface-skin="roundcube-classic"][data-theme="light"] .button, html[data-interface-skin="roundcube-classic"][data-theme="light"] .button.primary { border-color: #a4a4a4; background: linear-gradient(#ffffff, #e2e2e2); color: #333333; } html[data-interface-skin="roundcube-classic"][data-theme="light"] .button:hover, html[data-interface-skin="roundcube-classic"][data-theme="light"] .button.primary:hover { border-color: #777777; background: linear-gradient(#ffffff, #d5d5d5); } html[data-interface-skin="roundcube-classic"][data-theme="dark"] .button, html[data-interface-skin="roundcube-classic"][data-theme="dark"] .button.primary { border-color: #6f6f6f; background: linear-gradient(#3c3c3c, #292929); color: #f2f2f2; } html[data-interface-skin="roundcube-classic"] .button.danger, html[data-interface-skin="roundcube-classic"] a { color: var(--danger); } html[data-interface-skin="roundcube-classic"] .folder-button { border-radius: 0; min-height: var(--sidebar-item-height); padding-top: 2px; padding-bottom: 2px; } html[data-interface-skin="roundcube-classic"] .folder-button.active { background: #929292; border-color: #929292; color: #ffffff; font-weight: 700; } html[data-interface-skin="roundcube-classic"] .folder-button.active .folder-count, html[data-interface-skin="roundcube-classic"] .folder-button.active svg { color: #ffffff; } html[data-interface-skin="roundcube-classic"] .message-row { border-bottom-color: var(--line); border-radius: 0; box-shadow: none; } html[data-interface-skin="roundcube-classic"] .message-row.active, html[data-interface-skin="roundcube-classic"] .message-row.selected { background: var(--selected); color: #ffffff; } html[data-interface-skin="roundcube-classic"] .message-row.active .message-date, html[data-interface-skin="roundcube-classic"] .message-row.active .message-snippet, html[data-interface-skin="roundcube-classic"] .message-row.active .message-state, html[data-interface-skin="roundcube-classic"] .message-row.selected .message-date, html[data-interface-skin="roundcube-classic"] .message-row.selected .message-snippet { color: #ffffff; border-color: rgba(255,255,255,.8); } html[data-interface-skin="roundcube-classic"] .settings-tab { border-radius: 0; } html[data-interface-skin="roundcube-classic"] .settings-tab.active { background: #929292; color: #ffffff; } html[data-interface-skin="roundcube-classic"] .dialog-card, html[data-interface-skin="roundcube-classic"] .login-panel, html[data-interface-skin="roundcube-classic"] .appearance-preset, html[data-interface-skin="roundcube-classic"] .diagnostic-card { border-radius: 0; } /* ---------- Roundcube Elastic ---------- */ html[data-interface-skin="roundcube-elastic"] { --font-sans: Roboto, "Segoe UI", Arial, sans-serif; --radius-control: .3rem; --radius-panel: .3rem; } html[data-interface-skin="roundcube-elastic"][data-theme="light"] { color-scheme: light; --bg: #ffffff; --panel: #ffffff; --panel-2: #f4f4f4; --panel-3: #fbfbfb; --sidebar: #ffffff; --line: #dddddd; --line-strong: #ced4da; --text: #2b3438; --muted: #737f84; --subtle: #879298; --accent: #37beff; --accent-strong: #00acff; --accent-ink: #ffffff; --danger: #ff5552; --warning: #a27d00; --success: #41b849; --field: #ffffff; --selected: #ebf8ff; --hover: #f4fafe; --shadow: rgba(22, 27, 29, .18); --folder-bg: #ffffff; --message-bg: #ffffff; --reader-bg: #ffffff; } html[data-interface-skin="roundcube-elastic"][data-theme="dark"] { color-scheme: dark; --bg: #21292c; --panel: #21292c; --panel-2: #2f3a3f; --panel-3: #283236; --sidebar: #21292c; --line: #3a494e; --line-strong: #4d6066; --text: #c5d1d3; --muted: #9dafb3; --subtle: #85999e; --accent: #37beff; --accent-strong: #55c7ff; --accent-ink: #07181f; --danger: #ff7774; --warning: #ffd452; --success: #65c86c; --field: #21292c; --selected: #374549; --hover: #2c373a; --shadow: rgba(0, 0, 0, .42); --folder-bg: #21292c; --message-bg: #21292c; --reader-bg: #21292c; } html[data-interface-skin="roundcube-elastic"] body { font-family: var(--font-sans); line-height: 1.5; } html[data-interface-skin="roundcube-elastic"] .appbar, html[data-interface-skin="roundcube-elastic"] .pane-toolbar, html[data-interface-skin="roundcube-elastic"] .reader-toolbar, html[data-interface-skin="roundcube-elastic"] .dialog-header { background: #f4f4f4; box-shadow: none; } html[data-interface-skin="roundcube-elastic"][data-theme="dark"] .appbar, html[data-interface-skin="roundcube-elastic"][data-theme="dark"] .pane-toolbar, html[data-interface-skin="roundcube-elastic"][data-theme="dark"] .reader-toolbar, html[data-interface-skin="roundcube-elastic"][data-theme="dark"] .dialog-header { background: #2f3a3f; } html[data-interface-skin="roundcube-elastic"] input, html[data-interface-skin="roundcube-elastic"] select, html[data-interface-skin="roundcube-elastic"] textarea, html[data-interface-skin="roundcube-elastic"] .search-field { border-color: var(--line-strong); box-shadow: none; } html[data-interface-skin="roundcube-elastic"][data-theme="dark"] input, html[data-interface-skin="roundcube-elastic"][data-theme="dark"] select, html[data-interface-skin="roundcube-elastic"][data-theme="dark"] textarea, html[data-interface-skin="roundcube-elastic"][data-theme="dark"] .search-field { border-color: #7c949c; } html[data-interface-skin="roundcube-elastic"] input:focus, html[data-interface-skin="roundcube-elastic"] select:focus, html[data-interface-skin="roundcube-elastic"] textarea:focus, html[data-interface-skin="roundcube-elastic"] [contenteditable="true"]:focus, html[data-interface-skin="roundcube-elastic"] .search-field:focus-within { border-color: #37beff; box-shadow: 0 0 0 1px #37beff; } html[data-interface-skin="roundcube-elastic"] .button.primary { border-color: #37beff; background: #37beff; color: #ffffff; } html[data-interface-skin="roundcube-elastic"] .button.primary:hover { border-color: #00acff; background: #00acff; } html[data-interface-skin="roundcube-elastic"][data-theme="dark"] .button.primary { border-color: #006a9d; background: #006a9d; color: #ffffff; } html[data-interface-skin="roundcube-elastic"][data-theme="dark"] .button.primary:hover { border-color: #007fb9; background: #007fb9; } html[data-interface-skin="roundcube-elastic"] .folder-button.active, html[data-interface-skin="roundcube-elastic"] .message-row.active, html[data-interface-skin="roundcube-elastic"] .message-row.selected, html[data-interface-skin="roundcube-elastic"] .settings-tab.active { background: var(--selected); border-color: var(--line); color: var(--text); } html[data-interface-skin="roundcube-elastic"] .folder-count.unread, html[data-interface-skin="roundcube-elastic"] .message-row.unread .message-state, html[data-interface-skin="roundcube-elastic"] .brand-icon { color: #37beff; } html[data-interface-skin="roundcube-elastic"] .message-row.unread .message-state { background: #37beff; border-color: #37beff; } html[data-interface-skin="roundcube-elastic"] .section-heading { color: var(--muted); letter-spacing: .04em; } html[data-interface-skin="roundcube-elastic"] .appearance-preset:focus-visible, html[data-interface-skin="roundcube-elastic"] .appearance-preset:hover { border-color: #37beff; } /* Mobile drawer follows the active skin and uses Roundcube Elastic's back affordance. */ @media (max-width: 820px) { .folder-drawer-header.mobile-only { display: grid; width: auto; min-height: 42px; grid-template-columns: 34px minmax(0, 1fr) 34px; align-items: center; gap: 6px; margin: -10px -10px 8px; padding: 4px 8px; border-bottom: 1px solid var(--line); background: var(--panel-2); } .folder-drawer-header strong { grid-column: 2; justify-self: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .folder-drawer-close { grid-column: 1; position: static; width: 34px; height: 34px; background: transparent; border: 0; color: var(--text); } .folder-drawer-close svg { width: 20px; height: 20px; stroke-width: 2; } .folder-pane .compose-button { padding-right: var(--button-pad-x); } html[data-interface-skin="roundcube-classic"] .folder-drawer-header { min-height: 32px; background: linear-gradient(#f4f4f4, #cccccc); border-color: #999999; } html[data-interface-skin="roundcube-classic"][data-theme="dark"] .folder-drawer-header { background: linear-gradient(#3a3a3a, #292929); border-color: #666666; } html[data-interface-skin="roundcube-elastic"] .folder-drawer-header { min-height: 58px; background: #f4f4f4; } html[data-interface-skin="roundcube-elastic"][data-theme="dark"] .folder-drawer-header { background: #2f3a3f; } }