summaryrefslogtreecommitdiffstats
path: root/comm/mail/themes/shared/mail/panelUI.css
diff options
context:
space:
mode:
Diffstat (limited to 'comm/mail/themes/shared/mail/panelUI.css')
-rw-r--r--comm/mail/themes/shared/mail/panelUI.css1199
1 files changed, 1199 insertions, 0 deletions
diff --git a/comm/mail/themes/shared/mail/panelUI.css b/comm/mail/themes/shared/mail/panelUI.css
new file mode 100644
index 0000000000..932c70177b
--- /dev/null
+++ b/comm/mail/themes/shared/mail/panelUI.css
@@ -0,0 +1,1199 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+:root .cui-widget-panel {
+ --menu-panel-width: 22.35em;
+ --wide-menu-panel-width: 29em;
+ --panel-palette-icon-size: 16px;
+ --panel-separator-margin: 4px 8px;
+
+ /* XXX This is the ugliest bit of code I think I've ever written for Mozilla.
+ Basically, the [extra 0.1px in the 1.1px] is there to avoid CSS rounding errors
+ causing buttons to wrap. For gory details, refer to
+ https://bugzilla.mozilla.org/show_bug.cgi?id=963365#c11 */
+ /* stylelint-disable-next-line */
+ --menu-panel-button-width: calc(--menu-panel-width / 3 - 1.1px);
+ /* Complement the .subviewbutton margin. */
+ --arrowpanel-padding: 8px 0;
+ --arrowpanel-menuitem-border-radius: 3px;
+ --appmenu-button-border-color: hsla(210, 4%, 10%, 0.14);
+ --appmenu-button-margin: 0 8px;
+ --appmenu-button-padding: 6px;
+ --appmenu-combined-radio-button-padding: 4px 8px;
+ --appmenu-fontsize-icon-size: 20px;
+ --appmenu-fontsize-reset-button-width: 47px;
+ --appmenu-warning-background-color: #ffefbf;
+ --appmenu-warning-background-color-hover: #ffe8a2;
+ --appmenu-warning-background-color-active: #ffe38f;
+ --appmenu-warning-color: black;
+ --appmenu-warning-border-color: hsl(45, 100%, 77%);
+ --appmenu-icons-fill: color-mix(in srgb, var(--color-ink-70) 20%, transparent);
+ --appmenu-icons-stroke: var(--color-ink-70);
+}
+
+@media (prefers-color-scheme: dark) {
+ :root .cui-widget-panel {
+ --appmenu-icons-fill: color-mix(in srgb, var(--color-ink-10) 20%, transparent);
+ --appmenu-icons-stroke: var(--color-ink-10);
+ }
+}
+
+@media (prefers-contrast) {
+ :root .cui-widget-panel {
+ --appmenu-icons-fill: color-mix(in srgb, currentColor 20%, transparent);
+ --appmenu-icons-stroke: currentColor;
+ }
+}
+
+/* UI Density customization */
+
+:root[uidensity="compact"] .cui-widget-panel {
+ --arrowpanel-padding: 4px 0;
+ --appmenu-button-margin: 0 4px;
+ --appmenu-button-padding: 3px;
+ --appmenu-combined-radio-button-padding: 2px 6px;
+ --appmenu-fontsize-icon-size: 16px;
+ --appmenu-fontsize-reset-button-width: 41px;
+}
+
+:root[uidensity="touch"] .cui-widget-panel {
+ --appmenu-button-padding: 9px;
+ --appmenu-combined-radio-button-padding: 6px 10px;
+ --appmenu-fontsize-icon-size: 24px;
+ --appmenu-fontsize-reset-button-width: 51px;
+}
+
+:root[lwt-popup-brighttext] .cui-widget-panel {
+ --appmenu-button-border-color: rgba(249, 249, 250, 0.2);
+ --appmenu-warning-background-color: hsla(55, 100%, 50%, .1);
+ --appmenu-warning-background-color-hover: hsla(55, 100%, 50%, .2);
+ --appmenu-warning-background-color-active: hsla(55, 100%, 50%, .3);
+ --appmenu-warning-color: #f9f9fa;
+ --appmenu-warning-border-color: hsla(55, 100%, 50%, .3);
+}
+
+panelview:not([visible]) {
+ visibility: collapse;
+}
+
+.cui-widget-panel,
+#widget-overflow {
+ font: menu;
+ font-size: inherit;
+}
+
+panelview {
+ flex-direction: column;
+ background: var(--arrowpanel-background);
+ padding: 0;
+}
+
+/* Prevent a scrollbar from appearing while the animation for transitioning from
+ one view to another runs, which would otherwise happen if the new view has
+ more height than the old one because that would mean that during the
+ animation the height of the multiview will be too short for the new view. */
+panelmultiview[transitioning] > .panel-viewcontainer > .panel-viewstack > panelview > .panel-subview-body {
+ overflow-y: hidden;
+}
+
+.panel-subview-body {
+ overflow-y: auto;
+ overflow-x: hidden;
+ flex: 1;
+ padding: var(--arrowpanel-padding);
+}
+
+.panel-view-body-unscrollable {
+ overflow: hidden;
+ flex: 1;
+}
+
+.subviewbutton.panel-subview-footer {
+ box-sizing: border-box;
+ min-height: 41px;
+}
+
+.cui-widget-panelview menuitem.subviewbutton.panel-subview-footer {
+ margin: 4px 0 0;
+}
+
+.cui-widget-panelview .subviewbutton.panel-subview-footer > .menu-text {
+ flex: 1;
+}
+
+#wrapper-edit-controls:is([place="palette"],[place="menu-panel"]) > #edit-controls {
+ margin-inline-start: 0;
+}
+
+#appmenu-edit-button {
+ margin-inline: 0 3px;
+ padding-inline: 7px;
+}
+
+#appmenu-edit-button::after {
+ margin-inline-start: 0;
+}
+
+panelview[id^=PanelUI-webext-] {
+ overflow: hidden;
+}
+
+panelview:not([mainview]) .toolbarbutton-text,
+.cui-widget-panel .toolbarbutton-text,
+#overflowMenu-customize-button > .toolbarbutton-text {
+ text-align: start;
+ display: flex;
+}
+
+#appMenu-popup panelview,
+#customizationui-widget-multiview panelview:not([extension]) {
+ min-width: var(--menu-panel-width);
+ max-width: 35em;
+}
+
+#customizationui-widget-multiview #appMenu-libraryView,
+#widget-overflow panelview {
+ min-width: var(--wide-menu-panel-width);
+ max-width: var(--wide-menu-panel-width);
+}
+
+/* Add 2 * 16px extra width for touch mode button padding. */
+#appMenu-popup[touchmode] panelview {
+ min-width: calc(var(--menu-panel-width) + 32px);
+}
+
+.cui-widget-panel.cui-widget-panelWithFooter::part(content) {
+ padding-bottom: 0;
+}
+
+.toolbaritem-combined-buttons:is(:not([cui-areatype="toolbar"]),[overflowedItem=true]) > toolbarbutton > .toolbarbutton-icon {
+ min-width: 0;
+ min-height: 0;
+ margin: 0;
+}
+
+.animate-out {
+ animation-name: widget-animate-out;
+ animation-fill-mode: forwards;
+ animation-duration: 500ms;
+ animation-timing-function: var(--animation-easing-function);
+}
+
+@keyframes widget-animate-out {
+ 0% {
+ opacity: 1;
+ transform: scale(1);
+ }
+ 100% {
+ opacity: 0 ;
+ transform: scale(.5);
+ }
+}
+
+toolbarpaletteitem[place="menu-panel"] > .toolbarbutton-1 {
+ flex: 1;
+}
+
+/* Help webextension buttons fit in. */
+toolbarpaletteitem[place="palette"] > toolbarbutton[constrain-size="true"] > .toolbarbutton-icon,
+toolbarpaletteitem[place="palette"] > toolbarbutton[constrain-size="true"] > .toolbarbutton-badge-stack > .toolbarbutton-icon,
+toolbarbutton[constrain-size="true"][cui-areatype="menu-panel"] > .toolbarbutton-icon,
+toolbarbutton[constrain-size="true"][cui-areatype="menu-panel"] > .toolbarbutton-badge-stack > .toolbarbutton-icon {
+ height: var(--panel-palette-icon-size);
+ width: var(--panel-palette-icon-size);
+}
+
+#customization-palette .toolbarbutton-1 {
+ appearance: none;
+ flex-direction: column;
+ padding: 12px 0 9px;
+ margin: 0;
+}
+
+/* above we treat the container as the icon for the margins, that is so the
+/* badge itself is positioned correctly. Here we make sure that the icon itself
+/* has the minimum size we want, but no padding/margin. */
+.customization-palette .toolbarbutton-1 > .toolbarbutton-badge-stack > .toolbarbutton-icon {
+ width: var(--panel-palette-icon-size);
+ height: var(--panel-palette-icon-size);
+ min-width: var(--panel-palette-icon-size);
+ min-height: var(--panel-palette-icon-size);
+ margin: 0;
+ padding: 0;
+}
+
+#zoom-in-button > .toolbarbutton-text,
+#zoom-out-button > .toolbarbutton-text,
+#zoom-reset-button > .toolbarbutton-icon {
+ display: none;
+}
+
+#customization-palette .toolbarbutton-text {
+ display: none;
+}
+
+menuitem.subviewbutton {
+ appearance: none !important;
+}
+
+.subviewbutton > .menu-text {
+ appearance: none;
+ margin-inline-start: 0 !important;
+}
+
+.subview-subheader,
+panelview .toolbarbutton-1,
+.subviewbutton,
+menu.subviewbutton,
+.widget-overflow-list .toolbarbutton-1 {
+ appearance: none;
+ margin: var(--appmenu-button-margin);
+ min-height: 24px;
+ padding-inline: 8px;
+ padding-block: var(--appmenu-button-padding);
+ border-radius: var(--arrowpanel-menuitem-border-radius);
+ background-color: transparent;
+}
+
+.subviewbutton:focus {
+ outline: 0;
+}
+
+.subviewbutton[disabled="true"],
+.subviewbutton[disabled="true"]:hover,
+.subviewbutton[checked="true"][disabled="true"],
+.subviewbutton[checked="true"][disabled="true"]:hover {
+ color: var(--text-color-deemphasized);
+ background-color: transparent;
+}
+
+.subviewbutton > .toolbarbutton-text {
+ padding: 0;
+ padding-inline-start: 24px; /* This is 16px for the icon + 8px for the padding as defined below. */
+}
+
+.addon-banner-item > .toolbarbutton-text,
+.subviewbutton-iconic > .toolbarbutton-text,
+.subviewbutton[image] > .toolbarbutton-text,
+.subviewbutton[targetURI] > .toolbarbutton-text,
+.subviewbutton.restoreallitem > .toolbarbutton-text,
+.subviewbutton.bookmark-item > .toolbarbutton-text,
+.subviewbutton[checked="true"] > .toolbarbutton-text {
+ padding-inline-start: 8px; /* See '.subviewbutton-iconic > .toolbarbutton-text' rule above. */
+}
+
+.addon-banner-item > .toolbarbutton-icon,
+.subviewbutton-iconic > .toolbarbutton-icon {
+ width: 16px;
+ height: 16px;
+ -moz-context-properties: fill, stroke;
+}
+
+.addon-banner-item > .toolbarbutton-icon {
+ fill: color-mix(in srgb, currentColor 20%, transparent);
+ stroke: currentColor;
+}
+
+.subviewbutton-iconic > .toolbarbutton-icon {
+ fill: var(--appmenu-icons-fill);
+ stroke: var(--appmenu-icons-stroke);
+}
+
+/* We don't always display: none this item, and if it has forced width (like above)
+ * or margin, that impacts the position of the label. Fix:
+ */
+.subviewbutton > .toolbarbutton-icon {
+ margin: 0;
+}
+
+.subviewbutton.panel-subview-footer > .menu-text {
+ appearance: none;
+ padding-inline-start: 0 !important; /* to override menu.css on Windows */
+ padding-inline-end: 6px;
+ flex: 0 0;
+}
+
+.subviewbutton.panel-subview-footer > .toolbarbutton-text {
+ padding-inline-start: 0;
+}
+
+.subviewbutton[shortcut]::after {
+ content: attr(shortcut);
+ float: inline-end;
+}
+
+.PanelUI-subView .subviewbutton-nav::after {
+ -moz-context-properties: stroke, fill-opacity;
+ content: var(--icon-nav-right-sm);
+ stroke: currentColor;
+ fill-opacity: 0.6;
+ float: inline-end;
+}
+
+.PanelUI-subView .subviewbutton-nav:-moz-locale-dir(rtl)::after {
+ content: var(--icon-nav-left-sm);
+}
+
+.subviewbutton[shortcut]::after,
+.subviewbutton[shortcut]::after,
+.PanelUI-subView .subviewbutton-nav::after {
+ margin-inline-start: 10px;
+}
+
+.subviewbutton[checked="true"] {
+ list-style-image: var(--icon-check);
+ -moz-context-properties: stroke;
+ stroke: currentColor;
+ color: inherit;
+}
+
+#appMenu-popup .toolbaritem-combined-buttons {
+ align-items: center;
+ flex-direction: row;
+ border: 0;
+ border-radius: 0;
+ margin-inline-end: 6px;
+ padding-block: 0;
+}
+
+panelmultiview .toolbaritem-combined-buttons > label {
+ flex: 1;
+ margin: 0;
+ padding-inline-start: 4px;
+}
+
+panelmultiview .toolbaritem-combined-buttons > spacer.before-label {
+ width: 36px; /* 12px toolbarbutton padding + 16px icon + 8px label padding start */
+}
+
+panelmultiview .toolbaritem-combined-buttons > spacer.after-label {
+ flex: 1;
+ width: 20px; /* a little bigger than the width of the scrollbar */
+}
+
+.PanelUI-subView .toolbaritem-combined-buttons > .subviewbutton {
+ flex: 0 0;
+ height: auto;
+ margin-inline-start: 18px;
+ min-width: auto;
+ padding-inline: 5px;
+ padding-block: var(--appmenu-button-padding);
+ --focus-outline-offset: 1px;
+}
+
+.PanelUI-subView .toolbaritem-combined-buttons > .subviewbutton-iconic {
+ padding-inline: var(--appmenu-button-padding);
+}
+
+.PanelUI-subView .toolbaritem-combined-buttons > .subviewbutton-iconic > .toolbarbutton-text,
+.PanelUI-subView .toolbaritem-combined-buttons > .subviewbutton:not(.subviewbutton-iconic) >
+ .toolbarbutton-icon {
+ display: none;
+}
+
+.toolbaritem-combined-buttons > .subviewbutton:not(.subviewbutton-iconic) > .toolbarbutton-text {
+ padding-inline-start: 0;
+}
+
+.PanelUI-subView .toolbaritem-combined-buttons > .subviewbutton[type="radio"] {
+ margin-inline-start: 0;
+ margin-block: 1px;
+ padding: var(--appmenu-combined-radio-button-padding);
+ min-height: 22px;
+ border: 1px solid var(--appmenu-button-border-color);
+ border-radius: 0;
+}
+
+.PanelUI-subView .toolbaritem-combined-buttons > .subviewbutton[type="radio"]:focus {
+ outline: var(--focus-outline);
+ outline-offset: var(--focus-outline-offset);
+}
+
+.PanelUI-subView .toolbaritem-combined-buttons > .subviewbutton[type="radio"]:first-of-type {
+ border-inline-end: none;
+ border-start-start-radius: var(--arrowpanel-menuitem-border-radius);
+ border-end-start-radius: var(--arrowpanel-menuitem-border-radius);
+}
+
+.PanelUI-subView .toolbaritem-combined-buttons > .subviewbutton[type="radio"]:last-of-type {
+ border-inline-start: none;
+ border-start-end-radius: var(--arrowpanel-menuitem-border-radius);
+ border-end-end-radius: var(--arrowpanel-menuitem-border-radius);
+}
+
+.PanelUI-subView .toolbaritem-combined-buttons > .subviewbutton[type="radio"][checked="true"] {
+ --appmenu-icons-fill: color-mix(in srgb, currentColor 20%, transparent);
+ --appmenu-icons-stroke: currentColor;
+ background-color: var(--select-focus-background-color);
+ color: var(--select-focus-text-color);
+}
+
+.subview-subheader {
+ font-size: inherit;
+ font-weight: inherit;
+ color: var(--text-color-deemphasized);
+}
+
+panelview .toolbarbutton-1 {
+ margin-top: 6px;
+}
+
+panelview .toolbarbutton-1:not([disabled],[open],:active):is(:hover,:focus-visible),
+toolbarbutton.subviewbutton:not([disabled],[open],:active):is(:hover,:focus-visible),
+menu.subviewbutton:not([disabled],:active)[_moz-menuactive],
+menuitem.subviewbutton:not([disabled],:active)[_moz-menuactive],
+.widget-overflow-list .toolbarbutton-1:not([disabled],[open],:active):is(:hover,:focus-visible),
+.toolbaritem-combined-buttons:is(:not([cui-areatype="toolbar"]),[overflowedItem=true]) >
+ toolbarbutton:not([disabled],[open],:active):is(:hover,:focus-visible) {
+ color: inherit;
+ background-color: var(--arrowpanel-dimmed);
+}
+
+panelview .toolbarbutton-1:not([disabled]):is([open],:hover:active),
+toolbarbutton.subviewbutton:not([disabled]):is([open],:hover:active),
+menu.subviewbutton:not([disabled])[_moz-menuactive]:active,
+menuitem.subviewbutton:not([disabled])[_moz-menuactive]:active,
+.widget-overflow-list .toolbarbutton-1:not([disabled]):is([open],:hover:active),
+.toolbaritem-combined-buttons:is(:not([cui-areatype="toolbar"]),[overflowedItem=true]) >
+ toolbarbutton:not([disabled]):is([open],:hover:active) {
+ color: inherit;
+ background-color: var(--arrowpanel-dimmed-further);
+ box-shadow: 0 1px 0 hsla(210,4%,10%,.03) inset;
+}
+
+.subviewbutton.panel-subview-footer {
+ margin: 0;
+ background-color: var(--arrowpanel-dimmed);
+ border-top: 1px solid var(--panel-separator-color);
+ border-radius: 0;
+}
+
+menuitem.panel-subview-footer:not([disabled],:active)[_moz-menuactive],
+.subviewbutton.panel-subview-footer:not([disabled],[open],:active):is(:hover,:focus-visible) {
+ background-color: var(--arrowpanel-dimmed-further);
+}
+
+menuitem.panel-subview-footer:not([disabled])[_moz-menuactive]:active,
+.subviewbutton.panel-subview-footer:not([disabled]):is([open],:hover:active) {
+ background-color: var(--arrowpanel-dimmed-even-further);
+ box-shadow: 0 1px 0 hsla(210,4%,10%,.05) inset;
+}
+
+#widget-overflow-mainView > .panel-subview-body > toolbarseparator,
+.PanelUI-subView menuseparator,
+.PanelUI-subView toolbarseparator,
+.cui-widget-panelview menuseparator,
+.cui-widget-panel toolbarseparator {
+ appearance: none;
+ min-height: 0;
+ border-top: 1px solid var(--panel-separator-color);
+ border-bottom: none;
+ margin: var(--panel-separator-margin);
+ padding: 0;
+}
+
+.PanelUI-subView toolbarseparator[orient="vertical"] {
+ height: 24px;
+ border-inline-start: 1px solid var(--panel-separator-color);
+ border-top: none;
+ margin: 0;
+ margin-inline: 6px 7px;
+}
+
+#search-container[cui-areatype="menu-panel"] {
+ padding-block: 6px;
+}
+
+toolbarpaletteitem[place="palette"] > #search-container {
+ min-width: 7em;
+ width: 7em;
+ min-height: 37px;
+ max-height: 37px;
+}
+
+.toolbaritem-combined-buttons:is(:not([cui-areatype="toolbar"]),[overflowedItem=true]) > toolbarbutton {
+ border: 0;
+ margin: 0;
+ flex: 1;
+ padding-block: 4px;
+ flex-direction: row;
+}
+
+/* In customize mode, extend the buttons *only* in the panel, just to make them not look stupid */
+toolbarpaletteitem[place="menu-panel"] > .toolbaritem-combined-buttons > toolbarbutton {
+ min-width: var(--menu-panel-button-width);
+ max-width: var(--menu-panel-button-width);
+}
+
+.toolbaritem-combined-buttons:is(:not([cui-areatype="toolbar"]),[overflowedItem=true]) > toolbarbutton:not(.toolbarbutton-1)[disabled] {
+ opacity: 0.4;
+ /* Override toolbarbutton.css which sets the color to GrayText */
+ color: inherit;
+}
+
+.toolbaritem-combined-buttons:is(:not([cui-areatype="toolbar"]),[overflowedItem=true]) > separator {
+ appearance: none;
+ align-items: stretch;
+ margin: .5em 0;
+ width: 1px;
+ height: auto;
+ background: var(--panel-separator-color);
+ transition-property: margin;
+ transition-duration: 10ms;
+ transition-timing-function: ease;
+}
+
+.toolbaritem-combined-buttons:is(:not([cui-areatype="toolbar"]),[overflowedItem=true]):hover > separator {
+ margin: 0;
+}
+
+#widget-overflow-mainView .panel-subview-body {
+ overflow-y: auto;
+ overflow-x: hidden;
+}
+
+.widget-overflow-list {
+ width: var(--wide-menu-panel-width);
+}
+
+/* In customize mode, the overflow list is constrained by its container,
+ * so we set width: auto to avoid the scrollbar not fitting.
+ */
+#customization-panelHolder > .widget-overflow-list {
+ width: auto;
+}
+
+toolbaritem[overflowedItem=true],
+.widget-overflow-list .toolbarbutton-1 {
+ width: 100%;
+ max-width: var(--wide-menu-panel-width);
+ background-repeat: no-repeat;
+ background-position: 0 center;
+}
+
+.widget-overflow-list .toolbarbutton-1 {
+ align-items: center;
+ flex-direction: row;
+}
+
+.widget-overflow-list .subviewbutton-nav::after {
+ margin-inline-start: 10px;
+ -moz-context-properties: stroke, fill-opacity;
+ content: var(--icon-nav-right-sm);
+ stroke: currentColor;
+ fill-opacity: 0.6;
+ float: inline-end;
+}
+
+.widget-overflow-list .subviewbutton-nav:-moz-locale-dir(rtl)::after {
+ content: var(--icon-nav-left-sm);
+}
+
+toolbarpaletteitem[place="menu-panel"] > .subviewbutton-nav::after {
+ opacity: 0.5;
+}
+
+.widget-overflow-list .toolbarbutton-1:not(.toolbarbutton-combined) > .toolbarbutton-text {
+ text-align: start;
+ padding-inline-start: .5em;
+}
+
+.subviewradio {
+ appearance: none;
+ align-items: center;
+ padding: 1px;
+ margin: 0 0 2px;
+ background-color: transparent;
+ border-radius: 2px;
+ border: 1px solid transparent;
+}
+
+.subviewradio:not([disabled],[open],:active):is(:hover,:focus-visible) {
+ background-color: var(--arrowpanel-dimmed);
+ border-color: var(--panel-separator-color);
+}
+
+.subviewradio[selected],
+.subviewradio[selected]:hover,
+.subviewradio:not([disabled]):is([open],:hover:active) {
+ background-color: var(--arrowpanel-dimmed-further);
+ border-color: var(--panel-separator-color);
+ box-shadow: 0 1px 0 hsla(210,4%,10%,.03) inset;
+}
+
+.subviewradio > .radio-check {
+ appearance: none;
+ width: 16px;
+ height: 16px;
+ border: 1px solid #e7e7e7;
+ border-radius: 50%;
+ margin: 1px 5px;
+ background-color: #f1f1f1;
+}
+
+.subviewradio > .radio-check[selected] {
+ background-color: #fff;
+ border: 4px solid #177ee6;
+}
+
+.panel-header {
+ align-items: center;
+ border-bottom: 1px solid var(--panel-separator-color);
+ display: flex;
+ height: 40px; /* fixed item height to prevent flex sizing; height + 2*4px padding */
+ padding: 4px;
+}
+
+.panel-header > h1 {
+ display: inline;
+ flex: auto;
+ font-size: inherit;
+ font-weight: 600;
+ margin: 0;
+ text-align: center;
+}
+
+.panel-header > h1 > span {
+ display: inline-block;
+ white-space: pre-wrap;
+}
+
+.panel-header > .subviewbutton-back + h1 {
+ /* Add the size of the back button to center properly. */
+ margin-inline-end: 32px;
+}
+
+.panel-header > .subviewbutton-back {
+ -moz-context-properties: stroke;
+ stroke: var(--arrowpanel-color);
+ list-style-image: var(--icon-nav-left-sm);
+ padding: 10px;
+}
+
+.subviewbutton-back {
+ transform: translateY(1px);
+ margin: 0 4px;
+}
+
+.subviewbutton-back:-moz-locale-dir(rtl) {
+ list-style-image: var(--icon-nav-right-sm);
+}
+
+.panel-header > .subviewbutton-back > .toolbarbutton-icon {
+ width: 12px;
+ height: 12px;
+}
+
+.subviewbutton-back > .toolbarbutton-text {
+ /* !important to override .cui-widget-panel .toolbarbutton-text
+ * selector further down. */
+ display: none !important;
+}
+
+.subviewbutton.download {
+ align-items: flex-start;
+ min-height: 48px;
+ padding-inline-start: 8px;
+}
+
+.subviewbutton.download > .toolbarbutton-icon,
+.subviewbutton.download > .toolbarbutton-text > label {
+ margin: 4px 0 0;
+}
+
+.subviewbutton.download > .toolbarbutton-icon {
+ width: 32px;
+ height: 32px;
+}
+
+.subviewbutton.download > .toolbarbutton-text > .status-text {
+ color: var(--text-color-deemphasized);
+ font-size: .9em;
+}
+
+.button-appmenu[badge-status] > .toolbarbutton-badge-stack > .toolbarbutton-badge {
+ display: flex;
+ background: center no-repeat transparent;
+ background-size: contain;
+ border: none;
+ box-shadow: none;
+}
+
+.button-appmenu[badge-status="update-available"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
+.button-appmenu[badge-status="update-downloading"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
+.button-appmenu[badge-status="update-manual"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
+.button-appmenu[badge-status="update-other-instance"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
+.button-appmenu[badge-status="update-restart"] > .toolbarbutton-badge-stack > .toolbarbutton-badge {
+ margin-top: -3px !important;
+ margin-inline-end: -2px !important;
+ min-width: 12px;
+ min-height: 12px;
+ -moz-context-properties: fill;
+ fill: var(--color-green-60);
+ background-image: var(--icon-notification-sm);
+ background-size: 12px;
+}
+
+.button-appmenu[badge-status="addon-alert"] > .toolbarbutton-badge-stack > .toolbarbutton-badge {
+ height: 12px;
+ margin-inline-end: -5px !important;
+ background-image: var(--icon-warning-sm);
+ box-shadow: none;
+ border-radius: 0;
+ -moz-context-properties: fill, stroke;
+ fill: var(--color-amber-30);
+ stroke: var(--color-amber-60);
+}
+
+.button-appmenu:focus-visible {
+ outline: var(--focus-outline);
+ outline-offset: var(--focus-outline-offset);
+}
+
+/* Main menu banner menuitems */
+
+.panel-banner-item {
+ appearance: none;
+ align-items: flex-start;
+ margin: var(--appmenu-button-margin);
+ padding-inline: 8px;
+ padding-block: calc(var(--appmenu-button-padding) + 3px);
+ border-radius: var(--arrowpanel-menuitem-border-radius);
+ color: var(--button-color);
+ background-color: color-mix(in srgb, currentColor 7%, transparent);;
+ margin-bottom: 4px;
+ font-weight: 600;
+}
+
+.panel-banner-item:not([disabled]):hover {
+ background-color: var(--arrowpanel-dimmed);
+}
+
+.panel-banner-item:not([disabled]):hover:active {
+ background-color: var(--arrowpanel-dimmed-further);
+}
+
+.panel-banner-item > .toolbarbutton-text {
+ display: inline-block;
+ padding: 0;
+}
+
+.panel-banner-item > .toolbarbutton-icon {
+ width: 16px;
+ height: 16px;
+ /* Move the icon to appear after the text label. */
+ order: 2;
+}
+
+.panel-banner-item[notificationid="update-available"] > .toolbarbutton-icon,
+.panel-banner-item[notificationid="update-downloading"] > .toolbarbutton-icon,
+.panel-banner-item[notificationid="update-manual"] > .toolbarbutton-icon,
+.panel-banner-item[notificationid="update-other-instance"] > .toolbarbutton-icon,
+.panel-banner-item[notificationid="update-restart"] > .toolbarbutton-icon {
+ background-image: url(chrome://messenger/skin/icons/app-update-badge.svg);
+ background-repeat: no-repeat;
+ background-position: center;
+ margin-inline-start: 6px;
+ -moz-context-properties: fill;
+ fill: var(--color-green-60);
+}
+
+.addon-banner-item {
+ appearance: none;
+ font-weight: 600;
+ margin: 0 8px 4px;
+ padding-inline: 8px;
+ padding-block: var(--appmenu-button-padding);
+ box-sizing: border-box;
+ box-shadow: none;
+ color: var(--appmenu-warning-color);
+ background-color: var(--appmenu-warning-background-color);
+ border-top: 1px solid var(--appmenu-warning-border-color);
+ border-inline: 1px solid var(--appmenu-warning-border-color);
+ border-radius: var(--arrowpanel-menuitem-border-radius);
+ transition: background-color;
+ -moz-context-properties: fill, stroke;
+ fill: color-mix(in srgb, var(--appmenu-warning-color) 20%, transparent);
+ stroke: var(--appmenu-warning-color);
+}
+
+.addon-banner-item::after {
+ content: "";
+ width: 16px;
+ height: 16px;
+ margin-inline: 10px 0;
+ display: flex;
+ background: var(--icon-warning) no-repeat center;
+}
+
+:root[lwt-popup-brighttext] .addon-banner-item::after {
+ -moz-context-properties: fill;
+ fill: var(--color-amber-30);
+}
+
+.addon-banner-item:last-child {
+ border-bottom: 1px solid var(--appmenu-warning-border-color);
+}
+
+.addon-banner-item:focus,
+.addon-banner-item:hover {
+ background-color: var(--appmenu-warning-background-color-hover);
+}
+
+.addon-banner-item:hover:active {
+ background-color: var(--appmenu-warning-background-color-active);
+}
+
+menulist {
+ border: 1px solid var(--button-border-color);
+ background-color: var(--button-background-color);
+}
+
+menulist:not([disabled="true"],[open="true"]):hover,
+menulist[open="true"]:not([disabled="true"]) {
+ background-color: var(--button-hover-background-color);
+ border-color: var(--button-border-color);
+}
+
+/* App Menu items icons */
+
+/* Sync */
+
+#appmenu_signin {
+ list-style-image: var(--icon-sync);
+}
+
+#appmenu-submenu-sync-now{
+ list-style-image: var(--icon-sync);
+}
+
+#appmenu-submenu-sync-settings {
+ list-style-image: var(--icon-settings);
+}
+
+#appmenu-submenu-sync-sign-out{
+ list-style-image: var(--icon-quit);
+}
+
+#syncSeparator {
+ background-color: var(--color-blue-50);
+ background-image: linear-gradient(to right, var(--color-teal-40), var(--color-magenta-60));
+ height: 1px;
+ border: none;
+ border-radius: 2px;
+}
+
+#appmenu-manage-sync-icon {
+ content: var(--icon-contact);
+}
+
+.appmenu-sync-account-email {
+ font-weight: 600;
+}
+
+@keyframes syncRotate {
+ from { transform: rotate(0); }
+ to { transform: rotate(360deg); }
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ #appmenu-submenu-sync-now[syncstatus="active"] > .toolbarbutton-icon {
+ animation: syncRotate 0.8s linear infinite;
+ }
+}
+
+/* New Account and Create */
+
+#appmenu_new {
+ list-style-image: var(--icon-new-contact);
+}
+
+#appmenu_create {
+ list-style-image: var(--icon-add);
+}
+
+#appmenu_newNewMsgCmd,
+#appmenu_newCreateEmailAccountMenuItem {
+ list-style-image: var(--icon-new-mail);
+}
+
+#appmenu_newMailAccountMenuItem {
+ list-style-image: var(--icon-mail);
+}
+
+#appmenu_calendar-new-calendar-menu-item {
+ list-style-image: var(--icon-calendar);
+}
+
+#appmenu_newAB {
+ list-style-image: var(--icon-address-book);
+}
+
+#appmenu_newABMenuItem,
+#appmenu_newCardDAVMenuItem,
+#appmenu_newLdapMenuItem {
+ list-style-image: var(--icon-new-address-book);
+}
+
+#appmenu_newIMAccountMenuItem {
+ list-style-image: var(--icon-chat);
+}
+
+#appmenu_newFeedAccountMenuItem {
+ list-style-image: var(--icon-rss);
+}
+
+#appmenu_newNewsgroupAccountMenuItem {
+ list-style-image: var(--icon-newsletter);
+}
+
+#appmenu_calendar-new-event-menu-item {
+ list-style-image: var(--icon-new-event);
+}
+
+#appmenu_calendar-new-task-menu-item {
+ list-style-image: var(--icon-new-task);
+}
+
+#appmenu_open {
+ list-style-image: var(--icon-draft);
+}
+
+#appmenu_OpenMessageFileMenuitem {
+ list-style-image: var(--icon-mail);
+}
+
+#appmenu_OpenCalendarFileMenuitem {
+ list-style-image: var(--icon-calendar);
+}
+
+#appmenu_View {
+ list-style-image: var(--icon-eye);
+}
+
+#appmenu_Toolbars {
+ list-style-image: var(--icon-spaces-menu);
+}
+
+#appmenu_MessagePaneLayout {
+ list-style-image: var(--icon-layout);
+}
+
+#appmenu_FolderViews {
+ list-style-image: var(--icon-folder);
+}
+
+#appMenu-uiDensity-controls .toolbarbutton-icon {
+ content: var(--icon-spaces-menu);
+}
+
+#appMenu-fontSize-controls .toolbarbutton-icon {
+ content: var(--icon-font);
+}
+
+#appmenu_newCard {
+ list-style-image: var(--icon-new-contact);
+}
+
+/* Settings */
+
+#appmenu_addons {
+ list-style-image: var(--icon-extension);
+}
+
+#appmenu_accountmgr {
+ list-style-image: var(--icon-account-settings);
+}
+
+#appmenu_preferences {
+ list-style-image: var(--icon-settings);
+}
+
+/* Density Settings */
+
+#appmenu_uiDensityCompact {
+ list-style-image: var(--icon-density-compact);
+}
+
+#appmenu_uiDensityNormal {
+ list-style-image: var(--icon-density-default);
+}
+
+#appmenu_uiDensityTouch {
+ list-style-image: var(--icon-density-relaxed);
+}
+
+/* Font scaling */
+
+#appMenu-fontSizeReduce-button {
+ list-style-image: var(--font-size-decrease);
+}
+#appMenu-fontSizeEnlarge-button {
+ list-style-image: var(--font-size-increase);
+}
+
+#appMenu-fontSizeReduce-button:hover,
+#appMenu-fontSizeReduce-button:focus,
+#appMenu-fontSizeReduce-button:active,
+#appMenu-fontSizeReset-button:hover,
+#appMenu-fontSizeReset-button:focus,
+#appMenu-fontSizeReset-button:active,
+#appMenu-fontSizeEnlarge-button:hover,
+#appMenu-fontSizeEnlarge-button:focus,
+#appMenu-fontSizeEnlarge-button:active,
+#appMenu-fullscreen-button:hover,
+#appMenu-fullscreen-button:focus,
+#appMenu-fullscreen-button:active {
+ color: unset;
+ background-color: unset;
+ box-shadow: unset;
+}
+
+#appMenu-fontSizeReduce-button > .toolbarbutton-icon,
+#appMenu-fontSizeEnlarge-button > .toolbarbutton-icon {
+ width: var(--appmenu-fontsize-icon-size);
+ height: var(--appmenu-fontsize-icon-size);
+ -moz-context-properties: fill, stroke;
+ fill: var(--button-background-color, ButtonFace);
+ stroke: var(--button-color);
+ border-radius: 50%;
+ margin-block-start: 1px;
+ padding: 0;
+}
+
+/* Compensate the smaller icon. */
+#appMenu-fontSizeEnlarge-button > .toolbarbutton-icon {
+ margin-inline-end: -2px;
+}
+
+:root[uidensity="compact"] #appMenu-fontSizeEnlarge-button > .toolbarbutton-icon {
+ margin-inline-end: -1px;
+}
+
+#appMenu-fontSizeReset-button > .toolbarbutton-text {
+ display: flex;
+ justify-content: center;
+ border: 1px solid var(--appmenu-button-border-color);
+ border-radius: 2px;
+ min-width: var(--appmenu-fontsize-reset-button-width);
+ text-align: center;
+ padding: 2px;
+}
+
+#appMenu-fontSizeReset-button:hover > .toolbarbutton-text {
+ background-color: var(--button-hover-background-color);
+}
+#appMenu-fontSizeReduce-button:hover > .toolbarbutton-icon,
+#appMenu-fontSizeEnlarge-button:hover > .toolbarbutton-icon {
+ fill: var(--button-hover-background-color);
+}
+
+#appMenu-fontSizeReset-button:active > .toolbarbutton-text {
+ background-color: var(--button-active-background-color);
+}
+#appMenu-fontSizeReduce-button:active > .toolbarbutton-icon,
+#appMenu-fontSizeEnlarge-button:active > .toolbarbutton-icon {
+ fill: var(--button-active-background-color);
+}
+
+#appMenu-fontSizeReset-button:focus > .toolbarbutton-text,
+#appMenu-fontSizeReduce-button:focus > .toolbarbutton-icon,
+#appMenu-fontSizeEnlarge-button:focus > .toolbarbutton-icon {
+ outline: var(--focus-outline);
+ outline-offset: var(--focus-outline-offset);
+}
+
+#appMenu-fontSize-controls > .subviewbutton {
+ margin-inline-start: 2px;
+ padding: 3px;
+}
+
+#appMenu-fontSize-controls > #appMenu-fontSizeEnlarge-button {
+ padding-inline-end: 0;
+}
+
+:root[uidensity="compact"] #appMenu-fontSizeReduce-button > .toolbarbutton-icon,
+:root[uidensity="compact"] #appMenu-fontSizeEnlarge-button > .toolbarbutton-icon {
+ margin-block-start: 2px;
+}
+
+/* Tools */
+
+#appmenu_import {
+ list-style-image: var(--icon-import);
+}
+
+#appmenu_export {
+ list-style-image: var(--icon-export);
+}
+
+#appmenu_searchCmd {
+ list-style-image: var(--icon-search);
+}
+
+#appmenu_filtersCmd {
+ list-style-image: var(--icon-filter);
+}
+
+#appmenu_openSavedFilesWnd {
+ list-style-image: var(--icon-download);
+}
+
+#appmenu_manageKeysOpenPGP {
+ list-style-image: var(--icon-key);
+}
+
+#appmenu_activityManager {
+ list-style-image: var(--icon-paste);
+}
+
+#appmenu_toolsMenu,
+#appmenu_devtoolsToolbox {
+ list-style-image: var(--icon-tools);
+}
+
+/* Help */
+
+#appmenu_help,
+#appmenu_openHelp {
+ list-style-image: var(--icon-question);
+}
+
+#appmenu_openTour {
+ list-style-image: var(--icon-features);
+}
+
+#appmenu_keyboardShortcuts {
+ list-style-image: var(--icon-shortcut);
+}
+
+#appmenu_getInvolved {
+ list-style-image: var(--icon-handshake);
+}
+
+#appmenu_makeDonation {
+ list-style-image: var(--icon-heart);
+}
+
+#appmenu_submitFeedback {
+ list-style-image: var(--icon-chat);
+}
+
+#appmenu_troubleshootMode {
+ list-style-image: var(--icon-tools);
+}
+
+#appmenu_troubleshootingInfo {
+ list-style-image: var(--icon-draft);
+}
+
+#appmenu_about {
+ list-style-image: var(--icon-info);
+}
+
+/* Quit */
+
+#appmenu-quit {
+ list-style-image: var(--icon-quit);
+}