/* LegalMail — Yandex-inspired visual layer on top of native Roundcube Elastic.
 * v3 keeps stable native controls: no preview pane, independent checkboxes,
 * native message reader/compose, expanded folders, and clean list geometry.
 */

body{background:#f5f6f8;color:#202124}

/* ---------- Wide desktop shell ---------- */
@media screen and (min-width:1201px){
#layout-menu{width:64px!important;min-width:64px!important;max-width:64px!important;flex:0 0 64px!important;background:#fff!important;border-right:1px solid #e4e6ea}
#layout-menu .popover-header{height:62px;line-height:62px;background:#fff!important;display:flex;align-items:center;justify-content:center}
#layout-menu .popover-header img{width:38px;height:38px;max-width:38px;max-height:38px;padding:0;object-fit:contain;opacity:1}
#taskmenu a{display:block;width:48px!important;height:44px!important;padding:0!important;color:#646a73;border-radius:12px;margin:2px 8px}
#taskmenu a:before{width:48px!important;height:44px!important;line-height:44px!important;margin:0!important;font-size:1.35rem}
#taskmenu a .inner{display:none!important}
#taskmenu a:hover,#taskmenu a.selected{color:#202124!important;background:#f0f1f4!important}
#taskmenu>.action-buttons{display:block!important;width:64px!important;flex:0 0 auto!important}
#taskmenu .special-buttons{width:64px;background:#fff!important;padding-bottom:6px}
#taskmenu .special-buttons a{background:transparent!important}
#taskmenu a.mail.selected{background:#ff6a3d!important;color:#fff!important}
#taskmenu a.compose.selected{background:#ff6a3d!important;color:#fff!important}

#layout-sidebar:not(.sidebar-right),#legalmail-folder-sidebar{position:relative;display:flex;flex-direction:column;flex:0 0 248px!important;width:248px!important;min-width:248px!important;max-width:248px!important;border-right:1px solid #e4e6ea!important;background:#f7f7f9!important}
#legalmail-folder-sidebar{order:0}
#layout-sidebar>.header.yandex-sidebar-header,#legalmail-folder-sidebar>.header.yandex-sidebar-header{height:62px!important;min-height:62px!important;line-height:62px!important;padding:0 16px!important;display:flex;align-items:center;justify-content:flex-start!important;border:0!important;background:transparent!important}
#layout-sidebar>.header .header-title.yandex-mail-title,#legalmail-folder-sidebar>.header .header-title.yandex-mail-title{margin:0!important;padding:0!important;text-align:left!important;font-size:20px;font-weight:700;color:#202124}
#layout-sidebar>.header .sidebar-menu{margin-left:auto;width:34px;min-width:34px;border-radius:10px}

.yandex-compose-wrap{flex:0 0 auto;padding:5px 12px 10px}
.yandex-compose-row{display:flex;align-items:center;gap:8px;width:100%}
.yandex-compose-button{display:flex;align-items:center;justify-content:center;height:40px;min-width:0;flex:1 1 auto;border-radius:12px;background:#ececf4;color:#202124!important;font-weight:500;text-decoration:none!important;transition:background-color .15s ease}
.yandex-compose-button:hover,.yandex-compose-button:focus{color:#202124!important;background:#e3e4eb;outline:0}
.yandex-refresh-button{display:flex!important;align-items:center;justify-content:center;flex:0 0 40px;width:40px!important;height:40px!important;line-height:40px!important;padding:0!important;border-radius:12px;background:#ececf0;color:#545861!important;text-decoration:none!important}
.yandex-refresh-button:before{height:40px!important;line-height:40px!important;width:40px!important;margin:0!important;font-size:1rem}
.yandex-refresh-button .inner{display:none!important}
.yandex-refresh-button:hover{background:#e2e3e8;color:#202124!important}

#folderlist-content,.legalmail-compose-folderlist{padding:0 8px 10px}
.folderlist li{border-bottom:0!important;line-height:38px!important;margin:1px 0}
.folderlist li>a{height:38px;line-height:38px!important;border-radius:10px;padding-right:10px;color:#34373d!important}
.folderlist li>a:hover{background:#efeff2}
.folderlist li.selected>a,.folderlist li.selected>div>a{color:#202124!important;background:#e4e4e8!important;font-weight:700}
.folderlist li.mailbox .unreadcount{top:7px!important;right:8px!important;min-width:24px;height:24px;line-height:24px!important;margin:0!important;border-radius:12px;background:#e1e2e6!important;color:#282a2e!important;font-weight:600}

/* ---------- Message list ---------- */
#layout-list{flex:1 1 auto!important;width:auto!important;min-width:480px!important;max-width:none!important;border-right:0!important;background:#fff!important;display:flex!important;flex-direction:column!important}
#layout-list>.searchbar{order:1;flex:0 0 58px;height:58px!important;min-height:58px!important;line-height:58px!important;margin:0;padding:7px 12px;background:#fff!important;border:0!important;overflow:visible}
#layout-list>.searchbar form{height:44px;align-items:center;background:#f1f2f4;border:1px solid transparent;border-radius:13px;overflow:hidden}
#layout-list>.searchbar form:focus-within{background:#fff;border-color:#cfd1d6;box-shadow:0 0 0 3px rgba(0,0,0,.035)}
#layout-list>.searchbar form:before,#layout-list>.searchbar a:before{height:44px!important;line-height:44px!important}
#layout-list>.searchbar input{height:44px;padding:0 10px;font-size:15px;color:#202124}
#messagelist-header{order:2;flex:0 0 46px}
#messagelist-content{order:3;flex:1 1 auto;min-height:0}
#layout-list>.footer{order:4;flex:0 0 38px}

#messagelist-header.yandex-list-toolbar,.yandex-message-view>.header{height:46px!important;min-height:46px!important;line-height:46px!important;padding:0 12px!important;display:flex;align-items:center;justify-content:flex-start!important;overflow:visible!important;background:#fff!important;border-top:1px solid #e4e6ea!important;border-bottom:1px solid #e4e6ea!important}
.yandex-selection-toolbar{display:flex;flex:0 0 38px;align-items:center;margin-right:4px}
.yandex-selection-toolbar>a{display:flex!important;align-items:center;justify-content:center;width:36px!important;min-width:36px;height:36px!important;line-height:36px!important;border-radius:9px;margin:0}
.yandex-selection-toolbar>a:before{height:36px!important;line-height:36px!important;width:36px!important;margin:0!important}
.yandex-selection-toolbar .inner{display:none!important}
.yandex-list-tools-tail{margin-left:auto;display:flex;align-items:center;flex:0 0 auto}
.yandex-list-tools-tail>a{height:36px!important;line-height:36px!important;min-width:36px;border-radius:9px;margin:0 1px}
.yandex-list-tools-tail>a:before{height:36px!important;line-height:36px!important;width:36px!important;margin:0!important}
.yandex-list-tools-tail .inner{display:none!important}

#mailtoolbar.yandex-mailtoolbar{flex:1 1 auto;min-width:0;height:44px;display:flex;align-items:center;justify-content:flex-start;overflow:visible;gap:1px}
#mailtoolbar.yandex-mailtoolbar>a,#mailtoolbar.yandex-mailtoolbar>.dropbutton{flex:0 0 auto}
#mailtoolbar.yandex-mailtoolbar a:not(.dropdown){height:36px;line-height:36px;padding:0 7px;border-radius:9px;color:#5f626a;font-weight:500;white-space:nowrap}
#mailtoolbar.yandex-mailtoolbar a:not(.dropdown):before{height:36px!important;line-height:36px!important;width:auto!important;margin-right:5px!important;font-size:1rem}
#mailtoolbar.yandex-mailtoolbar a:not(.dropdown) .inner{display:inline!important;font-size:13px;font-weight:500}
#mailtoolbar.yandex-mailtoolbar a:not(.dropdown):hover,#mailtoolbar.yandex-mailtoolbar .dropbutton:hover,.yandex-selection-toolbar>a:hover,.yandex-list-tools-tail>a:hover{color:#202124!important;background:#f5f6f8}
#mailtoolbar.yandex-mailtoolbar .dropbutton{height:36px;display:inline-flex;align-items:stretch;border-radius:9px}
#mailtoolbar.yandex-mailtoolbar .dropbutton>a:not(.dropdown){border-radius:9px 0 0 9px}
#mailtoolbar.yandex-mailtoolbar .dropbutton>a.dropdown{width:20px;min-width:20px;height:36px;line-height:36px;padding:0;border-radius:0 9px 9px 0;color:#777b82}
#mailtoolbar.yandex-mailtoolbar .dropbutton>a.dropdown:before{height:36px!important;line-height:36px!important;width:20px!important;margin:0!important;font-size:.75rem}
#mailtoolbar.yandex-mailtoolbar a.disabled{opacity:.42}

/* One compact line per message. Keep td.subject a flex table-cell (Elastic-native),
 * never a CSS grid/table replacement: this avoids the large blank gaps seen before. */
.messagelist{table-layout:fixed!important}
.messagelist tbody tr{height:46px!important}
.messagelist tbody td{height:46px!important;min-height:46px!important;line-height:46px!important;padding-top:0!important;padding-bottom:0!important;vertical-align:middle!important;border-bottom:1px solid #eceef1!important;background:transparent}
.messagelist tbody tr:hover td{background:#f7f7f9}
.messagelist tbody tr.selected td{background:#ececf0!important;color:#202124!important}
.messagelist td.selection{width:38px!important;padding:0 5px 0 10px!important;text-align:center!important}
.messagelist td.selection input[type=checkbox]{width:16px;height:16px;margin:0;vertical-align:middle;accent-color:#6b6e75;cursor:pointer}
.messagelist td.threads{width:22px!important;padding:0 2px!important;vertical-align:middle!important}
.messagelist td.flags{width:30px!important;padding:0 2px!important;vertical-align:middle!important}
.messagelist td.flags>span{height:46px!important;line-height:46px!important}
.messagelist td.subject{width:100%!important;height:46px!important;min-height:46px!important;padding:0 14px 0 4px!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;overflow:hidden!important;cursor:pointer}
.messagelist td.subject>span{height:46px!important;line-height:46px!important;min-width:0;margin:0!important;white-space:nowrap}
.messagelist td.subject span.msgicon.status{flex:0 0 20px;width:20px;color:#9ca0a8;order:1}
.messagelist td.subject span.msgicon.status:before{height:46px!important;line-height:46px!important;width:18px!important;margin:0!important}
.messagelist td.subject span.fromto{order:2;flex:0 1 210px!important;width:210px!important;max-width:210px!important;padding:0 10px 0 0!important;color:#202124!important;font-size:13.5px!important;font-weight:500!important;overflow:hidden;text-overflow:ellipsis}
.messagelist td.subject span.subject{order:3;display:block!important;flex:1 1 auto!important;width:auto!important;min-width:100px!important;padding:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;user-select:none}
.messagelist td.subject span.subject a{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#202124!important;cursor:pointer!important;text-decoration:none!important}
.messagelist td.subject span.date{order:5;display:block!important;flex:0 0 94px!important;width:94px!important;margin-left:10px!important;text-align:right;color:#777d86!important;font-size:12px!important;white-space:nowrap!important}
.messagelist td.subject span.size{display:none!important}
.messagelist td.subject span.attachment{order:4;position:static!important;display:block!important;flex:0 0 24px!important;width:24px!important;text-align:center;height:46px!important;line-height:46px!important;margin-left:4px!important}
.messagelist tr:hover td.subject span.date{display:block!important}
.messagelist tr:hover td.subject span.size{display:none!important}
.messagelist tr.unread td.subject span.fromto,.messagelist tr.unread td.subject span.subject{font-weight:700!important}
.messagelist tr.flagged:not(.deleted) td,.messagelist tr.flagged:not(.deleted) td.subject span.subject a,.messagelist tr.flagged:not(.deleted) td.subject span.date,.messagelist tr.flagged:not(.deleted) td.subject span.fromto{color:inherit!important}
.messagelist tr.flagged span.flagged:before{color:#ff6a3d}
#layout-list>.footer{height:38px!important;min-height:38px!important;line-height:38px!important;background:#fff!important;border-top:1px solid #e4e6ea!important;font-weight:400!important}

/* ---------- Message reader ---------- */
#layout-content{flex:1 1 auto!important;min-width:0;background:#fff!important}
.yandex-message-view>.header{flex:0 0 46px}
.yandex-message-view>.header .back-list-button{display:inline-block!important;width:36px;height:36px;line-height:36px;margin-right:4px;border-radius:9px}
.yandex-message-view>.header .back-list-button:before{height:36px!important;line-height:36px!important;width:36px!important;margin:0!important}
.yandex-message-view .frame-content{padding:16px 28px 28px;background:#fff}
#message-header,#message-content,.yandex-reply-footer{width:100%;max-width:1180px;margin-left:auto;margin-right:auto}
#message-header{position:relative;margin-bottom:12px}
#message-header>.subject{margin:0 0 12px;padding-right:170px;font-size:20px;line-height:1.35;font-weight:500;color:#202124}
#message-header>.header{align-items:flex-start}
#message-header>.header img.contactphoto{width:38px;height:38px;margin:0 12px 0 0;background:#eef0f2}
#message-header .header-content{min-height:38px;font-size:13px}
#message-header .header-summary{margin-top:0;min-height:20px;line-height:20px}
#message-header .header-headers{font-size:13px;line-height:1.55}
#message-header .header-headers .header-title{min-width:48px;padding-right:10px;color:#777d86;font-weight:500}
#message-header .header-links{margin-top:2px;min-height:20px;line-height:20px}
#message-header .header-links a{margin-right:10px;color:#777d86;font-size:12px}
#message-header .header-links a:hover{color:#202124}
.yandex-message-nav{position:absolute;top:-2px;right:0;z-index:2;display:flex;align-items:center;gap:2px}
.yandex-message-nav>a{display:inline-flex;align-items:center;height:32px;line-height:32px;padding:0 7px;border-radius:8px;color:#777d86;text-decoration:none!important;font-size:13px}
.yandex-message-nav>a:before{height:32px!important;line-height:32px!important;width:auto!important;margin-right:4px!important}
.yandex-message-nav>a .inner{display:inline!important}
.yandex-message-nav>a:hover{background:#f5f6f8;color:#202124}
#message-content{display:block;min-width:0}
#message-content .leftcol,#message-content .rightcol{width:100%;float:none;margin:0;padding:0}
#message-content .attachmentslist:not(:empty){margin:0 0 12px;border-radius:10px}
.message-part,.message-htmlpart{margin-top:0;padding-top:8px}
.message-htmlpart{overflow-x:auto}
.message-htmlpart div.rcmBody,.message-part div.rcmBody{max-width:100%;margin-left:0!important;margin-right:auto!important}
.yandex-reply-footer{margin-top:20px;padding:0 0 18px}
.yandex-reply-button{display:flex;align-items:center;height:46px;width:100%;padding:0 16px;border-radius:12px;background:#f1f2f4;color:#777c85!important;text-decoration:none!important;font-weight:500}
.yandex-reply-button:hover{background:#e9eaed;color:#202124!important}

/* ---------- Compose / reply: native Roundcube form styled as a Yandex-like card ---------- */
.task-mail.action-compose #legalmail-folder-sidebar{display:flex}
.task-mail.action-compose #layout-sidebar.sidebar-right{position:absolute!important;z-index:1200;right:16px;top:62px;bottom:16px;width:330px!important;min-width:330px!important;max-width:330px!important;display:flex!important;border:1px solid #dde0e5!important;border-radius:14px;box-shadow:0 16px 50px rgba(0,0,0,.16);overflow:hidden;background:#fff!important}
.task-mail.action-compose #layout-sidebar.sidebar-right.hidden{display:none!important}
.task-mail.action-compose #layout-content.legalmail-compose-view{background:#f5f6f8!important;min-width:0}
.task-mail.action-compose #layout-content.legalmail-compose-view>.header{height:54px!important;min-height:54px!important;border-bottom:1px solid #e4e6ea!important;background:#fff!important;padding:0 14px}
.task-mail.action-compose #layout-content.legalmail-compose-view>.header .header-title{font-size:16px;font-weight:600}
.task-mail.action-compose #messagetoolbar{height:44px;display:flex;align-items:center}
.task-mail.action-compose #compose-content{height:auto!important;flex:0 0 auto!important;align-self:center;width:calc(100% - 48px)!important;max-width:980px!important;margin:22px auto 28px!important;padding:0!important;background:#fff!important;border:1px solid #e6e8ec;border-radius:18px;box-shadow:0 10px 32px rgba(29,33,41,.09);overflow:visible!important}
.task-mail.action-compose #compose-content>form{min-height:0}
.task-mail.action-compose #compose-headers{padding:14px 16px 4px;border-bottom:1px solid #f0f1f3}
.task-mail.action-compose .compose-headers .form-group{margin-bottom:6px}
.task-mail.action-compose .compose-headers .col-form-label{font-size:12px;color:#777d86;font-weight:500}
.task-mail.action-compose .compose-headers .form-control,.task-mail.action-compose .compose-headers .input-group-text,.task-mail.action-compose .compose-headers .recipient-input{border-color:transparent!important;background:#f5f6f8!important;box-shadow:none!important;border-radius:10px!important}
.task-mail.action-compose #composebodycontainer{padding:8px 16px 0}
.task-mail.action-compose #composebodycontainer textarea#composebody{min-height:280px!important;height:clamp(280px,45vh,520px)!important;padding:12px 2px!important;border:0!important;outline:0!important;box-shadow:none!important;resize:vertical;font-size:16px;line-height:1.55;background:#fff!important;color:#202124!important}
.task-mail.action-compose #composebodycontainer .tox-tinymce{border:0!important;box-shadow:none!important}
.task-mail.action-compose.legalmail-reply-compose #compose_from,.task-mail.action-compose.legalmail-reply-compose #compose_subject{display:none!important}
.task-mail.action-compose.legalmail-reply-compose #compose-headers{padding-top:12px;padding-bottom:8px}
.task-mail.action-compose.legalmail-reply-compose #compose_to{margin-bottom:0!important}
.task-mail.action-compose.legalmail-reply-compose #composebodycontainer textarea#composebody{min-height:150px!important;height:170px!important}
.task-mail.action-compose.legalmail-reply-compose #compose-content{max-width:940px!important}
.task-mail.action-compose .legalmail-compose-actions{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:14px 16px 16px!important;border-top:1px solid #f0f1f3;background:#fff}
.task-mail.action-compose .legalmail-compose-actions .btn.send{min-width:124px;height:44px;padding:0 22px;border:0!important;border-radius:10px!important;background:#ffd54a!important;color:#161616!important;font-weight:700;box-shadow:none!important}
.task-mail.action-compose .legalmail-compose-actions .btn.send:hover{background:#ffcf2f!important;color:#161616!important}
.task-mail.action-compose .legalmail-inline-attach{display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;color:#646a73;text-decoration:none!important}
.task-mail.action-compose .legalmail-inline-attach:before{height:42px!important;line-height:42px!important;width:42px!important;margin:0!important}
.task-mail.action-compose .legalmail-inline-attach .inner{display:none!important}
.task-mail.action-compose .legalmail-inline-attach:hover{background:#f2f3f5;color:#202124}
.task-mail.action-compose .legalmail-compose-actions .float-right{margin-left:auto}

/* Login */
.task-login #layout-content{background:#f5f6f8!important}
.task-login #logo{top:10vh;width:72px;height:72px;max-height:72px}
#login-form{top:13vh;max-width:380px;padding:24px;border-radius:18px;background:#fff;box-shadow:0 10px 35px rgba(0,0,0,.08)}
}

/* ---------- Dark mode ---------- */
html.dark-mode body{background:#111114;color:#f1f1f3}
html.dark-mode #layout-menu,html.dark-mode #layout-menu .popover-header,html.dark-mode #taskmenu .special-buttons{background:#151518!important;border-color:#34343a!important}
html.dark-mode #layout-menu #logo{opacity:1}
html.dark-mode #taskmenu a{color:#9b9ba5}
html.dark-mode #taskmenu a:hover,html.dark-mode #taskmenu a.selected{color:#f1f1f3!important;background:#2b2b30!important}
html.dark-mode #taskmenu a.mail.selected{background:#ff6a3d!important;color:#fff!important}
#taskmenu a.compose.selected{background:#ff6a3d!important;color:#fff!important}
html.dark-mode #layout-sidebar:not(.sidebar-right),html.dark-mode #legalmail-folder-sidebar{background:#1a191c!important;border-color:#34343a!important}
html.dark-mode #layout-sidebar>.header.yandex-sidebar-header,html.dark-mode #legalmail-folder-sidebar>.header.yandex-sidebar-header,html.dark-mode #layout-sidebar>.header .header-title.yandex-mail-title,html.dark-mode #legalmail-folder-sidebar>.header .header-title.yandex-mail-title{color:#f1f1f3!important;background:transparent!important}
html.dark-mode .yandex-compose-button{background:#ececf4;color:#232327!important}
html.dark-mode .yandex-compose-button:hover{background:#fff;color:#232327!important}
html.dark-mode .yandex-refresh-button{background:#343237;color:#dddde1!important}
html.dark-mode .yandex-refresh-button:hover{background:#444148;color:#fff!important}
html.dark-mode .folderlist li>a{color:#d9d9dd!important}
html.dark-mode .folderlist li>a:hover{background:#29282d}
html.dark-mode .folderlist li.selected>a,html.dark-mode .folderlist li.selected>div>a{color:#fff!important;background:#37343a!important}
html.dark-mode .folderlist li.mailbox .unreadcount{color:#f4f4f5!important;background:#4a474f!important}
html.dark-mode #layout-list,html.dark-mode #layout-content,html.dark-mode #layout-list>.searchbar,html.dark-mode #messagelist-header.yandex-list-toolbar,html.dark-mode .yandex-message-view>.header,html.dark-mode #layout-list>.footer{background:#1b1b1f!important;border-color:#34343a!important}
html.dark-mode #layout-list>.searchbar form{background:#252529;border-color:transparent}
html.dark-mode #layout-list>.searchbar form:focus-within{background:#202024;border-color:#4b4b52;box-shadow:none}
html.dark-mode #layout-list>.searchbar input{color:#f1f1f3}
html.dark-mode #mailtoolbar.yandex-mailtoolbar a:not(.dropdown){color:#a9a9b1}
html.dark-mode #mailtoolbar.yandex-mailtoolbar a:not(.dropdown):hover,html.dark-mode #mailtoolbar.yandex-mailtoolbar .dropbutton:hover,html.dark-mode .yandex-selection-toolbar>a:hover,html.dark-mode .yandex-list-tools-tail>a:hover{color:#f1f1f3!important;background:#2a2a2f}
html.dark-mode .messagelist tbody td{border-color:#303035!important}
html.dark-mode .messagelist tbody tr:hover td{background:#242429}
html.dark-mode .messagelist tbody tr.selected td{color:#f1f1f3!important;background:#35343a!important}
html.dark-mode .messagelist td.subject span.fromto,html.dark-mode .messagelist td.subject span.subject a{color:#f1f1f3!important}
html.dark-mode .messagelist td.subject span.date{color:#9b9ba5!important}
html.dark-mode .messagelist td.subject span.msgicon.status{color:#777780}
html.dark-mode .yandex-message-view .frame-content{background:#fff!important;color:#202124!important}
html.dark-mode .yandex-message-view #message-header>.subject{color:#202124!important}
html.dark-mode .yandex-message-view #message-header .header-summary,html.dark-mode .yandex-message-view #message-header .header-headers{color:#202124!important}
html.dark-mode .yandex-message-view #message-header .header-headers .header-title,html.dark-mode .yandex-message-view #message-header .header-links a{color:#777d86!important}
html.dark-mode .yandex-message-view #message-header>.header img.contactphoto{background:#eef0f2!important}
html.dark-mode .yandex-message-view .message-part{color:#202124!important}
html.dark-mode .yandex-message-view .yandex-message-nav>a{color:#777d86!important}
html.dark-mode .yandex-message-view .yandex-message-nav>a:hover{background:#f5f6f8;color:#202124!important}
html.dark-mode .yandex-message-view .yandex-reply-button{background:#f1f2f4;color:#777c85!important}
html.dark-mode .yandex-message-view .yandex-reply-button:hover{background:#e9eaed;color:#202124!important}
html.dark-mode .message-htmlpart{background:#fff;color:#2c363a;border-radius:2px}
html.dark-mode .task-login #layout-content{background:#111114!important}
html.dark-mode #login-form{background:#1b1b1f;box-shadow:0 12px 40px rgba(0,0,0,.35)}
html.dark-mode .task-mail.action-compose #layout-content.legalmail-compose-view{background:#151518!important}
html.dark-mode .task-mail.action-compose #layout-content.legalmail-compose-view>.header{background:#1b1b1f!important;border-color:#34343a!important}
html.dark-mode .task-mail.action-compose #compose-content{background:#fff!important;border-color:#33353b;box-shadow:0 16px 48px rgba(0,0,0,.32)}
html.dark-mode .task-mail.action-compose #layout-sidebar.sidebar-right{background:#1b1b1f!important;border-color:#34343a!important}

/* Persistent checkboxes: visible, independent, and used for bulk actions. */
#messagelist-header > a.button.selection{display:none!important}

@media screen and (max-width:1200px){
.yandex-compose-wrap{display:none}
#legalmail-folder-sidebar{display:none!important}
.yandex-message-view .frame-content{padding:1rem}
#mailtoolbar.yandex-mailtoolbar .move,#mailtoolbar.yandex-mailtoolbar .unread,#mailtoolbar.yandex-mailtoolbar .markmessage{display:none}
}
@media screen and (max-width:768px){
#mailtoolbar.yandex-mailtoolbar .reply-wrap,#mailtoolbar.yandex-mailtoolbar .move,#mailtoolbar.yandex-mailtoolbar .unread,#mailtoolbar.yandex-mailtoolbar .markmessage{display:none}
.yandex-reply-footer{padding:0 1rem 1rem}
}

/* ========================================================================== */
/* LegalMail v3 — fixes from real Roundcube screenshots                       */
/* ========================================================================== */

/* 1) Roundcube places flag + attachment as stacked spans inside td.flags.
 * Keep them on the SAME physical row; otherwise each message becomes ~92px. */
.messagelist tbody tr,
.messagelist tbody td {
    box-sizing: border-box !important;
}
.messagelist td.flags {
    position: relative !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 46px !important;
    padding: 0 !important;
    overflow: hidden !important;
    vertical-align: middle !important;
}
.messagelist td.flags > span {
    position: absolute !important;
    top: 0 !important;
    display: block !important;
    width: 26px !important;
    height: 46px !important;
    min-height: 46px !important;
    line-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}
.messagelist td.flags > span.flag {
    right: 28px !important;
}
.messagelist td.flags > span.attachment {
    right: 2px !important;
}
.messagelist td.flags > span.attachment span {
    display: inline-block !important;
    float: none !important;
    width: 24px !important;
    height: 46px !important;
    line-height: 46px !important;
    margin: 0 !important;
}
.messagelist td.flags > span.flag:before,
.messagelist td.flags > span.attachment span:before {
    float: none !important;
    display: inline-block !important;
    height: 46px !important;
    line-height: 46px !important;
    margin: 0 !important;
}
/* Some plugins add extra flag/status spans. Do not let them increase row height. */
.messagelist td.flags > span:not(.flag):not(.attachment) {
    right: 2px !important;
}

/* Subject remains one line, while the td keeps Elastic's native table behavior. */
.messagelist td.subject {
    max-height: 46px !important;
    flex-wrap: nowrap !important;
}
.messagelist td.subject > span {
    max-height: 46px !important;
    overflow: hidden !important;
}

/* 2) Toolbar buttons: remove the thin separators / focus stripes inherited from
 * native toolbar/plugin styles. Yandex-like buttons are borderless chips. */
#messagelist-header.yandex-list-toolbar {
    column-gap: 2px !important;
}
#mailtoolbar.yandex-mailtoolbar,
#mailtoolbar.yandex-mailtoolbar > a,
#mailtoolbar.yandex-mailtoolbar > .dropbutton,
#mailtoolbar.yandex-mailtoolbar > .dropbutton > a,
.yandex-selection-toolbar > a,
.yandex-list-tools-tail > a {
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
}
#mailtoolbar.yandex-mailtoolbar > a,
#mailtoolbar.yandex-mailtoolbar > .dropbutton > a {
    float: none !important;
    max-width: none !important;
}
#mailtoolbar.yandex-mailtoolbar > .dropbutton {
    background: transparent !important;
    overflow: hidden !important;
}
#mailtoolbar.yandex-mailtoolbar > .dropbutton:hover {
    background: #f5f6f8 !important;
}
#mailtoolbar.yandex-mailtoolbar > .dropbutton > a:hover,
#mailtoolbar.yandex-mailtoolbar > .dropbutton > a:focus {
    box-shadow: none !important;
}
#mailtoolbar.yandex-mailtoolbar a:after,
.yandex-selection-toolbar a:after,
.yandex-list-tools-tail a:after {
    box-shadow: none !important;
}

/* 3) Search parameters open as a compact floating menu instead of replacing
 * the whole message list. legalmail.js suppresses Elastic's inline-open handler. */
#layout-list > .searchbar {
    position: relative !important;
    z-index: 40 !important;
}
#searchmenu.legalmail-search-popup,
#searchmenu:not(.hidden) {
    position: absolute !important;
    z-index: 1450 !important;
    top: 58px !important;
    right: 10px !important;
    left: auto !important;
    width: 310px !important;
    max-width: calc(100% - 20px) !important;
    max-height: min(620px, calc(100vh - 90px)) !important;
    overflow: auto !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid #dfe1e5 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(24, 28, 35, .18) !important;
}
#searchmenu .formcontent {
    padding: 0 !important;
}
#searchmenu .proplist {
    margin: 0 0 8px !important;
}
#searchmenu .proplist li {
    min-height: 30px !important;
    line-height: 30px !important;
    padding: 0 4px !important;
}
#searchmenu .input-group {
    margin: 7px 0 0 !important;
}
#searchmenu .formbuttons {
    padding: 10px 0 0 !important;
    text-align: right !important;
}
#searchmenu .formbuttons .btn {
    min-width: 92px !important;
}

/* 4) The native unread filter is relocated from the searchbar's right edge to
 * the old Select-button position. Checkbox selection remains available per row. */
.yandex-selection-toolbar {
    flex-basis: 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    margin-right: 2px !important;
}
.yandex-selection-toolbar > a.button.unread {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 9px !important;
    color: #6f737a !important;
    cursor: pointer !important;
}
.yandex-selection-toolbar > a.button.unread:before {
    display: block !important;
    float: none !important;
    width: 38px !important;
    height: 36px !important;
    line-height: 36px !important;
    margin: 0 !important;
}
.yandex-selection-toolbar > a.button.unread.selected {
    color: #202124 !important;
    background: #e7e8ec !important;
}
/* If relocation has not happened yet, don't show a duplicate unread control
 * on the right; JS moves this exact native node as soon as Elastic creates it. */
#layout-list > .searchbar a.button.unread.legalmail-unread-pending {
    visibility: hidden !important;
}

/* 5) Compose options/attachments: full-width panel ABOVE the message editor. */
.task-mail.action-compose #layout-content.legalmail-compose-view {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
.task-mail.action-compose #legalmail-compose-settings {
    flex: 0 0 auto !important;
    width: calc(100% - 48px) !important;
    max-width: 980px !important;
    margin: 14px auto 0 !important;
    border: 1px solid #e1e4e8 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(29,33,41,.07) !important;
    overflow: hidden !important;
}
.task-mail.action-compose #legalmail-compose-settings.hidden {
    display: none !important;
}
.legalmail-compose-settings-head {
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 14px !important;
    border-bottom: 1px solid #eceef1 !important;
    font-size: 14px !important;
}
.legalmail-settings-close {
    width: 32px !important;
    height: 32px !important;
    line-height: 32px !important;
    border-radius: 8px !important;
    color: #747880 !important;
}
.legalmail-settings-close:before {
    width: 32px !important;
    height: 32px !important;
    line-height: 32px !important;
    margin: 0 !important;
    float: none !important;
}
.legalmail-compose-settings-grid {
    display: grid !important;
    grid-template-columns: minmax(260px, .85fr) minmax(420px, 1.5fr) !important;
    gap: 18px !important;
    padding: 14px !important;
    align-items: start !important;
}
.legalmail-compose-attachments {
    min-height: 155px !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px dashed #cfd5dc !important;
    border-radius: 12px !important;
    background: #fafbfc !important;
}
.legalmail-compose-attachments .upload-form {
    min-height: 92px !important;
    padding: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}
.legalmail-compose-attachments .hint {
    margin: 0 !important;
    text-align: center !important;
}
.legalmail-compose-attachments .attachmentslist {
    margin: 8px 0 0 !important;
}
.legalmail-compose-options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 16px !important;
    padding: 0 !important;
}
.legalmail-compose-options > .form-group {
    min-height: 38px !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 9px !important;
    background: #f7f8fa !important;
}
.legalmail-compose-options > .form-group > label {
    flex: 1 1 auto !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 8px 0 0 !important;
    margin: 0 !important;
    font-size: 13px !important;
}
.legalmail-compose-options > .form-group > .col-6 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 155px !important;
    padding: 0 !important;
    margin: 0 !important;
}
.legalmail-compose-options .custom-select {
    min-width: 135px !important;
    height: 32px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: 8px !important;
}
.legalmail-compose-options .form-check-input {
    position: static !important;
    margin: 0 !important;
}
.task-mail.action-compose #messagetoolbar a.options.selected,
.task-mail.action-compose #messagetoolbar a.options[aria-expanded="true"] {
    background: #eceef2 !important;
    color: #202124 !important;
    border-radius: 9px !important;
}

html.dark-mode #searchmenu:not(.hidden) {
    border-color: #3b3b42 !important;
    background: #252529 !important;
    box-shadow: 0 16px 40px rgba(0,0,0,.4) !important;
    color: #f1f1f3 !important;
}
html.dark-mode .yandex-selection-toolbar > a.button.unread.selected {
    color: #fff !important;
    background: #3a3940 !important;
}
html.dark-mode #mailtoolbar.yandex-mailtoolbar > .dropbutton:hover {
    background: #2a2a2f !important;
}
html.dark-mode .task-mail.action-compose #legalmail-compose-settings {
    background: #1b1b1f !important;
    border-color: #34343a !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.28) !important;
}
html.dark-mode .legalmail-compose-settings-head {
    border-color: #34343a !important;
    color: #f1f1f3 !important;
}
html.dark-mode .legalmail-compose-attachments {
    background: #222226 !important;
    border-color: #45454d !important;
}
html.dark-mode .legalmail-compose-options > .form-group {
    background: #252529 !important;
    color: #e7e7ea !important;
}
html.dark-mode .task-mail.action-compose #messagetoolbar a.options.selected,
html.dark-mode .task-mail.action-compose #messagetoolbar a.options[aria-expanded="true"] {
    background: #34343a !important;
    color: #fff !important;
}

@media screen and (max-width: 980px) {
    .legalmail-compose-settings-grid {
        grid-template-columns: 1fr !important;
    }
    .legalmail-compose-options {
        grid-template-columns: 1fr !important;
    }
}

/* ========================================================================== */
/* LegalMail v4 — toolbar geometry + native filter stability                  */
/* ========================================================================== */

/* Keep Roundcube's native list controls alive for JS state/column handling,
 * but don't show the old Elastic Select/Threads strip in the Yandex toolbar. */
.legalmail-native-list-controls {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    opacity: 0 !important;
}

/* The preview frame is deliberately not part of the visible list layout, but
 * remains in the DOM so Roundcube's native contentframe/list code keeps all
 * of its expected GUI objects and IDs. */
.task-mail.action-none #layout-content.legalmail-native-preview {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
}

/* Checkboxes stay visible without forcing the table into Elastic's persisted
 * "withselection" mode. This avoids changing list-column state during AJAX
 * refresh/search/filter operations. */
#messagelist tbody td.selection,
#messagelist-fixedcopy tbody td.selection {
    display: table-cell !important;
}
#messagelist thead td.selection,
#messagelist thead th.selection,
#messagelist-fixedcopy thead td.selection,
#messagelist-fixedcopy thead th.selection {
    visibility: hidden !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    padding: 0 !important;
}

/* Main list: search and actions are two independent fixed-height rows. */
#layout-list > .searchbar {
    position: relative !important;
    z-index: 30 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}
#messagelist-header.yandex-list-toolbar {
    position: relative !important;
    z-index: 20 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}
#messagelist-content {
    position: relative !important;
    z-index: 1 !important;
    min-height: 0 !important;
}

/* Prevent any inherited float/absolute positioning from pushing toolbar
 * buttons into the search row or outside the browser viewport. */
#messagelist-header.yandex-list-toolbar #mailtoolbar,
.yandex-message-view > .header #mailtoolbar {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    float: none !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
#messagelist-header.yandex-list-toolbar #mailtoolbar > a,
#messagelist-header.yandex-list-toolbar #mailtoolbar > .dropbutton,
.yandex-message-view > .header #mailtoolbar > a,
.yandex-message-view > .header #mailtoolbar > .dropbutton {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    float: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
}
#messagelist-header.yandex-list-toolbar #mailtoolbar a:before,
.yandex-message-view > .header #mailtoolbar a:before {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    vertical-align: middle !important;
}

/* Reader toolbar: always consumes its own row; message body starts below it. */
.task-mail.action-show #layout-content.yandex-message-view {
    min-width: 0 !important;
    overflow: hidden !important;
}
.task-mail.action-show #layout-content.yandex-message-view > .header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    flex: 0 0 50px !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    line-height: 50px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    z-index: 25 !important;
}
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    height: 48px !important;
    min-height: 48px !important;
    overflow: hidden !important;
    gap: 2px !important;
}
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.dropdown) {
    height: 38px !important;
    min-height: 38px !important;
    line-height: 38px !important;
}
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.dropdown):before {
    height: 38px !important;
    line-height: 38px !important;
}
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar .dropbutton,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar .dropbutton > a {
    height: 38px !important;
    min-height: 38px !important;
    line-height: 38px !important;
}
.task-mail.action-show #layout-content.yandex-message-view > .content.frame-content {
    position: relative !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
}

/* Compact search parameters remain a popover. JS now lets Elastic initialize
 * the form natively and only keeps the message list visible underneath. */
#searchmenu.legalmail-search-popup,
#searchmenu:not(.hidden) {
    display: block !important;
}

/* At narrower desktop widths show toolbar actions as icon buttons rather than
 * letting text labels collide or escape the pane. */
@media screen and (min-width: 769px) and (max-width: 1450px) {
    #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.dropdown),
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.dropdown) {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        padding: 0 !important;
        text-align: center !important;
    }
    #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.dropdown) .inner,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.dropdown) .inner {
        display: none !important;
    }
    #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.dropdown):before,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.dropdown):before {
        display: block !important;
        float: none !important;
        width: 38px !important;
        margin: 0 !important;
        text-align: center !important;
    }
    #messagelist-header.yandex-list-toolbar #mailtoolbar .dropbutton > a:not(.dropdown),
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar .dropbutton > a:not(.dropdown) {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
    }
    #messagelist-header.yandex-list-toolbar #mailtoolbar .dropbutton > a.dropdown,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar .dropbutton > a.dropdown {
        width: 18px !important;
        min-width: 18px !important;
        max-width: 18px !important;
    }
}

/* Very narrow screens: keep only the core actions in the visible row; the
 * existing Roundcube "Ещё" popup retains the secondary commands. */
@media screen and (min-width: 769px) and (max-width: 1050px) {
    #mailtoolbar.yandex-mailtoolbar .move,
    #mailtoolbar.yandex-mailtoolbar .unread,
    #mailtoolbar.yandex-mailtoolbar .markmessage {
        display: none !important;
    }
}

html.dark-mode .legalmail-native-list-controls {
    background: transparent !important;
}

/* ========================================================================== */
/* LegalMail v5 — stable toolbar rows, no focus stripe, single reader scroll  */
/* ========================================================================== */

/* Roundcube uses a blue 2px left border to indicate keyboard focus in lists.
 * It looks like a selected blue stripe on initial load, so suppress only that
 * focus indicator while preserving hover/selected backgrounds and checkboxes. */
html:not(.touch) #messagelist.listing tbody tr > td:first-child,
html:not(.touch) #messagelist.listing:not(.withselection) tbody tr > td.selection + td,
html:not(.touch) #messagelist.listing.focus tbody tr.focused > td:first-child,
html:not(.touch) #messagelist.listing.focus:not(.withselection) tbody tr.focused > td.selection + td,
html:not(.touch) #messagelist-fixedcopy.listing tbody tr > td:first-child,
html:not(.touch) #messagelist-fixedcopy.listing:not(.withselection) tbody tr > td.selection + td,
html:not(.touch) #messagelist-fixedcopy.listing.focus tbody tr.focused > td:first-child,
html:not(.touch) #messagelist-fixedcopy.listing.focus:not(.withselection) tbody tr.focused > td.selection + td {
    border-left: 0 !important;
    outline: 0 !important;
}

/* Search and actions are two real rows. Do not let inherited Elastic toolbar
 * icon-above-label rules make the buttons climb into the previous row. */
.task-mail.action-none #layout-list > .searchbar {
    flex: 0 0 60px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 8px 12px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
.task-mail.action-none #layout-list > .searchbar form {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
}
.task-mail.action-none #messagelist-header.yandex-list-toolbar {
    flex: 0 0 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    line-height: normal !important;
    padding: 0 10px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Reader toolbar gets the same independent 48px row. */
.task-mail.action-show #layout-content.yandex-message-view > .header {
    flex: 0 0 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    line-height: normal !important;
    padding: 0 12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Force both list and reader toolbars into a horizontal icon + label layout.
 * Elastic's stock .menu.toolbar rule is vertical (icon over text), which was
 * the reason icons were visibly cut at the top of the browser/search row. */
#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    align-content: center !important;
    gap: 2px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    line-height: normal !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar > a,
#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar > .dropbutton,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > a,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton {
    flex: 0 0 auto !important;
    float: none !important;
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar a:not(.dropdown),
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a:not(.dropdown) {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    float: none !important;
    width: auto !important;
    min-width: 34px !important;
    max-width: 132px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    line-height: 1 !important;
    padding: 0 7px !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar a:not(.dropdown)::before,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a:not(.dropdown)::before {
    display: inline-block !important;
    flex: 0 0 auto !important;
    float: none !important;
    position: static !important;
    width: 18px !important;
    height: 20px !important;
    line-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    vertical-align: middle !important;
    text-align: center !important;
    font-size: 1rem !important;
}

#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar a:not(.dropdown) > .inner,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a:not(.dropdown) > .inner {
    display: inline-block !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 98px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 18px !important;
    font-size: 12px !important;
    vertical-align: middle !important;
}

#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar .dropbutton,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar .dropbutton {
    display: inline-flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    line-height: normal !important;
    overflow: hidden !important;
    border-radius: 9px !important;
}

#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar .dropbutton > a:not(.dropdown),
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar .dropbutton > a:not(.dropdown) {
    border-radius: 9px 0 0 9px !important;
    padding-right: 4px !important;
}

#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar .dropbutton > a.dropdown,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar .dropbutton > a.dropdown {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 18px !important;
    float: none !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    line-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 9px 9px 0 !important;
}
#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar .dropbutton > a.dropdown::before,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar .dropbutton > a.dropdown::before {
    display: inline-block !important;
    float: none !important;
    position: static !important;
    width: 18px !important;
    height: 36px !important;
    line-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* The relocated unread button and list options must also stay inside the row. */
#messagelist-header.yandex-list-toolbar .yandex-selection-toolbar,
#messagelist-header.yandex-list-toolbar .yandex-list-tools-tail {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    line-height: normal !important;
    align-items: center !important;
    overflow: hidden !important;
}
#messagelist-header.yandex-list-toolbar .yandex-selection-toolbar > a,
#messagelist-header.yandex-list-toolbar .yandex-list-tools-tail > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    line-height: 36px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: none !important;
}
#messagelist-header.yandex-list-toolbar .yandex-selection-toolbar > a::before,
#messagelist-header.yandex-list-toolbar .yandex-list-tools-tail > a::before {
    display: inline-block !important;
    float: none !important;
    position: static !important;
    height: 20px !important;
    line-height: 20px !important;
    margin: 0 !important;
    transform: none !important;
}

/* The reader itself owns the only vertical scrollbar. Nested message wrappers
 * are allowed to grow naturally; horizontal overflow is clipped/handled by the
 * message part, not by a second vertical scroller. */
.task-mail.action-show #layout-content.yandex-message-view {
    overflow: hidden !important;
    min-height: 0 !important;
}
.task-mail.action-show #layout-content.yandex-message-view > .content.frame-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-gutter: stable !important;
    padding: 14px 22px 24px !important;
    box-sizing: border-box !important;
}
.task-mail.action-show #message-header,
.task-mail.action-show #message-content,
.task-mail.action-show #message-content .leftcol,
.task-mail.action-show #message-content .rightcol,
.task-mail.action-show #messagebody,
.task-mail.action-show #message-objects,
.task-mail.action-show .message-part,
.task-mail.action-show .message-htmlpart,
.task-mail.action-show .yandex-reply-footer {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: visible !important;
}
.task-mail.action-show .message-htmlpart {
    overflow-x: auto !important;
}

/* Keep message list scrolling isolated to the list, with its scrollbar at the
 * far right of the list pane. */
.task-mail.action-none #messagelist-content.scroller {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    min-height: 0 !important;
    scrollbar-gutter: stable !important;
}

/* At narrower desktops preserve useful actions without creating a second row.
 * Hide labels before hiding commands: icons stay functional and centered. */
@media screen and (min-width: 769px) and (max-width: 1360px) {
    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar a:not(.dropdown),
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a:not(.dropdown) {
        min-width: 34px !important;
        max-width: 42px !important;
        width: 38px !important;
        padding: 0 !important;
        gap: 0 !important;
    }
    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar a:not(.dropdown) > .inner,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a:not(.dropdown) > .inner {
        display: none !important;
    }
    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar a:not(.dropdown)::before,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a:not(.dropdown)::before {
        width: 38px !important;
    }
    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar .dropbutton > a:not(.dropdown),
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar .dropbutton > a:not(.dropdown) {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
    }
}

/* Dark theme receives the same no-focus-stripe behavior. */
html.dark-mode #messagelist.listing.focus tbody tr.focused > td:first-child,
html.dark-mode #messagelist.listing.focus:not(.withselection) tbody tr.focused > td.selection + td {
    border-left: 0 !important;
}

/* LegalMail v6 — single vertical scrollbar in the message reader.
 * Do not make .message-htmlpart a scroll container: when overflow-x is auto,
 * CSS computes overflow-y:visible to auto, which can create a second vertical
 * scrollbar inside HTML messages. The outer frame-content remains the only
 * vertical scroller. Roundcube's rcmBody may still provide horizontal overflow
 * for genuinely wide message content, but never a vertical scrollbar. */
.task-mail.action-show #messagebody .message-htmlpart {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    scrollbar-gutter: auto !important;
}
.task-mail.action-show #messagebody .message-htmlpart > div.rcmBody,
.task-mail.action-show #messagebody .message-htmlpart div.rcmBody {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-gutter: auto !important;
}
/* The page-level reader is the only element allowed to own vertical scrolling. */
.task-mail.action-show #layout-content.yandex-message-view > .content.frame-content {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}


/* ========================================================================== 
 * LegalMail v11 — unified app rail and Compose button
 * ========================================================================== */

/* The large sidebar button is the only Compose affordance in the desktop UI.
 * Keep Roundcube's command in the DOM but remove the duplicate pen icon from
 * the narrow application rail in every task and at every responsive width. */
body.task-mail #taskmenu > span.action-buttons,
body.task-addressbook #taskmenu > span.action-buttons,
body.task-settings #taskmenu > span.action-buttons {
    display: none !important;
}

/* Main mail Compose button: deliberately prominent, no icon, stable height. */
.yandex-compose-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border: 1px solid #f35f35 !important;
    border-radius: 12px !important;
    background: #ff6a3d !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 5px 14px rgba(255, 106, 61, .18);
}
.yandex-compose-button::before,
.yandex-compose-button::after {
    display: none !important;
    content: none !important;
}
.yandex-compose-button .inner {
    display: inline !important;
    line-height: 1 !important;
}
.yandex-compose-button:hover,
.yandex-compose-button:focus {
    border-color: #e9552e !important;
    background: #f45f36 !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(255, 106, 61, .23);
}
html.dark-mode .yandex-compose-button,
html.dark-mode .yandex-compose-button:hover,
html.dark-mode .yandex-compose-button:focus {
    color: #fff !important;
}

/* ========================================================================== 
 * LegalMail v12 — soft-blue accent + compose/refresh controls
 * ========================================================================== */

/* The primary accent is intentionally a soft blue instead of orange/yellow. */
#taskmenu a.mail.selected,
#taskmenu a.compose.selected,
html.dark-mode #taskmenu a.mail.selected,
html.dark-mode #taskmenu a.compose.selected {
    background: #dceeff !important;
    color: #145b88 !important;
}

/* Main sidebar Compose action: short label, soft-blue fill, no pen icon. */
.yandex-compose-button {
    border-color: #c3dff7 !important;
    background: #dceeff !important;
    color: #174f74 !important;
    box-shadow: none !important;
}
.yandex-compose-button .inner {
    display: none !important;
}
.yandex-compose-button::before {
    display: none !important;
    content: none !important;
}
.yandex-compose-button::after {
    display: inline !important;
    content: "Написать" !important;
    line-height: 1 !important;
}
.yandex-compose-button:hover,
.yandex-compose-button:focus {
    border-color: #afd4f3 !important;
    background: #cfe7fb !important;
    color: #124664 !important;
    box-shadow: none !important;
}
html.dark-mode .yandex-compose-button,
html.dark-mode .yandex-compose-button:hover,
html.dark-mode .yandex-compose-button:focus {
    border-color: #31577a !important;
    background: #244462 !important;
    color: #e7f4ff !important;
}

/* The refresh control uses Elastic's native refresh icon classes.  Keep it a
 * distinct visible button instead of the empty grey square seen in v11. */
.yandex-refresh-button {
    border: 1px solid #d5dbe2 !important;
    background: #f2f5f8 !important;
    color: #52606c !important;
    box-shadow: none !important;
}
.yandex-refresh-button:before {
    display: block !important;
    opacity: 1 !important;
}
.yandex-refresh-button:hover,
.yandex-refresh-button:focus {
    border-color: #c9dced !important;
    background: #e7f3fd !important;
    color: #145b88 !important;
}
html.dark-mode .yandex-refresh-button {
    border-color: #3a3d43 !important;
    background: #282a2f !important;
    color: #cbd0d7 !important;
}
html.dark-mode .yandex-refresh-button:hover,
html.dark-mode .yandex-refresh-button:focus {
    border-color: #355b79 !important;
    background: #203b53 !important;
    color: #e6f4ff !important;
}

/* Compose/send primary button uses the same quiet blue accent. */
.task-mail.action-compose .legalmail-compose-actions .btn.send,
.task-mail.action-compose .legalmail-compose-actions .btn.send:hover,
.task-mail.action-compose .legalmail-compose-actions .btn.send:focus {
    border: 1px solid #bfdcf5 !important;
    background: #dceeff !important;
    color: #154d70 !important;
    box-shadow: none !important;
}
.task-mail.action-compose .legalmail-compose-actions .btn.send:hover,
.task-mail.action-compose .legalmail-compose-actions .btn.send:focus {
    background: #cfe7fb !important;
    border-color: #acd2f1 !important;
}

/* Flag/accent indicators no longer introduce the old orange into the list. */
.messagelist tr.flagged span.flagged:before {
    color: #5c9fd3 !important;
}


/* ========================================================================== 
 * LegalMail v13 — mail header actions, refresh affordance and flagged mail
 * ========================================================================== */

/* Keep the Mail title and its three-dot settings menu together.  Elastic's
 * default .header-title flex:1 pushed the menu to the far edge of the column. */
@media screen and (min-width:1201px) {
    #layout-sidebar > .header.yandex-sidebar-header .header-title.yandex-mail-title,
    #legalmail-folder-sidebar > .header.yandex-sidebar-header .header-title.yandex-mail-title {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 42px) !important;
    }

    #layout-sidebar > .header.yandex-sidebar-header .sidebar-menu,
    #legalmail-folder-sidebar > .header.yandex-sidebar-header .sidebar-menu {
        flex: 0 0 32px !important;
        width: 32px !important;
        min-width: 32px !important;
        height: 34px !important;
        line-height: 34px !important;
        margin: 0 0 0 6px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 9px !important;
        background: transparent !important;
        color: #59636d !important;
    }

    #layout-sidebar > .header.yandex-sidebar-header .sidebar-menu:before,
    #legalmail-folder-sidebar > .header.yandex-sidebar-header .sidebar-menu:before {
        width: 32px !important;
        height: 34px !important;
        line-height: 34px !important;
        margin: 0 !important;
    }

    #layout-sidebar > .header.yandex-sidebar-header .sidebar-menu:hover,
    #layout-sidebar > .header.yandex-sidebar-header .sidebar-menu:focus,
    #legalmail-folder-sidebar > .header.yandex-sidebar-header .sidebar-menu:hover,
    #legalmail-folder-sidebar > .header.yandex-sidebar-header .sidebar-menu:focus {
        background: #eaf4fd !important;
        color: #145b88 !important;
    }
}

/* Refresh is intentionally an icon-only action beside Compose — no grey
 * pseudo-button.  The full Russian tooltip is applied in legalmail.js. */
.yandex-compose-row {
    gap: 6px !important;
}
.yandex-refresh-button {
    flex: 0 0 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 40px !important;
    line-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #59636d !important;
    box-shadow: none !important;
}
.yandex-refresh-button:before {
    display: block !important;
    width: 32px !important;
    height: 40px !important;
    line-height: 40px !important;
    margin: 0 !important;
    opacity: 1 !important;
    font-size: 1.05rem !important;
}
.yandex-refresh-button .inner {
    display: none !important;
}
.yandex-refresh-button:hover,
.yandex-refresh-button:focus {
    border: 0 !important;
    background: #eaf4fd !important;
    color: #145b88 !important;
    box-shadow: none !important;
    outline: 0 !important;
}
html.dark-mode .yandex-refresh-button {
    border: 0 !important;
    background: transparent !important;
    color: #cbd0d7 !important;
}
html.dark-mode .yandex-refresh-button:hover,
html.dark-mode .yandex-refresh-button:focus {
    border: 0 !important;
    background: #203b53 !important;
    color: #e6f4ff !important;
}

/* A flagged/marked message is a semantic warning marker, not a theme accent.
 * Keep the flag red in both light and dark modes. */
.messagelist tr.flagged span.flagged:before,
.messagelist tr.flaggedroot span.flagged:before,
body.status-flagged #message-header > .subject:before,
html.dark-mode .messagelist tr.flagged span.flagged:before,
html.dark-mode .messagelist tr.flaggedroot span.flagged:before,
html.dark-mode body.status-flagged #message-header > .subject:before {
    color: #d93025 !important;
}
/* Beat Elastic's generic toolbar label rule: refresh stays icon-only. */
a.yandex-refresh-button.toolbar-button > span.inner,
a.yandex-refresh-button.button.icon > span.inner {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* ========================================================================== 
 * LegalMail v14 — active mailbox title + perfectly centered refresh control
 * ========================================================================== */

/* Show the mailbox/account used for the current Roundcube session instead of
 * a static "Mail" caption.  The native Roundcube username object supplies the
 * value; long addresses stay on one line and expose the full value on hover. */
#layout-sidebar > .header.yandex-sidebar-header .header-title.yandex-account-title,
#legalmail-folder-sidebar > .header.yandex-sidebar-header .header-title.yandex-account-title {
    display: block !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 40px) !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Keep the three-dot settings action immediately after the account name. */
#layout-sidebar > .header.yandex-sidebar-header .yandex-account-title + .sidebar-menu,
#legalmail-folder-sidebar > .header.yandex-sidebar-header .yandex-account-title + .sidebar-menu {
    margin-left: 4px !important;
}

/* FontAwesome pseudo-elements can sit a few pixels below the optical centre
 * when line-height from Elastic is inherited.  Absolute centring makes the
 * refresh glyph visually centred at every zoom/font-size. */
a.yandex-refresh-button,
a.yandex-refresh-button.button.icon,
a.yandex-refresh-button.toolbar-button {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
}
a.yandex-refresh-button:before,
a.yandex-refresh-button.button.icon:before,
a.yandex-refresh-button.toolbar-button:before {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    transform: translate(-50%, -50%) !important;
}

@media screen and (max-width: 1320px) and (min-width: 769px) {
    #layout-sidebar > .header.yandex-sidebar-header .header-title.yandex-account-title,
    #legalmail-folder-sidebar > .header.yandex-sidebar-header .header-title.yandex-account-title {
        font-size: 13px !important;
    }
}

/* v14.1 — mailbox label should fit common full addresses such as
 * publications@example.tld while still degrading gracefully to ellipsis. */
#layout-sidebar > .header.yandex-sidebar-header .header-title.yandex-account-title,
#legalmail-folder-sidebar > .header.yandex-sidebar-header .header-title.yandex-account-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    max-width: calc(100% - 34px) !important;
}

/* ========================================================================== 
 * LegalMail v15 — compact active-account caption
 * ========================================================================== */
/* The JS renders the active session account as "localpart@" while keeping the
 * full address in the native title tooltip/aria-label.  Keep it visually
 * compact and leave the three-dot settings button immediately beside it. */
#layout-sidebar > .header.yandex-sidebar-header .header-title.yandex-account-title,
#legalmail-folder-sidebar > .header.yandex-sidebar-header .header-title.yandex-account-title {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: calc(100% - 42px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    cursor: default !important;
}
#layout-sidebar > .header.yandex-sidebar-header .yandex-account-title + .sidebar-menu,
#legalmail-folder-sidebar > .header.yandex-sidebar-header .yandex-account-title + .sidebar-menu {
    flex: 0 0 32px !important;
    margin-left: 5px !important;
}


/* ==========================================================================
 * LegalMail v16 — full account title + aligned settings/refresh column
 * ========================================================================== */
/* Use the same horizontal grid for the account header and the compose row.
 * This puts the three-dot settings button directly above the refresh button. */
@media screen and (min-width: 769px) {
    #layout-sidebar > .header.yandex-sidebar-header,
    #legalmail-folder-sidebar > .header.yandex-sidebar-header {
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 8px !important;
    }

    #layout-sidebar > .header.yandex-sidebar-header .header-title.yandex-account-title,
    #legalmail-folder-sidebar > .header.yandex-sidebar-header .header-title.yandex-account-title {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 2px !important;
        text-align: center !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 40px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    #layout-sidebar > .header.yandex-sidebar-header .yandex-account-title + .sidebar-menu,
    #legalmail-folder-sidebar > .header.yandex-sidebar-header .yandex-account-title + .sidebar-menu {
        flex: 0 0 40px !important;
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 12px !important;
    }

    #layout-sidebar > .header.yandex-sidebar-header .yandex-account-title + .sidebar-menu:before,
    #legalmail-folder-sidebar > .header.yandex-sidebar-header .yandex-account-title + .sidebar-menu:before {
        width: 40px !important;
        height: 40px !important;
        line-height: 40px !important;
        margin: 0 !important;
        text-align: center !important;
    }

    .yandex-compose-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .yandex-compose-row {
        gap: 8px !important;
    }
    a.yandex-refresh-button,
    a.yandex-refresh-button.button.icon,
    a.yandex-refresh-button.toolbar-button {
        flex: 0 0 40px !important;
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
    }
}

/* ========================================================================== 
 * LegalMail v17 — unread filter before search, inline Find, modern login
 * ========================================================================== */

/* Mail list search is one clean row: unread filter is a separate square control
 * before the search field, so it never visually merges with the input. */
.task-mail.action-none #layout-list > .legalmail-search-row {
    order: 1 !important;
    flex: 0 0 60px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border-bottom: 0 !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 30 !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e1e5e9 !important;
    border-radius: 12px !important;
    background: #f6f7f9 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot > a.button.unread {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: transparent !important;
    color: #59636d !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot > a.button.unread:before {
    width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    margin: 0 !important;
    float: none !important;
    text-align: center !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot > a.button.unread:hover,
.task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot > a.button.unread:focus {
    background: #edf4fa !important;
    color: #145b88 !important;
    outline: 0 !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot > a.button.unread.selected {
    background: #dceeff !important;
    color: #145b88 !important;
}

.task-mail.action-none #layout-list > .legalmail-search-row > .searchbar {
    position: relative !important;
    z-index: 30 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    line-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .searchbar form {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 5px 0 0 !important;
    border: 1px solid transparent !important;
    border-radius: 13px !important;
    background: #f1f3f5 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .searchbar form:focus-within {
    border-color: #b8d9f5 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(71, 155, 216, .10) !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .searchbar form:before {
    flex: 0 0 auto !important;
    height: 44px !important;
    line-height: 44px !important;
    margin-left: 12px !important;
    margin-right: 2px !important;
    color: #7a838d !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .searchbar input#mailsearchform {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 42px !important;
    line-height: normal !important;
    padding: 0 8px !important;
    font-size: 15px !important;
    color: #202124 !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .searchbar a.button {
    flex: 0 0 auto !important;
    height: 44px !important;
    line-height: 44px !important;
    border-radius: 10px !important;
}
.task-mail.action-none #layout-list > .legalmail-search-row > .searchbar a.button:before {
    height: 44px !important;
    line-height: 44px !important;
}

/* This is deliberately a real button inside Roundcube's native search form.
 * JS only toggles its visibility and delegates the action to rcmail.command. */
#mailsearchform + .legalmail-search-submit,
.legalmail-search-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: 70px !important;
    height: 34px !important;
    margin: 0 1px 0 4px !important;
    padding: 0 14px !important;
    border: 1px solid #b9daf6 !important;
    border-radius: 9px !important;
    background: #dceeff !important;
    color: #145b88 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 32px !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    cursor: pointer !important;
}
.legalmail-search-submit:hover,
.legalmail-search-submit:focus {
    background: #cfe8fb !important;
    border-color: #a9d2f3 !important;
    color: #0f4d77 !important;
    outline: 0 !important;
}
.legalmail-search-submit[hidden] {
    display: none !important;
}

/* Header is the next independent row after search. */
.task-mail.action-none #messagelist-header.yandex-list-toolbar {
    order: 2 !important;
}
.task-mail.action-none #messagelist-content {
    order: 3 !important;
}
.task-mail.action-none #layout-list > .footer {
    order: 4 !important;
}

/* Compact search popup still anchors below the 60px search row. */
.task-mail.action-none #searchmenu.legalmail-search-popup,
.task-mail.action-none #searchmenu:not(.hidden) {
    top: 58px !important;
}

/* Modern login: centered brand and clean card while keeping Roundcube's native
 * login fields, submit command, plugins and footer containers intact. */
.task-login #layout-content.legalmail-login-page {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 100% !important;
    overflow: auto !important;
    padding: 40px 20px !important;
    text-align: left !important;
    background:
        radial-gradient(circle at 18% 14%, rgba(109, 180, 232, .16), transparent 28%),
        radial-gradient(circle at 82% 84%, rgba(168, 206, 236, .18), transparent 30%),
        #f5f7fa !important;
    box-sizing: border-box !important;
}
.legalmail-login-shell {
    width: min(100%, 430px) !important;
    margin: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 18px !important;
}
.legalmail-login-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 0 !important;
}
.task-login .legalmail-login-brand #logo {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: block !important;
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}
.legalmail-login-brandtext {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    line-height: 1.15 !important;
}
.legalmail-login-brandtext strong {
    font-size: 22px !important;
    font-weight: 750 !important;
    color: #173f60 !important;
    letter-spacing: -.02em !important;
}
.legalmail-login-brandtext span {
    margin-top: 3px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #7a8791 !important;
}
.task-login #login-form.legalmail-login-card {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px !important;
    border: 1px solid rgba(170, 184, 197, .38) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 18px 55px rgba(40, 61, 78, .11) !important;
    backdrop-filter: blur(10px) !important;
    box-sizing: border-box !important;
}
.legalmail-login-heading {
    margin: 0 0 22px !important;
    text-align: center !important;
}
.legalmail-login-heading h2 {
    margin: 0 !important;
    color: #202124 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -.02em !important;
}
.legalmail-login-heading p {
    margin: 7px 0 0 !important;
    color: #79838c !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}
.task-login #login-form table,
.task-login #login-form tbody {
    width: 100% !important;
}
.task-login #login-form tr {
    width: 100% !important;
}
.task-login #login-form td.title {
    color: #58636d !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}
.task-login #login-form td.input {
    width: 100% !important;
}
.task-login #login-form .form-control,
.task-login #login-form input[type="text"],
.task-login #login-form input[type="email"],
.task-login #login-form input[type="password"],
.task-login #login-form select {
    min-height: 50px !important;
    border: 1px solid #dbe2e8 !important;
    border-radius: 12px !important;
    background: #f6f8fa !important;
    color: #202124 !important;
    font-size: 15px !important;
    box-shadow: none !important;
    outline: 0 !important;
}
.task-login #login-form .form-control:focus,
.task-login #login-form input[type="text"]:focus,
.task-login #login-form input[type="email"]:focus,
.task-login #login-form input[type="password"]:focus,
.task-login #login-form select:focus {
    border-color: #9fcdf0 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(66, 153, 216, .12) !important;
}
.task-login #login-form .formbuttons {
    margin: 18px 0 0 !important;
    padding: 0 !important;
}
.task-login #rcmloginsubmit {
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid #b8d9f5 !important;
    border-radius: 12px !important;
    background: #dceeff !important;
    color: #145b88 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}
.task-login #rcmloginsubmit:hover,
.task-login #rcmloginsubmit:focus {
    border-color: #a6d1f2 !important;
    background: #cae6fb !important;
    color: #0f4d77 !important;
    outline: 0 !important;
}
.task-login #login-footer {
    margin-top: 18px !important;
    padding: 0 !important;
    text-align: center !important;
    color: #8a949d !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}
.task-login #login-footer > div {
    margin-top: 10px !important;
    padding: 10px !important;
    border-radius: 10px !important;
    background: #f4f7f9 !important;
}

html.dark-mode .task-login #layout-content.legalmail-login-page {
    background:
        radial-gradient(circle at 18% 14%, rgba(67, 126, 169, .20), transparent 28%),
        radial-gradient(circle at 82% 84%, rgba(42, 82, 111, .22), transparent 30%),
        #111519 !important;
}
html.dark-mode .task-login #login-form.legalmail-login-card {
    border-color: #343e46 !important;
    background: rgba(28, 34, 39, .96) !important;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .30) !important;
}
html.dark-mode .legalmail-login-brandtext strong,
html.dark-mode .legalmail-login-heading h2 {
    color: #f1f5f8 !important;
}
html.dark-mode .legalmail-login-brandtext span,
html.dark-mode .legalmail-login-heading p,
html.dark-mode .task-login #login-footer {
    color: #9aa6af !important;
}
html.dark-mode .task-login #login-form .form-control,
html.dark-mode .task-login #login-form input[type="text"],
html.dark-mode .task-login #login-form input[type="email"],
html.dark-mode .task-login #login-form input[type="password"],
html.dark-mode .task-login #login-form select {
    border-color: #3a454e !important;
    background: #20272d !important;
    color: #eef3f6 !important;
}
html.dark-mode .task-login #login-form .form-control:focus,
html.dark-mode .task-login #login-form input[type="text"]:focus,
html.dark-mode .task-login #login-form input[type="email"]:focus,
html.dark-mode .task-login #login-form input[type="password"]:focus,
html.dark-mode .task-login #login-form select:focus {
    border-color: #5f9dcc !important;
    background: #20272d !important;
}
html.dark-mode .task-login #login-footer > div {
    background: #20272d !important;
}
html.dark-mode .task-mail.action-none #layout-list > .legalmail-search-row {
    background: #1b1b1f !important;
}
html.dark-mode .task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot {
    border-color: #34343a !important;
    background: #252529 !important;
}
html.dark-mode .task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot > a.button.unread {
    color: #c1c6cd !important;
}
html.dark-mode .task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot > a.button.unread:hover,
html.dark-mode .task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot > a.button.unread:focus,
html.dark-mode .task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot > a.button.unread.selected {
    background: #203b53 !important;
    color: #d9efff !important;
}
html.dark-mode .task-mail.action-none #layout-list > .legalmail-search-row > .searchbar form {
    border-color: transparent !important;
    background: #252529 !important;
}
html.dark-mode .task-mail.action-none #layout-list > .legalmail-search-row > .searchbar form:focus-within {
    border-color: #476b85 !important;
    background: #202024 !important;
}
html.dark-mode .task-mail.action-none #layout-list > .legalmail-search-row > .searchbar input#mailsearchform {
    color: #f1f1f3 !important;
}
html.dark-mode .legalmail-search-submit {
    border-color: #315f82 !important;
    background: #203b53 !important;
    color: #d9efff !important;
}
html.dark-mode .legalmail-search-submit:hover,
html.dark-mode .legalmail-search-submit:focus {
    border-color: #3e7299 !important;
    background: #284962 !important;
    color: #fff !important;
}

@media screen and (max-width: 768px) {
    .task-login #layout-content.legalmail-login-page {
        padding: 24px 14px !important;
    }
    .task-login #login-form.legalmail-login-card {
        padding: 22px 18px !important;
        border-radius: 18px !important;
    }
    .legalmail-login-brandtext strong {
        font-size: 20px !important;
    }
    .task-mail.action-none #layout-list > .legalmail-search-row {
        padding-left: 8px !important;
        padding-right: 8px !important;
        gap: 6px !important;
    }
    .task-mail.action-none #layout-list > .legalmail-search-row > .yandex-selection-toolbar.legalmail-unread-slot {
        flex-basis: 42px !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
    }
    .legalmail-search-submit {
        min-width: 58px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* ========================================================================== 
 * LegalMail v18 — integrated FA login icons + balanced search spacing
 * ========================================================================== */

/* Search row: keep the same breathing room above and below the rounded field. */
.task-mail.action-none #layout-list > .legalmail-search-row {
    flex-basis: 64px !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding: 10px 12px !important;
}
.task-mail.action-none #searchmenu.legalmail-search-popup,
.task-mail.action-none #searchmenu:not(.hidden) {
    top: 62px !important;
}

/* The Find button is intentionally absent until the user actually types a query.
 * JS adds .legalmail-has-query; this also prevents any one-frame flash on load. */
.task-mail.action-none #layout-list .searchbar form:not(.legalmail-has-query) .legalmail-search-submit {
    display: none !important;
}
.task-mail.action-none #layout-list .searchbar form.legalmail-has-query .legalmail-search-submit:not([hidden]) {
    display: inline-flex !important;
}

/* Login inputs: replace the old boxed icon addon with a Font Awesome glyph
 * floating inside the field.  Roundcube's native input-group markup stays intact. */
.task-login #login-form .input-group {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    margin: 0 0 12px !important;
}
.task-login #login-form .input-group-prepend,
.task-login #login-form .input-group-append {
    position: absolute !important;
    z-index: 3 !important;
    left: 0 !important;
    top: 0 !important;
    width: 48px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}
.task-login #login-form .input-group-prepend .input-group-text,
.task-login #login-form .input-group-append .input-group-text,
.task-login #login-form .input-group-text.icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #64727d !important;
    box-shadow: none !important;
    pointer-events: none !important;
}
.task-login #login-form .input-group-text.icon:before,
.task-login #login-form .input-group .icon:before {
    display: block !important;
    float: none !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    font-family: Icons !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 20px !important;
    text-align: center !important;
    color: inherit !important;
}
/* Explicit FA fallbacks for login user/password icons. */
.task-login #login-form .input-group-text.icon.user:before,
.task-login #login-form .input-group-text.user:before,
.task-login #login-form .input-group .icon.user:before {
    content: "\f007" !important;
}
.task-login #login-form .input-group-text.icon.pass:before,
.task-login #login-form .input-group-text.icon.password:before,
.task-login #login-form .input-group-text.password:before,
.task-login #login-form .input-group .icon.pass:before,
.task-login #login-form .input-group .icon.password:before {
    content: "\f023" !important;
}
.task-login #login-form .input-group > .form-control,
.task-login #login-form .input-group > input[type="text"],
.task-login #login-form .input-group > input[type="email"],
.task-login #login-form .input-group > input[type="password"] {
    width: 100% !important;
    padding-left: 46px !important;
    padding-right: 15px !important;
    border-radius: 14px !important;
}
.task-login #login-form .input-group:focus-within .input-group-text,
.task-login #login-form .input-group:focus-within .icon {
    color: #2377ad !important;
}

/* Neutralize browser autofill yellow so the new form keeps its design. */
.task-login #login-form input:-webkit-autofill,
.task-login #login-form input:-webkit-autofill:hover,
.task-login #login-form input:-webkit-autofill:focus,
.task-login #login-form input:-webkit-autofill:active {
    -webkit-text-fill-color: #202124 !important;
    -webkit-box-shadow: 0 0 0 1000px #f6f8fa inset !important;
    transition: background-color 9999s ease-out 0s !important;
    caret-color: #202124 !important;
}
.task-login #login-form .input-group:focus-within input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
}

html.dark-mode .task-login #login-form .input-group-prepend .input-group-text,
html.dark-mode .task-login #login-form .input-group-append .input-group-text,
html.dark-mode .task-login #login-form .input-group-text.icon {
    color: #9aa8b3 !important;
}
html.dark-mode .task-login #login-form .input-group:focus-within .input-group-text,
html.dark-mode .task-login #login-form .input-group:focus-within .icon {
    color: #7fc5f2 !important;
}
html.dark-mode .task-login #login-form input:-webkit-autofill,
html.dark-mode .task-login #login-form input:-webkit-autofill:hover,
html.dark-mode .task-login #login-form input:-webkit-autofill:focus,
html.dark-mode .task-login #login-form input:-webkit-autofill:active {
    -webkit-text-fill-color: #eef3f6 !important;
    -webkit-box-shadow: 0 0 0 1000px #20272d inset !important;
    caret-color: #eef3f6 !important;
}

/* ========================================================================== 
 * LegalMail v19 — focused login icon + balanced mail toolbar spacing
 * ========================================================================== */

/* Bootstrap/Elastic raises a focused .form-control in the stacking order.
 * The login glyph is an absolutely positioned addon, so the focused username
 * field could paint over it. Keep the FA icon layer permanently above inputs. */
.task-login #login-form .input-group {
    isolation: isolate !important;
}
.task-login #login-form .input-group-prepend,
.task-login #login-form .input-group-append {
    z-index: 10 !important;
}
.task-login #login-form .input-group-prepend .input-group-text,
.task-login #login-form .input-group-append .input-group-text,
.task-login #login-form .input-group-text.icon {
    position: relative !important;
    z-index: 11 !important;
}
.task-login #login-form .input-group > .form-control,
.task-login #login-form .input-group > input[type="text"],
.task-login #login-form .input-group > input[type="email"],
.task-login #login-form .input-group > input[type="password"] {
    position: relative !important;
    z-index: 1 !important;
}
.task-login #login-form .input-group > .form-control:focus,
.task-login #login-form .input-group > input[type="text"]:focus,
.task-login #login-form .input-group > input[type="email"]:focus,
.task-login #login-form .input-group > input[type="password"]:focus {
    z-index: 1 !important;
}

/* Give the action strip the same breathing room above and below the controls.
 * 48px total = 1px borders + 5px padding + 36px controls + 5px padding. */
.task-mail.action-none #messagelist-header.yandex-list-toolbar {
    flex: 0 0 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 5px 10px !important;
    align-items: center !important;
    box-sizing: border-box !important;
}
.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar,
.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-selection-toolbar,
.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-list-tools-tail {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    align-items: center !important;
}

/* Keep the same geometry when a message is opened, so switching between list
 * and reader does not make the toolbar jump vertically. */
.task-mail.action-show #layout-content.yandex-message-view > .header {
    flex: 0 0 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 5px 12px !important;
    align-items: center !important;
    box-sizing: border-box !important;
}
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    align-items: center !important;
}


/* ========================================================================== 
 * LegalMail v20 — clean login footer + more breathing room above mail actions
 * ========================================================================== */

/* Keep support/plugin footer hooks, but do not reserve empty vertical space
 * when neither renders content. Product/version text is intentionally hidden. */
.task-login #login-footer {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    line-height: normal !important;
}
.task-login #login-footer:not(:has(*)) {
    display: none !important;
}

/* The action icons used to visually touch the upper divider. Give the strip
 * equal 8px breathing room above and below its 36px controls. */
.task-mail.action-none #messagelist-header.yandex-list-toolbar {
    flex: 0 0 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    padding: 8px 10px !important;
    box-sizing: border-box !important;
    align-items: center !important;
}
.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar,
.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-selection-toolbar,
.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-list-tools-tail {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Keep the reader toolbar on the exact same vertical grid. */
.task-mail.action-show #layout-content.yandex-message-view > .header {
    flex: 0 0 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    align-items: center !important;
}

/* ========================================================================== 
 * LegalMail v22 — compose viewport clipping + footer overflow cleanup
 * ========================================================================== */

/* The compose header must own a real row inside the viewport.  Reset any
 * inherited positioning/line-height from Elastic so toolbar glyphs cannot sit
 * above the top edge and get clipped by the browser viewport. */
.task-mail.action-compose #layout-content.legalmail-compose-view > .header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    flex: 0 0 62px !important;
    width: 100% !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    line-height: normal !important;
    padding: 10px 14px 8px !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    align-items: center !important;
    z-index: 30 !important;
}
.task-mail.action-compose #messagetoolbar {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    flex: 1 1 auto !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 3px 2px !important;
    box-sizing: border-box !important;
    align-self: center !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}
.task-mail.action-compose #messagetoolbar > a,
.task-mail.action-compose #messagetoolbar > .dropbutton,
.task-mail.action-compose #messagetoolbar > .dropbutton > a {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
}
.task-mail.action-compose #messagetoolbar a:before {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    vertical-align: middle !important;
}

/* The compose card itself is not a scroll container. The surrounding
 * #layout-content already provides vertical scrolling. This removes the small
 * horizontal scrollbar that appeared at the bottom of the card. */
.task-mail.action-compose #compose-content {
    overflow: hidden !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
}
.task-mail.action-compose #compose-content > form,
.task-mail.action-compose #composebodycontainer,
.task-mail.action-compose .legalmail-compose-actions {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* "Open in new window" is an icon action, not a narrow text column. Keep the
 * native Roundcube command but hide its label and let title= provide the hint. */
.task-mail.action-compose .legalmail-compose-actions .float-right {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    min-width: 42px !important;
    max-width: 42px !important;
    overflow: visible !important;
}
.task-mail.action-compose .legalmail-compose-actions .extwin {
    position: relative !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-indent: 0 !important;
}
.task-mail.action-compose .legalmail-compose-actions .extwin > .inner,
.task-mail.action-compose .legalmail-compose-actions .extwin .inner {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}
.task-mail.action-compose .legalmail-compose-actions .extwin:before {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    float: none !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    line-height: 20px !important;
    text-align: center !important;
    transform: translate(-50%, -50%) !important;
}

/* Keep the compose shell from introducing a page-level horizontal scrollbar
 * at desktop widths. */
.task-mail.action-compose #layout-content.legalmail-compose-view {
    overflow-x: hidden !important;
}

/* ========================================================================== 
 * LegalMail v23 — separated compose header actions + clean ext-window button
 * ========================================================================== */

/* Recipient/header action buttons must read as separate controls, not as one
 * merged Bootstrap input-group pill. Keep all native Roundcube commands. */
.task-mail.action-compose #compose-headers .input-group {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
}
.task-mail.action-compose #compose-headers .input-group > .form-control,
.task-mail.action-compose #compose-headers .input-group > .recipient-input,
.task-mail.action-compose #compose-headers .input-group > input,
.task-mail.action-compose #compose-headers .input-group > select {
    min-width: 0 !important;
    border-radius: 10px !important;
}
.task-mail.action-compose #compose-headers .input-group-append {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin-left: 0 !important;
}
.task-mail.action-compose #compose-headers .input-group-append > .input-group-text,
.task-mail.action-compose #compose-headers .input-group-append > a.input-group-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #e1e5ea !important;
    border-radius: 10px !important;
    background: #f4f6f8 !important;
    color: #59636d !important;
    box-shadow: none !important;
}
.task-mail.action-compose #compose-headers .input-group-append > .input-group-text:hover,
.task-mail.action-compose #compose-headers .input-group-append > a.input-group-text:hover,
.task-mail.action-compose #compose-headers .input-group-append > a.input-group-text:focus {
    background: #eaf4fc !important;
    border-color: #c8e1f5 !important;
    color: #165a86 !important;
    outline: 0 !important;
}
.task-mail.action-compose #compose-headers .input-group-append > a.input-group-text:before {
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    margin: 0 !important;
    text-align: center !important;
}
.task-mail.action-compose #compose-headers .input-group-append > a.input-group-text .inner {
    display: none !important;
}

/* Make “Open in new window” a true icon button.  The native title attribute
 * remains, so the browser tooltip still explains the command on hover. */
.task-mail.action-compose .legalmail-compose-actions .float-right {
    margin-left: auto !important;
    padding: 0 !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    overflow: visible !important;
}
.task-mail.action-compose .legalmail-compose-actions a.extwin,
.task-mail.action-compose .legalmail-compose-actions .extwin {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #e1e5ea !important;
    border-radius: 10px !important;
    background: #f4f6f8 !important;
    color: #59636d !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
.task-mail.action-compose .legalmail-compose-actions a.extwin:hover,
.task-mail.action-compose .legalmail-compose-actions a.extwin:focus {
    background: #eaf4fc !important;
    border-color: #c8e1f5 !important;
    color: #165a86 !important;
    outline: 0 !important;
}
.task-mail.action-compose .legalmail-compose-actions a.extwin .inner,
.task-mail.action-compose .legalmail-compose-actions .extwin .inner {
    display: none !important;
}
.task-mail.action-compose .legalmail-compose-actions a.extwin:before,
.task-mail.action-compose .legalmail-compose-actions .extwin:before {
    display: block !important;
    position: static !important;
    float: none !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    line-height: 20px !important;
    font-size: 16px !important;
    text-align: center !important;
    transform: none !important;
    color: currentColor !important;
}

html.dark-mode .task-mail.action-compose #compose-headers .input-group-append > .input-group-text,
html.dark-mode .task-mail.action-compose #compose-headers .input-group-append > a.input-group-text,
html.dark-mode .task-mail.action-compose .legalmail-compose-actions a.extwin {
    background: #25272c !important;
    border-color: #383b42 !important;
    color: #c3c8cf !important;
}
html.dark-mode .task-mail.action-compose #compose-headers .input-group-append > a.input-group-text:hover,
html.dark-mode .task-mail.action-compose #compose-headers .input-group-append > a.input-group-text:focus,
html.dark-mode .task-mail.action-compose .legalmail-compose-actions a.extwin:hover,
html.dark-mode .task-mail.action-compose .legalmail-compose-actions a.extwin:focus {
    background: #24394a !important;
    border-color: #355a76 !important;
    color: #9ed4f5 !important;
}

/* ========================================================================== 
 * LegalMail v25 — neutral login focus + modern message metadata card
 * ========================================================================== */

/* Opened message: make the sender/recipient/date area visually consistent with
 * the rounded compose/reply header fields without changing Roundcube output or
 * commands. */
.task-mail.action-show #message-header > .header {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    align-items: start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #e2e7eb !important;
    border-radius: 14px !important;
    background: #fbfcfd !important;
    box-sizing: border-box !important;
    line-height: normal !important;
    white-space: normal !important;
    overflow: visible !important;
}
.task-mail.action-show #message-header > .header img.contactphoto {
    grid-column: 1 !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 1px 0 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #eef2f5 !important;
    object-fit: cover !important;
}
.task-mail.action-show #message-header > .header .header-content {
    grid-column: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: normal !important;
}

/* Compact summary state: one modern neutral field instead of loose text. */
.task-mail.action-show #message-header .header-summary {
    min-height: 38px !important;
    margin: 0 !important;
    padding: 8px 11px !important;
    border: 1px solid #e5e9ed !important;
    border-radius: 10px !important;
    background: #f3f5f7 !important;
    color: #30363b !important;
    box-sizing: border-box !important;
    line-height: 20px !important;
    overflow-wrap: anywhere !important;
}
.task-mail.action-show #message-header .header-summary > span {
    vertical-align: middle !important;
}

/* Detailed state: Roundcube emits header rows. Lay them out like the compose
 * 'От / Кому / Тема' rows, while retaining all native links and data. */
.task-mail.action-show #message-header table.header-headers,
.task-mail.action-show #message-header .header-headers table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 6px !important;
    table-layout: fixed !important;
}
.task-mail.action-show #message-header .header-headers {
    width: 100% !important;
    margin: -3px 0 !important;
    padding: 0 !important;
    color: #30363b !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}
.task-mail.action-show #message-header .header-headers tr {
    height: auto !important;
}
.task-mail.action-show #message-header .header-headers td,
.task-mail.action-show #message-header .header-headers th {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    border: 0 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}
.task-mail.action-show #message-header .header-headers .header-title {
    width: 58px !important;
    min-width: 58px !important;
    padding-left: 0 !important;
    padding-right: 10px !important;
    background: transparent !important;
    color: #75808a !important;
    font-weight: 500 !important;
    text-align: left !important;
    white-space: nowrap !important;
}
.task-mail.action-show #message-header .header-headers td:not(.header-title),
.task-mail.action-show #message-header .header-headers th:not(.header-title) {
    padding-left: 11px !important;
    padding-right: 11px !important;
    border: 1px solid #e5e9ed !important;
    border-radius: 10px !important;
    background: #f3f5f7 !important;
    color: #30363b !important;
    overflow-wrap: anywhere !important;
}
.task-mail.action-show #message-header .header-headers a,
.task-mail.action-show #message-header .header-summary a {
    color: #1687c9 !important;
    text-decoration: none !important;
}
.task-mail.action-show #message-header .header-headers a:hover,
.task-mail.action-show #message-header .header-summary a:hover {
    color: #0d659b !important;
    text-decoration: underline !important;
}

/* Details / Headers / Text become compact controls matching the rest of the
 * new interface instead of a row of legacy text links. */
.task-mail.action-show #message-header .header-links {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: normal !important;
}
.task-mail.action-show #message-header .header-links a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 9px !important;
    border: 1px solid #dfe5ea !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #66727c !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 30px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}
.task-mail.action-show #message-header .header-links a:before {
    float: none !important;
    width: auto !important;
    height: 18px !important;
    margin: 0 !important;
    line-height: 18px !important;
    color: #6e7d88 !important;
}
.task-mail.action-show #message-header .header-links a:hover,
.task-mail.action-show #message-header .header-links a:focus {
    border-color: #bfdcf2 !important;
    background: #eef7ff !important;
    color: #145b88 !important;
    text-decoration: none !important;
    outline: 0 !important;
}

/* Give the subject a little more breathing room now that metadata is a card. */
.task-mail.action-show #message-header > .subject {
    margin-bottom: 10px !important;
}

@media screen and (max-width: 760px) {
    .task-mail.action-show #message-header > .header {
        grid-template-columns: 32px minmax(0, 1fr) !important;
        column-gap: 9px !important;
        padding: 10px !important;
        border-radius: 12px !important;
    }
    .task-mail.action-show #message-header > .header img.contactphoto {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }
    .task-mail.action-show #message-header .header-headers .header-title {
        width: 46px !important;
        min-width: 46px !important;
        padding-right: 6px !important;
        font-size: 12px !important;
    }
    .task-mail.action-show #message-header .header-links a {
        min-height: 30px !important;
        padding: 0 8px !important;
        line-height: 28px !important;
    }
}

/* ========================================================================== 
 * LegalMail v26 — full-width opened-message metadata + neutral recipient
 * ========================================================================== */

/* Roundcube can render messageHeaders as a table with Elastic's display:initial.
 * Force the detailed metadata block to consume all available space in the card,
 * matching the compose/reply header width. */
.task-mail.action-show #message-header .header-content.details-view {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}
.task-mail.action-show #message-header .header-content.details-view table.header-headers {
    display: table !important;
    width: 100% !important;
    max-width: none !important;
    table-layout: fixed !important;
}
.task-mail.action-show #message-header .header-content.details-view .header-headers:not(table) {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}
.task-mail.action-show #message-header .header-headers tbody,
.task-mail.action-show #message-header .header-headers tr {
    width: 100% !important;
}
.task-mail.action-show #message-header .header-headers td:not(.header-title),
.task-mail.action-show #message-header .header-headers th:not(.header-title) {
    width: auto !important;
    max-width: none !important;
}

/* In an opened incoming message, visually accent only the sender (first
 * metadata row, normally “От”). Recipient/Cc/Bcc rows remain fully clickable
 * but use neutral text so the mailbox address does not look like the sender. */
.task-mail.action-show #message-header .header-headers tr:first-child td:not(.header-title) a,
.task-mail.action-show #message-header .header-headers tr:first-child th:not(.header-title) a {
    color: #1687c9 !important;
    text-decoration: none !important;
}
.task-mail.action-show #message-header .header-headers tr:not(:first-child) td:not(.header-title) a,
.task-mail.action-show #message-header .header-headers tr:not(:first-child) th:not(.header-title) a {
    color: #30363b !important;
    text-decoration: none !important;
}
.task-mail.action-show #message-header .header-headers tr:not(:first-child) td:not(.header-title) a:hover,
.task-mail.action-show #message-header .header-headers tr:not(:first-child) th:not(.header-title) a:hover {
    color: #30363b !important;
    text-decoration: none !important;
}

html.dark-mode .task-mail.action-show #message-header .header-headers tr:not(:first-child) td:not(.header-title) a,
html.dark-mode .task-mail.action-show #message-header .header-headers tr:not(:first-child) th:not(.header-title) a,
html.dark-mode .task-mail.action-show #message-header .header-headers tr:not(:first-child) td:not(.header-title) a:hover,
html.dark-mode .task-mail.action-show #message-header .header-headers tr:not(:first-child) th:not(.header-title) a:hover {
    color: #30363b !important;
}

/* ========================================================================== 
 * LegalMail v27 — softer blue accent + corrected advanced-search popover
 * ========================================================================== */

/* Shared accent: keep the interface blue, but remove Elastic's saturated cyan.
 * These rules intentionally affect controls, selection/focus surfaces and
 * switches; ordinary message content is left untouched. */
:root {
    --legalmail-accent-bg: #dceefe;
    --legalmail-accent-bg-hover: #cfe7f8;
    --legalmail-accent-border: #b5d7ef;
    --legalmail-accent: #72b4dd;
    --legalmail-accent-strong: #2e7fae;
    --legalmail-accent-text: #155a82;
    --legalmail-accent-focus: rgba(76, 145, 190, .18);
}

/* Bootstrap/Roundcube primary controls */
.task-mail .btn-primary,
.task-login .btn-primary,
.task-mail button.btn-primary,
.task-login button.btn-primary,
.task-mail input.btn-primary,
.task-login input.btn-primary {
    color: var(--legalmail-accent-text) !important;
    background: var(--legalmail-accent-bg) !important;
    border-color: var(--legalmail-accent-border) !important;
    box-shadow: none !important;
}
.task-mail .btn-primary:hover,
.task-mail .btn-primary:focus,
.task-login .btn-primary:hover,
.task-login .btn-primary:focus {
    color: #104d70 !important;
    background: var(--legalmail-accent-bg-hover) !important;
    border-color: #9fcce9 !important;
    box-shadow: 0 0 0 3px var(--legalmail-accent-focus) !important;
}

/* Switches/checkbox accents used by search options, compose settings and
 * plugin forms.  Preserve Bootstrap's native mechanics, only recolor them. */
.task-mail .custom-control-input:checked ~ .custom-control-label::before,
.task-login .custom-control-input:checked ~ .custom-control-label::before,
.task-mail .custom-switch .custom-control-input:checked ~ .custom-control-label::before,
.task-login .custom-switch .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #86c6e9 !important;
    border-color: #86c6e9 !important;
}
.task-mail .custom-control-input:focus ~ .custom-control-label::before,
.task-login .custom-control-input:focus ~ .custom-control-label::before {
    border-color: #9ecde8 !important;
    box-shadow: 0 0 0 3px var(--legalmail-accent-focus) !important;
}
.task-mail input:focus,
.task-mail select:focus,
.task-mail textarea:focus,
.task-login input:focus,
.task-login select:focus,
.task-login textarea:focus {
    border-color: #9ecde8 !important;
    box-shadow: 0 0 0 3px var(--legalmail-accent-focus) !important;
}

/* Keep meaningful links blue, but use a calmer tone than Elastic cyan. */
.task-mail a:not(.button):not(.btn),
.task-login a:not(.button):not(.btn) {
    color: var(--legalmail-accent-strong);
}
.task-mail a:not(.button):not(.btn):hover,
.task-login a:not(.button):not(.btn):hover {
    color: #245f83;
}


/* v87: #mailtoolbar contains actions, not content hyperlinks.  Keep this
 * immediately beside the generic link-accent rule so it wins even if a stale
 * browser/server cache never reaches later compatibility sections. */
html:not(.dark-mode) body.task-mail #mailtoolbar a:not(.btn),
html:not(.dark-mode) body.task-mail #mailtoolbar a:not(.btn):link,
html:not(.dark-mode) body.task-mail #mailtoolbar a:not(.btn):visited,
html:not(.dark-mode) body.task-mail #mailtoolbar a:not(.btn):hover,
html:not(.dark-mode) body.task-mail #mailtoolbar a:not(.btn):focus {
    color: #202124 !important;
    -webkit-text-fill-color: #202124 !important;
    text-decoration-color: #202124 !important;
}
html:not(.dark-mode) body.task-mail #mailtoolbar a:not(.btn)::before,
html:not(.dark-mode) body.task-mail #mailtoolbar a:not(.btn)::after,
html:not(.dark-mode) body.task-mail #mailtoolbar a:not(.btn) > .inner::before,
html:not(.dark-mode) body.task-mail #mailtoolbar a:not(.btn) > .inner::after {
    color: #202124 !important;
    -webkit-text-fill-color: #202124 !important;
    fill: #202124 !important;
    stroke: #202124 !important;
}

/* Advanced mail search: the screenshot exposed a legacy-looking block with a
 * saturated cyan search button and cramped rows. Turn it into the same compact
 * card language used throughout LegalMail. */
.task-mail.action-none #searchmenu.legalmail-search-popup,
.task-mail.action-none #searchmenu:not(.hidden) {
    width: 336px !important;
    max-width: calc(100vw - 24px) !important;
    padding: 14px !important;
    border: 1px solid #dfe6eb !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 36px rgba(34, 45, 56, .14) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
.task-mail.action-none #searchmenu .formcontent {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 0 !important;
}
.task-mail.action-none #searchmenu .proplist {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
}
.task-mail.action-none #searchmenu .proplist > li {
    display: flex !important;
    align-items: center !important;
    min-height: 31px !important;
    padding: 0 4px !important;
    border: 0 !important;
    border-radius: 8px !important;
    line-height: 1.3 !important;
}
.task-mail.action-none #searchmenu .proplist > li:hover {
    background: #f5f8fa !important;
}
.task-mail.action-none #searchmenu .proplist label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    color: #59656f !important;
    font-size: 13px !important;
}
.task-mail.action-none #searchmenu .proplist .custom-control,
.task-mail.action-none #searchmenu .proplist .custom-switch {
    min-height: 28px !important;
    margin: 0 !important;
}
.task-mail.action-none #searchmenu .input-group {
    display: grid !important;
    grid-template-columns: 86px minmax(0, 1fr) !important;
    width: 100% !important;
    min-height: 36px !important;
    margin: 0 !important;
    border: 1px solid #dbe2e8 !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    background: #f7f9fa !important;
}
.task-mail.action-none #searchmenu .input-group-prepend {
    display: contents !important;
}
.task-mail.action-none #searchmenu .input-group-text {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    height: 36px !important;
    padding: 0 11px !important;
    border: 0 !important;
    border-right: 1px solid #dbe2e8 !important;
    border-radius: 0 !important;
    background: #f1f4f6 !important;
    color: #53606a !important;
    font-size: 13px !important;
}
.task-mail.action-none #searchmenu .custom-select,
.task-mail.action-none #searchmenu select,
.task-mail.action-none #searchmenu input[type="text"] {
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: #fff !important;
    color: #30373d !important;
    box-shadow: none !important;
}
.task-mail.action-none #searchmenu .formbuttons {
    margin: 2px 0 0 !important;
    padding: 0 !important;
}
.task-mail.action-none #searchmenu .formbuttons .btn,
.task-mail.action-none #searchmenu .formbuttons .btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid var(--legalmail-accent-border) !important;
    border-radius: 10px !important;
    background: var(--legalmail-accent-bg) !important;
    color: var(--legalmail-accent-text) !important;
    font-weight: 700 !important;
    line-height: 38px !important;
    box-shadow: none !important;
}
.task-mail.action-none #searchmenu .formbuttons .btn::before {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    color: var(--legalmail-accent-text) !important;
}
.task-mail.action-none #searchmenu .formbuttons .btn:hover,
.task-mail.action-none #searchmenu .formbuttons .btn:focus {
    background: var(--legalmail-accent-bg-hover) !important;
    border-color: #9fcce9 !important;
    box-shadow: 0 0 0 3px var(--legalmail-accent-focus) !important;
}

/* Toolbar geometry audit: never fall back to Elastic's icon-above-label
 * layout. This is what makes the row look "crooked" on some widths. */
#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar {
    align-items: center !important;
    min-height: 44px !important;
    gap: 4px !important;
}
#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar a:not(.dropdown),
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a:not(.dropdown) {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
}
#messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar a:not(.dropdown)::before,
.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a:not(.dropdown)::before {
    align-self: center !important;
    line-height: 20px !important;
}

html.dark-mode .task-mail.action-none #searchmenu.legalmail-search-popup,
html.dark-mode .task-mail.action-none #searchmenu:not(.hidden) {
    border-color: #3b4349 !important;
    background: #202428 !important;
    box-shadow: 0 16px 40px rgba(0,0,0,.36) !important;
}
html.dark-mode .task-mail.action-none #searchmenu .proplist > li:hover {
    background: #292f34 !important;
}
html.dark-mode .task-mail.action-none #searchmenu .proplist label {
    color: #c1cbd2 !important;
}
html.dark-mode .task-mail.action-none #searchmenu .input-group {
    border-color: #414a51 !important;
    background: #292f34 !important;
}
html.dark-mode .task-mail.action-none #searchmenu .input-group-text {
    border-right-color: #414a51 !important;
    background: #292f34 !important;
    color: #b6c1c8 !important;
}
html.dark-mode .task-mail.action-none #searchmenu .custom-select,
html.dark-mode .task-mail.action-none #searchmenu select,
html.dark-mode .task-mail.action-none #searchmenu input[type="text"] {
    background-color: #202428 !important;
    color: #e3e8eb !important;
}
html.dark-mode .task-mail .btn-primary,
html.dark-mode .task-login .btn-primary,
html.dark-mode .task-mail .custom-control-input:checked ~ .custom-control-label::before,
html.dark-mode .task-login .custom-control-input:checked ~ .custom-control-label::before {
    border-color: #5e9fc5 !important;
}

/* ========================================================================== 
 * LegalMail v28 — search popover spacing + classic mail action toolbar
 * ========================================================================== */

/* Advanced search: keep every control visually separate. The previous v27
 * layout was technically compact, but the last rows and the Search button sat
 * too close to one another and to the popover edge. */
.task-mail.action-none #searchmenu.legalmail-search-popup,
.task-mail.action-none #searchmenu:not(.hidden) {
    width: 344px !important;
    padding: 16px 16px 18px !important;
}
.task-mail.action-none #searchmenu .formcontent {
    gap: 10px !important;
}
.task-mail.action-none #searchmenu .proplist {
    gap: 5px !important;
    margin-bottom: 8px !important;
}
.task-mail.action-none #searchmenu .input-group {
    min-height: 38px !important;
    margin: 0 0 2px !important;
    border-radius: 10px !important;
}
.task-mail.action-none #searchmenu .input-group-text,
.task-mail.action-none #searchmenu .custom-select,
.task-mail.action-none #searchmenu select,
.task-mail.action-none #searchmenu input[type="text"] {
    height: 38px !important;
    min-height: 38px !important;
}
.task-mail.action-none #searchmenu .formbuttons {
    margin: 6px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid #edf1f4 !important;
}
.task-mail.action-none #searchmenu .formbuttons .btn,
.task-mail.action-none #searchmenu .formbuttons .btn-primary {
    height: 42px !important;
    line-height: 40px !important;
    border-radius: 10px !important;
}

/* Mail actions: keep the familiar Roundcube/Elastic icon-over-label toolbar
 * the user selected. Do not convert these actions into horizontal chips. */
@media screen and (min-width: 769px) {
    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar {
        display: flex !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        min-height: 52px !important;
        height: 52px !important;
        overflow: visible !important;
    }

    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown),
    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar > .dropbutton > a:not(.dropdown),
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown),
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton > a:not(.dropdown) {
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 58px !important;
        max-width: none !important;
        height: 52px !important;
        padding: 3px 8px 4px !important;
        border-radius: 0 !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown)::before,
    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar > .dropbutton > a:not(.dropdown)::before,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown)::before,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton > a:not(.dropdown)::before {
        display: block !important;
        float: none !important;
        width: auto !important;
        height: 23px !important;
        line-height: 23px !important;
        margin: 0 0 1px !important;
        font-size: 17px !important;
        text-align: center !important;
    }

    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar .inner,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar .inner {
        display: block !important;
        max-width: 92px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 12px !important;
        line-height: 18px !important;
        font-weight: 400 !important;
    }

    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar > .dropbutton,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton {
        display: inline-flex !important;
        align-items: stretch !important;
        height: 52px !important;
        overflow: visible !important;
        border-radius: 0 !important;
    }

    #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar > .dropbutton > a.dropdown,
    .task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton > a.dropdown {
        align-self: center !important;
        width: 16px !important;
        min-width: 16px !important;
        height: 24px !important;
        line-height: 24px !important;
        margin: 0 2px 0 -7px !important;
        padding: 0 !important;
        border-radius: 0 !important;
    }
}

html.dark-mode .task-mail.action-none #searchmenu .formbuttons {
    border-top-color: #343c42 !important;
}

/* ========================================================================== 
 * LegalMail v29 — destructive actions + Spam semantic colors
 * ========================================================================== */

/* Destructive confirmation actions must stay unmistakably destructive.
 * Elastic adds .btn-danger to delete/discard buttons at runtime. Some of these
 * buttons also carry .btn-primary, so this rule intentionally comes after the
 * shared soft-blue primary palette. */
.task-mail .ui-dialog .ui-dialog-buttonpane button.btn-danger,
.task-mail .ui-dialog .ui-dialog-buttonpane button.delete,
.task-mail .ui-dialog .ui-dialog-buttonpane button.discard,
.task-contacts .ui-dialog .ui-dialog-buttonpane button.btn-danger,
.task-settings .ui-dialog .ui-dialog-buttonpane button.btn-danger,
.ui-dialog .ui-dialog-buttonpane button.btn-danger {
    color: #fff !important;
    background: #e6534f !important;
    border-color: #e6534f !important;
    box-shadow: none !important;
}
.task-mail .ui-dialog .ui-dialog-buttonpane button.btn-danger:hover,
.task-mail .ui-dialog .ui-dialog-buttonpane button.btn-danger:focus,
.task-mail .ui-dialog .ui-dialog-buttonpane button.delete:hover,
.task-mail .ui-dialog .ui-dialog-buttonpane button.delete:focus,
.task-mail .ui-dialog .ui-dialog-buttonpane button.discard:hover,
.task-mail .ui-dialog .ui-dialog-buttonpane button.discard:focus,
.ui-dialog .ui-dialog-buttonpane button.btn-danger:hover,
.ui-dialog .ui-dialog-buttonpane button.btn-danger:focus {
    color: #fff !important;
    background: #d74440 !important;
    border-color: #d74440 !important;
    box-shadow: 0 0 0 3px rgba(230, 83, 79, .16) !important;
}
.task-mail .ui-dialog .ui-dialog-buttonpane button.btn-danger::before,
.task-mail .ui-dialog .ui-dialog-buttonpane button.delete::before,
.task-mail .ui-dialog .ui-dialog-buttonpane button.discard::before,
.ui-dialog .ui-dialog-buttonpane button.btn-danger::before {
    color: #fff !important;
}

/* Spam/Junk is a warning action, not a destructive delete. Keep the standard
 * Roundcube/markasjunk command and icon, but give it a warm orange accent. */
#mailtoolbar a.junk,
#mailtoolbar a.spam,
#mailtoolbar [class~="junk"],
#mailtoolbar [class~="spam"] {
    color: #202124 !important;
}
#mailtoolbar a.junk::before,
#mailtoolbar a.spam::before,
#mailtoolbar [class~="junk"]::before,
#mailtoolbar [class~="spam"]::before {
    color: #202124 !important;
}
#mailtoolbar a.junk:not(.disabled):hover,
#mailtoolbar a.junk:not(.disabled):focus,
#mailtoolbar a.spam:not(.disabled):hover,
#mailtoolbar a.spam:not(.disabled):focus {
    color: #b85f0c !important;
    background: rgba(217, 119, 22, .10) !important;
}
#mailtoolbar a.junk:not(.disabled):hover::before,
#mailtoolbar a.junk:not(.disabled):focus::before,
#mailtoolbar a.spam:not(.disabled):hover::before,
#mailtoolbar a.spam:not(.disabled):focus::before {
    color: #b85f0c !important;
}
#mailtoolbar a.junk.disabled,
#mailtoolbar a.spam.disabled {
    color: #d9a06b !important;
}
#mailtoolbar a.junk.disabled::before,
#mailtoolbar a.spam.disabled::before {
    color: #d9a06b !important;
}

html.dark-mode .task-mail .ui-dialog .ui-dialog-buttonpane button.btn-danger,
html.dark-mode .task-mail .ui-dialog .ui-dialog-buttonpane button.delete,
html.dark-mode .task-mail .ui-dialog .ui-dialog-buttonpane button.discard,
html.dark-mode .ui-dialog .ui-dialog-buttonpane button.btn-danger {
    color: #fff !important;
    background: #c94b47 !important;
    border-color: #d15b57 !important;
}
html.dark-mode #mailtoolbar a.junk,
html.dark-mode #mailtoolbar a.spam,
html.dark-mode #mailtoolbar a.junk::before,
html.dark-mode #mailtoolbar a.spam::before {
    color: #e7a24e !important;
}

/* ========================================================================== 
 * LegalMail v30 — force MarkAsJunk toolbar action to orange
 * ========================================================================== */
/*
 * The markasjunk plugin injects its toolbar button after the skin toolbar is
 * rendered and can load its own skin CSS after LegalMail. Match both the
 * official `junk` class and the plugin command so the warning color survives
 * plugin styles and different Roundcube builds.
 */
html body.task-mail #mailtoolbar a.button.junk,
html body.task-mail #mailtoolbar a.junk,
html body.task-mail #mailtoolbar a.spam,
html body.task-mail #mailtoolbar a[onclick*="plugin.markasjunk.junk"],
html body.task-mail #mailtoolbar a[onclick*="markasjunk.junk"],
html body.task-mail #mailtoolbar a[data-command="plugin.markasjunk.junk"],
html body.task-mail #mailtoolbar a[data-command*="markasjunk.junk"] {
    color: #d97706 !important;
}
html body.task-mail #mailtoolbar a.button.junk .inner,
html body.task-mail #mailtoolbar a.junk .inner,
html body.task-mail #mailtoolbar a.spam .inner,
html body.task-mail #mailtoolbar a[onclick*="plugin.markasjunk.junk"] .inner,
html body.task-mail #mailtoolbar a[onclick*="markasjunk.junk"] .inner,
html body.task-mail #mailtoolbar a[data-command="plugin.markasjunk.junk"] .inner,
html body.task-mail #mailtoolbar a[data-command*="markasjunk.junk"] .inner,
html body.task-mail #mailtoolbar a.button.junk::before,
html body.task-mail #mailtoolbar a.junk::before,
html body.task-mail #mailtoolbar a.spam::before,
html body.task-mail #mailtoolbar a[onclick*="plugin.markasjunk.junk"]::before,
html body.task-mail #mailtoolbar a[onclick*="markasjunk.junk"]::before,
html body.task-mail #mailtoolbar a[data-command="plugin.markasjunk.junk"]::before,
html body.task-mail #mailtoolbar a[data-command*="markasjunk.junk"]::before,
html body.task-mail #mailtoolbar a.button.junk .inner::before,
html body.task-mail #mailtoolbar a.junk .inner::before,
html body.task-mail #mailtoolbar a.spam .inner::before {
    color: #d97706 !important;
    fill: #d97706 !important;
}
html body.task-mail #mailtoolbar a.button.junk:not(.disabled):hover,
html body.task-mail #mailtoolbar a.button.junk:not(.disabled):focus,
html body.task-mail #mailtoolbar a.junk:not(.disabled):hover,
html body.task-mail #mailtoolbar a.junk:not(.disabled):focus,
html body.task-mail #mailtoolbar a[onclick*="markasjunk.junk"]:not(.disabled):hover,
html body.task-mail #mailtoolbar a[onclick*="markasjunk.junk"]:not(.disabled):focus {
    color: #b85f0c !important;
    background-color: rgba(217, 119, 6, .10) !important;
}
html body.task-mail #mailtoolbar a.button.junk:not(.disabled):hover .inner,
html body.task-mail #mailtoolbar a.button.junk:not(.disabled):focus .inner,
html body.task-mail #mailtoolbar a.button.junk:not(.disabled):hover::before,
html body.task-mail #mailtoolbar a.button.junk:not(.disabled):focus::before,
html body.task-mail #mailtoolbar a.junk:not(.disabled):hover .inner,
html body.task-mail #mailtoolbar a.junk:not(.disabled):focus .inner,
html body.task-mail #mailtoolbar a.junk:not(.disabled):hover::before,
html body.task-mail #mailtoolbar a.junk:not(.disabled):focus::before {
    color: #b85f0c !important;
    fill: #b85f0c !important;
}
html body.task-mail #mailtoolbar a.button.junk.disabled,
html body.task-mail #mailtoolbar a.junk.disabled,
html body.task-mail #mailtoolbar a[onclick*="markasjunk.junk"].disabled,
html body.task-mail #mailtoolbar a.button.junk.disabled .inner,
html body.task-mail #mailtoolbar a.junk.disabled .inner,
html body.task-mail #mailtoolbar a.button.junk.disabled::before,
html body.task-mail #mailtoolbar a.junk.disabled::before {
    color: #d6a36a !important;
    fill: #d6a36a !important;
}
html.dark-mode body.task-mail #mailtoolbar a.button.junk,
html.dark-mode body.task-mail #mailtoolbar a.junk,
html.dark-mode body.task-mail #mailtoolbar a.spam,
html.dark-mode body.task-mail #mailtoolbar a[onclick*="markasjunk.junk"],
html.dark-mode body.task-mail #mailtoolbar a.button.junk .inner,
html.dark-mode body.task-mail #mailtoolbar a.junk .inner,
html.dark-mode body.task-mail #mailtoolbar a.button.junk::before,
html.dark-mode body.task-mail #mailtoolbar a.junk::before {
    color: #f0a14a !important;
    fill: #f0a14a !important;
}


/* ========================================================================== 
 * LegalMail v31 — runtime-tagged Spam/Junk warning action
 * ========================================================================== */
/* legalmail.js tags the actual rendered Spam/Junk toolbar action after all
 * plugin markup is present. This class is intentionally independent of the
 * plugin's own class name, because installations can emit different markup. */
body.task-mail #mailtoolbar .legalmail-spam-action,
body.task-mail #mailtoolbar .legalmail-spam-action .inner,
body.task-mail #mailtoolbar .legalmail-spam-action > span,
body.task-mail #mailtoolbar .legalmail-spam-action::before,
body.task-mail #mailtoolbar .legalmail-spam-action .inner::before,
body.task-mail #mailtoolbar .legalmail-spam-action > span::before {
    color: #e57919 !important;
    fill: #e57919 !important;
}
body.task-mail #mailtoolbar .legalmail-spam-action:not(.disabled):hover,
body.task-mail #mailtoolbar .legalmail-spam-action:not(.disabled):focus,
body.task-mail #mailtoolbar .legalmail-spam-action:not(.disabled):hover .inner,
body.task-mail #mailtoolbar .legalmail-spam-action:not(.disabled):focus .inner,
body.task-mail #mailtoolbar .legalmail-spam-action:not(.disabled):hover::before,
body.task-mail #mailtoolbar .legalmail-spam-action:not(.disabled):focus::before {
    color: #c8660f !important;
    fill: #c8660f !important;
}
html.dark-mode body.task-mail #mailtoolbar .legalmail-spam-action,
html.dark-mode body.task-mail #mailtoolbar .legalmail-spam-action .inner,
html.dark-mode body.task-mail #mailtoolbar .legalmail-spam-action::before,
html.dark-mode body.task-mail #mailtoolbar .legalmail-spam-action .inner::before {
    color: #f0a14a !important;
    fill: #f0a14a !important;
}


/* ========================================================================== 
 * LegalMail v32 — neutral classic mail toolbar
 * ========================================================================== */
/* Restore the mail action toolbar to a neutral black/gray treatment. Earlier
 * Spam/Junk warning-color experiments are intentionally overridden here. */
@media screen and (min-width: 769px) {
    html body.task-mail #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar {
        gap: 4px !important;
    }

    html body.task-mail #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown),
    html body.task-mail #messagelist-header.yandex-list-toolbar #mailtoolbar.yandex-mailtoolbar > .dropbutton,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown),
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton {
        color: #23272b !important;
        background: #f1f3f5 !important;
        border: 1px solid #edf0f2 !important;
        border-radius: 8px !important;
        box-shadow: none !important;
    }

    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown) .inner,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown)::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a .inner,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar .legalmail-spam-action,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar .legalmail-spam-action .inner,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar .legalmail-spam-action::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar a.junk,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar a.junk .inner,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar a.junk::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar a.spam,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar a.spam .inner,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar a.spam::before {
        color: #23272b !important;
        fill: #23272b !important;
    }

    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown):not(.disabled):hover,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown):not(.disabled):focus,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton:hover,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton:focus-within {
        color: #111315 !important;
        background: #e6e9ec !important;
        border-color: #e0e4e7 !important;
    }

    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a.disabled,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton:has(> a.disabled) {
        color: #9aa1a7 !important;
        background: #f6f7f8 !important;
        border-color: #f0f2f3 !important;
    }

    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a.disabled .inner,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a.disabled::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a.disabled,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a.disabled::before {
        color: #9aa1a7 !important;
        fill: #9aa1a7 !important;
    }
}

html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown),
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton {
    color: #e5e7e9 !important;
    background: #292d31 !important;
    border-color: #34393e !important;
}
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown) .inner,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown)::before,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a::before,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar .legalmail-spam-action,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar .legalmail-spam-action::before,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar a.junk,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar a.junk::before,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar a.spam,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar a.spam::before {
    color: #e5e7e9 !important;
    fill: #e5e7e9 !important;
}

/* ========================================================================== 
 * LegalMail v33 — clean advanced-search button + truly neutral mail toolbar
 * ========================================================================== */

/* Advanced search submit: keep icon and label on one centered baseline.
 * Roundcube's pseudo icon previously inherited an old line-height/float and
 * appeared lower than the text. */
.task-mail.action-none #searchmenu .formbuttons {
    display: flex !important;
    justify-content: stretch !important;
    align-items: center !important;
    gap: 0 !important;
    margin-top: 10px !important;
    padding-top: 12px !important;
}
.task-mail.action-none #searchmenu .formbuttons .btn,
.task-mail.action-none #searchmenu .formbuttons .btn-primary {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    line-height: 1 !important;
    border: 1px solid #c8ddec !important;
    border-radius: 10px !important;
    background: #e8f3fb !important;
    color: #1f587c !important;
    box-shadow: none !important;
    vertical-align: middle !important;
}
.task-mail.action-none #searchmenu .formbuttons .btn::before,
.task-mail.action-none #searchmenu .formbuttons .btn-primary::before {
    position: static !important;
    display: inline-block !important;
    float: none !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    transform: none !important;
    color: #1f587c !important;
}
.task-mail.action-none #searchmenu .formbuttons .btn .inner,
.task-mail.action-none #searchmenu .formbuttons .btn-primary .inner {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    color: inherit !important;
    vertical-align: middle !important;
}
.task-mail.action-none #searchmenu .formbuttons .btn:hover,
.task-mail.action-none #searchmenu .formbuttons .btn:focus,
.task-mail.action-none #searchmenu .formbuttons .btn-primary:hover,
.task-mail.action-none #searchmenu .formbuttons .btn-primary:focus {
    background: #dcecf7 !important;
    border-color: #b6d2e6 !important;
    color: #194e70 !important;
    box-shadow: 0 0 0 3px rgba(109, 174, 216, .12) !important;
}

/* Mail action toolbar: make every rendered icon/label neutral black regardless
 * of plugin or Elastic selectors. Keep a very light gray button surface. */
@media screen and (min-width: 769px) {
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton {
        background: #f4f5f6 !important;
        border-color: #eceff1 !important;
        color: #202428 !important;
    }

    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a *,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton *,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a::after,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton::after,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a::after,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar .inner::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar .inner::after,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar .legalmail-spam-action,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar .legalmail-spam-action::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar a.junk,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar a.junk::before,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar a.spam,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar a.spam::before {
        color: #202428 !important;
        fill: #202428 !important;
    }

    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.disabled):hover,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.disabled):focus,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton:hover,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton:focus-within {
        background: #e9ebed !important;
        border-color: #e1e4e7 !important;
        color: #111315 !important;
    }

    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.disabled):hover *,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > a:not(.disabled):focus *,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton:hover *,
    html body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton:focus-within * {
        color: #111315 !important;
        fill: #111315 !important;
    }
}

html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > a,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton {
    background: #2b2f33 !important;
    border-color: #353a3f !important;
}
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > a *,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton *,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > a::before,
html.dark-mode body.task-mail #mailtoolbar.yandex-mailtoolbar > .dropbutton > a::before {
    color: #e4e7e9 !important;
    fill: #e4e7e9 !important;
}

/* ========================================================================== 
 * LegalMail v34 — neutral black mail toolbar and popup menus
 * ========================================================================== */
/* Force the main mail action toolbar back to the classic neutral treatment.
 * This intentionally targets the rendered Roundcube toolbar broadly so plugin
 * styles cannot turn individual actions blue again. */
@media screen and (min-width: 769px) {
    html body.task-mail #mailtoolbar,
    html body.task-mail #mailtoolbar.toolbar,
    html body.task-mail #mailtoolbar.menu {
        color: #202428 !important;
    }

    html body.task-mail #mailtoolbar a,
    html body.task-mail #mailtoolbar a .inner,
    html body.task-mail #mailtoolbar a > span,
    html body.task-mail #mailtoolbar .dropbutton,
    html body.task-mail #mailtoolbar .dropbutton > a,
    html body.task-mail #mailtoolbar a::before,
    html body.task-mail #mailtoolbar a::after,
    html body.task-mail #mailtoolbar a .inner::before,
    html body.task-mail #mailtoolbar a > span::before,
    html body.task-mail #mailtoolbar .dropbutton::before,
    html body.task-mail #mailtoolbar .dropbutton > a::before {
        color: #202428 !important;
        fill: #202428 !important;
    }

    html body.task-mail #mailtoolbar > a:not(.dropdown),
    html body.task-mail #mailtoolbar > .dropbutton {
        background: #f4f5f6 !important;
        border-color: #eceff1 !important;
    }

    html body.task-mail #mailtoolbar > a:not(.dropdown):not(.disabled):hover,
    html body.task-mail #mailtoolbar > a:not(.dropdown):not(.disabled):focus,
    html body.task-mail #mailtoolbar > .dropbutton:hover,
    html body.task-mail #mailtoolbar > .dropbutton:focus-within {
        background: #e8eaec !important;
        border-color: #dfe3e6 !important;
        color: #111315 !important;
    }
}

/* “Ещё” and other Roundcube popover/dropdown menus: neutral black text/icons,
 * with a soft gray hover instead of the default Elastic blue highlight. */
html body.task-mail .popover .menu li > a,
html body.task-mail .popover .menu li > a .inner,
html body.task-mail .popover .menu li > a > span,
html body.task-mail .popover .menu li > a::before,
html body.task-mail .popover .menu li > a::after,
html body.task-mail .popover .menu li > a .inner::before,
html body.task-mail .popupmenu .listing li > a,
html body.task-mail .popupmenu .listing li > a::before,
html body.task-mail .ui-menu .ui-menu-item > a,
html body.task-mail .ui-menu .ui-menu-item > a::before {
    color: #202428 !important;
    fill: #202428 !important;
}

html body.task-mail .popover .menu li > a:not(.disabled):hover,
html body.task-mail .popover .menu li > a:not(.disabled):focus,
html body.task-mail .popover .menu li > a.selected,
html body.task-mail .popupmenu .listing li > a:not(.disabled):hover,
html body.task-mail .popupmenu .listing li > a:not(.disabled):focus,
html body.task-mail .ui-menu .ui-menu-item > a.ui-state-active,
html body.task-mail .ui-menu .ui-state-active {
    color: #111315 !important;
    background: #eef0f2 !important;
}

html body.task-mail .popover .menu li > a:not(.disabled):hover::before,
html body.task-mail .popover .menu li > a:not(.disabled):focus::before,
html body.task-mail .popover .menu li > a.selected::before,
html body.task-mail .popupmenu .listing li > a:not(.disabled):hover::before,
html body.task-mail .popupmenu .listing li > a:not(.disabled):focus::before {
    color: #111315 !important;
    fill: #111315 !important;
}

html.dark-mode body.task-mail #mailtoolbar a,
html.dark-mode body.task-mail #mailtoolbar a .inner,
html.dark-mode body.task-mail #mailtoolbar a::before,
html.dark-mode body.task-mail #mailtoolbar .dropbutton,
html.dark-mode body.task-mail #mailtoolbar .dropbutton > a,
html.dark-mode body.task-mail .popover .menu li > a,
html.dark-mode body.task-mail .popover .menu li > a::before,
html.dark-mode body.task-mail .popupmenu .listing li > a,
html.dark-mode body.task-mail .popupmenu .listing li > a::before {
    color: #e4e7e9 !important;
    fill: #e4e7e9 !important;
}

html.dark-mode body.task-mail .popover .menu li > a:not(.disabled):hover,
html.dark-mode body.task-mail .popover .menu li > a:not(.disabled):focus,
html.dark-mode body.task-mail .popupmenu .listing li > a:not(.disabled):hover,
html.dark-mode body.task-mail .popupmenu .listing li > a:not(.disabled):focus {
    color: #fff !important;
    background: #34393e !important;
}

/* ========================================================================== 
 * LegalMail v35 — neutral black action strip above the message list
 * ========================================================================== */
/* The first Select/Threads controls live outside #mailtoolbar, so styling only
 * #mailtoolbar leaves part of the same visual strip blue. Target the complete
 * message-list header action strip and all Roundcube/plugin descendants. */
@media screen and (min-width: 769px) {
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu a:not(.disabled),
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu button:not(.disabled),
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.disabled),
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar button:not(.disabled),
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .legalmail-native-list-controls a:not(.disabled),
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-list-tools-tail a:not(.disabled) {
        color: #202428 !important;
        -webkit-text-fill-color: #202428 !important;
        text-decoration-color: #202428 !important;
    }

    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu a:not(.disabled) *,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu button:not(.disabled) *,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.disabled) *,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar button:not(.disabled) *,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .legalmail-native-list-controls a:not(.disabled) *,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-list-tools-tail a:not(.disabled) * {
        color: #202428 !important;
        -webkit-text-fill-color: #202428 !important;
        fill: #202428 !important;
    }

    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu a:not(.disabled)::before,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu a:not(.disabled)::after,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu a:not(.disabled) *::before,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu a:not(.disabled) *::after,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.disabled)::before,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.disabled)::after,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.disabled) *::before,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.disabled) *::after,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .legalmail-native-list-controls a:not(.disabled)::before,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .legalmail-native-list-controls a:not(.disabled)::after,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-list-tools-tail a:not(.disabled)::before,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-list-tools-tail a:not(.disabled)::after {
        color: #202428 !important;
        -webkit-text-fill-color: #202428 !important;
        fill: #202428 !important;
    }

    /* One quiet surface for the complete strip. */
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .legalmail-native-list-controls > a,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar > a:not(.dropdown),
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar > .dropbutton,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-list-tools-tail > a {
        background: #f4f5f6 !important;
        border-color: #eceff1 !important;
    }

    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu a:not(.disabled):hover,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu a:not(.disabled):focus,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.disabled):hover,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.disabled):focus,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .legalmail-native-list-controls a:not(.disabled):hover,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .legalmail-native-list-controls a:not(.disabled):focus,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-list-tools-tail a:not(.disabled):hover,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-list-tools-tail a:not(.disabled):focus {
        color: #111315 !important;
        -webkit-text-fill-color: #111315 !important;
        background: #e8eaec !important;
    }

    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar a.disabled,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar a.disabled *,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar a.disabled::before,
    html:not(.dark-mode) body.task-mail.action-none #messagelist-header.yandex-list-toolbar a.disabled *::before {
        color: #9aa1a7 !important;
        -webkit-text-fill-color: #9aa1a7 !important;
        fill: #9aa1a7 !important;
    }
}

html.dark-mode body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu a:not(.disabled),
html.dark-mode body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.disabled),
html.dark-mode body.task-mail.action-none #messagelist-header.yandex-list-toolbar .legalmail-native-list-controls a:not(.disabled),
html.dark-mode body.task-mail.action-none #messagelist-header.yandex-list-toolbar .yandex-list-tools-tail a:not(.disabled),
html.dark-mode body.task-mail.action-none #messagelist-header.yandex-list-toolbar .toolbar.menu a:not(.disabled) *,
html.dark-mode body.task-mail.action-none #messagelist-header.yandex-list-toolbar #mailtoolbar a:not(.disabled) * {
    color: #e4e7e9 !important;
    -webkit-text-fill-color: #e4e7e9 !important;
    fill: #e4e7e9 !important;
}

/* ========================================================================== 
 * LegalMail v36 — modern toasts + neutral reader actions + compose focus
 * ========================================================================== */

/* Roundcube status messages become compact modern toasts in the upper-right
 * corner on every task.  Native alert classes and behavior stay intact. */
#messagestack {
    position: fixed !important;
    top: 18px !important;
    right: 18px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 5000 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: min(370px, calc(100vw - 36px)) !important;
    height: auto !important;
    max-height: calc(100vh - 36px) !important;
    margin: 0 !important;
    pointer-events: none !important;
}
#messagestack > div:not(.voice) {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 11px 42px 11px 13px !important;
    border: 1px solid #e3e7eb !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.97) !important;
    color: #252a2f !important;
    box-shadow: 0 12px 34px rgba(28,39,49,.15), 0 2px 8px rgba(28,39,49,.08) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    line-height: 1.4 !important;
    overflow: hidden !important;
    pointer-events: auto !important;
    transform-origin: top right;
    will-change: transform, opacity;
}
#messagestack > div:not(.voice).legalmail-toast-enter {
    animation: legalmail-toast-in .32s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes legalmail-toast-in {
    0% { opacity: 0; transform: translate3d(22px,-5px,0) scale(.97); }
    100% { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
#messagestack > div:not(.voice)::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 13px 0 0 13px;
    background: #8a949e;
}
#messagestack > div:not(.voice) > i.icon {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 10px 0 0 !important;
    border-radius: 50% !important;
    background: #eef1f4 !important;
    color: #5c6670 !important;
    font-size: 14px !important;
    line-height: 28px !important;
    text-align: center !important;
}
#messagestack > div:not(.voice) > i.icon::before {
    float: none !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    color: inherit !important;
    line-height: 28px !important;
}
#messagestack .alert-success::after { background: #64a873; }
#messagestack .alert-success > i.icon { background: #e8f4eb !important; color: #4c8f5b !important; }
#messagestack .alert-info::after,
#messagestack .alert-info.information::after { background: #78a9cc; }
#messagestack .alert-info > i.icon,
#messagestack .alert-info.information > i.icon { background: #eaf3f9 !important; color: #537f9f !important; }
#messagestack .alert-warning::after { background: #d8a64f; }
#messagestack .alert-warning > i.icon { background: #faf1df !important; color: #9b742f !important; }
#messagestack .alert-danger::after { background: #cf6565; }
#messagestack .alert-danger > i.icon { background: #faeaea !important; color: #ad4b4b !important; }
#messagestack .loading::after { background: #8c969f; }
#messagestack .loading > i.icon { background: #edf0f2 !important; color: #66717a !important; }
#messagestack a {
    color: inherit !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 2px !important;
}
@media (prefers-reduced-motion: reduce) {
    #messagestack > div:not(.voice).legalmail-toast-enter { animation: none !important; }
}
@media screen and (max-width: 520px) {
    #messagestack {
        top: 10px !important;
        right: 10px !important;
        left: 10px !important;
        width: auto !important;
        max-height: calc(100vh - 20px) !important;
    }
}
html.dark-mode #messagestack > div:not(.voice) {
    border-color: #3a4046 !important;
    background: rgba(36,40,44,.97) !important;
    color: #edf0f2 !important;
    box-shadow: 0 14px 36px rgba(0,0,0,.34), 0 2px 8px rgba(0,0,0,.24) !important;
}
html.dark-mode #messagestack .alert-success,
html.dark-mode #messagestack .alert-info,
html.dark-mode #messagestack .alert-warning,
html.dark-mode #messagestack .alert-danger,
html.dark-mode #messagestack .loading {
    background: rgba(36,40,44,.97) !important;
    color: #edf0f2 !important;
}

/* Reader action strip: return every action to neutral black and give each
 * command its own quiet gray surface.  Reply/Forward split buttons remain
 * native, but are visually separated from neighboring actions. */
@media screen and (min-width: 769px) {
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar {
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        color: #202428 !important;
    }
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > a,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton {
        margin: 0 !important;
        color: #202428 !important;
    }
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown) {
        border: 1px solid #eceff1 !important;
        border-radius: 9px !important;
        background: #f4f5f6 !important;
    }
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton {
        display: inline-flex !important;
        align-items: stretch !important;
        gap: 2px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton > a:not(.dropdown),
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton > a.dropdown {
        margin: 0 !important;
        border: 1px solid #eceff1 !important;
        background: #f4f5f6 !important;
        color: #202428 !important;
    }
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton > a:not(.dropdown) {
        border-radius: 9px 6px 6px 9px !important;
    }
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton > a.dropdown {
        border-radius: 6px 9px 9px 6px !important;
    }
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a *,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a::before,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a::after,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a *::before,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a *::after {
        color: #202428 !important;
        -webkit-text-fill-color: #202428 !important;
        fill: #202428 !important;
    }
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a:not(.disabled):hover,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a:not(.disabled):focus {
        border-color: #dfe3e6 !important;
        background: #e8eaec !important;
        color: #111315 !important;
        outline: 0 !important;
    }
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a.disabled,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a.disabled *,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a.disabled::before {
        color: #9aa1a7 !important;
        -webkit-text-fill-color: #9aa1a7 !important;
        fill: #9aa1a7 !important;
    }
}
html.dark-mode body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > a:not(.dropdown),
html.dark-mode body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar > .dropbutton > a {
    border-color: #363b40 !important;
    background: #2b2f33 !important;
}
html.dark-mode body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a,
html.dark-mode body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a *,
html.dark-mode body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar a::before {
    color: #e4e7e9 !important;
    -webkit-text-fill-color: #e4e7e9 !important;
    fill: #e4e7e9 !important;
}

/* Reply action at the bottom of a message is a separate rounded control rather
 * than a strip merged with the message body. */
.task-mail.action-show .yandex-reply-footer {
    padding-top: 18px !important;
    padding-bottom: 20px !important;
}
.task-mail.action-show .yandex-reply-footer .yandex-reply-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border: 1px solid #e1e5e8 !important;
    border-radius: 10px !important;
    background: #f4f5f6 !important;
    color: #202428 !important;
    box-shadow: none !important;
}
.task-mail.action-show .yandex-reply-footer .yandex-reply-button:hover,
.task-mail.action-show .yandex-reply-footer .yandex-reply-button:focus {
    border-color: #d7dce0 !important;
    background: #e8eaec !important;
    color: #111315 !important;
    outline: 0 !important;
}

/* Compose body: focus should not draw a second blue frame around the editor.
 * Header/subject inputs already communicate focus cleanly. */
.task-mail.action-compose #composebodycontainer,
.task-mail.action-compose #composebodycontainer:focus,
.task-mail.action-compose #composebodycontainer:focus-within,
.task-mail.action-compose #composebody,
.task-mail.action-compose #composebody:focus,
.task-mail.action-compose #composebody:focus-visible,
.task-mail.action-compose .tox.tox-tinymce,
.task-mail.action-compose .tox.tox-tinymce:focus,
.task-mail.action-compose .tox.tox-tinymce:focus-within,
.task-mail.action-compose .tox.tox-tinymce.tox-edit-focus,
.task-mail.action-compose .html-editor,
.task-mail.action-compose .html-editor:focus-within {
    outline: 0 !important;
    box-shadow: none !important;
}
.task-mail.action-compose .tox.tox-tinymce.tox-edit-focus .tox-edit-area::before,
.task-mail.action-compose .tox.tox-tinymce .tox-edit-area::before,
.task-mail.action-compose .tox-edit-area:focus-within::before {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    opacity: 0 !important;
}
.task-mail.action-compose .tox-edit-area iframe,
.task-mail.action-compose .tox-edit-area iframe:focus,
.task-mail.action-compose .tox-edit-area iframe:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
}

/* ========================================================================== 
 * LegalMail v37 — neutral reader/compose toolbars + reply field surface
 * ========================================================================== */

/* Some Elastic/plugin rules are loaded after the skin and recolor toolbar
 * glyphs via nested spans/pseudo-elements.  Neutralize every visual layer of
 * the reader toolbar, not only the anchor itself. */
@media screen and (min-width: 769px) {
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar.yandex-mailtoolbar {
        gap: 6px !important;
    }

    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar > a:not(.dropdown),
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar > .dropbutton > a:not(.dropdown),
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar > .dropbutton > a.dropdown {
        color: #202428 !important;
        -webkit-text-fill-color: #202428 !important;
        background-color: #f4f5f6 !important;
        border-color: #e7eaed !important;
        text-decoration-color: #202428 !important;
    }

    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled),
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled) > .inner,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled) > span,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled)::before,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled)::after,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled) > .inner::before,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled) > .inner::after,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar .dropbutton:not(.disabled),
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar .dropbutton:not(.disabled) * {
        color: #202428 !important;
        -webkit-text-fill-color: #202428 !important;
        fill: #202428 !important;
    }

    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled):hover,
    html body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled):focus {
        color: #111315 !important;
        -webkit-text-fill-color: #111315 !important;
        background-color: #e8eaec !important;
        border-color: #dfe3e6 !important;
    }

    /* Composer toolbar uses a different id and was still inheriting the blue
     * Elastic action color.  Give every command its own quiet neutral tile. */
    html body.task-mail.action-compose #messagetoolbar {
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
    }
    html body.task-mail.action-compose #messagetoolbar::-webkit-scrollbar {
        display: none !important;
    }
    html body.task-mail.action-compose #messagetoolbar > a,
    html body.task-mail.action-compose #messagetoolbar > .dropbutton,
    html body.task-mail.action-compose #messagetoolbar > .dropbutton > a {
        margin: 0 !important;
    }
    html body.task-mail.action-compose #messagetoolbar > a:not(.dropdown),
    html body.task-mail.action-compose #messagetoolbar > .dropbutton > a:not(.dropdown),
    html body.task-mail.action-compose #messagetoolbar > .dropbutton > a.dropdown {
        color: #202428 !important;
        -webkit-text-fill-color: #202428 !important;
        background: #f4f5f6 !important;
        border: 1px solid #e7eaed !important;
        border-radius: 9px !important;
    }
    html body.task-mail.action-compose #messagetoolbar a:not(.disabled),
    html body.task-mail.action-compose #messagetoolbar a:not(.disabled) > .inner,
    html body.task-mail.action-compose #messagetoolbar a:not(.disabled) > span,
    html body.task-mail.action-compose #messagetoolbar a:not(.disabled)::before,
    html body.task-mail.action-compose #messagetoolbar a:not(.disabled)::after,
    html body.task-mail.action-compose #messagetoolbar a:not(.disabled) > .inner::before,
    html body.task-mail.action-compose #messagetoolbar a:not(.disabled) > .inner::after {
        color: #202428 !important;
        -webkit-text-fill-color: #202428 !important;
        fill: #202428 !important;
    }
    html body.task-mail.action-compose #messagetoolbar a:not(.disabled):hover,
    html body.task-mail.action-compose #messagetoolbar a:not(.disabled):focus,
    html body.task-mail.action-compose #messagetoolbar a.selected,
    html body.task-mail.action-compose #messagetoolbar a[aria-expanded="true"] {
        color: #111315 !important;
        -webkit-text-fill-color: #111315 !important;
        background: #e8eaec !important;
        border-color: #dfe3e6 !important;
        outline: 0 !important;
    }
    html body.task-mail.action-compose #messagetoolbar a.disabled,
    html body.task-mail.action-compose #messagetoolbar a.disabled *,
    html body.task-mail.action-compose #messagetoolbar a.disabled::before {
        color: #9aa1a7 !important;
        -webkit-text-fill-color: #9aa1a7 !important;
        fill: #9aa1a7 !important;
    }
}

/* The bottom reply affordance is intentionally field-like again: it looks like
 * a reply input, but remains the native Roundcube reply command. */
.task-mail.action-show .yandex-reply-footer {
    padding-top: 14px !important;
    padding-bottom: 20px !important;
}
.task-mail.action-show .yandex-reply-footer .yandex-reply-button {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 0 16px !important;
    border: 1px solid #dfe3e7 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #727a82 !important;
    -webkit-text-fill-color: #727a82 !important;
    text-align: left !important;
    box-shadow: 0 1px 2px rgba(31,45,61,.03) !important;
}
.task-mail.action-show .yandex-reply-footer .yandex-reply-button::before {
    color: #727a82 !important;
    -webkit-text-fill-color: #727a82 !important;
    margin-right: 9px !important;
}
.task-mail.action-show .yandex-reply-footer .yandex-reply-button:hover,
.task-mail.action-show .yandex-reply-footer .yandex-reply-button:focus {
    border-color: #cfd5da !important;
    background: #f8f9fa !important;
    color: #202428 !important;
    -webkit-text-fill-color: #202428 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 2px rgba(78,117,145,.06) !important;
}

html.dark-mode body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar > a:not(.dropdown),
html.dark-mode body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar > .dropbutton > a,
html.dark-mode body.task-mail.action-compose #messagetoolbar > a:not(.dropdown),
html.dark-mode body.task-mail.action-compose #messagetoolbar > .dropbutton > a {
    color: #e4e7e9 !important;
    -webkit-text-fill-color: #e4e7e9 !important;
    background: #2b2f33 !important;
    border-color: #373d42 !important;
}
html.dark-mode body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled),
html.dark-mode body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled) *,
html.dark-mode body.task-mail.action-show #layout-content.yandex-message-view > .header #mailtoolbar a:not(.disabled)::before,
html.dark-mode body.task-mail.action-compose #messagetoolbar a:not(.disabled),
html.dark-mode body.task-mail.action-compose #messagetoolbar a:not(.disabled) *,
html.dark-mode body.task-mail.action-compose #messagetoolbar a:not(.disabled)::before {
    color: #e4e7e9 !important;
    -webkit-text-fill-color: #e4e7e9 !important;
    fill: #e4e7e9 !important;
}
html.dark-mode .task-mail.action-show .yandex-reply-footer .yandex-reply-button {
    border-color: #373d42 !important;
    background: #25292d !important;
    color: #b8c0c6 !important;
    -webkit-text-fill-color: #b8c0c6 !important;
}


/* ==========================================================================
 * LegalMail v42 — direct neutral toolbar override
 * ========================================================================== */
html:not(.dark-mode) body.task-mail #mailtoolbar a,
html:not(.dark-mode) body.task-mail #mailtoolbar a *,
html:not(.dark-mode) body.task-mail #mailtoolbar a::before,
html:not(.dark-mode) body.task-mail #mailtoolbar a::after,
html:not(.dark-mode) body.task-mail #mailtoolbar .dropbutton,
html:not(.dark-mode) body.task-mail #mailtoolbar .dropbutton *,
html:not(.dark-mode) body.task-mail #messagetoolbar a,
html:not(.dark-mode) body.task-mail #messagetoolbar a *,
html:not(.dark-mode) body.task-mail #messagetoolbar a::before,
html:not(.dark-mode) body.task-mail #messagetoolbar a::after,
html:not(.dark-mode) body.task-mail #messagetoolbar .dropbutton,
html:not(.dark-mode) body.task-mail #messagetoolbar .dropbutton * {
    color: #202428 !important;
    -webkit-text-fill-color: #202428 !important;
    fill: #202428 !important;
}
html:not(.dark-mode) body.task-mail #mailtoolbar a.disabled,
html:not(.dark-mode) body.task-mail #mailtoolbar a.disabled *,
html:not(.dark-mode) body.task-mail #mailtoolbar a.disabled::before,
html:not(.dark-mode) body.task-mail #messagetoolbar a.disabled,
html:not(.dark-mode) body.task-mail #messagetoolbar a.disabled *,
html:not(.dark-mode) body.task-mail #messagetoolbar a.disabled::before {
    color: #9aa1a7 !important;
    -webkit-text-fill-color: #9aa1a7 !important;
    fill: #9aa1a7 !important;
}

/* ========================================================================== 
 * LegalMail v69 — dark toolbar glyphs inherit the rendered caption color
 * ========================================================================== */
/*
 * Root cause: older LegalMail v35-v46 rules assigned #202428 directly to
 * toolbar ::before pseudo-elements with !important. Later dark rules changed
 * the link/label color, but the generated Font Awesome glyph kept its own dark
 * color. Do not hard-code active/disabled icon colors anymore. The glyph now
 * inherits the final rendered button color, exactly like stock Elastic.
 *
 * Use multiple real ancestor IDs for specificity instead of duplicated IDs or
 * filters. This beats the historical !important pseudo-element rules while
 * keeping enabled/disabled/hover colors owned by the actual button state.
 */
html.dark-mode body.task-mail #layout-list #messagelist-header.yandex-list-toolbar
#mailtoolbar.yandex-mailtoolbar a::before,
html.dark-mode body.task-mail #layout-list #messagelist-header.yandex-list-toolbar
#mailtoolbar.yandex-mailtoolbar a::after,
html.dark-mode body.task-mail #layout-list #messagelist-header.yandex-list-toolbar
#mailtoolbar.yandex-mailtoolbar a > .inner::before,
html.dark-mode body.task-mail #layout-list #messagelist-header.yandex-list-toolbar
#mailtoolbar.yandex-mailtoolbar a > .inner::after,
html.dark-mode body.task-mail #layout-list #messagelist-header.yandex-list-toolbar
.toolbar.menu.legalmail-v63-native-list-controls a::before,
html.dark-mode body.task-mail #layout-list #messagelist-header.yandex-list-toolbar
.toolbar.menu.legalmail-v63-native-list-controls a::after,
html.dark-mode body.task-mail #layout-list #messagelist-header.yandex-list-toolbar
.toolbar.menu.legalmail-v63-native-list-controls a > .inner::before,
html.dark-mode body.task-mail #layout-list #messagelist-header.yandex-list-toolbar
.toolbar.menu.legalmail-v63-native-list-controls a > .inner::after {
    color: var(--legalmail-v69-icon-color, inherit) !important;
    -webkit-text-fill-color: var(--legalmail-v69-icon-color, currentColor) !important;
    fill: var(--legalmail-v69-icon-color, currentColor) !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    text-shadow: none !important;
}

/* ========================================================================== 
 * LegalMail v85 compatibility guard (unversioned files)
 * Keeps critical fixes active even when Roundcube's template cache still
 * references an older versioned LegalMail asset.
 * ========================================================================== */
@media screen and (min-width: 769px) {
  body.task-mail.action-none #messagelist + .listing-info,
  body.task-mail.action-none #messagelist ~ .listing-info {
    display: none !important;
    visibility: hidden !important;
  }
}

body.task-mail #taskmenu a.compose {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-align: center !important;
}
body.task-mail #taskmenu a.compose::before {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  float: none !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  line-height: 42px !important;
  transform: translate(-50%, -50%) !important;
  text-align: center !important;
}
body.task-mail #taskmenu a.compose > .inner { display:none !important; }

body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="lime"]   { background:#8fce00 !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="blue"]   { background:#3f8cff !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="orange"] { background:#ff9500 !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="teal"]   { background:#2bb5a7 !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="violet"] { background:#8a63d2 !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="pink"]   { background:#e45f91 !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="coral"]  { background:#ef6b55 !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="cyan"]   { background:#2fa8cf !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="indigo"] { background:#5d73d9 !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="mint"]   { background:#65b88a !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="amber"]  { background:#e6a400 !important; color:#fff !important; }
body.task-mail.action-none .messagelist .legalmail-yandex-avatar[data-avatar-tone="rose"]   { background:#d76574 !important; color:#fff !important; }

html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a:link,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a:visited,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a:not(.disabled),
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a:not(.disabled) *,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar .dropbutton,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar .dropbutton * {
  color:#202124 !important;
  -webkit-text-fill-color:#202124 !important;
  fill:#202124 !important;
  stroke:#202124 !important;
  text-decoration-color:#202124 !important;
  --bs-link-color:#202124 !important;
  --bs-link-hover-color:#202124 !important;
}
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a:not(.disabled)::before,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a:not(.disabled)::after,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a:not(.disabled) *::before,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a:not(.disabled) *::after,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar .dropbutton::before,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar .dropbutton::after {
  color:#202124 !important;
  -webkit-text-fill-color:#202124 !important;
  fill:#202124 !important;
  stroke:#202124 !important;
  filter:grayscale(1) saturate(0) brightness(.22) contrast(2) !important;
}
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a.disabled,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a.disabled *,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a.disabled::before,
html:not(.dark-mode) body.task-mail #mailtoolbar.yandex-mailtoolbar a.disabled::after {
  color:#a7adb3 !important;
  -webkit-text-fill-color:#a7adb3 !important;
  fill:#a7adb3 !important;
  stroke:#a7adb3 !important;
}


/* ========================================================================== 
 * LegalMail v87 — reader toolbar structural color fix + blue unread filter
 * + visible soft-blue refresh hover.
 * ========================================================================== */

/* Reader toolbar actions are controls, not ordinary blue hyperlinks.  The
 * template now gives these anchors .button as well, but this selector also
 * covers stale/cached markup before JS normalizes the classes. */
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a:link,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a:visited,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a > .inner,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a > span {
    color: #202124 !important;
    -webkit-text-fill-color: #202124 !important;
    text-decoration-color: #202124 !important;
    filter: none !important;
}
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a::before,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a::after,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a > .inner::before,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a > .inner::after,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a > span::before,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a > span::after {
    color: #202124 !important;
    -webkit-text-fill-color: #202124 !important;
    fill: #202124 !important;
    stroke: #202124 !important;
    filter: none !important;
}
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a.disabled,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a.disabled *,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a.disabled::before,
html:not(.dark-mode) body.task-mail.action-show #mailtoolbar a.disabled::after {
    color: #a7adb3 !important;
    -webkit-text-fill-color: #a7adb3 !important;
    fill: #a7adb3 !important;
    stroke: #a7adb3 !important;
}

/* Unread-only filter: selected state uses the same calm blue family as the
 * rest of LegalMail instead of the old yellow envelope. */
body.task-mail.action-none #layout-list > .legalmail-search-row >
.yandex-selection-toolbar.legalmail-unread-slot > a.button.unread {
    color: #66727d !important;
}
body.task-mail.action-none #layout-list > .legalmail-search-row >
.yandex-selection-toolbar.legalmail-unread-slot > a.button.unread:hover,
body.task-mail.action-none #layout-list > .legalmail-search-row >
.yandex-selection-toolbar.legalmail-unread-slot > a.button.unread:focus:not(:focus-visible) {
    color: #2e7fae !important;
    background: #eef7fd !important;
    border-radius: 10px !important;
}
body.task-mail.action-none #layout-list > .legalmail-search-row >
.yandex-selection-toolbar.legalmail-unread-slot > a.button.unread.selected {
    color: #2e7fae !important;
    background: #e7f3fb !important;
    border-radius: 10px !important;
}

/* Refresh stays quiet at rest but has an obvious blue-tinted hover/focus. */
body.task-mail .yandex-refresh-button,
body.task-mail a.yandex-refresh-button.button.icon,
body.task-mail a.yandex-refresh-button.toolbar-button {
    transition: background-color .14s ease, border-color .14s ease,
                color .14s ease, box-shadow .14s ease !important;
}
body.task-mail .yandex-refresh-button:hover,
body.task-mail .yandex-refresh-button:focus-visible,
body.task-mail a.yandex-refresh-button.button.icon:hover,
body.task-mail a.yandex-refresh-button.button.icon:focus-visible,
body.task-mail a.yandex-refresh-button.toolbar-button:hover,
body.task-mail a.yandex-refresh-button.toolbar-button:focus-visible {
    background: #eaf5fc !important;
    border-color: #c4deef !important;
    color: #2e7fae !important;
    box-shadow: 0 0 0 3px rgba(46, 127, 174, .10) !important;
    outline: 0 !important;
}
body.task-mail .yandex-refresh-button:active,
body.task-mail a.yandex-refresh-button.button.icon:active,
body.task-mail a.yandex-refresh-button.toolbar-button:active {
    background: #deeffa !important;
    border-color: #afd2e7 !important;
    box-shadow: none !important;
}

/* v89 fallback guard: even if a versioned stylesheet is stale in browser or
 * Roundcube cache, the reader's primary Reply control must stay compact. */
html body.task-mail.action-show .yandex-reply-footer .yandex-reply-button,
html body.task-mail.action-show .yandex-reply-footer .yandex-reply-button:first-child {
    flex: 0 0 auto !important;
    flex-grow: 0 !important;
    width: auto !important;
    max-width: 180px !important;
}

/* LegalMail v95 compatibility guard */
body.task-mail .yandex-compose-button {
    border-color:#efbd00 !important;
    background:#ffcc00 !important;
    color:#17191c !important;
    -webkit-text-fill-color:#17191c !important;
    font-weight:700 !important;
}
body.task-mail .yandex-compose-button:hover,
body.task-mail .yandex-compose-button:focus-visible {
    border-color:#efbd00 !important;
    background:#ffd633 !important;
    color:#111315 !important;
    -webkit-text-fill-color:#111315 !important;
}
@media screen and (min-width:1201px) {
    body.task-mail #taskmenu > span.action-buttons > a.compose::before {
        position:absolute !important;
        inset:0 !important;
        float:none !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        height:100% !important;
        margin:0 !important;
        line-height:1 !important;
        transform:none !important;
    }
    body.task-mail #taskmenu a.logout,
    body.task-addressbook #taskmenu a.logout,
    body.task-settings #taskmenu a.logout {
        background:transparent !important;
    }
    body.task-mail #taskmenu a.logout:hover,
    body.task-addressbook #taskmenu a.logout:hover,
    body.task-settings #taskmenu a.logout:hover {
        background:rgba(255,255,255,.12) !important;
    }
    body.task-mail #taskmenu a.logout::before,
    body.task-addressbook #taskmenu a.logout::before,
    body.task-settings #taskmenu a.logout::before {
        color:#ef8f8f !important;
        -webkit-text-fill-color:#ef8f8f !important;
    }
}

/* LegalMail v96 compatibility guard — unified blue left accent for all push/status toasts. */
#messagestack > div:not(.voice)::after,
#messagestack .alert-success::after,
#messagestack .alert-info::after,
#messagestack .alert-info.information::after,
#messagestack .alert-warning::after,
#messagestack .alert-danger::after,
#messagestack .loading::after,
#messagestack .uploading::after {
    width: 5px !important;
    background: #3b8fc5 !important;
    box-shadow: 2px 0 8px rgba(59,143,197,.16) !important;
}
html.dark-mode #messagestack > div:not(.voice)::after,
html.dark-mode #messagestack .alert-success::after,
html.dark-mode #messagestack .alert-info::after,
html.dark-mode #messagestack .alert-warning::after,
html.dark-mode #messagestack .alert-danger::after,
html.dark-mode #messagestack .loading::after,
html.dark-mode #messagestack .uploading::after {
    background: #59aee0 !important;
    box-shadow: 2px 0 9px rgba(89,174,224,.22) !important;
}

/* ========================================================================== *
 * LegalMail v120.20.13 — compose option label/control spacing
 * ========================================================================== */
/* Compose option rows are small two-part controls.  A real column gap prevents
 * labels such as "Priority" and "Save in" from visually merging into the
 * select value while preserving the compact card layout. */
.task-mail.action-compose .legalmail-compose-options > .form-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
}
.task-mail.action-compose .legalmail-compose-options > .form-group > label {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.task-mail.action-compose .legalmail-compose-options > .form-group > .col-6 {
    justify-self: end !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 155px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.task-mail.action-compose .legalmail-compose-options > .form-group > .col-6.form-check {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}
.task-mail.action-compose .legalmail-compose-options #compose-priority,
.task-mail.action-compose .legalmail-compose-options #compose-store-target {
    margin-left: 0 !important;
}

/* On a narrow compose panel, allow long labels to wrap cleanly but never let
 * them touch the control. */
@media screen and (max-width: 760px) {
    .task-mail.action-compose .legalmail-compose-options > .form-group {
        column-gap: 10px !important;
    }
}

/* ========================================================================== *
 * LegalMail — 2FA remember-device row: exact horizontal + vertical centering
 * Plugin markup (twofactor_gauthenticator_form.js):
 * <tr><td class="title" colspan="2"><input id="remember_2FA"><label ...></label></td></tr>
 * ========================================================================== */
body.task-login #login-form tr:has(> td > #remember_2FA) {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
body.task-login #login-form tr:has(> td > #remember_2FA) > td,
body.task-login #login-form tr.legalmail-remember-2fa-row > td.legalmail-remember-2fa-cell {
    display: flex !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}
body.task-login #login-form #remember_2FA {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}
body.task-login #login-form label[for="remember_2FA"] {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
    vertical-align: middle !important;
}
