/* Shared control geometry. Native command handlers and IDs remain in place. */
html:root #taskmenu a.theme,html:root #taskmenu a.about {display:none!important;}
html:root :is(.cm-icon-button,.cm-password-toggle,.cm-avatar,.cm-login-theme) {display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;}
html:root :is(.formbuttons,.file-upload,.ui-dialog-buttonpane) :is(button,.btn,.button),
html:root :is(#compose-content,#message-header) button.btn {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;line-height:20px;vertical-align:middle;text-align:center;}
html:root :is(.formbuttons,.file-upload,.ui-dialog-buttonpane) :is(button,.btn,.button):before {float:none;margin:0;line-height:1;flex-shrink:0;}
html:root .formbuttons :is(button,.btn,.button) .inner {display:inline;line-height:20px;}
html:root .searchbar {display:flex;align-items:center;gap:0;min-width:0;height:48px;min-height:48px;box-sizing:border-box;}
html:root .searchbar form {position:relative;flex:1;min-width:0;margin:0;height:44px;display:flex;align-items:center;}
/* The native search icon is on the form, not an input-group. A fixed SVG
   viewport keeps its visual center independent of icon-font line metrics. */
html:root .searchbar form:before {
 content:"";display:block;float:none;flex:0 0 20px;width:20px;height:20px;line-height:20px;margin:0 10px 0 4px;
 background:currentColor;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m15.5 15.5 4.5 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/20px 20px no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m15.5 15.5 4.5 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/20px 20px no-repeat;
}
html:root .searchbar form .input-group {width:100%;height:100%;align-items:center;}
html:root .searchbar form input {position:static;min-width:0;flex:1;height:44px;line-height:24px;border:0;}
html:root .searchbar .input-group-prepend {display:flex;align-items:center;justify-content:center;flex:0 0 36px;height:44px;}
html:root .searchbar .input-group-text {display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;line-height:1;}
html:root .searchbar>a.button {position:static;float:none;flex:0 0 40px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;line-height:1;margin:0;padding:0;border:0;border-radius:50%;color:var(--cm-muted);background:transparent;}
html:root .searchbar>a.button:before {float:none;margin:0;padding:0;line-height:1;font-size:18px;width:20px;text-align:center;}
html:root .searchbar>a.button:hover {background:color-mix(in srgb,var(--cm-text) 8%,transparent);}
html:root .searchbar>a.button.reset {display:none;}
html:root .searchbar.active>a.button.reset {display:inline-flex;}
html:root .searchbar>a.button.search {display:none;}
html:root .searchbar>a.button .inner {display:none;}
html:root #cm-topbar .searchbar {padding:0 6px 0 12px;}
html:root #cm-topbar .searchbar>a.options {margin-right:0;}
html:root .toolbar :is(a.button,a[role=button]),
html:root #compose-headers .input-group-text.icon {align-items:center;justify-content:center;vertical-align:middle;}
html:root #compose-headers .input-group-text.icon {display:inline-flex;width:40px;height:40px;line-height:1;padding:0;border-radius:50%;}
html:root #compose-headers .input-group-text.icon:before {margin:0;float:none;line-height:1;}
html:root .ui-dialog .ui-dialog-titlebar-close {display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;line-height:1;border-radius:50%;}
html:root .ui-dialog .ui-dialog-titlebar-close:before {margin:0;float:none;line-height:1;}
html:root .popupmenu .listing a {min-height:40px;line-height:22px;padding-top:9px;padding-bottom:9px;}
html:root .menu :is(a.theme,a.about) {text-decoration:none;}
body.task-login #login-form td.title {font-size:14px;}
body.task-login #rcmloginuser::placeholder,body.task-login #rcmloginpwd::placeholder {font-size:16px;}
body.task-login .login-guard-row {min-width:0;}
body.task-login #rcmloginsubmit {display:inline-flex;align-items:center;justify-content:center;line-height:20px;}
@media(max-width:768px) {
 html:root .searchbar>a.button {flex-basis:40px;width:40px;}
 html:root .searchbar {padding-left:8px;padding-right:4px;}
 html:root .popupmenu .listing a {min-height:44px;padding-top:11px;padding-bottom:11px;}
 html:root .searchbar .input-group-prepend {flex-basis:30px;}
 html:root .searchbar form input {width:100%;padding-left:4px;padding-right:4px;font-size:16px;}
}
@media(min-width:1920px) {
 #cm-topbar .cm-top-search {max-width:900px;}
 body.task-login #layout-content {width:1040px;}
}
html:root .searchbar>a.button:before,
html:root .searchbar .input-group-text:before {display:block;width:20px;height:20px;line-height:20px;margin:0;}
html:root .searchbar>a.button.options:before {content:"\f1de";}
/* Elastic uses flex rows inside a table; prevent long select text from
   contributing an oversized intrinsic table width on narrow screens. */
html:root table.propform {table-layout:fixed;width:100%;max-width:100%;}
html:root table.propform td {min-width:0;}

/* Message-list actions share one icon/label grid. Scope to the header so the
   same native controls retain their compact list layout in mobile popovers. */
html:root body.task-mail #messagelist-header {align-items:center;gap:4px;}
html:root body.task-mail #messagelist-header>.toolbar {height:52px;min-height:0;line-height:1;align-items:center;gap:4px;}
html:root body.task-mail #messagelist-header>.toolbar>li {height:52px;line-height:1;vertical-align:middle;}
html:root body.task-mail #messagelist-header>.toolbar a,
html:root body.task-mail #messagelist-header>a.toolbar-button {
 display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;float:none;
 box-sizing:border-box;height:52px;min-height:52px;min-width:64px;max-width:none;width:auto;margin:0;padding:4px 10px;
 border:0;border-radius:8px;line-height:16px;font-size:12px;font-weight:400;vertical-align:middle;text-decoration:none;
}
html:root body.task-mail #messagelist-header>.toolbar a:before,
html:root body.task-mail #messagelist-header>a.toolbar-button:before {
 display:block;float:none!important;flex:0 0 24px;width:24px!important;height:24px!important;
 margin:0!important;padding:0;font-size:20px;line-height:24px;text-align:center;
}
html:root body.task-mail #messagelist-header>.toolbar a .inner,
html:root body.task-mail #messagelist-header>a.toolbar-button .inner {
 display:block!important;margin:0;padding:0;font-size:12px;font-weight:400;line-height:16px;white-space:nowrap;
}
html:root body.task-mail #messagelist-header :is(.toolbar a,a.toolbar-button):not(.disabled):is(:hover,:focus-visible) {
 border-radius:8px;background:var(--cm-hover);color:var(--cm-text);
}
@media(min-width:769px) {
 html:root body.task-mail #messagelist-header>.toolbar {display:flex;}
}
@media(max-width:768px) {
 html:root body.task-mail #messagelist-header>.toolbar a,
 html:root body.task-mail #messagelist-header>a.toolbar-button {height:48px;min-height:48px;padding-block:2px;}
 html:root body.task-mail #messagelist-header>a:is(.toolbar-menu-button,.toolbar-list-button) {
  align-items:center;justify-content:center;min-width:44px;height:44px;margin:0;padding:0;border-radius:8px;line-height:44px;
 }
 html:root body.task-mail #messagelist-header>a:is(.toolbar-menu-button,.toolbar-list-button):before {
  float:none;width:24px!important;height:24px!important;margin:0;font-size:20px;line-height:24px;
 }
}

/* Keep the backdrop translucent even when jQuery animates opacity to one. */
html:root body .ui-widget-overlay {background:rgba(32,33,36,.38);opacity:1;}

/* List options are a small form, with bounded scrolling and a contained footer. */
html:root body .ui-dialog:has(#listoptions-menu) {
 position:fixed!important;inset:0!important;margin:auto!important;transform:none;
 display:flex;flex-direction:column;box-sizing:border-box;min-width:0!important;width:560px!important;
 max-width:calc(100vw - 32px);height:fit-content!important;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
 padding:0;overflow:hidden;border-radius:20px;
}
html:root body .ui-dialog:has(#listoptions-menu)>.ui-dialog-titlebar {
 display:flex;align-items:center;flex:0 0 auto;box-sizing:border-box;min-height:64px;height:auto;padding:12px 64px 12px 24px;
 border-radius:20px 20px 0 0;
}
html:root body .ui-dialog:has(#listoptions-menu) .ui-dialog-title {
 float:none;max-width:100%;margin:0;padding:0;font-size:20px;line-height:28px;white-space:normal;overflow-wrap:normal;
}
html:root body .ui-dialog:has(#listoptions-menu) .ui-dialog-titlebar-close {
 display:inline-flex!important;align-items:center;justify-content:center;top:50%;right:12px;width:40px;height:40px;
 margin:0;padding:0;transform:translateY(-50%);
}
html:root body .ui-dialog:has(#listoptions-menu) .ui-dialog-titlebar-close:before {
 display:block;float:none;width:24px;height:24px;margin:0!important;font-size:20px;line-height:24px;text-align:center;
}
html:root body .ui-dialog:has(#listoptions-menu)>.ui-dialog-content {
 flex:1 1 auto;box-sizing:border-box;width:100%!important;height:auto!important;min-width:0;min-height:0!important;
 max-height:none!important;padding:20px 24px;overflow:auto;
}
html:root body .ui-dialog #listoptions-menu {width:100%;height:auto;min-width:0;margin:0;padding:0;overflow:visible;}
html:root body .ui-dialog #listoptions-menu .form-group.row {
 display:grid;grid-template-columns:minmax(160px, 2fr) minmax(0, 3fr);align-items:center;gap:16px;
 margin:0 0 16px;padding:0;
}
html:root body .ui-dialog #listoptions-menu .form-group.row:last-child {margin-bottom:0;}
html:root body .ui-dialog #listoptions-menu .form-group.row>* {width:auto;max-width:none;min-width:0;flex:none;margin:0;padding:0;}
html:root body .ui-dialog #listoptions-menu label {
 -webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:normal;white-space:normal;overflow:visible;
 font-size:14px;line-height:20px;
}
html:root body .ui-dialog:has(#listoptions-menu)>.ui-dialog-buttonpane {
 flex:0 0 auto;box-sizing:border-box;height:auto!important;margin:0;padding:16px 24px!important;border-radius:0 0 20px 20px;
}
html:root body .ui-dialog:has(#listoptions-menu) .ui-dialog-buttonset {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;}
html:root body .ui-dialog:has(#listoptions-menu) .ui-dialog-buttonset button {
 display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-width:0;min-height:44px;height:auto;
 margin:0!important;padding:10px 18px;border-radius:22px;font-size:14px;line-height:20px;white-space:normal;order:0;
}
html:root body .ui-dialog:has(#listoptions-menu) .ui-dialog-buttonset button:before {
 float:none;width:18px!important;height:20px!important;margin:0!important;font-size:16px;line-height:20px;
}
html:root body .ui-dialog:has(#listoptions-menu) .ui-dialog-buttonset button.btn-primary {background:var(--cm-primary);color:var(--cm-on-primary);}
html:root body .ui-dialog:has(#listoptions-menu) .ui-dialog-buttonset button.btn-secondary {background:var(--cm-hover);color:var(--cm-primary);}
@media(max-width:575px) {
 html:root body .ui-dialog:has(#listoptions-menu) {inset:12px auto auto 12px!important;margin:0!important;transform:none;width:calc(100vw - 24px)!important;max-width:none;max-height:calc(100dvh - 24px);border-radius:16px;}
 html:root body .ui-dialog:has(#listoptions-menu)>.ui-dialog-titlebar {padding:14px 60px 14px 20px;border-radius:16px 16px 0 0;}
 html:root body .ui-dialog:has(#listoptions-menu) .ui-dialog-title {font-size:18px;line-height:24px;}
 html:root body .ui-dialog:has(#listoptions-menu)>.ui-dialog-content {padding:16px 20px;}
 html:root body .ui-dialog #listoptions-menu .form-group.row {grid-template-columns:minmax(0,1fr);gap:8px;}
 html:root body .ui-dialog:has(#listoptions-menu)>.ui-dialog-buttonpane {padding:14px 16px!important;border-radius:0 0 16px 16px;}
 html:root body .ui-dialog:has(#listoptions-menu) .ui-dialog-buttonset {justify-content:flex-end;}
}

/* Settings panes form one card
   only while both native panels are visible; one-panel/mobile states stay intact. */
@media (min-width: 769px) {
  html:root body.task-settings #layout:has(> #layout-list:not(.hidden)):has(> #layout-content:not(.hidden)) > #layout-list {
    margin-right: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 1px solid var(--cm-line, #e0e3e7);
  }

  html:root body.task-settings #layout:has(> #layout-list:not(.hidden)):has(> #layout-content:not(.hidden)) > #layout-content {
    margin-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: 0;
  }
}

/* Elastic reserves a transparent 2px cell edge for keyboard focus. The theme's
   broad border-color rule painted it gray on every row; remove that extra edge. */
html:root body.task-settings #layout-list :is(#sections-table, #identities-table, #responses-table) tbody tr > td:first-child,
html:root body.task-settings #layout-list #subscription-table li > a {
  border-left: 0;
}

/* Preserve a single keyboard focus marker without adding a layout border. */
html:root body.task-settings #layout-list :is(#sections-table, #identities-table, #responses-table).focus tbody tr.focused > td:first-child,
html:root body.task-settings #layout-list #subscription-table li > a:focus-visible {
  box-shadow: inset 2px 0 0 var(--cm-primary, #0b57d0);
  outline: 0;
}

/* Fixed listbox coordinates remain viewport-based: dialogs must not create a
   transformed containing block for their accessible child popup. */
html:root body .ui-dialog .ui-dialog-titlebar-close {transition:background-color .15s,color .15s;}
html:root body .ui-dialog .ui-dialog-titlebar-close:is(:hover,:focus-visible) {background:var(--cm-hover);color:var(--cm-text);outline:0;box-shadow:inset 0 0 0 1px var(--cm-line);}
@media(min-width:1201px) {
 html:root body.task-mail.action-none:not(.cm-has-message) #messagelist td.subject {box-sizing:border-box;grid-template-columns:minmax(0,190px) minmax(0,1fr) max-content;}
 html:root body.task-mail.action-none:not(.cm-has-message) #messagelist td.subject>.date {white-space:nowrap;min-width:max-content;font-variant-numeric:tabular-nums;}
 html:root body.cm-bulk-selection #messagelist-header>.toolbar,
 html:root body.cm-bulk-selection #messagelist-header>a.toolbar-button {display:none;}
 html:root #cm-bulk-actions {display:flex;align-items:center;gap:16px;min-width:0;flex:1;}
 html:root #cm-bulk-actions[hidden] {display:none;}
 html:root #cm-bulk-actions .cm-selection-count {white-space:nowrap;font-size:13px;color:var(--cm-muted);}
 html:root #cm-bulk-actions #toolbar-menu {display:flex!important;flex:1;}
 html:root #cm-bulk-actions #toolbar-menu>li:has(>a.reply),
 html:root #cm-bulk-actions #toolbar-menu>li:has(>a.compose),
 html:root #cm-bulk-actions #toolbar-menu>li:has(.reply-all) {display:none!important;}
}
/* Native header toolbars share rectangular hit areas and a separate caret.
   Popup menus keep their own vertical list geometry. */
html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar) {align-items:center;gap:4px;min-width:0;}
html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar)>li>a:not(.hidden),
html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar)>li>.dropbutton>a:not(.dropdown) {
 display:inline-flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;
 width:auto;min-width:64px;max-width:none;height:52px;padding:4px 10px;gap:2px;margin:0;
 border:0;border-radius:8px;font-size:12px;line-height:16px;white-space:nowrap;overflow:visible;text-decoration:none;
}
html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar) a:not(.dropdown):before {
 display:block;float:none!important;width:24px!important;height:24px!important;line-height:24px;font-size:20px;margin:0!important;
}
html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar) a:not(.dropdown)>.inner {
 display:block;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;font-size:12px;line-height:16px;padding:0;
}
html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar)>li>.dropbutton {display:inline-flex;align-items:center;width:auto;height:52px;margin:0;padding:0;gap:0;}
html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar)>li>.dropbutton>a.dropdown {
 position:static;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
 width:28px;min-width:28px;height:44px;line-height:1;margin:0;padding:0;border:0;border-radius:8px;
}
html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar)>li>.dropbutton>a.dropdown:before {float:none;width:16px!important;height:16px!important;line-height:16px;font-size:12px;margin:0!important;}
html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar)>li>.dropbutton>a.dropdown>.inner {display:none;}
html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar) a:not(.disabled):is(:hover,:focus-visible) {background:var(--cm-hover);color:var(--cm-text);border-radius:8px;}

@media(min-width:769px) {
 html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar) {display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;max-width:100%;}
 html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar)>li {flex:0 0 auto;width:auto;max-width:none;min-width:0;height:52px;margin:0;padding:0;border:0;}
 html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar)>li.spacer {flex:1;}
}
html:root .cm-select-popup > .cm-select-option + .cm-select-option,
html:root .cm-select-popup .cm-select-group > .cm-select-option + .cm-select-option {margin-top:4px;}
@media(min-width:1201px) {
 html:root body.cm-bulk-selection #messagelist-header>#toolbar-list-menu {display:none;}
}
/* One editor frame, rather than independently rounded toolbar and textarea. */
html:root body .html-editor:has(>#rcmfd_signature) {box-sizing:border-box;border:1px solid var(--cm-line);border-radius:10px;overflow:hidden;background:var(--cm-surface);}
html:root body .html-editor:has(>#rcmfd_signature):focus-within {border-color:var(--cm-primary);box-shadow:0 0 0 1px var(--cm-primary);}
html:root body .html-editor:has(>#rcmfd_signature)>.editor-toolbar {box-sizing:border-box;margin:0;padding:4px 8px;min-height:36px;border:0;border-bottom:1px solid var(--cm-line);border-radius:0;}
html:root body .html-editor>#rcmfd_signature,
html:root body .formcontent .html-editor>#rcmfd_signature.form-control {box-sizing:border-box;width:100%;margin:0!important;padding:12px 14px!important;border:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important;line-height:1.5;resize:vertical;}
html:root body #messagelist tbody tr:hover {box-shadow:none;}
html:root body #messagelist tbody tr:hover:not(.selected) {background:var(--cm-hover);}
html:root body #messagelist-header #toolbar-list-menu>li,
html:root body #messagelist-header #toolbar-list-menu>li>a {border:0!important;box-shadow:none;}
html:root body .html-editor:has(>#rcmfd_signature) {display:flex;flex-direction:column;}
html:root body .html-editor:has(>#rcmfd_signature)>.editor-toolbar {
 position:static;order:-1;display:flex;align-items:center;flex:0 0 36px;width:100%;height:36px;min-height:36px;
}
html:root body .html-editor:has(>#rcmfd_signature)>.editor-toolbar>a {display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;line-height:28px;padding:0;margin:0;}

/* Contact type/value controls are separate, aligned fields, not mismatched joined corners. */
html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native) {
 gap:8px;align-items:flex-start;margin-left:0;margin-right:0;width:100%;
}
html:root .propform.grouped:not(.readonly) .row.input-group>select.cm-select-native+.cm-select {
 flex:0 0 120px;width:120px;max-width:36%;min-width:0;margin:0;
}
html:root .propform.grouped:not(.readonly) .row.input-group>.cm-select .cm-select-button {
 height:44px;min-height:44px;border-radius:8px;margin:0;
}
html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native)>input.form-control {
 flex:1 1 0;width:0;min-width:0;height:44px;margin:0;border-radius:8px;padding:10px 13px;
}
html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native)>.input-group-append {
 margin:0;align-self:flex-start;
}
html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native)>.input-group-append>a.deletebutton {
 display:flex;align-items:center;justify-content:center;width:36px;height:44px;border:0;border-radius:8px;background:transparent;
}
html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native)>.content {
 flex:1 1 0;min-width:0;margin:0;border:1px solid var(--cm-line);border-radius:8px;overflow:hidden;
}
@media(max-width:575px) {
 html:root .propform.grouped:not(.readonly) .row.input-group>select.cm-select-native+.cm-select {flex-basis:96px;width:96px;max-width:36%;}
 html:root .propform.grouped:not(.readonly) .row.input-group>.cm-select .cm-select-button,
 html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native)>input.form-control {height:46px;min-height:46px;}
}

/* Keep the switch focus ring outside its track, without clipping or Bootstrap's second halo. */
html:root body:not(.task-login) .custom-switch,
html:root body:not(.task-login) .custom-switch .custom-control-label {overflow:visible;}
html:root body:not(.task-login) .custom-switch .custom-control-input:focus~.custom-control-label:before {box-shadow:none;outline:none;}
html:root body:not(.task-login) .custom-switch .custom-control-input:focus-visible~.custom-control-label:before {
 outline:2px solid var(--cm-primary);outline-offset:2px;box-shadow:none;
}
/* Advanced sections use a clean disclosure heading, not a border through the legend. */
html:root body:not(.task-login) :is(.formcontent,.propform) fieldset.advanced {
 margin-top:20px;padding-top:0;padding-bottom:0;border:0;
}
html:root body:not(.task-login) :is(.formcontent,.propform) fieldset.advanced>legend {
 display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:40px;
 margin:0;padding:6px 8px;border:0;border-radius:8px;font-size:16px;line-height:24px;
}
html:root body:not(.task-login) :is(.formcontent,.propform) fieldset.advanced>legend:after {
 float:none;flex:0 0 20px;width:20px;text-align:center;margin:0;font-size:16px;line-height:24px;
}
html:root body:not(.task-login) :is(.formcontent,.propform) fieldset.advanced>legend:hover {background:var(--cm-hover);}
html:root body:not(.task-login) :is(.formcontent,.propform) fieldset.advanced>.collapse.show {padding-top:12px;}
html:root body:not(.task-login) .formcontent:has(fieldset.advanced:last-child) {padding-bottom:16px;}
@media(max-width:400px) {
 html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native) {display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;}
 html:root .propform.grouped:not(.readonly) .row.input-group>select.cm-select-native+.cm-select {grid-column:1;grid-row:1;width:120px;max-width:100%;}
 html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native)>input.form-control,
 html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native)>.content {grid-column:1 / -1;grid-row:2;width:100%;}
 html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native)>.input-group-append {grid-column:2;grid-row:1;}
}

/* Settings navigation and identity cards: quiet outlined icons and distinct rows. */
html:root body.task-settings #settings-menu {padding:8px 0;}
html:root body.task-settings #settings-menu>li {margin-top:4px;margin-bottom:4px;}
html:root body.task-settings #settings-menu>li>a {display:flex;align-items:center;gap:14px;min-height:44px;padding:10px 20px;line-height:22px;border:0;}
html:root body.task-settings #settings-menu>li>a:before,
html:root body.task-settings #identities-table td.mail:before {
 content:"";display:block;flex:0 0 22px;float:none;width:22px;height:22px;margin:0;
 background:currentColor;color:var(--cm-muted);mask-size:contain;mask-position:center;mask-repeat:no-repeat;
}
html:root body.task-settings #settings-menu>li>a:before {mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h16M4%2017h16%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%223%22%20fill%3D%22white%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2217%22%20r%3D%223%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");}
html:root body.task-settings #settings-menu>li>a[href*="_action=folders"]:before {mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207a2%202%200%200%201%202-2h5l2%202h7a2%202%200%200%201%202%202v10H3Z%22%2F%3E%3C%2Fsvg%3E");}
html:root body.task-settings #settings-menu>li>a[href*="_action=identities"]:before {mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%223.5%22%2F%3E%3Cpath%20d%3D%22M5%2021v-2a7%207%200%200%201%2014%200v2%22%2F%3E%3C%2Fsvg%3E");}
html:root body.task-settings #settings-menu>li>a[href*="_action=responses"]:before {mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%204H4v13h5l3%203%203-3h5Z%22%2F%3E%3Cpath%20d%3D%22M8%208h8M8%2012h5%22%2F%3E%3C%2Fsvg%3E");}
html:root body.task-settings #identities-table td.mail:before {mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%223.5%22%2F%3E%3Cpath%20d%3D%22M5%2021v-2a7%207%200%200%201%2014%200v2%22%2F%3E%3C%2Fsvg%3E");float:left;margin:1px 14px 0 0;}
html:root body.task-settings #settings-menu>li.selected>a:before {color:var(--cm-primary);}
html:root body.task-settings #identities-table {border-collapse:separate;border-spacing:0 6px;table-layout:fixed;width:100%;padding:6px 12px;}
html:root body.task-settings #identities-table tbody tr {background:transparent;box-shadow:none;}
html:root body.task-settings #identities-table tbody tr>td.mail {
 box-sizing:border-box;height:54px;padding:14px 16px;border:0;border-radius:12px;
 background:var(--cm-surface);font-size:14px;line-height:24px;color:var(--cm-text);
 white-space:normal;overflow-wrap:anywhere;word-break:normal;vertical-align:middle;
 transition:background-color .15s;
}
html:root body.task-settings #identities-table tbody tr:hover>td.mail {background:var(--cm-hover);}
html:root body.task-settings #identities-table tbody tr.selected>td.mail {background:var(--cm-selected);font-weight:500;}
html:root body.task-settings #identities-table tbody tr.selected>td.mail:before {color:var(--cm-primary);}
html:root body.task-settings #layout-list #identities-table.focus tbody tr.focused>td.mail {box-shadow:inset 0 0 0 2px var(--cm-primary);outline:0;}
@media(max-width:575px) {
 html:root body.task-settings #identities-table {padding:4px 8px;}
 html:root body.task-settings #identities-table tbody tr>td.mail {padding:12px;font-size:13px;line-height:22px;}
 html:root body.task-settings #identities-table td.mail:before {width:20px;height:20px;margin-right:10px;}
}
html:root body.task-settings #settings-menu>li,
html:root body.task-settings #settings-menu>li>a {border-radius:0 24px 24px 0;}
html:root body.task-settings #settings-menu>li.selected>a {background:var(--cm-selected);color:var(--cm-text);font-weight:600;}
html:root body.task-settings #settings-menu>li:not(.selected)>a:hover {background:var(--cm-hover);}
/* Mobile mail chrome: aligned icon controls and labels above full-width filters. */
@media(max-width:768px) {
 html:root body.task-mail #messagelist-header {display:flex;align-items:center;gap:4px;min-height:56px;height:56px;padding:6px 12px;}
 html:root body.task-mail #messagelist-header>.header-title {position:static;flex:1;min-width:0;width:auto;margin:0;padding:0 8px;text-align:left;line-height:44px;font-size:16px;}
 html:root body.task-mail #messagelist-header>a:is(.refresh,.toolbar-menu-button) {
  position:relative;inset:auto;display:inline-flex!important;flex:0 0 44px;align-items:center;justify-content:center;
  width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:50%;line-height:1;
 }
 html:root body.task-mail #messagelist-header>a:is(.refresh,.toolbar-menu-button):before {display:block;float:none;width:22px!important;height:22px!important;line-height:22px;font-size:20px;margin:0!important;}
 html:root body.task-mail #messagelist-header>a:is(.refresh,.toolbar-menu-button)>.inner {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;}
 html:root body.task-mail #messagelist-header>a:is(.refresh,.toolbar-menu-button):is(:hover,:focus-visible,.selected) {background:var(--cm-hover);border-radius:50%;}
 html:root body.task-mail #searchmenu .formcontent {padding:16px;}
 html:root body.task-mail #searchmenu .formcontent>.input-group {display:flex;flex-direction:column;gap:6px;margin:0 0 14px;width:100%;}
 html:root body.task-mail #searchmenu .input-group>.input-group-prepend {display:block;flex:none;width:100%;min-width:0;margin:0;}
 html:root body.task-mail #searchmenu .input-group>.input-group-prepend>label {display:block;width:auto;padding:0;border:0;border-radius:0;background:transparent;font-size:13px;line-height:20px;color:var(--cm-muted);white-space:normal;overflow:visible;}
 html:root body.task-mail #searchmenu .input-group>.cm-select {flex:none;width:100%;max-width:100%;margin:0;}
 html:root body.task-mail #searchmenu .cm-select-button {min-height:46px;border-radius:10px;}
 html:root body.task-mail #searchmenu .proplist {margin-bottom:16px;}
 html:root body.task-mail #searchmenu .proplist>li {position:relative;min-height:40px;padding:6px 0;}
 html:root body.task-mail #searchmenu .proplist>li>label {margin:0;line-height:26px;}
 html:root body.task-mail #searchmenu .proplist>li>a.dropdown {display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;width:40px;height:40px;padding:0;border-radius:50%;}
 html:root body.task-mail #searchmenu .proplist>li>a.dropdown:before {float:none;margin:0;line-height:20px;}
 html:root body.task-mail #searchmenu .formbuttons {padding:12px 16px 16px;}
 html:root body.task-mail #searchmenu .formbuttons>.btn {display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;width:100%;margin:0;}
 html:root body.task-mail #searchmenu .formbuttons>.btn:before {float:none;margin:0;}
}
@media(max-width:768px) {
 html:root body.task-mail #searchmenu .input-group>.input-group-prepend,
 html:root body.task-mail #searchmenu .input-group>.input-group-prepend>label {height:auto;min-height:0;text-align:left;}
 html:root body.task-mail #messagelist-header>a:is(.refresh,.toolbar-menu-button) {color:var(--cm-muted);}
}
/* Shared mobile corrections verified against captured Roundcube pages. */
@media(max-width:768px) {
 html:root body.task-addressbook #layout:has(>#contact-details) {display:flex;flex-direction:column;overflow:auto;}
 html:root body.task-addressbook #layout>#contact-details {flex:1 0 auto;width:100%;max-width:100%;min-width:0;}
 html:root body.task-addressbook #layout:has(>#contact-details)>.formbuttons {flex:none;width:100%;max-width:100%;margin:0;position:static;}
 html:root body #layout :is(#layout-content,#layout-list)>.header>a.toolbar-menu-button {
  display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;margin:0;border-radius:50%;line-height:1;
 }
 html:root body #layout :is(#layout-content,#layout-list)>.header>a.toolbar-menu-button:before {display:block;float:none;width:22px;height:22px;margin:0;line-height:22px;}
 html:root body #layout :is(#layout-content,#layout-list)>.header>a.toolbar-menu-button:is(:hover,:focus-visible) {border-radius:50%;background:var(--cm-hover);}
 html:root body .formcontent label {hyphens:none;-webkit-hyphens:none;overflow-wrap:break-word;}
 html:root body .custom-file,html:root body .custom-file-input,html:root body .custom-file-label {height:46px;min-height:46px;}
 html:root body .custom-file-label {display:flex;align-items:center;padding:10px 80px 10px 12px;border-radius:8px;}
 html:root body .custom-file-label:after {display:flex;align-items:center;justify-content:center;height:44px;padding:0 12px;border-radius:0 8px 8px 0;}
 html:root body #contactphoto {width:72px;max-width:72px;}
 html:root body #contactpic {width:64px;height:64px;min-height:64px;}
 html:root body #contactpic img {width:64px;height:64px;object-fit:contain;}
 html:root body .formbuttons {padding-bottom:max(16px,env(safe-area-inset-bottom));}
}
@media(max-width:1200px) {
 html:root body.cm-navigation:not(.cm-navigation-open) #layout-menu {visibility:hidden!important;pointer-events:none!important;transform:translateX(-110%)!important;}
 html:root body.cm-navigation.cm-navigation-open #layout-menu {visibility:visible!important;pointer-events:auto;}
}
@media(max-width:768px) {
 html:root body #contact-details .row.composite>.content {display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;}
 html:root body #contact-details .row.composite>.content>input.form-control {width:100%;min-width:0;margin:0;border:0;border-radius:0;padding:10px 12px;min-height:44px;}
 html:root body #contact-details .row.composite>.content>input.form-control+input.form-control {border-top:1px solid var(--cm-line);}
}
@media(max-width:400px) {
 html:root body #contact-details .row.composite.input-group>.content {grid-column:1 / -1!important;grid-row:2!important;width:100%;}
}
@media(max-width:768px) {
 html:root body #layout :is(#layout-content,#layout-list)>.header {align-items:center;}
 html:root body #layout :is(#layout-content,#layout-list)>.header>a.toolbar-menu-button {position:relative;top:auto;bottom:auto;align-self:center;}
}
@media(max-width:768px) {
 html:root body.action-compose #compose-headers .cm-select .cm-select-button {border-radius:8px;}
}

/* Keep the login action on the same center axis as the verification widget. */
html:root body.task-login #login-form .formbuttons {justify-content:center;}
html:root body.task-login #rcmloginsubmit {margin-inline:0;}

html:root body.task-login #rcmloginsubmit {width:100%!important;}

html:root body.task-login #login-footer {display:none;}

html:root body.task-login #login-form {padding-top:0;}

/* Consistent mobile touch targets in contact, recipient and search controls. */
@media(max-width:768px) {
 html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native)>.input-group-append>a.deletebutton,
 html:root body.action-compose #compose-headers a.input-group-text.icon {
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;
  width:44px;min-width:44px;height:44px;margin:0;padding:0;border:0;border-radius:10px;
 }
 html:root .propform.grouped:not(.readonly) a.deletebutton:before,
 html:root body.action-compose #compose-headers a.input-group-text.icon:before {
  display:block;float:none;margin:0;line-height:20px;text-align:center;
 }
 html:root .propform.grouped:not(.readonly) a.deletebutton:is(:hover,:focus-visible),
 html:root body.action-compose #compose-headers a.input-group-text.icon:is(:hover,:focus-visible) {background:var(--cm-hover);}
 html:root body.task-mail #searchmenu .proplist>li {min-height:44px;}
 html:root body.task-mail #searchmenu .proplist>li>a.dropdown {width:44px;height:44px;}
}
@media(max-width:400px) {
 html:root .propform.grouped:not(.readonly) .row.input-group:has(>select.cm-select-native) {grid-template-columns:minmax(0,1fr) 44px;}
}

/* Authentication theme control: lower-left, clear of the form and safe area. */
html:root body.task-login .cm-login-theme {position:fixed;top:auto;right:auto;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));height:44px;min-width:44px;}
html:root body.task-login #layout {padding-bottom:calc(76px + env(safe-area-inset-bottom));}

/* Tablet split view: keep native panel actions on one shared centerline. */
@media (min-width:769px) and (max-width:1200px) {
 html:root body.cm-navigation #layout {padding:0 12px 12px;gap:12px;box-sizing:border-box;}
 html:root body.cm-navigation #layout>#layout-list,
 html:root body.cm-navigation #layout>#layout-content {margin:0;min-height:0;}
 html:root body.cm-navigation #layout>#layout-list {min-width:280px;}
 html:root body.cm-app #layout :is(#layout-list,#layout-content)>.header {
  display:flex;align-items:center;justify-content:center;height:60px;min-height:60px;padding:4px 8px;gap:4px;box-sizing:border-box;
 }
 html:root body.task-mail #messagelist-header>.header-title {display:none;}
 html:root body.task-mail #messagelist-header>.toolbar {flex:1;justify-content:center;margin:0;}
 html:root body.cm-app #layout :is(#layout-list,#layout-content)>.header>a:is(.back-sidebar-button,.toolbar-menu-button,.toolbar-list-button) {
  position:static;float:none;align-self:center;display:flex;align-items:center;justify-content:center;flex:0 0 44px;
  width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;line-height:1;border-radius:8px;
 }
 html:root body.cm-app #layout :is(#layout-list,#layout-content)>.header>a:is(.back-sidebar-button,.toolbar-menu-button,.toolbar-list-button):before {
  display:block;float:none;width:24px;height:24px;line-height:24px;margin:0;text-align:center;font-size:20px;
 }
 html:root body.cm-app #layout :is(#layout-list,#layout-content)>.header>a:is(.back-sidebar-button,.toolbar-menu-button,.toolbar-list-button)>.inner {
  position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;
 }
 html:root body.task-mail #layout-list>.pagenav {
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;min-height:76px;height:auto;padding:4px 8px;line-height:1.4;
 }
 html:root body.task-mail #layout-list>.pagenav>.pagenav-text {
  order:-1;flex:0 0 100%;width:100%;max-width:100%;margin:0;text-align:center;white-space:normal;overflow:visible;
 }
 html:root body.task-mail #layout-list>.pagenav>a {display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;margin:0;}
 html:root body.task-mail #layout-list>.pagenav>a:before {float:none;margin:0;line-height:24px;}
 html:root body.task-mail #layout-list>.pagenav>input {flex:0 0 44px;width:44px;height:32px;margin:0 4px;text-align:center;}
}
@media (min-width:769px) and (max-width:1200px) {
 html:root body.task-mail #messagelist-header>.toolbar {padding:0;}
}
/* Portrait tablets keep every message action visible without horizontal scrolling. */
@media (min-width:769px) and (max-width:1000px) {
 html:root body.task-mail #layout #layout-content>.header>.toolbar {justify-content:center;gap:2px;padding:0;}
 html:root body.task-mail #layout #layout-content>.header>.toolbar>li>a:not(.hidden),
 html:root body.task-mail #layout #layout-content>.header>.toolbar>li>.dropbutton>a:not(.dropdown) {min-width:44px;width:44px;padding:0;height:44px;min-height:44px;}
 html:root body.task-mail #layout #layout-content>.header>.toolbar a:not(.dropdown)>.inner {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
}

/* With visible labels, align the split-menu caret to the icon row,
   retaining the full native dropdown hit target. Compact icon-only rows stay centered. */
@media (min-width:769px) {
 html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar)>li>.dropbutton>a.dropdown:before {transform:translateY(-9px);}
}

/* Inline split-button wrappers otherwise align to the text baseline,
   shifting the entire icon/label pair below adjacent standalone actions. */
@media (min-width:769px) {
 html:root body #layout :is(.header>.toolbar,#cm-bulk-actions>.toolbar)>li {display:flex;align-items:center;}
}

/* Mail's portrait toolbar hides labels; other tasks retain their icon/label row. */
@media (min-width:769px) and (max-width:1000px) {
 html:root body.task-mail #layout #layout-content>.header>.toolbar>li>.dropbutton>a.dropdown:before {transform:none;}
}

/* Phone popovers: long translated actions wrap without clipping their icons. */
@media (max-width:768px) {
 html:root body .popover .listing>li>a:not(.hidden),
 html:root body .popover .listing>li>.dropbutton>a:not(.dropdown):not(.hidden) {
  display:flex;align-items:center;gap:12px;min-width:0;min-height:48px;height:auto;
  padding:12px 16px;line-height:22px;font-size:14px;text-align:left;
  white-space:normal;overflow-wrap:anywhere;text-overflow:clip;
 }
 html:root body .popover .listing>li>a:not(.hidden):before,
 html:root body .popover .listing>li>.dropbutton>a:not(.dropdown):before {
  float:none;flex:0 0 20px;width:20px;margin:0!important;line-height:22px;text-align:center;
 }
 html:root body .popover .listing>li>a>.inner,
 html:root body .popover .listing>li>.dropbutton>a:not(.dropdown)>.inner {
  flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:22px;text-overflow:clip;
 }
 html:root body .popover .listing>li>.dropbutton {display:flex;align-items:stretch;min-width:0;}
 html:root body .popover .listing>li>.dropbutton>a:not(.dropdown) {flex:1;}
 html:root body .popover .listing>li>.dropbutton>a.dropdown {
  position:static;display:flex;align-items:center;justify-content:center;flex:0 0 44px;
  width:44px;height:auto;min-height:48px;margin:0;padding:0;line-height:1;
 }
 html:root body .popover .listing>li>.dropbutton>a.dropdown:before {float:none;margin:0;line-height:20px;}
}

/* The software keyboard can shrink visualViewport without resizing the layout viewport. */
@media (max-width:768px) {
 html:root body.action-compose.cm-compose-viewport {--cm-compose-bar:56px;}
 html:root body.action-compose.cm-compose-viewport #cm-topbar {
  position:fixed;top:var(--cm-visible-top,0px);left:0;right:0;height:var(--cm-compose-bar);
 }
 html:root body.action-compose.cm-compose-viewport #layout {
  position:fixed;top:calc(var(--cm-visible-top,0px) + var(--cm-compose-bar));left:0;right:0;
  width:100%;height:calc(var(--cm-visible-height,100dvh) - var(--cm-compose-bar));min-height:0;margin:0;
 }
 html:root body.action-compose.cm-compose-viewport #layout-content {min-height:0;}
 html:root body.action-compose.cm-compose-viewport #layout-content>.header {flex:none;}
 html:root body.action-compose.cm-compose-viewport #compose-content {
  flex:1 1 0;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;scroll-padding-block:8px;
 }
 html:root body.action-compose.cm-compose-viewport #layout-content>.content-frame-navigation {
  flex:0 0 auto;height:auto;min-height:56px;padding:4px 8px max(4px,env(safe-area-inset-bottom));
  display:flex;align-items:center;justify-content:center;
 }
 html:root body.action-compose.cm-compose-viewport #composebody {
  min-height:100px;height:clamp(100px,calc(var(--cm-visible-height,100dvh) - 200px),320px)!important;
  max-height:320px;overflow-y:auto;scroll-margin-block:8px;
 }
 html:root body.action-compose.cm-compose-keyboard {--cm-compose-bar:0px;}
 html:root body.action-compose.cm-compose-keyboard #cm-topbar {display:none;}
 html:root body.action-compose.cm-compose-keyboard #layout-content>.content-frame-navigation {padding-bottom:4px;}
}
@media (max-width:768px) {
 html:root body.action-compose.cm-compose-viewport:not(:has(#cm-topbar)) {--cm-compose-bar:0px;}
 html:root body.action-compose.cm-compose-viewport #composebodycontainer .tox-tinymce {
  height:clamp(120px,calc(var(--cm-visible-height,100dvh) - 180px),420px)!important;min-height:0;
 }
}
