Bug 1404697 - Calendar: Use context-fill and context-fill-opacity for the toolbar icons. r=philipp,jorgk
authorRichard Marti <richard.marti@gmail.com>
Sat, 30 Sep 2017 17:26:13 +0200
changeset 29121 611f64379d918b9ace76988387b0a809b7765018
parent 29120 9375ee33a9f38aafcb65c5e71ea6c81738cb1db5
child 29122 f894d93fe2d7741c15d2595128957a1ef7473864
push id2068
push userclokep@gmail.com
push dateMon, 13 Nov 2017 19:02:14 +0000
treeherdercomm-beta@9c7e7ce8672b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersphilipp, jorgk
bugs1404697
Bug 1404697 - Calendar: Use context-fill and context-fill-opacity for the toolbar icons. r=philipp,jorgk
calendar/base/jar.mn
calendar/base/themes/common/calendar-task-view.css
calendar/base/themes/common/calendar-toolbar-osxlion.svg
calendar/base/themes/common/calendar-toolbar.svg
calendar/base/themes/common/dialogs/calendar-event-dialog.css
calendar/base/themes/common/icons/address.svg
calendar/base/themes/common/icons/attach.svg
calendar/base/themes/common/icons/calendar-tab.svg
calendar/base/themes/common/icons/category.svg
calendar/base/themes/common/icons/complete.svg
calendar/base/themes/common/icons/decline.svg
calendar/base/themes/common/icons/delete.svg
calendar/base/themes/common/icons/edit.svg
calendar/base/themes/common/icons/find.svg
calendar/base/themes/common/icons/freebusy.svg
calendar/base/themes/common/icons/newevent.svg
calendar/base/themes/common/icons/newtask.svg
calendar/base/themes/common/icons/pane.svg
calendar/base/themes/common/icons/print.svg
calendar/base/themes/common/icons/priority.svg
calendar/base/themes/common/icons/save-close.svg
calendar/base/themes/common/icons/save.svg
calendar/base/themes/common/icons/security.svg
calendar/base/themes/common/icons/status.svg
calendar/base/themes/common/icons/synchronize.svg
calendar/base/themes/common/icons/task-tab.svg
calendar/base/themes/common/icons/tentative.svg
calendar/base/themes/common/icons/timezones.svg
calendar/base/themes/common/icons/today.svg
calendar/base/themes/common/today-pane.css
calendar/base/themes/linux/calendar-task-view.css
calendar/base/themes/linux/dialogs/calendar-event-dialog.css
calendar/base/themes/linux/today-pane.css
calendar/base/themes/osx/calendar-task-view.css
calendar/base/themes/osx/dialogs/calendar-event-dialog.css
calendar/base/themes/osx/today-pane.css
calendar/base/themes/windows/calendar-task-view.css
calendar/base/themes/windows/dialogs/calendar-event-dialog.css
calendar/base/themes/windows/today-pane.css
calendar/lightning/jar.mn
calendar/lightning/themes/common/lightning-toolbar.css
calendar/lightning/themes/common/lightning.css
calendar/lightning/themes/linux/lightning-toolbar.css
calendar/lightning/themes/linux/lightning.css
calendar/lightning/themes/osx/lightning-toolbar.css
calendar/lightning/themes/osx/lightning.css
calendar/lightning/themes/windows/lightning-toolbar.css
calendar/lightning/themes/windows/lightning.css
mail/installer/allowed-dupes.mn
--- a/calendar/base/jar.mn
+++ b/calendar/base/jar.mn
@@ -101,30 +101,54 @@ calendar.jar:
     content/calendar/calApplicationUtils.js                (src/calApplicationUtils.js)
     content/calendar/calFilter.js                          (src/calFilter.js)
     content/calendar/WindowsNTToZoneInfoTZId.properties    (src/WindowsNTToZoneInfoTZId.properties)
 % skin calendar classic/1.0 chrome/skin/linux/calendar/
 % skin calendar classic/1.0 chrome/skin/osx/calendar/ os=Darwin
 % skin calendar classic/1.0 chrome/skin/windows/calendar/ os=WINNT
 % skin calendar-common classic/1.0 chrome/skin/common/
 % style chrome://global/content/customizeToolbar.xul chrome://calendar/skin/calendar-task-view.css
-% style chrome://global/content/customizeToolbar.xul chrome://calendar/skin/calendar-event-dialog.css
+% style chrome://global/content/customizeToolbar.xul chrome://calendar-common/skin/dialogs/calendar-event-dialog.css
 % style chrome://calendar/content/calendar-event-dialog.xul chrome://calendar-common/skin/dialogs/calendar-event-dialog.css
 % style chrome://lightning/content/lightning-item-iframe.xul chrome://calendar-common/skin/dialogs/calendar-event-dialog.css
 % style chrome://calendar/content/calendar-event-dialog-attendees.xul chrome://calendar-common/skin/dialogs/calendar-event-dialog.css
     ../icons/default/calendar-alarm-dialog.ico        (themes/common/icons/calendar-alarm-dialog.ico)
     ../icons/default/calendar-alarm-dialog.png        (themes/common/icons/calendar-alarm-dialog.png)
     ../icons/default/calendar-event-dialog.ico        (themes/common/icons/calendar-event-dialog.ico)
     ../icons/default/calendar-event-dialog.png        (themes/common/icons/calendar-event-dialog.png)
     ../icons/default/calendar-event-summary-dialog.ico (themes/common/icons/calendar-event-summary-dialog.ico)
     ../icons/default/calendar-event-summary-dialog.png (themes/common/icons/calendar-event-summary-dialog.png)
     ../icons/default/calendar-task-dialog.ico         (themes/common/icons/calendar-task-dialog.ico)
     ../icons/default/calendar-task-dialog.png         (themes/common/icons/calendar-task-dialog.png)
     ../icons/default/calendar-task-summary-dialog.ico (themes/common/icons/calendar-task-summary-dialog.ico)
     ../icons/default/calendar-task-summary-dialog.png (themes/common/icons/calendar-task-summary-dialog.png)
+    ../skin/common/icons/address.svg                  (themes/common/icons/address.svg)
+    ../skin/common/icons/attach.svg                   (themes/common/icons/attach.svg)
+    ../skin/common/icons/calendar-tab.svg             (themes/common/icons/calendar-tab.svg)
+    ../skin/common/icons/category.svg                 (themes/common/icons/category.svg)
+    ../skin/common/icons/complete.svg                 (themes/common/icons/complete.svg)
+    ../skin/common/icons/decline.svg                  (themes/common/icons/decline.svg)
+    ../skin/common/icons/delete.svg                   (themes/common/icons/delete.svg)
+    ../skin/common/icons/edit.svg                     (themes/common/icons/edit.svg)
+    ../skin/common/icons/find.svg                     (themes/common/icons/find.svg)
+    ../skin/common/icons/freebusy.svg                 (themes/common/icons/freebusy.svg)
+    ../skin/common/icons/newevent.svg                 (themes/common/icons/newevent.svg)
+    ../skin/common/icons/newtask.svg                  (themes/common/icons/newtask.svg)
+    ../skin/common/icons/pane.svg                     (themes/common/icons/pane.svg)
+    ../skin/common/icons/print.svg                    (themes/common/icons/print.svg)
+    ../skin/common/icons/priority.svg                 (themes/common/icons/priority.svg)
+    ../skin/common/icons/save.svg                     (themes/common/icons/save.svg)
+    ../skin/common/icons/save-close.svg               (themes/common/icons/save-close.svg)
+    ../skin/common/icons/security.svg                 (themes/common/icons/security.svg)
+    ../skin/common/icons/status.svg                   (themes/common/icons/status.svg)
+    ../skin/common/icons/synchronize.svg              (themes/common/icons/synchronize.svg)
+    ../skin/common/icons/task-tab.svg                 (themes/common/icons/task-tab.svg)
+    ../skin/common/icons/tentative.svg                (themes/common/icons/tentative.svg)
+    ../skin/common/icons/today.svg                    (themes/common/icons/today.svg)
+    ../skin/common/icons/timezones.svg                (themes/common/icons/timezones.svg)
     ../skin/common/alarm-flashing.png                 (themes/common/images/alarm-flashing.png)
     ../skin/common/alarm-icons.png                    (themes/common/images/alarm-icons.png)
     ../skin/common/attendee-icons.png                 (themes/common/images/attendee-icons.png)
     ../skin/common/calendar-overlay.png               (themes/common/images/calendar-overlay.png)
     ../skin/common/calendar-status.png                (themes/common/images/calendar-status.png)
     ../skin/common/checkbox-images.png                (themes/common/images/checkbox-images.png)
     ../skin/common/classification.png                 (themes/common/images/classification.png)
     ../skin/common/day-box-item-image.png             (themes/common/images/day-box-item-image.png)
@@ -151,18 +175,16 @@ calendar.jar:
     ../skin/common/calendar-daypicker.css             (themes/common/calendar-daypicker.css)
     ../skin/common/calendar-management.css            (themes/common/calendar-management.css)
     ../skin/common/calendar-occurrence.svg            (themes/common/calendar-occurrence.svg)
     ../skin/common/calendar-occurrence-prompt.css     (themes/common/calendar-occurrence-prompt.css)
     ../skin/common/calendar-printing.css              (themes/common/calendar-printing.css)
     ../skin/common/calendar-providerUninstall-dialog.css (themes/common/calendar-providerUninstall-dialog.css)
     ../skin/common/calendar-task-tree.css             (themes/common/calendar-task-tree.css)
     ../skin/common/calendar-task-view.css             (themes/common/calendar-task-view.css)
-    ../skin/common/calendar-toolbar.svg               (themes/common/calendar-toolbar.svg)
-    ../skin/common/calendar-toolbar-osxlion.svg       (themes/common/calendar-toolbar-osxlion.svg)
     ../skin/common/calendar-itip-icons.svg            (themes/common/calendar-itip-icons.svg)
     ../skin/common/calendar-unifinder.css             (themes/common/calendar-unifinder.css)
     ../skin/common/calendar-views.css                 (themes/common/calendar-views.css)
     ../skin/common/today-pane.css                     (themes/common/today-pane.css)
     ../skin/common/today-pane-cycler.svg              (themes/common/today-pane-cycler.svg)
     ../skin/common/dialogs/calendar-alarm-dialog.css  (themes/common/dialogs/calendar-alarm-dialog.css)
     ../skin/common/dialogs/calendar-event-dialog.css  (themes/common/dialogs/calendar-event-dialog.css)
     ../skin/common/dialogs/calendar-invitations-dialog.css (themes/common/dialogs/calendar-invitations-dialog.css)
--- a/calendar/base/themes/common/calendar-task-view.css
+++ b/calendar/base/themes/common/calendar-task-view.css
@@ -117,13 +117,34 @@ window[toolboxId="task-actions-toolbox"]
 
 #task-actions-toolbox[doCustomization] #task-actions-toolbar {
     min-width: 100px;
     min-height: 24px;
 }
 
 #calendar-add-task-button {
     margin-inline-start: 5px;
+    list-style-image: url(chrome://calendar-common/skin/icons/newtask.svg);
+    -moz-image-region: rect(0 16px 16px 0);
+    -moz-context-properties: fill, fill-opacity;
+    fill: currentColor;
+    fill-opacity: var(--toolbarbutton-icon-fill-opacity);
 }
 
 #calendar-add-task-button > .toolbarbutton-text {
     padding-inline-start: 5px;
 }
+
+#task-actions-category {
+    list-style-image: url(chrome://calendar-common/skin/icons/category.svg);
+}
+
+#task-actions-markcompleted {
+    list-style-image: url(chrome://calendar-common/skin/icons/complete.svg);
+}
+
+#task-actions-priority {
+    list-style-image: url(chrome://calendar-common/skin/icons/priority.svg);
+}
+
+#calendar-delete-task-button {
+    list-style-image: url(chrome://calendar-common/skin/icons/delete.svg);
+}
deleted file mode 100644
--- a/calendar/base/themes/common/calendar-toolbar-osxlion.svg
+++ /dev/null
@@ -1,64 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg"
-     xmlns:xlink="http://www.w3.org/1999/xlink"
-     viewBox="0 0 18 18">
-  <style>
-    path {
-      display: none;
-    }
-    path:target {
-      display: block;
-      stroke-width: 1;
-    }
-    .normal {
-      fill: url(#osx1);
-      fill-opacity: 1;
-      stroke: url(#osx2);
-    }
-  </style>
-  <defs>
-    <linearGradient
-       id="osx1"
-       x1="8"
-       y1="1"
-       x2="8"
-       y2="15"
-       gradientUnits="userSpaceOnUse">
-       <stop stop-color="#4f4f4f" stop-opacity="0.76" offset="0"/>
-       <stop stop-color="#717171" stop-opacity="0.6" offset="1"/>
-    </linearGradient>
-    <linearGradient
-       id="osx2"
-       x1="8"
-       y1="1"
-       x2="8"
-       y2="15"
-       gradientUnits="userSpaceOnUse">
-      <stop stop-color="#252525" stop-opacity="0.88" offset="0"/>
-      <stop stop-color="#505050" stop-opacity="0.68" offset="1"/>
-    </linearGradient>
-  </defs>
-  <path id="calendar-tab" class="normal" d="m 1.5,2.5 0,14 15,0 0,-14 -2,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 -3,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 z m 0,3 15,0 0,11 -15,0 z m 4,2 6.5,0 -3,7 -2.5,0 2,-5 -3,0 z"/>
-  <path id="task-tab" class="normal" d="m 4.5,2.5 -2,0 0,14 13,0 0,-14 -2,0 0,2 1,0 0,11 -11,0 0,-11 1,0 z m 2,-1 5,0 0,3 -5,0 z M 5.1,10.8 6.7,9.2 8.5,10.7 12,7 l 1.5,1.5 -5,5 z"/>
-  <path id="synchronize" class="normal" d="m 11.5,1.9 0,3.7 c 3.7,1.8 1.7,5.5 -1,6.8 l -2,-1.9 0,6 5.7,0 -1.6,-1.6 C 18.5,12.5 18.2,2.7 11.5,1.9 Z m -3.8,3.8 1.8,1.8 0,-6 -5.8,0 L 5.3,3 C -0.9,6.3 0.4,15 6.5,16.1 l 0,-3.6 C 3,10.7 4.5,7 7.7,5.7 Z"/>
-  <path id="newevent" class="normal" d="m 1.5,2.5 0,14 15,0 0,-14 -2,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 -3,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 z m 0,3 15,0 0,11 -15,0 z m 6,2 3,0 0,2 2,0 0,3 -2,0 0,2 -3,0 0,-2 -2,0 0,-3 2,0 z"/>
-  <path id="newtask" class="normal" d="m 4.5,2.5 -2,0 0,14 13,0 0,-14 -2,0 0,2 1,0 0,11 -11,0 0,-11 1,0 z m 2,-1 5,0 0,3 -5,0 z m 1,5 3,0 0,2 2,0 0,3 -2,0 0,2 -3,0 0,-2 -2,0 0,-3 2,0 z"/>
-  <path id="edit" class="normal" d="M 3.6,11.5 2.2,15.7 6.5,14.3 15.8,5 13,2.2 Z m 0,0 L 4.1,11 7,13.8 6.5,14.3 2.2,15.7 Z"/>
-  <path id="delete" class="normal" d="m 9,1.5 c 4.2,0 7.5,3.3 7.5,7.5 0,4.1 -3.3,7.5 -7.5,7.5 C 4.9,16.5 1.5,13.2 1.5,9 1.5,4.8 4.9,1.5 9,1.5 Z m -3,3 7.5,7.5 C 16.3,7.1 11,1.7 6,4.5 Z M 4.5,6 c -3.1,5.4 2.9,10 7.5,7.5 z"/>
-  <path id="today" class="normal" d="m 1.5,2.5 0,14 15,0 0,-14 -2,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 -3,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 z m 0,3 15,0 0,11 -15,0 z m 6,2 3,0 0,4 2,0 -3.5,3 -3.5,-3 2,0 z"/>
-  <path id="print" class="normal" d="m 4.5,2.5 0,4 -1.5,0 c -0.8,0 -1.5,1.1 -1.5,2 l 0,3 c 0,1 1.4,2 2.5,2 l 1.5,0 0,-1 7,0 0,1 1.5,0 c 1,0 2.5,-1 2.5,-2 l 0,-3 c 0,-0.8 -0.6,-2 -1.5,-2 l -1.5,0 0,-4 z m 0,0 9,0 0,6 -9,0 z m 0,6 2,0 0,2 -2,0 z m 0,5.4 0,1.6 m -2.5,0 14,0 m -2.5,0 0,-1.6"/>
-  <path id="find" class="normal" d="M 8,2.5 C 5,2.5 2.5,5 2.5,8 c 0,3 2.5,5.5 5.5,5.5 3,0 5.5,-2.4 5.5,-5.5 C 13.5,5 11,2.5 8,2.5 Z m 0,2 c 2,0 3.5,1.5 3.5,3.5 0,2 -1.5,3.5 -3.5,3.5 C 6,11.5 4.5,10 4.5,8 4.5,6 6,4.5 8,4.5 Z m 4.5,7 -1,1 3,3 1,-1 z"/>
-  <path id="category" class="normal" d="M 4 2.5 C 3.3 2.5 2.5 3.3 2.5 4 L 2.5 8 L 10 15.5 L 15.5 10 L 8 2.5 L 4 2.5 z M 6 4 A 2 2 0 0 1 8 6 A 2 2 0 0 1 6 8 A 2 2 0 0 1 4 6 A 2 2 0 0 1 6 4 z"/>
-  <path id="complete" class="normal" d="M 1.5,10.5 3,8.5 6.7,11.7 C 9,7.8 12.6,5.6 16.5,3.5 l 0,1 c -4,3.1 -7,6.7 -9,11.2 z"/>
-  <path id="priority" class="normal" d="m 7.5,2.5 3,0 0,8 -3,0 z M 10.5,14 A 1.5,1.5 0 0 1 9,15.5 1.5,1.5 0 0 1 7.5,14 1.5,1.5 0 0 1 9,12.5 1.5,1.5 0 0 1 10.5,14 Z"/>
-  <path id="pane" class="normal" d="m 1.5,2.5 0,14 15,0 0,-14 -2,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 -3,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 z m 0,3 15,0 0,11 -15,0 z"/>
-  <path id="save" class="normal" d="m 2.5,2.5 0,13 2,0 0,-6 8,0 0,6 3,0 0,-13 z m 2,0 9,0 0,5 -9,0 z m 2,9 4,0 0,4 -4,0 z"/>
-  <path id="save-close" class="normal" d="m 4.5,2.5 4.5,0 4.5,0 z m -2,0 0,8.2 3,-3.2 0.2,0 2.1,2 1.4,0 2,-2 -6.7,0 0,-5 z m 11,0 0,2.7 0.4,-0.4 1.6,0 0,-2.3 z M 15,7 8.5,13.2 5.5,10.4 4,12 l 4.5,4.5 8,-8 z m 0.5,5.3 -3,3 0,0.2 3,0 z m -13,1 0,2.2 2,0 0,-0.2 z"/>
-  <path id="address" class="normal" d="m 2.5,15.5 13,0 c 0,-3.4 -2.2,-3 -5,-3 l 0,-1 C 12.5,10.4 12.7,9.4 13,8 13,7.7 13.5,7.4 13.5,7 13.5,6.6 13.1,6.3 13,6 12.8,5.6 12.9,3.7 12,3 10.4,1.8 7.56,1.8 6,3 5,3.7 5.1,5.6 5,6 4.8,6.3 4.5,6.6 4.5,7 c 0,0.3 0.4,0.6 0.5,1 0.2,1.5 0.5,2.3 2.5,3.5 l 0,1 c -2.5,0 -5,-0.5 -5,3 z"/>
-  <path id="security" class="normal" d="m 9,2.5 c -3,0 -5,1 -5.5,5 l 0,1 -1,0 0,7 13,0 0,-7 -1,0 0,-1 c 0,-4 -3,-5 -5,-5 z m 0,2 c 3,0 3.5,1 3.5,4 l -7,0 c 0,-3 1,-4 3.5,-4 z"/>
-  <path id="attach" class="normal" d="m 13.5,2.5 0,10.5 -4,3.5 -4,-3.5 0,-11.5 6,0 0,10 -2,2 -2,-2 0,-8 2,0 0,6.5" style="fill:none; stroke-opacity:1"/>
-  <path id="status" class="normal" d="M 16.5,9 A 7.5,7.5 0 0 1 9,16.5 7.5,7.5 0 0 1 1.5,9 7.5,7.5 0 0 1 9,1.5 7.5,7.5 0 0 1 16.5,9 Z M 12.5,9 A 3.5,3.5 0 0 1 9,12.5 3.5,3.5 0 0 1 5.5,9 3.5,3.5 0 0 1 9,5.5 3.5,3.5 0 0 1 12.5,9 Z" style="fill-opacity:0.5"/>
-  <path id="freebusy" class="normal" d="M 9,1.5 C 4.8,1.5 1.5,4.8 1.5,9 1.5,13.1 5.2,16.3 9,16.5 13,16.7 16.5,13.2 16.5,9 16.5,4.8 13.1,1.5 9,1.5 Z m 0,0 c 0.7,0 1.5,0 2.5,0.5 l 0,4.5 4,0 0,5 -6,0 0,5 C 4.5,16.3 1.5,12.5 1.5,9 1.5,5.3 4.2,1.6 9,1.5 Z m -0.5,2 1,0 0,5 4,0 0,1 -5,0 z"/>
-  <path id="timezones" class="normal" d="M 9,1.5 C 4.8,1.5 1.5,4.8 1.5,9 1.5,13.1 5.2,16.3 9,16.5 13,16.7 16.5,13.2 16.5,9 16.5,4.8 13.1,1.5 9,1.5 Z M 7,3.8 6.3,4.6 6.3,5.7 7.1,6.8 7.8,8.2 9.4,8.3 10.4,6.1 9.8,3.8 11.3,1.9 c 1.5,0.5 3,1.5 3.8,3 l -3.4,2.5 1.6,-0.1 1.3,2 -0.3,1.8 -0.8,1.4 0.7,1.8 c -0.5,0.7 -1.5,1.3 -2.6,1.7 L 9.7,14 11.2,11.1 9.7,9.9 8.3,9 6.8,10.2 5.9,12.2 6,14 7,16 C 4.7,15.4 3.3,14 2.3,12.2 L 3.5,10.4 3.4,8.9 4.3,8 3.7,7.1 3.7,5.4 2.8,4.7 C 4,3 5.8,1.8 7.8,1.6 Z"/>
-  <path id="decline" class="normal" d="M 2.5,5 5,2.5 l 4,4 4,-4 2.5,2.5 -4,4 4,4 -2.5,2.5 -4,-4 -4,4 -2.5,-2.5 4,-4 z"/>
-  <path id="tentative" class="normal" d="m 8.2,6.5 -2.7,0 c 0,-1.4 0.5,-4 3.5,-4 2.3,0 4.4,1 4.5,4 0,2.8 -3,2.5 -3,5 l -3,0 C 7.4,8 10.3,8.5 10.2,6.5 10,5.5 9.3,5.5 9,5.5 c 0,0 -0.8,0 -0.8,1 z m -0.7,7 3,0 0,2 -3,0 z"/>
-</svg>
deleted file mode 100644
--- a/calendar/base/themes/common/calendar-toolbar.svg
+++ /dev/null
@@ -1,151 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg"
-     xmlns:xlink="http://www.w3.org/1999/xlink"
-     viewBox="0 0 18 18">
-  <style>
-    path {
-      display: none;
-    }
-    path:target {
-      display: block;
-      stroke-width: 1;
-    }
-    .normal {
-      fill: #505050;
-      fill-opacity: 0.8;
-      stroke: #404040;
-    }
-    @media (-moz-windows-default-theme) and (-moz-os-version: windows-win8) {
-      .normal {
-        fill: #797c80;
-        fill-opacity: 1;
-        stroke: #797c80;
-        stroke-opacity: 0;
-      }
-    }
-    @media (-moz-windows-default-theme) and (-moz-os-version: windows-win10) {
-      .normal {
-        fill: #4c4c4c;
-        fill-opacity: 1;
-        stroke: #4c4c4c;
-        stroke-opacity: 0;
-      }
-    }
-    @media (-moz-windows-default-theme) and (-moz-os-version: windows-vista),
-       (-moz-windows-default-theme) and (-moz-os-version: windows-win7) {
-      .normal {
-        fill: url(#win1);
-        fill-opacity: 1;
-        stroke: url(#win2);
-      }
-    }
-    @media (-moz-mac-yosemite-theme) {
-      .normal {
-        fill: #4d4d4d;
-        fill-opacity: 1;
-        stroke-opacity: 0;
-      }
-    }
-    .inverted {
-      fill: #fff;
-      fill-opacity: 1;
-      stroke: #111922;
-    }
-    .unread {
-      fill: #3971c3;
-      fill-opacity: 1;
-      stroke: #115174;
-    }
-  </style>
-  <defs>
-    <linearGradient
-       id="win1"
-       x1="8"
-       y1="1"
-       x2="8"
-       y2="15"
-       gradientUnits="userSpaceOnUse">
-       <stop stop-color="#3f4f5a" offset="0"/>
-       <stop stop-color="#7e8c97" offset="1"/>
-    </linearGradient>
-    <linearGradient
-       id="win2"
-       x1="8"
-       y1="1"
-       x2="8"
-       y2="15"
-       gradientUnits="userSpaceOnUse">
-      <stop stop-color="#0c1b25" offset="0"/>
-      <stop stop-color="#4f585f" stop-opacity="0.9" offset="1"/>
-    </linearGradient>
-  </defs>
-  <path id="calendar-tab" class="normal" d="m 1.5,2.5 0,14 15,0 0,-14 -2,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 -3,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 z m 0,3 15,0 0,11 -15,0 z m 4,2 6.5,0 -3,7 -2.5,0 2,-5 -3,0 z"/>
-  <path id="calendar-tab-flat" class="normal" d="M 2,3 2,16 16,16 16,3 14,3 14,5 13,5 13,2 12,2 12,5 11,5 11,3 7,3 7,5 6,5 6,2 5,2 5,5 4,5 4,3 Z m 1,3 12,0 0,9 -12,0 z m 3,2 6,0 -3,6 -2.5,0 2,-4 -2.5,0 z"/>
-  <path id="calendar-tab-inverted" class="inverted" d="m 1.5,3.5 0,13 15,0 0,-13 -3,0 0,1 -3,0 0,-1 -3,0 0,1 -3,0 0,-1 z m 3,3 9,0 0,7 -9,0 z m 0,-5 0,3 3,0 0,-3 z m 6,0 0,3 3,0 0,-3 z m -5,5 7,0 -3,7 -3,0 1.7,-4 -2.7,0 z"/>
-  <path id="task-tab" class="normal" d="m 4.5,2.5 -2,0 0,14 13,0 0,-14 -2,0 0,2 1,0 0,11 -11,0 0,-11 1,0 z m 2,-1 5,0 0,3 -5,0 z M 5.1,10.8 6.7,9.2 8.5,10.7 12,7 l 1.5,1.5 -5,5 z"/>
-  <path id="task-tab-flat" class="normal" d="m 5,3 -2,0 0,13 12,0 0,-13 -2,0 0,3 1,0 0,9 L 4,15 4,6 5,6 Z M 6,2 12,2 12,6 6,6 Z M 5.4,11.3 6.7,9.7 8.5,11.2 11.5,7.5 13,9 8.5,14 Z"/>
-  <path id="task-tab-inverted" class="inverted" d="m 5.5,2.5 -3,0 0,14 13,0 0,-14 -3,0 0,3 0,0 0,8 -7,0 0,-8 0,0 z m 0,-1 7,0 0,4 -7,0 z m 0.1,9.3 1.5,-2.1 1.3,1.2 2.4,-3 1.7,1.6 -4,4.8 z"/>
-  <path id="synchronize" class="normal" d="m 11.5,1.9 0,3.7 c 3.7,1.8 1.7,5.5 -1,6.8 l -2,-1.9 0,6 5.7,0 -1.6,-1.6 C 18.5,12.5 18.2,2.7 11.5,1.9 Z m -3.8,3.8 1.8,1.8 0,-6 -5.8,0 L 5.3,3 C -0.9,6.3 0.4,15 6.5,16.1 l 0,-3.6 C 3,10.7 4.5,7 7.7,5.7 Z"/>
-  <path id="synchronize-flat" class="normal" d="m 11,2.4 0,3.7 c 3,1.6 2.4,4.4 0,5.8 L 9,10 l 0,6 5.7,0 -1.6,-1.6 C 17.6,12 17,3.2 11,2.4 Z M 7.2,6.2 9,8 9,2 3.2,2 4.8,3.5 C -0.4,6.7 2.3,14.4 7,15.6 L 7,12 C 4.1,10.2 4.3,7.3 7.2,6.2 Z"/>
-  <path id="synchronize-inverted" class="inverted" d="m 11.5,1.9 0,3.7 c 3.6,1.2 2.1,5.4 -0.7,6.5 L 8.5,9.5 l 0,7 6.7,0 -1.9,-2 C 18.6,11.6 18,2.8 11.5,1.9 Z M 7,6 9.5,8.5 l 0,-7 -6.8,0 2.2,2.1 C -0.9,6.8 0.6,14.8 6.5,16.1 l 0,-3.6 C 3.5,11 4,7.3 7,6 Z"/>
-  <path id="newevent" class="normal" d="m 1.5,2.5 0,14 15,0 0,-14 -2,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 -3,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 z m 0,3 15,0 0,11 -15,0 z m 6,2 3,0 0,2 2,0 0,3 -2,0 0,2 -3,0 0,-2 -2,0 0,-3 2,0 z"/>
-  <path id="newevent-flat" class="normal" d="M 2,3 2,16 16,16 16,3 14,3 14,5 13,5 13,2 12,2 12,5 11,5 11,3 7,3 7,5 6,5 6,2 5,2 5,5 4,5 4,3 Z m 1,3 12,0 0,9 -12,0 z m 5,2 2,0 0,2 2,0 0,2 -2,0 0,2 -2,0 0,-2 -2,0 0,-2 2,0 z"/>
-  <path id="newevent-inverted" class="inverted" d="m 1.5,3.5 0,13 15,0 0,-13 -3,0 0,1 -3,0 0,-1 -3,0 0,1 -3,0 0,-1 z m 3,3 9,0 0,7 -9,0 z m 0,-5 0,3 3,0 0,-3 z m 6,0 0,3 3,0 0,-3 z m 0,5 0,2 2,0 0,3 -2,0 0,2 -3,0 0,-2 -2,0 0,-3 2,0 0,-2 z"/>
-  <path id="newtask" class="normal" d="m 4.5,2.5 -2,0 0,14 13,0 0,-14 -2,0 0,2 1,0 0,11 -11,0 0,-11 1,0 z m 2,-1 5,0 0,3 -5,0 z m 1,5 3,0 0,2 2,0 0,3 -2,0 0,2 -3,0 0,-2 -2,0 0,-3 2,0 z"/>
-  <path id="newtask-flat" class="normal" d="m 5,3 -2,0 0,13 12,0 0,-13 -2,0 0,3 1,0 0,9 -10,0 0,-9 1,0 z m 1,-1 6,0 0,4 -6,0 z m 2,6 2,0 0,2 2,0 0,2 -2,0 0,2 -2,0 0,-2 -2,0 0,-2 2,0 z"/>
-  <path id="newtask-inverted" class="inverted" d="m 5.5,2.5 -3,0 0,14 13,0 0,-14 -3,0 0,3 0,0 0,8 -7,0 0,-8 0,0 z m 0,-1 7,0 0,4 -7,0 z m 2,5 3,0 0,2 2,0 0,3 -2,0 0,2 -3,0 0,-2 -2,0 0,-3 2,0 z"/>
-  <path id="edit" class="normal" d="M 3.6,11.5 2.2,15.7 6.5,14.3 15.8,5 13,2.2 Z m 0,0 L 4.1,11 7,13.8 6.5,14.3 2.2,15.7 Z"/>
-  <path id="edit-flat" class="normal" d="M 4.2,11 2.5,15.5 7,13.8 Z M 7.7,13 15.5,5.3 12.7,2.5 5,10.3 Z"/>
-  <path id="edit-inverted" class="inverted" d="M 3.6,11.5 2.2,15.7 6.5,14.3 15.8,4.9 13,2.1 Z m 1,-1 0.4,-0.4 2.8,2.8 -0.4,0.4 z"/>
-  <path id="delete" class="normal" d="m 9,1.5 c 4.2,0 7.5,3.3 7.5,7.5 0,4.1 -3.3,7.5 -7.5,7.5 C 4.9,16.5 1.5,13.2 1.5,9 1.5,4.8 4.9,1.5 9,1.5 Z m -3,3 7.5,7.5 C 16.3,7.1 11,1.7 6,4.5 Z M 4.5,6 c -3.1,5.4 2.9,10 7.5,7.5 z"/>
-  <path id="delete-inverted" class="inverted" d="m 9,1.5 c 4.2,0 7.5,3.3 7.5,7.5 0,4.1 -3.3,7.5 -7.5,7.5 C 4.9,16.5 1.5,13.2 1.5,9 1.5,4.8 4.9,1.5 9,1.5 Z M 7,5 13,11 C 14.5,6.6 11.2,3.6 7,5 Z M 5,7 c -1.6,4.3 1.5,7.7 6,6 z"/>
-  <path id="today" class="normal" d="m 1.5,2.5 0,14 15,0 0,-14 -2,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 -3,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 z m 0,3 15,0 0,11 -15,0 z m 6,2 3,0 0,4 2,0 -3.5,3 -3.5,-3 2,0 z"/>
-  <path id="today-flat" class="normal" d="M 2,3 2,16 16,16 16,3 14,3 14,5 13,5 13,2 12,2 12,5 11,5 11,3 7,3 7,5 6,5 6,2 5,2 5,5 4,5 4,3 Z m 1,3 12,0 0,9 -12,0 z m 5,1 2,0 0,3 2,0 -3,4 -3,-4 2,0 z"/>
-  <path id="today-inverted" class="inverted" d="m 1.5,3.5 0,13 15,0 0,-13 -3,0 0,1 -3,0 0,-1 -3,0 0,1 -3,0 0,-1 z m 3,3 9,0 0,7 -9,0 z m 0,-5 0,3 3,0 0,-3 z m 6,0 0,3 3,0 0,-3 z m -3,5 3,0 0,3 3,0 -4.5,4 -4.5,-4 3,0 z"/>
-  <path id="print" class="normal" d="m 4.5,2.5 0,4 -1.5,0 c -0.8,0 -1.5,1.1 -1.5,2 l 0,3 c 0,1 1.4,2 2.5,2 l 1.5,0 0,-1 7,0 0,1 1.5,0 c 1,0 2.5,-1 2.5,-2 l 0,-3 c 0,-0.8 -0.6,-2 -1.5,-2 l -1.5,0 0,-4 z m 0,0 9,0 0,6 -9,0 z m 0,6 2,0 0,2 -2,0 z m 0,5.4 0,1.6 m -2.5,0 14,0 m -2.5,0 0,-1.6"/>
-  <path id="print-flat" class="normal" d="M 5,3 5,7 4,7 C 3.2,7 2,7.6 2,8.5 l 0,3 c 0,1 0.9,1.5 2,1.5 l 1,0 0,1 -1,0 0,1 10,0 0,-1 -1,0 0,-1 1,0 c 1,0 2,-0.5 2,-1.5 l 0,-3 C 16,7.7 14.8,7 14,7 l -1,0 0,-4 z m 1,1 6,0 0,4 -6,0 z m -1,5 1,0 0,1 -1,0 z m 1,3 6,0 0,2 -6,0 z"/>
-  <path id="print-inverted" class="inverted" d="m 3.5,2.5 0,5 -0.5,0 c -0.8,0 -1.5,1.1 -1.5,2 l 0,2 c 0,0.8 0.4,2 2.5,2 l -1.5,0 0,2 13,0 0,-2 -1.5,0 c 2,0 2.5,-1.1 2.5,-2 l 0,-2 c 0,-0.8 -0.6,-2 -1.5,-2 l -0.5,0 0,-5 z m 2,2 7,0 0,3 -7,0 z m -1,5 2,0 0,1 -2,0 z m 1,3 7,0 0,1 -7,0 z"/>
-  <path id="find" class="normal" d="M 8,2.5 C 5,2.5 2.5,5 2.5,8 c 0,3 2.5,5.5 5.5,5.5 3,0 5.5,-2.4 5.5,-5.5 C 13.5,5 11,2.5 8,2.5 Z m 0,2 c 2,0 3.5,1.5 3.5,3.5 0,2 -1.5,3.5 -3.5,3.5 C 6,11.5 4.5,10 4.5,8 4.5,6 6,4.5 8,4.5 Z m 4.5,7 -1,1 3,3 1,-1 z"/>
-  <path id="find-flat" class="normal" d="M 8 3 A 5 5 0 0 0 3 8 A 5 5 0 0 0 8 13 A 5 5 0 0 0 13 8 A 5 5 0 0 0 8 3 z M 8 4 A 4 4 0 0 1 12 8 A 4 4 0 0 1 8 12 A 4 4 0 0 1 4 8 A 4 4 0 0 1 8 4 z m 4,7 -1,1 3,3 1,-1 z"/>
-  <path id="find-inverted" class="inverted" d="M 11,12.7 14.3,16 16,14 12.7,10.9 C 13.1,10 13.5,9 13.5,8 13.5,5 11,2.5 8,2.5 5,2.5 2.5,5 2.5,8 c 0,3 2.5,5.5 5.5,5.5 1,0 2,0 3,-0.8 z M 8,5 c 1.6,0 3,1.3 3,3 0,1.6 -1.3,3 -3,3 C 6.3,11 5,9.6 5,8 5,6.3 6.3,5 8,5 Z"/>
-  <path id="category" class="normal" d="M 4 2.5 C 3.3 2.5 2.5 3.3 2.5 4 L 2.5 8 L 10 15.5 L 15.5 10 L 8 2.5 L 4 2.5 z M 6 4 A 2 2 0 0 1 8 6 A 2 2 0 0 1 6 8 A 2 2 0 0 1 4 6 A 2 2 0 0 1 6 4 z"/>
-  <path id="category-flat" class="normal" d="M 4.5,3 C 3.8,3 3,3.8 3,4.5 L 3,8 10,15.5 15.5,10 8,3 Z m 2,1.5 c 1.1,0 2,0.9 2,2 0,1.1 -0.9,2 -2,2 -1.1,0 -2,-0.9 -2,-2 0,-1.1 0.9,-2 2,-2 z"/>
-  <path id="category-inverted" class="inverted" d="M 4 2.5 C 3.3 2.5 2.5 3.3 2.5 4 L 2.5 8 L 10 15.5 L 15.5 10 L 8 2.5 L 4 2.5 z M 6 4 A 2 2 0 0 1 8 6 A 2 2 0 0 1 6 8 A 2 2 0 0 1 4 6 A 2 2 0 0 1 6 4 z"/>
-  <path id="complete" class="normal" d="M 1.5,10.5 3,8.5 6.7,11.7 C 9,7.8 12.6,5.6 16.5,3.5 l 0,1 c -4,3.1 -7,6.7 -9,11.2 z"/>
-  <path id="complete-flat" class="normal" d="m 2,10.5 1.5,-2 3.7,3 C 9.5,7.6 12.1,5.6 16,3.5 l 0,1 c -4,3.1 -8.5,11 -8.5,11 z"/>
-  <path id="complete-inverted" class="inverted" d="M 1.5,10.5 3,7.5 6.7,10.7 C 9,6.8 12.6,4.6 16.5,2.5 l 0,2 c -4,3.1 -7,6.7 -9,11.2 z"/>
-  <path id="priority" class="normal" d="m 7.5,2.5 3,0 0,8 -3,0 z M 10.5,14 A 1.5,1.5 0 0 1 9,15.5 1.5,1.5 0 0 1 7.5,14 1.5,1.5 0 0 1 9,12.5 1.5,1.5 0 0 1 10.5,14 Z"/>
-  <path id="priority-flat" class="normal" d="m 7,3 4,0 -1,7.9 -2,0 z m 3.5,11 c 0,0.8 -0.6,1.5 -1.5,1.5 -0.8,0 -1.5,-0.6 -1.5,-1.5 0,-0.8 0.6,-1.5 1.5,-1.5 0.8,0 1.5,0.6 1.5,1.5 z"/>
-  <path id="priority-inverted" class="inverted" d="m 7.5,2.5 3,0 0,8 -3,0 z m 0,10 3,0 0,3 -3,0 z"/>
-  <path id="pane" class="normal" d="m 1.5,2.5 0,14 15,0 0,-14 -2,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 -3,0 0,2 -2,0 0,-3.5 0,3.5 -2,0 0,-2 z m 0,3 15,0 0,11 -15,0 z"/>
-  <path id="pane-flat" class="normal" d="M 2,3 2,16 16,16 16,3 14,3 14,5 13,5 13,2 12,2 12,5 11,5 11,3 7,3 7,5 6,5 6,2 5,2 5,5 4,5 4,3 Z m 1,3 12,0 0,9 -12,0 z"/>
-  <path id="pane-inverted" class="inverted" d="m 0.5,2.5 0,15 17,0 0,-15 -4,0 0,1 -3,0 0,-1 -3,0 0,1 -3,0 0,-1 z m 2,3 13,0 0,10 -13,0 z m 2,-5 0,3 3,0 0,-3 z m 6,0 0,3 3,0 0,-3 z"/>
-  <path id="save" class="normal" d="m 2.5,2.5 0,13 2,0 0,-6 8,0 0,6 3,0 0,-13 z m 2,0 9,0 0,5 -9,0 z m 2,9 4,0 0,4 -4,0 z"/>
-  <path id="save-flat" class="normal" d="M 2,2 2,16 16,16 16,2 Z M 4,3 14,3 14,8 4,8 Z m 0,7 7,0 0,5 -7,0 z m 1,1 0,3 2,0 0,-3 z"/>
-  <path id="save-inverted" class="inverted" d="m 2.5,2.5 0,13 2.1,0 0,-5 6.9,0 0,5 4,0 0,-13 z m 2,2 9,0 0,3 -9,0 z m 0.1,6 6.9,0 0,5 -6.9,0 z"/>
-  <path id="save-close" class="normal" d="m 4.5,2.5 4.5,0 4.5,0 z m -2,0 0,8.2 3,-3.2 0.2,0 2.1,2 1.4,0 2,-2 -6.7,0 0,-5 z m 11,0 0,2.7 0.4,-0.4 1.6,0 0,-2.3 z M 15,7 8.5,13.2 5.5,10.4 4,12 l 4.5,4.5 8,-8 z m 0.5,5.3 -3,3 0,0.2 3,0 z m -13,1 0,2.2 2,0 0,-0.2 z"/>
-  <path id="save-close-flat" class="normal" d="M 2,2 2,16 16,16 16,2 Z M 4,3 14,3 14,7 4,7 Z M 4.5,11.5 6,10 8,12 12.5,8 14,9.7 8,15 Z"/>
-  <path id="save-close-inverted" class="inverted" d="m 2.5,2.5 0,13 13,0 0,-13 z m 2,1.9 9,0 0,3.1 -9,0 z m 0.7,7.3 0.7,-0.6 1.7,1.6 4.4,-3.1 0.6,0.8 -5.1,3.6 z"/>
-  <path id="address" class="normal" d="m 2.5,15.5 13,0 c 0,-3.4 -2.2,-3 -5,-3 l 0,-1 C 12.5,10.4 12.7,9.4 13,8 13,7.7 13.5,7.4 13.5,7 13.5,6.6 13.1,6.3 13,6 12.8,5.6 12.9,3.7 12,3 10.4,1.8 7.56,1.8 6,3 5,3.7 5.1,5.6 5,6 4.8,6.3 4.5,6.6 4.5,7 c 0,0.3 0.4,0.6 0.5,1 0.2,1.5 0.5,2.3 2.5,3.5 l 0,1 c -2.5,0 -5,-0.5 -5,3 z"/>
-  <path id="address-flat" class="normal" d="m 3,15 12,0 c 0,-3 -1.2,-3 -4,-3 l 0,-1 C 13,9.9 12.7,9.4 13,8 13,7.7 13.5,7.4 13.5,7 13.5,6.6 13.1,6.3 13,6 12.8,5.6 12.9,3.7 12,3 10.4,1.8 7.56,1.8 6,3 5,3.7 5.1,5.6 5,6 4.8,6.3 4.5,6.6 4.5,7 4.5,7.3 4.9,7.6 5,8 5.2,9.5 5,9.8 7,11 l 0,1 c -2.5,0 -4,0 -4,3 z"/>
-  <path id="address-inverted" class="inverted" d="m 2.5,15.5 13,0 c 0,-3.4 -2.2,-3 -5,-3 l 0,-1 C 12.5,10.4 12.7,9.4 13,8 13,7.7 13.5,7.4 13.5,7 13.5,6.6 13.1,6.3 13,6 12.8,5.6 12.9,3.7 12,3 10.4,1.8 7.56,1.8 6,3 5,3.7 5.1,5.6 5,6 4.8,6.3 4.5,6.6 4.5,7 c 0,0.3 0.4,0.6 0.5,1 0.2,1.5 0.5,2.3 2.5,3.5 l 0,1 c -2.5,0 -5,-0.5 -5,3 z"/>
-  <path id="security" class="normal" d="m 9,2.5 c -3,0 -5,1 -5.5,5 l 0,1 -1,0 0,7 13,0 0,-7 -1,0 0,-1 c 0,-4 -3,-5 -5,-5 z m 0,2 c 3,0 3.5,1 3.5,4 l -7,0 c 0,-3 1,-4 3.5,-4 z"/>
-  <path id="security-flat" class="normal" d="M 9,3 C 6.25,3 4,4 4,7.5 L 4,9 3,9 3,15 15,15 15,9 14,9 14,7.5 C 14,4 11.5,3 9,3 Z m 0,2 c 3,0 3,1 3,4 L 6,9 C 6,6 6,5 9,5 Z"/>
-  <path id="security-inverted" class="inverted" d="m 9,2.5 c -2.75,0 -5.5,0.75 -5.5,5 l 0,1 -1,0 0,7 13,0 0,-7 -1,0 0,-1 c 0,-4 -3,-5 -5.5,-5 z m 0,3 c 2.5,0 2.5,1 2.5,3 l -5,0 c 0,-2 0,-3 2.5,-3 z"/>
-  <path id="attach" class="normal" d="m 13.5,2.5 0,10.5 -4,3.5 -4,-3.5 0,-11.5 6,0 0,10 -2,2 -2,-2 0,-8 2,0 0,6.5" style="fill:none; stroke-opacity:1"/>
-  <path id="attach-inverted" class="inverted" d="m 11.5,3 2,0 0,10 L 9,16.5 4.5,13 l 0,-11.5 7,0 z m 0,0.5 0,8.5 -2.5,2 -2.5,-2 0,-8.5 3,0 0,7.5 L 9,11.4 8.5,11 8.5,4"/>
-  <path id="status" class="normal" d="M 16.5,9 A 7.5,7.5 0 0 1 9,16.5 7.5,7.5 0 0 1 1.5,9 7.5,7.5 0 0 1 9,1.5 7.5,7.5 0 0 1 16.5,9 Z M 12.5,9 A 3.5,3.5 0 0 1 9,12.5 3.5,3.5 0 0 1 5.5,9 3.5,3.5 0 0 1 9,5.5 3.5,3.5 0 0 1 12.5,9 Z" style="fill-opacity:0.5"/>
-  <path id="status-flat" class="normal" d="M 9 2 A 7 7 0 0 0 2 9 A 7 7 0 0 0 9 16 A 7 7 0 0 0 16 9 A 7 7 0 0 0 9 2 z M 9 5 A 4 4 0 0 1 13 9 A 4 4 0 0 1 9 13 A 4 4 0 0 1 5 9 A 4 4 0 0 1 9 5 z M 12,9 A 3,3 0 0 1 9,12 3,3 0 0 1 6,9 3,3 0 0 1 9,6 3,3 0 0 1 12,9 Z"/>
-  <path id="status-inverted" class="inverted" d="M 16.5,9 A 7.5,7.5 0 0 1 9,16.5 7.5,7.5 0 0 1 1.5,9 7.5,7.5 0 0 1 9,1.5 7.5,7.5 0 0 1 16.5,9 Z M 12.5,9 A 3.5,3.5 0 0 1 9,12.5 3.5,3.5 0 0 1 5.5,9 3.5,3.5 0 0 1 9,5.5 3.5,3.5 0 0 1 12.5,9 Z"/>
-  <path id="freebusy" class="normal" d="M 9,1.5 C 4.8,1.5 1.5,4.8 1.5,9 1.5,13.1 5.2,16.3 9,16.5 13,16.7 16.5,13.2 16.5,9 16.5,4.8 13.1,1.5 9,1.5 Z m 0,0 c 0.7,0 1.5,0 2.5,0.5 l 0,4.5 4,0 0,5 -6,0 0,5 C 4.5,16.3 1.5,12.5 1.5,9 1.5,5.3 4.2,1.6 9,1.5 Z m -0.5,2 1,0 0,5 4,0 0,1 -5,0 z"/>
-  <path id="freebusy-flat" class="normal" d="M 9,2 C 4.8,2 2,4.8 2,9 c 0,4.1 4,7 7,7 4,0 7,-2.8 7,-7 C 16,4.8 13.1,2 9,2 Z m 0,1 c 0.7,0 1,0 2,0.3 l 0,3.7 3,0 0,4 -5,0 0,4 C 5,15 3,11 3,9 3,6 5,3 9,3 Z m -1,1 2,0 0,4 3,0 0,2 -5,0 z"/>
-  <path id="freebusy-inverted" class="inverted" d="M 9,1.5 C 4.8,1.5 1.5,4.8 1.5,9 1.5,13.1 5.2,16.3 9,16.5 13,16.7 16.5,13.2 16.5,9 16.5,4.8 13.1,1.5 9,1.5 Z m -1.5,3.7 0,-1.7 3,0 0,4 4,0 0,3 -5,0 0,3 C 6.2,13.4 4.4,11.5 4.5,9 4.5,6.4 6,5.2 7.5,5.2 Z m 0,-1.7 3,0 0,4 4,0 0,3 -7,0 z"/>
-  <path id="timezones" class="normal" d="M 9,1.5 C 4.8,1.5 1.5,4.8 1.5,9 1.5,13.1 5.2,16.3 9,16.5 13,16.7 16.5,13.2 16.5,9 16.5,4.8 13.1,1.5 9,1.5 Z M 7,3.8 6.3,4.6 6.3,5.7 7.1,6.8 7.8,8.2 9.4,8.3 10.4,6.1 9.8,3.8 11.3,1.9 c 1.5,0.5 3,1.5 3.8,3 l -3.4,2.5 1.6,-0.1 1.3,2 -0.3,1.8 -0.8,1.4 0.7,1.8 c -0.5,0.7 -1.5,1.3 -2.6,1.7 L 9.7,14 11.2,11.1 9.7,9.9 8.3,9 6.8,10.2 5.9,12.2 6,14 7,16 C 4.7,15.4 3.3,14 2.3,12.2 L 3.5,10.4 3.4,8.9 4.3,8 3.7,7.1 3.7,5.4 2.8,4.7 C 4,3 5.8,1.8 7.8,1.6 Z"/>
-  <path id="timezones-flat" class="normal" d="M 9,2 C 4.8,2 2,4.8 2,9 c 0,4.1 3,7 7,7 4,0 7,-2.8 7,-7 C 16,4.8 13.1,2 9,2 Z m -2,2.3 -0.7,0.8 0,1.1 0.8,1.1 0.7,0.7 1.6,0 1,-1.4 -0.6,-2.3 1.4,-1 c 0,0 1,0 2.4,1.6 l -2.4,2.5 1.3,0.5 1.6,1.4 -0.3,1.8 -1,1.2 1,0.8 -2,1.4 -1.9,-1 L 11.5,11 8.3,9 5.9,11.8 6,13.1 7,14.5 C 6,14 4,13 3.9,12.2 L 4.7,10.5 3.9,8.4 4.8,7.5 4.2,6.6 4.2,5.4 4.3,4.8 C 5,4 6,3 8,3 Z"/>
-  <path id="timezones-inverted" class="inverted" d="M 9,1.5 C 4.8,1.5 1.5,4.8 1.5,9 1.5,13.1 5.2,16.3 9,16.5 13,16.7 16.5,13.2 16.5,9 16.5,4.8 13.1,1.5 9,1.5 Z m -2.8,3.3 0.8,2.8 L 7.5,9 9.9,8.6 10,5.7 9.8,3.6 c 1.5,0.5 1.8,0.1 2.6,1.6 l -1,2 0.3,2.7 2.6,-0.7 C 14.2,12 12.6,13.4 10.2,14.3 L 11.1,13.3 11,11.2 10.1,8.7 7,9 5.8,13.4 8,14.5 c -2.3,-0.6 -3.5,-2 -4.5,-3.8 C 5.6,9.3 6,8 4.3,5.7 5.6,4.3 6,4 7.7,3.5 Z"/>
-  <path id="decline" class="normal" d="M 2.5,5 5,2.5 l 4,4 4,-4 2.5,2.5 -4,4 4,4 -2.5,2.5 -4,-4 -4,4 -2.5,-2.5 4,-4 z"/>
-  <path id="decline-flat" class="normal" d="M 3,5.5 5.5,3 9,6.5 12.5,3 15,5.5 11.5,9 15,12.5 12.5,15 9,11.5 5.5,15 3,12.5 6.5,9 Z"/>
-  <path id="decline-inverted" class="inverted" d="M 2.5,5 5,2.5 l 4,4 4,-4 2.5,2.5 -4,4 4,4 -2.5,2.5 -4,-4 -4,4 -2.5,-2.5 4,-4 z"/>
-  <path id="tentative" class="normal" d="m 8.2,6.5 -2.7,0 c 0,-1.4 0.5,-4 3.5,-4 2.3,0 4.4,1 4.5,4 0,2.8 -3,2.5 -3,5 l -3,0 C 7.4,8 10.3,8.5 10.2,6.5 10,5.5 9.3,5.5 9,5.5 c 0,0 -0.8,0 -0.8,1 z m -0.7,7 3,0 0,2 -3,0 z"/>
-  <path id="tentative-flat" class="normal" d="M 8,7 6,7 C 6,5.6 6,3 9,3 c 2,0 4,0 4,3.5 0,3 -3,3 -3,5.5 L 8,12 C 8,8.5 11.1,8.5 11,6.5 11,5 10,5 9,5 8,5 8,6 8,7 Z m 0,6 2,0 0,2 -2,0 z"/>
-  <path id="tentative-inverted" class="inverted" d="m 8.2,6.5 -2.7,0 c 0,-1.4 0.5,-4 3.5,-4 2.3,0 4.4,1 4.5,4 0,2.8 -3,2.5 -3,5 l -3,0 C 7.4,8 10.3,8.5 10.2,6.5 10,5.5 9.3,5.5 9,5.5 c 0,0 -0.8,0 -0.8,1 z m -0.7,7 3,0 0,2 -3,0 z"/>
-</svg>
--- a/calendar/base/themes/common/dialogs/calendar-event-dialog.css
+++ b/calendar/base/themes/common/dialogs/calendar-event-dialog.css
@@ -30,16 +30,62 @@ dialog[systemcolors] {
 #calendar-event-dialog .todo-only,
 #calendar-task-dialog .event-only,
 #calendar-event-dialog-inner .todo-only,
 #calendar-task-dialog-inner .event-only {
     display: none;
 }
 
 /*--------------------------------------------------------------------
+ *   Event dialog toolbar buttons
+ *-------------------------------------------------------------------*/
+
+#button-save {
+    list-style-image: url(chrome://calendar-common/skin/icons/save.svg);
+}
+
+#button-saveandclose {
+    list-style-image: url(chrome://calendar-common/skin/icons/save-close.svg);
+}
+
+#button-attendees {
+    list-style-image: url(chrome://calendar-common/skin/icons/address.svg);
+}
+
+#button-privacy {
+    list-style-image: url(chrome://calendar-common/skin/icons/security.svg);
+}
+
+#button-url {
+    list-style-image: url(chrome://calendar-common/skin/icons/attach.svg);
+}
+
+#button-delete.cal-event-toolbarbutton {
+    /* !important to override the SM #button-delete states */
+    list-style-image: url(chrome://calendar-common/skin/icons/delete.svg) !important;
+    -moz-image-region: auto !important;
+}
+
+#button-priority {
+    list-style-image: url(chrome://calendar-common/skin/icons/priority.svg);
+}
+
+#button-status {
+    list-style-image: url(chrome://calendar-common/skin/icons/status.svg);
+}
+
+#button-freebusy {
+    list-style-image: url(chrome://calendar-common/skin/icons/freebusy.svg);
+}
+
+#button-timezones {
+    list-style-image: url(chrome://calendar-common/skin/icons/timezones.svg);
+}
+
+/*--------------------------------------------------------------------
  *   Event dialog counter box section
  *-------------------------------------------------------------------*/
 
 #counter-proposal-box {
     background-color: rgb(186, 238, 255);
     border-bottom: 1px solid #444444;
 }
 
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/address.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="m 2,14 h 12 c 0,-3 -1.2,-3 -4,-3 V 10 C 12,8.9 11.7,8.4 12,7 12,6.7 12.5,6.4 12.5,6 12.5,5.6 12.1,5.3 12,5 11.8,4.6 11.9,2.7 11,2 9.4,0.8 6.56,0.8 5,2 4,2.7 4.1,4.6 4,5 3.8,5.3 3.5,5.6 3.5,6 3.5,6.3 3.9,6.6 4,7 4.2,8.5 4,8.8 6,10 v 1 c -2.5,0 -4,0 -4,3 z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/attach.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
+  <path fill="context-fill" d="M12 12V3.5c0-.28-.22-.5-.5-.5s-.5.22-.5.5V12zM7 4.5V11H6V4.5c0-.28.22-.5.5-.5s.5.22.5.5zM4 3c0-1.66 1.34-3 3-3s3 1.34 3 3v8H9V4H5v8H4zm3 8c0 .55.45 1 1 1s1-.45 1-1h1c0 1.1-.9 2-2 2s-2-.9-2-2zm-2 1c0 1.66 1.34 3 3 3s3-1.34 3-3h1c0 2.2-1.8 4-4 4s-4-1.8-4-4zm0-9v1h4V3zm4 0c0-1.1-.9-2-2-2s-2 .9-2 2z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/calendar-tab.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 1,2 V 15 H 15 V 2 H 13 V 4 H 12 V 1 H 11 V 4 H 10 V 2 H 6 V 4 H 5 V 1 H 4 V 4 H 3 V 2 Z m 1,3 h 12 v 9 H 2 Z m 3,2 h 6 L 8,13 H 5.5 l 2,-4 H 5 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/category.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 3.5,2 C 2.8,2 2,2.8 2,3.5 V 7 L 9,14.5 14.5,9 7,2 Z m 2,1.5 c 1.1,0 2,0.9 2,2 0,1.1 -0.9,2 -2,2 -1.1,0 -2,-0.9 -2,-2 0,-1.1 0.9,-2 2,-2 z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/complete.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="m 1,9.5 1.5,-2 3.7,3 C 8.5,6.6 11.1,4.6 15,2.5 v 1 c -4,3.1 -8.5,11 -8.5,11 z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/decline.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 2,4.5 4.5,2 8,5.5 11.5,2 14,4.5 10.5,8 14,11.5 11.5,14 8,10.5 4.5,14 2,11.5 5.5,8 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/delete.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="m 8,0.5 c 4.2,0 7.5,3.3 7.5,7.5 0,4.1 -3.3,7.5 -7.5,7.5 C 3.9,15.5 0.5,12.2 0.5,8 0.5,3.8 3.9,0.5 8,0.5 Z m -3,3 7.5,7.5 C 15.3,6.1 10,0.7 5,3.5 Z M 3.5,5 c -3.1,5.4 2.9,10 7.5,7.5 z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/edit.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 3.2,10 1.5,14.5 6,12.8 Z M 6.7,12 14.5,4.3 11.7,1.5 4,9.3 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/find.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 7,2 A 5,5 0 0 0 2,7 5,5 0 0 0 7,12 5,5 0 0 0 12,7 5,5 0 0 0 7,2 Z M 7,3 A 4,4 0 0 1 11,7 4,4 0 0 1 7,11 4,4 0 0 1 3,7 4,4 0 0 1 7,3 Z m 4,7 -1,1 3,3 1,-1 z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/freebusy.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 8,1 C 3.8,1 1,3.8 1,8 c 0,4.1 4,7 7,7 4,0 7,-2.8 7,-7 C 15,3.8 12.1,1 8,1 Z m 0,1 c 0.7,0 1,0 2,0.3 V 6 h 3 v 4 H 8 v 4 C 4,14 2,10 2,8 2,5 4,2 8,2 Z M 7,3 h 2 v 4 h 3 V 9 H 7 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/newevent.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 1,2 V 15 H 15 V 2 H 13 V 4 H 12 V 1 H 11 V 4 H 10 V 2 H 6 V 4 H 5 V 1 H 4 V 4 H 3 V 2 Z m 1,3 h 12 v 9 H 2 Z m 5,2 h 2 v 2 h 2 v 2 H 9 v 2 H 7 V 11 H 5 V 9 h 2 z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/newtask.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 4,2 H 2 V 15 H 14 V 2 h -2 v 3 h 1 v 9 H 3 V 5 H 4 Z M 5,1 h 6 V 5 H 5 Z m 2,6 h 2 v 2 h 2 v 2 H 9 v 2 H 7 V 11 H 5 V 9 h 2 z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/pane.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 1,2 V 15 H 15 V 2 H 13 V 4 H 12 V 1 H 11 V 4 H 10 V 2 H 6 V 4 H 5 V 1 H 4 V 4 H 3 V 2 Z m 1,3 h 12 v 9 H 2 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/print.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M14 5h-1V1a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v4H2a2 2 0 0 0-2 2v5h3v3a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-3h3V7a2 2 0 0 0-2-2zM2.5 8a.5.5 0 1 1 .5-.5.5.5 0 0 1-.5.5zm9.5 7H4v-5h8zm0-10H4V1h8zm-6.5 7h4a.5.5 0 0 0 0-1h-4a.5.5 0 1 0 0 1zm0 2h5a.5.5 0 0 0 0-1h-5a.5.5 0 1 0 0 1z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/priority.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="m 6,2 h 4 L 9,9.9 H 7 Z m 3.5,11 c 0,0.8 -0.6,1.5 -1.5,1.5 -0.8,0 -1.5,-0.6 -1.5,-1.5 0,-0.8 0.6,-1.5 1.5,-1.5 0.8,0 1.5,0.6 1.5,1.5 z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/save-close.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 1,1 V 15 H 15 V 1 Z M 3,2 H 13 V 6 H 3 Z M 3.5,10.5 5,9 7,11 11.5,7 13,8.7 7,14 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/save.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 1,1 V 15 H 15 V 1 Z M 3,2 H 13 V 7 H 3 Z m 0,7 h 7 v 5 H 3 Z m 1,1 v 3 h 2 v -3 z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/security.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 8,2 C 5.25,2 3,3 3,6.5 V 8 H 2 v 6 H 14 V 8 H 13 V 6.5 C 13,3 10.5,2 8,2 Z m 0,2 c 3,0 3,1 3,4 H 5 C 5,5 5,4 8,4 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/status.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 8,1 A 7,7 0 0 0 1,8 7,7 0 0 0 8,15 7,7 0 0 0 15,8 7,7 0 0 0 8,1 Z M 8,4 A 4,4 0 0 1 12,8 4,4 0 0 1 8,12 4,4 0 0 1 4,8 4,4 0 0 1 8,4 Z m 3,4 A 3,3 0 0 1 8,11 3,3 0 0 1 5,8 3,3 0 0 1 8,5 3,3 0 0 1 11,8 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/synchronize.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="m 10,1.4 v 3.7 c 3,1.6 2.4,4.4 0,5.8 L 8,9 v 6 h 5.7 L 12.1,13.4 C 16.6,11 16,2.2 10,1.4 Z M 6.2,5.2 8,7 V 1 H 2.2 L 3.8,2.5 C -1.4,5.7 1.3,13.4 6,14.6 V 11 C 3.1,9.2 3.3,6.3 6.2,5.2 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/task-tab.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 4,2 H 2 V 15 H 14 V 2 h -2 v 3 h 1 v 9 H 3 V 5 H 4 Z M 5,1 h 6 V 5 H 5 Z M 4.4,10.3 5.7,8.7 7.5,10.2 10.5,6.5 12,8 7.5,13 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/tentative.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 7,6 H 5 C 5,4.6 5,2 8,2 c 2,0 4,0 4,3.5 0,3 -3,3 -3,5.5 H 7 C 7,7.5 10.1,7.5 10,5.5 10,4 9,4 8,4 7,4 7,5 7,6 Z m 0,6 h 2 v 2 H 7 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/timezones.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 8,1 C 3.8,1 1,3.8 1,8 c 0,4.1 3,7 7,7 4,0 7,-2.8 7,-7 C 15,3.8 12.1,1 8,1 Z M 6,3.3 5.3,4.1 V 5.2 L 6.1,6.3 6.8,7 h 1.6 l 1,-1.4 -0.6,-2.3 1.4,-1 c 0,0 1,0 2.4,1.6 l -2.4,2.5 1.3,0.5 1.6,1.4 -0.3,1.8 -1,1.2 1,0.8 -2,1.4 -1.9,-1 L 10.5,10 7.3,8 4.9,10.8 5,12.1 6,13.5 C 5,13 3,12 2.9,11.2 L 3.7,9.5 2.9,7.4 3.8,6.5 3.2,5.6 V 4.4 L 3.3,3.8 C 4,3 5,2 7,2 Z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/calendar/base/themes/common/icons/today.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+  <path fill="context-fill" fill-opacity="context-fill-opacity" d="M 1,2 V 15 H 15 V 2 H 13 V 4 H 12 V 1 H 11 V 4 H 10 V 2 H 6 V 4 H 5 V 1 H 4 V 4 H 3 V 2 Z m 1,3 h 12 v 9 H 2 Z m 5,1 h 2 v 3 h 2 L 8,13 5,9 h 2 z"/>
+</svg>
--- a/calendar/base/themes/common/today-pane.css
+++ b/calendar/base/themes/common/today-pane.css
@@ -72,16 +72,19 @@
 .miniday-nav-buttons {
   margin-top: 2px;
   min-width: 19px;
   -moz-user-focus: normal;
 }
 
 #today-button {
   list-style-image: url("chrome://calendar-common/skin/widgets/nav-today.svg");
+  -moz-context-properties: fill, fill-opacity;
+  fill: currentColor;
+  fill-opacity: var(--toolbarbutton-icon-fill-opacity);
 }
 
 .miniday-nav-buttons[disabled] {
   opacity: .3;
 }
 
 .miniday-nav-buttons > .toolbarbutton-icon {
   margin: 1px;
@@ -104,16 +107,17 @@
 
 #agenda-toolbar {
   border: none;
   padding: 1px;
 }
 
 #todaypane-new-event-button {
   -moz-user-focus: normal;
+  list-style-image: url(chrome://calendar-common/skin/icons/newevent.svg);
 }
 
 #todaypane-new-event-button > .toolbarbutton-text {
  padding-inline-start: 5px;
 }
 
 #agenda-listbox {
   -moz-appearance: none;
--- a/calendar/base/themes/linux/calendar-task-view.css
+++ b/calendar/base/themes/linux/calendar-task-view.css
@@ -52,55 +52,11 @@
     -moz-appearance: none;
 }
 
 #task-actions-toolbar {
     min-height: 0;
     padding: 0;
 }
 
-#task-actions-category {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#category);
-}
-
-#task-actions-markcompleted {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete);
-}
-
-#task-actions-priority {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority);
-}
-
-#calendar-delete-task-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete);
-}
-
-#task-actions-toolbar[brighttext] > #task-actions-category {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#category-inverted);
-}
-
-#task-actions-toolbar[brighttext] > #task-actions-markcompleted {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete-inverted);
+#calendar-add-task-button[disabled="true"] {
+    fill-opacity: 0.4;
 }
-
-#task-actions-toolbar[brighttext] > #task-actions-priority {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-inverted);
-}
-
-
-#task-actions-toolbar[brighttext] > #calendar-delete-task-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete-inverted);
-}
-
-#calendar-add-task-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask);
-    -moz-image-region: rect(0 18px 18px 0);
-}
-
-#calendar-add-task-button[disabled="true"] > .toolbarbutton-icon {
-  opacity: 0.4;
-}
-
-#calendar-add-task-button > .toolbarbutton-icon {
-  width: 18px;
-  height: 18px;
-  margin: -1px;
-}
--- a/calendar/base/themes/linux/dialogs/calendar-event-dialog.css
+++ b/calendar/base/themes/linux/dialogs/calendar-event-dialog.css
@@ -8,94 +8,8 @@
 
 #keepduration-button {
     min-width: 21px;
 }
 
 #timezone-endtime {
     margin-inline-start: 16px;
 }
-
-/*--------------------------------------------------------------------
- *   Event dialog toolbar buttons
- *-------------------------------------------------------------------*/
-
-#button-save {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save);
-}
-
-#button-saveandclose {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-close);
-}
-
-#button-attendees {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#address);
-}
-
-#button-privacy {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#security);
-}
-
-#button-url {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#attach);
-}
-
-#button-delete.cal-event-toolbarbutton {
-    /* !important to override the SM #button-delete states */
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete) !important;
-  -moz-image-region: auto !important;
-}
-
-#button-priority {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority);
-}
-
-#button-status {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#status);
-}
-
-#button-freebusy {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#freebusy);
-}
-
-#button-timezones {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#timezones);
-}
-
-toolbar[brighttext] #button-save {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-inverted);
-}
-
-toolbar[brighttext] #button-saveandclose {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-close-inverted);
-}
-
-toolbar[brighttext] #button-attendees {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#address-inverted);
-}
-
-toolbar[brighttext] #button-privacy {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#security-inverted);
-}
-
-toolbar[brighttext] #button-url {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#attach-inverted);
-}
-
-toolbar[brighttext] #button-delete.cal-event-toolbarbutton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete-inverted) !important;
-}
-
-toolbar[brighttext] #button-priority {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-inverted);
-}
-
-toolbar[brighttext] #button-status {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#status-inverted);
-}
-
-toolbar[brighttext] #button-freebusy {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#freebusy-inverted);
-}
-
-toolbar[brighttext] #button-timezones {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#timezones-inverted);
-}
--- a/calendar/base/themes/linux/today-pane.css
+++ b/calendar/base/themes/linux/today-pane.css
@@ -73,21 +73,11 @@
 #today-button:hover {
   list-style-image: url("chrome://calendar-common/skin/widgets/nav-today-hov.svg");
 }
 
 #miniday-dropdown-button {
   max-width: 18px;
 }
 
-#todaypane-new-event-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent);
-}
-
 #todaypane-new-event-button[disabled="true"] > .toolbarbutton-icon {
   opacity: 0.4;
 }
-
-#todaypane-new-event-button > .toolbarbutton-icon {
-  width: 18px;
-  height: 18px;
-  margin: -1px;
-}
--- a/calendar/base/themes/osx/calendar-task-view.css
+++ b/calendar/base/themes/osx/calendar-task-view.css
@@ -41,84 +41,15 @@
         background: -moz-mac-chrome-inactive;
     }
 
     #calendar-task-details-container:-moz-window-inactive {
         background-color: -moz-mac-chrome-inactive;
     }
 }
 
-@media not all and (-moz-mac-yosemite-theme) {
-  #task-actions-category {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#category);
-  }
-
-  #task-actions-markcompleted {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#complete);
-  }
-
-  #task-actions-priority {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#priority);
-  }
-
-  #calendar-delete-task-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#delete);
-  }
-
-  #calendar-add-task-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#newtask);
-      -moz-image-region: rect(0 18px 18px 0);
-  }
-}
-
-@media (-moz-mac-yosemite-theme) {
-  #task-actions-category {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#category-flat);
-  }
-
-  #task-actions-markcompleted {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete-flat);
-  }
-
-  #task-actions-priority {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-flat);
-  }
-
-  #calendar-delete-task-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete);
-  }
-
-  #calendar-add-task-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask-flat);
-      -moz-image-region: rect(0 18px 18px 0);
-  }
-}
-
-#task-actions-toolbar[brighttext] > #task-actions-category {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#category-inverted);
-}
-
-#task-actions-toolbar[brighttext] > #task-actions-markcompleted {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete-inverted);
-}
-
-#task-actions-toolbar[brighttext] > #task-actions-priority {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-inverted);
-}
-
-
-#task-actions-toolbar[brighttext] > #calendar-delete-task-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete-inverted);
-}
-
-#calendar-add-task-button > .toolbarbutton-icon {
-  width: 18px;
-  height: 18px;
-  margin: -1px;
-}
-
-#calendar-add-task-button[disabled="true"] > .toolbarbutton-icon {
-  opacity: .5;
+#calendar-add-task-button[disabled="true"] {
+    fill-opacity: .5;
 }
 
 #calendar-add-task-button > .toolbarbutton-text {
-  margin-inline-start: 0px;
+    margin-inline-start: 0px;
 }
--- a/calendar/base/themes/osx/dialogs/calendar-event-dialog.css
+++ b/calendar/base/themes/osx/dialogs/calendar-event-dialog.css
@@ -8,140 +8,8 @@
 
 #keepduration-button {
     padding: 3px 6px;
 }
 
 #timezone-endtime {
     margin-inline-start: 15px;
 }
-
-/*--------------------------------------------------------------------
- *   Event dialog toolbar buttons
- *-------------------------------------------------------------------*/
-
-@media not all and (-moz-mac-yosemite-theme) {
-  #button-save {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#save);
-  }
-
-  #button-saveandclose {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#save-close);
-  }
-
-  #button-attendees {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#address);
-  }
-
-  #button-privacy {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#security);
-  }
-
-  #button-url {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#attach);
-  }
-
-  #button-priority {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#priority);
-  }
-
-  #button-status {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#status);
-  }
-
-  #button-freebusy {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#freebusy);
-  }
-
-  #button-timezones {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#timezones);
-  }
-
-  #button-delete.cal-event-toolbarbutton {
-    /* !important to override the SM #button-delete states */
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#delete) !important;
-    -moz-image-region: auto !important;
-  }
-}
-
-@media (-moz-mac-yosemite-theme) {
-  #button-save {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-flat);
-  }
-
-  #button-saveandclose {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-close-flat);
-  }
-
-  #button-attendees {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#address-flat);
-  }
-
-  #button-privacy {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#security-flat);
-  }
-
-  #button-url {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#attach);
-  }
-
-  #button-priority {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-flat);
-  }
-
-  #button-status {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#status-flat);
-  }
-
-  #button-freebusy {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#freebusy-flat);
-  }
-
-  #button-timezones {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#timezones-flat);
-  }
-
-  #button-delete.cal-event-toolbarbutton {
-    /* !important to override the SM #button-delete states */
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete) !important;
-    -moz-image-region: auto !important;
-  }
-}
-
-toolbar[brighttext] #button-save {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-inverted);
-}
-
-toolbar[brighttext] #button-saveandclose {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-close-inverted);
-}
-
-toolbar[brighttext] #button-attendees {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#address-inverted);
-}
-
-toolbar[brighttext] #button-privacy {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#security-inverted);
-}
-
-toolbar[brighttext] #button-url {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#attach-inverted);
-}
-
-toolbar[brighttext] #button-delete.cal-event-toolbarbutton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete-inverted) !important;
-}
-
-toolbar[brighttext] #button-priority {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-inverted);
-}
-
-toolbar[brighttext] #button-status {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#status-inverted);
-}
-
-toolbar[brighttext] #button-freebusy {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#freebusy-inverted);
-}
-
-toolbar[brighttext] #button-timezones {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#timezones-inverted);
-}
--- a/calendar/base/themes/osx/today-pane.css
+++ b/calendar/base/themes/osx/today-pane.css
@@ -63,22 +63,16 @@
   background-color: -moz-dialog;
   color: -moz-dialogtext;
 }
 
 #today-pane-panel:-moz-lwtheme {
   box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, .4);
 }
 
-@media not all and (-moz-mac-yosemite-theme) {
-  #todaypane-new-event-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#newevent);
-  }
-}
-
 @media (-moz-mac-yosemite-theme) {
   #today-pane-panel {
     border-top: solid 1px rgba(0, 0, 0, 0.37);
   }
 
   #today-pane-panel:not(:-moz-lwtheme):-moz-window-inactive {
     border-top-color: rgba(0, 0, 0, 0.2);
     background-color: hsl(0, 0%, 97%);
@@ -86,36 +80,26 @@
 
   #mini-day-image:-moz-window-inactive {
     background: linear-gradient(hsl(0, 0%, 97%), hsl(0, 0%, 95%));
   }
 
   #agenda-toolbar:-moz-window-inactive {
     background-color: hsl(0, 0%, 97%);
   }
-
-  #todaypane-new-event-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent-flat);
-  }
 }
 
 #todaypane-new-event-button[disabled="true"] > .toolbarbutton-icon {
   opacity: .5;
 }
 
 #todaypane-new-event-button > .toolbarbutton-text {
   margin-inline-start: 0px;
 }
 
-#todaypane-new-event-button > .toolbarbutton-icon {
-  width: 18px;
-  height: 18px;
-  margin: -1px;
-}
-
 #agenda-listbox {
   border-top-color: #B8B8B8;
 }
 
 #today-pane-splitter {
   min-height: 9px;
   border-top: 1px solid #B8B8B8;
 }
--- a/calendar/base/themes/windows/calendar-task-view.css
+++ b/calendar/base/themes/windows/calendar-task-view.css
@@ -50,55 +50,18 @@
     -moz-appearance: none;
 }
 
 #task-actions-toolbar {
     min-height: 0;
     padding: 0;
 }
 
-#task-actions-category {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#category);
-}
-
-#task-actions-markcompleted {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete);
-}
-
-#task-actions-priority {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority);
-}
-
-#calendar-delete-task-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete);
-}
-
-#task-actions-toolbar[brighttext] > #task-actions-category {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#category-inverted);
-}
-
-#task-actions-toolbar[brighttext] > #task-actions-markcompleted {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete-inverted);
-}
-
-#task-actions-toolbar[brighttext] > #task-actions-priority {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-inverted);
-}
-
-#task-actions-toolbar[brighttext] > #calendar-delete-task-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete-inverted);
-}
-
-#calendar-add-task-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask);
-    -moz-image-region: rect(0 18px 18px 0);
-}
-
-#calendar-add-task-button[disabled="true"] > .toolbarbutton-icon {
-    opacity: 0.4;
+#calendar-add-task-button[disabled="true"] {
+    fill-opacity: 0.4;
 }
 
 #view-task-edit-field,
 #task-text-filter-field {
     width: 15em;
 }
 
 #calendar-task-box #calendar-task-view-splitter {
@@ -131,27 +94,8 @@
 @media (-moz-os-version: windows-vista),
        (-moz-os-version: windows-win7) {
     #view-task-edit-field,
     #task-text-filter-field {
         margin-top: 4px;
         margin-bottom: 4px;
     }
 }
-
-@media (-moz-os-version: windows-win8) and (-moz-windows-default-theme),
-       (-moz-os-version: windows-win10) and (-moz-windows-default-theme) {
-    #task-actions-category {
-        list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#category-flat);
-    }
-
-    #task-actions-markcompleted {
-        list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete-flat);
-    }
-
-    #task-actions-priority {
-        list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-flat);
-    }
-
-    #calendar-add-task-button {
-        list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask-flat);
-    }
-}
--- a/calendar/base/themes/windows/dialogs/calendar-event-dialog.css
+++ b/calendar/base/themes/windows/dialogs/calendar-event-dialog.css
@@ -8,129 +8,8 @@
 
 #keepduration-button {
     min-width: 21px;
 }
 
 #timezone-endtime {
     margin-inline-start: 16px;
 }
-
-#button-save {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save);
-}
-
-#button-saveandclose {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-close);
-}
-
-#button-attendees {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#address);
-}
-
-#button-privacy {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#security);
-}
-
-#button-url {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#attach);
-}
-
-#button-delete.cal-event-toolbarbutton {
-    /* !important to override the SM #button-delete states */
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete) !important;
-    -moz-image-region: auto !important;
-}
-
-#button-priority {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority);
-}
-
-#button-status {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#status);
-}
-
-#button-freebusy {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#freebusy);
-}
-
-#button-timezones {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#timezones);
-}
-
-toolbar[brighttext] #button-save {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-inverted);
-}
-
-toolbar[brighttext] #button-saveandclose {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-close-inverted);
-}
-
-toolbar[brighttext] #button-attendees {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#address-inverted);
-}
-
-toolbar[brighttext] #button-privacy {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#security-inverted);
-}
-
-toolbar[brighttext] #button-url {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#attach-inverted);
-}
-
-toolbar[brighttext] #button-delete.cal-event-toolbarbutton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete-inverted) !important;
-}
-
-toolbar[brighttext] #button-priority {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-inverted);
-}
-
-toolbar[brighttext] #button-status {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#status-inverted);
-}
-
-toolbar[brighttext] #button-freebusy {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#freebusy-inverted);
-}
-
-toolbar[brighttext] #button-timezones {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#timezones-inverted);
-}
-
-#calendar-event-dialog > #event-toolbox > #event-toolbar {
-    padding-bottom: 2px;
-}
-
-@media (-moz-os-version: windows-win8) and (-moz-windows-default-theme),
-       (-moz-os-version: windows-win10) and (-moz-windows-default-theme) {
-  #button-save {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-flat);
-  }
-
-  #button-saveandclose {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#save-close-flat);
-  }
-
-  #button-attendees {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#address-flat);
-  }
-
-  #button-privacy {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#security-flat);
-  }
-
-  #button-priority {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-flat);
-  }
-
-  #button-status {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#status-flat);
-  }
-
-  #button-freebusy {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#freebusy-flat);
-  }
-
-  #button-timezones {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#timezones-flat);
-  }
-}
--- a/calendar/base/themes/windows/today-pane.css
+++ b/calendar/base/themes/windows/today-pane.css
@@ -66,30 +66,20 @@
   border-top: 1px solid ThreeDShadow;
 }
 
 .today-pane-cycler {
   padding-inline-start: 5px;
   padding-inline-end: 5px;
 }
 
-#todaypane-new-event-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent);
-}
-
 #todaypane-new-event-button[disabled="true"] > .toolbarbutton-icon {
   opacity: 0.4;
 }
 
-#todaypane-new-event-button > .toolbarbutton-icon {
-  width: 18px;
-  height: 18px;
-  margin: -1px;
-}
-
 @media (-moz-windows-default-theme) {
   #today-pane-panel > sidebarheader {
     -moz-appearance: none;
     background-color: #f8f8f8;
     border-bottom: none;
   }
 
   #today-pane-panel:-moz-lwtheme > sidebarheader {
@@ -112,15 +102,8 @@
       background-clip: padding-box;
     }
   }
 
   .today-pane-cycler {
     margin-top: -1px;
   }
 }
-
-@media (-moz-os-version: windows-win8) and (-moz-windows-default-theme),
-       (-moz-os-version: windows-win10) and (-moz-windows-default-theme) {
-  #todaypane-new-event-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent-flat);
-  }
-}
--- a/calendar/lightning/jar.mn
+++ b/calendar/lightning/jar.mn
@@ -112,9 +112,10 @@ calendar.jar:
     content/calendar/publish.js                            (/calendar/resources/content/publish.js)
     content/calendar/publishDialog.js                      (/calendar/resources/content/publishDialog.js)
     content/calendar/publishDialog.xul                     (/calendar/resources/content/publishDialog.xul)
     content/calendar/sound.wav                             (/calendar/resources/content/sound.wav)
     ../skin/lightning-common/datetimepickers.css           (/calendar/resources/skin/datetimepickers.css)
     ../skin/lightning-common/dialogOverlay.css             (/calendar/resources/skin/dialogOverlay.css)
     ../skin/lightning-common/imip.css                      (themes/common/imip.css)
     ../skin/lightning-common/lightning.css                 (themes/common/lightning.css)
+    ../skin/lightning-common/lightning-toolbar.css         (themes/common/lightning-toolbar.css)
     ../skin/lightning-common/html-item-editing.css         (themes/common/html-item-editing.css)
new file mode 100644
--- /dev/null
+++ b/calendar/lightning/themes/common/lightning-toolbar.css
@@ -0,0 +1,56 @@
+/* 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/. */
+
+/* Lightning "Calendar" Toolbarbutton */
+#lightning-button-calendar {
+    list-style-image: url(chrome://calendar-common/skin/icons/calendar-tab.svg);
+}
+
+/* Lightning "Tasks" Toolbarbutton */
+#lightning-button-tasks {
+    list-style-image: url(chrome://calendar-common/skin/icons/task-tab.svg);
+}
+
+/* Toolbar buttons */
+#calendar-synchronize-button,
+#task-synchronize-button {
+    list-style-image: url(chrome://calendar-common/skin/icons/synchronize.svg);
+}
+
+#extractEventButton,
+#task-newevent-button,
+#hdrExtractEventButton,
+#calendar-newevent-button {
+    list-style-image: url(chrome://calendar-common/skin/icons/newevent.svg);
+}
+
+#extractTaskButton,
+#task-newtask-button,
+#hdrExtractTaskButton,
+#calendar-newtask-button {
+    list-style-image: url(chrome://calendar-common/skin/icons/newtask.svg);
+}
+
+#calendar-edit-button,
+#task-edit-button {
+    list-style-image: url(chrome://calendar-common/skin/icons/edit.svg);
+}
+
+#calendar-delete-button,
+#task-delete-button {
+    list-style-image: url(chrome://calendar-common/skin/icons/delete.svg);
+}
+
+#calendar-goto-today-button {
+    list-style-image: url(chrome://calendar-common/skin/icons/today.svg);
+}
+
+#calendar-print-button,
+#task-print-button {
+    list-style-image: url(chrome://calendar-common/skin/icons/print.svg);
+}
+
+#calendar-unifinder-button {
+    list-style-image: url(chrome://calendar-common/skin/icons/find.svg);
+}
--- a/calendar/lightning/themes/common/lightning.css
+++ b/calendar/lightning/themes/common/lightning.css
@@ -1,17 +1,39 @@
 /* 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/. */
 
+/* ::: new tab buttons ::: */
+#calendar-tab-button,
+#newMsgButton-calendar-menuitem {
+    list-style-image: url(chrome://calendar-common/skin/icons/calendar-tab.svg);
+    -moz-image-region: auto;
+}
+
+#task-tab-button,
+#newMsgButton-task-menuitem {
+    list-style-image: url(chrome://calendar-common/skin/icons/task-tab.svg);
+    -moz-image-region: auto;
+}
+
 /* avoids contributing to the min width when Lightning is not selected */
 #calendarTabPanel:not([selected]) {
   visibility: collapse;
 }
 
+#calendar-status-todaypane-button > stack > .toolbarbutton-icon-begin {
+    list-style-image: url(chrome://calendar-common/skin/icons/pane.svg);
+    width: 16px;
+    height: 16px;
+    -moz-context-properties: fill, fill-opacity;
+    fill: currentColor;
+    fill-opacity: var(--toolbarbutton-icon-fill-opacity);
+}
+
 #calendar-status-todaypane-button > stack > .toolbarbutton-day-text {
   text-align: center;
   margin-inline-start: 0;
   margin-bottom: -4px;
   font-size: 7pt;
   font-family: Arial, Helvetica, sans-serif;
   font-weight: bold;
   text-shadow: none;
@@ -22,21 +44,49 @@
 #calendar-status-todaypane-button[hideLabel] > .toolbarbutton-icon-end {
   display: none;
 }
 
 .imipMoreButton > .toolbarbutton-icon {
   display: none;
 }
 
-#task-tab-button .toolbarbutton-icon,
-#calendar-tab-button .toolbarbutton-icon,
-.calbar-toolbarbutton-1 .toolbarbutton-icon,
-toolbarpaletteitem > .msgHeaderView-button .toolbarbutton-icon,
-#task-actions-toolbar > .msgHeaderView-button .toolbarbutton-icon {
-  width: 18px;
-  height: 18px;
-}
-
 /* Write button */
 #newMsgButton-mail-menuitem {
   list-style-image: url(chrome://messenger/skin/icons/newmsg.svg);
 }
+
+.imipAcceptRecurrencesButton,
+.imipAcceptButton {
+    list-style-image: url(chrome://calendar-common/skin/icons/complete.svg);
+}
+
+.imipDeclineCounterButton,
+.imipDeclineRecurrencesButton,
+.imipDeclineButton {
+    list-style-image: url(chrome://calendar-common/skin/icons/decline.svg);
+}
+
+.imipTentativeRecurrencesButton,
+.imipTentativeButton {
+    list-style-image: url(chrome://calendar-common/skin/icons/tentative.svg);
+}
+
+.imipDetailsButton {
+    list-style-image: url(chrome://calendar-common/skin/icons/find.svg);
+}
+
+.imipAddButton {
+    list-style-image: url(chrome://calendar-common/skin/icons/newevent.svg);
+}
+
+.imipRescheduleButton,
+.imipUpdateButton {
+    list-style-image: url(chrome://calendar-common/skin/icons/synchronize.svg);
+}
+
+.imipDeleteButton {
+    list-style-image: url(chrome://calendar-common/skin/icons/delete.svg);
+}
+
+.imipReconfirmButton {
+    list-style-image: url(chrome://calendar-common/skin/icons/priority.svg);
+}
--- a/calendar/lightning/themes/linux/lightning-toolbar.css
+++ b/calendar/lightning/themes/linux/lightning-toolbar.css
@@ -1,105 +1,5 @@
 /* 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/. */
 
-/* Lightning "Calendar" Toolbarbutton */
-
-#lightning-button-calendar {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab);
-}
-
-#lightning-button-tasks {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab);
-}
-
-#calendar-synchronize-button,
-#task-synchronize-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize);
-}
-
-#extractEventButton,
-#task-newevent-button,
-#hdrExtractEventButton,
-#calendar-newevent-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent);
-}
-
-#extractTaskButton,
-#task-newtask-button,
-#hdrExtractTaskButton,
-#calendar-newtask-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask);
-}
-
-#calendar-edit-button,
-#task-edit-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#edit);
-}
-
-#calendar-delete-button,
-#task-delete-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete);
-}
-
-#calendar-goto-today-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#today);
-}
-
-#calendar-print-button,
-#task-print-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#print);
-}
-
-#calendar-unifinder-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find);
-}
-
-toolbar[brighttext] #lightning-button-calendar {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-inverted);
-}
-
-toolbar[brighttext] #lightning-button-tasks {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-inverted);
-}
-
-toolbar[brighttext] #calendar-synchronize-button,
-toolbar[brighttext] #task-synchronize-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize-inverted);
-}
-
-toolbar[brighttext] #extractEventButton,
-toolbar[brighttext] #task-newevent-button,
-toolbar[brighttext] #hdrExtractEventButton,
-toolbar[brighttext] #calendar-newevent-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent-inverted);
-}
-
-toolbar[brighttext] #extractTaskButton,
-toolbar[brighttext] #task-newtask-button,
-toolbar[brighttext] #hdrExtractTaskButton,
-toolbar[brighttext] #calendar-newtask-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask-inverted);
-}
-
-toolbar[brighttext] #calendar-edit-button,
-toolbar[brighttext] #task-edit-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#edit-inverted);
-}
-
-toolbar[brighttext] #calendar-delete-button,
-toolbar[brighttext] #task-delete-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete-inverted);
-}
-
-toolbar[brighttext] #calendar-goto-today-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#today-inverted);
-}
-
-toolbar[brighttext] #calendar-print-button,
-toolbar[brighttext] #task-print-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#print-inverted);
-}
-
-toolbar[brighttext] #calendar-unifinder-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find-inverted);
-}
+@import url(chrome://lightning-common/skin/lightning-toolbar.css);
--- a/calendar/lightning/themes/linux/lightning.css
+++ b/calendar/lightning/themes/linux/lightning.css
@@ -58,35 +58,16 @@ radio[pane=paneLightning] {
 /* iMIP notification bar */
 #imip-bar > image {
     list-style-image: url("chrome://calendar/skin/cal-icon32.png");
     -moz-image-region: rect(0px, 32px, 32px, 0px);
 }
 
 /* ::::: tabs ::::: */
 
-/* ::: new tab buttons ::: */
-#calendar-tab-button,
-#newMsgButton-calendar-menuitem {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab);
-}
-
-#task-tab-button,
-#newMsgButton-task-menuitem {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab);
-}
-
-#tabs-toolbar[brighttext] #calendar-tab-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-inverted);
-}
-
-#tabs-toolbar[brighttext] #task-tab-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-inverted);
-}
-
 /* ::: tab icons ::: */
 .icon-holder[type="calendar"],
 .tabmail-tab[type="calendar"] {
     list-style-image: url(chrome://lightning-common/skin/mode-switch-icons.png);
     -moz-image-region: rect(0px 64px 16px 48px);
 }
 
 .icon-holder[type="calendar"][selected="true"],
@@ -106,23 +87,16 @@ radio[pane=paneLightning] {
 }
 
 /* Lightning sidebar in calendar and task mode */
 #ltnSidebar {
   background-color: -moz-field;
   border-bottom: 1px solid ThreeDShadow;
 }
 
-#newMsgButton-calendar-menuitem > .menu-iconic-left > .menu-iconic-icon,
-#newMsgButton-task-menuitem > .menu-iconic-left > .menu-iconic-icon {
-  width: 18px;
-  height: 18px;
-  margin: -1px;
-}
-
 /* Today pane button in status bar */
 #calendar-status-todaypane-button,
 #calendar-status-todaypane-button[checked="true"] {
   min-width: 0;
   min-height: 0;
   margin: 1px 0 0;
   -moz-appearance: none;
   border-radius: 3px;
@@ -136,32 +110,16 @@ radio[pane=paneLightning] {
   background-image: none;
   -moz-appearance: none;
 }
 
 #calendar-status-todaypane-button[hideLabel] > stack {
   margin-inline-start: 5px;
 }
 
-#calendar-status-todaypane-button > stack > .toolbarbutton-icon-begin {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#pane);
-  -moz-image-region: rect(0 18px 18px 0);
-}
-
-#calendar-status-todaypane-button:-moz-lwtheme-brighttext > stack >
-  .toolbarbutton-icon-begin {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#pane-inverted);
-}
-
-/* compensate the 18px icon height */
-#calendar-status-todaypane-button > stack > .toolbarbutton-icon-begin {
-  margin-top: -1px;
-  margin-bottom: -1px;
-}
-
 #calendar-status-todaypane-button > stack > .toolbarbutton-day-text {
   margin-top: 4px;
 }
 
 /* shift the today pane button label up by one pixel to center it */
 #calendar-status-todaypane-button > .toolbarbutton-text {
   margin: 0 0 1px !important;
 }
@@ -198,45 +156,8 @@ radio[pane=paneLightning] {
 
 #imip-view-toolbar > .toolbarbutton-1.msgHeaderView-button:not([type="menu-button"]):hover:active,
 #imip-view-toolbar > .toolbarbutton-1.msgHeaderView-button[type="menu-button"] >
   .toolbarbutton-menubutton-button:hover:active,
 #imip-view-toolbar > .toolbarbutton-1.msgHeaderView-button[open="true"] >
   .toolbarbutton-menubutton-dropmarker {
   background: rgb(154, 154, 154) linear-gradient(rgba(255, 255, 255, .7), rgba(255, 255, 255, .4));
 }
-
-.imipAcceptRecurrencesButton,
-.imipAcceptButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete);
-}
-
-.imipDeclineCounterButton,
-.imipDeclineRecurrencesButton,
-.imipDeclineButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#decline);
-}
-
-.imipTentativeRecurrencesButton,
-.imipTentativeButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#tentative);
-}
-
-.imipDetailsButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find);
-}
-
-.imipAddButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent);
-}
-
-.imipRescheduleButton,
-.imipUpdateButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize);
-}
-
-.imipDeleteButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete);
-}
-
-.imipReconfirmButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority);
-}
--- a/calendar/lightning/themes/osx/lightning-toolbar.css
+++ b/calendar/lightning/themes/osx/lightning-toolbar.css
@@ -1,165 +1,5 @@
 /* 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/. */
 
-@media not all and (-moz-mac-yosemite-theme) {
-  /* Lightning "Calendar" Toolbarbutton */
-  #lightning-button-calendar {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#calendar-tab);
-  }
-
-  /* Lightning "Tasks" Toolbarbutton */
-  #lightning-button-tasks {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#task-tab);
-  }
-
-  /* Toolbar buttons */
-
-  #calendar-synchronize-button,
-  #task-synchronize-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#synchronize);
-  }
-
-  #extractEventButton,
-  #task-newevent-button,
-  #hdrExtractEventButton,
-  #calendar-newevent-button {
-      list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#newevent);
-  }
-
-  #extractTaskButton,
-  #task-newtask-button,
-  #hdrExtractTaskButton,
-  #calendar-newtask-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#newtask);
-  }
-
-  #calendar-edit-button,
-  #task-edit-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#edit);
-  }
-
-  #calendar-delete-button,
-  #task-delete-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#delete);
-  }
-
-  #calendar-goto-today-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#today);
-  }
-
-  #calendar-print-button,
-  #task-print-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#print);
-  }
-
-  #calendar-unifinder-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#find);
-  }
-}
-
-@media (-moz-mac-yosemite-theme) {
-  /* Lightning "Calendar" Toolbarbutton */
-  #lightning-button-calendar {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-flat);
-  }
-
-  /* Lightning "Tasks" Toolbarbutton */
-  #lightning-button-tasks {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-flat);
-  }
-
-  /* Toolbar buttons */
-
-  #calendar-synchronize-button,
-  #task-synchronize-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize-flat);
-  }
-
-  #extractEventButton,
-  #task-newevent-button,
-  #hdrExtractEventButton,
-  #calendar-newevent-button {
-      list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent-flat);
-  }
-
-  #extractTaskButton,
-  #task-newtask-button,
-  #hdrExtractTaskButton,
-  #calendar-newtask-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask-flat);
-  }
-
-  #calendar-edit-button,
-  #task-edit-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#edit-flat);
-  }
-
-  #calendar-delete-button,
-  #task-delete-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete);
-  }
-
-  #calendar-goto-today-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#today-flat);
-  }
-
-  #calendar-print-button,
-  #task-print-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#print-flat);
-  }
-
-  #calendar-unifinder-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find-flat);
-  }
-}
-
-toolbar[brighttext] #lightning-button-calendar {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-inverted);
-}
-
-toolbar[brighttext] #lightning-button-tasks {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-inverted);
-}
-
-toolbar[brighttext] #calendar-synchronize-button,
-toolbar[brighttext] #task-synchronize-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize-inverted);
-}
-
-toolbar[brighttext] #extractEventButton,
-toolbar[brighttext] #task-newevent-button,
-toolbar[brighttext] #hdrExtractEventButton,
-toolbar[brighttext] #calendar-newevent-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent-inverted);
-}
-
-toolbar[brighttext] #extractTaskButton,
-toolbar[brighttext] #task-newtask-button,
-toolbar[brighttext] #hdrExtractTaskButton,
-toolbar[brighttext] #calendar-newtask-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask-inverted);
-}
-
-toolbar[brighttext] #calendar-edit-button,
-toolbar[brighttext] #task-edit-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#edit-inverted);
-}
-
-toolbar[brighttext] #calendar-delete-button,
-toolbar[brighttext] #task-delete-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete-inverted);
-}
-
-toolbar[brighttext] #calendar-goto-today-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#today-inverted);
-}
-
-toolbar[brighttext] #calendar-print-button,
-toolbar[brighttext] #task-print-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#print-inverted);
-}
-
-toolbar[brighttext] #calendar-unifinder-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find-inverted);
-}
+@import url(chrome://lightning-common/skin/lightning-toolbar.css);
--- a/calendar/lightning/themes/osx/lightning.css
+++ b/calendar/lightning/themes/osx/lightning.css
@@ -22,45 +22,16 @@ radio[pane=paneLightning] {
 /* iMIP notification bar */
 #imip-bar > image {
     list-style-image: url("chrome://calendar/skin/cal-icon32.png");
     margin-inline-end: 8px;
 }
 
 /* ::::: tabs ::::: */
 
-/* ::: new tab buttons ::: */
-@media not all and (-moz-mac-yosemite-theme) {
-  #calendar-tab-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#calendar-tab);
-  }
-
-  #task-tab-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#task-tab);
-  }
-}
-
-@media (-moz-mac-yosemite-theme) {
-  #calendar-tab-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-flat);
-  }
-
-  #task-tab-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-flat);
-  }
-}
-
-#tabs-toolbar[brighttext] #calendar-tab-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-inverted);
-}
-
-#tabs-toolbar[brighttext] #task-tab-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-inverted);
-}
-
 /* ::: tab icons ::: */
 .icon-holder[type="calendar"],
 .tabmail-tab[type="calendar"] {
     list-style-image: url(chrome://lightning-common/skin/mode-switch-icons.png);
     -moz-image-region: rect(0px 64px 16px 48px);
 }
 
 .icon-holder[type="calendar"][selected="true"],
@@ -79,44 +50,16 @@ radio[pane=paneLightning] {
     -moz-image-region: rect(16px 80px 32px 64px);
 }
 
 /* Lightning sidebar background in calendar and task mode */
 #ltnSidebar {
   background-color: -moz-field;
 }
 
-/* Write button */
-@media not all and (-moz-mac-yosemite-theme) {
-  #newMsgButton-calendar-menuitem {
-      list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#calendar-tab);
-  }
-
-  #newMsgButton-task-menuitem {
-      list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#task-tab);
-  }
-}
-
-@media (-moz-mac-yosemite-theme) {
-  #newMsgButton-calendar-menuitem {
-      list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-flat);
-  }
-
-  #newMsgButton-task-menuitem {
-      list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-flat);
-  }
-}
-
-#newMsgButton-calendar-menuitem > .menu-iconic-left > .menu-iconic-icon,
-#newMsgButton-task-menuitem > .menu-iconic-left > .menu-iconic-icon {
-  width: 18px;
-  height: 18px;
-  margin: -1px;
-}
-
 /* Today pane button in status bar */
 #calendar-status-todaypane-button,
 #calendar-status-todaypane-button[checked="true"] {
   min-width: 0;
   min-height: 0;
   margin: 1px 0 0;
   -moz-appearance: none;
   padding: 0 2px !important;
@@ -140,36 +83,16 @@ radio[pane=paneLightning] {
               hsla(0, 0%, 0%, 0)) border-box;
   border-color: hsla(0, 0%, 0%, .3);
   box-shadow: 0 1px 0 hsla(0, 0%, 100%, .5),
               0 1px 0 hsla(0, 0%, 0%, .05) inset,
               0 1px 1px hsla(0, 0%, 0%, .2) inset;
   transition-duration: 10ms;
 }
 
-@media not all and (-moz-mac-yosemite-theme) {
-  #calendar-status-todaypane-button > stack > .toolbarbutton-icon-begin {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#pane);
-    -moz-image-region: rect(0 18px 18px 0);
-  }
-}
-
-@media (-moz-mac-yosemite-theme) {
-  #calendar-status-todaypane-button > stack > .toolbarbutton-icon-begin {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#pane-flat);
-    width: 18px;
-    height:18px;
-  }
-}
-
-#calendar-status-todaypane-button:-moz-lwtheme-brighttext > stack >
-  .toolbarbutton-icon-begin {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#pane-inverted);
-}
-
 #calendar-status-todaypane-button > stack > .toolbarbutton-day-text {
   margin-top: 5px;
   margin-inline-end: 0;
   color: #0969B2;
 }
 
 #calendar-status-todaypane-button:-moz-lwtheme-brighttext > stack > .toolbarbutton-day-text {
   color: inherit;
@@ -260,86 +183,8 @@ radio[pane=paneLightning] {
 
 #imip-view-toolbar > .toolbarbutton-1.msgHeaderView-button:hover,
 #imip-view-toolbar > .toolbarbutton-1.msgHeaderView-button:-moz-any(:hover,[open="true"]) >
   .toolbarbutton-menubutton-button,
 #imip-view-toolbar > .toolbarbutton-1.msgHeaderView-button:hover >
   .toolbarbutton-menubutton-dropmarker {
   background-color: rgb(230, 230, 230) !important;
 }
-
-@media not all and (-moz-mac-yosemite-theme) {
-  .imipAcceptRecurrencesButton,
-  .imipAcceptButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#complete);
-  }
-
-  .imipDeclineCounterButton,
-  .imipDeclineRecurrencesButton,
-  .imipDeclineButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#decline);
-  }
-
-  .imipTentativeRecurrencesButton,
-  .imipTentativeButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#tentative);
-  }
-
-  .imipDetailsButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#find);
-  }
-
-  .imipAddButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#newevent);
-  }
-
-  .imipRescheduleButton,
-  .imipUpdateButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#synchronize);
-  }
-
-  .imipDeleteButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#delete);
-  }
-
-  .imipReconfirmButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar-osxlion.svg#priority);
-  }
-}
-
-@media (-moz-mac-yosemite-theme) {
-  .imipAcceptRecurrencesButton,
-  .imipAcceptButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete-flat);
-  }
-
-  .imipDeclineCounterButton,
-  .imipDeclineRecurrencesButton,
-  .imipDeclineButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#decline-flat);
-  }
-
-  .imipTentativeRecurrencesButton,
-  .imipTentativeButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#tentative-flat);
-  }
-
-  .imipDetailsButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find-flat);
-  }
-
-  .imipAddButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent-flat);
-  }
-
-  .imipRescheduleButton,
-  .imipUpdateButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize-flat);
-  }
-
-  .imipDeleteButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete);
-  }
-
-  .imipReconfirmButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-flat);
-  }
-}
--- a/calendar/lightning/themes/windows/lightning-toolbar.css
+++ b/calendar/lightning/themes/windows/lightning-toolbar.css
@@ -1,162 +1,16 @@
 /* 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/. */
 
+@import url(chrome://lightning-common/skin/lightning-toolbar.css);
+
 #calendar-toolbar2,
 #task-toolbar2 {
   border-top-width: 0;
 }
 
 @media (-moz-windows-glass) {
   #calendar-toolbox:not(:-moz-lwtheme) {
     border-bottom-color: #AABCCF;
   }
 }
-
-#lightning-button-calendar {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab);
-}
-
-#lightning-button-tasks {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab);
-}
-
-#calendar-synchronize-button,
-#task-synchronize-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize);
-}
-
-#extractEventButton,
-#task-newevent-button,
-#hdrExtractEventButton,
-#calendar-newevent-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent);
-}
-
-#extractTaskButton,
-#task-newtask-button,
-#hdrExtractTaskButton,
-#calendar-newtask-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask);
-}
-
-#calendar-edit-button,
-#task-edit-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#edit);
-}
-
-#calendar-delete-button,
-#task-delete-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete);
-}
-
-#calendar-goto-today-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#today);
-}
-
-#calendar-print-button,
-#task-print-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#print);
-}
-
-#calendar-unifinder-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find);
-}
-
-toolbar[brighttext] #lightning-button-calendar {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-inverted);
-}
-
-toolbar[brighttext] #lightning-button-tasks {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-inverted);
-}
-
-toolbar[brighttext] #calendar-synchronize-button,
-toolbar[brighttext] #task-synchronize-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize-inverted);
-}
-
-toolbar[brighttext] #extractEventButton,
-toolbar[brighttext] #task-newevent-button,
-toolbar[brighttext] #hdrExtractEventButton,
-toolbar[brighttext] #calendar-newevent-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent-inverted);
-}
-
-toolbar[brighttext] #extractTaskButton,
-toolbar[brighttext] #task-newtask-button,
-toolbar[brighttext] #hdrExtractTaskButton,
-toolbar[brighttext] #calendar-newtask-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask-inverted);
-}
-
-toolbar[brighttext] #calendar-edit-button,
-toolbar[brighttext] #task-edit-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#edit-inverted);
-}
-
-toolbar[brighttext] #calendar-delete-button,
-toolbar[brighttext] #task-delete-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete-inverted);
-}
-
-toolbar[brighttext] #calendar-goto-today-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#today-inverted);
-}
-
-toolbar[brighttext] #calendar-print-button,
-toolbar[brighttext] #task-print-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#print-inverted);
-}
-
-toolbar[brighttext] #calendar-unifinder-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find-inverted);
-}
-
-@media (-moz-os-version: windows-win8) and (-moz-windows-default-theme),
-       (-moz-os-version: windows-win10) and (-moz-windows-default-theme) {
-  #lightning-button-calendar {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-flat);
-  }
-
-  #lightning-button-tasks {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-flat);
-  }
-
-  #calendar-synchronize-button,
-  #task-synchronize-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize-flat);
-  }
-
-  #extractEventButton,
-  #task-newevent-button,
-  #hdrExtractEventButton,
-  #calendar-newevent-button {
-      list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent-flat);
-  }
-
-  #extractTaskButton,
-  #task-newtask-button,
-  #hdrExtractTaskButton,
-  #calendar-newtask-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newtask-flat);
-  }
-
-  #calendar-edit-button,
-  #task-edit-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#edit-flat);
-  }
-
-  #calendar-goto-today-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#today-flat);
-  }
-
-  #calendar-print-button,
-  #task-print-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#print-flat);
-  }
-
-  #calendar-unifinder-button {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find-flat);
-  }
-}
--- a/calendar/lightning/themes/windows/lightning.css
+++ b/calendar/lightning/themes/windows/lightning.css
@@ -69,108 +69,28 @@ radio[pane=paneLightning] {
 #calendar-status-todaypane-button > .toolbarbutton-text {
   margin: 0 0 1px !important;
 }
 
 #calMinimonthBox {
   margin-top: 3px;
 }
 
-#calendar-tab-button,
-#newMsgButton-calendar-menuitem {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab);
-  -moz-image-region: auto;
-}
-
-#task-tab-button,
-#newMsgButton-task-menuitem {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab);
-  -moz-image-region: auto;
-}
-
-#tabs-toolbar[brighttext] #calendar-tab-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-inverted);
-}
-
-#tabs-toolbar[brighttext] #task-tab-button {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-inverted);
-}
-
-#calendar-status-todaypane-button > stack > .toolbarbutton-icon-begin {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#pane);
-  -moz-image-region: rect(0 18px 18px 0);
-}
-
-#calendar-status-todaypane-button:-moz-lwtheme-brighttext > stack >
-  .toolbarbutton-icon-begin {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#pane-inverted);
-}
-/* compensate the 18px icon height */
-#calendar-status-todaypane-button > stack > .toolbarbutton-icon-begin {
-  margin-top: -1px;
-  margin-bottom: -1px;
-}
-
 .icon-holder[type="calendar"],
 .tabmail-tab[type="calendar"] {
   list-style-image: url(chrome://lightning/skin/mode-switch-icons-aero.png);
   -moz-image-region: rect(16px 16px 32px 0);
 }
 
 .icon-holder[type="tasks"],
 .tabmail-tab[type="tasks"] {
   list-style-image: url(chrome://lightning/skin/mode-switch-icons-aero.png);
   -moz-image-region: rect(16px 32px 32px 16px);
 }
 
-/* ::: imip button icons ::: */
-.imipAcceptButton,
-.imipAcceptRecurrencesButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete);
-}
-
-.imipDeclineCounterButton,
-.imipDeclineButton,
-.imipDeclineRecurrencesButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#decline);
-}
-
-.imipTentativeButton,
-.imipTentativeRecurrencesButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#tentative);
-}
-
-.imipAddButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent);
-}
-
-.imipRescheduleButton,
-.imipUpdateButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize);
-}
-
-.imipDetailsButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find);
-}
-
-.imipDeleteButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#delete);
-}
-
-.imipReconfirmButton {
-  list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority);
-}
-
-#newMsgButton-calendar-menuitem > .menu-iconic-left > .menu-iconic-icon,
-#newMsgButton-task-menuitem > .menu-iconic-left > .menu-iconic-icon {
-  width: 18px;
-  height: 18px;
-  margin: -1px;
-}
-
 #calsidebar_splitter,
 #today-splitter {
   border: none;
   min-width: 0;
   width: 5px;
   background-color: transparent;
   margin-top: 0;
   position: relative;
@@ -211,69 +131,16 @@ radio[pane=paneLightning] {
   min-height: 0;
   height: 5px;
   background-color: transparent;
   margin-top: -3px;
   position: relative;
   z-index: 10;
 }
 
-@media (-moz-os-version: windows-win8) and (-moz-windows-default-theme),
-       (-moz-os-version: windows-win10) and (-moz-windows-default-theme) {
-  #calendar-tab-button,
-  #newMsgButton-calendar-menuitem {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#calendar-tab-flat);
-    -moz-image-region: auto;
-  }
-
-  #task-tab-button,
-  #newMsgButton-task-menuitem {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#task-tab-flat);
-    -moz-image-region: auto;
-  }
-
-  #calendar-status-todaypane-button > stack > .toolbarbutton-icon-begin {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#pane-flat);
-  }
-
-  /* ::: imip button icons ::: */
-  .imipAcceptButton,
-  .imipAcceptRecurrencesButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#complete-flat);
-  }
-
-  .imipDeclineCounterButton,
-  .imipDeclineButton,
-  .imipDeclineRecurrencesButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#decline-flat);
-  }
-
-  .imipTentativeButton,
-  .imipTentativeRecurrencesButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#tentative-flat);
-  }
-
-  .imipAddButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#newevent-flat);
-  }
-
-  .imipRescheduleButton,
-  .imipUpdateButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#synchronize-flat);
-  }
-
-  .imipDetailsButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#find-flat);
-  }
-
-  .imipReconfirmButton {
-    list-style-image: url(chrome://calendar-common/skin/calendar-toolbar.svg#priority-flat);
-  }
-}
-
 @media (-moz-windows-default-theme) {
   #imip-view-toolbar > .toolbarbutton-1.msgHeaderView-button,
   #imip-view-toolbar > .toolbarbutton-1.msgHeaderView-button > .toolbarbutton-menubutton-button,
   #imip-view-toolbar > .toolbarbutton-1.msgHeaderView-button > .toolbarbutton-menubutton-dropmarker {
     border-color: var(--toolbarbutton-active-bordercolor);
     background-image: linear-gradient(-moz-dialog, -moz-dialog);
   }
 
--- a/mail/installer/allowed-dupes.mn
+++ b/mail/installer/allowed-dupes.mn
@@ -1,47 +1,79 @@
 # Known duplicate files
 # This file is ideally removed, but some existing files will be grandfathered in
 # See bug 1303184, bug 1313670
 #
 # PLEASE DO NOT ADD MORE EXCEPTIONS TO THIS LIST
 #
 
 # mail
+chrome/classic/skin/classic/messenger/icons/address.svg
+chrome/classic/skin/classic/messenger/icons/attach.svg
+chrome/classic/skin/classic/messenger/icons/delete.svg
 chrome/classic/skin/classic/messenger/icons/new-mail-alert.png
+chrome/classic/skin/classic/messenger/icons/print.svg
+chrome/classic/skin/classic/messenger/icons/save.svg
+chrome/classic/skin/classic/messenger/icons/security.svg
+chrome/classic/skin/classic/messenger/icons/spelling.svg
+chrome/classic/skin/classic/messenger/icons/tag.svg
 chrome/messenger/content/branding/icon48.png
 chrome/messenger/content/messenger/cloudfile/Box/management.js
 chrome/messenger/content/messenger/cloudfile/Hightail/management.js
 chrome/devtools/modules/devtools/client/themes/splitters.css
 chrome/devtools/skin/splitters.css
 chrome/icons/default/default48.png
 # calendar addon
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/address.svg
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/attach.svg
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/category.svg
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/delete.svg
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/complete.svg
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/print.svg
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/save.svg
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/security.svg
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/imip.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/imip.css
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-event-dialog.css
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-event-dialog.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-invitations-dialog.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-invitations-dialog.css
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/lightning-toolbar.css
+extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/lightning-toolbar.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/lightning-widgets.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/lightning-widgets.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/accountCentral.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/accountCentral.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-daypicker.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-daypicker.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-alarm-dialog.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-alarm-dialog.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-management.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-management.css
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calFilter.js
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calFilter.js
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calUtils.js
 extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calUtils.js
 # calendar on Release and Beta
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/address.svg
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/attach.svg
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/category.svg
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/delete.svg
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/complete.svg
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/print.svg
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/save.svg
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/icons/security.svg
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/imip.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/imip.css
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-event-dialog.css
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-event-dialog.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-invitations-dialog.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-invitations-dialog.css
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/lightning-toolbar.css
+distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/lightning-toolbar.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/lightning-widgets.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/lightning-widgets.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/accountCentral.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/accountCentral.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-daypicker.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-daypicker.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-alarm-dialog.css
 distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-alarm-dialog.css