fix some parsing errors etc. and make new HTML-based buttons with ::before work in...
[themes.git] / LCARStrek / browser / customizableui / panelUIOverlay.css
index eda8d08e6746da3283a24c5971e2e722c804593f..1fab05f38d6164399670364a82a4e35a5c540c0d 100644 (file)
@@ -4,42 +4,71 @@
 
 /* === BEGIN panelUIOverlay.inc.css === */
 
+:root {
+  --panel-ui-exit-subview-gutter-width: 38px;
+}
+
 #PanelUI-popup #PanelUI-contents:empty {
-    height: 128px;
+  height: 128px;
 }
 
 #PanelUI-popup #PanelUI-contents:empty::before {
   content: "";
-  background-image: url("chrome://browser/skin/customizableui/whimsy-bw.png");
+  background-image: url(chrome://browser/skin/customizableui/whimsy.png);
+  background-size: 64px 64px;
   display: block;
   width: 64px;
   height: 64px;
   position: absolute;
-  animation: moveX 3.05s linear 0s infinite alternate,
-             moveY 3.4s linear 0s infinite alternate;
+  transition: transform 1s ease-out;
+  animation: whimsyMoveX 3.05s linear 0s infinite alternate,
+             whimsyMoveY 3.4s linear 0s infinite alternate;
 }
 
-#PanelUI-popup #PanelUI-contents:empty:hover::before {
-  background-image: url("chrome://browser/skin/customizableui/whimsy.png");
+#PanelUI-popup #PanelUI-contents:not(:hover):empty::before {
+  filter: grayscale(100%);
+}
+
+#PanelUI-popup #PanelUI-contents:active:empty::before {
+  animation: whimsyMoveX 3.05s linear 0s infinite alternate,
+             whimsyMoveY 3.4s linear 0s infinite alternate,
+             whimsyRotate 1s linear 0s infinite normal;
+}
+
+#PanelUI-popup #PanelUI-contents:-moz-locale-dir(rtl):empty::before {
+  animation: whimsyMoveXRTL 3.05s linear 0s infinite alternate,
+             whimsyMoveY 3.4s linear 0s infinite alternate;
+}
+
+#PanelUI-popup #PanelUI-contents:-moz-locale-dir(rtl):active:empty::before {
+  animation: whimsyMoveXRTL 3.05s linear 0s infinite alternate,
+             whimsyMoveY 3.4s linear 0s infinite alternate,
+             whimsyRotate 1s linear 0s infinite normal;
 }
 
 @media (min-resolution: 2dppx) {
   #PanelUI-popup #PanelUI-contents:empty::before {
-    background-image: url("chrome://browser/skin/customizableui/whimsy-bw@2x.png");
-    background-size: 64px 64px;
-  }
-  #PanelUI-popup #PanelUI-contents:empty:hover::before {
     background-image: url("chrome://browser/skin/customizableui/whimsy@2x.png");
   }
 }
 
-@keyframes moveX {
+@keyframes whimsyMoveX {
   /* These values are adjusted for the padding on the panel. */
   from { margin-left: -9px; } to { margin-left: calc(100% - 55px); }
 }
-@keyframes moveY {
+
+@keyframes whimsyMoveXRTL {
+  /* These values are adjusted for the padding on the panel. */
+  from { margin-right: -9px; } to { margin-right: calc(100% - 55px); }
+}
+
+@keyframes whimsyMoveY {
   /* These values are adjusted for the padding and height of the panel. */
-  from { margin-top: -6px; } to { margin-top: 58px; }
+  from { margin-top: -.5em; } to { margin-top: calc(64px - .5em); }
+}
+
+@keyframes whimsyRotate {
+  to { transform: perspective(5000px) rotateY(360deg); }
 }
 
 #customization-panelHolder {
 #PanelUI-button:-moz-locale-dir(rtl) {
 }
 
+#PanelUI-menu-button[badge-status] > .toolbarbutton-badge-stack > .toolbarbutton-badge {
+  display: -moz-box;
+  height: 10px;
+  width: 10px;
+  background-size: contain;
+  border: none;
+}
+
+#PanelUI-menu-button[badge-status="update-succeeded"] > .toolbarbutton-badge-stack > .toolbarbutton-badge {
+  background: #008484 url(chrome://browser/skin/update-badge.svg) no-repeat center;
+  height: 13px;
+}
+
+#PanelUI-menu-button[badge-status="update-failed"] > .toolbarbutton-badge-stack > .toolbarbutton-badge {
+  background: #FF0000 url(chrome://browser/skin/update-badge-failed.svg) no-repeat center;
+  height: 13px;
+}
+
+#PanelUI-menu-button[badge-status="fxa-needs-authentication"] > .toolbarbutton-badge-stack > .toolbarbutton-badge {
+  background: transparent url(chrome://browser/skin/warning.svg) no-repeat center;
+  height: 13px;
+  box-shadow: none;
+}
+
+#PanelUI-menu-button[badge-status="fxa-needs-authentication"] > .toolbarbutton-badge-stack > .toolbarbutton-badge:-moz-window-inactive {
+}
+
 .panel-subviews {
   padding: 4px;
-  background-color: #000000;
-  -moz-margin-start: 38px;
+  -moz-margin-start: var(--panel-ui-exit-subview-gutter-width);
 }
 
 .panel-viewstack[viewtype="main"] > .panel-subviews {
@@ -83,11 +138,13 @@ panelmultiview[nosubviews=true] > .panel-viewcontainer > .panel-viewstack > .pan
 
 #PanelUI-popup .panel-subview-body {
   margin: -4px;
-  padding: 2px 4px;
+  padding: 4px 4px;
 }
 
 .panel-subview-header,
 .subviewbutton.panel-subview-footer {
+  box-sizing: border-box;
+/*  min-height: 41px; */
   padding: 3px;
 }
 
@@ -95,6 +152,7 @@ panelmultiview[nosubviews=true] > .panel-viewcontainer > .panel-viewstack > .pan
   margin: 0 0 4px;
   background-color: #A09090;
   color: #000000;
+  font-variant: small-caps;
   border-radius: 4px;
 }
 
@@ -117,16 +175,6 @@ panelmultiview[nosubviews=true] > .panel-viewcontainer > .panel-viewstack > .pan
   border-radius: 4px;
 }
 
-#app-extension-point-end > #PanelUI-menu-button {
-  padding: 2px 5px;
-}
-#app-extension-point-end > #PanelUI-menu-button .toolbarbutton-text {
-  display: none;
-}
-#app-extension-point-end > #PanelUI-menu-button .toolbarbutton-icon {
-  margin: 0;
-}
-
 #PanelUI-popup > arrowscrollbox > autorepeatbutton {
   display: none;
 }
@@ -189,7 +237,6 @@ panelmultiview[nosubviews=true] > .panel-viewcontainer > .panel-viewstack > .pan
 panelview:not([mainview]) .toolbarbutton-text,
 .cui-widget-panel toolbarbutton > .toolbarbutton-text {
   text-align: start;
-  -moz-padding-start: 8px;
   display: -moz-box;
 }
 
@@ -201,17 +248,17 @@ panelview:not([mainview]) .toolbarbutton-text,
   padding-bottom: 0;
 }
 
-.cui-widget-panel > :-moz-any(menu,menuitem):first-child {
+.cui-widget-panel > :-moz-any(menu,menuitem,toolbarbutton):first-child {
   border-radius: 4px 4px 0 0;
 }
 
-.cui-widget-panel > :-moz-any(menu,menuitem):last-child {
+.cui-widget-panel > :-moz-any(menu,menuitem,toolbarbutton):last-child {
   border-radius: 0 0 4px 4px;
 }
 
 #PanelUI-contents {
   display: block;
-  flex: auto;
+  flex: 1 0 auto;
   margin-left: auto;
   margin-right: auto;
   max-width: 22.35em;
@@ -247,8 +294,10 @@ toolbarpaletteitem[place="panel"]:not([haswideitem=true]) > .toolbarbutton-1 {
 }
 
 /* Help SDK buttons fit in. */
-toolbarpaletteitem[place="palette"] > toolbarbutton[sdk-button="true"] > .toolbarbutton-icon,
-toolbarbutton[sdk-button="true"][cui-areatype="menu-panel"] > .toolbarbutton-icon {
+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: 32px;
   width: 32px;
 }
@@ -307,7 +356,7 @@ toolbarbutton[sdk-button="true"][cui-areatype="menu-panel"] > .toolbarbutton-ico
   border-radius: 0 0 2px 0;
 }
 
-.panel-combined-button[disabled] > .toolbarbutton-icon {
+#main-window:not([customizing]) .panel-combined-button[disabled] > .toolbarbutton-icon {
 /*  opacity: .5; */
 }
 
@@ -330,7 +379,10 @@ toolbaritem[cui-areatype="menu-panel"][sdkstylewidget="true"] > iframe {
 
 #PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-contents-scroller > #PanelUI-contents > .panel-wide-item,
 #PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-contents-scroller > #PanelUI-contents > .toolbarbutton-1:not([panel-multiview-anchor="true"]),
-#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-fxa-status,
+#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-update-status,
+#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-footer-fxa > #PanelUI-fxa-status > #PanelUI-fxa-avatar,
+#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-footer-fxa > #PanelUI-fxa-status > #PanelUI-fxa-label,
+#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-footer-fxa > #PanelUI-fxa-icon,
 #PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-footer-inner > toolbarseparator,
 #PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-footer-inner > #PanelUI-customize,
 #PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-footer-inner > #PanelUI-help:not([panel-multiview-anchor="true"]) {
@@ -355,9 +407,10 @@ toolbaritem[cui-areatype="menu-panel"][sdkstylewidget="true"]:not(.panel-wide-it
 
 .panelUI-grid .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
 .panelUI-grid .toolbarbutton-1 > .toolbarbutton-icon,
-.panelUI-grid .toolbarbutton-1 > .toolbarbutton-badge-container,
+.panelUI-grid .toolbarbutton-1 > .toolbarbutton-badge-stack,
 .customization-palette .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
 .customization-palette .toolbarbutton-1 > .toolbarbutton-icon,
+.customization-palette .toolbarbutton-1 > .toolbarbutton-badge-stack,
 .panelUI-grid #bookmarks-toolbar-placeholder > .toolbarbutton-icon,
 .customization-palette #bookmarks-toolbar-placeholder > .toolbarbutton-icon,
 .panel-customization-placeholder-child > .toolbarbutton-icon {
@@ -381,7 +434,10 @@ toolbaritem[cui-areatype="menu-panel"][sdkstylewidget="true"]:not(.panel-wide-it
 /* 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 minum size we want, but no padding/margin. */
-.panelUI-grid .toolbarbutton-1 > .toolbarbutton-badge-container > .toolbarbutton-icon {
+.panelUI-grid .toolbarbutton-1 > .toolbarbutton-badge-stack > .toolbarbutton-icon,
+.customization-palette .toolbarbutton-1 > .toolbarbutton-badge-stack > .toolbarbutton-icon {
+  width: 32px;
+  height: 32px;
   min-width: 32px;
   min-height: 32px;
   margin: 0;
@@ -425,32 +481,85 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
   border-bottom-left-radius: 4px;
 }
 
-#PanelUI-footer-inner {
+#main-window[customizing] #PanelUI-footer-fxa > toolbarseparator {
+  display: none;
+}
+
+#PanelUI-footer-fxa:not([fxastatus="signedin"]) > toolbarseparator,
+#PanelUI-footer-fxa:not([fxastatus="signedin"]) > #PanelUI-fxa-icon,
+#PanelUI-footer-fxa:not([fxaprofileimage]) > #PanelUI-fxa-status > #PanelUI-fxa-avatar {
+  display: none;
+}
+
+#PanelUI-footer-fxa[fxastatus="error"] > #PanelUI-fxa-status::after {
+  content: url("chrome://browser/skin/warning.svg");
+  width: 47px;
+  padding-top: 1px;
+  display: block;
+  text-align: center;
+  position: relative;
+  top: 25%;
+}
+
+#PanelUI-update-status[update-status]::after {
+  content: "";
+  width: 14px;
+  height: 14px;
+  margin-right: 16.5px;
+  border-radius: 2px;
+  background-size: contain;
+  display: -moz-box;
+}
+
+#PanelUI-update-status[update-status="succeeded"]::after {
+  background-image: url(chrome://browser/skin/update-badge.svg);
+  background-color: #008484;
+}
+
+#PanelUI-update-status[update-status="failed"]::after {
+  background-image: url(chrome://browser/skin/update-badge-failed.svg);
+  background-color: #FF0000;
+}
+
+#PanelUI-fxa-status {
+  display: flex;
+  flex: 1 1 0%;
+  width: 1px;
+}
+
+#PanelUI-footer-inner,
+#PanelUI-footer-fxa:not([hidden]) {
   display: flex;
   border-top: 1px solid #9C9CFF;
 }
-+
-#PanelUI-multiView[viewtype="subview"] #PanelUI-footer-inner {
+
+#PanelUI-multiView[viewtype="subview"] #PanelUI-footer-inner,
+#PanelUI-multiView[viewtype="subview"] #PanelUI-footer-fxa {
   position: relative;
 }
 
-#PanelUI-footer-inner > toolbarseparator {
+#PanelUI-footer-inner > toolbarseparator,
+#PanelUI-footer-fxa > toolbarseparator {
   border: 0;
   border-left: 1px solid #9C9CFF;
   margin: 0;
 }
 
-#PanelUI-footer-inner:hover > toolbarseparator {
+#PanelUI-footer-inner:hover > toolbarseparator,
+#PanelUI-footer-fxa:hover > toolbarseparator {
 /*  margin: 0;*/
 }
 
+#PanelUI-update-status,
 #PanelUI-help,
-#PanelUI-fxa-status,
+#PanelUI-fxa-label,
+#PanelUI-fxa-icon,
 #PanelUI-customize,
 #PanelUI-quit {
   margin: 0;
-  padding: 10px 0;
-  min-height: 2em;
+  padding: 11px 0;
+  box-sizing: border-box;
+  min-height: 40px;
   box-shadow: none;
   border: none;
   border-radius: 0;
@@ -458,13 +567,13 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
   -moz-box-orient: horizontal;
 }
 
-#PanelUI-fxa-status {
+#PanelUI-update-status {
   border-top: 1px solid #9C9CFF;
   border-bottom: 1px solid transparent;
   margin-bottom: -1px;
 }
 
-#PanelUI-fxa-status > .toolbarbutton-text {
+#PanelUI-update-status > .toolbarbutton-text {
   width: 0; /* Fancy cropping solution for flexbox. */
 }
 
@@ -477,7 +586,8 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
   min-width: 44px;
 }
 
-#PanelUI-fxa-status > .toolbarbutton-text,
+#PanelUI-update-status > .toolbarbutton-text,
+#PanelUI-fxa-label > .toolbarbutton-text,
 #PanelUI-customize > .toolbarbutton-text {
   margin: 0;
   padding: 0 6px;
@@ -485,27 +595,59 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
 }
 
 #PanelUI-help > .toolbarbutton-text,
-#PanelUI-quit > .toolbarbutton-text {
+#PanelUI-quit > .toolbarbutton-text,
+#PanelUI-fxa-avatar > .toolbarbutton-text {
   display: none;
 }
 
+#PanelUI-update-status > .toolbarbutton-icon,
+#PanelUI-fxa-label > .toolbarbutton-icon,
+#PanelUI-fxa-icon > .toolbarbutton-icon,
+#PanelUI-customize > .toolbarbutton-icon,
 #PanelUI-help > .toolbarbutton-icon,
 #PanelUI-quit > .toolbarbutton-icon {
   -moz-margin-end: 0;
 }
 
+#PanelUI-fxa-icon {
+  -moz-padding-start: 15px;
+  -moz-padding-end: 15px;
+}
+
+#PanelUI-fxa-label,
 #PanelUI-customize {
   flex: 1;
   -moz-padding-start: 15px;
   -moz-border-start-style: none;
 }
 
-#PanelUI-fxa-status {
-  list-style-image: url("chrome://browser/skin/sync-horizontalbar.png");
+#PanelUI-footer-fxa[fxaprofileimage="set"] > #PanelUI-fxa-status > #PanelUI-fxa-label,
+#PanelUI-footer-fxa[fxaprofileimage="enabled"]:not([fxastatus="error"]) > #PanelUI-fxa-status > #PanelUI-fxa-label {
+  -moz-padding-start: 0px;
+}
+
+#PanelUI-update-status {
+  width: calc(22.35em + 30px);
+  -moz-padding-start: 15px;
+  -moz-border-start-style: none;
 }
 
-#PanelUI-fxa-status[status="active"] {
-  list-style-image: url("chrome://browser/skin/syncProgress-horizontalbar.png");
+#PanelUI-update-status {
+  list-style-image: url(chrome://branding/content/icon16.png);
+}
+
+#PanelUI-fxa-label,
+#PanelUI-fxa-icon {
+  list-style-image: url("chrome://browser/skin/syncFx-horizontalbar.png");
+}
+
+#PanelUI-footer-fxa[syncstatus="active"] > #PanelUI-fxa-icon {
+  list-style-image: url("chrome://browser/skin/syncFxProgress-horizontalbar.png");
+}
+
+#PanelUI-footer-fxa[fxastatus="migrate-signup"] > #PanelUI-fxa-status > #PanelUI-fxa-label,
+#PanelUI-footer-fxa[fxastatus="migrate-verify"] > #PanelUI-fxa-status > #PanelUI-fxa-label {
+  list-style-image: url(chrome://browser/skin/warning.svg);
 }
 
 #PanelUI-customize {
@@ -525,13 +667,50 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
   list-style-image: url("chrome://browser/skin/menuPanel-exit.png");
 }
 
-#PanelUI-fxa-status,
+#PanelUI-fxa-label,
+#PanelUI-fxa-icon,
 #PanelUI-customize,
 #PanelUI-help,
 #PanelUI-quit {
   -moz-image-region: rect(0, 16px, 16px, 0);
 }
 
+#PanelUI-footer-fxa[fxastatus="signedin"] > #PanelUI-fxa-status > #PanelUI-fxa-label > .toolbarbutton-icon,
+#PanelUI-footer-fxa[fxastatus="error"][fxaprofileimage="set"] > #PanelUI-fxa-status > #PanelUI-fxa-label > .toolbarbutton-icon {
+  display: none;
+}
+
+#PanelUI-footer-fxa[fxastatus="error"]:not([fxaprofileimage="set"]) > #PanelUI-fxa-status > #PanelUI-fxa-avatar {
+  display: none;
+}
+
+#PanelUI-fxa-avatar[disabled],
+#PanelUI-fxa-icon[disabled] {
+  display: none;
+}
+
+#PanelUI-fxa-status[disabled] {
+  pointer-events: none;
+}
+
+#PanelUI-fxa-avatar {
+  width: 32px;
+  height: 32px;
+  border-radius: 50%;
+  background-repeat: no-repeat;
+  background-position: 0 0;
+  background-size: contain;
+  align-self: center;
+  margin: 0px 7px;
+  padding: 0px;
+  border: 0px none;
+  -moz-margin-end: 0;
+}
+
+#PanelUI-footer-fxa[fxaprofileimage="enabled"] > #PanelUI-fxa-status > #PanelUI-fxa-avatar {
+  list-style-image: url(chrome://browser/skin/fxa/default-profile-image.svg);
+}
+
 #PanelUI-customize:hover,
 #PanelUI-help:not([disabled]):hover,
 #PanelUI-quit:not([disabled]):hover,
@@ -546,20 +725,65 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
   -moz-image-region: rect(0, 48px, 16px, 32px);
 }
 
-#PanelUI-fxa-status:not([disabled]):hover,
+#PanelUI-fxa-icon:not([disabled]):hover,
 #PanelUI-help:not([disabled]):hover,
 #PanelUI-customize:hover,
 #PanelUI-quit:not([disabled]):hover {
 }
 
-#PanelUI-fxa-status:not([disabled]):hover:active,
+#PanelUI-fxa-icon:not([disabled]):hover:active,
 #PanelUI-help:not([disabled]):hover:active,
 #PanelUI-customize:hover:active,
 #PanelUI-quit:not([disabled]):hover:active {
 }
 
 #PanelUI-fxa-status:not([disabled]):hover,
-#PanelUI-fxa-status:not([disabled]):hover:active {
+#PanelUI-fxa-status:not([disabled]):hover:active,
+#PanelUI-fxa-icon:not([disabled]):hover,
+#PanelUI-fxa-icon:not([disabled]):hover:active {
+}
+
+#PanelUI-footer-fxa[fxastatus="error"] {
+  background-color: #FF0000;
+  color: #000000;
+}
+
+#PanelUI-footer-fxa[fxastatus="error"] > #PanelUI-fxa-status:hover {
+  background-color: #FFCF00;
+}
+
+#PanelUI-footer-fxa[fxastatus="error"] > #PanelUI-fxa-status:hover:active {
+  background-color: #FF9F00;
+}
+
+#PanelUI-update-status {
+/*  color: black; */
+}
+
+#PanelUI-update-status[update-status="succeeded"] {
+  background-color: #008484;
+  color: #000000;
+}
+
+#PanelUI-update-status[update-status="succeeded"]:not([disabled]):hover {
+  background-color: #FFCF00;
+}
+
+#PanelUI-update-status[update-status="succeeded"]:not([disabled]):hover:active {
+  background-color: #FF9F00;
+}
+
+#PanelUI-update-status[update-status="failed"] {
+  background-color: #FF0000;
+  color: #000000;
+}
+
+#PanelUI-update-status[update-status="failed"]:not([disabled]):hover {
+  background-color: #FFCF00;
+}
+
+#PanelUI-update-status[update-status="failed"]:not([disabled]):hover:active {
+  background-color: #FF9F00;
 }
 
 #PanelUI-quit:not([disabled]):hover {
@@ -596,26 +820,26 @@ panelview .toolbarbutton-1,
 .subviewbutton,
 .widget-overflow-list .toolbarbutton-1,
 .panelUI-grid .toolbarbutton-1 > .toolbarbutton-menubutton-button,
+.share-provider-button,
 .toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > toolbarbutton {
-/*  padding: 2px 6px;
+/*  padding: 0 6px;
   background-color: hsla(210,4%,10%,0);
   border-radius: 2px;
   border-style: solid;
   border-color: hsla(210,4%,10%,0);*/
-  transition-property: background-color, border-color;
-  transition-duration: 150ms;
 }
 
 panelview .toolbarbutton-1,
 .subviewbutton,
 .widget-overflow-list .toolbarbutton-1,
+.share-provider-button,
 .toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > toolbarbutton {
   border-width: 0;
 }
 
 .subviewbutton.panel-subview-footer {
 /*  border-radius: 0; */
-  border: none;
+  margin: 2px 0 0;
 }
 
 .subviewbutton.panel-subview-footer > .menu-text {
@@ -640,14 +864,14 @@ panelview .toolbarbutton-1,
 }
 
 .subviewbutton:not(.panel-subview-footer) {
-/*  margin: 2px 0;*/
+  margin: 0;
 }
 
 .subviewbutton:not(.panel-subview-footer) > .toolbarbutton-text,
 /* Bookmark items need a more specific selector. */
 .PanelUI-subView .subviewbutton:not(.panel-subview-footer) > .menu-text,
 .PanelUI-subView .subviewbutton:not(.panel-subview-footer) > .menu-iconic-text {
-/*  font-size: 1.1em;*/
+/*  font: menu;*/
 }
 
 .PanelUI-subView .subviewbutton[shortcut]::after {
@@ -677,28 +901,30 @@ panelview .toolbarbutton-1,
 }
 
 /*
-panelview .toolbarbutton-1:not(:-moz-any([disabled],[checked="true"],[open],:active)):-moz-any(:hover,[_moz-menuactive]),
-toolbarbutton.subviewbutton:not(:-moz-any([disabled],[checked="true"],[open],:active)):-moz-any(:hover,[_moz-menuactive]),
+panelview .toolbarbutton-1:not(:-moz-any([disabled],[open],:active)):hover,
+toolbarbutton.subviewbutton:not(:-moz-any([disabled],[open],:active)):hover,
 menu.subviewbutton:not(:-moz-any([disabled],:active))[_moz-menuactive],
 menuitem.subviewbutton:not(:-moz-any([disabled],:active))[_moz-menuactive],
-.widget-overflow-list .toolbarbutton-1:not(:-moz-any([disabled],[checked="true"],[open],:active)):-moz-any(:hover,[_moz-menuactive]),
+.share-provider-button:not(:-moz-any([disabled],[open],:active)):hover,
+.widget-overflow-list .toolbarbutton-1:not(:-moz-any([disabled],[open],:active)):hover,
 .toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true])
     > toolbarbutton:not(:-moz-any([disabled],[checked="true"],[open],:active)):hover {
   background-color: hsla(210,4%,10%,.08);
   border-color: hsla(210,4%,10%,.11);
 }
 
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]):not(:-moz-any([disabled],[checked="true"],[open],:active)):-moz-any(:hover,[_moz-menuactive]) {
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]):not(:-moz-any([disabled],[open],:active)):hover {
   border-color: hsla(210,4%,10%,.11);
 }
 
-panelview .toolbarbutton-1:not([disabled]):-moz-any([open],[checked="true"],:hover:active,[_moz-menuactive]:active)),
-toolbarbutton.subviewbutton:not([disabled]):-moz-any([open],[checked="true"],:hover:active,[_moz-menuactive]:active)),
+panelview .toolbarbutton-1:-moz-any(:not([disabled]):-moz-any([open],:hover:active),[checked=true]),
+toolbarbutton.subviewbutton:not([disabled]):-moz-any([open],:hover:active),
 menu.subviewbutton:not([disabled])[_moz-menuactive]:active,
 menuitem.subviewbutton:not([disabled])[_moz-menuactive]:active,
-.widget-overflow-list .toolbarbutton-1:not([disabled]):-moz-any([open],[checked="true"],:hover:active,[_moz-menuactive]:active)),
+.share-provider-button:not([disabled]):-moz-any([open],:hover:active),
+.widget-overflow-list .toolbarbutton-1:not([disabled]):-moz-any([open],:hover:active),
 .toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true])
-    > toolbarbutton:not([disabled]):-moz-any([open],[checked="true"],:hover:active,[_moz-menuactive]:active)) {
+    > toolbarbutton:not([disabled]):-moz-any([open],:hover:active) {
   background-color: hsla(210,4%,10%,.12);
   border-color: hsla(210,4%,10%,.14);
   box-shadow: 0 1px 0 hsla(210,4%,10%,.03) inset;
@@ -718,15 +944,15 @@ menuitem.panel-subview-footer:not(:-moz-any([disabled],[open],:active)):hover,
   border-top: 1px solid hsla(210,4%,10%,.12);
 }
 
-menuitem.panel-subview-footer:not([disabled]):-moz-any([open],[checked="true"],:hover:active),
-.subviewbutton.panel-subview-footer:not([disabled]):-moz-any([open],[checked="true"],:hover:active) {
+menuitem.panel-subview-footer:not([disabled]):-moz-any([open],:hover:active),
+.subviewbutton.panel-subview-footer:not([disabled]):-moz-any([open],:hover:active) {
   background-color: hsla(210,4%,10%,.15);
   border-top: 1px solid hsla(210,4%,10%,.12);
   box-shadow: 0 1px 0 hsla(210,4%,10%,.05) inset;
 }
 
 #BMB_bookmarksPopup .subviewbutton {
-  font: inherit;
+  font: menu;
   font-weight: normal;
 }
 
@@ -746,22 +972,23 @@ menuitem.panel-subview-footer:not([disabled]):-moz-any([open],[checked="true"],:
   padding-bottom: 0px;
 }
 
-#BMB_bookmarksPopup menupopup {
-  padding-top: 2px;
+#BMB_bookmarksPopup menupopup > .bookmarks-actions-menuseparator {
+  / Hide bottom separator as the styled footer includes a top border serving the same purpose /
+  display: none;
 }
 
-#BMB_bookmarksPopup menupopup > .bookmarks-actions-menuseparator {
-  / Hide bottom separator as the styled footer includes a top border serving the same purpose.
-   * We can't just use display: none here, otherwise scrollbox.xml will flip out and sometimes
-   * refuse to scroll for us (see bug 984156). Instead, we set it to visibility hidden, force
-   * a minimum height, and then negative-margin that single pixel into oblivion. That seems
-   * to be enough to make scrollbox happy.
-   /
-  -moz-appearance: none;
-  visibility: hidden;
-  min-height: 1px;
-  margin: -1px 0 0;
-  border: none;
+/ Popups with only one item don't have a footer /
+#BMB_bookmarksPopup menupopup[placespopup=true][singleitempopup=true] > hbox > .popup-internal-box > .arrowscrollbox-scrollbox > .scrollbox-innerbox,
+/ These popups never have a footer /
+#BMB_bookmarksToolbarPopup > hbox > .popup-internal-box > .arrowscrollbox-scrollbox > .scrollbox-innerbox,
+#BMB_unsortedBookmarksPopup > hbox > .popup-internal-box > .arrowscrollbox-scrollbox > .scrollbox-innerbox {
+  / And so they need some bottom padding: /
+  padding-bottom: 4px;
+}
+
+/ Disabled (empty) item is always alone and never has an icon, so fix its left padding /
+#BMB_bookmarksPopup menupopup[emptyplacesresult] .bookmark-item.subviewbutton {
+  padding-left: 6px;
 }
 */
 
@@ -829,22 +1056,27 @@ toolbarbutton[panel-multiview-anchor="true"] > .toolbarbutton-menubutton-button
   position: absolute;
   top: 0;
   height: 100%;
-  width: 38px;
+  width: var(--panel-ui-exit-subview-gutter-width);
   background-image: url("chrome://browser/skin/customizableui/subView-arrow-back-inverted.png");
   background-repeat: no-repeat;
   background-color: #008484;
-  background-position: left 10px center, 0; /* this doesn't need to be changed for RTL */
+  background-position: left 10px center, 0;
+}
+
+#PanelUI-help[panel-multiview-anchor="true"]:-moz-locale-dir(rtl)::after {
+  background-image: url(chrome://browser/skin/customizableui/subView-arrow-back-inverted-rtl.png);
+  background-position: right 10px center, 0;
 }
 
 toolbarbutton[panel-multiview-anchor="true"] {
   background-image: url("chrome://browser/skin/customizableui/subView-arrow-back-inverted.png");
-  background-position: right 5px center;
+  background-position: right calc((22.35em / 3 - 0.1px) / 2 - var(--panel-ui-exit-subview-gutter-width) + 2px) center;
   background-repeat: no-repeat;
 }
 
 toolbarbutton[panel-multiview-anchor="true"]:-moz-locale-dir(rtl) {
   background-image: url("chrome://browser/skin/customizableui/subView-arrow-back-inverted-rtl.png");
-  background-position: left 5px center;
+  background-position: left calc((22.35em / 3 - 0.1px) / 2 - var(--panel-ui-exit-subview-gutter-width) + 2px) center;
 }
 
 toolbarpaletteitem[place="palette"] > .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker,
@@ -1010,21 +1242,182 @@ toolbarbutton[overflowedItem=true] {
   background-repeat: no-repeat;
 }
 
+.subviewbutton[checked="true"]:-moz-locale-dir(rtl) {
+  background-position: top 5px right 4px;
+}
+
 .subviewbutton[checked="true"]:hover {
   background-image: url("chrome://global/skin/menu/menu-check-hover.gif");
 }
 
-.PanelUI-subView .menu-iconic-left {
-  -moz-appearance: none;
+.subbiewbutton > .menu-iconic-left {
   -moz-margin-end: 3px;
 }
  
-.PanelUI-subView menuitem[checked="true"] > .menu-iconic-left {
+menuitem[checked="true"].subviewbutton > .menu-iconic-left {
   visibility: hidden;
 }
 
+.panel-mainview[panelid=customizationui-widget-panel],
+#customizationui-widget-multiview > .panel-viewcontainer,
+#customizationui-widget-multiview > .panel-viewcontainer > .panel-viewstack,
+#PanelUI-panicView > .panel-subview-body,
+#PanelUI-panicView {
+  overflow: visible;
+  color: #FF9F00;
+}
+
+#PanelUI-panicView.cui-widget-panelview {
+  min-width: 280px;
+}
+
+#PanelUI-panic-timeframe {
+  padding: 15px;
+  border-bottom: 1px solid #A09090;
+}
+
+#panic-button-success-icon,
+#PanelUI-panic-timeframe-icon,
+#PanelUI-panic-timeframe-icon-small {
+  background-color: transparent;
+  -moz-margin-end: 10px;
+}
+
+#panic-button-success-icon,
+#PanelUI-panic-timeframe-icon {
+  list-style-image: url(chrome://browser/skin/panic-panel/header.png);
+  max-height: 48px;
+  width: 48px;
+}
+
+#PanelUI-panic-timeframe-icon-small {
+  list-style-image: url(chrome://browser/skin/panic-panel/header-small.png);
+  max-height: 32px;
+  width: 32px;
+}
+
+/* current attribute is only set when in use as a subview instead of a main view */
+#PanelUI-panicView[current] #PanelUI-panic-timeframe-icon {
+  display: none;
+}
+
+#PanelUI-panicView.cui-widget-panelview #PanelUI-panic-timeframe-icon-small {
+  display: none;
+}
+
+#panic-button-success-header,
+#PanelUI-panic-header {
+  -moz-box-align: center;
+  margin-bottom: 5px;
+}
+
+#PanelUI-panicView.cui-widget-panelview #PanelUI-panic-header {
+  margin-bottom: 0;
+}
+
+#PanelUI-panic-timeframe-icon-small:-moz-locale-dir(rtl),
+#PanelUI-panic-timeframe-icon:-moz-locale-dir(rtl) {
+  transform: scaleX(-1);
+}
+
+/*
+.subviewradio {
+}
+
+.subviewradio@buttonStateHover@ {
+}
+
+.subviewradio[selected],
+.subviewradio[selected]:hover,
+.subviewradio@buttonStateActive@ {
+}
+
+.subviewradio > .radio-check {
+}
+
+.subviewradio > .radio-check[selected] {
+}
+*/
+
+#PanelUI-panic-explanations {
+  padding: 10px 10px 0;
+}
+
+#PanelUI-panic-actionlist-main-label {
+  color: #A09090;
+  font-size: 0.9em;
+}
+
+.PanelUI-panic-actionlist {
+  -moz-padding-start: 20px;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  background-size: 16px 16px;
+  background-repeat: no-repeat;
+  background-color: transparent;
+  background-position: center left;
+}
+
+.PanelUI-panic-actionlist:-moz-locale-dir(rtl) {
+  background-position: center right;
+}
+
+#PanelUI-panic-actionlist-cookies {
+  background-image: -moz-image-rect(url(chrome://browser/skin/panic-panel/icons.png), 0, 16, 16, 0);
+}
+
+#PanelUI-panic-actionlist-history {
+  background-image: -moz-image-rect(url(chrome://browser/skin/panic-panel/icons.png), 0, 32, 16, 16);
+}
+
+#PanelUI-panic-actionlist-windows {
+  background-image: -moz-image-rect(url(chrome://browser/skin/panic-panel/icons.png), 0, 48, 16, 32);
+}
+
+#PanelUI-panic-actionlist-newwindow {
+  background-image: -moz-image-rect(url(chrome://browser/skin/panic-panel/icons.png), 0, 64, 16, 48);
+}
+
+#PanelUI-panic-warning {
+  color: #FF0000;
+  text-align: center;
+  width: 100%;
+  margin-top: 20px;
+}
+
+#PanelUI-panic-view-button {
+  background-color: #FF0000;
+  color: #000000;
+}
+
+#PanelUI-panic-view-button:hover {
+  background-color: #FFCF00;
+}
+
+#PanelUI-panic-view-button:hover:active {
+  background-color: #FF9F00;
+}
+
+#PanelUI-panic-view-button > .toolbarbutton-text {
+  text-align: center;
+  text-shadow: none;
+}
+
+#panic-button-success-closebutton {
+}
+
+#panic-button-success-closebutton:hover {
+}
+
+#panic-button-success-closebutton:hover:active {
+}
+
 /* === END panelUIOverlay.inc.css === */
 
+.panel-subviews {
+  background-color: #000000;
+}
+
 #PanelUI-contents #zoom-out-btn {
   padding-left: 12px;
   padding-right: 12px;
@@ -1045,8 +1438,8 @@ toolbarbutton[overflowedItem=true] {
 
 #BMB_bookmarksPopup menupopup[placespopup=true] > hbox {
   /* emulating chrome://browser/content/places/menu.xml#places-popup-arrow but without the arrow */
-/*  background: #FFF;
-  border: 1px solid rgba(0,0,0,0.25);
+/*  background: var(--panel-arrowcontent-background);
+  border: var(--panel-arrowcontent-border);
   border-radius: 3.5px;
   margin-top: -4px;*/
 }
@@ -1060,10 +1453,6 @@ toolbarbutton[overflowedItem=true] {
 /*  padding-top: 4px;*/
 }
 
-#BMB_bookmarksPopup .menu-text {
-/*  color: #000;*/
-}
-
 /* bookmark panel separator */
 #BMB_bookmarksPopup menuseparator {
   padding-top: 0;
@@ -1077,6 +1466,12 @@ toolbarbutton[overflowedItem=true] {
   margin-bottom: 2px;*/
 }
 
+.subviewbutton:-moz-any([image], .bookmark-item) > .toolbarbutton-icon {
+  /* This catches bookmarks, history items, and sync tabs items */
+  width: 16px;
+  height: 16px;
+}
+
 /* Disabled empty item looks too small otherwise, because it has no icon. */
 menuitem.subviewbutton[disabled]:not(.menuitem-iconic),
 /* Same for checkbox menu items, whose icons lose size due to -moz-appearance: none: */
@@ -1103,20 +1498,20 @@ menuitem[type="checkbox"].subviewbutton {
   height: 18px;
 }
 
+menu.subviewbutton > .menu-right:-moz-locale-dir(rtl) {
+/*  transform: scaleX(-1); */
+}
+
 .widget-overflow-list .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
   padding: 0 6px;
 }
 
 .subviewbutton > .toolbarbutton-text {
-  -moz-padding-start: 16px;
+  padding-inline-start: 18px; /* 16px for icons plus the 2px spacing from the rule below */
 }
 
 .subviewbutton:-moz-any([image],[targetURI],.cui-withicon, .restoreallitem, .bookmark-item) > .toolbarbutton-text {
-  -moz-padding-start: 0;
-}
-
-.subviewbutton.bookmark-item > .toolbarbutton-icon {
-  -moz-margin-start: 3px;
+  padding-inline-start: 2px;
 }
 
 /* subviewbutton entries for social sidebars have images that come from external
@@ -1130,14 +1525,16 @@ toolbarbutton.social-provider-menuitem > .toolbarbutton-icon {
 .subviewbutton:-moz-any([image],[targetURI],.cui-withicon, .restoreallitem, .bookmark-item)[checked="true"] > .toolbarbutton-icon {
   visibility: hidden;
 }
-/*
+
 menu.subviewbutton > .menu-right {
-  -moz-appearance: none;
-  list-style-image: url("chrome://browser/skin/places/bookmarks-menu-arrow.png");
-  -moz-image-region: rect(0, 16px, 16px, 0);
+  list-style-image: url("chrome://global/skin/menu/menu-arrow.svg#arrow");
+  /* Reset the rect we inherit from the button: */
+  -moz-image-region: auto;
+}
+menu.subviewbutton:not([disabled="true"]):hover > .menu-right,
+menu.subviewbutton:not([disabled="true"])[_moz-menuactive="true"] > .menu-right {
+  list-style-image: url("chrome://global/skin/menu/menu-arrow.svg#arrow-hover");
 }
-
 menu[disabled="true"].subviewbutton > .menu-right {
-  -moz-image-region: rect(0, 32px, 16px, 16px);
+  list-style-image: url("chrome://global/skin/menu/menu-arrow.svg#arrow-disabled");
 }
-*/
\ No newline at end of file