/* Shared native controls: keep Roundcube actions and selection semantics. */
html body.task-settings #sections-table td.section {
    position: relative;
    padding: 15px 18px 15px 52px;
    height: 56px;
    vertical-align: middle;
    line-height: 1.5;
    font-size: 14px;
}
html body.task-settings #sections-table td.section:before {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    float: none!important;
    margin: 0!important;
    width: 19px!important;
    height: 19px!important;
    line-height: 1!important;
    color: var(--dt-muted);
}
html body.task-settings #settings-menu li>a {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 56px;
    padding: 15px 18px;
    line-height: 1.5;
    white-space: normal;
}
html body.task-settings #settings-menu a:before {
    flex: 0 0 19px;
    width: 19px!important;
    height: 19px!important;
    float: none!important;
    margin: 0!important;
    line-height: 1!important;
    color: var(--dt-muted);
}
#settings-menu .preferences {--dt-icon:url('../icons/settings.svg')}
#settings-menu .folders {--dt-icon:url('../icons/folder.svg')}
#settings-menu .identities {--dt-icon:url('../icons/identity.svg')}
#settings-menu .responses {--dt-icon:url('../icons/conversation.svg')}
#settings-menu .password {--dt-icon:url('../icons/lock.svg')}
#sections-table .general {--dt-icon:url('../icons/monitor.svg')}
#sections-table .server {--dt-icon:url('../icons/server.svg')}
html body.task-settings #sections-table tr.selected td:before,
html body.task-settings #settings-menu li.selected>a:before {color:var(--dt-accent)}

/* Toolbar items become an ul at runtime. Match that structure too. */
html body.task-addressbook :is(#layout-content,#layout-list)>.header :is(.toolbar,#toolbar-menu,#list-menu)>li {
    border: 0!important;
    height: auto;
}
html body.task-addressbook :is(#layout-content,#layout-list)>.header :is(.toolbar,#toolbar-menu,#list-menu) a {
    max-width: none;
    text-overflow: clip;
    color: var(--dt-muted);
}
html body.task-addressbook :is(#layout-content,#layout-list)>.header :is(.toolbar,#toolbar-menu,#list-menu) a:before {
    content: ''!important;
    display: block;
    float: none!important;
    width: 19px!important;
    height: 19px!important;
    background: currentColor;
    mask: var(--dt-icon,url('../icons/more.svg')) center/contain no-repeat;
    -webkit-mask: var(--dt-icon,url('../icons/more.svg')) center/contain no-repeat;
    margin: 0 auto 6px!important;
    line-height: 1!important;
}
body.task-addressbook :is(.toolbar,#toolbar-menu,#list-menu) .create {--dt-icon:url('../icons/user-add.svg')}
body.task-addressbook :is(.toolbar,#toolbar-menu,#list-menu) .print {--dt-icon:url('../icons/printer.svg')}
body.task-addressbook :is(.toolbar,#toolbar-menu,#list-menu) .delete {--dt-icon:url('../icons/trash.svg')}
body.task-addressbook :is(.toolbar,#toolbar-menu,#list-menu) .search {--dt-icon:url('../icons/search.svg')}
body.task-addressbook :is(.toolbar,#toolbar-menu,#list-menu) .import {--dt-icon:url('../icons/import.svg')}
body.task-addressbook :is(.toolbar,#toolbar-menu,#list-menu) .export {--dt-icon:url('../icons/export.svg')}
body.task-addressbook :is(.toolbar,#toolbar-menu,#list-menu) .more {--dt-icon:url('../icons/more.svg')}
body.task-addressbook :is(.toolbar,#toolbar-menu,#list-menu) .select {--dt-icon:url('../icons/select.svg')}
body.task-addressbook :is(.toolbar,#toolbar-menu,#list-menu) .dropdown {--dt-icon:url('../icons/chevron.svg')}
html body.task-addressbook #directorylist li>a:before {
    content: ''!important;
    display: block;
    width: 19px!important;
    height: 19px!important;
    background: currentColor;
    mask: var(--dt-directory-icon,url('../icons/address-book.svg')) center/contain no-repeat;
    -webkit-mask: var(--dt-directory-icon,url('../icons/address-book.svg')) center/contain no-repeat;
    margin: 0 12px 0 0!important;
    flex: 0 0 19px;
    line-height: 1!important;
}
html body.task-addressbook #directorylist li>a {display:flex;align-items:center;min-height:54px;line-height:1.5}
#directorylist .contactgroup {--dt-directory-icon:url('../icons/users.svg')}
html body.task-addressbook #directorylist li.selected>a,
html body.task-addressbook #directorylist li.selected>div,
html body.task-addressbook #directorylist li>a:focus,
html body.task-addressbook #contacts-table tr.selected>td,
html body.task-addressbook #contacts-table tr.focused>td {
    background:var(--dt-selected)!important;
    color:var(--dt-text)!important;
    box-shadow:none;
}
html body.task-addressbook :is(#layout-content,#layout-list)>.header :is(.toolbar,#toolbar-menu,#list-menu) a:not(.disabled):hover {
    background:var(--dt-selected);
    color:var(--dt-accent);
    border-radius:5px;
}
@media(min-width:1201px) {
    html body.task-addressbook #layout-content>.header {
        height:auto;
        min-height:76px;
        padding:8px 14px;
        flex:none;
        overflow:visible;
    }
    html body.task-addressbook #layout-content>.header :is(.toolbar,#toolbar-menu) {
        display:flex;
        align-items:center;
        justify-content:center;
        flex-wrap:wrap;
        gap:2px;
        min-width:0;
        width:100%;
    }
    html body.task-addressbook #layout-content>.header :is(.toolbar,#toolbar-menu) a {
        height:54px;
        min-width:62px;
        width:auto;
        padding:6px 10px;
        font-size:13px;
        line-height:1.4;
    }
    html body.task-addressbook #layout-content>.header :is(.toolbar,#toolbar-menu) .inner {
        white-space:nowrap;
        font-size:12px;
    }
    html body.task-addressbook #layout-content>.header :is(.toolbar,#toolbar-menu) :is(.spacer,li:has(>.spacer)) {display:none}
    html body.task-addressbook #layout-content>.header :is(.toolbar,#toolbar-menu) .dropbutton {display:flex;align-items:center}
    html body.task-addressbook #layout-content>.header :is(.toolbar,#toolbar-menu) a.dropdown {min-width:22px;width:22px;padding:5px 2px;display:flex;align-items:center}
    html body.task-addressbook #layout-content>.header :is(.toolbar,#toolbar-menu) a.dropdown:before {width:12px!important;height:12px!important;transform:rotate(90deg);margin:0!important}
}

/* Inline mail notices are separate from the floating message stack. */
html body #message-objects>.ui.alert,
html body #message-buttons,
html body #remote-objects-message {
    background:var(--dt-selected)!important;
    color:var(--dt-text)!important;
    border:1px solid var(--dt-line)!important;
    border-left:3px solid var(--dt-accent)!important;
    border-radius:6px;
    padding:13px 16px;
    font:14px/1.6 'DM Sans',sans-serif;
    gap:10px;
    flex-wrap:wrap;
    opacity:1;
}
html body #message-objects>.ui.alert>i.icon:before {color:var(--dt-accent)!important}
html body #message-objects>.ui.alert.alert-danger {border-left-color:#bd6959!important}
html body #message-objects>.ui.alert.alert-warning {border-left-color:#bd893e!important}
html body #message-buttons>a,
html body #message-buttons>a.btn {
    background:var(--dt-orange)!important;
    color:#25170e!important;
    border:1px solid var(--dt-orange)!important;
    border-radius:4px;
    padding:7px 12px;
    font-size:13px;
    text-decoration:none;
}
html body #message-buttons>a:hover {background:#ffa360!important}
body.dt-draft-message .dt-reply-actions {display:none}
.dt-draft-avatar:after {
    content:'';
    display:block;
    width:17px;
    height:17px;
    background:currentColor;
    mask:url('../icons/write.svg') center/contain no-repeat;
    -webkit-mask:url('../icons/write.svg') center/contain no-repeat;
}
