/* Aerosend brand: Poppins font */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

:root {
    --font-family: 'Poppins', sans-serif;
}

body,
html,
.popover {
    font-family: 'Poppins', sans-serif !important;
}

/* Buttons: Bootstrap/Elastic may override inherited font */
button,
.btn,
a.button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.custom-select,
.form-control.custom-select,
.pretty-select {
    font-family: 'Poppins', sans-serif !important;
}

/* Placeholders */
::placeholder,
.form-control::placeholder,
input::placeholder,
textarea::placeholder {
    font-family: 'Poppins', sans-serif !important;
}

::-webkit-input-placeholder,
.form-control::-webkit-input-placeholder {
    font-family: 'Poppins', sans-serif !important;
}

::-ms-input-placeholder,
.form-control::-ms-input-placeholder {
    font-family: 'Poppins', sans-serif !important;
}

/* Login page: full brand logo - theme-based (light/dark variant) */
body.task-login #logo {
    display: none !important;
}

body.task-login #layout-content::before {
    content: '';
    display: block;
    width: 180px;
    height: 55px;
    margin: 0 auto;
    position: relative;
    top: 16vh;
    background: url('../images/aerosend-full-light-logo.svg') no-repeat center;
    background-size: contain;
}

html.dark-mode body.task-login #layout-content::before {
    background-image: url('../images/aerosend-full-dark-logo.svg');
}

/* Keep monospace for code/email content */
pre,
code,
.monospace,
#message-content {
    font-family: monospace !important;
}

/* ========== Lucide Icons (replacing Font Awesome) ========== */
@font-face {
    font-family: "lucide";
    src: url('https://unpkg.com/lucide-static@0.574.0/font/lucide.woff2') format('woff2'),
        url('https://unpkg.com/lucide-static@0.574.0/font/lucide.woff') format('woff');
}


/* Brand color: sidebar/task menu - full layout in both light and dark mode */
#layout-menu,
#layout-menu .popover-header,
#layout-menu #taskmenu,
#layout-menu .special-buttons {
    background-color: #11101D !important;
}

/* Reduce popover header logo size */
#layout-menu .popover-header img {
    max-height: 38px !important;
    max-width: 52px !important;
}

html.layout-phone #layout-menu .popover-header img {
    max-width: 140px !important;
}


@media screen and (min-width: 481px) {

    #layout #layout-menu,
    #layout #layout-menu .popover-header {
        background-color: #11101D !important;
    }
}

/* Selected, hover, focus: subtle highlight within brand color family */
#layout-menu #taskmenu a.selected,
#layout-menu #taskmenu a:hover,
#layout-menu #taskmenu a:focus,
#layout-menu .special-buttons a:hover,
#layout-menu .special-buttons a:focus,
#layout-menu .action-buttons a:hover {
    background-color: #21202D !important;
}

/* Dark mode: override Roundcube's dark theme to keep brand color */
html.dark-mode #layout-menu,
html.dark-mode #layout-menu .popover-header,
html.dark-mode #layout-menu .special-buttons {
    background-color: #11101D !important;
}

html.dark-mode #layout-menu #taskmenu a.selected,
html.dark-mode #layout-menu #taskmenu a:hover,
html.dark-mode #layout-menu #taskmenu a:focus,
html.dark-mode #layout-menu .special-buttons a:hover,
html.dark-mode #layout-menu .special-buttons a:focus,
html.dark-mode #layout-menu .action-buttons a:hover {
    background-color: #21202D !important;
}

/* Override dark mode default: special-buttons links use brand color, not #21292c */
html.dark-mode #layout-menu .special-buttons a {
    background-color: #11101D !important;
}

html.dark-mode.layout-phone #layout-menu,
html.dark-mode.layout-phone #layout-menu .popover-header,
html.dark-mode.layout-small #layout-menu,
html.dark-mode.layout-small #layout-menu .popover-header {
    background-color: #11101D !important;
}

.custom-switch .custom-control-input:checked~.custom-control-label::before {
    border-color: #1b0a59 !important;
    background-color: #123799 !important;
}

.btn-primary {
    background-color: #374549 !important;
    border-radius: 0.36rem !important;
}

.btn-primary:hover {
    background-color: #3c4072;
    box-shadow: 0 4px 8px rgba(76, 80, 147, 0.2);
}

.btn-secondary {
    border-radius: 0.36rem !important;
}

/* Lucide-style chevron-down for all dropdowns (custom-select, pretty-select) */
.custom-select,
.form-control.custom-select,
.pretty-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23343a40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-size: 12px 12px !important;
    background-position: right 0.75rem center !important;
    background-repeat: no-repeat !important;
    border-radius: 0.46rem !important;
}

html.dark-mode .custom-select,
html.dark-mode .form-control.custom-select,
html.dark-mode .pretty-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23c5d1d3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
}

/* Base: use Lucide font for all icon elements */
#layout .button.icon:before,
#layout button.btn:before,
#layout .menu a:before,
.popover .menu a:before,
#layout .folderlist li a:before,
#layout .floating-action-buttons a:before,
#layout .listing.iconized li a:before,
#layout .listing.iconized li>i:before,
#layout .listing.iconized tr td:before,
#layout .messagelist span.flagged:before,
#layout .messagelist span.attachment span:before,
#layout .messagelist td.subject span.msgicon.status:before,
#layout .messagelist td.subject span.msgicon.status:after,
.messagelist td.subject span.msgicon.status:before,
.messagelist td.subject span.msgicon.status:after,
.messagelist tr.thread td.threads div:before,
#layout .attachmentslist li:before,
#layout .attachmentslist li a.delete:before,
#layout .attachmentslist li a.cancelupload:before,
#layout .contactlist td.contact:before,
#layout .contactlist td.contactgroup:before,
#layout .keylist li:before,
#layout .input-group .icon:before,
.input-group .icon:before,
#filtersetslist td.name:before,
#filterslist td.name:before,
#identities-table td.mail:before,
#message-header .header-links a:before,
#message-header>.subject a.extwin:before,
#responses-table td.name:before,
.listing td.action a:before,
.quota-widget:before,
.searchbar form:before,
.searchbar a:before,
.table-widget table.options-table td.enabled span:before,
.table.table th.checkbox-cell:before,
.ui-dialog .ui-dialog-titlebar-close:before,
.ui-dialog button.btn:before,
.formcontainer button.btn:before,
.propform td.rowbuttons a:before,
.ui-datepicker .ui-datepicker-prev:before,
.ui-datepicker .ui-datepicker-next:before,
.ui.alert>i.icon:before,
ul.treelist li div.treetoggle:before,
.pgpkeyimport div.key label.keyid+a:before,
.pgpkeyimport li.uid:before,
p.image-attachment .attachment-links a.open:before,
p.image-attachment .attachment-links a.download:before {
    font-family: 'lucide' !important;
    font-weight: 500;
}

/* ----- Toolbar & navigation ----- */
a.button.icon.sidebar-menu:before,
a.button.icon.toolbar-list-button:before,
a.button.icon.toolbar-menu-button:before,
button.btn.sidebar-menu:before,
button.btn.toolbar-list-button:before,
button.btn.toolbar-menu-button:before {
    content: "\e0b7" !important;
    /* menu (hamburger) */
}

a.button.icon.task-menu-button:before,
button.btn.task-menu-button:before {
    content: "\e0ff" !important;
    /* layout-grid */
}

a.button.icon.back-content-button:before,
a.button.icon.back-list-button:before,
a.button.icon.back-sidebar-button:before,
button.btn.back-content-button:before,
button.btn.back-list-button:before,
button.btn.back-sidebar-button:before {
    content: "\e06e" !important;
    /* chevron-left */
}

a.button.icon.refresh:before,
button.btn.refresh:before {
    content: "\e145" !important;
    font-weight: 600 !important;
    /* refresh-cw */
}

a.button.icon.continue:before,
a.button.icon.generate:before,
a.button.icon.save:before,
a.button.icon.submit:before,
a.button.icon.yes:before,
button.btn.continue:before,
button.btn.generate:before,
button.btn.save:before,
button.btn.submit:before,
button.btn.yes:before {
    content: "\e06c" !important;
    /* check */
}

a.button.icon.create:before,
button.btn.create:before {
    content: "\e13d" !important;
    /* plus */
}

a.button.icon.edit:before,
button.btn.edit:before {
    content: "\e1f9" !important;
    /* pencil */
}

a.button.icon.qrcode:before,
button.btn.qrcode:before {
    content: "\e1df" !important;
    /* qr-code */
}

a.button.icon.search:before,
button.btn.search:before {
    content: "\e151" !important;
    /* search */
}

a.button.icon.filter:before,
button.btn.filter:before {
    content: "\e29a" !important;
    /* sliders-horizontal */
}

a.button.icon.import:before,
button.btn.import:before {
    content: "\e19e" !important;
    /* upload */
}

a.button.icon.export:before,
button.btn.export:before {
    content: "\e0b2" !important;
    /* download */
}

a.button.icon.delete:before,
a.button.icon.discard:before,
button.btn.delete:before,
button.btn.discard:before {
    content: "\e18e" !important;
    /* trash-2 */
}

a.button.icon.next:before,
button.btn.next:before {
    content: "\e06f" !important;
    /* chevron-right */
}

a.button.icon.restore:before,
a.button.icon.bounce:before,
a.button.icon.send:before,
button.btn.restore:before,
button.btn.bounce:before,
button.btn.send:before {
    content: "\e152" !important;
    /* send */
}

a.button.icon.attach:before,
button.btn.attach:before {
    content: "\e12d" !important;
    /* paperclip */
}

a.button.icon.attach.vcard:before,
button.btn.attach.vcard:before {
    content: "\e19f" !important;
    /* user */
}

a.button.icon.cancel:before,
a.button.icon.close:before,
a.button.icon.no:before,
button.btn.cancel:before,
button.btn.close:before,
button.btn.no:before {
    content: "\e1b2" !important;
    /* x */
}

a.button.icon.back:before,
button.btn.back:before {
    content: "\e06e" !important;
    /* chevron-left */
}

a.button.icon.remove:before,
button.btn.remove:before {
    content: "\e1b2" !important;
    /* x */
}

a.button.icon.unlock:before,
button.btn.unlock:before {
    content: "\e10c" !important;
    /* lock-open */
}

a.button.icon.help:before,
button.btn.help:before {
    content: "\e082" !important;
    /* circle-question-mark */
}

a.button.icon.folders:before,
button.btn.folders:before {
    content: "\e0d7" !important;
    /* folder */
}

a.button.icon.options:before,
button.btn.options:before {
    content: "\e29a" !important;
    /* sliders-horizontal */
}

a.button.icon.settings:before,
a.button.icon.tools:before,
button.btn.settings:before,
button.btn.tools:before {
    content: "\e154" !important;
    /* settings */
}

a.button.icon.properties:before,
button.btn.properties:before {
    content: "\e0f9" !important;
    /* info */
}

a.button.icon.selection:before,
button.btn.selection:before {
    content: "\e559" !important;
    /* square-check */
}

a.button.icon.insert.recipient:before,
button.btn.insert.recipient:before {
    content: "\e1a2" !important;
    /* user-plus */
}

a.button.icon.encrypt:before,
button.btn.encrypt:before {
    content: "\e10b" !important;
    /* lock */
}

a.button.icon.sign:before,
button.btn.sign:before {
    content: "\e5f2" !important;
    /* signature */
}

a.button.icon.sso:before,
button.btn.sso:before {
    content: "\e10d" !important;
    /* log-in */
}

a.button.icon.extwin:before,
button.btn.extwin:before {
    content: "\e0b9" !important;
    /* external-link */
}

a.button.icon.dropdown:before,
button.btn.dropdown:before {
    content: "\e06d" !important;
    /* chevron-down */
}

/* ----- Floating compose button ----- */
.floating-action-buttons a.button:before {
    content: "\e13d" !important;
    /* plus */
}

.floating-action-buttons a.button.compose:before {
    content: "\e130" !important;
    /* pen-line (compose) */
}

/* ----- Folder list ----- */
.folderlist li a:before {
    content: "\e0d7" !important;
    /* folder (default) */
}

.folderlist li.inbox>a:before {
    content: "\e0f7" !important;
    /* inbox */
}

.folderlist li.drafts>a:before {
    content: "\e31f" !important;
    /* file-pen (drafts) */
}

.folderlist li.sent>a:before {
    content: "\e152" !important;
    /* send */
}

.folderlist li.junk>a:before {
    content: "\e0d2" !important;
    /* ban (spam/junk) */
}

.folderlist li.trash>a:before,
.folderlist li.trash.empty>a:before {
    content: "\e18e" !important;
    /* trash-2 */
}

.folderlist li.archive>a:before {
    content: "\e041" !important;
    /* archive */
}

.folderlist li.ns-shared>a:before {
    content: "\e155" !important;
    /* share (shared folder) */
}

.folderlist li.ns-other>a:before {
    content: "\e0d7" !important;
    /* folder */
}

/* ----- Quota widget (storage) ----- */
.quota-widget:before {
    content: "\e0ed" !important;
    /* hard-drive */
}

/* ----- Message list ----- */
.messagelist span.flagged:before,
.messagelist tr.flaggedroot:not(:hover) span.unflagged:before,
.messagelist tr:hover span.unflagged:before {
    content: "\e0d1" !important;
    /* flag (starred/flagged) */
}

.messagelist span.attachment span:before {
    content: "\e12d" !important;
    /* paperclip */
}

.messagelist span.attachment span.report:before {
    content: "\e0cc" !important;
    /* file-text (report) */
}

.messagelist span.attachment span.encrypted:before {
    content: "\e10b" !important;
    /* lock */
}

.messagelist span.attachment span.vcard:before {
    content: "\e19f" !important;
    /* user (vcard) */
}

.messagelist td.subject span.msgicon.status:before,
.messagelist td.subject span.msgicon.status.unread:before,
.messagelist td.subject span.msgicon.status.unreadchildren:before {
    content: "\e076" !important;
    /* circle (unread dot) */
}

.messagelist td.subject span.msgicon.status.replied:before,
.messagelist td.subject span.msgicon.status.replied.forwarded:before {
    content: "\e22a" !important;
    /* reply */
}

.messagelist td.subject span.msgicon.status.replied.forwarded:after {
    content: "\e229" !important;
    /* forward */
}

.messagelist td.subject span.msgicon.status.forwarded:before {
    content: "\e229" !important;
    /* forward */
}

.messagelist tr.deleted td.subject span.msgicon.status:before {
    content: "\e084" !important;
    /* circle-x (deleted) */
}

.messagelist tr.thread td.threads div:before {
    content: "\e070" !important;
    /* chevron-up (collapse) */
}

.messagelist tr.thread.expanded td.threads div:before {
    content: "\e06d" !important;
    /* chevron-down (expand) */
}

/* ----- Attachments list ----- */
.attachmentslist li:before {
    content: "\e0c0" !important;
    /* file */
}

.attachmentslist li.text:before,
.attachmentslist li.txt:before {
    content: "\e0cc" !important;
    /* file-text */
}

.attachmentslist li a.delete:before {
    content: "\e18e" !important;
    /* trash-2 */
}

.attachmentslist li a.cancelupload:before {
    content: "\e1b2" !important;
    /* x */
}

.attachmentslist li.pdf:before {
    content: "\e0cc" !important;
    /* file-text */
}

.attachmentslist li.doc:before,
.attachmentslist li.docx:before,
.attachmentslist li.msword:before,
.attachmentslist li.odt:before {
    content: "\e0cc" !important;
    /* file-text */
}

.attachmentslist li.msexcel:before,
.attachmentslist li.ods:before,
.attachmentslist li.xls:before,
.attachmentslist li.xlsx:before {
    content: "\e326" !important;
    /* file-spreadsheet */
}

.attachmentslist li.gz:before,
.attachmentslist li.rar:before,
.attachmentslist li.zip:before {
    content: "\e30d" !important;
    /* file-archive */
}

.attachmentslist li.image:before,
.attachmentslist li.jpeg:before,
.attachmentslist li.jpg:before,
.attachmentslist li.png:before {
    content: "\e31c" !important;
    /* file-image */
}

.attachmentslist li.audio:before,
.attachmentslist li.mp3:before {
    content: "\e55e" !important;
    /* file-music */
}

.attachmentslist li.m4p:before,
.attachmentslist li.video:before {
    content: "\e32b" !important;
    /* file-video-camera */
}

.attachmentslist li.vcard:before {
    content: "\e19f" !important;
    /* user */
}

.attachmentslist li.html:before {
    content: "\e0c3" !important;
    /* file-code */
}

.attachmentslist li.odp:before,
.attachmentslist li.otp:before,
.attachmentslist li.ppsx:before,
.attachmentslist li.ppt:before,
.attachmentslist li.pptx:before,
.attachmentslist li.vnd.mspowerpoint:before {
    content: "\e4ae" !important;
    /* presentation */
}

/* ----- Image attachment links ----- */
p.image-attachment .attachment-links a.open:before {
    content: "\e0b9" !important;
    /* external-link */
}

p.image-attachment .attachment-links a.download:before {
    content: "\e0b2" !important;
    /* download */
}

/* ----- Searchbar ----- */
.searchbar form:before {
    content: "\e151" !important;
    /* search */
}

/* Searchbar has class "searchbar menu" - use .searchbar.menu for higher specificity so it beats .menu a.options */
.searchbar.menu a.options:before {
    content: "\e3cf" !important;
    /* square-chevron-down (expand search options) */
}

.searchbar.menu.open a.options:before {
    content: "\e3d2" !important;
    /* square-chevron-up when expanded (collapse search options) */
}

.searchbar a.unread:before {
    content: "\e10f" !important;
    font-weight: 600 !important;
    /* mail */
}

.searchbar a.reset:before {
    content: "\e1b2" !important;
    font-weight: 600 !important;
    /* x (clear/reset) */
}

/* ----- Pagination ----- */
.menu a.firstpage:before {
    content: "\e072" !important;
    font-weight: 600 !important;
    /* chevrons-left */
}

.menu a.prevpage:before {
    content: "\e06e" !important;
    font-weight: 600 !important;
    /* chevron-left */
}

.menu a.nextpage:before {
    content: "\e06f" !important;
    font-weight: 600 !important;
    /* chevron-right */
}

.menu a.lastpage:before {
    content: "\e073" !important;
    font-weight: 600 !important;
    /* chevrons-right */
}

/* ----- App menu ----- */
.menu a.mail:before {
    content: "\e10f" !important;
    /* mail */
}

.menu a.contacts:before {
    content: "\e1a4" !important;
    /* users */
}

.menu a.options:before {
    content: "\e29a" !important;
    font-weight: 600 !important;
    /* sliders-horizontal */
}

.menu a.settings:before {
    content: "\e154" !important;
    /* settings */
}

.menu a.theme.light:before {
    content: "\e178" !important;
    /* sun */
}

.menu a.theme.dark:before {
    content: "\e11e" !important;
    /* moon */
}

.menu a.help:before {
    content: "\e082" !important;
    /* circle-question-mark */
}

.menu a.logout:before {
    content: "\e10e" !important;
    /* log-out */
}

.menu a.about:before {
    content: "\e0f9" !important;
    /* info */
}

.menu a.refresh:before {
    content: "\e145" !important;
    /* refresh-cw */
}

.menu a.compose:before {
    content: "\e130" !important;
    /* pen-line */
}

.menu a.calendar:before {
    content: "\e063" !important;
    /* calendar */
}

.menu a.tasklist:before {
    content: "\e4c3" !important;
    /* list-todo */
}

.menu a.files:before {
    content: "\e0d7" !important;
    /* folder */
}

.menu a.notes:before {
    content: "\e303" !important;
    /* sticky-note */
}

.menu a.chat:before {
    content: "\e116" !important;
    /* message-circle */
}

.menu a.actions:before {
    content: "\e154" !important;
    /* settings */
}

.menu a.addressbook:before {
    content: "\e19f" !important;
    /* user */
}

.menu a.archive:before {
    content: "\e041" !important;
    /* archive */
}

.menu a.assigngroup:before {
    content: "\e1a2" !important;
    /* user-plus */
}

.menu a.attach:before,
.menu a.vcard:before {
    content: "\e12d" !important;
    /* paperclip */
}

.menu a.next:before {
    content: "\e06f" !important;
    /* chevron-right */
}

.menu a.back:before,
.menu a.prev:before {
    content: "\e06e" !important;
    /* chevron-left */
}

.menu a.check.selected:before {
    content: "\e06c" !important;
    /* check */
}

.menu a.closewin:before {
    content: "\e1b2" !important;
    /* x */
}

.menu a.collapse:before {
    content: "\e11a" !important;
    /* minimize */
}

.menu a.copy:before {
    content: "\e09e" !important;
    /* copy */
}

.menu a.create:before {
    content: "\e13d" !important;
    /* plus */
}

.menu a.delete:before {
    content: "\e18e" !important;
    /* trash-2 */
}

.menu a.download:before,
.menu a.download.eml:before,
.menu a.download.maildir:before,
.menu a.download.mbox:before {
    content: "\e0b2" !important;
    /* download */
}

.menu a.dropdown:before {
    content: "\e06d" !important;
    /* chevron-down */
}

.menu a.edit:before {
    content: "\e1f9" !important;
    /* pencil */
}

.menu a.encrypt:before,
.menu a.enigma:before,
.menu a.encrypt.sign:before {
    content: "\e10b" !important;
    /* lock */
}

.menu a.expand:before {
    content: "\e112" !important;
    /* maximize */
}

.menu a.expand.all:before {
    content: "\e071" !important;
    /* chevrons-down */
}

.menu a.expand.none:before {
    content: "\e071" !important;
    /* chevrons-down */
}

.menu a.export:before,
.menu a.export.all:before,
.menu a.export.selection:before {
    content: "\e0b2" !important;
    /* download */
}

.menu a.expunge:before {
    content: "\e2e9" !important;
    /* recycle */
}

.menu a.extwin:before {
    content: "\e0b9" !important;
    /* external-link */
}

.menu a.filterlink:before {
    content: "\e29a" !important;
    /* sliders-horizontal */
}

.menu a.flag:before,
.menu a.select.flagged:before,
.menu a.unflag:before {
    content: "\e0d1" !important;
    /* flag */
}

.menu a.folders:before {
    content: "\e0d7" !important;
    /* folder */
}

.menu a.forward:before,
.menu a.forward.attachment:before,
.menu a.forward.bounce:before,
.menu a.forward.inline:before {
    content: "\e229" !important;
    /* forward */
}

.menu a.import:before,
.menu a.upload:before {
    content: "\e19e" !important;
    /* upload */
}

.menu a.insertresponse:before,
.menu a.responses:before {
    content: "\e117" !important;
    /* message-square */
}

.menu a.junk:before {
    content: "\e051" !important;
    /* ban (spam) */
}

.menu a.notjunk:before {
    content: "\e0cc" !important;
    /* file-text (not junk) */
}

.menu a.markmessage:before {
    content: "\e0d1" !important;
    /* flag */
}

.menu a.more:before {
    content: "\e0b6" !important;
    /* ellipsis */
}

.menu a.move:before {
    content: "\e121" !important;
    /* move */
}

.menu a.print:before {
    content: "\e141" !important;
    /* printer */
}

.menu a.properties:before {
    content: "\e0f9" !important;
    /* info */
}

.menu a.purge:before {
    content: "\e18d" !important;
    /* trash */
}

.menu a.qrcode:before {
    content: "\e1df" !important;
    /* qr-code */
}

.menu a.read:before {
    content: "\e363" !important;
    /* mail-open */
}

.menu a.unread:before,
.menu a.expand.unread:before,
.menu a.select.unread:before {
    content: "\e10f" !important;
    /* mail */
}

.menu a.recipient:before {
    content: "\e10f" !important;
    /* mail */
}

.menu a.remove:before {
    content: "\e18e" !important;
    /* trash-2 */
}

.menu a.removegroup:before {
    content: "\e1a3" !important;
    /* user-x */
}

.menu a.rename:before {
    content: "\e1f9" !important;
    /* pencil */
}

.menu a.reply:before {
    content: "\e22a" !important;
    /* reply */
}

.menu a.reply-all:before,
.menu a.reply.all:before,
.menu a.reply.list:before {
    content: "\e22b" !important;
    /* reply-all */
}

.menu a.rotate:before {
    content: "\e149" !important;
    /* rotate-cw */
}

.menu a.save:before {
    content: "\e14d" !important;
    /* save */
}

.menu a.search:before {
    content: "\e151" !important;
    /* search */
}

.menu a.search.delete:before {
    content: "\e18e" !important;
    /* trash-2 */
}

.menu a.select:before {
    content: "\e559" !important;
    font-weight: 600 !important;
    /* square-check */
}

.menu a.select.all:before {
    content: "\e06c" !important;
    font-weight: 600 !important;
    /* check */
}

.menu a.select.invert:before,
.menu a.selection:before {
    content: "\e559" !important;
    /* square-check */
}

.menu a.select.none:before {
    content: "\e1b2" !important;
    /* x */
}

.menu a.select.page:before {
    content: "\e0ff" !important;
    /* layout-grid */
}

.menu a.send:before {
    content: "\e152" !important;
    /* send */
}

.menu a.showurl:before {
    content: "\e102" !important;
    /* link */
}

.menu a.signature:before {
    content: "\e5f2" !important;
    /* signature */
}

.menu a.source:before {
    content: "\e0c3" !important;
    /* file-code */
}

.menu a.spellcheck:before {
    content: "\e49a" !important;
    /* spell-check */
}

.menu a.status:before {
    content: "\e1c2" !important;
    /* lightbulb (status) */
}

.menu a.submit:before {
    content: "\e06c" !important;
    /* check */
}

.menu a.info:before {
    content: "\e0f9" !important;
    /* info */
}

.menu a.threads:before {
    content: "\e40d" !important;
    font-weight: 600 !important;
    /* messages-square */
}

.menu a.zoomin:before {
    content: "\e21a" !important;
    /* expand */
}

.menu a.zoomout:before {
    content: "\e220" !important;
    /* shrink */
}

/* ----- Listing iconized (settings sidebar) ----- */
.listing.iconized li.preferences>a:before {
    content: "\e30b" !important;
    /* gear */
}

.listing.iconized li.folders>a:before {
    content: "\e0d7" !important;
    /* folder */
}

.listing.iconized li.responses>a:before {
    content: "\e116" !important;
    /* message-square */
}

.listing.iconized li.identities>a:before {
    content: "\e617" !important;
    /* id-card */
}

.listing.iconized li.password>a:before {
    content: "\e10b" !important;
    /* lock */
}

.listing.iconized li.addressbook a:before {
    content: "\e09c" !important;
    /* contact */
}

.listing.iconized li.contactgroup a:before {
    content: "\e1a4" !important;
    /* users */
}

.listing.iconized li.contactsearch a:before {
    content: "\e151" !important;
    /* search */
}

.listing.iconized li.filter>a:before {
    content: "\e0dc" !important;
    /* sliders-horizontal */
}

.listing.iconized li.vacation>a:before {
    content: "\e087" !important;
    /* clock (vacation/away) */
}

.listing.iconized li.forward>a:before {
    content: "\e229" !important;
    /* forward */
}

.listing.iconized li.enigma.keys>a:before {
    content: "\e0fd" !important;
    /* key */
}

.listing.iconized li.info>a:before,
.listing.iconized li.userinfo>a:before {
    content: "\e0f9" !important;
    /* info */
}

.listing.iconized li.twofactorauth>a:before {
    content: "\e10d" !important;
    /* log-in */
}

.listing.iconized li a.help:before {
    content: "\e082" !important;
    /* circle-question-mark */
}

.listing.iconized li a.about:before {
    content: "\e0f9" !important;
    /* info */
}

.listing.iconized li>i:before,
.listing.iconized tr.contact.person td.name:before {
    content: "\e19f" !important;
    /* user */
}

.listing.iconized li.group>i:before,
.listing.iconized tr.contact.group td.name:before {
    content: "\e1a4" !important;
    /* users */
}

.listing.iconized tr.general>td.section:before {
    content: "\e11d" !important;
    /* monitor */
}

.listing.iconized tr.mailbox>td.section:before {
    content: "\e10f" !important;
    /* mail */
}

.listing.iconized tr.mailview>td.section:before {
    content: "\e0cc" !important;
    /* file-text */
}

.listing.iconized tr.compose>td.section:before {
    content: "\e152" !important;
    /* send */
}

.listing.iconized tr.addressbook>td.section:before {
    content: "\e463" !important;
    /* contact-round */
}

.listing.iconized tr.folders>td.section:before {
    content: "\e0d7" !important;
    /* folder */
}

.listing.iconized tr.server>td.section:before {
    content: "\e153" !important;
    /* server */
}

.listing td.action a.pushgroup:before {
    content: "\e06f" !important;
    /* chevron-right */
}

/* ----- Table checkbox headers ----- */
table.table th.checkbox-cell.subscription:before {
    content: "\e063" !important;
    /* calendar */
}

table.table th.checkbox-cell.alarm:before {
    content: "\e059" !important;
    /* bell */
}

table.table th.checkbox-cell.read:before {
    content: "\e0ba" !important;
    /* eye */
}

table.table th.checkbox-cell.write:before {
    content: "\e1f9" !important;
    /* pencil */
}

/* ----- Tree list (folder tree toggle) ----- */
ul.treelist li div.treetoggle:before {
    content: "\e070" !important;
    /* chevron-up (collapse) */
}

ul.treelist li div.treetoggle.expanded:before {
    content: "\e06d" !important;
    /* chevron-down (expand) */
}

/* ----- UI overlay: blurred background when dialogs/widgets open ----- */
.ui-widget-overlay {
    -webkit-backdrop-filter: blur(3.5px);
    backdrop-filter: blur(3.5px);
}

html.dark-mode .ui-widget-overlay {
    -webkit-backdrop-filter: blur(3.5px);
    backdrop-filter: blur(3.5px);
}

/* ----- Rounded corners for dialogs and widgets ----- */
.ui-dialog {
    border-radius: 0.5rem !important;
    /* Don't use overflow:hidden - it clips dropdown menus inside the dialog */
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12) !important;
}

.ui-widget,
.ui-widget-content,
.ui-widget-header {
    border-radius: 0.5rem !important;
}

.ui-menu {
    border-radius: 0.5rem !important;
}

.ui-datepicker {
    border-radius: 0.5rem !important;
    overflow: hidden;
}

/* Popovers (menus, dropdowns) - exclude sidebar #layout-menu */
.popover:not(#layout-menu) {
    border-radius: 0.5rem !important;
    overflow: hidden;
}

/* Mobile: keep full-screen dialogs square */
@media screen and (max-width: 480px) {
    .ui-dialog {
        border-radius: 0 !important;
    }
}

/* ----- Dialog ----- */
.ui-dialog .ui-dialog-titlebar-close:before {
    content: "\e1b2" !important;
    /* x */
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options:before {
    content: "\e154" !important;
    /* settings */
}

/* ----- Datepicker ----- */
.ui-datepicker .ui-datepicker-prev:before {
    content: "\e06e" !important;
    /* chevron-left */
}

.ui-datepicker .ui-datepicker-next:before {
    content: "\e06f" !important;
    /* chevron-right */
}

/* ----- Alerts ----- */
.ui.alert>i.icon:before {
    content: "\e0f9" !important;
    /* info */
}

.ui.alert.loading>i.icon:before {
    content: "\e109" !important;
    /* loader */
}

.ui.alert.alert-success>i.icon:before {
    content: "\e07c" !important;
    /* circle-check-big */
}

.ui.alert.alert-warning>i.icon:before {
    content: "\e193" !important;
    /* triangle-alert */
}

.ui.alert.alert-danger>i.icon:before {
    content: "\e127" !important;
    /* octagon-alert */
}

.ui.alert.vcardattachment>i.icon:before {
    content: "\e19f" !important;
    /* user */
}

.ui.alert.enigmaattachment>i.icon:before {
    content: "\e0fd" !important;
    /* key */
}

.ui.alert.encrypted>i.icon:before,
.ui.alert.signed>i.icon:before {
    content: "\e10b" !important;
    /* lock */
}

.ui.alert.chat>i.icon:before {
    content: "\e116" !important;
    /* message-circle */
}

/* ----- Image tools ----- */
.image-tools.open a.button.icon.tools:before {
    content: "\e154" !important;
    /* settings */
}

/* ----- PGP key import ----- */
.pgpkeyimport div.key label.keyid+a:before {
    content: "\e0fd" !important;
    /* key */
}

.pgpkeyimport li.uid:before {
    content: "\e19f" !important;
    /* user */
}

/* ----- Generic/fallback (filters, identities, responses, contacts, keylist) ----- */
#filtersetslist td.name:before,
#filterslist td.name:before {
    content: "\e29a" !important;
    /* sliders-horizontal */
}

#identities-table td.mail:before {
    content: "\e10f" !important;
    /* mail */
}

#responses-table td.name:before {
    content: "\e117" !important;
    /* message-square */
}

#message-header .header-links a:before {
    content: "\e0f9" !important;
    font-weight: 500 !important;
    /* info */
}

#message-header>.subject a.extwin:before {
    content: "\e0b9" !important;
    /* external-link */
}

.table-widget table.options-table td.enabled span:before {
    content: "\e06c" !important;
    /* check */
}

.menu a.show-folder-size:before {
    content: "\e06b" !important;
}

.listing.iconized tr.encryption>td.section:before {
    content: "\e10b" !important;
    /* lock */
}

.propform td.rowbuttons a.add:before {
    content: "\e13d" !important;
    /* plus */
}

.propform td.rowbuttons a.delete:before {
    content: "\e18e" !important;
    /* trash-2 */
}

.input-group .icon.delete:before {
    content: "\e18e" !important;
    /* trash-2 */
}

.attachmentslist li:before {
    content: "\e0c0" !important;
    /* file */
}

#message-header .header-links a.headers-details:before {
    content: "\e0f9" !important;
    /* info */
}

#message-header .header-links a.headers-all:before {
    content: "\e5ac" !important;
    /* reciept-text */
}

#message-header .header-links a.zipdownload:before {
    content: "\e0b2" !important;
    /* download */
}

.input-group .icon.user:before {
    content: "\e19f" !important;
    /* user */
}

.input-group .icon.pass:before {
    content: "\e10b" !important;
    /* lock */
}

.input-group .icon.host:before {
    content: "\e153" !important;
    /* server */
}

.input-group .icon.key:before {
    content: "\e4a3" !important;
    /* key-round */
}

.input-group .icon.edit:before {
    content: "\e1f9" !important;
    font-weight: 600 !important;
    /* pencil */
}

.input-group .icon.add.recipient:before {
    content: "\e1a2" !important;
    font-weight: 600 !important;
    /* user-plus */
}

.input-group .icon.add:before {
    content: "\e13d" !important;
    font-weight: 600 !important;
    /* plus */
}

.menu.pagenav .pagenav-text {
    font-size: 85% !important;
}

#message-header .header-links a.plain:before {
    content: "\e54c" !important;
    /* book-type */
}

#message-header .header-links a.html:before {
    content: "\e0c3" !important;
    /* file-code */
}

.multi-input a.icon.reset:before {
    content: "\e1b2" !important;
    /* x (clear/reset) */
}